[PATCH 0/3] arm64: dts: apple: Add integrated USB Type-C ports

Janne Grunau posted 3 patches 1 month ago
arch/arm64/boot/dts/apple/t6001.dtsi           |   1 +
arch/arm64/boot/dts/apple/t6002-j375d.dts      | 150 +++++++++
arch/arm64/boot/dts/apple/t6002.dtsi           |   1 +
arch/arm64/boot/dts/apple/t600x-dieX.dtsi      | 212 +++++++++++++
arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 234 ++++++++++++++
arch/arm64/boot/dts/apple/t600x-j375.dtsi      | 270 ++++++++++++++++
arch/arm64/boot/dts/apple/t6022-j180d.dts      | 415 +++++++++++++++++++++++++
arch/arm64/boot/dts/apple/t6022-j475d.dts      |  31 ++
arch/arm64/boot/dts/apple/t6022-jxxxd.dtsi     | 133 ++++++++
arch/arm64/boot/dts/apple/t602x-dieX.dtsi      | 212 +++++++++++++
arch/arm64/boot/dts/apple/t8103-j274.dts       |  12 +
arch/arm64/boot/dts/apple/t8103-j293.dts       |  12 +
arch/arm64/boot/dts/apple/t8103-j313.dts       |  12 +
arch/arm64/boot/dts/apple/t8103-j456.dts       |  12 +
arch/arm64/boot/dts/apple/t8103-j457.dts       |  12 +
arch/arm64/boot/dts/apple/t8103-jxxx.dtsi      | 134 ++++++++
arch/arm64/boot/dts/apple/t8103.dtsi           | 105 +++++++
arch/arm64/boot/dts/apple/t8112-j413.dts       |  12 +
arch/arm64/boot/dts/apple/t8112-j415.dts       |  12 +
arch/arm64/boot/dts/apple/t8112-j473.dts       |  12 +
arch/arm64/boot/dts/apple/t8112-j493.dts       |  12 +
arch/arm64/boot/dts/apple/t8112-jxxx.dtsi      | 134 ++++++++
arch/arm64/boot/dts/apple/t8112.dtsi           | 105 +++++++
23 files changed, 2245 insertions(+)
[PATCH 0/3] arm64: dts: apple: Add integrated USB Type-C ports
Posted by Janne Grunau 1 month ago
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://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/ [1]
Link: https://lore.kernel.org/asahi/20260104-atcphy-tunable-fix-v2-1-84e5c2a57aaa@kernel.org/ [2]
Link: https://lore.kernel.org/asahi/20260108-atcphy-coldboot-fix-v1-1-01c41c6e84f2@kernel.org/ [3]
Link: https://lore.kernel.org/asahi/20260108-dwc3-apple-usb2phy-fix-v1-1-5dd7bc642040@kernel.org/ [4]
Link: https://lore.kernel.org/asahi/20260109-apple-dwc3-role-switch-v1-1-11623b0f6222@jannau.net/ [5]
Signed-off-by: Janne Grunau <j@jannau.net>
---
Hector Martin (2):
      arm64: dts: apple: t8103: Add nodes for integrated USB Type-C ports
      arm64: dts: apple: t8112: Add nodes for integrated USB Type-C ports

Janne Grunau (1):
      arm64: dts: apple: t60xx: Add nodes for integrated USB Type-C ports

 arch/arm64/boot/dts/apple/t6001.dtsi           |   1 +
 arch/arm64/boot/dts/apple/t6002-j375d.dts      | 150 +++++++++
 arch/arm64/boot/dts/apple/t6002.dtsi           |   1 +
 arch/arm64/boot/dts/apple/t600x-dieX.dtsi      | 212 +++++++++++++
 arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 234 ++++++++++++++
 arch/arm64/boot/dts/apple/t600x-j375.dtsi      | 270 ++++++++++++++++
 arch/arm64/boot/dts/apple/t6022-j180d.dts      | 415 +++++++++++++++++++++++++
 arch/arm64/boot/dts/apple/t6022-j475d.dts      |  31 ++
 arch/arm64/boot/dts/apple/t6022-jxxxd.dtsi     | 133 ++++++++
 arch/arm64/boot/dts/apple/t602x-dieX.dtsi      | 212 +++++++++++++
 arch/arm64/boot/dts/apple/t8103-j274.dts       |  12 +
 arch/arm64/boot/dts/apple/t8103-j293.dts       |  12 +
 arch/arm64/boot/dts/apple/t8103-j313.dts       |  12 +
 arch/arm64/boot/dts/apple/t8103-j456.dts       |  12 +
 arch/arm64/boot/dts/apple/t8103-j457.dts       |  12 +
 arch/arm64/boot/dts/apple/t8103-jxxx.dtsi      | 134 ++++++++
 arch/arm64/boot/dts/apple/t8103.dtsi           | 105 +++++++
 arch/arm64/boot/dts/apple/t8112-j413.dts       |  12 +
 arch/arm64/boot/dts/apple/t8112-j415.dts       |  12 +
 arch/arm64/boot/dts/apple/t8112-j473.dts       |  12 +
 arch/arm64/boot/dts/apple/t8112-j493.dts       |  12 +
 arch/arm64/boot/dts/apple/t8112-jxxx.dtsi      | 134 ++++++++
 arch/arm64/boot/dts/apple/t8112.dtsi           | 105 +++++++
 23 files changed, 2245 insertions(+)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260109-apple-dt-usb-c-atc-dwc3-c4f7853c85e2

