Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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,j433 # iMac (24-inch, 2x USB-C, M3, 2023)
- apple,j434 # iMac (24-inch, 4x USB-C, M3, 2023)
- apple,j504 # MacBook Pro (13-inch, M3, 2023)
- apple,j613 # MacBook Air (13-inch, M3, 2024)
- apple,j615 # MacBook Air (15-inch, M3, 2024)
- 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,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:
- 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";
};
};
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
4 changes: 4 additions & 0 deletions arch/arm64/boot/dts/apple/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,7 @@ 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-j433.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j434.dtb
dtb-$(CONFIG_ARCH_APPLE) += t8122-j504.dtb
dtb-$(CONFIG_ARCH_APPLE) += t6031-j514.dtb
48 changes: 48 additions & 0 deletions arch/arm64/boot/dts/apple/t6031-j514.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* Apple MacBook Pro (14-inch, M3 Max, 2023)
*
* target-type: J514
*
* Copyright The Asahi Linux Contributors
*/

/dts-v1/;

#include "t6031.dtsi"

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

chosen {
#address-cells = <2>;
#size-cells = <2>;
ranges;

simple-framebuffer = &framebuffer0;
stdout-path = "serial0:115200n8";
};

framebuffer0: framebuffer@11fc02a4000 {
compatible = "simple-framebuffer";
/* Reg: <AddressHigh AddressLow SizeHigh SizeLow> */
/* Address: 0x11f_c02a4000, Size: 23,756,544 bytes */
reg = <0x11f 0xc02a4000 0x0 0x16a7e00>;
width = <3024>;
height = <1964>;
stride = <12096>;
format = "x2r10g10b10";
status = "okay";
};

memory@10000000000 {
device_type = "memory";
reg = <0x100 0 0x2 0>; /* To be filled by loader */
};

};
&serial0 {
status = "okay";

};
Loading