[PATCH v2 00/10] Initial Apple M3 Pro, Max and Ultra device trees

Janne Grunau posted 10 patches 1 week, 3 days ago
There is a newer version of this series
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 +-
.../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               |  416 ++++
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     |   66 +
26 files changed, 5779 insertions(+), 4 deletions(-)
[PATCH v2 00/10] Initial Apple M3 Pro, Max and Ultra device trees
Posted by Janne Grunau 1 week, 3 days ago
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>
---
Changes in v2:
- 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
- fix typo in i2c commit message
- whitespace fixes in t6032.dtsi
- add missing Signed-off-by: for pmgr and pmgr-powerstates dt-bindings
  patches
- drop already picked-up "[PATCH 07/11] dt-bindings: pinctrl: apple,pinctrl: ..."
- add Conor's Accked-by: tags
- Link to v1: https://patch.msgid.link/20260709-apple-t603x-initial-devices-v1-0-55b305833123@jannau.net

---
Janne Grunau (10):
      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: 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 +-
 .../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               |  416 ++++
 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     |   66 +
 26 files changed, 5779 insertions(+), 4 deletions(-)
---
base-commit: 5f883c28f3980af462a6332fd72ff184e6985711
change-id: 20260705-apple-t603x-initial-devices-2eeca2d9d25a

Best regards,
--  
Janne Grunau <j@jannau.net>
Re: [PATCH v2 00/10] Initial Apple M3 Pro, Max and Ultra device trees
Posted by Guenter Roeck 1 week, 3 days ago
On 7/15/26 02:11, 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]
> 

Whatever one does with individual patches in such series seems to be
wrong. Are you saying that I should drop the M4 (t8132) patch from
the watchdog-next branch ?

Guenter
Re: [PATCH v2 00/10] Initial Apple M3 Pro, Max and Ultra device trees
Posted by Sven Peter 1 week, 3 days ago

On 7/15/26 17:55, Guenter Roeck wrote:
> On 7/15/26 02:11, 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]
>>
>
> Whatever one does with individual patches in such series seems to be
> wrong. Are you saying that I should drop the M4 (t8132) patch from
> the watchdog-next branch ?

Feel free to keep it. I'll just pick up everything that's left once this 
series is ready and make sure there are no duplicate patches in -next.


Sven