Best regards,
-- 
Janne Grunau <j@jannau.net>
Re: [PATCH 0/3] arm64: dts: apple: Add integrated USB Type-C ports
Posted by Sven Peter 3 weeks, 6 days ago
On Fri, 09 Jan 2026 15:07:03 +0100, Janne Grunau wrote:
> 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)
> 
> [...]

Applied to AsahiLinux/linux (apple-soc/dt-6.20), thanks!

[1/3] arm64: dts: apple: t8103: Add nodes for integrated USB Type-C ports
      https://github.com/AsahiLinux/linux/commit/2b737cc5be70
[2/3] arm64: dts: apple: t8112: Add nodes for integrated USB Type-C ports
      https://github.com/AsahiLinux/linux/commit/b4f4054864e6
[3/3] arm64: dts: apple: t60xx: Add nodes for integrated USB Type-C ports
      https://github.com/AsahiLinux/linux/commit/e21c8e2e0276

Best regards,
-- 
Sven Peter <sven@kernel.org>
Re: [PATCH 0/3] arm64: dts: apple: Add integrated USB Type-C ports
Posted by Sven Peter 1 month ago
On 1/9/26 15:07, Janne Grunau wrote:
> 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://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/ [1]
> Link: https://lore.kernel.org/asahi/20260104-atcphy-tunable-fix-v2-1-84e5c2a57aaa@kernel.org/ [2]
> Link: https://lore.kernel.org/asahi/20260108-atcphy-coldboot-fix-v1-1-01c41c6e84f2@kernel.org/ [3]
> Link: https://lore.kernel.org/asahi/20260108-dwc3-apple-usb2phy-fix-v1-1-5dd7bc642040@kernel.org/ [4]
> Link: https://lore.kernel.org/asahi/20260109-apple-dwc3-role-switch-v1-1-11623b0f6222@jannau.net/ [5]
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---


thanks for doing this tedious work!
This all looks good to me and the t8103 changes have been running fine 
for a while on my machine now. I will give it another week or so on LKML 
before merging it!


Tested-by: Sven Peter <sven@kernel.org> # M1 mac mini and macbook air
Reviewed-by: Sven Peter <sven@kernel.org>


Best,

Sven
Re: [PATCH 0/3] arm64: dts: apple: Add integrated USB Type-C ports
Posted by Neal Gompa 1 month ago
On Fri, Jan 9, 2026 at 9:07 AM Janne Grunau <j@jannau.net> wrote:
>
> 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://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/ [1]
> Link: https://lore.kernel.org/asahi/20260104-atcphy-tunable-fix-v2-1-84e5c2a57aaa@kernel.org/ [2]
> Link: https://lore.kernel.org/asahi/20260108-atcphy-coldboot-fix-v1-1-01c41c6e84f2@kernel.org/ [3]
> Link: https://lore.kernel.org/asahi/20260108-dwc3-apple-usb2phy-fix-v1-1-5dd7bc642040@kernel.org/ [4]
> Link: https://lore.kernel.org/asahi/20260109-apple-dwc3-role-switch-v1-1-11623b0f6222@jannau.net/ [5]
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
> Hector Martin (2):
>       arm64: dts: apple: t8103: Add nodes for integrated USB Type-C ports
>       arm64: dts: apple: t8112: Add nodes for integrated USB Type-C ports
>
> Janne Grunau (1):
>       arm64: dts: apple: t60xx: Add nodes for integrated USB Type-C ports
>
>  arch/arm64/boot/dts/apple/t6001.dtsi           |   1 +
>  arch/arm64/boot/dts/apple/t6002-j375d.dts      | 150 +++++++++
>  arch/arm64/boot/dts/apple/t6002.dtsi           |   1 +
>  arch/arm64/boot/dts/apple/t600x-dieX.dtsi      | 212 +++++++++++++
>  arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 234 ++++++++++++++
>  arch/arm64/boot/dts/apple/t600x-j375.dtsi      | 270 ++++++++++++++++
>  arch/arm64/boot/dts/apple/t6022-j180d.dts      | 415 +++++++++++++++++++++++++
>  arch/arm64/boot/dts/apple/t6022-j475d.dts      |  31 ++
>  arch/arm64/boot/dts/apple/t6022-jxxxd.dtsi     | 133 ++++++++
>  arch/arm64/boot/dts/apple/t602x-dieX.dtsi      | 212 +++++++++++++
>  arch/arm64/boot/dts/apple/t8103-j274.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8103-j293.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8103-j313.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8103-j456.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8103-j457.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8103-jxxx.dtsi      | 134 ++++++++
>  arch/arm64/boot/dts/apple/t8103.dtsi           | 105 +++++++
>  arch/arm64/boot/dts/apple/t8112-j413.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8112-j415.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8112-j473.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8112-j493.dts       |  12 +
>  arch/arm64/boot/dts/apple/t8112-jxxx.dtsi      | 134 ++++++++
>  arch/arm64/boot/dts/apple/t8112.dtsi           | 105 +++++++
>  23 files changed, 2245 insertions(+)
> ---
> base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
> change-id: 20260109-apple-dt-usb-c-atc-dwc3-c4f7853c85e2
>


LGTM, thanks for this!

Reviewed-by: Neal Gompa <neal@gompa.dev>


-- 
真実はいつも一つ!/ Always, there's only one truth!