Devicetree
 help / color / mirror / Atom feed
* [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings
@ 2026-10-10 16:59 Yureka Lilian
  2026-10-10 16:59 ` [PATCH 01/10] dt-bindings: watchdog: apple,wdt: Add t6041 compatible Yureka Lilian
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian, Florian Klink

Hi,

This series adds initial device trees and dt-bindings for the Apple
Silicon devices using the M4 Pro/Max (t6040/t6041) SoCs.

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.

The dt-bindings changes should be mostly boring (in a good way!). The
device trees themselves are roughly organized into the MacBook Pro
models on one side (t604x-j614-j616) and the Mac mini and Mac Studio on
the other side (t604x-j575-j773). I'm hoping to re-use these dtsi files
for the M5 Pro/Max versions of these machines in the future.
I applied some version of dt-check-style formatting to all new files
with the exception of the generated pmgr nodes.

Merge strategy:
Since there are no actual driver changes, we'd prefer to merge the
dt-bindings changes through the apple-soc tree once Acked by the
respective maintainers.

Thanks,

Yureka

Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
Yureka Lilian (10):
      dt-bindings: watchdog: apple,wdt: Add t6041 compatible
      dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible
      dt-bindings: arm: cpus: Add Apple M4 Pro/Max CPU core compatibles
      dt-bindings: arm: power: apple,pmgr-pwrstate: Add t6041 compatible
      dt-bindings: arm: apple: apple,pmgr: Add t6041 compatible
      dt-bindings: pwm: apple,s5l-fpwm: Add t6041 compatible
      dt-bindings: pinctrl: apple,pinctrl: Add t6041 compatible
      dt-bindings: i2c: apple,i2c: Add t6041 compatible
      dt-bindings: arm: apple: Add M4 Pro/Max based devices
      arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees

 Documentation/devicetree/bindings/arm/apple.yaml   |   26 +
 .../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  |    3 +
 .../devicetree/bindings/pinctrl/apple,pinctrl.yaml |    1 +
 .../bindings/power/apple,pmgr-pwrstate.yaml        |    1 +
 .../devicetree/bindings/pwm/apple,s5l-fpwm.yaml    |    1 +
 .../devicetree/bindings/watchdog/apple,wdt.yaml    |    1 +
 arch/arm64/boot/dts/apple/Makefile                 |    6 +
 arch/arm64/boot/dts/apple/t6040-j614s.dts          |   24 +
 arch/arm64/boot/dts/apple/t6040-j616s.dts          |   24 +
 arch/arm64/boot/dts/apple/t6040-j773s.dts          |   28 +
 arch/arm64/boot/dts/apple/t6040.dtsi               |   65 +
 arch/arm64/boot/dts/apple/t6041-j575c.dts          |   22 +
 arch/arm64/boot/dts/apple/t6041-j614c.dts          |   18 +
 arch/arm64/boot/dts/apple/t6041-j616c.dts          |   18 +
 arch/arm64/boot/dts/apple/t6041-pmgr.dtsi          | 2297 ++++++++++++++++++++
 arch/arm64/boot/dts/apple/t6041.dtsi               |  713 ++++++
 arch/arm64/boot/dts/apple/t604x-j575-j773.dtsi     |   47 +
 arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi     |   65 +
 21 files changed, 3364 insertions(+)
---
base-commit: a8ac6027e82415f431bbba49ab535c44f2edaf4d
change-id: 20261009-apple-m4-pro-max-initial-devicetrees-c3b23fa7a88e

Best regards,
--  
Yureka Lilian <yureka@cyberchaos.dev>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 01/10] dt-bindings: watchdog: apple,wdt: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The watchdog on the Apple t604x (M4 Pro/Max) SoCs is compatible with the
M1-M4 SoCs. Add "apple,t6041-wdt" as SoC specific compatible.

Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
 Documentation/devicetree/bindings/watchdog/apple,wdt.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
index ca4cf01db59f..bf785bc3cd4f 100644
--- a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
@@ -20,6 +20,7 @@ properties:
               - apple,t6020-wdt
               - apple,t6030-wdt
               - apple,t6031-wdt
+              - apple,t6041-wdt
               - apple,t8122-wdt
               - apple,t8132-wdt
           - const: apple,t8103-wdt

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
  2026-10-10 16:59 ` [PATCH 01/10] dt-bindings: watchdog: apple,wdt: Add t6041 compatible Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 17:07   ` sashiko-bot
                     ` (2 more replies)
  2026-10-10 16:59 ` [PATCH 03/10] dt-bindings: arm: cpus: Add Apple M4 Pro/Max CPU core compatibles Yureka Lilian
                   ` (7 subsequent siblings)
  9 siblings, 3 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The Apple t604x (M4 Pro/Max) SoCs use an AIC3 as interrupt controller,
same as the previous M3-M4 SoCs.

Acked-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Sven Peter <sven@kernel.org>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
 Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
index e3cadc5ad39d..fa9d89cb40b1 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
@@ -37,6 +37,7 @@ properties:
     oneOf:
       - items:
           - enum:
+              # Do not add additional SoC to this list.
               - apple,t6000-aic
               - apple,t6020-aic
               - apple,t8112-aic
@@ -45,6 +46,7 @@ properties:
           - enum:
               - apple,t6030-aic3
               - apple,t6031-aic3
+              - apple,t6041-aic3
               - apple,t8132-aic3
               - apple,t8140-aic3
           - const: apple,t8122-aic3
@@ -134,6 +136,7 @@ allOf:
               - apple,t6000-aic
               - apple,t6020-aic
               - apple,t6031-aic3
+              - apple,t6050-aic3
     then:
       properties:
         '#interrupt-cells':

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 03/10] dt-bindings: arm: cpus: Add Apple M4 Pro/Max CPU core compatibles
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
  2026-10-10 16:59 ` [PATCH 01/10] dt-bindings: watchdog: apple,wdt: Add t6041 compatible Yureka Lilian
  2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 04/10] dt-bindings: arm: power: apple,pmgr-pwrstate: Add t6041 compatible Yureka Lilian
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

Add "apple,brava-e" and "apple,brava-p" compatibles for the M4 Pro/Max
efficiency and performance CPU cores respectively. As with the base M4
cores, there is no longer a generational codename, so we assign the core
compatible based on SoC codename ("Brava") plus core type (E-Core /
P-Core).

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 5d79da63301b..aff78fc331c1 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -85,6 +85,8 @@ properties:
           - apm,strega
           - apple,avalanche
           - apple,blizzard
+          - apple,brava-e
+          - apple,brava-p
           - apple,cyclone
           - apple,donan-e
           - apple,donan-p

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 04/10] dt-bindings: arm: power: apple,pmgr-pwrstate: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (2 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 03/10] dt-bindings: arm: cpus: Add Apple M4 Pro/Max CPU core compatibles Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 05/10] dt-bindings: arm: apple: apple,pmgr: " Yureka Lilian
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The device power state management of the PMGR blocks on the Apple
silicon M4 Pro/Max SoCs (t604x) is compatible with the M1-M4 SoCs.
Add "apple,t6041-pmgr-pwrstate" as M4 Pro/Max specific compatible.

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 dcffdd12c8c7..a37a837a4eac 100644
--- a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
+++ b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
@@ -47,6 +47,7 @@ properties:
               - apple,t6020-pmgr-pwrstate
               - apple,t6030-pmgr-pwrstate
               - apple,t6031-pmgr-pwrstate
+              - apple,t6041-pmgr-pwrstate
               - apple,t8122-pmgr-pwrstate
               - apple,t8132-pmgr-pwrstate
               - apple,t8140-pmgr-pwrstate

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 05/10] dt-bindings: arm: apple: apple,pmgr: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (3 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 04/10] dt-bindings: arm: power: apple,pmgr-pwrstate: Add t6041 compatible Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 06/10] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The PMGR blocks on the Apple Silicon M4 Pro/Max SoCs (t604x) are
compatible with the previous M1-M4 SoCs. Add "apple,t6041-pmgr" as M4
Pro/Max specific compatible.

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 bf21a5b3a4ac..3967fcfc1663 100644
--- a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
+++ b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
@@ -40,6 +40,7 @@ properties:
               - apple,t6020-pmgr
               - apple,t6030-pmgr
               - apple,t6031-pmgr
+              - apple,t6041-pmgr
               - apple,t8122-pmgr
               - apple,t8132-pmgr
               - apple,t8140-pmgr

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 06/10] dt-bindings: pwm: apple,s5l-fpwm: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (4 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 05/10] dt-bindings: arm: apple: apple,pmgr: " Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The PWM controller on Apple Silicon M4 Pro/Max SoCs is compatible with
the t8103 (M1) one. Add "apple,t6041-fpwm"as per-SoC compatibles for M4
Pro/Max.

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 ae8baa5f7bcd..48cafd391ca2 100644
--- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
@@ -24,6 +24,7 @@ properties:
           - apple,t6020-fpwm
           - apple,t6030-fpwm
           - apple,t6031-fpwm
+          - apple,t6041-fpwm
       - const: apple,s5l-fpwm
 
   reg:

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (5 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 06/10] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-11 20:23   ` Linus Walleij
  2026-10-12 11:55   ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 08/10] dt-bindings: i2c: apple,i2c: " Yureka Lilian
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The pin controller on the Apple Silicon T604x (M4 Pro/Max) SoCs is
compatible with t8103. Add "apple,t6041-pinctrl" as SoC specific
compatible under "apple,t8103-pinctrl".
---
 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 bc6d41b63b5d..faef287309f8 100644
--- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
@@ -22,6 +22,7 @@ properties:
               - apple,t6020-pinctrl
               - apple,t6030-pinctrl
               - apple,t6031-pinctrl
