* [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings
@ 2026-08-01 21:40 Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles Yureka Lilian
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian, Krzysztof Kozlowski
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 <yureka@cyberchaos.dev>
---
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 <yureka@cyberchaos.dev>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 2/9] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible Yureka Lilian
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian, Krzysztof Kozlowski
The core types of the M4 SoC no longer carry individual codenames.
Apple's device trees re-use the 'everest' and 'sawtooth' codenames from
the M3 generation for all later cores.
Instead, we use a combination of the SoC's codename ('Donan') and the
type of core ('e' and 'p' for the efficiency and performance cores
respectively) as compatible for these cores.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index 5be89c584026..c328e9fb9843 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -86,6 +86,8 @@ properties:
- apple,avalanche
- apple,blizzard
- apple,cyclone
+ - apple,donan-e
+ - apple,donan-p
- apple,everest
- apple,firestorm
- apple,hurricane-zephyr
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/9] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 3/9] dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible Yureka Lilian
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian, Krzysztof Kozlowski
The Apple t8132 (M4) SoC uses an AIC3 as interrupt controller, same as
the M3 predecessor.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
index 726a6720e05f..1cb886785173 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
@@ -45,6 +45,7 @@ properties:
- enum:
- apple,t6030-aic3
- apple,t6031-aic3
+ - apple,t8132-aic3
- const: apple,t8122-aic3
- const: apple,t8122-aic3
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/9] dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 2/9] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 4/9] dt-bindings: power: apple,pmgr-pwrstate: " Yureka Lilian
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian, Krzysztof Kozlowski
The PMGR blocks on Apple silicon M4 SoCs (t8132) are compatible with the
M1/M2/M3 predecessors. Add "apple,t8132-pmgr" as M4 specific compatible.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
index 1d2001836eb4..da660fa13f77 100644
--- a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
+++ b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
@@ -41,6 +41,7 @@ properties:
- apple,t6030-pmgr
- apple,t6031-pmgr
- apple,t8122-pmgr
+ - apple,t8132-pmgr
- const: apple,t8103-pmgr
- const: syscon
- const: simple-mfd
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/9] dt-bindings: power: apple,pmgr-pwrstate: Add t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (2 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 3/9] dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 5/9] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian, Krzysztof Kozlowski
The device power state management of the PMGR blocks on Apple's t8132
SoC (M4) is compatible with t8103.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
index e269f433524e..b24ea8e54e11 100644
--- a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
+++ b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
@@ -48,6 +48,7 @@ properties:
- apple,t6030-pmgr-pwrstate
- apple,t6031-pmgr-pwrstate
- apple,t8122-pmgr-pwrstate
+ - apple,t8132-pmgr-pwrstate
- const: apple,t8103-pmgr-pwrstate
reg:
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/9] dt-bindings: pinctrl: apple,pinctrl: Add t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (3 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 4/9] dt-bindings: power: apple,pmgr-pwrstate: " Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 6/9] dt-bindings: i2c: apple,i2c: " Yureka Lilian
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian
The pin controller on the Apple silicon t8132 (M4) SoC is compatible
with t8103. Add "apple,t8132-pinctrl" as SoC specific compatible under
"apple,t8103-pinctrl".
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
This should be pulled via the pinctrl subtree, since it depends on
"dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles"[1]
which has been applied in the pinctrl tree. Thanks!
Link: https://lore.kernel.org/all/20260709-apple-t603x-initial-devices-v1-7-55b305833123@jannau.net/ [1]
---
Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
index f08d2c4f5784..bc6d41b63b5d 100644
--- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
@@ -23,6 +23,7 @@ properties:
- apple,t6030-pinctrl
- apple,t6031-pinctrl
- apple,t8122-pinctrl
+ - apple,t8132-pinctrl
- const: apple,t8103-pinctrl
- items:
# Do not add additional SoC to this list.
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 6/9] dt-bindings: i2c: apple,i2c: Add t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (4 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 5/9] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 7/9] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian
The i2c block on the Apple silicon t8132 (M4) SoC is compatible with
t8103. Add "apple,t8132-i2c" as SoC specific compatible under
"apple,t8103-i2c".
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/i2c/apple,i2c.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
index d39f5e3f1df4..641f24b0ef4b 100644
--- a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
@@ -27,6 +27,7 @@ properties:
- apple,t6030-i2c
- apple,t6031-i2c
- apple,t8122-i2c
+ - apple,t8132-i2c
- const: apple,t8103-i2c
- items:
- enum:
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 7/9] dt-bindings: pwm: apple,s5l-fpwm: Add t8132 compatible
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (5 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 6/9] dt-bindings: i2c: apple,i2c: " Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 8/9] dt-bindings: arm: apple: Add M4 based devices Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees Yureka Lilian
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian
The PWM controller on the Apple silicon t8132 (M4) SoC is compatible
with t8103. Add "apple,t8132-fpwm" as SoC specific compatible under
"apple,s5l-fpwm".
Acked-by: Uwe Kleine-König <ukleinek@kernel.org>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
index dd95037ea5ee..ae8baa5f7bcd 100644
--- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
@@ -19,6 +19,7 @@ properties:
- apple,t8103-fpwm
- apple,t8112-fpwm
- apple,t8122-fpwm
+ - apple,t8132-fpwm
- apple,t6000-fpwm
- apple,t6020-fpwm
- apple,t6030-fpwm
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 8/9] dt-bindings: arm: apple: Add M4 based devices
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (6 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 7/9] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees Yureka Lilian
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian
The Apple devices with the t8132 SoC (M4) are very similar to their M3
predecessors.
In addition to the MacBook Pro and the various MacBook Air and iMac
variants, a Mac mini is offered again with the M4.
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Documentation/devicetree/bindings/arm/apple.yaml | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index fb277c96f341..5d87a4fef193 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -103,6 +103,15 @@ description: |
- MacBook Pro (14-inch, M3, 2023)
- iMac (24-inch, M3, 2023)
+ Devices based on the "M4" SoC:
+
+ - MacBook Pro (14-inch, M4, 2024)
+ - iMac (24-inch, 2x USB-C, M4, 2024)
+ - iMac (24-inch, 4x USB-C, M4, 2024)
+ - MacBook Air (13-inch, M4, 2025)
+ - MacBook Air (15-inch, M4, 2025)
+ - Mac mini (M4, 2024)
+
Devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:
- MacBook Pro (14-inch, M1 Pro, 2021)
@@ -323,6 +332,18 @@ properties:
- const: apple,t8122
- const: apple,arm-platform
+ - description: Apple M4 SoC based platforms
+ items:
+ - enum:
+ - apple,j604 # MacBook Pro (14-inch, M4, 2024)
+ - apple,j623 # iMac (24-inch, 2x USB-C, M4, 2024)
+ - apple,j624 # iMac (24-inch, 4x USB-C, M4, 2024)
+ - apple,j713 # MacBook Air (13-inch, M4, 2025)
+ - apple,j715 # MacBook Air (15-inch, M4, 2025)
+ - apple,j773g # Mac mini (M4, 2024)
+ - const: apple,t8132
+ - const: apple,arm-platform
+
- description: Apple M1 Pro SoC based platforms
items:
- enum:
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
` (7 preceding siblings ...)
2026-08-01 21:40 ` [PATCH v2 8/9] dt-bindings: arm: apple: Add M4 based devices Yureka Lilian
@ 2026-08-01 21:40 ` Yureka Lilian
8 siblings, 0 replies; 10+ messages in thread
From: Yureka Lilian @ 2026-08-01 21:40 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lorenzo Pieralisi,
Sven Peter, Janne Grunau, Neal Gompa, Thomas Gleixner,
Radu Rendec, Hector Martin, Linus Walleij, Mark Kettenis,
Andi Shyti, Uwe Kleine-König, Sasha Finkelstein
Cc: devicetree, linux-kernel, asahi, linux-arm-kernel, linux-gpio,
linux-i2c, linux-pwm, Yureka Lilian
Added device trees for the following devices:
- apple,j604 - MacBook Pro (14-inch, M4, 2024)
- apple,j623 - iMac (24-inch, 2x USB-C, M4, 2024)
- apple,j624 - iMac (24-inch, 4x USB-C, M4, 2024)
- apple,j713 - MacBook Air (13-inch, M4, 2025)
- apple,j715 - MacBook Air (15-inch, M4, 2025)
- apple,j773g - Mac mini (M4, 2024)
The device trees have a minimal set of devices limited to CPU cores,
interrupt controller, power states, watchdog, serial, pin controller,
i2c and framebuffer.
The device trees for the notebooks add a PWM controller for the keyboard
LED illumination.
Using the macOS 26.6 iBoot/firmware, the Mac mini reliably boots on a
single core using the stock kernel.
Booting with smp requires avoiding the wfi and wfit instructions
in the idle loop and `delay()` respectively, since those instructions
cause a loss of architectural state on the secondary cores, and even
then boot is unreliable.
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
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 ++++++++++++
10 files changed, 1797 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index 9fea43f760ec..62999574a36b 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -103,3 +103,9 @@ dtb-$(CONFIG_ARCH_APPLE) += t8122-j434.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j504.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j613.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j615.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j604.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j623.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j624.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j713.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j715.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t8132-j773g.dtb
diff --git a/arch/arm64/boot/dts/apple/t8132-j604.dts b/arch/arm64/boot/dts/apple/t8132-j604.dts
new file mode 100644
index 000000000000..c4be915cb33a
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j604.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (14-inch, M4, 2024)
+ *
+ * target-type: J604
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "apple,j604", "apple,t8132", "apple,arm-platform";
+ model = "Apple MacBook Pro (14-inch, M4, 2024)";
+
+ led-controller {
+ compatible = "pwm-leds";
+ led-0 {
+ pwms = <&fpwm1 0 40000>;
+ label = "kbd_backlight";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+ color = <LED_COLOR_ID_WHITE>;
+ max-brightness = <255>;
+ default-state = "keep";
+ };
+ };
+};
+
+&fpwm1 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-j623.dts b/arch/arm64/boot/dts/apple/t8132-j623.dts
new file mode 100644
index 000000000000..508e26056022
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j623.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iMac (24-inch, 2x USB-C, M4, 2024)
+ *
+ * target-type: J623
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+
+/ {
+ compatible = "apple,j623", "apple,t8132", "apple,arm-platform";
+ model = "Apple iMac (24-inch, 2x USB-C, M4, 2024)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-j624.dts b/arch/arm64/boot/dts/apple/t8132-j624.dts
new file mode 100644
index 000000000000..84bdd8e343eb
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j624.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple iMac (24-inch, 4x USB-C, M4, 2024)
+ *
+ * target-type: J624
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+
+/ {
+ compatible = "apple,j624", "apple,t8132", "apple,arm-platform";
+ model = "Apple iMac (24-inch, 4x USB-C, M4, 2024)";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-j713.dts b/arch/arm64/boot/dts/apple/t8132-j713.dts
new file mode 100644
index 000000000000..e1fc5d47f487
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j713.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Air (13-inch, M4, 2025)
+ *
+ * target-type: J713
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "apple,j713", "apple,t8132", "apple,arm-platform";
+ model = "Apple MacBook Air (13-inch, M4, 2025)";
+
+ led-controller {
+ compatible = "pwm-leds";
+ led-0 {
+ pwms = <&fpwm1 0 40000>;
+ label = "kbd_backlight";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+ color = <LED_COLOR_ID_WHITE>;
+ max-brightness = <255>;
+ default-state = "keep";
+ };
+ };
+};
+
+&fpwm1 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-j715.dts b/arch/arm64/boot/dts/apple/t8132-j715.dts
new file mode 100644
index 000000000000..2672914ea76c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j715.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Air (15-inch, M4, 2025)
+ *
+ * target-type: J715
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "apple,j715", "apple,t8132", "apple,arm-platform";
+ model = "Apple MacBook Air (15-inch, M4, 2025)";
+
+ led-controller {
+ compatible = "pwm-leds";
+ led-0 {
+ pwms = <&fpwm1 0 40000>;
+ label = "kbd_backlight";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+ color = <LED_COLOR_ID_WHITE>;
+ max-brightness = <255>;
+ default-state = "keep";
+ };
+ };
+};
+
+&fpwm1 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-j773g.dts b/arch/arm64/boot/dts/apple/t8132-j773g.dts
new file mode 100644
index 000000000000..0583cb9d19f6
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-j773g.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple Mac mini (M4, 2024)
+ *
+ * target-type: J773g
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t8132.dtsi"
+#include "t8132-jxxx.dtsi"
+
+/ {
+ compatible = "apple,j773g", "apple,t8132", "apple,arm-platform";
+ model = "Apple Mac mini (M4, 2024)";
+};
+
+/*
+ * Keep the power-domains used for the HDMI port on.
+ */
+&framebuffer0 {
+ power-domains = <&ps_dispext0_fe>, <&ps_dptx_phy>;
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8132-jxxx.dtsi
new file mode 100644
index 000000000000..9882ea3f85e6
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-jxxx.dtsi
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple M4 Mac mini, MacBook Air/Pro, iMac 24" (M4, 2024/2025)
+ *
+ * This file contains parts common to all Apple M4 devices using the t8132.
+ *
+ * target-type: J604, J623, J624, J713, J715, J773g
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/ {
+ aliases {
+ serial0 = &serial0;
+ };
+
+ chosen {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ stdout-path = "serial0";
+
+ framebuffer0: framebuffer@0 {
+ compatible = "apple,simple-framebuffer", "simple-framebuffer";
+ reg = <0 0 0 0>; /* To be filled by loader */
+ power-domains = <&ps_disp_fe>, <&ps_dptx_phy>;
+ /* Format properties will be added by loader */
+ status = "disabled";
+ };
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ /* To be filled by loader */
+ };
+
+ memory@800000000 {
+ device_type = "memory";
+ reg = <0x8 0 0x2 0>; /* To be filled by loader */
+ };
+};
+
+&serial0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/apple/t8132-pmgr.dtsi b/arch/arm64/boot/dts/apple/t8132-pmgr.dtsi
new file mode 100644
index 000000000000..6fbf09e8f981
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132-pmgr.dtsi
@@ -0,0 +1,1130 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * PMGR Power domains for the Apple T8132 "M4" SoC
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+&pmgr {
+ ps_msg: power-controller@108 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x108 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msg";
+ };
+
+ ps_aic: power-controller@110 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x110 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "aic";
+ apple,always-on; /* Core device */
+ };
+
+ ps_dwi: power-controller@118 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x118 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dwi";
+ };
+
+ ps_gpio: power-controller@120 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x120 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "gpio";
+ };
+
+ ps_pmc: power-controller@138 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x138 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pmc";
+ };
+
+ ps_pms_fpwm0: power-controller@140 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x140 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm0";
+ };
+
+ ps_pms_fpwm1: power-controller@148 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x148 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm1";
+ };
+
+ ps_pms_fpwm2: power-controller@150 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x150 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm2";
+ };
+
+ ps_pms_fpwm3: power-controller@158 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x158 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm3";
+ };
+
+ ps_pms_fpwm4: power-controller@160 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x160 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm4";
+ };
+
+ ps_pms_c1ppt: power-controller@168 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x168 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_c1ppt";
+ };
+
+ ps_soc_rc: power-controller@170 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x170 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "soc_rc";
+ };
+
+ ps_soc_dpe: power-controller@178 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x178 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "soc_dpe";
+ apple,always-on;
+ };
+
+ ps_pmgr_soc_ocla: power-controller@180 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x180 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pmgr_soc_ocla";
+ };
+
+ ps_ap_tmm: power-controller@1b8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ap_tmm";
+ };
+
+ ps_dispext0_sys: power-controller@1d8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_sys";
+ };
+
+ ps_dispext0_fe: power-controller@1e0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_fe";
+ power-domains = <&ps_dispext0_sys>;
+ };
+
+ ps_dispext0_cpu: power-controller@1e8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_cpu";
+ power-domains = <&ps_dispext0_fe>;
+
+ status = "disabled"; /* Locked, don't touch it */
+ };
+
+ ps_scodec: power-controller@228 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x228 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "scodec";
+ };
+
+ ps_scodec_streaming: power-controller@230 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x230 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "scodec_streaming";
+ power-domains = <&ps_scodec>;
+ };
+
+ ps_disp_sys: power-controller@240 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x240 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_sys";
+ apple,always-on; /* TODO: figure out if we can enable PM here */
+ };
+
+ ps_disp_fe: power-controller@248 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x248 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_fe";
+ power-domains = <&ps_disp_sys>;
+ apple,always-on; /* TODO: figure out if we can enable PM here */
+ };
+
+ ps_gfx: power-controller@250 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x250 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "gfx";
+ };
+
+ ps_sio_cpu: power-controller@268 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x268 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sio_cpu";
+ };
+
+ ps_fpwm0: power-controller@270 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x270 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm0";
+ };
+
+ ps_fpwm1: power-controller@278 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x278 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm1";
+ };
+
+ ps_fpwm2: power-controller@280 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x280 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm2";
+ };
+
+ ps_i2c0: power-controller@288 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x288 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c0";
+ };
+
+ ps_i2c1: power-controller@290 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x290 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c1";
+ };
+
+ ps_i2c2: power-controller@298 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x298 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c2";
+ };
+
+ ps_i2c3: power-controller@2a0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c3";
+ };
+
+ ps_i2c4: power-controller@2a8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c4";
+ };
+
+ ps_i2c5: power-controller@2b0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c5";
+ };
+
+ ps_i2c6: power-controller@2b8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c6";
+ };
+
+ ps_i2c7: power-controller@2c0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c7";
+ };
+
+ ps_i2c8: power-controller@2c8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c8";
+ };
+
+ ps_spi_p: power-controller@2d0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi_p";
+ apple,always-on;
+ };
+
+ ps_uart_p: power-controller@2d8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart_p";
+ apple,always-on;
+ };
+
+ ps_dpa_p: power-controller@2e0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa_p";
+ apple,always-on;
+ };
+
+ ps_aes: power-controller@2e8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "aes";
+ };
+
+ ps_spi0: power-controller@2f0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi0";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_afiaft: power-controller@300 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x300 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "afiaft";
+ };
+
+ ps_venc_sys: power-controller@308 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x308 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_sys";
+ };
+
+ ps_spi1: power-controller@370 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x370 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi1";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_atc0_common: power-controller@378 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x378 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_common";
+ };
+
+ ps_spi2: power-controller@380 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x380 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi2";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi3: power-controller@388 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x388 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi3";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi4: power-controller@390 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x390 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi4";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_trace_fab: power-controller@398 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x398 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "trace_fab";
+ };
+
+ ps_atc0_pcie: power-controller@3a0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_pcie";
+ power-domains = <&ps_atc0_common>;
+ };
+
+ ps_atc0_cio: power-controller@3a8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio";
+ power-domains = <&ps_atc0_common>;
+ };
+
+ ps_atc0_cio_pcie: power-controller@3b0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio_pcie";
+ power-domains = <&ps_atc0_cio>;
+ };
+
+ ps_spi5: power-controller@3b8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi5";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_qspi: power-controller@3c0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "qspi";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_dptx_phy: power-controller@3c8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dptx_phy";
+ };
+
+ ps_uart_n: power-controller@3d0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart_n";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart0: power-controller@3d8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart0";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart1: power-controller@3e0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart1";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart2: power-controller@3e8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart2";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart3: power-controller@3f0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart3";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart4: power-controller@3f8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3f8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart4";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart5: power-controller@400 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x400 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart5";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart6: power-controller@408 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x408 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart6";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_dpa0: power-controller@410 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x410 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa0";
+ power-domains = <&ps_dpa_p>;
+ };
+
+ ps_dpa1: power-controller@418 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x418 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa1";
+ power-domains = <&ps_dpa_p>;
+ };
+
+ ps_atc0_cio_usb: power-controller@420 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x420 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio_usb";
+ power-domains = <&ps_atc0_cio>;
+ };
+
+ ps_atc1_common: power-controller@428 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x428 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_common";
+ };
+
+ ps_atc1_pcie: power-controller@430 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x430 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_pcie";
+ power-domains = <&ps_atc1_common>;
+ };
+
+ ps_atc1_cio: power-controller@438 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x438 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio";
+ power-domains = <&ps_atc1_common>;
+ };
+
+ ps_atc1_cio_pcie: power-controller@440 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x440 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio_pcie";
+ power-domains = <&ps_atc1_cio>;
+ };
+
+ ps_atc1_cio_usb: power-controller@448 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x448 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio_usb";
+ power-domains = <&ps_atc1_cio>;
+ };
+
+ ps_atc2_common: power-controller@450 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x450 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_common";
+ };
+
+ ps_atc2_pcie: power-controller@458 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x458 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_pcie";
+ power-domains = <&ps_atc2_common>;
+ };
+
+ ps_atc2_cio: power-controller@460 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x460 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio";
+ power-domains = <&ps_atc2_common>;
+ };
+
+ ps_atc2_cio_pcie: power-controller@468 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x468 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio_pcie";
+ power-domains = <&ps_atc2_cio>;
+ };
+
+ ps_dpa2: power-controller@470 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x470 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa2";
+ power-domains = <&ps_dpa_p>;
+ };
+
+ ps_atc2_cio_usb: power-controller@478 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x478 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio_usb";
+ power-domains = <&ps_atc2_cio>;
+ };
+
+ ps_atc3_common: power-controller@480 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x480 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_common";
+ };
+
+ ps_pmp: power-controller@488 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x488 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pmp";
+ apple,always-on;
+ };
+
+ ps_pms_sram: power-controller@490 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x490 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_sram";
+ apple,always-on;
+ };
+
+ ps_atc3_pcie: power-controller@498 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x498 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_pcie";
+ power-domains = <&ps_atc3_common>;
+ };
+
+ ps_atc3_cio: power-controller@4a0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio";
+ power-domains = <&ps_atc3_common>;
+ };
+
+ ps_dpa3: power-controller@4a8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa3";
+ power-domains = <&ps_dpa_p>;
+ };
+
+ ps_atc3_cio_pcie: power-controller@4b0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio_pcie";
+ power-domains = <&ps_atc3_cio>;
+ };
+
+ ps_atc3_cio_usb: power-controller@4b8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio_usb";
+ power-domains = <&ps_atc3_cio>;
+ };
+
+ ps_dpa4: power-controller@4c0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa4";
+ power-domains = <&ps_dpa_p>;
+ };
+
+ ps_apcie_gp: power-controller@4d0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_gp";
+ };
+
+ ps_apcie_sys_gp: power-controller@4d8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_sys_gp";
+ power-domains = <&ps_apcie_gp>;
+ };
+
+ ps_dispext1_sys: power-controller@4e0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_sys";
+ };
+
+ ps_dispext1_fe: power-controller@4e8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_fe";
+ power-domains = <&ps_dispext1_sys>;
+ };
+
+ ps_dispext1_cpu: power-controller@4f0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_cpu";
+ power-domains = <&ps_dispext1_fe>;
+
+ status = "disabled"; /* Locked, don't touch it */
+ };
+
+ ps_ans: power-controller@538 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x538 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ans";
+ apple,always-on; /* Device reboots after 3-5 mintues if disabled */
+ };
+
+ ps_apcie_st: power-controller@540 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x540 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_st";
+ power-domains = <&ps_ans>;
+ };
+
+ ps_apcie_sys_st: power-controller@548 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x548 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_sys_st";
+ power-domains = <&ps_ans>, <&ps_apcie_st>;
+ };
+
+ ps_apcie_phy_sw: power-controller@550 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x550 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_phy_sw";
+ power-domains = <&ps_apcie_sys_st>, <&ps_apcie_sys_gp>;
+ };
+
+ ps_msr: power-controller@560 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x560 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msr";
+ };
+
+ ps_msr_ase_core: power-controller@568 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x568 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msr_ase_core";
+ power-domains = <&ps_msr>;
+ };
+
+ ps_ane_sys: power-controller@570 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x570 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_sys";
+ };
+
+ ps_jpg: power-controller@578 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x578 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "jpg";
+ };
+
+ ps_avd_sys: power-controller@580 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x580 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "avd_sys";
+ };
+
+ ps_sep: power-controller@c00 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc00 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sep";
+ apple,always-on;
+ };
+
+ ps_venc_dma: power-controller@8000 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_dma";
+ power-domains = <&ps_venc_sys>;
+ };
+
+ ps_venc_pipe4: power-controller@8008 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8008 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_pipe4";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_pipe5: power-controller@8010 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8010 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_pipe5";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_me0: power-controller@8018 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8018 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_me0";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_me1: power-controller@8020 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8020 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_me1";
+ power-domains = <&ps_venc_me0>;
+ };
+
+ ps_ane_mpm: power-controller@c000 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_mpm";
+ power-domains = <&ps_ane_sys>;
+ };
+
+ ps_ane_cpu: power-controller@c008 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc008 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_cpu";
+ power-domains = <&ps_ane_sys>;
+ };
+
+ ps_ane_td: power-controller@c010 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc010 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_td";
+ power-domains = <&ps_ane_sys>;
+ };
+
+ ps_ane_base: power-controller@c018 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc018 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_base";
+ power-domains = <&ps_ane_td>;
+ };
+
+ ps_disp_cpu: power-controller@10000 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x10000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_cpu";
+ power-domains = <&ps_disp_fe>;
+
+ status = "disabled"; /* Locked, don't touch it */
+ };
+};
+
+&pmgr_mini {
+ ps_debug_gated: power-controller@0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "debug_gated";
+ apple,always-on;
+ };
+
+ ps_nub_spmi0: power-controller@58 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x58 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi0";
+ apple,always-on;
+ };
+
+ ps_nub_spmi1: power-controller@60 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x60 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi1";
+ apple,always-on;
+ };
+
+ ps_nub_spmi_a0: power-controller@68 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x68 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi_a0";
+ apple,always-on;
+ };
+
+ ps_nub_spmi_a1: power-controller@70 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x70 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi_a1";
+ apple,always-on;
+ };
+
+ ps_nub_spi0: power-controller@80 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x80 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spi0";
+ apple,always-on;
+ };
+
+ ps_nub_ocla: power-controller@88 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x88 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_ocla";
+ apple,always-on;
+ };
+
+ ps_nub_gpio: power-controller@90 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x90 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_gpio";
+ apple,always-on;
+ };
+
+ ps_nub_sram: power-controller@a0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xa0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_sram";
+ apple,always-on;
+ };
+
+ ps_debug_switch: power-controller@a8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xa8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "debug_switch";
+ apple,always-on;
+ };
+
+ ps_atc0_usb_aon: power-controller@b0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xb0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_usb_aon";
+ };
+
+ ps_atc1_usb_aon: power-controller@b8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xb8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_usb_aon";
+ };
+
+ ps_atc0_usb: power-controller@c0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_usb";
+ power-domains = <&ps_atc0_common>, <&ps_atc0_usb_aon>;
+ };
+
+ ps_atc1_usb: power-controller@c8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_usb";
+ power-domains = <&ps_atc1_common>, <&ps_atc1_usb_aon>;
+ };
+
+ ps_atc2_usb_aon: power-controller@d0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xd0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_usb_aon";
+ };
+
+ ps_atc3_usb_aon: power-controller@d8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xd8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_usb_aon";
+ };
+
+ ps_atc2_usb: power-controller@e0 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xe0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_usb";
+ power-domains = <&ps_atc2_common>, <&ps_atc2_usb_aon>;
+ };
+
+ ps_atc3_usb: power-controller@e8 {
+ compatible = "apple,t8132-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xe8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_usb";
+ power-domains = <&ps_atc3_common>, <&ps_atc3_usb_aon>;
+ };
+};
diff --git a/arch/arm64/boot/dts/apple/t8132.dtsi b/arch/arm64/boot/dts/apple/t8132.dtsi
new file mode 100644
index 000000000000..6df6ccdda90e
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t8132.dtsi
@@ -0,0 +1,447 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T8132 "M4" SoC
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ compatible = "apple,t8132", "apple,arm-platform";
+
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu_e0>;
+ };
+ core1 {
+ cpu = <&cpu_e1>;
+ };
+ core2 {
+ cpu = <&cpu_e2>;
+ };
+ core3 {
+ cpu = <&cpu_e3>;
+ };
+ core4 {
+ cpu = <&cpu_e4>;
+ };
+ core5 {
+ cpu = <&cpu_e5>;
+ };
+ };
+
+ cluster1 {
+ core0 {
+ cpu = <&cpu_p0>;
+ };
+ core1 {
+ cpu = <&cpu_p1>;
+ };
+ core2 {
+ cpu = <&cpu_p2>;
+ };
+ core3 {
+ cpu = <&cpu_p3>;
+ };
+ };
+ };
+
+ cpu_e0: cpu@0 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x0>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_e1: cpu@1 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x1>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_e2: cpu@2 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x2>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_e3: cpu@3 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x3>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_e4: cpu@4 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x4>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_e5: cpu@5 {
+ compatible = "apple,donan-e";
+ device_type = "cpu";
+ reg = <0x0 0x5>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_0>;
+ };
+
+ cpu_p0: cpu@10100 {
+ compatible = "apple,donan-p";
+ device_type = "cpu";
+ reg = <0x0 0x10100>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_1>;
+ };
+
+ cpu_p1: cpu@10101 {
+ compatible = "apple,donan-p";
+ device_type = "cpu";
+ reg = <0x0 0x10101>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_1>;
+ };
+
+ cpu_p2: cpu@10102 {
+ compatible = "apple,donan-p";
+ device_type = "cpu";
+ reg = <0x0 0x10102>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_1>;
+ };
+
+ cpu_p3: cpu@10103 {
+ compatible = "apple,donan-p";
+ device_type = "cpu";
+ reg = <0x0 0x10103>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>;
+ next-level-cache = <&l2_cache_1>;
+ };
+
+ l2_cache_0: l2-cache-0 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x400000>;
+ };
+
+ l2_cache_1: l2-cache-1 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x1000000>;
+ };
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ soc: soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ranges;
+ nonposted-mmio;
+
+ pmgr: power-management@380700000 {
+ compatible = "apple,t8132-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x3 0x80700000 0 0x14000>;
+ /* child nodes are added in t8132-pmgr.dtsi */
+ };
+
+ aic: interrupt-controller@381000000 {
+ compatible = "apple,t8132-aic3", "apple,t8122-aic3";
+ #interrupt-cells = <3>;
+ interrupt-controller;
+ reg = <0x3 0x81000000 0x0 0x1cc000>,
+ <0x3 0x81040000 0x0 0x4000>;
+ reg-names = "core", "event";
+ power-domains = <&ps_aic>;
+
+ affinities {
+ e-core-pmu-affinity {
+ apple,fiq-index = <AIC_CPU_PMU_E>;
+ cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3 &cpu_e4 &cpu_e5>;
+ };
+
+ p-core-pmu-affinity {
+ apple,fiq-index = <AIC_CPU_PMU_P>;
+ cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
+ };
+ };
+ };
+
+ pmgr_mini: power-management@388280000 {
+ compatible = "apple,t8132-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x3 0x88280000 0 0x4000>;
+ /* child nodes are added in t8132-pmgr.dtsi */
+ };
+
+ wdt: watchdog@3882b0000 {
+ compatible = "apple,t8132-wdt", "apple,t8103-wdt";
+ reg = <0x3 0x882b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 507 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_nub: pinctrl@3881f0000 {
+ compatible = "apple,t8132-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x881f0000 0x0 0x4000>;
+ power-domains = <&ps_nub_gpio>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_nub 0 0 32>;
+ apple,npins = <32>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 499 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 500 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 501 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 503 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 504 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 505 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_smc: pinctrl@38c820000 {
+ compatible = "apple,t8132-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x8c820000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_smc 0 0 18>;
+ apple,npins = <18>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 552 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 553 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 554 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 555 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 556 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 557 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 558 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@390824000 {
+ compatible = "apple,t8132-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x90824000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_aop 0 0 57>;
+ apple,npins = <57>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 423 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 424 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 425 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 426 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 427 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 428 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 429 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_ap: pinctrl@39a000000 {
+ compatible = "apple,t8132-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x9a000000 0x0 0x100000>;
+ power-domains = <&ps_gpio>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 224>;
+ apple,npins = <224>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 303 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 304 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 305 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 306 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 307 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 308 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 309 IRQ_TYPE_LEVEL_HIGH>;
+
+ i2c0_pins: i2c0-pins {
+ pinmux = <APPLE_PINMUX(104, 1)>,
+ <APPLE_PINMUX(103, 1)>;
+ };
+
+ i2c1_pins: i2c1-pins {
+ pinmux = <APPLE_PINMUX(106, 1)>,
+ <APPLE_PINMUX(105, 1)>;
+ };
+
+ i2c2_pins: i2c2-pins {
+ pinmux = <APPLE_PINMUX(44, 1)>,
+ <APPLE_PINMUX(43, 1)>;
+ };
+
+ i2c3_pins: i2c3-pins {
+ pinmux = <APPLE_PINMUX(42, 1)>,
+ <APPLE_PINMUX(41, 1)>;
+ };
+
+ i2c4_pins: i2c4-pins {
+ pinmux = <APPLE_PINMUX(108, 1)>,
+ <APPLE_PINMUX(107, 1)>;
+ };
+ };
+
+ i2c0: i2c@3ad010000 {
+ compatible = "apple,t8132-i2c", "apple,t8103-i2c";
+ reg = <0x3 0xad010000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1062 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c0_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c0>;
+
+ status = "disabled";
+ };
+
+ i2c1: i2c@3ad014000 {
+ compatible = "apple,t8132-i2c", "apple,t8103-i2c";
+ reg = <0x3 0xad014000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1063 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c1_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c1>;
+
+ status = "disabled";
+ };
+
+ i2c2: i2c@3ad018000 {
+ compatible = "apple,t8132-i2c", "apple,t8103-i2c";
+ reg = <0x3 0xad018000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1064 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c2_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c2>;
+
+ status = "disabled";
+ };
+
+ i2c3: i2c@3ad01c000 {
+ compatible = "apple,t8132-i2c", "apple,t8103-i2c";
+ reg = <0x3 0xad01c000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1065 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c3_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c3>;
+
+ status = "disabled";
+ };
+
+ i2c4: i2c@3ad020000 {
+ compatible = "apple,t8132-i2c", "apple,t8103-i2c";
+ reg = <0x3 0xad020000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1066 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c4_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c4>;
+
+ status = "disabled";
+ };
+
+ fpwm1: pwm@3ad044000 {
+ compatible = "apple,t8132-fpwm", "apple,s5l-fpwm";
+ reg = <0x3 0xad044000 0x0 0x4000>;
+ power-domains = <&ps_fpwm1>;
+ clocks = <&clkref>;
+ #pwm-cells = <2>;
+
+ status = "disabled";
+ };
+
+ serial0: serial@3ad200000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x3 0xad200000 0x0 0x1000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 1046 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ power-domains = <&ps_uart0>;
+
+ status = "disabled";
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+};
+
+#include "t8132-pmgr.dtsi"
--
2.55.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-08-01 21:41 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-01 21:40 [PATCH v2 0/9] Initial Apple Silicon M4 device trees and dt-bindings Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 1/9] dt-bindings: arm: cpus: Add Apple M4 CPU core compatibles Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 2/9] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8132 compatible Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 3/9] dt-bindings: arm: apple: apple,pmgr: Add t8132 compatible Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 4/9] dt-bindings: power: apple,pmgr-pwrstate: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 5/9] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 6/9] dt-bindings: i2c: apple,i2c: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 7/9] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 8/9] dt-bindings: arm: apple: Add M4 based devices Yureka Lilian
2026-08-01 21:40 ` [PATCH v2 9/9] arm64: dts: apple: Add minimal t8132 (M4) device trees Yureka Lilian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox