| 1a1b4d40 | 13-Jan-2026 |
Sven Peter <sven@kernel.org> |
Merge patch series "arm64: dts: apple: Add integrated USB Type-C ports"
Janne Grunau <j@jannau.net> says:
Now that all dependencies for USB 2.0 and 3.x support are either merged (tipd changes in v6
Merge patch series "arm64: dts: apple: Add integrated USB Type-C ports"
Janne Grunau <j@jannau.net> says:
Now that all dependencies for USB 2.0 and 3.x support are either merged (tipd changes in v6.18, dwc3-apple in v6.19-rc1) or in linux-next (Apple Type-C PHY) prepare device tree changes to expose the ports.
Each port on Apple silicon devices is driven by a separate collection of hardware blocks. For USB 2.0 and 3.x the collection consists of: - Apple Type-C PHY, combo PHY for USB 2.0, USB 3.x, USB4/Thunderbolt and DisplayPort - Synopsys Designware dwc3 USB controller - two DART iommu instances for dwc3 - CD321x USB PD controller (similar to Ti's TPS6598x series)
The CD321x nodes are already present so this series add the remaining devices nodes, typec connector nodes and connections between all components.
The devices expose except for a few exceptions noted below all ports. M1 and M2 have two ports, M1 and M2 Pro and Max have four ports and M1 and M2 Ultra have eight ports. The Pro and Max based Macbook Pros use only three ports. The fourth port is used as DisplayPort PHY to drive a HDMI output via an integrated DP to HDMI converter. The Ultra based Mac studio devices only use six ports. The third and fourth port on the second die is completely fused off.
The changes for t600x and t602x are in a single commit since the devices share .dtsi files across SoC generations due to their similarity.
Depends on commit c1538b87caef ("dt-bindings: phy: Add Apple Type-C PHY") in linux-phy's [1] next branch for `make dtbs_check` to pass. checkpatch warns about the undocumented DT compatible strings "apple,t8112-atcphy", "apple,t6000-atcphy" and "apple,t6020-atcphy" but not about "apple,t8103-atcphy". I don't under why it doesn't warn about the last. "apple,t8103-atcphy" is only found in the added devicetree files and nowhere else in v6.19-rc1.
Tested on top of next-20260106 on M1, M2, M1 Max and M2 Pro Mac mini / Mac studio and a few fixes for dwc3-apple and atc [2, 3, 4, 5].
Link: https://patch.msgid.link/20260109-apple-dt-usb-c-atc-dwc3-v1-0-ce0e92c1a016@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| e21c8e2e | 09-Jan-2026 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: t60xx: Add nodes for integrated USB Type-C ports
Add device nodes and connections to support USB 3.x on the SoC's integrated Type-C ports of M1 and M2 Pro, Max and Ultra based dev
arm64: dts: apple: t60xx: Add nodes for integrated USB Type-C ports
Add device nodes and connections to support USB 3.x on the SoC's integrated Type-C ports of M1 and M2 Pro, Max and Ultra based devices. Each Type-C port has an Apple Type-C PHY for USB 2.0, USB 3.x, USB4/Thunderbolt, and DisplayPort, a Synopsys Designware USB 3.x controller, two DART iommu instances and a CD321x USB PD controller. M1 and M2 Max based Mac Studio device have two additional USB Type-C ports on the front which are driven by an AsMedia PCIe USB controller and integrated USB hub. These ports are not covered by this change. The port labels use Apple's established naming scheme for the ports.
Co-developed-by: R <rqou@berkeley.edu> Signed-off-by: R <rqou@berkeley.edu> Co-developed-by: Hector Martin <marcan@marcan.st> Signed-off-by: Hector Martin <marcan@marcan.st> Signed-off-by: Janne Grunau <j@jannau.net> Tested-by: Sven Peter <sven@kernel.org> # M1 mac mini and macbook air Reviewed-by: Sven Peter <sven@kernel.org> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20260109-apple-dt-usb-c-atc-dwc3-v1-3-ce0e92c1a016@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| b4f40548 | 09-Jan-2026 |
Hector Martin <marcan@marcan.st> |
arm64: dts: apple: t8112: Add nodes for integrated USB Type-C ports
Add device nodes and connections to support USB 3.x on the SoC's integrated USBi Type-C ports of M2-based devices. Each Type-C por
arm64: dts: apple: t8112: Add nodes for integrated USB Type-C ports
Add device nodes and connections to support USB 3.x on the SoC's integrated USBi Type-C ports of M2-based devices. Each Type-C port has an Apple Type-C PHY for USB 2.0, USB 3.x, USB4/Thunderbolt, and DisplayPort, a Synopsys Designware USB 3.x controller, two DART iommu instances and a CD321x USB PD controller. The port labels use Apple's established naming scheme for the ports.
Signed-off-by: Hector Martin <marcan@marcan.st> Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Tested-by: Sven Peter <sven@kernel.org> # M1 mac mini and macbook air Reviewed-by: Sven Peter <sven@kernel.org> Reviewed-by: Neal Gompa <neal@gompa.dev> Link: https://patch.msgid.link/20260109-apple-dt-usb-c-atc-dwc3-v1-2-ce0e92c1a016@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 84220bfe | 08-Jan-2026 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx
AGX appears to have a hidden communication channel to pmp, a power management related co-processor already brought up by Apple's bootloader.
arm64: dts: apple: t8103: Add ps_pmp dependency to ps_gfx
AGX appears to have a hidden communication channel to pmp, a power management related co-processor already brought up by Apple's bootloader. As there is not driver for this co-processor its power-domain gets shut down after the initial boot. This crashes the firmware running on AGX immediately. Until there is a pmp driver and the dependency between AGX and pmp is understood keep "ps_pmp" as dependency of "ps_gfx".
Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260108-apple-dt-pmgr-fixes-v1-3-cfdce629c0a8@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 54347056 | 08-Jan-2026 |
Hector Martin <marcan@marcan.st> |
arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on
Shutting these down breaks dwc3 init done by the firmware. We probably never want to do this anyway. "always-on" is a plausible interp
arm64: dts: apple: t8103: Mark ATC USB AON domains as always-on
Shutting these down breaks dwc3 init done by the firmware. We probably never want to do this anyway. "always-on" is a plausible interpretation of the "aon" suffix. The t8112, t600x and t602x "ps_atc?_usb_aon" power-controller nodes are have already "apple,always-on" properties.
Signed-off-by: Hector Martin <marcan@marcan.st> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260108-apple-dt-pmgr-fixes-v1-2-cfdce629c0a8@jannau.net [sven: removed stale comment about PHY from commit message] Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 3e4e7293 | 08-Jan-2026 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: t8112-j473: Keep the HDMI port powered on
Add the display controller and DPTX phy power-domains to the framebuffer node to keep the framebuffer and display out working after devic
arm64: dts: apple: t8112-j473: Keep the HDMI port powered on
Add the display controller and DPTX phy power-domains to the framebuffer node to keep the framebuffer and display out working after device probing finished. The OS has more control about the display pipeline used for the HDMI output on M2 based devices. The HDMI output is driven by an integrated DisplayPort to HDMI converter (Parade PS190). The DPTX phy is now controlled by the OS and no longer by firmware running on the display co-processor. This allows using the second display controller on the second USB type-c port or tunneling 2 DisplayPort connections over USB4/Thunderbolt. The m1n1 bootloader uses the second display controller to drive the HDMI output. Adjust for this difference compared to the notebooks as well.
Fixes: 2d5ce3fbef32 ("arm64: dts: apple: t8112: Initial t8112 (M2) device trees") Cc: stable@vger.kernel.org Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260108-apple-dt-pmgr-fixes-v1-1-cfdce629c0a8@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| ba9dbb70 | 09-Jan-2026 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: Add chassis-type property for Apple iMacs
Apple iMac (M1, 2021) are all-in-one devices with an integrated display.
Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Neal Go
arm64: dts: apple: Add chassis-type property for Apple iMacs
Apple iMac (M1, 2021) are all-in-one devices with an integrated display.
Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Neal Gompa <neal@gompa.dev> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Link: https://patch.msgid.link/20260109-apple-dt-chassis-type-v1-4-c215503734c5@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 126ee92b | 09-Jan-2026 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: Add chassis-type property for Mac Pro
The tower and rack mount Mac Pro variants share the same .dts file and are identical except for the chassis. There doesn't appear to be a pro
arm64: dts: apple: Add chassis-type property for Mac Pro
The tower and rack mount Mac Pro variants share the same .dts file and are identical except for the chassis. There doesn't appear to be a property in Apple's device tree to distinguish these two devices so use "server" as chassis type which describes both if one doesn't look too carefully.
Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Neal Gompa <neal@gompa.dev> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Link: https://patch.msgid.link/20260109-apple-dt-chassis-type-v1-3-c215503734c5@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 591cf790 | 30-Dec-2025 |
Nick Chan <towinchenmi@gmail.com> |
arm64: dts: apple: s8001: Add DWI backlight for J98a, J99a
iPad Pro (12.9-inch) uses DWI backlight, while the 9.7-inch model does not. Add DWI backlight node for s8001 and enable it for J98a and J99
arm64: dts: apple: s8001: Add DWI backlight for J98a, J99a
iPad Pro (12.9-inch) uses DWI backlight, while the 9.7-inch model does not. Add DWI backlight node for s8001 and enable it for J98a and J99a.
Signed-off-by: Nick Chan <towinchenmi@gmail.com> Link: https://patch.msgid.link/20251231-b4-j98a-j99a-dwi-bl-v1-1-24793c2b99fc@gmail.com Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 637f7d2c | 14-Sep-2025 |
Hector Martin <marcan@marcan.st> |
arm64: dts: apple: Add J180d (Mac Pro, M2 Ultra, 2023) device tree
The M2 Ultra in the Mac Pro differs from the M2 Ultra Mac Studio in its PCIe setup. It uses all available 16 PCIe Gen4 on the first
arm64: dts: apple: Add J180d (Mac Pro, M2 Ultra, 2023) device tree
The M2 Ultra in the Mac Pro differs from the M2 Ultra Mac Studio in its PCIe setup. It uses all available 16 PCIe Gen4 on the first die and 8 PCIe Gen4 lanes on the second die to connect to a 100 lane Microchip Switchtec PCIe switch. All internal PCIe devices and the PCIe slots are connected to the PCIe switch. Each die implements a PCIe controller with a single 16 or 8 lane port. The PCIe controller is mostly compatible with existing implementation in pcie-apple.c. The resources for other 8 lanes on the second die are used to connect the NVMe flash with the controller in the SoC. This initial device tree does not include PCIe support.
Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Neal Gompa <neal@gompa.dev> Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Sven Peter <sven@kernel.org> Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 9da45d97 | 14-Sep-2025 |
Janne Grunau <j@jannau.net> |
arm64: dts: apple: Add J474s, J475c and J475d device trees
Add device trees for the M2 Pro Mac mini and the M2 Max and Ultra Mac Studio. These devices are very similar to the M1 Max and Ultra Mac St
arm64: dts: apple: Add J474s, J475c and J475d device trees
Add device trees for the M2 Pro Mac mini and the M2 Max and Ultra Mac Studio. These devices are very similar to the M1 Max and Ultra Mac Studio so reuse the device template, include the .dtsi for the new SoCs and correct for the minimal differences.
Co-developed-by: Hector Martin <marcan@marcan.st> Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Sven Peter <sven@kernel.org> Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 44a95258 | 14-Sep-2025 |
Hector Martin <marcan@marcan.st> |
arm64: dts: apple: Add J414 and J416 Macbook Pro device trees
Add device trees for the T6020 and T6021 based Macbook Pros (M2 Pro/Max, 14/16-inch). The devices are very similar to the T6000/T6001 ba
arm64: dts: apple: Add J414 and J416 Macbook Pro device trees
Add device trees for the T6020 and T6021 based Macbook Pros (M2 Pro/Max, 14/16-inch). The devices are very similar to the T6000/T6001 based ones so reuse the device templates, include the new SoCs and correct for the minimal differences.
Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Neal Gompa <neal@gompa.dev> Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Sven Peter <sven@kernel.org> Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| a8f20eb6 | 14-Sep-2025 |
Hector Martin <marcan@marcan.st> |
arm64: dts: apple: Add initial t6020/t6021/t6022 DTs
These SoCs are found in Apple devices with M2 Pro (t6020), M2 Max (t6021) and M2 Ultra (t6022) and follow the pattern of their M1 counterparts.
arm64: dts: apple: Add initial t6020/t6021/t6022 DTs
These SoCs are found in Apple devices with M2 Pro (t6020), M2 Max (t6021) and M2 Ultra (t6022) and follow the pattern of their M1 counterparts.
t6020 is a cut-down version of t6021, so the former just includes the latter and disables the missing bits (This is currently just one PMGR node and all of its domains).
t6022 is two connected t6021 dies. The implementation seems to use t6021 with blocks disabled (mostly on the second die). MMIO addresses on the second die have a constant offset. The interrupt controller is multi-die aware. This setup can be represented in the device tree with two top level "soc" nodes. The MMIO offset is applied via "ranges" and devices are included with preproceesor macros to make the node labels unique and to specify the die number for the interrupt definition.
Device nodes are distributed over dtsi files based on whether they are present on both dies or just on the first die. The only exception is the NVMe controller which resides on the second die. Its nodes are in a separate file.
Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Neal Gompa <neal@gompa.dev> Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Sven Peter <sven@kernel.org> Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| eef7336d | 26-Aug-2025 |
Nick Chan <towinchenmi@gmail.com> |
arm64: dts: apple: t8015: Add NVMe nodes
Add nodes for NVMe and associated mailbox and sart for Apple A11 SoC.
Signed-off-by: Nick Chan <towinchenmi@gmail.com> Link: https://lore.kernel.org/r/20250
arm64: dts: apple: t8015: Add NVMe nodes
Add nodes for NVMe and associated mailbox and sart for Apple A11 SoC.
Signed-off-by: Nick Chan <towinchenmi@gmail.com> Link: https://lore.kernel.org/r/20250826-t8015-nvme-v5-4-caee6ab00144@gmail.com Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|
| 55a1ed25 | 26-Aug-2025 |
Nick Chan <towinchenmi@gmail.com> |
arm64: dts: apple: t8015: Fix PCIE power domains dependencies
Fix the dependency topology of PCIE power domain nodes, as required by ANS2 NVME controller.
Signed-off-by: Nick Chan <towinchenmi@gmai
arm64: dts: apple: t8015: Fix PCIE power domains dependencies
Fix the dependency topology of PCIE power domain nodes, as required by ANS2 NVME controller.
Signed-off-by: Nick Chan <towinchenmi@gmail.com> Link: https://lore.kernel.org/r/20250826-t8015-nvme-v5-3-caee6ab00144@gmail.com Signed-off-by: Sven Peter <sven@kernel.org>
show more ...
|