在 Linux 6.20~7.0 周期即将开始下个月之际,Apple Silicon 设备树更新已经发出,以便在下一个合并窗口之前排队。本轮值得注意的是为 USB 2.0/3.x 支持与 USB-C 端口添加的设备树内容。
Sven Peter 本周发布了适用于 Linux 6.20~7.0 周期的 Apple SoC 设备树更新,其中最值得注意的是围绕 USB3 支持添加了所有必要的组件。设备树更新的总结包括:
“- 添加所有支持 USB3 所需的节点和连接。这是 diffstat 差异的主要部分。Type-C PHY 的 dt-bindings 计划通过 PHY 树发送,并且已经包含在下一个版本中。
– 向系统管理控制器添加 RTC 子节点
– 为所有 M1 和 M2 机型添加 chassis-type 属性
– 修复一些小的电源管理问题
– 为基于 A9X 的 iPad Pro 添加背光节点”
Janne Grunau 就集成 Apple USB Type-C 端口的设备树添加解释了补丁系列:
“现在 USB 2.0 和 3.x 支持的所有依赖项要么已经合并(v6.18 中的 tipd 更改,v6.19-rc1 中的 dwc3-apple),要么在 linux-next(Apple Type-C PHY)中,准备设备树更改以暴露端口。
Apple Silicon 设备上的每个端口都由一组独立的硬件模块驱动。对于 USB 2.0 和 3.x,这组模块包括:
– Apple Type-C PHY,支持 USB 2.0、USB 3.x、USB4/Thunderbolt 和 DisplayPort 的组合 PHY
– Synopsys Designware dwc3 USB 控制器
– 为 dwc3 提供两个 DART iommu 实例
– CD321x USB PD 控制器(类似于 TI 的 TPS6598x 系列)CD321x 节点已经存在,因此这一系列新增了剩余的设备节点、Type-C 连接器节点以及所有组件之间的连接。
除少数例外情况外,所有端口均由设备暴露。M1 和 M2 有两个端口,M1 和 M2 Pro 和 Max 有四个端口,M1 和 M2 Ultra 有八个端口。基于 Pro 和 Max 的 MacBook Pro 仅使用三个端口。第四个端口用作 DisplayPort PHY,通过集成的 DP 到 HDMI 转换器驱动 HDMI 输出。基于 Ultra 的 Mac Studio 设备仅使用六个端口。第二个芯片上的第三和第四端口完全断开连接。
因此,通过这次提交,USB Type-C DT 新增内容最终确定适用于 Apple M1 和 M2 Mac,同时预计 Linux 6.20~7.0 也将增加 PHY 新增内容。

本周另一个提交请求用于 Apple SoC defconfig 更新,现在在默认内核配置中启用了大多数 Apple Silicon 所需的驱动作为模块。
转自 Linux 7.0 Apple Silicon Device Tree Updates Have All The Bits For USB Type-C Ports – Phoronix
Linuxeden开源社区