mirror of
https://github.com/torvalds/linux.git
synced 2026-07-29 02:31:27 +02:00
Apple SoC DT update for 7.2
Add minimal device trees for all t8122 / base M3 based devices and some required new compatibles to the dt-bindings. These are enough to boot Linux on these devices to a simple serial console but future work is required to make these machines useful for end users. Signed-off-by: Sven Peter <sven@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaiFSMAAKCRBEEX0kKnUe 6ULzAQDG1d3BZ6IKYZRZkCNuQUecKZY/NA/6TdzU1I8eQ3nW7gEAsYeh/OSPD5/+ ZehIZZ7sIqowWzcmGAAXNDJvZBJKCw8= =mqxb -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooOGQACgkQmmx57+YA GNnHnxAAvKzB3bciQatigK6ggr53jjWm3XKzWlzE9ICGWiQk7uNcXQ3xsVVekOcg vAR1pEoVbi1ofNvptdiEIOvUULCB/0s/6aso7lqhMLC2M+CRCKPnvIOQvAh91pdJ ZvuHlptrK3guFLunGiDjWrahjwY7oLs0DOBXsLJq9BIsHJKtAlNzSMAIVJJAMd23 sVm6lq/kfFEa46YFLQYkZAKaW/DrhxFLQR092qMvoquFZwMxKm5y9ajt0h5LXLPb jPKRarCK0BJ+NwyRkIRHM2bYQxQrmBEhlJ/XetDtuA6o6fJce1rDZS2i3IywDVzP tvt8UPticpO6J5YbF1YHG2iMQkqPnquYl28RaPq8PPjWoJJ57phfhiffJZ7ZSusH mOis0++87Fe9uVKcvBiTCfjZibbFOAVgU5yu2M+GrSs6rl+OnbUqGOY7QNnMmDER autZuhuWNbTnNIuXa7s4j8GlS6YNoHIvlkTF20v2ABJeJc9zcaMJwgQOVNDShqhu HKml8AgdPIylSSHInZ9nkGjjfmUczTxtCMA3Pkp2Qi+SF41ry9dJP0oncX3kWSdV rRYAMDe5VQSI7aHKxHUuFxii6FG4mdEWeDjvjw/LGELenp52gSC5SCDY3/mycGop S+XMKxN6EO9+p8SrYBpmFVVJskSWIP+d5P+R4RVmfNZiHDA6h+s= =thB1 -----END PGP SIGNATURE----- Merge tag 'apple-soc-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/dt Apple SoC DT update for 7.2 Add minimal device trees for all t8122 / base M3 based devices and some required new compatibles to the dt-bindings. These are enough to boot Linux on these devices to a simple serial console but future work is required to make these machines useful for end users. Signed-off-by: Sven Peter <sven@kernel.org> * tag 'apple-soc-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: arm64: dts: apple: Initial t8122 (M3) device trees dt-bindings: arm: apple: Add M3 based devices dt-bindings: pwm: apple,s5l-fpwm: Add t8122 compatible dt-bindings: power: apple,pmgr-pwrstate: Add t8122 compatible dt-bindings: arm: apple: apple,pmgr: Add t8122 compatible Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
b55ed73106
|
|
@ -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)
|
||||
|
|
@ -297,6 +304,17 @@ properties:
|
|||
- const: apple,t8112
|
||||
- const: apple,arm-platform
|
||||
|
||||
- description: Apple M3 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 (14-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:
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ properties:
|
|||
- const: syscon
|
||||
- const: simple-mfd
|
||||
- items:
|
||||
- const: apple,t6020-pmgr
|
||||
- enum:
|
||||
- apple,t6020-pmgr
|
||||
- apple,t8122-pmgr
|
||||
- const: apple,t8103-pmgr
|
||||
- const: syscon
|
||||
- const: simple-mfd
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ properties:
|
|||
- apple,t6000-pmgr-pwrstate
|
||||
- const: apple,pmgr-pwrstate
|
||||
- items:
|
||||
- const: apple,t6020-pmgr-pwrstate
|
||||
- enum:
|
||||
- apple,t6020-pmgr-pwrstate
|
||||
- apple,t8122-pmgr-pwrstate
|
||||
- const: apple,t8103-pmgr-pwrstate
|
||||
|
||||
reg:
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ properties:
|
|||
- enum:
|
||||
- apple,t8103-fpwm
|
||||
- apple,t8112-fpwm
|
||||
- apple,t8122-fpwm
|
||||
- apple,t6000-fpwm
|
||||
- apple,t6020-fpwm
|
||||
- const: apple,s5l-fpwm
|
||||
|
|
|
|||
|
|
@ -91,3 +91,8 @@ 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) += t8122-j613.dtb
|
||||
dtb-$(CONFIG_ARCH_APPLE) += t8122-j615.dtb
|
||||
|
|
|
|||
19
arch/arm64/boot/dts/apple/t8122-j433.dts
Normal file
19
arch/arm64/boot/dts/apple/t8122-j433.dts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple iMac (24-inch, 2x USB-C, M3, 2023)
|
||||
*
|
||||
* target-type: J433
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "t8122.dtsi"
|
||||
#include "t8122-usbpd-i2c.dtsi"
|
||||
#include "t8122-jxxx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "apple,j433", "apple,t8122", "apple,arm-platform";
|
||||
model = "Apple iMac (24-inch, 2x USB-C, M3, 2023)";
|
||||
};
|
||||
19
arch/arm64/boot/dts/apple/t8122-j434.dts
Normal file
19
arch/arm64/boot/dts/apple/t8122-j434.dts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple iMac (24-inch, 4x USB-C, M3, 2023)
|
||||
*
|
||||
* target-type: J434
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "t8122.dtsi"
|
||||
#include "t8122-usbpd-i2c.dtsi"
|
||||
#include "t8122-jxxx.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "apple,j434", "apple,t8122", "apple,arm-platform";
|
||||
model = "Apple iMac (24-inch, 4x USB-C, M3, 2023)";
|
||||
};
|
||||
37
arch/arm64/boot/dts/apple/t8122-j504.dts
Normal file
37
arch/arm64/boot/dts/apple/t8122-j504.dts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// 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-usbpd-i2c.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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fpwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
35
arch/arm64/boot/dts/apple/t8122-j613.dts
Normal file
35
arch/arm64/boot/dts/apple/t8122-j613.dts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple MacBook Air (13-inch, M3, 2024)
|
||||
*
|
||||
* target-type: J613
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "t8122.dtsi"
|
||||
#include "t8122-jxxx.dtsi"
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "apple,j613", "apple,t8122", "apple,arm-platform";
|
||||
model = "Apple MacBook Air (13-inch, M3, 2024)";
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fpwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
35
arch/arm64/boot/dts/apple/t8122-j615.dts
Normal file
35
arch/arm64/boot/dts/apple/t8122-j615.dts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple MacBook Air (15-inch, M3, 2024)
|
||||
*
|
||||
* target-type: J615
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "t8122.dtsi"
|
||||
#include "t8122-jxxx.dtsi"
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
compatible = "apple,j615", "apple,t8122", "apple,arm-platform";
|
||||
model = "Apple MacBook Air (15-inch, M3, 2024)";
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fpwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
48
arch/arm64/boot/dts/apple/t8122-jxxx.dtsi
Normal file
48
arch/arm64/boot/dts/apple/t8122-jxxx.dtsi
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple M3 MacBook Air/Pro and iMac (M3, 2023/2024)
|
||||
*
|
||||
* This file contains parts common to all Apple M3 devices using the t8122.
|
||||
*
|
||||
* target-type: J433, J434, J504, J613, J615
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &serial0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
stdout-path = "serial0";
|
||||
|
||||
framebuffer0: framebuffer@0 {
|
||||
compatible = "apple,simple-framebuffer", "simple-framebuffer";
|
||||
reg = <0 0 0 0>; /* To be filled by loader */
|
||||
power-domains = <&ps_disp_cpu>, <&ps_dptx_ext_phy>;
|
||||
/* Format properties will be added by loader */
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
/* To be filled by loader */
|
||||
};
|
||||
|
||||
memory@800000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x8 0 0x2 0>; /* To be filled by loader */
|
||||
};
|
||||
};
|
||||
|
||||
&serial0 {
|
||||
status = "okay";
|
||||
};
|
||||
1149
arch/arm64/boot/dts/apple/t8122-pmgr.dtsi
Normal file
1149
arch/arm64/boot/dts/apple/t8122-pmgr.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
32
arch/arm64/boot/dts/apple/t8122-usbpd-i2c.dtsi
Normal file
32
arch/arm64/boot/dts/apple/t8122-usbpd-i2c.dtsi
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple M3 MacBook Pro and iMac (M3, 2023) I2C based USB PD controller nodes
|
||||
*
|
||||
* This file contains nodes for t8122 devices using I2C based cd321x USB Type-C
|
||||
* port controllers. The are used in the M3 MacBook Pro and iMacs but not in the
|
||||
* M3 Macbook Airs.
|
||||
*
|
||||
* target-type: J433, J434, J504
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
&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";
|
||||
};
|
||||
};
|
||||
444
arch/arm64/boot/dts/apple/t8122.dtsi
Normal file
444
arch/arm64/boot/dts/apple/t8122.dtsi
Normal file
|
|
@ -0,0 +1,444 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Apple T8122 "M3" SoC
|
||||
*
|
||||
* Other names: H15G
|
||||
*
|
||||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/apple-aic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/apple.h>
|
||||
#include <dt-bindings/phy/phy.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
/ {
|
||||
compatible = "apple,t8122", "apple,arm-platform";
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu_e0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu_e1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu_e2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu_e3>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&cpu_p0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu_p1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu_p2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu_p3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu_e0: 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_e1: 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_e2: 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_e3: 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_p0: 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_p1: 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_p2: 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_p3: 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>;
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
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>;
|
||||
|
||||
i2c0: i2c@235010000 {
|
||||
compatible = "apple,t8122-i2c", "apple,t8103-i2c";
|
||||
reg = <0x2 0x35010000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 761 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
power-domains = <&ps_i2c0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@235014000 {
|
||||
compatible = "apple,t8122-i2c", "apple,t8103-i2c";
|
||||
reg = <0x2 0x35014000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 762 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@235018000 {
|
||||
compatible = "apple,t8122-i2c", "apple,t8103-i2c";
|
||||
reg = <0x2 0x35018000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 763 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@23501c000 {
|
||||
compatible = "apple,t8122-i2c", "apple,t8103-i2c";
|
||||
reg = <0x2 0x3501c000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 764 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@235020000 {
|
||||
compatible = "apple,t8122-i2c", "apple,t8103-i2c";
|
||||
reg = <0x2 0x35020000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 765 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-names = "default";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
power-domains = <&ps_i2c4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fpwm1: pwm@2a1044000 {
|
||||
compatible = "apple,t8122-fpwm", "apple,s5l-fpwm";
|
||||
reg = <0x2 0xa1044000 0x0 0x4000>;
|
||||
power-domains = <&ps_fpwm1>;
|
||||
clocks = <&clkref>;
|
||||
#pwm-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
serial0: serial@2a1200000 {
|
||||
compatible = "apple,s5l-uart";
|
||||
reg = <0x2 0xa1200000 0x0 0x1000>;
|
||||
reg-io-width = <4>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 757 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";
|
||||
};
|
||||
|
||||
aic: interrupt-controller@2d1000000 {
|
||||
compatible = "apple,t8122-aic3";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x2 0xd1000000 0x0 0x184000>,
|
||||
<0x2 0xd1040000 0x0 0x4>;
|
||||
reg-names = "core", "event";
|
||||
power-domains = <&ps_aic>;
|
||||
|
||||
affinities {
|
||||
e-core-pmu-affinity {
|
||||
apple,fiq-index = <AIC_CPU_PMU_E>;
|
||||
cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
|
||||
};
|
||||
|
||||
p-core-pmu-affinity {
|
||||
apple,fiq-index = <AIC_CPU_PMU_P>;
|
||||
cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmgr: power-management@2d0700000 {
|
||||
compatible = "apple,t8122-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x2 0xd0700000 0 0x14000>;
|
||||
/* child nodes are added in t8122-pmgr.dtsi */
|
||||
};
|
||||
|
||||
pinctrl_ap: pinctrl@2c7100000 {
|
||||
compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
|
||||
reg = <0x2 0xc7100000 0x0 0x100000>;
|
||||
power-domains = <&ps_gpio>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl_ap 0 0 224>;
|
||||
apple,npins = <224>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 241 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 242 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 243 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 244 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 245 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 246 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 247 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
i2c0_pins: i2c0-pins {
|
||||
pinmux = <APPLE_PINMUX(145, 1)>,
|
||||
<APPLE_PINMUX(144, 1)>;
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1-pins {
|
||||
pinmux = <APPLE_PINMUX(147, 1)>,
|
||||
<APPLE_PINMUX(146, 1)>;
|
||||
};
|
||||
|
||||
i2c2_pins: i2c2-pins {
|
||||
pinmux = <APPLE_PINMUX(56, 1)>,
|
||||
<APPLE_PINMUX(55, 1)>;
|
||||
};
|
||||
|
||||
i2c3_pins: i2c3-pins {
|
||||
pinmux = <APPLE_PINMUX(54, 1)>,
|
||||
<APPLE_PINMUX(53, 1)>;
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4-pins {
|
||||
pinmux = <APPLE_PINMUX(149, 1)>,
|
||||
<APPLE_PINMUX(148, 1)>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
pinctrl_nub: pinctrl@2e41f0000 {
|
||||
compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
|
||||
reg = <0x2 0xe41f0000 0x0 0x4000>;
|
||||
power-domains = <&ps_nub_gpio>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl_nub 0 0 32>;
|
||||
apple,npins = <32>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 424 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 425 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 426 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 427 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 428 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 429 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 430 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pmgr_mini: power-management@2e4280000 {
|
||||
compatible = "apple,t8122-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x2 0xe4280000 0 0x4000>;
|
||||
/* child nodes are added in t8122-pmgr.dtsi */
|
||||
};
|
||||
|
||||
wdt: watchdog@2e42b0000 {
|
||||
compatible = "apple,t8122-wdt", "apple,t8103-wdt";
|
||||
reg = <0x2 0xe42b0000 0x0 0x4000>;
|
||||
clocks = <&clkref>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 432 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pinctrl_smc: pinctrl@2ec820000 {
|
||||
compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
|
||||
reg = <0x2 0xec820000 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 493 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 494 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 495 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 496 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 497 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 498 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 499 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pinctrl_aop: pinctrl@2f4824000 {
|
||||
compatible = "apple,t8122-pinctrl", "apple,t8103-pinctrl";
|
||||
reg = <0x2 0xf4824000 0x0 0x4000>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl_aop 0 0 54>;
|
||||
apple,npins = <54>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 346 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 347 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 348 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 349 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 350 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 351 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 352 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#include "t8122-pmgr.dtsi"
|
||||
Loading…
Reference in New Issue
Block a user