* [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees
@ 2026-07-09 7:30 Janne Grunau
2026-07-09 7:30 ` [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) Janne Grunau
` (10 more replies)
0 siblings, 11 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
This series adds device trees for Apple silicon devices with M3 Pro, Max
and Ultra SoCs. The M3 generation has fewer devices than their M1 and M2
predecessors. The only non-laptop device is the M3 Ultra Mac Studio. The
Laptops are the known 14 and 16-inch Macbook Pros now with M3 Pro and
M3 Max SoCs. The M3 Max variant with fewer CPU and GPU cores has
additionally only a 384-bit wide memory bus instead of 512-bit of the
full M3 Max. It has a separate identifier (T6034) and so there are six
laptop device trees.
Another difference to M1 and M2 Pro/Max/Ultra is that the M3 Pro is
distinct SoC design and not a smaller M3 Max. For this reason both M3
Max variants and the M3 Ultra will use "apple,t6030" as compatible
prefix. In the M1 and M2 generations Pro, Max and Ultra SoCs shared
"apple,t6000" / "apple,t6020" as common prefix. There is currently no
known difference but M3 Pro and M3 Max are not as closely related as
previously.
This series adds the same level of hardware as the base M3 (T8122) has
in v7.2-rc1. This includes CPU cores, interrupt controller, power
states, watchdog, serial, pin controller, i2c and the boot framebuffer.
This is intended as base so that support for additional hardware can be
added to all M3 based devices at the same time.
Merge strategy:
Since the dt-binding add new compatible strings without driver changes
it would be preferred if the whole [1] series would be merged through
apple-soc/arm-soc. This will help ensuring a warning free
`make dtbs_check` for followup series with additional M3* hardware
support I hope to send for this cycle.
This series will conflict with the M4 series [3] sent A couple of days
ago. I would prefer if this could be merged first (in order of SoC
release).
[1]: I see that the M4 watchdog change was already picked up by Guenter
in [2]
Link: https://lore.kernel.org/asahi/a03c19ee-cf74-4f26-826d-f2bfb816fb3f@roeck-us.net/ [2]
Link: https://lore.kernel.org/asahi/20260705-apple-m4-initial-devicetrees-v1-0-e5655ee56523@cyberchaos.dev/ [3]
Signed-off-by: Janne Grunau <j@jannau.net>
---
Janne Grunau (11):
dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x)
dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition
dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible
dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles
dt-bindings: power: apple,pmgr-pwrstate: Add t6030 and t6031 compatibles
dt-bindings: watchdog: apple,wdt: Add t6030 and t6031 compatibles
dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles
dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles
dt-bindings: pwm: apple,s5l-fpwm: Add t6030 and t6031 compatibles
arm64: dts: apple: Initial T603[124] (M3 Max and Ultra) device trees
arm64: dts: apple: Initial T6030 (M3 Pro) device trees
Documentation/devicetree/bindings/arm/apple.yaml | 37 +
.../devicetree/bindings/arm/apple/apple,pmgr.yaml | 2 +
.../devicetree/bindings/i2c/apple,i2c.yaml | 2 +
.../bindings/interrupt-controller/apple,aic2.yaml | 10 +-
.../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 2 +
.../bindings/power/apple,pmgr-pwrstate.yaml | 2 +
.../devicetree/bindings/pwm/apple,s5l-fpwm.yaml | 2 +
.../devicetree/bindings/watchdog/apple,wdt.yaml | 2 +
arch/arm64/boot/dts/apple/Makefile | 7 +
arch/arm64/boot/dts/apple/t6030-j514s.dts | 22 +
arch/arm64/boot/dts/apple/t6030-j516s.dts | 22 +
arch/arm64/boot/dts/apple/t6030-pmgr.dtsi | 1437 ++++++++++++
arch/arm64/boot/dts/apple/t6030.dtsi | 524 +++++
arch/arm64/boot/dts/apple/t6031-base.dtsi | 297 +++
arch/arm64/boot/dts/apple/t6031-die0.dtsi | 197 ++
arch/arm64/boot/dts/apple/t6031-dieX.dtsi | 107 +
arch/arm64/boot/dts/apple/t6031-gpio-pins.dtsi | 53 +
arch/arm64/boot/dts/apple/t6031-j514c.dts | 18 +
arch/arm64/boot/dts/apple/t6031-j516c.dts | 18 +
arch/arm64/boot/dts/apple/t6031-pmgr.dtsi | 2400 ++++++++++++++++++++
arch/arm64/boot/dts/apple/t6031.dtsi | 48 +
arch/arm64/boot/dts/apple/t6032-j575d.dts | 46 +
arch/arm64/boot/dts/apple/t6032.dtsi | 419 ++++
arch/arm64/boot/dts/apple/t6034-j514m.dts | 18 +
arch/arm64/boot/dts/apple/t6034-j516m.dts | 18 +
arch/arm64/boot/dts/apple/t6034.dtsi | 12 +
arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi | 67 +
27 files changed, 5785 insertions(+), 4 deletions(-)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260705-apple-t603x-initial-devices-2eeca2d9d25a
Best regards,
--
Janne Grunau <j@jannau.net>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x)
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:47 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition Janne Grunau
` (9 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The M3 Pro, Max and Ultra Apple silicon SoC family (T6030, T6031, T6032
and T6034) differs from its M1 and M2 predecessors. Most notable is that
T6030 (M3 Pro) appears to be a separately designed SoC. MMIO address
spaces, interrupt and pin numbers do not match. It has two CPU clusters
with 6 efficiency or performance cores. T6031 (M3 Max) as one cluster
with 4 effciency cores and two clusters with 6 performance cores each.
T6032 (M3 Ultra) is like in the previous generations two T6031 dies
connected with an high speed interface and appears from operation system
perspective as a single SoC.
T6034 is a separate identifier for smaller M3 Max variant. It has fewer
performance CPU cores (10 instead of 12), fewer GPU cores (30 instead of
40) and less memory controllers (384-bit instead of 512-bit combined
width).
Apple has only released 14- and 16-inch Macbook Pros with T6030, T6031
and T6034 (M3 Pro and Max) and as only desktop device the Mac Studio
with T6032 (M3 Ultra).
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/arm/apple.yaml | 37 ++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml
index e49403c73f9d..111c28d94736 100644
--- a/Documentation/devicetree/bindings/arm/apple.yaml
+++ b/Documentation/devicetree/bindings/arm/apple.yaml
@@ -123,6 +123,14 @@ description: |
- Mac Studio (M2 Ultra, 2023)
- Mac Pro (M2 Ultra, 2023)
+ Devices based on the "M3 Pro", "M3 Max" and "M3 Ultra" SoCs:
+
+ - MacBook Pro (14-inch, M3 Pro, 2023)
+ - MacBook Pro (14-inch, M3 Max, 2023)
+ - MacBook Pro (16-inch, M3 Pro, 2023)
+ - MacBook Pro (16-inch, M3 Max, 2023)
+ - Mac Studio (M3 Ultra, 2025)
+
The compatible property should follow this format:
compatible = "apple,<targettype>", "apple,<socid>", "apple,arm-platform";
@@ -365,6 +373,35 @@ properties:
- const: apple,t6022
- const: apple,arm-platform
+ - description: Apple M3 Pro SoC based platforms
+ items:
+ - enum:
+ - apple,j514s # MacBook Pro (14-inch, M3 Pro, 2023)
+ - apple,j516s # MacBook Pro (16-inch, M3 Pro, 2023)
+ - const: apple,t6030
+ - const: apple,arm-platform
+
+ - description: Apple M3 Max SoC based platforms
+ oneOf:
+ - items:
+ - enum:
+ - apple,j514c # MacBook Pro (14-inch, M3 Max, 16 cores, 2023)
+ - apple,j516c # MacBook Pro (16-inch, M3 Max, 16 cores, 2023)
+ - const: apple,t6031
+ - const: apple,arm-platform
+ - items:
+ - enum:
+ - apple,j514m # MacBook Pro (14-inch, M3 Max, 14 cores, 2023)
+ - apple,j516m # MacBook Pro (16-inch, M3 Max, 14 cores, 2023)
+ - const: apple,t6034
+ - const: apple,arm-platform
+
+ - description: Apple M3 Ultra SoC based platforms
+ items:
+ - const: apple,j575d # Mac Studio (M3 Ultra, 2025)
+ - const: apple,t6032
+ - const: apple,arm-platform
+
additionalProperties: true
...
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
2026-07-09 7:30 ` [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:49 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible Janne Grunau
` (8 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The condition for 3 or 4 #interrupt-cells list compatibles for the 3
cells variant (not used in SoCs consisting out of multiple dies). This
includes the AICv3 base compatible "apple,t8122-aic3". This will match
compatible = "apple,t6031-aic3", "apple,t8122-aic3";
shared for M3 Max and Ultra based devices which require the additional
interrupt cell for the die number.
Instead list the compatibles used for multi-die SoCs explicitly and use
4 #interrupt-cells for them.
Signed-off-by: Janne Grunau <j@jannau.net>
---
.../devicetree/bindings/interrupt-controller/apple,aic2.yaml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
index d0d9a90e96e7..a94787939d34 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
@@ -128,16 +128,16 @@ allOf:
compatible:
contains:
enum:
- - apple,t8112-aic
- - apple,t8122-aic3
+ - apple,t6000-aic
+ - apple,t6020-aic
then:
properties:
'#interrupt-cells':
- const: 3
+ const: 4
else:
properties:
'#interrupt-cells':
- const: 4
+ const: 3
examples:
- |
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
2026-07-09 7:30 ` [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) Janne Grunau
2026-07-09 7:30 ` [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:49 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles Janne Grunau
` (7 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The Apple M3 Max and Ultra SoCs use AICv3 as interrupt controller. It is
compatible to the base M3 AICv3. Add "apple,t6031-aic3" as compatible
and add it to the list for 4 #interrupt-cells used for multi-die SoCs.
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
index a94787939d34..726a6720e05f 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic2.yaml
@@ -44,6 +44,7 @@ properties:
- items:
- enum:
- apple,t6030-aic3
+ - apple,t6031-aic3
- const: apple,t8122-aic3
- const: apple,t8122-aic3
@@ -130,6 +131,7 @@ allOf:
enum:
- apple,t6000-aic
- apple,t6020-aic
+ - apple,t6031-aic3
then:
properties:
'#interrupt-cells':
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (2 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:50 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: " Janne Grunau
` (6 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The block on Apple M3 Pro, Max and Ultra SoCs is compatible with
"apple,t8103-pmgr". Add "apple,t6030-pmgr" and "apple,t6031-pmgr" as
per-SoC compatibles for M3 Pro and M3 Max and Ultra.
---
Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
index c67b67ba065a..1d2001836eb4 100644
--- a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
+++ b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
@@ -38,6 +38,8 @@ properties:
- items:
- enum:
- apple,t6020-pmgr
+ - apple,t6030-pmgr
+ - apple,t6031-pmgr
- apple,t8122-pmgr
- const: apple,t8103-pmgr
- const: syscon
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (3 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 06/11] dt-bindings: watchdog: apple,wdt: " Janne Grunau
` (5 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The pmgr-powerstate registers on Apple M3 Pro, Max and Ultra SoCs are
compatible with "apple,t8103-pmgr-pwrstate". Add
"apple,t6030-pmgr-pwrstate" for M3 Pro and "apple,t6030-pmgr-pwrstate"
for M3 Max and Ultra as per-SoC compatibles.
---
Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
index c9be097cfba0..e269f433524e 100644
--- a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
+++ b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
@@ -45,6 +45,8 @@ properties:
- items:
- enum:
- apple,t6020-pmgr-pwrstate
+ - apple,t6030-pmgr-pwrstate
+ - apple,t6031-pmgr-pwrstate
- apple,t8122-pmgr-pwrstate
- const: apple,t8103-pmgr-pwrstate
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 06/11] dt-bindings: watchdog: apple,wdt: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (4 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: " Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: " Janne Grunau
` (4 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The watchdog on Apple silicon M3 Pro, Max and Ultra SoCs is compatible
with the t8103 (M1) one. Add "apple,t6030-wdt" for M3 Pro and
"apple,t6031-wdt" for M3 Max and Ultra as per-SoC compatibles.
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/watchdog/apple,wdt.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
index 845b5e8b5abc..bef8255022fa 100644
--- a/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
@@ -18,6 +18,8 @@ properties:
- items:
- enum:
- apple,t6020-wdt
+ - apple,t6030-wdt
+ - apple,t6031-wdt
- apple,t8122-wdt
- const: apple,t8103-wdt
- items:
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (5 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 06/11] dt-bindings: watchdog: apple,wdt: " Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-10 19:48 ` Linus Walleij
2026-07-09 7:30 ` [PATCH 08/11] dt-bindings: i2c: apple,i2c: " Janne Grunau
` (3 subsequent siblings)
10 siblings, 2 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The pin controller on Apple silicon M3 Pro, Max and Ultra SoCs is
compatible with the t8103 (M1) one. Add "apple,t6030-pinctrl" for M3 Pro
and "apple,t6031-pinctrl" for M3 Max and Ultra as per-SoC compatibles.
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
index 41073176bc69..f08d2c4f5784 100644
--- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
@@ -20,6 +20,8 @@ properties:
- items:
- enum:
- apple,t6020-pinctrl
+ - apple,t6030-pinctrl
+ - apple,t6031-pinctrl
- apple,t8122-pinctrl
- const: apple,t8103-pinctrl
- items:
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 08/11] dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (6 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: " Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:52 ` Conor Dooley
2026-07-09 23:17 ` Piotr Masłowski
2026-07-09 7:30 ` [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: " Janne Grunau
` (2 subsequent siblings)
10 siblings, 2 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The i2c block on Apple silicon M3 Pro, Max and Ultra SoCs are compatible
with the t8103 (M1) one. Add "apple,t6030-i2c" for M3 Pro and
"apple,t6031-i2c" for M3 Max and Ultra as per-S0C compatibles.
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/i2c/apple,i2c.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
index 9e59200ad37b..d39f5e3f1df4 100644
--- a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
@@ -24,6 +24,8 @@ properties:
- items:
- enum:
- apple,t6020-i2c
+ - apple,t6030-i2c
+ - apple,t6031-i2c
- apple,t8122-i2c
- const: apple,t8103-i2c
- items:
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: Add t6030 and t6031 compatibles
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (7 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 08/11] dt-bindings: i2c: apple,i2c: " Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 17:53 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 11/11] arm64: dts: apple: Initial T6030 (M3 Pro) device trees Janne Grunau
2026-07-09 12:57 ` [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra " Janne Grunau
10 siblings, 1 reply; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
The PWM controller on Apple silicon M3 Pro, Max and Ultra SoCs is
compatible with the t8103 (M1) one. Add "apple,t6030-pinctrl" for M3 Pro
and "apple,t6031-pinctrl" for M3 Max and Ultra as per-SoC compatibles.
Signed-off-by: Janne Grunau <j@jannau.net>
---
Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
index 25ef04b60ca1..dd95037ea5ee 100644
--- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
@@ -21,6 +21,8 @@ properties:
- apple,t8122-fpwm
- apple,t6000-fpwm
- apple,t6020-fpwm
+ - apple,t6030-fpwm
+ - apple,t6031-fpwm
- const: apple,s5l-fpwm
reg:
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 11/11] arm64: dts: apple: Initial T6030 (M3 Pro) device trees
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (8 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: " Janne Grunau
@ 2026-07-09 7:30 ` Janne Grunau
2026-07-09 12:57 ` [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra " Janne Grunau
10 siblings, 0 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 7:30 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm, Janne Grunau
Minimal device trees for the M3 Pro based 14-inch and 16-inch MacBook
Pro released in November 2023. The M3 Pro is a distinct SoC design and
not a cut down version of the Max variant like for M1 and M2 Pro.
The M3 Pro has only a single cluster with up to 6 performance cores and
one cluster with 6 efficiency cores.
While it no longer shares a common SoC .dtsi the devices itself are
still similar to the ones with M3 Max. It is still useful to share the
basic device composition in t603x-j514-j516.dtsi. For the M3 Pro based
devices additional overrides for diverging pin and irq numbers are
expected.
The device trees have devices nodes for CPU cores, timer, interrupt
controller, power states, watchdog, serial, pin controller, i2c,
PWM based keyboard LED illumination and the boot framebuffer.
Signed-off-by: Janne Grunau <j@jannau.net>
---
arch/arm64/boot/dts/apple/Makefile | 2 +
arch/arm64/boot/dts/apple/t6030-j514s.dts | 22 +
arch/arm64/boot/dts/apple/t6030-j516s.dts | 22 +
arch/arm64/boot/dts/apple/t6030-pmgr.dtsi | 1437 +++++++++++++++++++++++++++++
arch/arm64/boot/dts/apple/t6030.dtsi | 524 +++++++++++
5 files changed, 2007 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
index a22b4a8068b6..9fea43f760ec 100644
--- a/arch/arm64/boot/dts/apple/Makefile
+++ b/arch/arm64/boot/dts/apple/Makefile
@@ -87,6 +87,8 @@ dtb-$(CONFIG_ARCH_APPLE) += t6021-j416c.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6020-j474s.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6021-j475c.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6022-j475d.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6030-j514s.dtb
+dtb-$(CONFIG_ARCH_APPLE) += t6030-j516s.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6031-j514c.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6031-j516c.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6032-j575d.dtb
diff --git a/arch/arm64/boot/dts/apple/t6030-j514s.dts b/arch/arm64/boot/dts/apple/t6030-j514s.dts
new file mode 100644
index 000000000000..3ba2c9ca4347
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6030-j514s.dts
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (14-inch, M3 Pro, Nov 2023)
+ *
+ * target-type: J514s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6030.dtsi"
+#include "t603x-j514-j516.dtsi"
+
+/ {
+ compatible = "apple,j514s", "apple,t6030", "apple,arm-platform";
+ model = "Apple MacBook Pro (14-inch, M3 Pro, Nov 2023)";
+};
+
+&framebuffer0 {
+ power-domains = <&ps_disp_cpu>;
+};
diff --git a/arch/arm64/boot/dts/apple/t6030-j516s.dts b/arch/arm64/boot/dts/apple/t6030-j516s.dts
new file mode 100644
index 000000000000..ab07bf7939ab
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6030-j516s.dts
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * MacBook Pro (16-inch, M3 Pro, Nov 2023)
+ *
+ * target-type: J516s
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+/dts-v1/;
+
+#include "t6030.dtsi"
+#include "t603x-j514-j516.dtsi"
+
+/ {
+ compatible = "apple,j516s", "apple,t6030", "apple,arm-platform";
+ model = "Apple MacBook Pro (16-inch, M3 Pro, Nov 2023)";
+};
+
+&framebuffer0 {
+ power-domains = <&ps_disp_cpu>;
+};
diff --git a/arch/arm64/boot/dts/apple/t6030-pmgr.dtsi b/arch/arm64/boot/dts/apple/t6030-pmgr.dtsi
new file mode 100644
index 000000000000..932388ea13c9
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6030-pmgr.dtsi
@@ -0,0 +1,1437 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * PMGR Power domains for Apple T6030 "M3 Pro" SoC
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+&pmgr_gfx {
+ ps_gpx: power-controller@0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "gpx";
+ apple,always-on;
+ };
+
+ ps_afr: power-controller@100 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x100 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "afr";
+ apple,always-on;
+ };
+
+ ps_gfx: power-controller@110 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x110 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "gfx";
+ power-domains = <&ps_gpx>, <&ps_afr>;
+ };
+};
+
+&pmgr {
+ ps_msg: power-controller@108 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x108 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msg";
+ apple,always-on;
+ };
+
+ ps_aic: power-controller@110 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x110 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "aic";
+ };
+
+ ps_dwi: power-controller@118 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x118 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dwi";
+ };
+
+ ps_gpio: power-controller@120 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x120 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "gpio";
+ };
+
+ ps_pms_fpwm0: power-controller@138 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x138 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm0";
+ };
+
+ ps_pms_fpwm1: power-controller@140 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x140 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm1";
+ };
+
+ ps_pms_fpwm2: power-controller@148 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x148 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm2";
+ };
+
+ ps_pms_fpwm3: power-controller@150 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x150 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm3";
+ };
+
+ ps_pms_fpwm4: power-controller@158 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x158 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_fpwm4";
+ };
+
+ ps_pms_c1ppt: power-controller@160 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x160 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_c1ppt";
+ };
+
+ ps_soc_rc: power-controller@168 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x168 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "soc_rc";
+ };
+
+ ps_soc_dpe: power-controller@170 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x170 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "soc_dpe";
+ apple,always-on;
+ };
+
+ ps_pmgr_soc_ocla: power-controller@178 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x178 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pmgr_soc_ocla";
+ };
+
+ ps_ispsens0: power-controller@180 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x180 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ispsens0";
+ };
+
+ ps_aft0: power-controller@190 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x190 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "aft0";
+ };
+
+ ps_ap_tmm: power-controller@1a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ap_tmm";
+ };
+
+ ps_sio: power-controller@1b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sio";
+ };
+
+ ps_disp_sys: power-controller@1c0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_sys";
+ };
+
+ ps_jpg: power-controller@1c8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "jpg";
+ };
+
+ ps_sio_cpu: power-controller@1d0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sio_cpu";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_fpwm0: power-controller@1d8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm0";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_fpwm1: power-controller@1e0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm1";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_fpwm2: power-controller@1e8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "fpwm2";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c0: power-controller@1f0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c0";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c1: power-controller@1f8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x1f8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c1";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c2: power-controller@200 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x200 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c2";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c3: power-controller@208 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x208 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c3";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c4: power-controller@210 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x210 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c4";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c5: power-controller@218 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x218 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c5";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c6: power-controller@220 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x220 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c6";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c7: power-controller@228 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x228 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c7";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_i2c8: power-controller@230 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x230 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "i2c8";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_spi_p: power-controller@238 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x238 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi_p";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_uart_p: power-controller@240 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x240 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart_p";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_audio_p: power-controller@248 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x248 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "audio_p";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_aes: power-controller@250 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x250 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "aes";
+ power-domains = <&ps_sio>;
+ };
+
+ ps_disp_fe: power-controller@258 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x258 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_fe";
+ power-domains = <&ps_disp_sys>;
+ };
+
+ ps_spi0: power-controller@260 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x260 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi0";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi1: power-controller@268 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x268 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi1";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi2: power-controller@270 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x270 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi2";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi3: power-controller@278 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x278 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi3";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi4: power-controller@280 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x280 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi4";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_spi5: power-controller@288 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x288 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "spi5";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_qspi: power-controller@290 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x290 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "qspi";
+ power-domains = <&ps_spi_p>;
+ };
+
+ ps_uart_n: power-controller@298 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x298 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart_n";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart0: power-controller@2a0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart0";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart1: power-controller@2a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart1";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart2: power-controller@2b0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart2";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart3: power-controller@2b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart3";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart4: power-controller@2c0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart4";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart5: power-controller@2c8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart5";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_uart6: power-controller@2d0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "uart6";
+ power-domains = <&ps_uart_p>;
+ };
+
+ ps_sio_adma: power-controller@2d8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sio_adma";
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_dpa0: power-controller@2e0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa0";
+ apple,always-on;
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_dpa1: power-controller@2e8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa1";
+ apple,always-on;
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_dpa2: power-controller@2f0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa2";
+ apple,always-on;
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_dpa3: power-controller@2f8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x2f8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa3";
+ apple,always-on;
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_dpa4: power-controller@300 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x300 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dpa4";
+ apple,always-on;
+ power-domains = <&ps_audio_p>;
+ };
+
+ ps_mca0: power-controller@308 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x308 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "mca0";
+ power-domains = <&ps_sio_adma>, <&ps_audio_p>;
+ };
+
+ ps_dcs0: power-controller@320 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x320 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs0";
+ apple,always-on;
+ };
+
+ ps_dcs2: power-controller@328 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x328 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs2";
+ apple,always-on;
+ };
+
+ ps_dcs1: power-controller@330 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x330 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs1";
+ apple,always-on;
+ };
+
+ ps_dcs3: power-controller@338 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x338 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs3";
+ apple,always-on;
+ };
+
+ ps_dcs4: power-controller@340 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x340 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs4";
+ apple,always-on;
+ };
+
+ ps_dcs5: power-controller@348 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x348 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs5";
+ apple,always-on;
+ };
+
+ ps_dcs6: power-controller@358 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x358 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs6";
+ apple,always-on;
+ };
+
+ ps_dcs7: power-controller@360 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x360 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs7";
+ apple,always-on;
+ };
+
+ ps_dcs8: power-controller@368 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x368 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs8";
+ apple,always-on;
+ };
+
+ ps_dcs9: power-controller@370 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x370 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs9";
+ apple,always-on;
+ };
+
+ ps_dcs10: power-controller@378 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x378 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs10";
+ apple,always-on;
+ };
+
+ ps_dcs11: power-controller@380 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x380 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dcs11";
+ apple,always-on;
+ };
+
+ ps_mca1: power-controller@388 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x388 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "mca1";
+ power-domains = <&ps_sio_adma>, <&ps_audio_p>;
+ };
+
+ ps_mca2: power-controller@390 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x390 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "mca2";
+ power-domains = <&ps_sio_adma>, <&ps_audio_p>;
+ };
+
+ ps_mca3: power-controller@398 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x398 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "mca3";
+ power-domains = <&ps_sio_adma>, <&ps_audio_p>;
+ };
+
+ ps_ioa1: power-controller@3a0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ioa1";
+ apple,always-on;
+ };
+
+ ps_ls1: power-controller@3a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ls1";
+ apple,always-on;
+ power-domains = <&ps_ioa1>;
+ };
+
+ ps_lw10: power-controller@3b0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "lw10";
+ apple,always-on;
+ power-domains = <&ps_ls1>;
+ };
+
+ ps_dispext0_sys: power-controller@3b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_sys";
+ power-domains = <&ps_lw10>;
+ };
+
+ ps_dispext1_sys: power-controller@3c0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_sys";
+ power-domains = <&ps_lw10>;
+ };
+
+ ps_isp_sys: power-controller@3c8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_sys";
+ power-domains = <&ps_lw10>;
+ };
+
+ ps_venc_sys: power-controller@3d0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_sys";
+ power-domains = <&ps_lw10>;
+ };
+
+ ps_dispext0_fe: power-controller@3d8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_fe";
+ power-domains = <&ps_dispext0_sys>;
+ };
+
+ ps_dispext0_cpu: power-controller@3e0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext0_cpu";
+ power-domains = <&ps_dispext0_fe>;
+ };
+
+ ps_trace_fab: power-controller@3e8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "trace_fab";
+ };
+
+ ps_dispext1_fe: power-controller@3f0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_fe";
+ power-domains = <&ps_dispext1_sys>;
+ };
+
+ ps_dispext1_cpu: power-controller@3f8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x3f8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dispext1_cpu";
+ power-domains = <&ps_dispext1_fe>;
+ };
+
+ ps_dptx_phy: power-controller@408 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x408 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dptx_phy";
+ apple,always-on;
+ };
+
+ ps_avd_sys: power-controller@490 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x490 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "avd_sys";
+ };
+
+ ps_ane_sys: power-controller@498 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x498 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ane_sys";
+ };
+
+ ps_scodec: power-controller@4a0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "scodec";
+ };
+
+ ps_scodec_stream: power-controller@4a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "scodec_stream";
+ power-domains = <&ps_scodec>;
+ };
+
+ ps_ioa3: power-controller@4b0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ioa3";
+ apple,always-on;
+ };
+
+ ps_ls3: power-controller@4b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ls3";
+ apple,always-on;
+ power-domains = <&ps_ioa3>;
+ };
+
+ ps_lw30: power-controller@4c0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4c0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "lw30";
+ apple,always-on;
+ power-domains = <&ps_ls3>;
+ };
+
+ ps_pmp: power-controller@4c8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4c8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pmp";
+ };
+
+ ps_pms_sram: power-controller@4d0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4d0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "pms_sram";
+ };
+
+ ps_lw31: power-controller@4d8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4d8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "lw31";
+ apple,always-on;
+ power-domains = <&ps_ls3>;
+ };
+
+ ps_atc0_common: power-controller@4e0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4e0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_common";
+ power-domains = <&ps_lw30>;
+ };
+
+ ps_atc1_common: power-controller@4e8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4e8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_common";
+ power-domains = <&ps_lw30>;
+ };
+
+ ps_atc2_common: power-controller@4f0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4f0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_common";
+ power-domains = <&ps_lw30>;
+ };
+
+ ps_atc3_common: power-controller@4f8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4f8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_common";
+ power-domains = <&ps_lw30>;
+ };
+
+ ps_apcie_gp: power-controller@500 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x500 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_gp";
+ power-domains = <&ps_lw31>;
+ };
+
+ ps_msr: power-controller@508 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x508 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msr";
+ power-domains = <&ps_lw31>;
+ };
+
+ ps_ans: power-controller@510 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x510 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "ans";
+ power-domains = <&ps_lw31>;
+ };
+
+ ps_atc0_pcie: power-controller@518 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x518 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_pcie";
+ power-domains = <&ps_atc0_common>;
+ };
+
+ ps_atc0_cio: power-controller@520 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x520 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio";
+ power-domains = <&ps_atc0_common>;
+ };
+
+ ps_atc1_pcie: power-controller@528 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x528 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_pcie";
+ power-domains = <&ps_atc1_common>;
+ };
+
+ ps_atc1_cio: power-controller@530 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x530 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio";
+ power-domains = <&ps_atc1_common>;
+ };
+
+ ps_atc2_pcie: power-controller@538 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x538 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_pcie";
+ power-domains = <&ps_atc2_common>;
+ };
+
+ ps_atc2_cio: power-controller@540 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x540 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio";
+ power-domains = <&ps_atc2_common>;
+ };
+
+ ps_atc3_pcie: power-controller@548 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x548 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_pcie";
+ power-domains = <&ps_atc3_common>;
+ };
+
+ ps_atc3_cio: power-controller@550 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x550 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio";
+ power-domains = <&ps_atc3_common>;
+ };
+
+ ps_apcie_sys_gp: power-controller@558 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x558 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_sys_gp";
+ power-domains = <&ps_apcie_gp>;
+ };
+
+ ps_msr_ase_core: power-controller@560 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x560 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "msr_ase_core";
+ power-domains = <&ps_msr>;
+ };
+
+ ps_apcie_st: power-controller@568 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x568 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_st";
+ power-domains = <&ps_ans>;
+ };
+
+ ps_atc0_cio_pcie: power-controller@570 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x570 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio_pcie";
+ power-domains = <&ps_atc0_cio>;
+ };
+
+ ps_atc0_cio_usb: power-controller@578 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x578 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_cio_usb";
+ power-domains = <&ps_atc0_cio>;
+ };
+
+ ps_atc1_cio_pcie: power-controller@580 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x580 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio_pcie";
+ power-domains = <&ps_atc1_cio>;
+ };
+
+ ps_atc1_cio_usb: power-controller@588 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x588 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_cio_usb";
+ power-domains = <&ps_atc1_cio>;
+ };
+
+ ps_atc2_cio_pcie: power-controller@590 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x590 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio_pcie";
+ power-domains = <&ps_atc2_cio>;
+ };
+
+ ps_atc2_cio_usb: power-controller@598 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x598 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_cio_usb";
+ power-domains = <&ps_atc2_cio>;
+ };
+
+ ps_atc3_cio_pcie: power-controller@5a0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x5a0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio_pcie";
+ power-domains = <&ps_atc3_cio>;
+ };
+
+ ps_atc3_cio_usb: power-controller@5a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x5a8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_cio_usb";
+ power-domains = <&ps_atc3_cio>;
+ };
+
+ ps_apcie_sys_st: power-controller@5b0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x5b0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_sys_st";
+ power-domains = <&ps_apcie_st>, <&ps_ans>;
+ };
+
+ ps_apcie_phy_sw: power-controller@5b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x5b8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "apcie_phy_sw";
+ apple,always-on; /* macOS does not turn this off */
+ };
+
+ ps_sep: power-controller@c00 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc00 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "sep";
+ apple,always-on;
+ };
+
+ ps_isp_cpu: power-controller@4000 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_cpu";
+ power-domains = <&ps_isp_sys>;
+ };
+
+ ps_isp_fe: power-controller@4008 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4008 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_fe";
+ power-domains = <&ps_isp_sys>;
+ };
+
+ ps_dprx: power-controller@4010 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4010 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "dprx";
+ power-domains = <&ps_isp_fe>;
+ };
+
+ ps_isp_secure: power-controller@4018 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4018 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_secure";
+ power-domains = <&ps_isp_fe>;
+ };
+
+ ps_isp_be: power-controller@4020 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4020 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_be";
+ power-domains = <&ps_isp_fe>;
+ };
+
+ ps_isp_clr: power-controller@4028 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x4028 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "isp_clr";
+ power-domains = <&ps_isp_be>;
+ };
+
+ ps_venc_dma: power-controller@8000 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_dma";
+ power-domains = <&ps_venc_sys>;
+ };
+
+ ps_venc_pipe4: power-controller@8008 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8008 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_pipe4";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_pipe5: power-controller@8010 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8010 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_pipe5";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_me0: power-controller@8018 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8018 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_me0";
+ power-domains = <&ps_venc_dma>;
+ };
+
+ ps_venc_me1: power-controller@8020 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x8020 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "venc_me1";
+ power-domains = <&ps_venc_me0>;
+ };
+
+ ps_disp_cpu: power-controller@10000 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x10000 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "disp_cpu";
+ power-domains = <&ps_disp_fe>;
+ apple,min-state = <4>;
+ };
+};
+
+&pmgr_mini {
+ ps_debug_gated: power-controller@0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "debug_gated";
+ apple,always-on;
+ };
+
+ ps_nub_spmi0: power-controller@58 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x58 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi0";
+ apple,always-on;
+ };
+
+ ps_nub_spmi1: power-controller@60 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x60 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi1";
+ apple,always-on;
+ };
+
+ ps_nub_spmi2: power-controller@68 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x68 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi2";
+ apple,always-on;
+ };
+
+ ps_nub_spmi_a0: power-controller@70 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x70 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi_a0";
+ apple,always-on;
+ };
+
+ ps_nub_spmi_a1: power-controller@78 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x78 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spmi_a1";
+ apple,always-on;
+ };
+
+ ps_nub_spi0: power-controller@88 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x88 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_spi0";
+ apple,always-on;
+ };
+
+ ps_nub_ocla: power-controller@90 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x90 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_ocla";
+ apple,always-on;
+ };
+
+ ps_nub_gpio: power-controller@98 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0x98 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_gpio";
+ apple,always-on;
+ };
+
+ ps_nub_sram: power-controller@a8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xa8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "nub_sram";
+ apple,always-on;
+ };
+
+ ps_debug_switch: power-controller@b0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xb0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "debug_switch";
+ apple,always-on;
+ };
+
+ ps_atc0_usb_aon: power-controller@b8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xb8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_usb_aon";
+ };
+
+ ps_atc1_usb_aon: power-controller@c0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_usb_aon";
+ };
+
+ ps_atc2_usb_aon: power-controller@c8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xc8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_usb_aon";
+ };
+
+ ps_atc3_usb_aon: power-controller@d0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xd0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_usb_aon";
+ };
+
+ ps_atc0_usb: power-controller@d8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xd8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc0_usb";
+ power-domains = <&ps_atc0_usb_aon>, <&ps_atc0_common>;
+ };
+
+ ps_atc1_usb: power-controller@e0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xe0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc1_usb";
+ power-domains = <&ps_atc1_usb_aon>, <&ps_atc1_common>;
+ };
+
+ ps_atc2_usb: power-controller@e8 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xe8 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc2_usb";
+ power-domains = <&ps_atc2_usb_aon>, <&ps_atc2_common>;
+ };
+
+ ps_atc3_usb: power-controller@f0 {
+ compatible = "apple,t6030-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate";
+ reg = <0xf0 4>;
+ #power-domain-cells = <0>;
+ #reset-cells = <0>;
+ label = "atc3_usb";
+ power-domains = <&ps_atc3_usb_aon>, <&ps_atc3_common>;
+ };
+};
+
diff --git a/arch/arm64/boot/dts/apple/t6030.dtsi b/arch/arm64/boot/dts/apple/t6030.dtsi
new file mode 100644
index 000000000000..f79fbadaa92c
--- /dev/null
+++ b/arch/arm64/boot/dts/apple/t6030.dtsi
@@ -0,0 +1,524 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Apple T6030 "M3 Pro" SoC
+ *
+ * Other names: H15J, "Lobos"
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include <dt-bindings/interrupt-controller/apple-aic.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/apple.h>
+
+/ {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu_e00>;
+ };
+ core1 {
+ cpu = <&cpu_e01>;
+ };
+ core2 {
+ cpu = <&cpu_e02>;
+ };
+ core3 {
+ cpu = <&cpu_e03>;
+ };
+ core4 {
+ cpu = <&cpu_e04>;
+ };
+ core5 {
+ cpu = <&cpu_e05>;
+ };
+ };
+
+ 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>;
+ };
+ };
+ };
+
+ cpu_e00: cpu@0 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x0>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_e01: cpu@1 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x1>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_e02: cpu@2 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x2>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_e03: cpu@3 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x3>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_e04: cpu@4 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x4>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_e05: cpu@5 {
+ compatible = "apple,sawtooth";
+ device_type = "cpu";
+ reg = <0x0 0x5>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* to be filled by loader */
+ next-level-cache = <&l2_cache_0>;
+ i-cache-size = <0x20000>;
+ d-cache-size = <0x10000>;
+ };
+
+ cpu_p00: cpu@10100 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10100>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ cpu_p01: cpu@10101 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10101>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ cpu_p02: cpu@10102 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10102>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ cpu_p03: cpu@10103 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10103>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ cpu_p04: cpu@10104 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10104>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ cpu_p05: cpu@10105 {
+ compatible = "apple,everest";
+ device_type = "cpu";
+ reg = <0x0 0x10105>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0 0>; /* To be filled by loader */
+ next-level-cache = <&l2_cache_1>;
+ i-cache-size = <0x30000>;
+ d-cache-size = <0x20000>;
+ };
+
+ l2_cache_0: l2-cache-0 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x400000>;
+ };
+
+ l2_cache_1: l2-cache-1 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x1000000>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&aic>;
+ interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
+ interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ clkref: clock-ref {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ clock-output-names = "clkref";
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ };
+
+ soc: soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ranges;
+ nonposted-mmio;
+ /* Required to get >32-bit DMA via DARTs */
+ dma-ranges = <0 0 0 0 0xffffffff 0xffffc000>;
+
+ i2c1: i2c@289014000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x89014000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 890 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c1_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c1>;
+ status = "disabled";
+ };
+
+ i2c2: i2c@289018000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x89018000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 891 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c2_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c2>;
+ status = "disabled";
+ };
+
+ i2c3: i2c@28901c000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x8901c000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 892 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c3_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c3>;
+ status = "disabled";
+ };
+
+ i2c4: i2c@289020000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x89020000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 893 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c4_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c4>;
+ status = "disabled";
+ };
+
+ i2c6: i2c@289028000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x89028000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 895 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c6_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c6>;
+ status = "disabled";
+ };
+
+ i2c8: i2c@289030000 {
+ compatible = "apple,t6030-i2c", "apple,t8103-i2c";
+ reg = <0x2 0x89030000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 897 IRQ_TYPE_LEVEL_HIGH>;
+ pinctrl-0 = <&i2c8_pins>;
+ pinctrl-names = "default";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ power-domains = <&ps_i2c8>;
+ status = "disabled";
+ };
+
+ fpwm0: pwm@289040000 {
+ compatible = "apple,t6030-fpwm", "apple,s5l-fpwm";
+ reg = <0x2 0x89040000 0x0 0x4000>;
+ power-domains = <&ps_fpwm0>;
+ clocks = <&clkref>;
+ #pwm-cells = <2>;
+ status = "disabled";
+ };
+
+ pmgr_gfx: power-management@290e80000 {
+ compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ reg = <0x2 0x90e80000 0 0x4000>;
+ /* child nodes are added in t6030-pmgr.dtsi */
+ };
+
+ serial0: serial@2892000000 {
+ compatible = "apple,s5l-uart";
+ reg = <0x2 0x89200000 0x0 0x1000>;
+ reg-io-width = <4>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 866 IRQ_TYPE_LEVEL_HIGH>;
+ /*
+ * TODO: figure out the clocking properly, there may
+ * be a third selectable clock.
+ */
+ clocks = <&clkref>, <&clkref>;
+ clock-names = "uart", "clk_uart_baud0";
+ power-domains = <&ps_uart0>;
+ status = "disabled";
+ };
+
+ pinctrl_ap: pinctrl@347100000 {
+ compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x47100000 0x0 0x4000>;
+
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 275 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 276 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 277 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 278 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 279 IRQ_TYPE_LEVEL_HIGH>;
+
+ power-domains = <&ps_gpio>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 224>;
+ apple,npins = <224>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ i2c1_pins: i2c1-pins {
+ pinmux = <APPLE_PINMUX(37, 1)>,
+ <APPLE_PINMUX(36, 1)>;
+ };
+
+ i2c2_pins: i2c2-pins {
+ pinmux = <APPLE_PINMUX(43, 1)>,
+ <APPLE_PINMUX(42, 1)>;
+ };
+
+ i2c3_pins: i2c3-pins {
+ pinmux = <APPLE_PINMUX(41, 1)>,
+ <APPLE_PINMUX(40, 1)>;
+ };
+
+ i2c4_pins: i2c4-pins {
+ pinmux = <APPLE_PINMUX(39, 1)>,
+ <APPLE_PINMUX(38, 1)>;
+ };
+
+ i2c6_pins: i2c6-pins {
+ pinmux = <APPLE_PINMUX(47, 1)>,
+ <APPLE_PINMUX(46, 1)>;
+ };
+
+ i2c8_pins: i2c8-pins {
+ pinmux = <APPLE_PINMUX(51, 1)>,
+ <APPLE_PINMUX(50, 1)>;
+ };
+ };
+
+ pmgr: power-management@350700000 {
+ compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ reg = <0x3 0x50700000 0 0x14000>;
+ /* child nodes are added in t6030-pmgr.dtsi */
+ };
+
+ aic: interrupt-controller@351000000 {
+ compatible = "apple,t6030-aic3", "apple,t8122-aic3";
+ #interrupt-cells = <3>;
+ interrupt-controller;
+
+ reg = <0x3 0x51000000 0x0 0x184000>,
+ <0x3 0x51040000 0x0 0x4000>;
+ reg-names = "core", "event";
+ power-domains = <&ps_aic>;
+ };
+
+ pinctrl_nub: pinctrl@3641f0000 {
+ compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x641f0000 0x0 0x4000>;
+
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 472 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 473 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 474 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 475 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 476 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 477 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 478 IRQ_TYPE_LEVEL_HIGH>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 37>;
+ apple,npins = <37>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pmgr_mini: power-management@364280000 {
+ compatible = "apple,t6030-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ reg = <0x3 0x64280000 0 0x4000>;
+ /* child nodes are added in t6030-pmgr.dtsi */
+ };
+
+ wdt: watchdog@3642b0000 {
+ compatible = "apple,t6030-wdt", "apple,t8103-wdt";
+ reg = <0x3 0x642b0000 0x0 0x4000>;
+ clocks = <&clkref>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 480 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_smc: pinctrl@36c820000 {
+ compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x6c820000 0x0 0x4000>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_smc 0 0 18>;
+ apple,npins = <18>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 545 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 546 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 547 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 548 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 549 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 550 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 551 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pinctrl_aop: pinctrl@374824000 {
+ compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
+ reg = <0x3 0x74824000 0x0 0x4000>;
+
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 398 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 399 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 400 IRQ_TYPE_LEVEL_HIGH>;
+
+ clocks = <&clkref>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&pinctrl_ap 0 0 54>;
+ apple,npins = <54>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+#include "t6030-pmgr.dtsi"
--
2.54.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
` (9 preceding siblings ...)
2026-07-09 7:30 ` [PATCH 11/11] arm64: dts: apple: Initial T6030 (M3 Pro) device trees Janne Grunau
@ 2026-07-09 12:57 ` Janne Grunau
10 siblings, 0 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 12:57 UTC (permalink / raw)
To: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, linux-watchdog,
linux-gpio, linux-i2c, linux-pwm
On Thu, Jul 09, 2026 at 09:30:46AM +0200, Janne Grunau wrote:
> This series adds device trees for Apple silicon devices with M3 Pro, Max
> and Ultra SoCs. The M3 generation has fewer devices than their M1 and M2
> predecessors. The only non-laptop device is the M3 Ultra Mac Studio. The
> Laptops are the known 14 and 16-inch Macbook Pros now with M3 Pro and
> M3 Max SoCs. The M3 Max variant with fewer CPU and GPU cores has
> additionally only a 384-bit wide memory bus instead of 512-bit of the
> full M3 Max. It has a separate identifier (T6034) and so there are six
> laptop device trees.
> Another difference to M1 and M2 Pro/Max/Ultra is that the M3 Pro is
> distinct SoC design and not a smaller M3 Max. For this reason both M3
> Max variants and the M3 Ultra will use "apple,t6030" as compatible
> prefix. In the M1 and M2 generations Pro, Max and Ultra SoCs shared
> "apple,t6000" / "apple,t6020" as common prefix. There is currently no
> known difference but M3 Pro and M3 Max are not as closely related as
> previously.
>
> This series adds the same level of hardware as the base M3 (T8122) has
> in v7.2-rc1. This includes CPU cores, interrupt controller, power
> states, watchdog, serial, pin controller, i2c and the boot framebuffer.
> This is intended as base so that support for additional hardware can be
> added to all M3 based devices at the same time.
>
> Merge strategy:
> Since the dt-binding add new compatible strings without driver changes
> it would be preferred if the whole [1] series would be merged through
> apple-soc/arm-soc. This will help ensuring a warning free
> `make dtbs_check` for followup series with additional M3* hardware
> support I hope to send for this cycle.
>
> This series will conflict with the M4 series [3] sent A couple of days
> ago. I would prefer if this could be merged first (in order of SoC
> release).
>
> [1]: I see that the M4 watchdog change was already picked up by Guenter
> in [2]
>
> Link: https://lore.kernel.org/asahi/a03c19ee-cf74-4f26-826d-f2bfb816fb3f@roeck-us.net/ [2]
> Link: https://lore.kernel.org/asahi/20260705-apple-m4-initial-devicetrees-v1-0-e5655ee56523@cyberchaos.dev/ [3]
I fixed the legitimate issues poited out by sashiko locally and will
send a v2 in the next days. From the v2 changelog:
- fix serial0 unit address in t6030.dtsi, drop erroneously added 0
- Fix device node reference in pinctrl_{nub,aop} gpio-ranges in t6030.dtsi
- fix i2c6 unit address in t6031-die0.dtsi
- fix cpu_p25 reg value in t6032.dtsi
- drop unnecessary aic interrupt-controller from t6032.dtsi
- drop "label" from keyboard pwm led node
- fix copy-n-pasted pinctrl in compatible strings in the apple,s5l-fpwm
dt-binding commit message
- fix yamllint errors in apple.yaml and fix warnings in newly added
lines
Janne
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x)
2026-07-09 7:30 ` [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) Janne Grunau
@ 2026-07-09 17:47 ` Conor Dooley
2026-07-09 17:50 ` Conor Dooley
0 siblings, 1 reply; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:47 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition
2026-07-09 7:30 ` [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition Janne Grunau
@ 2026-07-09 17:49 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:49 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible
2026-07-09 7:30 ` [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible Janne Grunau
@ 2026-07-09 17:49 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:49 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x)
2026-07-09 17:47 ` Conor Dooley
@ 2026-07-09 17:50 ` Conor Dooley
2026-07-09 18:05 ` Janne Grunau
0 siblings, 1 reply; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:50 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 189 bytes --]
On Thu, Jul 09, 2026 at 06:47:40PM +0100, Conor Dooley wrote:
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> pw-bot: not-applicable
Actually, sashiko complaint looks valid here?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles Janne Grunau
@ 2026-07-09 17:50 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:50 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: " Janne Grunau
@ 2026-07-09 17:51 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:51 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 06/11] dt-bindings: watchdog: apple,wdt: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 06/11] dt-bindings: watchdog: apple,wdt: " Janne Grunau
@ 2026-07-09 17:51 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:51 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: " Janne Grunau
@ 2026-07-09 17:51 ` Conor Dooley
2026-07-10 19:48 ` Linus Walleij
1 sibling, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:51 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 08/11] dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 08/11] dt-bindings: i2c: apple,i2c: " Janne Grunau
@ 2026-07-09 17:52 ` Conor Dooley
2026-07-09 23:17 ` Piotr Masłowski
1 sibling, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:52 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: " Janne Grunau
@ 2026-07-09 17:53 ` Conor Dooley
0 siblings, 0 replies; 25+ messages in thread
From: Conor Dooley @ 2026-07-09 17:53 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
[-- Attachment #1: Type: text/plain, Size: 1314 bytes --]
On Thu, Jul 09, 2026 at 09:30:55AM +0200, Janne Grunau wrote:
> The PWM controller on Apple silicon M3 Pro, Max and Ultra SoCs is
> compatible with the t8103 (M1) one. Add "apple,t6030-pinctrl" for M3 Pro
Is this copy-paste getting you? The fallback here is a phone I think, so
the text should probably say s5l - even if being compatible with the s5l
means that it's comaptible with the t8103 too.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: changes-requested
> and "apple,t6031-pinctrl" for M3 Max and Ultra as per-SoC compatibles.
>
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
> Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
> index 25ef04b60ca1..dd95037ea5ee 100644
> --- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
> +++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
> @@ -21,6 +21,8 @@ properties:
> - apple,t8122-fpwm
> - apple,t6000-fpwm
> - apple,t6020-fpwm
> + - apple,t6030-fpwm
> + - apple,t6031-fpwm
> - const: apple,s5l-fpwm
>
> reg:
>
> --
> 2.54.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x)
2026-07-09 17:50 ` Conor Dooley
@ 2026-07-09 18:05 ` Janne Grunau
0 siblings, 0 replies; 25+ messages in thread
From: Janne Grunau @ 2026-07-09 18:05 UTC (permalink / raw)
To: Conor Dooley
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
On Thu, Jul 09, 2026 at 06:50:11PM +0100, Conor Dooley wrote:
> On Thu, Jul 09, 2026 at 06:47:40PM +0100, Conor Dooley wrote:
> > Acked-by: Conor Dooley <conor.dooley@microchip.com>
> > pw-bot: not-applicable
>
>
> Actually, sashiko complaint looks valid here?
yamllint errors are already fixed locally as reported in my reply to
the cover letter. I'll send a v2.
dt_binding_check did not fail though. Not sure if if there's an issue in
my local setup.
Janne
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 08/11] dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 08/11] dt-bindings: i2c: apple,i2c: " Janne Grunau
2026-07-09 17:52 ` Conor Dooley
@ 2026-07-09 23:17 ` Piotr Masłowski
1 sibling, 0 replies; 25+ messages in thread
From: Piotr Masłowski @ 2026-07-09 23:17 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Linus Walleij, Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
Hello. This is the tiniest possible nitpick, but it could
throw somebody off when grepping through commit messages so:
On Thu Jul 9, 2026 at 9:30 AM CEST, Janne Grunau wrote:
> The i2c block on Apple silicon M3 Pro, Max and Ultra SoCs are compatible
> with the t8103 (M1) one. Add "apple,t6030-i2c" for M3 Pro and
> "apple,t6031-i2c" for M3 Max and Ultra as per-S0C compatibles.
You've got a '0' (zero) instead of an 'O' here. ^
>
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
> Documentation/devicetree/bindings/i2c/apple,i2c.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
> index 9e59200ad37b..d39f5e3f1df4 100644
> --- a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml
> @@ -24,6 +24,8 @@ properties:
> - items:
> - enum:
> - apple,t6020-i2c
> + - apple,t6030-i2c
> + - apple,t6031-i2c
> - apple,t8122-i2c
> - const: apple,t8103-i2c
> - items:
Cheers,
Piotr Masłowski
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: Add t6030 and t6031 compatibles
2026-07-09 7:30 ` [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: " Janne Grunau
2026-07-09 17:51 ` Conor Dooley
@ 2026-07-10 19:48 ` Linus Walleij
1 sibling, 0 replies; 25+ messages in thread
From: Linus Walleij @ 2026-07-10 19:48 UTC (permalink / raw)
To: Janne Grunau
Cc: Sven Peter, Neal Gompa, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thomas Gleixner, Wim Van Sebroeck, Guenter Roeck,
Mark Kettenis, Andi Shyti, Uwe Kleine-König,
Sasha Finkelstein, asahi, linux-arm-kernel, devicetree,
linux-kernel, linux-watchdog, linux-gpio, linux-i2c, linux-pwm
On Thu, Jul 9, 2026 at 9:31 AM Janne Grunau <j@jannau.net> wrote:
> The pin controller on Apple silicon M3 Pro, Max and Ultra SoCs is
> compatible with the t8103 (M1) one. Add "apple,t6030-pinctrl" for M3 Pro
> and "apple,t6031-pinctrl" for M3 Max and Ultra as per-SoC compatibles.
>
> Signed-off-by: Janne Grunau <j@jannau.net>
This patch 7 applied to the pinctrl tree.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2026-07-10 19:48 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-09 7:30 [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra device trees Janne Grunau
2026-07-09 7:30 ` [PATCH 01/11] dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) Janne Grunau
2026-07-09 17:47 ` Conor Dooley
2026-07-09 17:50 ` Conor Dooley
2026-07-09 18:05 ` Janne Grunau
2026-07-09 7:30 ` [PATCH 02/11] dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition Janne Grunau
2026-07-09 17:49 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 03/11] dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible Janne Grunau
2026-07-09 17:49 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 04/11] dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles Janne Grunau
2026-07-09 17:50 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 05/11] dt-bindings: power: apple,pmgr-pwrstate: " Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 06/11] dt-bindings: watchdog: apple,wdt: " Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: " Janne Grunau
2026-07-09 17:51 ` Conor Dooley
2026-07-10 19:48 ` Linus Walleij
2026-07-09 7:30 ` [PATCH 08/11] dt-bindings: i2c: apple,i2c: " Janne Grunau
2026-07-09 17:52 ` Conor Dooley
2026-07-09 23:17 ` Piotr Masłowski
2026-07-09 7:30 ` [PATCH 09/11] dt-bindings: pwm: apple,s5l-fpwm: " Janne Grunau
2026-07-09 17:53 ` Conor Dooley
2026-07-09 7:30 ` [PATCH 11/11] arm64: dts: apple: Initial T6030 (M3 Pro) device trees Janne Grunau
2026-07-09 12:57 ` [PATCH 00/11] Initial Apple M3 Pro, Max and Ultra " Janne Grunau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox