[PATCH v2 0/7] Apple M3, M3 Pro/Max/Ultra PCIe device trees

From: Janne Grunau

Date: Sun Nov 08 2026 - 09:25:53 EST


Hej,

this series contains the device tree changes for PCIe support on all
M3, M3 Pro, M3 Max and M3 Ultra devices.
The PCIe controller on these SoCs is compatible to the M2 Pro/Max one.
So add the new per SoC compatibles to the dt-bindings and add PCIe
device nodes for all M3, M3 Pro, M3 Max and M3 Ultra devices.
The series contains a fix for the M3 (t8122) power-state devices tree
nodes. A power-state required for the PCIe controller and the NVMe was
not correctly represented. MacOS keeps this power-state always on and so
does the device tree for M2 Pro/Max. Do the same on M3.

Based on apple-soc/dt-7.5 [1] to avoid trivial conflicts with the NVMe
series and to import the M3 DART dt-bindings from [2].

The series passes make dtbs_check and make dt_binding_check and does
not introduce additional dt-style-check --mode strict warnings with
dt-style-check from next-20261103

ciao,

Janne

Link: https://github.com/AsahiLinux/linux/tree/apple-soc/dt-7.5 [1]
Link: https://patch.msgid.link/20260925-apple-mtp-keyboard-final-v4-0-304c267518f4@xxxxxxxxx [2]
Signed-off-by: Janne Grunau <j@xxxxxxxxxx>
---
Changes in v2:
- capitalized PCI and reordered words in dt-binding's subject line
- adjusted WiFi/Bluetooth PCI compatibles to BCM4388 for M3
Pro/Max/Ultra devices
- Link to v1: https://patch.msgid.link/20261105-apple-m3-pcie-v1-0-e00a72a604f8@xxxxxxxxxx

To: Sven Peter <sven@xxxxxxxxxx>
To: Janne Grunau <j@xxxxxxxxxx>
To: Neal Gompa <neal@xxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Joshua Peisach <jpeisach@xxxxxxxxxx>
To: Michael Reeves <michael.reeves077@xxxxxxxxx>
To: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>
To: Krzysztof Wilczyński <kwilczynski@xxxxxxxxxx>
To: Manivannan Sadhasivam <mani@xxxxxxxxxx>
To: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
To: Mark Kettenis <kettenis@xxxxxxxxxxx>
Cc: asahi@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-pci@xxxxxxxxxxxxxxx

---
Alyssa Milburn (1):
arm64: dts: apple: t8122: Add PCIe device nodes

Janne Grunau (4):
arm64: dts: apple: t8122: Keep ps_apcie_phy_sw always-on
dt-bindings: PCI: apple,pcie: Add M3 generation compatibles
arm64: dts: apple: t6030: Add PCIe nodes
arm64: dts: apple: t6032-j575d: Add PCIe device nodes

Yureka Lilian (2):
arm64: dts: apple: t6031: Add PCIe nodes
arm64: dts: apple: t603x-j514-j516: Add PCIe device nodes

.../devicetree/bindings/pci/apple,pcie.yaml | 6 +
arch/arm64/boot/dts/apple/t6030-j514s.dts | 8 +
arch/arm64/boot/dts/apple/t6030-j516s.dts | 8 +
arch/arm64/boot/dts/apple/t6030.dtsi | 165 +++++++++++++++++++
arch/arm64/boot/dts/apple/t6031-die0.dtsi | 157 ++++++++++++++++++
arch/arm64/boot/dts/apple/t6031-gpio-pins.dtsi | 9 ++
arch/arm64/boot/dts/apple/t6031-j514c.dts | 8 +
arch/arm64/boot/dts/apple/t6031-j516c.dts | 8 +
arch/arm64/boot/dts/apple/t6031.dtsi | 1 +
arch/arm64/boot/dts/apple/t6032-j575d.dts | 72 +++++++++
arch/arm64/boot/dts/apple/t6034-j514m.dts | 8 +
arch/arm64/boot/dts/apple/t6034-j516m.dts | 8 +
arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi | 41 +++++
arch/arm64/boot/dts/apple/t8122-j433.dts | 28 ++++
arch/arm64/boot/dts/apple/t8122-j434.dts | 38 +++++
arch/arm64/boot/dts/apple/t8122-j504.dts | 26 +++
arch/arm64/boot/dts/apple/t8122-j613.dts | 8 +
arch/arm64/boot/dts/apple/t8122-j615.dts | 8 +
arch/arm64/boot/dts/apple/t8122-jxxx.dtsi | 29 +++-
arch/arm64/boot/dts/apple/t8122-pmgr.dtsi | 2 +-
arch/arm64/boot/dts/apple/t8122.dtsi | 175 +++++++++++++++++++++
21 files changed, 811 insertions(+), 2 deletions(-)
---
base-commit: 6c799b8c0df41869fa0d059f7e54f8f84b3989ee
change-id: 20261104-apple-m3-pcie-ae72b846baaf

Best regards,
--
Janne Grunau <j@xxxxxxxxxx>