[PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings
Yureka Lilian <[email protected]> Sat, 01 Aug 2026 23:40:30 +0200
| Newsgroups | org.kernel.vger.linux-pwm,dev.linux.lists.asahi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-i2c,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260801-apple-m4-initial-devicetrees-v2-0-5cb07cc275da@cyberchaos.dev> |
Hi, This series adds initial device trees and dt-bindings for the Apple Silicon devices using the M4 (t8132) SoC. For the most part it mirrors Janne's M3 (t8122) bringup series as it was merged in the 7.2 cycle. This series covers only a minimal amount of hardware, which is useful as a basis for future developments. The hardware added here has remained largely unchanged between the M3 and M4 generations. Most of the changes for bringing these M4 devices into a bootable state have been happening in the m1n1 bootloader, which, compared to the M3 generation, is no longer responsible for setting the configuration bits (🐔-bits) of the CPU, since these are now set and locked by iBoot. Additionally, SMP boot depends on patches to avoid WFI and WFIT instructions, such as the idle=nop patches I sent out just before v1. Even with those, SMP boot remains unreliable. Since there are no actual driver changes, we'd generally prefer to merge the dt-bindings changes through the apple-soc tree once Acked by the respective maintainers. There are two notable exceptions in this patch series, due to some commits having already been applied to the respective subsystems' trees: - "dt-bindings: watchdog: apple,wdt: Add t8132 compatible"[1] has already been applied to the watchdog subsystem tree, and this patch series will pass check_dtbs when applied on top of linux-next, which includes that commit. - "dt-bindings: pinctrl: apple,pinctrl: Add t8132 compatible" should be applied through the pinctrl tree, since it depends on "dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles"[2] which has been applied in the pinctrl tree. Link: https://lore.kernel.org/asahi/20260705-apple-m4-initial-devicetrees-v1-3-e5655ee56523@cyberchaos.dev/ [1] Link: https://lore.kernel.org/all/20260709-apple-t603x-initial-devices-v1-7-55b305833123@jannau.net/ [2] Signed-off-by: Yureka Lilian <[email protected]> --- Changes in v2: - Rebased on top of the M3 Pro/Max patch series, which was applied to apple-soc earlier today. - Fix several typos - Explain merge strategy in cover letter - Drop "dt-bindings: watchdog: apple,wdt: Add t8132 compatible", as it's been applied in linux-watchdog. - Reword dt-bindings commit messages to not reference the driver - Add apple,always-on to ps_ans node, since powering it off causes reboots - Disable ps_disp*_cpu nodes, since even reading their state causes SErrors with recent firmware - Fix inconsistency of name and reg of aic node - Add M4 devices to the global description in Documentation/devicetree/bindings/arm/apple.yaml - Link to v1: https://patch.msgid.link/20260705-apple-m4-initial-devicetrees-v1-0-e5655ee56523@cyberchaos.dev --- Yureka Lilian (9): dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible dt-bindings: power: apple,pmgr-pwrstate: Add t8132 compatible dt-bindings: pinctrl: apple,pinctrl: Add t8132 compatible dt-bindings: i2c: apple,i2c: Add t8132 compatible dt-bindings: pwm: apple,s5l-fpwm: Add t8132 compatible dt-bindings: arm: apple: Add M4 based devices arm64: dts: apple: Add minimal t8132 (M4) device trees Documentation/devicetree/bindings/arm/apple.yaml | 21 + .../devicetree/bindings/arm/apple/apple,pmgr.yaml | 1 + Documentation/devicetree/bindings/arm/cpus.yaml | 2 + .../devicetree/bindings/i2c/apple,i2c.yaml | 1 + .../bindings/interrupt-controller/apple,aic2.yaml | 1 + .../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 1 + .../bindings/power/apple,pmgr-pwrstate.yaml | 1 + .../devicetree/bindings/pwm/apple,s5l-fpwm.yaml | 1 + arch/arm64/boot/dts/apple/Makefile | 6 + arch/arm64/boot/dts/apple/t8132-j604.dts | 35 + arch/arm64/boot/dts/apple/t8132-j623.dts | 18 + arch/arm64/boot/dts/apple/t8132-j624.dts | 18 + arch/arm64/boot/dts/apple/t8132-j713.dts | 35 + arch/arm64/boot/dts/apple/t8132-j715.dts | 35 + arch/arm64/boot/dts/apple/t8132-j773g.dts | 25 + arch/arm64/boot/dts/apple/t8132-jxxx.dtsi | 48 + arch/arm64/boot/dts/apple/t8132-pmgr.dtsi | 1130 ++++++++++++++++++++ arch/arm64/boot/dts/apple/t8132.dtsi | 447 ++++++++ 18 files changed, 1826 insertions(+) --- base-commit: 6e890bf6442553c7bf56867a91c2dbcc2c295900 change-id: 20260705-apple-m4-initial-devicetrees-f6ebb1c7a2cd prerequisite-patch-id: 9cc940a660e81da8e030e383e26cd5a700fe2e80 prerequisite-patch-id: 1a60321f66e49041d1de2864f1678009a0356294 Best regards, -- Yureka Lilian <[email protected]>