+              - apple,t6041-pinctrl
               - apple,t8122-pinctrl
               - apple,t8132-pinctrl
           - const: apple,t8103-pinctrl

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 08/10] dt-bindings: i2c: apple,i2c: Add t6041 compatible
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (6 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 16:59 ` [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices Yureka Lilian
  2026-10-10 16:59 ` [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees Yureka Lilian
  9 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

The i2c block on the Apple Silicon T604x (M4 Pro/Max) SoCs is compatible
with t8103. Add "apple,t6041-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 641f24b0ef4b..56bb07a2ec01 100644
--- a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
@@ -26,6 +26,7 @@ properties:
               - apple,t6020-i2c
               - apple,t6030-i2c
               - apple,t6031-i2c
+              - apple,t6041-i2c
               - apple,t8122-i2c
               - apple,t8132-i2c
           - const: apple,t8103-i2c

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (7 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 08/10] dt-bindings: i2c: apple,i2c: " Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 17:12   ` sashiko-bot
  2026-10-10 16:59 ` [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees Yureka Lilian
  9 siblings, 1 reply; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian

These devices were offered with M4 Pro/Max SoCs.
Add the corresponding compatibles:

- MacBook Pro (14-inch, M4 Pro, 2024)
- MacBook Pro (14-inch, M4 Max, 2024)
- MacBook Pro (16-inch, M4 Pro, 2024)
- MacBook Pro (16-inch, M4 Max, 2024)
- Mac mini (M4 Pro, 2024)
- Mac Studio (M4 Max, 2025)

No iMac with M4 Pro/Max SoC was released, and the Mac Pro was not
updated in this generation.

Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
 Documentation/devicetree/bindings/arm/apple.yaml | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index 7c3e7131a5e7..8e55510e44e1 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -144,6 +144,14 @@ description: |
   - MacBook Pro (16-inch, M3 Max, 2023)
   - Mac Studio (M3 Ultra, 2025)
 
+  Devices based on the "M4 Pro" and "M4 Max" SoCs:
+  - MacBook Pro (14-inch, M4 Pro, 2024)
+  - MacBook Pro (14-inch, M4 Max, 2024)
+  - MacBook Pro (16-inch, M4 Pro, 2024)
+  - MacBook Pro (16-inch, M4 Max, 2024)
+  - Mac mini (M4 Pro, 2024)
+  - Mac Studio (M4 Max, 2025)
+
   The compatible property should follow this format:
 
   compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
@@ -434,6 +442,24 @@ properties:
           - const: apple,t6032
           - const: apple,arm-platform
 
+      - description: Apple M4 Pro SoC based platforms
+        items:
+          - enum:
+              - apple,j614s # MacBook Pro (14-inch, M4 Pro, 2024)
+              - apple,j616s # MacBook Pro (16-inch, M4 Pro, 2024)
+              - apple,j773s # Mac mini (M4 Pro, 2024)
+          - const: apple,t6040
+          - const: apple,arm-platform
+
+      - description: Apple M4 Max SoC based platforms
+        items:
+          - enum:
+              - apple,j614c # MacBook Pro (14-inch, M4 Max, 2024)
+              - apple,j616c # MacBook Pro (16-inch, M4 Max, 2024)
+              - apple,j575c # Mac Studio (M4 Max, 2025)
+          - const: apple,t6041
+          - const: apple,arm-platform
+
 additionalProperties: true
 
 ...

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees
  2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
                   ` (8 preceding siblings ...)
  2026-10-10 16:59 ` [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices Yureka Lilian
@ 2026-10-10 16:59 ` Yureka Lilian
  2026-10-10 17:09   ` sashiko-bot
  9 siblings, 1 reply; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 16:59 UTC (permalink / raw)
  To: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c, Yureka Lilian, Florian Klink

Added device trees for the following devices:
- apple,j614s - MacBook Pro (14-inch, M4 Pro, 2024)
- apple,j614c - MacBook Pro (14-inch, M4 Max, 2024)
- apple,j616s - MacBook Pro (16-inch, M4 Pro, 2024)
- apple,j616c - MacBook Pro (16-inch, M4 Max, 2024)
- apple,j773s - Mac mini (M4 Pro, 2024)
- apple,j575c - Mac Studio (M4 Max, 2025)

Co-authored-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
---
 arch/arm64/boot/dts/apple/Makefile             |    6 +
 arch/arm64/boot/dts/apple/t6040-j614s.dts      |   24 +
 arch/arm64/boot/dts/apple/t6040-j616s.dts      |   24 +
 arch/arm64/boot/dts/apple/t6040-j773s.dts      |   28 +
 arch/arm64/boot/dts/apple/t6040.dtsi           |   65 +
 arch/arm64/boot/dts/apple/t6041-j575c.dts      |   22 +
 arch/arm64/boot/dts/apple/t6041-j614c.dts      |   18 +
 arch/arm64/boot/dts/apple/t6041-j616c.dts      |   18 +
 arch/arm64/boot/dts/apple/t6041-pmgr.dtsi      | 2297 ++++++++++++++++++++++++
 arch/arm64/boot/dts/apple/t6041.dtsi           |  713 ++++++++
 arch/arm64/boot/dts/apple/t604x-j575-j773.dtsi |   47 +
 arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi |   65 +
 12 files changed, 3327 insertions(+)

diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index 4f31beeb11ac..12fc777405b3 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -94,6 +94,12 @@ dtb-$(CONFIG_ARCH_APPLE) += t6031-j516c.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6032-j575d.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6034-j514m.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t6034-j516m.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6040-j773s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6040-j614s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6040-j616s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6041-j575c.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6041-j614c.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6041-j616c.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j413.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j415.dtb
 dtb-$(CONFIG_ARCH_APPLE) += t8112-j473.dtb
diff --git a/arch/arm64/boot/dts/apple/t6040-j614s.dts b/arch/arm64/boot/dts/apple/t6040-j614s.dts
new file mode 100644
index 000000000000..591947269355
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6040-j614s.dts
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (14-inch, M4 Pro, 2024)
+ *
+ * target-type: J614s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6040.dtsi"
+#include "t604x-j614-j616.dtsi"
+
+/ {
+	model = "Apple MacBook Pro (14-inch, M4 Pro, 2024)";
+	compatible = "apple,j614s", "apple,t6040", "apple,arm-platform";
+};
+
+/* Delete power domains not present on M4 Pro MacBook Pro models */
+
+/delete-node/ &ps_dispext2_cpu;
+/delete-node/ &ps_dispext2_fe;
+/delete-node/ &ps_dispext2_sys;
diff --git a/arch/arm64/boot/dts/apple/t6040-j616s.dts b/arch/arm64/boot/dts/apple/t6040-j616s.dts
new file mode 100644
index 000000000000..1fcabb44b1f3
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6040-j616s.dts
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (16-inch, M4 Pro, 2024)
+ *
+ * target-type: J616s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6040.dtsi"
+#include "t604x-j614-j616.dtsi"
+
+/ {
+	model = "Apple MacBook Pro (16-inch, M4 Pro, 2024)";
+	compatible = "apple,j616s", "apple,t6040", "apple,arm-platform";
+};
+
+/* Delete power domains not present on M4 Pro MacBook Pro models */
+
+/delete-node/ &ps_dispext2_cpu;
+/delete-node/ &ps_dispext2_fe;
+/delete-node/ &ps_dispext2_sys;
diff --git a/arch/arm64/boot/dts/apple/t6040-j773s.dts b/arch/arm64/boot/dts/apple/t6040-j773s.dts
new file mode 100644
index 000000000000..751c29f60d9c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6040-j773s.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Mac mini (M4 Pro, 2024)
+ *
+ * target-type: J773s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6040.dtsi"
+#include "t604x-j575-j773.dtsi"
+
+/ {
+	model = "Apple Mac mini (M4 Pro, 2024)";
+	compatible = "apple,j773s", "apple,t6040", "apple,arm-platform";
+};
+
+&framebuffer0 {
+	power-domains = <&ps_dispext0_cpu>;
+};
+
+/* Delete power domains not present on Mac mini */
+
+/delete-node/ &ps_disp_cpu;
+/delete-node/ &ps_disp_fe;
+/delete-node/ &ps_disp_sys;
diff --git a/arch/arm64/boot/dts/apple/t6040.dtsi b/arch/arm64/boot/dts/apple/t6040.dtsi
new file mode 100644
index 000000000000..685b8337178c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6040.dtsi
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T6040 "M4 Pro" SoC
+ *
+ * This chip is just a cut down version of t6041, so
+ * include it and disable the missing parts.
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include "t6041.dtsi"
+
+/ {
+	compatible = "apple,t6040", "apple,arm-platform";
+};
+
+// Memory channels not present on M4 Pro
+/delete-node/ &ps_amcc16;
+/delete-node/ &ps_dcs_16;
+/delete-node/ &ps_amcc17;
+/delete-node/ &ps_dcs_17;
+/delete-node/ &ps_amcc18;
+/delete-node/ &ps_dcs_18;
+/delete-node/ &ps_amcc19;
+/delete-node/ &ps_dcs_19;
+/delete-node/ &ps_amcc20;
+/delete-node/ &ps_dcs_20;
+/delete-node/ &ps_amcc21;
+/delete-node/ &ps_dcs_21;
+/delete-node/ &ps_amcc22;
+/delete-node/ &ps_dcs_22;
+/delete-node/ &ps_amcc23;
+/delete-node/ &ps_dcs_23;
+/delete-node/ &ps_amcc24;
+/delete-node/ &ps_dcs_24;
+/delete-node/ &ps_amcc25;
+/delete-node/ &ps_dcs_25;
+/delete-node/ &ps_amcc26;
+/delete-node/ &ps_dcs_26;
+/delete-node/ &ps_amcc27;
+/delete-node/ &ps_dcs_27;
+/delete-node/ &ps_amcc28;
+/delete-node/ &ps_dcs_28;
+/delete-node/ &ps_amcc29;
+/delete-node/ &ps_dcs_29;
+/delete-node/ &ps_amcc30;
+/delete-node/ &ps_dcs_30;
+/delete-node/ &ps_amcc31;
+/delete-node/ &ps_dcs_31;
+
+/*
+ * Depending on the model (Mac mini or MacBook), disp or dispext2 is used for
+ * the third supported monitor
+ */
+/delete-node/ &ps_dispext3_cpu;
+/delete-node/ &ps_dispext3_fe;
+/delete-node/ &ps_dispext3_sys;
+/delete-node/ &ps_msr1;
+/delete-node/ &ps_msr1_ase_core;
+/delete-node/ &ps_venc1_dma;
+/delete-node/ &ps_venc1_me0;
+/delete-node/ &ps_venc1_me1;
+/delete-node/ &ps_venc1_pipe4;
+/delete-node/ &ps_venc1_pipe5;
+/delete-node/ &ps_venc1_sys;
diff --git a/arch/arm64/boot/dts/apple/t6041-j575c.dts b/arch/arm64/boot/dts/apple/t6041-j575c.dts
new file mode 100644
index 000000000000..0bd50072e463
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6041-j575c.dts
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Mac Studio (M4 Max, 2025)
+ *
+ * target-type: J575c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6041.dtsi"
+#include "t604x-j575-j773.dtsi"
+
+/ {
+	model = "Apple Mac Studio (M4 Max, 2025)";
+	compatible = "apple,j575c", "apple,t6041", "apple,arm-platform";
+};
+
+&framebuffer0 {
+	power-domains = <&ps_disp_cpu>;
+};
diff --git a/arch/arm64/boot/dts/apple/t6041-j614c.dts b/arch/arm64/boot/dts/apple/t6041-j614c.dts
new file mode 100644
index 000000000000..2083cf97b091
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6041-j614c.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (14-inch, M4 Max, 2024)
+ *
+ * target-type: J614c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6041.dtsi"
+#include "t604x-j614-j616.dtsi"
+
+/ {
+	model = "Apple MacBook Pro (14-inch, M4 Max, 2024)";
+	compatible = "apple,j614c", "apple,t6041", "apple,arm-platform";
+};
diff --git a/arch/arm64/boot/dts/apple/t6041-j616c.dts b/arch/arm64/boot/dts/apple/t6041-j616c.dts
new file mode 100644
index 000000000000..7cdd4f097b39
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6041-j616c.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple MacBook Pro (16-inch, M4 Max, 2024)
+ *
+ * target-type: J616c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6041.dtsi"
+#include "t604x-j614-j616.dtsi"
+
+/ {
+	model = "Apple MacBook Pro (16-inch, M4 Max, 2024)";
+	compatible = "apple,j616c", "apple,t6041", "apple,arm-platform";
+};
diff --git a/arch/arm64/boot/dts/apple/t6041-pmgr.dtsi b/arch/arm64/boot/dts/apple/t6041-pmgr.dtsi
new file mode 100644
index 000000000000..7da82f8a036b
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6041-pmgr.dtsi
@@ -0,0 +1,2297 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * PMGR Power domains for Apple T604x "M4 Pro/Max" SoC
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+&pmgr_gfx {
+	ps_gpx: power-controller@0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x0 4>;
+		label = "gpx";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_afr: power-controller@100 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x100 4>;
+		label = "afr";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_gfx: power-controller@110 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x110 4>;
+		label = "gfx";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afr>;
+		#reset-cells = <0>;
+	};
+};
+
+&pmgr {
+	ps_ispsens0: power-controller@0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x0 4>;
+		label = "ispsens0";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_gp: power-controller@100 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x100 4>;
+		label = "apcie_gp";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_st0: power-controller@108 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x108 4>;
+		label = "apcie_st0";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_st1: power-controller@110 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x110 4>;
+		label = "apcie_st1";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab3_soc: power-controller@118 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x118 4>;
+		label = "fab3_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_sio: power-controller@120 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x120 4>;
+		label = "sio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab3_soc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fab4_soc: power-controller@128 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x128 4>;
+		label = "fab4_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_sio_cpu: power-controller@130 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x130 4>;
+		label = "sio_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fpwm0: power-controller@138 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x138 4>;
+		label = "fpwm0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_fpwm1: power-controller@140 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x140 4>;
+		label = "fpwm1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_fpwm2: power-controller@148 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x148 4>;
+		label = "fpwm2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c0: power-controller@150 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x150 4>;
+		label = "i2c0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c1: power-controller@158 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x158 4>;
+		label = "i2c1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c2: power-controller@160 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x160 4>;
+		label = "i2c2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c3: power-controller@168 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x168 4>;
+		label = "i2c3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c4: power-controller@170 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x170 4>;
+		label = "i2c4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c5: power-controller@178 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x178 4>;
+		label = "i2c5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c6: power-controller@180 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x180 4>;
+		label = "i2c6";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c7: power-controller@188 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x188 4>;
+		label = "i2c7";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_i2c8: power-controller@190 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x190 4>;
+		label = "i2c8";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi_p: power-controller@198 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x198 4>;
+		label = "spi_p";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart_p: power-controller@1a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1a0 4>;
+		label = "uart_p";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa_p: power-controller@1a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1a8 4>;
+		label = "dpa_p";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_aes: power-controller@1b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1b0 4>;
+		label = "aes";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sio>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_spi0: power-controller@1b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1b8 4>;
+		label = "spi0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi1: power-controller@1c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1c0 4>;
+		label = "spi1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi2: power-controller@1c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1c8 4>;
+		label = "spi2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi3: power-controller@1d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1d0 4>;
+		label = "spi3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi4: power-controller@1d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1d8 4>;
+		label = "spi4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_spi5: power-controller@1e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1e0 4>;
+		label = "spi5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_qspi: power-controller@1e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1e8 4>;
+		label = "qspi";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_spi_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart_n: power-controller@1f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1f0 4>;
+		label = "uart_n";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart0: power-controller@1f8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1f8 4>;
+		label = "uart0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart1: power-controller@200 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x200 4>;
+		label = "uart1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart2: power-controller@208 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x208 4>;
+		label = "uart2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart3: power-controller@210 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x210 4>;
+		label = "uart3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart4: power-controller@218 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x218 4>;
+		label = "uart4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart5: power-controller@220 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x220 4>;
+		label = "uart5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_uart6: power-controller@228 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x228 4>;
+		label = "uart6";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_uart_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa0: power-controller@230 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x230 4>;
+		label = "dpa0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dpa_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa1: power-controller@238 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x238 4>;
+		label = "dpa1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dpa_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa2: power-controller@240 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x240 4>;
+		label = "dpa2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dpa_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa3: power-controller@248 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x248 4>;
+		label = "dpa3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dpa_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_dpa4: power-controller@250 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x250 4>;
+		label = "dpa4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dpa_p>;
+		#reset-cells = <0>;
+	};
+
+	ps_disp_sys: power-controller@258 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x258 4>;
+		label = "disp_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab6_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_amcc4: power-controller@260 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x260 4>;
+		label = "amcc4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc5: power-controller@268 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x268 4>;
+		label = "amcc5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc6: power-controller@270 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x270 4>;
+		label = "amcc6";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc7: power-controller@278 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x278 4>;
+		label = "amcc7";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc12: power-controller@280 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x280 4>;
+		label = "amcc12";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc13: power-controller@288 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x288 4>;
+		label = "amcc13";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc14: power-controller@290 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x290 4>;
+		label = "amcc14";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc15: power-controller@298 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x298 4>;
+		label = "amcc15";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc20: power-controller@2a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2a0 4>;
+		label = "amcc20";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc21: power-controller@2a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2a8 4>;
+		label = "amcc21";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc22: power-controller@2b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2b0 4>;
+		label = "amcc22";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc23: power-controller@2b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2b8 4>;
+		label = "amcc23";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc28: power-controller@2c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2c0 4>;
+		label = "amcc28";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc29: power-controller@2c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2c8 4>;
+		label = "amcc29";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc30: power-controller@2d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2d0 4>;
+		label = "amcc30";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc31: power-controller@2d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2d8 4>;
+		label = "amcc31";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_04: power-controller@2e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2e0 4>;
+		label = "dcs_04";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc4>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_05: power-controller@2e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2e8 4>;
+		label = "dcs_05";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc5>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_06: power-controller@2f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2f0 4>;
+		label = "dcs_06";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc6>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_07: power-controller@2f8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2f8 4>;
+		label = "dcs_07";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc7>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_12: power-controller@300 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x300 4>;
+		label = "dcs_12";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc12>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_13: power-controller@308 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x308 4>;
+		label = "dcs_13";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc13>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_14: power-controller@310 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x310 4>;
+		label = "dcs_14";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc14>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_15: power-controller@318 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x318 4>;
+		label = "dcs_15";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc15>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_20: power-controller@320 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x320 4>;
+		label = "dcs_20";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc20>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_21: power-controller@328 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x328 4>;
+		label = "dcs_21";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc21>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_22: power-controller@330 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x330 4>;
+		label = "dcs_22";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc22>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_23: power-controller@338 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x338 4>;
+		label = "dcs_23";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc23>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_28: power-controller@340 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x340 4>;
+		label = "dcs_28";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc28>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_29: power-controller@348 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x348 4>;
+		label = "dcs_29";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc29>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_30: power-controller@350 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x350 4>;
+		label = "dcs_30";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc30>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_31: power-controller@358 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x358 4>;
+		label = "dcs_31";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc31>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_disp_fe: power-controller@368 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x368 4>;
+		label = "disp_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_disp_sys>;
+		#reset-cells = <0>;
+		apple,min-state = <4>;
+	};
+
+	ps_ans: power-controller@370 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x370 4>;
+		label = "ans";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab3_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_isp_sys: power-controller@378 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x378 4>;
+		label = "isp_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab6_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_sys_st0: power-controller@380 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x380 4>;
+		label = "apcie_sys_st0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ans>, <&ps_apcie_st0>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_sys_st1: power-controller@388 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x388 4>;
+		label = "apcie_sys_st1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ans>, <&ps_apcie_st1>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_sys_gp: power-controller@390 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x390 4>;
+		label = "apcie_sys_gp";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab3_soc>, <&ps_apcie_gp>;
+		#reset-cells = <0>;
+	};
+
+	ps_apcie_phy_sw: power-controller@398 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x398 4>;
+		label = "apcie_phy_sw";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_apcie_sys_st0>, <&ps_apcie_sys_st1>;
+		#reset-cells = <0>;
+	};
+
+	ps_jpg: power-controller@3a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3a0 4>;
+		label = "jpg";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab4_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_prores: power-controller@3a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3a8 4>;
+		label = "prores";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab6_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_msr1: power-controller@3b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3b0 4>;
+		label = "msr1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab6_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_msr1_ase_core: power-controller@3b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3b8 4>;
+		label = "msr1_ase_core";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_msr1>;
+		#reset-cells = <0>;
+	};
+
+	ps_ane_sys: power-controller@3c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3c0 4>;
+		label = "ane_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab5_soc>, <&ps_fab4_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_sep: power-controller@c00 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc00 4>;
+		label = "sep";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab3_soc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_isp_cpu: power-controller@4000 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4000 4>;
+		label = "isp_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_isp_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_isp_fe: power-controller@4008 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4008 4>;
+		label = "isp_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_isp_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_ane_mpm: power-controller@c000 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc000 4>;
+		label = "ane_mpm";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ane_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_ane_cpu: power-controller@c008 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc008 4>;
+		label = "ane_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ane_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_ane_td: power-controller@c010 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc010 4>;
+		label = "ane_td";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ane_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_ane_base: power-controller@c018 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc018 4>;
+		label = "ane_base";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_ane_td>;
+		#reset-cells = <0>;
+	};
+
+	ps_disp_cpu: power-controller@10000 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x10000 4>;
+		label = "disp_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_disp_fe>;
+		#reset-cells = <0>;
+
+		status = "disabled"; /* Locked, don't touch */
+	};
+};
+
+&pmgr1 {
+	ps_pms: power-controller@100 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x100 4>;
+		label = "pms";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dwi: power-controller@108 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x108 4>;
+		label = "dwi";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_afi: power-controller@110 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x110 4>;
+		label = "afi";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_aic: power-controller@118 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x118 4>;
+		label = "aic";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_pmc: power-controller@120 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x120 4>;
+		label = "pmc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_pms_c1ppt: power-controller@128 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x128 4>;
+		label = "pms_c1ppt";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_soc_dpe: power-controller@130 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x130 4>;
+		label = "soc_dpe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_pmgr_soc_ocla: power-controller@138 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x138 4>;
+		label = "pmgr_soc_ocla";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_pms_fpwm0: power-controller@140 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x140 4>;
+		label = "pms_fpwm0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+	};
+
+	ps_pms_fpwm1: power-controller@148 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x148 4>;
+		label = "pms_fpwm1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+	};
+
+	ps_pms_fpwm2: power-controller@150 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x150 4>;
+		label = "pms_fpwm2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+	};
+
+	ps_pms_fpwm3: power-controller@158 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x158 4>;
+		label = "pms_fpwm3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+	};
+
+	ps_pms_fpwm4: power-controller@160 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x160 4>;
+		label = "pms_fpwm4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab0_soc: power-controller@168 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x168 4>;
+		label = "fab0_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_avd_sys: power-controller@170 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x170 4>;
+		label = "avd_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab0_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_afc: power-controller@178 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x178 4>;
+		label = "afc";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc0: power-controller@180 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x180 4>;
+		label = "amcc0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_00: power-controller@188 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x188 4>;
+		label = "dcs_00";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_rom: power-controller@190 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x190 4>;
+		label = "rom";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc0>;
+		#reset-cells = <0>;
+	};
+
+	ps_amcc1: power-controller@198 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x198 4>;
+		label = "amcc1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_01: power-controller@1a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1a0 4>;
+		label = "dcs_01";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc1>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc2: power-controller@1a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1a8 4>;
+		label = "amcc2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_02: power-controller@1b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1b0 4>;
+		label = "dcs_02";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc2>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc3: power-controller@1b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1b8 4>;
+		label = "amcc3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_03: power-controller@1c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1c0 4>;
+		label = "dcs_03";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc3>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc8: power-controller@1c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1c8 4>;
+		label = "amcc8";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_08: power-controller@1d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1d0 4>;
+		label = "dcs_08";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc8>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc9: power-controller@1d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1d8 4>;
+		label = "amcc9";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_09: power-controller@1e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1e0 4>;
+		label = "dcs_09";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc9>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc10: power-controller@1e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1e8 4>;
+		label = "amcc10";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_10: power-controller@1f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1f0 4>;
+		label = "dcs_10";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc10>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc11: power-controller@1f8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x1f8 4>;
+		label = "amcc11";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_11: power-controller@200 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x200 4>;
+		label = "dcs_11";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc11>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc16: power-controller@208 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x208 4>;
+		label = "amcc16";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_16: power-controller@210 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x210 4>;
+		label = "dcs_16";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc16>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc17: power-controller@218 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x218 4>;
+		label = "amcc17";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_17: power-controller@220 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x220 4>;
+		label = "dcs_17";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc17>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc18: power-controller@228 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x228 4>;
+		label = "amcc18";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_18: power-controller@230 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x230 4>;
+		label = "dcs_18";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc18>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc19: power-controller@238 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x238 4>;
+		label = "amcc19";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_19: power-controller@240 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x240 4>;
+		label = "dcs_19";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc19>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc24: power-controller@248 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x248 4>;
+		label = "amcc24";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_24: power-controller@250 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x250 4>;
+		label = "dcs_24";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc24>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc25: power-controller@258 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x258 4>;
+		label = "amcc25";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_25: power-controller@260 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x260 4>;
+		label = "dcs_25";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc25>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_amcc26: power-controller@268 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x268 4>;
+		label = "amcc26";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dcs_26: power-controller@270 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x270 4>;
+		label = "dcs_26";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc26>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_venc0_sys: power-controller@278 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x278 4>;
+		label = "venc0_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab0_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_amcc27: power-controller@280 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x280 4>;
+		label = "amcc27";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fab_gw_0: power-controller@288 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x288 4>;
+		label = "fab_gw_0";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fab_gw_1: power-controller@290 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x290 4>;
+		label = "fab_gw_1";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fab_afr: power-controller@298 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x298 4>;
+		label = "fab_afr";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_venc1_sys: power-controller@2a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2a0 4>;
+		label = "venc1_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab0_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc1_dma: power-controller@2a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2a8 4>;
+		label = "venc1_dma";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc1_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc1_pipe4: power-controller@2b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2b0 4>;
+		label = "venc1_pipe4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc1_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc1_pipe5: power-controller@2b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2b8 4>;
+		label = "venc1_pipe5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc1_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc1_me0: power-controller@2c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2c0 4>;
+		label = "venc1_me0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc1_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc1_me1: power-controller@2c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2c8 4>;
+		label = "venc1_me1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc1_me0>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab1_soc: power-controller@2d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2d0 4>;
+		label = "fab1_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dispext3_sys: power-controller@2d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2d8 4>;
+		label = "dispext3_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab1_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext3_fe: power-controller@2e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2e0 4>;
+		label = "dispext3_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext3_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext3_cpu: power-controller@2e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x2e8 4>;
+		label = "dispext3_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext3_fe>;
+		#reset-cells = <0>;
+
+		status = "disabled"; /* Locked, don't touch */
+	};
+
+	ps_scodec: power-controller@328 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x328 4>;
+		label = "scodec";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab1_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_scodec_streaming: power-controller@330 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x330 4>;
+		label = "scodec_streaming";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_scodec>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab2_soc: power-controller@338 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x338 4>;
+		label = "fab2_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dispext0_sys: power-controller@340 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x340 4>;
+		label = "dispext0_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab2_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext0_fe: power-controller@348 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x348 4>;
+		label = "dispext0_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext0_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext0_cpu: power-controller@350 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x350 4>;
+		label = "dispext0_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext0_fe>;
+		#reset-cells = <0>;
+
+		status = "disabled"; /* Locked, don't touch */
+	};
+
+	ps_atc0_common: power-controller@390 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x390 4>;
+		label = "atc0_common";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab2_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc0_cio: power-controller@398 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x398 4>;
+		label = "atc0_cio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc0_pcie: power-controller@3a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3a0 4>;
+		label = "atc0_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc0_cio_pcie: power-controller@3a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3a8 4>;
+		label = "atc0_cio_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc0_cio_usb: power-controller@3b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3b0 4>;
+		label = "atc0_cio_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_common: power-controller@3b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3b8 4>;
+		label = "atc1_common";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab2_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_cio: power-controller@3c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3c0 4>;
+		label = "atc1_cio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_pcie: power-controller@3c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3c8 4>;
+		label = "atc1_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_cio_pcie: power-controller@3d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3d0 4>;
+		label = "atc1_cio_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_cio_usb: power-controller@3d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3d8 4>;
+		label = "atc1_cio_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_common: power-controller@3e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3e0 4>;
+		label = "atc2_common";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab2_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_cio: power-controller@3e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3e8 4>;
+		label = "atc2_cio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_pcie: power-controller@3f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3f0 4>;
+		label = "atc2_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_cio_pcie: power-controller@3f8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x3f8 4>;
+		label = "atc2_cio_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_cio_usb: power-controller@400 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x400 4>;
+		label = "atc2_cio_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_common: power-controller@408 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x408 4>;
+		label = "atc3_common";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab2_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_pmp: power-controller@410 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x410 4>;
+		label = "pmp";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_pms_sram: power-controller@418 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x418 4>;
+		label = "pms_sram";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_pms>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_atc3_cio: power-controller@420 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x420 4>;
+		label = "atc3_cio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_pcie: power-controller@428 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x428 4>;
+		label = "atc3_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_common>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_cio_pcie: power-controller@430 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x430 4>;
+		label = "atc3_cio_pcie";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_cio_usb: power-controller@438 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x438 4>;
+		label = "atc3_cio_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_cio>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab5_soc: power-controller@440 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x440 4>;
+		label = "fab5_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_sbr: power-controller@448 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x448 4>;
+		label = "sbr";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab5_soc>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_gpio: power-controller@450 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x450 4>;
+		label = "gpio";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sbr>;
+		#reset-cells = <0>;
+	};
+
+	ps_msg: power-controller@458 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x458 4>;
+		label = "msg";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sbr>;
+		#reset-cells = <0>;
+	};
+
+	ps_ap_tmm: power-controller@468 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x468 4>;
+		label = "ap_tmm";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_sbr>;
+		#reset-cells = <0>;
+	};
+
+	ps_msr0: power-controller@470 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x470 4>;
+		label = "msr0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab5_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_msr0_ase_core: power-controller@478 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x478 4>;
+		label = "msr0_ase_core";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_msr0>;
+		#reset-cells = <0>;
+	};
+
+	ps_fab6_soc: power-controller@480 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x480 4>;
+		label = "fab6_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_fab7_soc: power-controller@488 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x488 4>;
+		label = "fab7_soc";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_afi>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_dispext1_sys: power-controller@490 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x490 4>;
+		label = "dispext1_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab7_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext1_fe: power-controller@498 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x498 4>;
+		label = "dispext1_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext1_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext1_cpu: power-controller@4a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4a0 4>;
+		label = "dispext1_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext1_fe>;
+		#reset-cells = <0>;
+
+		status = "disabled"; /* Locked, don't touch */
+	};
+
+	ps_dispext2_sys: power-controller@4e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4e0 4>;
+		label = "dispext2_sys";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_fab7_soc>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext2_fe: power-controller@4e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4e8 4>;
+		label = "dispext2_fe";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext2_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_dispext2_cpu: power-controller@4f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x4f0 4>;
+		label = "dispext2_cpu";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_dispext2_fe>;
+		#reset-cells = <0>;
+
+		status = "disabled"; /* Locked, don't touch */
+	};
+
+	ps_dcs_27: power-controller@530 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x530 4>;
+		label = "dcs_27";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_amcc27>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_venc0_dma: power-controller@8000 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x8000 4>;
+		label = "venc0_dma";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc0_sys>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc0_pipe4: power-controller@8008 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x8008 4>;
+		label = "venc0_pipe4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc0_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc0_pipe5: power-controller@8010 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x8010 4>;
+		label = "venc0_pipe5";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc0_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc0_me0: power-controller@8018 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x8018 4>;
+		label = "venc0_me0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc0_dma>;
+		#reset-cells = <0>;
+	};
+
+	ps_venc0_me1: power-controller@8020 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x8020 4>;
+		label = "venc0_me1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_venc0_me0>;
+		#reset-cells = <0>;
+	};
+};
+
+&pmgr_mini {
+	ps_debug_gated: power-controller@0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x0 4>;
+		label = "debug_gated";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi_ahb: power-controller@58 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x58 4>;
+		label = "nub_spmi_ahb";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi0: power-controller@60 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x60 4>;
+		label = "nub_spmi0";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_spmi_ahb>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi_a0: power-controller@68 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x68 4>;
+		label = "nub_spmi_a0";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi_a1: power-controller@70 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x70 4>;
+		label = "nub_spmi_a1";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi_a2: power-controller@78 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x78 4>;
+		label = "nub_spmi_a2";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spi0: power-controller@80 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x80 4>;
+		label = "nub_spi0";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_aon: power-controller@88 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x88 4>;
+		label = "nub_aon";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_gpio: power-controller@90 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x90 4>;
+		label = "nub_gpio";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_ocla: power-controller@98 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x98 4>;
+		label = "nub_ocla";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_atc0_common_dp: power-controller@a0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xa0 4>;
+		label = "atc0_common_dp";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_common_dp: power-controller@a8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xa8 4>;
+		label = "atc1_common_dp";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_common_dp: power-controller@b0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xb0 4>;
+		label = "atc2_common_dp";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_common_dp: power-controller@b8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xb8 4>;
+		label = "atc3_common_dp";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_nub_spmi1: power-controller@c0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc0 4>;
+		label = "nub_spmi1";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_spmi_ahb>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_atc0_usb_aon: power-controller@c8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xc8 4>;
+		label = "atc0_usb_aon";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_usb_aon: power-controller@d0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xd0 4>;
+		label = "atc1_usb_aon";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_usb_aon: power-controller@d8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xd8 4>;
+		label = "atc2_usb_aon";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_usb_aon: power-controller@e0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xe0 4>;
+		label = "atc3_usb_aon";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+	};
+
+	ps_nub_spmi2: power-controller@e8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xe8 4>;
+		label = "nub_spmi2";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_spmi_ahb>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi3: power-controller@f0 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xf0 4>;
+		label = "nub_spmi3";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_spmi_ahb>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_spmi4: power-controller@f8 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0xf8 4>;
+		label = "nub_spmi4";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_spmi_ahb>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_fabric: power-controller@100 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x100 4>;
+		label = "nub_fabric";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_nub_sram: power-controller@108 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x108 4>;
+		label = "nub_sram";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_nub_fabric>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_debug_switch: power-controller@110 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x110 4>;
+		label = "debug_switch";
+		#power-domain-cells = <0>;
+		#reset-cells = <0>;
+		apple,always-on;
+	};
+
+	ps_atc0_usb: power-controller@118 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x118 4>;
+		label = "atc0_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_common>, <&ps_atc0_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_usb: power-controller@120 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x120 4>;
+		label = "atc1_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_common>, <&ps_atc1_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_usb: power-controller@140 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x140 4>;
+		label = "atc2_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_common>, <&ps_atc2_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_usb: power-controller@148 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x148 4>;
+		label = "atc3_usb";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_common>, <&ps_atc3_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc0_phymxwrap: power-controller@150 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x150 4>;
+		label = "atc0_phymxwrap";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc0_common>, <&ps_atc0_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc1_phymxwrap: power-controller@158 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x158 4>;
+		label = "atc1_phymxwrap";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc1_common>, <&ps_atc1_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc2_phymxwrap: power-controller@160 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x160 4>;
+		label = "atc2_phymxwrap";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc2_common>, <&ps_atc2_usb_aon>;
+		#reset-cells = <0>;
+	};
+
+	ps_atc3_phymxwrap: power-controller@168 {
+		compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+		reg = <0x168 4>;
+		label = "atc3_phymxwrap";
+		#power-domain-cells = <0>;
+		power-domains = <&ps_atc3_common>, <&ps_atc3_usb_aon>;
+		#reset-cells = <0>;
+	};
+};
diff --git a/arch/arm64/boot/dts/apple/t6041.dtsi b/arch/arm64/boot/dts/apple/t6041.dtsi
new file mode 100644
index 000000000000..258048167df6
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6041.dtsi
@@ -0,0 +1,713 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T6041 "M4 Max" SoC
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+	compatible = "apple,t6041", "apple,arm-platform";
+
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	aliases {
+	};
+
+	clkref: clock-ref {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <24000000>;
+		clock-output-names = "clkref";
+	};
+
+	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>;
+				};
+			};
+
+			cluster1 {
+				core0 {
+					cpu = <&cpu_p00>;
+				};
+
+				core1 {
+					cpu = <&cpu_p01>;
+				};
+
+				core2 {
+					cpu = <&cpu_p02>;
+				};
+
+				core3 {
+					cpu = <&cpu_p03>;
+				};
+
+				core4 {
+					cpu = <&cpu_p04>;
+				};
+
+				core5 {
+					cpu = <&cpu_p05>;
+				};
+			};
+
+			cluster2 {
+				core0 {
+					cpu = <&cpu_p10>;
+				};
+
+				core1 {
+					cpu = <&cpu_p11>;
+				};
+
+				core2 {
+					cpu = <&cpu_p12>;
+				};
+
+				core3 {
+					cpu = <&cpu_p13>;
+				};
+
+				core4 {
+					cpu = <&cpu_p14>;
+				};
+
+				core5 {
+					cpu = <&cpu_p15>;
+				};
+			};
+		};
+
+		cpu_e0: cpu@0 {
+			device_type = "cpu";
+			compatible = "apple,brava-e";
+			reg = <0x0 0x0>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <10000>;
+			i-cache-size = <20000>;
+			next-level-cache = <&l2_cache_0>;
+		};
+
+		cpu_e1: cpu@1 {
+			device_type = "cpu";
+			compatible = "apple,brava-e";
+			reg = <0x0 0x1>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <10000>;
+			i-cache-size = <20000>;
+			next-level-cache = <&l2_cache_0>;
+		};
+
+		cpu_e2: cpu@2 {
+			device_type = "cpu";
+			compatible = "apple,brava-e";
+			reg = <0x0 0x2>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <10000>;
+			i-cache-size = <20000>;
+			next-level-cache = <&l2_cache_0>;
+		};
+
+		cpu_e3: cpu@3 {
+			device_type = "cpu";
+			compatible = "apple,brava-e";
+			reg = <0x0 0x3>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <10000>;
+			i-cache-size = <20000>;
+			next-level-cache = <&l2_cache_0>;
+		};
+
+		cpu_p00: cpu@10100 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10100>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p01: cpu@10101 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10101>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p02: cpu@10102 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10102>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p03: cpu@10103 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10103>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p04: cpu@10104 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10104>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p05: cpu@10105 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10105>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_1>;
+		};
+
+		cpu_p10: cpu@10200 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10200>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		cpu_p11: cpu@10201 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10201>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		cpu_p12: cpu@10202 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10202>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		cpu_p13: cpu@10203 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10203>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		cpu_p14: cpu@10204 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10204>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		cpu_p15: cpu@10205 {
+			device_type = "cpu";
+			compatible = "apple,brava-p";
+			reg = <0x0 0x10205>;
+			cpu-release-addr = <0 0>; /* To be filled by loader */
+			enable-method = "spin-table";
+
+			d-cache-size = <20000>;
+			i-cache-size = <30000>;
+			next-level-cache = <&l2_cache_2>;
+		};
+
+		l2_cache_0: l2-cache-0 {
+			compatible = "cache";
+			cache-level = <2>;
+			cache-size = <0x400000>;
+			cache-unified;
+		};
+
+		l2_cache_1: l2-cache-1 {
+			compatible = "cache";
+			cache-level = <2>;
+			cache-size = <0x1000000>;
+			cache-unified;
+		};
+
+		l2_cache_2: l2-cache-2 {
+			compatible = "cache";
+			cache-level = <2>;
+			cache-size = <0x1000000>;
+			cache-unified;
+		};
+	};
+
+	soc {
+		compatible = "simple-bus";
+		ranges;
+		#address-cells = <2>;
+		nonposted-mmio;
+		#size-cells = <2>;
+
+		pmgr_gfx: power-management@288e80000 {
+			compatible = "apple,t6041-pmgr", "apple,t8103-pmgr",
+			             "syscon", "simple-mfd";
+			reg = <0x2 0x88e80000 0 0x4000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+		};
+
+		i2c0: i2c@429010000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29010000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1575 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c0_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c0>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c1: i2c@429014000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29014000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1576 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c1_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c1>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c2: i2c@429018000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29018000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1577 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c2_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c2>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c3: i2c@42901c000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x2901c000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1578 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c3_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c3>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c4: i2c@429020000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29020000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1579 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c4_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c4>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c5: i2c@429024000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29024000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1580 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c5_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c5>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c6: i2c@429028000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29028000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1581 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c6_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c6>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c7: i2c@42902c000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x2902c000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1582 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c7_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c7>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		i2c8: i2c@429030000 {
+			compatible = "apple,t6041-i2c", "apple,t8103-i2c";
+			reg = <0x4 0x29030000 0x0 0x4000>;
+
+			#address-cells = <0x1>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1583 IRQ_TYPE_LEVEL_HIGH>;
+			pinctrl-0 = <&i2c8_pins>;
+			pinctrl-names = "default";
+			power-domains = <&ps_i2c8>;
+			#size-cells = <0x0>;
+
+			status = "disabled";
+		};
+
+		fpwm0: pwm@429040000 {
+			compatible = "apple,t6041-fpwm", "apple,s5l-fpwm";
+			reg = <0x4 0x29040000 0x0 0x4000>;
+
+			clocks = <&clkref>;
+			power-domains = <&ps_fpwm0>;
+			#pwm-cells = <2>;
+
+			status = "disabled";
+		};
+
+		serial0: serial@429200000 {
+			compatible = "apple,s5l-uart";
+			reg = <0x4 0x29200000 0x0 0x1000>;
+			/*
+			 * TODO: figure out the clocking properly, there may
+			 * be a third selectable clock.
+			 */
+			clocks = <&clkref>, <&clkref>;
+			clock-names = "uart", "clk_uart_baud0";
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 1559 IRQ_TYPE_LEVEL_HIGH>;
+			power-domains = <&ps_uart0>;
+			reg-io-width = <4>;
+
+			status = "disabled";
+		};
+
+		pmgr: power-management@502280000 {
+			compatible = "apple,t6041-pmgr", "apple,t8103-pmgr",
+			             "syscon", "simple-mfd";
+			reg = <0x5 0x2280000 0 0x14000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+		};
+
+		aic: interrupt-controller@502400000 {
+			compatible = "apple,t6041-aic3", "apple,t8122-aic3";
+			reg = <0x5 0x2400000 0x0 0x184000>,
+			      <0x5 0x2440000 0x0 0x4>;
+			reg-names = "core", "event";
+			#interrupt-cells = <3>;
+			interrupt-controller;
+			power-domains = <&ps_aic>;
+
+			affinities {
+				e-core-pmu-affinity {
+					cpus = <&cpu_e0 &cpu_e1
+					        &cpu_e2 &cpu_e3>;
+					apple,fiq-index = <AIC_CPU_PMU_E>;
+				};
+
+				p-core-pmu-affinity {
+					cpus = <&cpu_p00 &cpu_p01 &cpu_p02
+					        &cpu_p03 &cpu_p04 &cpu_p05
+					        &cpu_p10 &cpu_p11 &cpu_p12
+					        &cpu_p13 &cpu_p14 &cpu_p15>;
+					apple,fiq-index = <AIC_CPU_PMU_P>;
+				};
+			};
+		};
+
+		pmgr1: power-management@502800000 {
+			compatible = "apple,t6041-pmgr", "apple,t8103-pmgr",
+			             "syscon", "simple-mfd";
+			reg = <0x5 0x2800000 0 0xc000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+		};
+
+		pinctrl_nub: pinctrl@5081e4000 {
+			compatible = "apple,t6041-pinctrl",
+			             "apple,t8103-pinctrl";
+			reg = <0x5 0x081e4000 0x0 0x4000>;
+			power-domains = <&ps_nub_gpio>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+			gpio-ranges = <&pinctrl_nub 0 0 61>;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 819 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 820 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 821 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 822 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 823 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 824 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 825 IRQ_TYPE_LEVEL_HIGH>;
+
+			apple,npins = <61>;
+		};
+
+		pmgr_mini: power-management@508300000 {
+			compatible = "apple,t6041-pmgr", "apple,t8103-pmgr",
+			             "syscon", "simple-mfd";
+			reg = <0x5 0x8300000 0 0x4000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+		};
+
+		wdt: watchdog@50836c000 {
+			compatible = "apple,t6041-wdt", "apple,t8103-wdt";
+			reg = <0x5 0x0836c000 0x0 0x4000>;
+			clocks = <&clkref>;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 827 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
+		pinctrl_smc: pinctrl@50c824000 {
+			compatible = "apple,t6041-pinctrl",
+			             "apple,t8103-pinctrl";
+			reg = <0x5 0x0c824000 0x0 0x4000>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+			gpio-ranges = <&pinctrl_smc 0 0 24>;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 985 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 986 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 987 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 988 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 989 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 990 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 991 IRQ_TYPE_LEVEL_HIGH>;
+
+			apple,npins = <24>;
+		};
+
+		pinctrl_aop: pinctrl@510824000 {
+			compatible = "apple,t6041-pinctrl",
+			             "apple,t8103-pinctrl";
+			reg = <0x5 0x10824000 0x0 0x4000>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+			gpio-ranges = <&pinctrl_aop 0 0 85>;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 700 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 703 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 704 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 705 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 706 IRQ_TYPE_LEVEL_HIGH>;
+
+			apple,npins = <85>;
+		};
+
+		pinctrl_ap: pinctrl@51c000000 {
+			compatible = "apple,t6041-pinctrl",
+			             "apple,t8103-pinctrl";
+			reg = <0x5 0x1c000000 0x0 0x100000>;
+			power-domains = <&ps_gpio>;
+
+			#gpio-cells = <2>;
+			gpio-controller;
+			gpio-ranges = <&pinctrl_ap 0 0 200>;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+			interrupt-parent = <&aic>;
+			interrupts = <AIC_IRQ 478 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 479 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 480 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 481 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 482 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 483 IRQ_TYPE_LEVEL_HIGH>,
+			             <AIC_IRQ 484 IRQ_TYPE_LEVEL_HIGH>;
+
+			apple,npins = <200>;
+
+			i2c0_pins: i2c0-pins {
+				pinmux = <APPLE_PINMUX(56, 1)>,
+				         <APPLE_PINMUX(57, 1)>;
+			};
+
+			i2c1_pins: i2c1-pins {
+				pinmux = <APPLE_PINMUX(58, 1)>,
+				         <APPLE_PINMUX(59, 1)>;
+			};
+
+			i2c2_pins: i2c2-pins {
+				pinmux = <APPLE_PINMUX(60, 1)>,
+				         <APPLE_PINMUX(61, 1)>;
+			};
+
+			i2c3_pins: i2c3-pins {
+				pinmux = <APPLE_PINMUX(62, 1)>,
+				         <APPLE_PINMUX(63, 1)>;
+			};
+
+			i2c4_pins: i2c4-pins {
+				pinmux = <APPLE_PINMUX(64, 1)>,
+				         <APPLE_PINMUX(65, 1)>;
+			};
+
+			i2c5_pins: i2c5-pins {
+				pinmux = <APPLE_PINMUX(66, 1)>,
+				         <APPLE_PINMUX(67, 1)>;
+			};
+
+			i2c6_pins: i2c6-pins {
+				pinmux = <APPLE_PINMUX(68, 1)>,
+				         <APPLE_PINMUX(69, 1)>;
+			};
+
+			i2c7_pins: i2c7-pins {
+				pinmux = <APPLE_PINMUX(70, 1)>,
+				         <APPLE_PINMUX(71, 1)>;
+			};
+
+			i2c8_pins: i2c8-pins {
+				pinmux = <APPLE_PINMUX(72, 1)>,
+				         <APPLE_PINMUX(73, 1)>;
+			};
+		};
+	};
+
+	timer {
+		compatible = "arm,armv8-timer";
+		interrupt-parent = <&aic>;
+		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>;
+		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
+	};
+};
+
+#include "t6041-pmgr.dtsi"
diff --git a/arch/arm64/boot/dts/apple/t604x-j575-j773.dtsi b/arch/arm64/boot/dts/apple/t604x-j575-j773.dtsi
new file mode 100644
index 000000000000..57573550cfbb
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t604x-j575-j773.dtsi
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * This file contains the parts common to the M4 Pro Mac mini (J773s)
+ * and M4 Max Mac Studio (J575c).
+ *
+ * target-type: J575c / J773s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/ {
+	chassis-type = "desktop";
+
+	aliases {
+		serial0 = &serial0;
+	};
+
+	chosen {
+		ranges;
+		#address-cells = <2>;
+		#size-cells = <2>;
+
+		stdout-path = "serial0";
+
+		framebuffer0: framebuffer@0 {
+			compatible = "apple,simple-framebuffer",
+			             "simple-framebuffer";
+			reg = <0 0 0 0>; /* To be filled by loader */
+			/* Format properties will be added by loader */
+
+			status = "disabled";
+		};
+	};
+
+	memory@10000000000 {
+		device_type = "memory";
+		reg = <0x100 0 0x2 0>; /* To be filled by loader */
+	};
+};
+
+&serial0 {
+	status = "okay";
+};
+
+/delete-node/ &ps_isp_cpu;
+/delete-node/ &ps_isp_fe;
+/delete-node/ &ps_isp_sys;
diff --git a/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi b/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi
new file mode 100644
index 000000000000..a64797518eae
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t604x-j614-j616.dtsi
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14/16-inch, 2024)
+ *
+ * This file contains the parts common to J614 and J616 devices with both
+ * M4 Pro and M4 Max.
+ *
+ * target-type: J614s / J614c / J616s / J616c
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include <dt-bindings/leds/common.h>
+
+/ {
+	chassis-type = "laptop";
+
+	aliases {
+		serial0 = &serial0;
+	};
+
+	chosen {
+		ranges;
+		#address-cells = <2>;
+		#size-cells = <2>;
+
+		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>;
+			/* Format properties will be added by loader */
+
+			status = "disabled";
+		};
+	};
+
+	led-controller {
+		compatible = "pwm-leds";
+
+		led-0 {
+			color = <LED_COLOR_ID_WHITE>;
+			default-state = "keep";
+			function = LED_FUNCTION_KBD_BACKLIGHT;
+			label = "kbd_backlight";
+			max-brightness = <255>;
+			pwms = <&fpwm0 0 40000>;
+		};
+	};
+
+	memory@10000000000 {
+		device_type = "memory";
+		reg = <0x100 0 0x2 0>; /* To be filled by loader */
+	};
+};
+
+&fpwm0 {
+	status = "okay";
+};
+
+&serial0 {
+	status = "okay";
+};

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible
  2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
@ 2026-10-10 17:07   ` sashiko-bot
  2026-10-10 17:11   ` Yureka Lilian
  2026-10-10 17:16   ` Yureka Lilian
  2 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-10-10 17:07 UTC (permalink / raw)
  To: Yureka Lilian; +Cc: conor+dt, robh, linux-gpio, devicetree, linux-watchdog

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dt-bindings: missing apple,t6041-aic3 in conditional block and t6050-aic3 typo
- [Low] dt-bindings: aic2: apple,t6050-aic3 missing from properties compatible list
--

commit a6480c7857c24d9e74933b42107084ffbaf70be7
Author: Yureka Lilian <yureka@cyberchaos.dev>

dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible

The Apple t604x (M4 Pro/Max) SoCs use an AIC3 as interrupt controller,
same as the previous M3-M4 SoCs.

> diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> index e3cadc5ad39d5..fa9d89cb40b1b 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> @@ -45,6 +46,7 @@ properties:
>            - enum:
>                - apple,t6030-aic3
>                - apple,t6031-aic3
> +              - apple,t6041-aic3

[Severity: Medium]
This compatible string is correctly introduced here, but it appears to be
missing from the allOf conditional block at the end of the file.

Because apple,t6041-aic3 is missing from the conditional block, schema
validation for valid M4 Max device trees (which specify 4 interrupt cells)
will fall through to the else branch and incorrectly require 3 interrupt
cells.

Will this cause make dt_binding_check and make dtbs_check validation
errors for valid device trees?

>                - apple,t8132-aic3
>                - apple,t8140-aic3
>            - const: apple,t8122-aic3

[ ... ]

> @@ -134,6 +136,7 @@ allOf:
>                - apple,t6000-aic
>                - apple,t6020-aic
>                - apple,t6031-aic3
> +              - apple,t6050-aic3

[Severity: Low]
The string apple,t6050-aic3 is added to this conditional block (which
enforces 4 interrupt cells), but it is omitted from the top-level
properties: compatible list above. 

Is this a typo for apple,t6041-aic3?

Because apple,t6050-aic3 is not declared in the top-level list, its
presence here is dead schema code, and any future device tree using it
will fail schema validation.

>      then:
>        properties:
>          '#interrupt-cells':

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261010-apple-m4-pro-max-initial-devicetrees-v1-0-781fb3f2d9f6@cyberchaos.dev?part=2

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees
  2026-10-10 16:59 ` [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees Yureka Lilian
@ 2026-10-10 17:09   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-10-10 17:09 UTC (permalink / raw)
  To: Yureka Lilian; +Cc: linux-watchdog, linux-gpio, robh, conor+dt, devicetree

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] dts: Apple desktop Mac devices reference disabled simple-framebuffer power domains
- [Medium] dts: CPU cache sizes lack 0x prefix, causing them to be incorrectly parsed as decimal
- [Low] kbuild: Makefile entries for new dtbs are not sorted alphabetically
--

commit 12545a49c68dd3594dd8e8ff795d304076ce814b
Author: Yureka Lilian <yureka@cyberchaos.dev>

arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees

This commit adds device trees for various Apple M4 Pro and M4 Max
MacBook Pro, Mac mini, and Mac Studio models. It defines the SoC
characteristics, CPU topology, power management controllers, and
framebuffer settings.

> diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
> index 4f31beeb11ac4..12fc777405b3f 100644
> --- a/arch/arm64/boot/dts/apple/Makefile
> +++ b/arch/arm64/boot/dts/apple/Makefile
> @@ -94,6 +94,12 @@ dtb-$(CONFIG_ARCH_APPLE) += t6031-j516c.dtb
>  dtb-$(CONFIG_ARCH_APPLE) += t6032-j575d.dtb
>  dtb-$(CONFIG_ARCH_APPLE) += t6034-j514m.dtb
>  dtb-$(CONFIG_ARCH_APPLE) += t6034-j516m.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t6040-j773s.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t6040-j614s.dtb
> +dtb-$(CONFIG_ARCH_APPLE) += t6040-j616s.dtb

[Severity: Low]
This isn't a bug, but device tree Makefile entries are typically kept in
alphabetical order.

Could these entries be resorted so that j614s and j616s come before j773s?

[ ... ]

> diff --git a/arch/arm64/boot/dts/apple/t6040-j773s.dts b/arch/arm64/boot/dts/apple/t6040-j773s.dts
> new file mode 100644
> index 0000000000000..751c29f60d9cf
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t6040-j773s.dts
[ ... ]
> +/ {
> +	model = "Apple Mac mini (M4 Pro, 2024)";
> +	compatible = "apple,j773s", "apple,t6040", "apple,arm-platform";
> +};
> +
> +&framebuffer0 {
> +	power-domains = <&ps_dispext0_cpu>;
> +};

[Severity: High]
Can this cause the simple-framebuffer driver probe to fail indefinitely?

The ps_dispext0_cpu power domain provider is explicitly marked with
status = "disabled" in t6041-pmgr.dtsi because it is managed by firmware.
The generic power domain framework will refuse to bind to a disabled
provider, leaving the system with no visible console output.

Should this use an enabled frontend domain like &ps_dispext0_fe instead?

[ ... ]

> diff --git a/arch/arm64/boot/dts/apple/t6041-j575c.dts b/arch/arm64/boot/dts/apple/t6041-j575c.dts
> new file mode 100644
> index 0000000000000..0bd50072e463b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t6041-j575c.dts
[ ... ]
> +/ {
> +	model = "Apple Mac Studio (M4 Max, 2025)";
> +	compatible = "apple,j575c", "apple,t6041", "apple,arm-platform";
> +};
> +
> +&framebuffer0 {
> +	power-domains = <&ps_disp_cpu>;
> +};

[Severity: High]
Similarly, can this prevent the framebuffer from working on the Mac Studio?

The ps_disp_cpu domain is also disabled in t6041-pmgr.dtsi. Using an
enabled domain like &ps_disp_fe might be needed here to avoid the screen
staying black.

[ ... ]

> diff --git a/arch/arm64/boot/dts/apple/t6041.dtsi b/arch/arm64/boot/dts/apple/t6041.dtsi
> new file mode 100644
> index 0000000000000..258048167df63
> --- /dev/null
> +++ b/arch/arm64/boot/dts/apple/t6041.dtsi
[ ... ]
> +		cpu_e0: cpu@0 {
> +			device_type = "cpu";
> +			compatible = "apple,brava-e";
> +			reg = <0x0 0x0>;
> +			cpu-release-addr = <0 0>; /* To be filled by loader */
> +			enable-method = "spin-table";
> +
> +			d-cache-size = <10000>;
> +			i-cache-size = <20000>;
> +			next-level-cache = <&l2_cache_0>;
> +		};

[Severity: Medium]
Are these cache sizes intended to be parsed as decimal integers?

Without the 0x prefix, the device tree compiler reads these as exactly
10,000 bytes and 20,000 bytes. This will cause incorrect reporting of the
cache topology to userspace and could lead to suboptimal scheduling or
memory access patterns.

Should these be prefixed with 0x (e.g. <0x10000>) to represent 64 KB and
128 KB respectively?

[ ... ]

> +		cpu_p00: cpu@10100 {
> +			device_type = "cpu";
> +			compatible = "apple,brava-p";
> +			reg = <0x0 0x10100>;
> +			cpu-release-addr = <0 0>; /* To be filled by loader */
> +			enable-method = "spin-table";
> +
> +			d-cache-size = <20000>;
> +			i-cache-size = <30000>;
> +			next-level-cache = <&l2_cache_1>;
> +		};

[Severity: Medium]
Similar to the efficiency cores above, do these performance core cache sizes
need a 0x prefix to be parsed correctly as 128 KB and 192 KB?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261010-apple-m4-pro-max-initial-devicetrees-v1-0-781fb3f2d9f6@cyberchaos.dev?part=10

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible
  2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
  2026-10-10 17:07   ` sashiko-bot
@ 2026-10-10 17:11   ` Yureka Lilian
  2026-10-10 17:16   ` Yureka Lilian
  2 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 17:11 UTC (permalink / raw)
  To: Yureka Lilian, Sven Peter, Janne Grunau, Neal Gompa,
	Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi,
	Hector Martin, Uwe Kleine-König, Sasha Finkelstein,
	Linus Walleij, Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c

On 10/10/26 18:59, Yureka Lilian wrote:
> The Apple t604x (M4 Pro/Max) SoCs use an AIC3 as interrupt controller,
> same as the previous M3-M4 SoCs.
>
> Acked-by: Rob Herring (Arm) <robh@kernel.org>
> Reviewed-by: Sven Peter <sven@kernel.org>
> Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
> ---
>   Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> index e3cadc5ad39d..fa9d89cb40b1 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> @@ -37,6 +37,7 @@ properties:
>       oneOf:
>         - items:
>             - enum:
> +              # Do not add additional SoC to this list.
>                 - apple,t6000-aic
>                 - apple,t6020-aic
>                 - apple,t8112-aic
> @@ -45,6 +46,7 @@ properties:
>             - enum:
>                 - apple,t6030-aic3
>                 - apple,t6031-aic3
> +              - apple,t6041-aic3
>                 - apple,t8132-aic3
>                 - apple,t8140-aic3
>             - const: apple,t8122-aic3
> @@ -134,6 +136,7 @@ allOf:
>                 - apple,t6000-aic
>                 - apple,t6020-aic
>                 - apple,t6031-aic3
> +              - apple,t6050-aic3

As noted by Sashiko, this hunk does not belong in this commit. However, 
apple,t6041-aic3 is intentionally not listed here, as there are no 
multi-die t604x SoCs.

>       then:
>         properties:
>           '#interrupt-cells':
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices
  2026-10-10 16:59 ` [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices Yureka Lilian
@ 2026-10-10 17:12   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-10-10 17:12 UTC (permalink / raw)
  To: Yureka Lilian; +Cc: linux-watchdog, robh, conor+dt, devicetree, linux-gpio

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] dt-bindings: missing blank line before M4 Pro/Max list in description
- [Low] dt-bindings: orphaned t6050-aic3 compatible in aic2 schema
--

commit fae2108ff5a60b40ae253b364d3bc3ad16bac012
Author: Yureka Lilian <yureka@cyberchaos.dev>

dt-bindings: arm: apple: Add M4 Pro/Max based devices

This commit adds device tree compatibles for the M4 Pro and M4 Max
based MacBook Pro, Mac mini, and Mac Studio devices. It updates the
top-level device listing and defines the required matching properties
for these platforms.

> diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
> --- a/Documentation/devicetree/bindings/arm/apple.yaml
> +++ b/Documentation/devicetree/bindings/arm/apple.yaml
> @@ -144,6 +144,14 @@ description: |
>    - MacBook Pro (16-inch, M3 Max, 2023)
>    - Mac Studio (M3 Ultra, 2025)
>  
> +  Devices based on the "M4 Pro" and "M4 Max" SoCs:

[Severity: Low]
Is there a missing blank line before this heading?

Most prior generation entries in this description block separate the
generation heading and device list with a blank line for readability.
Adding a blank line before this heading would keep the text formatting
consistent.

> +  - MacBook Pro (14-inch, M4 Pro, 2024)
> +  - MacBook Pro (14-inch, M4 Max, 2024)

[ ... ]

> diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> @@ -134,6 +136,7 @@ allOf:
>                - apple,t6000-aic
>                - apple,t6020-aic
>                - apple,t6031-aic3
> +              - apple,t6050-aic3
>      then:
>        properties:

[Severity: Low]
Does this compatible string also need to be in the top-level enum list?

This compatible string was added to the conditional block here in an earlier
commit in this series, but it appears to be completely missing from the
top-level properties:compatible enum definition.

Any device tree attempting to use apple,t6050-aic3 will fail schema
validation at the top-level compatible check, which makes this condition
effectively dead code.

While t6041-aic3 correctly uses 3 interrupt cells and does not belong in this
4-cell branch, the apple,t6050-aic3 string added here has no matching
top-level enum. Should it be added to the top-level list, or was this string
included here by mistake?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261010-apple-m4-pro-max-initial-devicetrees-v1-0-781fb3f2d9f6@cyberchaos.dev?part=9

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: Add t6041 compatible
  2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
  2026-10-10 17:07   ` sashiko-bot
  2026-10-10 17:11   ` Yureka Lilian
@ 2026-10-10 17:16   ` Yureka Lilian
  2 siblings, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-10 17:16 UTC (permalink / raw)
  To: Yureka Lilian, Sven Peter, Janne Grunau, Neal Gompa,
	Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi,
	Hector Martin, Uwe Kleine-König, Sasha Finkelstein,
	Linus Walleij, Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, linux-watchdog, devicetree, linux-kernel,
	linux-pwm, linux-gpio, linux-i2c

On 10/10/26 18:59, Yureka Lilian wrote:
> The Apple t604x (M4 Pro/Max) SoCs use an AIC3 as interrupt controller,
> same as the previous M3-M4 SoCs.
>
> Acked-by: Rob Herring (Arm) <robh@kernel.org>
> Reviewed-by: Sven Peter <sven@kernel.org>
> Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>

Apologies, the Acked-by and Reviewed-by were wrongly copy & pasted from 
a previous commit. This commit was NOT acked or reviewed by anyone. I 
had noticed this a few days before but somehow ended up sending out the 
wrong version :/

> ---
>   Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> index e3cadc5ad39d..fa9d89cb40b1 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
> @@ -37,6 +37,7 @@ properties:
>       oneOf:
>         - items:
>             - enum:
> +              # Do not add additional SoC to this list.
>                 - apple,t6000-aic
>                 - apple,t6020-aic
>                 - apple,t8112-aic
> @@ -45,6 +46,7 @@ properties:
>             - enum:
>                 - apple,t6030-aic3
>                 - apple,t6031-aic3
> +              - apple,t6041-aic3
>                 - apple,t8132-aic3
>                 - apple,t8140-aic3
>             - const: apple,t8122-aic3
> @@ -134,6 +136,7 @@ allOf:
>                 - apple,t6000-aic
>                 - apple,t6020-aic
>                 - apple,t6031-aic3
> +              - apple,t6050-aic3
>       then:
>         properties:
>           '#interrupt-cells':
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: Add t6041 compatible
  2026-10-10 16:59 ` [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
@ 2026-10-11 20:23   ` Linus Walleij
  2026-10-12 11:55   ` Yureka Lilian
  1 sibling, 0 replies; 18+ messages in thread
From: Linus Walleij @ 2026-10-11 20:23 UTC (permalink / raw)
  To: Yureka Lilian
  Cc: Sven Peter, Janne Grunau, Neal Gompa, Wim Van Sebroeck,
	Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Mark Kettenis,
	Andi Shyti, asahi, linux-arm-kernel, linux-watchdog, devicetree,
	linux-kernel, linux-pwm, linux-gpio, linux-i2c

On Sat, Oct 10, 2026 at 7:00 PM Yureka Lilian <yureka@cyberchaos.dev> wrote:

> The pin controller on the Apple Silicon T604x (M4 Pro/Max) SoCs is
> compatible with t8103. Add "apple,t6041-pinctrl" as SoC specific
> compatible under "apple,t8103-pinctrl".

No Signed-off-by?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: Add t6041 compatible
  2026-10-10 16:59 ` [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
  2026-10-11 20:23   ` Linus Walleij
@ 2026-10-12 11:55   ` Yureka Lilian
  1 sibling, 0 replies; 18+ messages in thread
From: Yureka Lilian @ 2026-10-12 11:55 UTC (permalink / raw)
  To: Yureka Lilian, Sven Peter, Janne Grunau, Neal Gompa,
	Wim Van Sebroeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Thomas Gleixner, Radu Rendec, Lorenzo Pieralisi, Hector Martin,
	Uwe Kleine-König, Sasha Finkelstein, Linus Walleij,
	Mark Kettenis, Andi Shyti
  Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-gpio

On 10/10/26 18:59, Yureka Lilian wrote:
> The pin controller on the Apple Silicon T604x (M4 Pro/Max) SoCs is
> compatible with t8103. Add "apple,t6041-pinctrl" as SoC specific
> compatible under "apple,t8103-pinctrl".
> ---
>   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 bc6d41b63b5d..faef287309f8 100644
> --- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
> @@ -22,6 +22,7 @@ properties:
>                 - apple,t6020-pinctrl
>                 - apple,t6030-pinctrl
>                 - apple,t6031-pinctrl
> +              - apple,t6041-pinctrl
>                 - apple,t8122-pinctrl
>                 - apple,t8132-pinctrl
>             - const: apple,t8103-pinctrl

As Linus noted, the sign-off was missing. So here it is:

Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-10-12 11:55 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-10 16:59 [PATCH 00/10] Initial Apple Silicon M4 Pro/Max device trees and dt-bindings Yureka Lilian
2026-10-10 16:59 ` [PATCH 01/10] dt-bindings: watchdog: apple,wdt: Add t6041 compatible Yureka Lilian
2026-10-10 16:59 ` [PATCH 02/10] dt-bindings: interrupt-controller: apple,aic2: " Yureka Lilian
2026-10-10 17:07   ` sashiko-bot
2026-10-10 17:11   ` Yureka Lilian
2026-10-10 17:16   ` Yureka Lilian
2026-10-10 16:59 ` [PATCH 03/10] dt-bindings: arm: cpus: Add Apple M4 Pro/Max CPU core compatibles Yureka Lilian
2026-10-10 16:59 ` [PATCH 04/10] dt-bindings: arm: power: apple,pmgr-pwrstate: Add t6041 compatible Yureka Lilian
2026-10-10 16:59 ` [PATCH 05/10] dt-bindings: arm: apple: apple,pmgr: " Yureka Lilian
2026-10-10 16:59 ` [PATCH 06/10] dt-bindings: pwm: apple,s5l-fpwm: " Yureka Lilian
2026-10-10 16:59 ` [PATCH 07/10] dt-bindings: pinctrl: apple,pinctrl: " Yureka Lilian
2026-10-11 20:23   ` Linus Walleij
2026-10-12 11:55   ` Yureka Lilian
2026-10-10 16:59 ` [PATCH 08/10] dt-bindings: i2c: apple,i2c: " Yureka Lilian
2026-10-10 16:59 ` [PATCH 09/10] dt-bindings: arm: apple: Add M4 Pro/Max based devices Yureka Lilian
2026-10-10 17:12   ` sashiko-bot
2026-10-10 16:59 ` [PATCH 10/10] arm64: dts: apple: Add minimal t604x (M4 Pro/Max) device trees Yureka Lilian
2026-10-10 17:09   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox