Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
67e5cec
dt-bindings: arm: apple: Add M3 devices (t8112 and t603x)
jannau Jan 25, 2026
d1b8a2a
dt-bindings: arm: cpus: Add Apple M3 cores
jannau Jan 27, 2026
19a07b2
dt-bindings: interrupt-controller: apple,aic2: Add AICv3
jannau Jan 24, 2026
cb85c24
dt-bindings: arm: apple: apple,pmgr: Add M3 compatibles
jannau Jan 26, 2026
013e95f
dt-bindings: power: apple,pmgr-pwrstate: Add M3 compatibles
jannau Jan 26, 2026
349c970
dt-bindings: watchdog: apple,wdt: Add Apple M3 compatibles
jannau Jan 27, 2026
d6704d1
dt-bindings: pinctrl: apple,pinctrl: Add Apple M3 compatibles
jannau Jan 27, 2026
5e2c1c0
dt-bindings: i2c: apple,i2c: Add Apple M3 compatibles
jannau Jan 27, 2026
04d3eae
dt-bindings: pwm: apple,s5l-fpwm: Add Apple M3 compatibles
jannau Jan 27, 2026
c12c61e
arm64: dts: apple: Initial t8122 (M3) device tree
jannau Mar 8, 2024
16842d0
arm64: dts: apple Correct M3 MacBook Air board numbers
IntegralPilot Jan 30, 2026
ff49d90
arm64: dts: apple: Add cpufreq and OPP to M3 (t8122)
IntegralPilot Jan 30, 2026
ddb3a57
arm64: dts: apple: Add SMC to M3 (t8122) device tree
IntegralPilot Jan 30, 2026
6445ee7
arm64: dts: apple: Add MTP DockChannel to M3 device tree
IntegralPilot Jan 30, 2026
0156b7c
arm64: dts: apple: Add NVMe nodes to M3 (t8122) device tree
IntegralPilot Jan 30, 2026
1b5d498
arm64: dts: apple: Add J613 board variant of M3 (t8122)
IntegralPilot Jan 30, 2026
9392ee9
arm64: dts: apple: Add PCIe nodes for t8122
noopwafel Jan 31, 2026
734b3de
dt-bindings: iommu: apple: Add Apple M3 compatibles to DART and SART
IntegralPilot Jan 31, 2026
e320a67
dt-bindings: mailbox: Add Apple M3 (t8122) compatible
IntegralPilot Jan 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Documentation/devicetree/bindings/arm/apple.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ description: |
- MacBook Pro (13-inch, M2, 2022)
- Mac mini (M2, 2023)

Devices based on the "M3" SoC:

- MacBook Air (13-inch, M3, 2024)
- MacBook Air (15-inch, M3, 2024)
- MacBook Pro (14-inch, M3, 2023)
- iMac (24-inch, M3, 2023)

Devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:

- MacBook Pro (14-inch, M1 Pro, 2021)
Expand All @@ -116,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";
Expand Down Expand Up @@ -297,6 +312,17 @@ properties:
- const: apple,t8112
- const: apple,arm-platform

- description: Apple M2 SoC based platforms
items:
- enum:
- apple,j504 # MacBook Pro (13-inch, M3, 2023)
- apple,j613 # MacBook Air (13-inch, M3, 2024)
- apple,j615 # MacBook Air (15-inch, M3, 2024)
- apple,j433 # iMac (24-inch, 2x USB-C, M3, 2023)
- apple,j434 # iMac (24-inch, 4x USB-C, M3, 2023)
- const: apple,t8122
- const: apple,arm-platform

- description: Apple M1 Pro SoC based platforms
items:
- enum:
Expand Down Expand Up @@ -347,6 +373,36 @@ 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,j414c # MacBook Pro (14-inch, M3 Max, 16 cores, 2023)
- apple,j416c # MacBook Pro (16-inch, M3 Max, 16 cores, 2023)
- const: apple,t6031
- const: apple,arm-platform
- items:
- enum:
- apple,j414m # MacBook Pro (14-inch, M3 Max, 14 cores, 2023)
- apple,j416m # MacBook Pro (16-inch, M3 Max, 14 cores, 2023)
- const: apple,t6034
- const: apple,arm-platform

- description: Apple M3 Ultra SoC based platforms
items:
- enum:
- apple,j575d # Mac Studio (M3 Ultra, 2025)
- const: apple,t6032
- const: apple,arm-platform

additionalProperties: true

...
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ properties:
- const: syscon
- const: simple-mfd
- items:
- const: apple,t6020-pmgr
- enum:
- apple,t6020-pmgr
- apple,t6030-pmgr
- apple,t8122-pmgr
- const: apple,t8103-pmgr
- const: syscon
- const: simple-mfd
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/cpus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,13 @@ properties:
- apple,avalanche
- apple,blizzard
- apple,cyclone
- apple,everest
- apple,firestorm
- apple,hurricane-zephyr
- apple,icestorm
- apple,mistral
- apple,monsoon
- apple,sawtooth
- apple,twister
- apple,typhoon
- arm,arm710t
Expand Down
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/i2c/apple,i2c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ properties:
compatible:
oneOf:
- items:
- const: apple,t6020-i2c
- enum:
- apple,t6020-i2c
- apple,t6030-i2c
- apple,t8122-i2c
- const: apple,t8103-i2c
- items:
- enum:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
$id: http://devicetree.org/schemas/interrupt-controller/apple,aic2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple Interrupt Controller 2
title: Apple Interrupt Controller 2 and 3

maintainers:
- Hector Martin <marcan@marcan.st>
- Janne Grunau <j@jannau.net>

description: |
The Apple Interrupt Controller 2 is a simple interrupt controller present on
Expand All @@ -28,14 +28,24 @@ description: |
which do not go through a discrete interrupt controller. It also handles
FIQ-based Fast IPIs.

The Apple Interrupt Controller 3 is in its base functionality very similar to
the Apple Interrupt Controller 2 and uses the same device tree bindings. It is
found on Apple ARM SoCs platforms starting with t8122 (M3).

properties:
compatible:
items:
- enum:
- apple,t8112-aic
- apple,t6000-aic
- apple,t6020-aic
- const: apple,aic2
oneOf:
- items:
- enum:
- apple,t8112-aic
- apple,t6000-aic
- apple,t6020-aic
- const: apple,aic2
- items:
- enum:
- apple,t6030-aic3
- const: apple,t8122-aic3
- const: apple,t8122-aic3

interrupt-controller: true

Expand Down Expand Up @@ -117,7 +127,9 @@ allOf:
properties:
compatible:
contains:
const: apple,t8112-aic
enum:
- apple,t8112-aic
- apple,t8122-aic3
then:
properties:
'#interrupt-cells':
Expand All @@ -141,4 +153,13 @@ examples:
<0x2 0x8e10c000 0x0 0x4>;
reg-names = "core", "event";
};

aic-t8122: interrupt-controller@2d1000000 {
compatible = "apple,t8122-aic3";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x2 0xd1000000 0x0 0xc000>,
<0x2 0xd1040000 0x0 0x4>;
reg-names = "core", "event";
};
};
4 changes: 3 additions & 1 deletion Documentation/devicetree/bindings/iommu/apple,dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ properties:
- apple,t8110-dart
- apple,t6000-dart
- items:
- const: apple,t6020-dart
- enum:
- apple,t6020-dart
- apple,t8122-dart
- const: apple,t8110-dart

reg:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/iommu/apple,sart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:
- enum:
- apple,t6020-sart
- apple,t8112-sart
- apple,t8122-sart
- const: apple,t6000-sart
- enum:
- apple,t6000-sart
Expand Down
4 changes: 2 additions & 2 deletions Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ maintainers:
- Hector Martin <marcan@marcan.st>
- Sven Peter <sven@svenpeter.dev>

description:
The Apple mailbox consists of two FIFOs used to exchange 64+32 bit
description: The Apple mailbox consists of two FIFOs used to exchange 64+32 bit
messages between the main CPU and a co-processor. Multiple instances
of this mailbox can be found on Apple SoCs.
One of the two FIFOs is used to send data to a co-processor while the other
Expand All @@ -30,6 +29,7 @@ properties:
- enum:
- apple,t8103-asc-mailbox
- apple,t8112-asc-mailbox
- apple,t8122-asc-mailbox
- apple,t6000-asc-mailbox
- apple,t6020-asc-mailbox
- const: apple,asc-mailbox-v4
Expand Down
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ properties:
compatible:
oneOf:
- items:
- const: apple,t6020-pinctrl
- enum:
- apple,t6020-pinctrl
- apple,t6030-pinctrl
- apple,t8122-pinctrl
- const: apple,t8103-pinctrl
- items:
# Do not add additional SoC to this list.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@ properties:
- apple,t6000-pmgr-pwrstate
- const: apple,pmgr-pwrstate
- items:
- const: apple,t6020-pmgr-pwrstate
- enum:
- apple,t6020-pmgr-pwrstate
- apple,t6030-pmgr-pwrstate
- apple,t8122-pmgr-pwrstate
- const: apple,t8103-pmgr-pwrstate

reg:
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ properties:
- enum:
- apple,t8103-fpwm
- apple,t8112-fpwm
- apple,t8122-fpwm
- apple,t6000-fpwm
- apple,t6020-fpwm
- apple,t6030-fpwm
- const: apple,s5l-fpwm

reg:
Expand Down
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/watchdog/apple,wdt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ properties:
compatible:
oneOf:
- items:
- const: apple,t6020-wdt
- enum:
- apple,t6020-wdt
- apple,t6030-wdt
- apple,t8122-wdt
- const: apple,t8103-wdt
- items:
- enum:
Expand Down
2 changes: 2 additions & 0 deletions arch/arm64/boot/dts/apple/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,5 @@ dtb-$(CONFIG_ARCH_APPLE) += t8112-j413.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8112-j415.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8112-j473.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8112-j493.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j504.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j613.dtb
63 changes: 63 additions & 0 deletions arch/arm64/boot/dts/apple/t8122-j504.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* Apple MacBook Pro (14-inch, M3, 2023)
*
* target-type: J504
*
* Copyright The Asahi Linux Contributors
*/

/dts-v1/;

#include "t8122.dtsi"
#include "t8122-jxxx.dtsi"
#include <dt-bindings/leds/common.h>

/ {
compatible = "apple,j504", "apple,t8122", "apple,arm-platform";
model = "Apple MacBook Pro (14-inch, M3, 2023)";

led-controller {
compatible = "pwm-leds";
led-0 {
pwms = <&fpwm1 0 40000>;
label = "kbd_backlight";
function = LED_FUNCTION_KBD_BACKLIGHT;
color = <LED_COLOR_ID_WHITE>;
max-brightness = <255>;
default-state = "keep";
};
};
};

&framebuffer0 {
// panel = &panel;
power-domains = <&ps_disp_cpu>, <&ps_dptx_ext_phy>;
};

&i2c0 {
status = "okay";

hpm0: usb-pd@38 {
compatible = "apple,cd321x";
reg = <0x38>;
interrupt-parent = <&pinctrl_ap>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "irq";
};

hpm1: usb-pd@3f {
compatible = "apple,cd321x";
reg = <0x3f>;
interrupt-parent = <&pinctrl_ap>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "irq";
};
};



&fpwm1 {
status = "okay";
};

Loading