Public repo: https://github.com/ice3186/cd321x-dp-altmode
The related M2 Max J414c dock/USB4 integration experiment, including its first
boot failure record, is documented in
J414C-DOCK-REPORT.md. The exact experimental kernel
branch is published at
ice3186/linux:j414c-dock-experiment.
Kernel patches that replace Asahi's drm_connector_oob_hotplug_event()
HACK in drivers/usb/typec/tipd with the same firmware-ACK pattern UCSI
already uses.
| Patch | Where it goes |
|---|---|
0001-usb-typec-tipd-implement-firmware-managed-DP-altmode.patch |
Asahi fairydust and linux-usb / mainline (CD321x mode switching is already upstream in Linux 7.0) |
0002-drm-apple-use-dev_dbg-for-oob-hotplug-events.patch |
Asahi only. Drop it for linux-usb. |
0000-cover-letter.patch |
Cover letter for the series. |
cd linux
git am /path/to/asahi-usb-c-dp/0001-usb-typec-tipd-implement-firmware-managed-DP-altmode.patch
git am /path/to/asahi-usb-c-dp/0002-drm-apple-use-dev_dbg-for-oob-hotplug-events.patchThe 0001 patch replaces Janne Grunau's usb: typec: tipd: HACK: Use drm oob hotplug event. Apply 0001 on top of that HACK (it deletes the drm_connector_oob_hotplug_event calls) or rebase onto the CD321x tipd code without the HACK.
Kernel config: CONFIG_TYPEC_DP_ALTMODE=y (or m). The Kconfig imply will default it on when the tipd driver is enabled.
Device tree: keep the existing displayport = <&dcpextN>; phandle on the typec connector. typec-displayport looks that up from the port fwnode. Do not remove it.
Asahi: send to asahi@lists.linux.dev and Janne Grunau <j@jannau.net>, against AsahiLinux/linux branch fairydust.
Upstream: send only 0001 to linux-usb@vger.kernel.org, Cc Heikki Krogerus and Sven Peter. Subject: usb: typec: tipd: implement firmware-managed DP altmode for CD321x.
Please runtime-test on a machine with a working dcpext port before sending. This series was written against the fairydust tree and was not booted on Apple Silicon.