Skip to content

Commit a2356c8

Browse files
committed
arm64: dts: apple: Initial t8122 (M3) device tree
Contains a minimal device tree for t8122-j504 (Macbook Pro (14-inch, M3, 2023)) with CPU cores, 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>
1 parent 854bb49 commit a2356c8

File tree

8 files changed

+1778
-0
lines changed

8 files changed

+1778
-0
lines changed

arch/arm64/boot/dts/apple/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,6 @@ dtb-$(CONFIG_ARCH_APPLE) += t8112-j413.dtb
9191
dtb-$(CONFIG_ARCH_APPLE) += t8112-j415.dtb
9292
dtb-$(CONFIG_ARCH_APPLE) += t8112-j473.dtb
9393
dtb-$(CONFIG_ARCH_APPLE) += t8112-j493.dtb
94+
dtb-$(CONFIG_ARCH_APPLE) += t8122-j433.dtb
95+
dtb-$(CONFIG_ARCH_APPLE) += t8122-j434.dtb
96+
dtb-$(CONFIG_ARCH_APPLE) += t8122-j504.dtb
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-License-Identifier: GPL-2.0+ OR MIT
2+
/*
3+
* Apple iMac (24-inch, 2x USB-C, M3, 2023)
4+
*
5+
* target-type: J433
6+
*
7+
* Copyright The Asahi Linux Contributors
8+
*/
9+
10+
/dts-v1/;
11+
12+
#include "t8122.dtsi"
13+
#include "t8122-usbpd-i2c.dtsi"
14+
#include "t8122-jxxx.dtsi"
15+
16+
/ {
17+
compatible = "apple,j433", "apple,t8122", "apple,arm-platform";
18+
model = "Apple iMac (24-inch, 2x USB-C, M3, 2023)";
19+
};
20+
21+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-License-Identifier: GPL-2.0+ OR MIT
2+
/*
3+
* Apple iMac (24-inch, 4x USB-C, M3, 2023)
4+
*
5+
* target-type: J434
6+
*
7+
* Copyright The Asahi Linux Contributors
8+
*/
9+
10+
/dts-v1/;
11+
12+
#include "t8122.dtsi"
13+
#include "t8122-usbpd-i2c.dtsi"
14+
#include "t8122-jxxx.dtsi"
15+
16+
/ {
17+
compatible = "apple,j434", "apple,t8122", "apple,arm-platform";
18+
model = "Apple iMac (24-inch, 4x USB-C, M3, 2023)";
19+
};
20+
21+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// SPDX-License-Identifier: GPL-2.0+ OR MIT
2+
/*
3+
* Apple MacBook Pro (14-inch, M3, 2023)
4+
*
5+
* target-type: J504
6+
*
7+
* Copyright The Asahi Linux Contributors
8+
*/
9+
10+
/dts-v1/;
11+
12+
#include "t8122.dtsi"
13+
#include "t8122-usbpd-i2c.dtsi"
14+
#include "t8122-jxxx.dtsi"
15+
#include <dt-bindings/leds/common.h>
16+
17+
/ {
18+
compatible = "apple,j504", "apple,t8122", "apple,arm-platform";
19+
model = "Apple MacBook Pro (14-inch, M3, 2023)";
20+
21+
led-controller {
22+
compatible = "pwm-leds";
23+
led-0 {
24+
pwms = <&fpwm1 0 40000>;
25+
label = "kbd_backlight";
26+
function = LED_FUNCTION_KBD_BACKLIGHT;
27+
color = <LED_COLOR_ID_WHITE>;
28+
max-brightness = <255>;
29+
default-state = "keep";
30+
};
31+
};
32+
};
33+
34+
&fpwm1 {
35+
status = "okay";
36+
};
37+
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// SPDX-License-Identifier: GPL-2.0+ OR MIT
2+
/*
3+
* Apple M3 MacBook Air/Pro and iMac (M3, 2023/2024)
4+
*
5+
* This file contains parts common to all Apple M3 devices using the t8122.
6+
*
7+
* target-type: J433, J434, J504, J613, J615
8+
*
9+
* Copyright The Asahi Linux Contributors
10+
*/
11+
12+
/ {
13+
aliases {
14+
serial0 = &serial0;
15+
};
16+
17+
chosen {
18+
#address-cells = <2>;
19+
#size-cells = <2>;
20+
ranges;
21+
22+
stdout-path = "serial0";
23+
24+
framebuffer0: framebuffer@0 {
25+
compatible = "apple,simple-framebuffer", "simple-framebuffer";
26+
reg = <0 0 0 0>; /* To be filled by loader */
27+
power-domains = <&ps_disp_cpu>, <&ps_dptx_ext_phy>;
28+
/* Format properties will be added by loader */
29+
status = "disabled";
30+
};
31+
};
32+
33+
reserved-memory {
34+
#address-cells = <2>;
35+
#size-cells = <2>;
36+
ranges;
37+
/* To be filled by loader */
38+
};
39+
40+
memory@800000000 {
41+
device_type = "memory";
42+
reg = <0x8 0 0x2 0>; /* To be filled by loader */
43+
};
44+
};
45+
46+
&serial0 {
47+
status = "okay";
48+
};

0 commit comments

Comments
 (0)