From c91d83866f136de041ec3a88fe8e0636d897dded Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 01:34:27 +1100 Subject: [PATCH 1/8] arm64: dts: apple: describe disabled T602x peripheral resources Describe the M2 Pro, Max and Ultra media, display, DMA, cache and SPMI resource topology. Preserve die bus translation and interrupt selectors, and correct the copied I2C register addresses. Keep all new controllers disabled pending driver and ownership qualification. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../dts/apple/t6020-j414s-peripherals.dtsi | 15 + arch/arm64/boot/dts/apple/t6020-j414s.dts | 4 + .../dts/apple/t6020-j416s-peripherals.dtsi | 15 + arch/arm64/boot/dts/apple/t6020-j416s.dts | 4 + .../dts/apple/t6020-j474s-peripherals.dtsi | 54 + arch/arm64/boot/dts/apple/t6020-j474s.dts | 4 + .../boot/dts/apple/t6020-peripherals.dtsi | 780 ++++++ arch/arm64/boot/dts/apple/t6021-j414c.dts | 2 + arch/arm64/boot/dts/apple/t6021-j416c.dts | 2 + .../dts/apple/t6021-j475c-peripherals.dtsi | 183 ++ arch/arm64/boot/dts/apple/t6021-j475c.dts | 4 + .../boot/dts/apple/t6021-peripherals.dtsi | 1070 ++++++++ .../dts/apple/t6022-j180d-peripherals.dtsi | 114 + arch/arm64/boot/dts/apple/t6022-j180d.dts | 10 + .../dts/apple/t6022-j475d-peripherals.dtsi | 82 + arch/arm64/boot/dts/apple/t6022-j475d.dts | 4 + .../boot/dts/apple/t6022-peripherals.dtsi | 2340 +++++++++++++++++ arch/arm64/boot/dts/apple/t602x-die0.dtsi | 14 +- 18 files changed, 4694 insertions(+), 7 deletions(-) create mode 100644 arch/arm64/boot/dts/apple/t6020-j414s-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6020-j416s-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6020-j474s-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6020-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6021-j475c-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6021-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6022-j475d-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6022-peripherals.dtsi diff --git a/arch/arm64/boot/dts/apple/t6020-j414s-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6020-j414s-peripherals.dtsi new file mode 100644 index 0000000000000..f853d86d18c93 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6020-j414s-peripherals.dtsi @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6020 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + m2_apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6020-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6020-j414s.dts b/arch/arm64/boot/dts/apple/t6020-j414s.dts index a227069727dd8..d25ddc974bd5a 100644 --- a/arch/arm64/boot/dts/apple/t6020-j414s.dts +++ b/arch/arm64/boot/dts/apple/t6020-j414s.dts @@ -45,3 +45,7 @@ &mtp_mt { firmware-name = "apple/tpmtfw-j414s.bin"; }; + +#include "t6020-peripherals.dtsi" + +#include "t6020-j414s-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6020-j416s-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6020-j416s-peripherals.dtsi new file mode 100644 index 0000000000000..f853d86d18c93 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6020-j416s-peripherals.dtsi @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6020 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + m2_apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6020-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6020-j416s.dts b/arch/arm64/boot/dts/apple/t6020-j416s.dts index 3ea2b1d52593e..75d2ce2083807 100644 --- a/arch/arm64/boot/dts/apple/t6020-j416s.dts +++ b/arch/arm64/boot/dts/apple/t6020-j416s.dts @@ -45,3 +45,7 @@ &mtp_mt { firmware-name = "apple/tpmtfw-j416s.bin"; }; + +#include "t6020-peripherals.dtsi" + +#include "t6020-j416s-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6020-j474s-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6020-j474s-peripherals.dtsi new file mode 100644 index 0000000000000..0b35b916d95e4 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6020-j474s-peripherals.dtsi @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6020 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + m2_apcie2_piodma: dma-controller@596010000 { + compatible = "apple,t6020-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x96010000 0x0 0x4000>, + <0x5 0x96014000 0x0 0x4000>, + <0x5 0x96018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_2 15>; + status = "disabled"; + }; + + m2_apcie3_piodma: dma-controller@597010000 { + compatible = "apple,t6020-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x97010000 0x0 0x4000>, + <0x5 0x97014000 0x0 0x4000>, + <0x5 0x97018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_3 15>; + status = "disabled"; + }; + + m2_atc3_dpin0: displayport-input@1301e50000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0x13 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc3_dpin1: displayport-input@1301e58000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0x13 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec3_piodma: dma-controller@1322000000 { + compatible = "apple,t6020-pciec-piodma", "apple,pciec-piodma"; + reg = <0x13 0x22000000 0x0 0x4000>, + <0x13 0x22004000 0x0 0x4000>, + <0x13 0x22008000 0x0 0x4000>, + <0x13 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec3_dart 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6020-j474s.dts b/arch/arm64/boot/dts/apple/t6020-j474s.dts index 1084e0cb71904..3d2b4c3e0211b 100644 --- a/arch/arm64/boot/dts/apple/t6020-j474s.dts +++ b/arch/arm64/boot/dts/apple/t6020-j474s.dts @@ -126,3 +126,7 @@ }; #include "hwmon-mini.dtsi" + +#include "t6020-peripherals.dtsi" + +#include "t6020-j474s-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6020-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6020-peripherals.dtsi new file mode 100644 index 0000000000000..9f0547e65bf03 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6020-peripherals.dtsi @@ -0,0 +1,780 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6020 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + m2_dart_dispext0_1: iommu@289300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x89300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_event_log_handler: event-log@28e080000 { + compatible = "apple,t6020-event-log", "apple,soc-event-log"; + reg = <0x2 0x8e080000 0x0 0x8000>, + <0x2 0x8e08c000 0x0 0x4000>, + <0x2 0x8e0d4000 0x0 0x4000>, + <0x2 0x8e094000 0x0 0x4000>, + <0x2 0x8e0a0000 0x0 0x1c000>, + <0x2 0x8e0cc000 0x0 0x4000>, + <0x2 0x8e0f0000 0x0 0x8000>, + <0x2 0x8e0ec000 0x0 0x4000>, + <0x2 0x8e09c000 0x0 0x4000>, + <0x2 0x8e0e0000 0x0 0xc000>, + <0x2 0x90280000 0x0 0x10000>, + <0x2 0x90290000 0x0 0x4000>, + <0x2 0x90298000 0x0 0x4000>, + <0x2 0x9029c000 0x0 0x4000>, + <0x2 0x902b0000 0x0 0x4000>, + <0x2 0x902b8000 0x0 0x8000>, + <0x2 0x902ac000 0x0 0x4000>, + <0x2 0x8e680000 0x0 0xc000>, + <0x2 0x8e68c000 0x0 0x4000>, + <0x2 0x8e6a0000 0x0 0x8000>, + <0x2 0x8e69c000 0x0 0x4000>, + <0x2 0x8e424000 0x0 0x4000>, + <0x2 0x8e428000 0x0 0x4000>, + <0x2 0x8e42c000 0x0 0x4000>, + <0x2 0x8e430000 0x0 0x4000>, + <0x2 0x8e434000 0x0 0x4000>, + <0x2 0x8e440000 0x0 0x4000>, + <0x2 0x8e444000 0x0 0x4000>, + <0x2 0x8e448000 0x0 0x4000>, + <0x2 0x8e420000 0x0 0x4000>, + <0x2 0x8e400000 0x0 0x8000>, + <0x2 0x8e408000 0x0 0x8000>, + <0x2 0x9e200000 0x0 0x80000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e600000 0x0 0x58000>, + <0x2 0x9e280000 0x0 0x58000>, + <0x2 0x85838000 0x0 0x8000>, + <0x2 0x85868000 0x0 0x4000>, + <0x4 0x4e1c000 0x0 0x4000>, + <0x4 0x4e5c000 0x0 0x4000>, + <0x4 0x4ea8000 0x0 0x4000>, + <0x4 0x4eac000 0x0 0x4000>, + <0x4 0x4e8c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + m2_dwi: dwi@28e0fc000 { + compatible = "apple,t6020-dwi", "apple,dwi"; + reg = <0x2 0x8e0fc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + m2_aic_timebase: timer@28e148000 { + compatible = "apple,t6020-aic-timebase", "apple,aic-timebase"; + reg = <0x2 0x8e148000 0x0 0x1000>; + status = "disabled"; + }; + + m2_mcc: memory-controller@28e3c0000 { + compatible = "apple,t6020-mcc", "apple,mcc"; + reg = <0x2 0x8e3c0000 0x0 0x20000>, + <0x2 0x8e4d0000 0x0 0x149c>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>; + status = "disabled"; + }; + + m2_clvr_spmi0_sideband: spmi-sideband@290004000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90004000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi0: spmi@29000c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9000c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi1_sideband: spmi-sideband@290044000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90044000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi1: spmi@29004c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9004c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi2_sideband: spmi-sideband@290084000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90084000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi2: spmi@29008c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9008c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_nub_spmi0_sideband: spmi-sideband@29e104000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1_sideband: spmi-sideband@29e144000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e144000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1: spmi@29e154000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9e154000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@a { + compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; + reg = <0xa SPMI_USID>; + read-only; + status = "disabled"; + }; + + peripheral@d { + compatible = "apple,t6020-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xd SPMI_USID>; + status = "disabled"; + }; + }; + + m2_dockchannel_uart: serial@29e52c000 { + compatible = "apple,t6020-dockchannel-uart", "apple,dockchannel-uart"; + reg-names = "data", "config", "irq"; + reg = <0x2 0x9e52c000 0x0 0x4000>, + <0x2 0x9e528000 0x0 0x4000>, + <0x2 0x9e50c000 0x0 0x18>; + apple,sw-drain; + status = "disabled"; + }; + + m2_aop_spmi0_sideband: spmi-sideband@2a6884000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa6884000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi0: spmi@2a6894000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa6894000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6020-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi0>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + peripheral@e { + compatible = "apple,t6020-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xe SPMI_USID>; + status = "disabled"; + }; + }; + + m2_aop_spmi1_sideband: spmi-sideband@2a68c4000 { + compatible = "apple,t6020-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa68c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi1: spmi@2a68d4000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa68d4000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6020-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi1>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + }; + + m2_apr0: video-codec@311000000 { + compatible = "apple,t6020-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x3 0x11000000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr0_0 1>, <&m2_dart_apr0_1 1>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_apr0_1: iommu@311024000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11024000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_apr0_0: iommu@311028000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_scdc0: iommu@31102c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x1102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scdc0: coprocessor@312400000 { + compatible = "apple,t6020-scdc", "apple,scdc"; + reg = <0x3 0x12400000 0x0 0x6c000>, + <0x3 0x12050000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>, + <0x3 0x11040000 0x0 0x1c000>, + <0x3 0x11070000 0x0 0x4000>, + <0x3 0x11074000 0x0 0x4000>, + <0x3 0x11100000 0x0 0x3c000>, + <0x3 0x11140000 0x0 0x20000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_scdc0 0>, <&m2_dart_apr0_0 0>, <&m2_dart_apr0_1 0>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext1_1: iommu@315300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x15300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg0: jpeg@38d000000 { + compatible = "apple,t6020-jpeg", "apple,jpeg"; + reg = <0x3 0x8d000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg0 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg0: iommu@38d004000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg1: jpeg@38d008000 { + compatible = "apple,t6020-jpeg", "apple,jpeg"; + reg = <0x3 0x8d008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg1 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg1: iommu@38d00c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_error_handler: error-handler@394c40000 { + compatible = "apple,t6020-error-handler", "apple,soc-error-handler"; + reg = <0x3 0x94c40000 0x0 0x40000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e080000 0x0 0x80000>, + <0x2 0x9e2cc000 0x0 0x4000>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x0 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x4 0x0 0x0 0x4000>, + <0x3 0x40000000 0x0 0x4000>, + <0x2 0x59000000 0x0 0x3c000>, + <0x2 0x59400000 0x0 0x3c000>, + <0x2 0x59c00000 0x0 0x3c000>, + <0x2 0x5b000000 0x0 0x3c000>, + <0x2 0x5b400000 0x0 0x3c000>, + <0x2 0x59800000 0x0 0x3c000>, + <0x2 0x5b800000 0x0 0x3c000>, + <0x2 0x5bc00000 0x0 0x3c000>, + <0x2 0x4fc00000 0x0 0x3c000>, + <0x2 0x50c00000 0x0 0x3c000>, + <0x2 0x51000000 0x0 0x3c000>, + <0x2 0x4fcc0000 0x0 0x3c000>, + <0x2 0x510c0000 0x0 0x3c000>, + <0x4 0x7180000 0x0 0x18000>, + <0x4 0x7380000 0x0 0x18000>, + <0x4 0x71a0000 0x0 0x18000>, + <0x4 0x73a0000 0x0 0x18000>, + <0x4 0x7000000 0x0 0x18000>, + <0x4 0x7200000 0x0 0x18000>, + <0x4 0x7080000 0x0 0x18000>, + <0x4 0x7280000 0x0 0x18000>, + <0x4 0x7040000 0x0 0x18000>, + <0x4 0x7240000 0x0 0x18000>, + <0x4 0x70c0000 0x0 0x18000>, + <0x4 0x72c0000 0x0 0x18000>, + <0x2 0x58c00000 0x0 0x3c000>, + <0x2 0x5ac00000 0x0 0x3c000>, + <0x2 0x5c000000 0x0 0x3c000>, + <0x2 0x5d000000 0x0 0x3c000>, + <0x2 0x4f800000 0x0 0x3c000>, + <0x2 0x50800000 0x0 0x3c000>, + <0x2 0x52000000 0x0 0x3c000>, + <0x2 0x53000000 0x0 0x3c000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x4f432000 0x0 0x1000>, + <0x2 0x50032000 0x0 0x1000>, + <0x2 0x50432000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>, + <0x2 0x58832000 0x0 0x1000>, + <0x2 0x5a032000 0x0 0x1000>, + <0x2 0x5a432000 0x0 0x1000>, + <0x2 0x5a832000 0x0 0x1000>, + <0x4 0x7114000 0x0 0x1000>, + <0x4 0x7314000 0x0 0x1000>, + <0x4 0x7134000 0x0 0x1000>, + <0x4 0x7334000 0x0 0x1000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x71e0000 0x0 0x4000>, + <0x4 0x73e0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&ps_gfx>; + status = "disabled"; + }; + + m2_aes: aes@39b070000 { + compatible = "apple,t6020-aes", "apple,aes"; + reg = <0x3 0x9b070000 0x0 0x4000>, + <0x2 0x9e2b0000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&sio_dart 1>; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + m2_scaler0: scaler@40b000000 { + compatible = "apple,t6020-scaler", "apple,scaler"; + reg = <0x4 0xb000000 0x0 0x28000>, + <0x4 0xb210000 0x0 0x4000>, + <0x4 0xb204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler0 0>, <&m2_dart_scaler0 1>; + power-domains = <&ps_msr0>, <&ps_afr>, <&ps_msr0_ase_core>; + status = "disabled"; + }; + + m2_dart_scaler0: iommu@40b200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xb200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_avd_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_2: iommu@40d020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_0: iommu@40d030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_1: iommu@40d040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_3: iommu@40d044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave0: video-codec@40d100000 { + compatible = "apple,t6020-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x4 0xd100000 0x0 0x45c000>, + <0x4 0xd050000 0x0 0x8000>, + <0x4 0xd800000 0x0 0x800000>, + <0x2 0x902803e0 0x0 0x7c44>, + <0x4 0xc000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave0_0 0>, <&m2_dart_ave0_1 0>, <&m2_dart_ave0_2 0>, <&m2_dart_ave0_3 0>; + power-domains = <&ps_venc_dma>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_afr>; + status = "disabled"; + }; + + m2_apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6020-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_0 15>; + status = "disabled"; + }; + + m2_atc0_dpin0: displayport-input@701e50000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0x7 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc0_dpin1: displayport-input@701e58000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0x7 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6020-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec0_dart 15>; + status = "disabled"; + }; + + m2_atc1_dpin0: displayport-input@b01e50000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0xb 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc1_dpin1: displayport-input@b01e58000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0xb 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6020-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec1_dart 15>; + status = "disabled"; + }; + + m2_atc2_dpin0: displayport-input@f01e50000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0xf 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc2_dpin1: displayport-input@f01e58000 { + compatible = "apple,t6020-dpin", "apple,dpin"; + reg = <0xf 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6020-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec2_dart 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6021-j414c.dts b/arch/arm64/boot/dts/apple/t6021-j414c.dts index 2521633009343..3b5c7091d781f 100644 --- a/arch/arm64/boot/dts/apple/t6021-j414c.dts +++ b/arch/arm64/boot/dts/apple/t6021-j414c.dts @@ -64,3 +64,5 @@ spi-cs-setup-delay-ns = <20>; spi-cs-hold-delay-ns = <20>; }; + +#include "t6021-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6021-j416c.dts b/arch/arm64/boot/dts/apple/t6021-j416c.dts index 1c95fce375000..a1d140d80af8c 100644 --- a/arch/arm64/boot/dts/apple/t6021-j416c.dts +++ b/arch/arm64/boot/dts/apple/t6021-j416c.dts @@ -66,3 +66,5 @@ &mtp_mt { firmware-name = "apple/tpmtfw-j416c.bin"; }; + +#include "t6021-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6021-j475c-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6021-j475c-peripherals.dtsi new file mode 100644 index 0000000000000..cd4b961328eeb --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6021-j475c-peripherals.dtsi @@ -0,0 +1,183 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6021 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + + m2_dart_dispext2_0: iommu@48d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext2: iommu@48d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext2_mbox: mailbox@48dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x4 0x8dc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext2: dcp@48dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext2_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x4 0x8dc00000 0 0x4000>, + <0x4 0x8c000000 0 0x4000000>, + <0x4 0x8d320000 0 0x4000>, + <0x4 0x8d344000 0 0x4000>, + <0x4 0x8d800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext2 5>; + power-domains = <&ps_dispext2_cpu0>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext2_0 4>; + }; + }; + + m2_dart_dispext3_0: iommu@50d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext3: iommu@50d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext3_mbox: mailbox@50dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x5 0xdc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext3: dcp@50dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext3_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x5 0xdc00000 0 0x4000>, + <0x5 0xc000000 0 0x4000000>, + <0x5 0xd320000 0 0x4000>, + <0x5 0xd344000 0 0x4000>, + <0x5 0xd800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext3 5>; + power-domains = <&ps_dispext3_cpu0>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext3_0 4>; + }; + }; + + m2_apcie2_piodma: dma-controller@596010000 { + compatible = "apple,t6021-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x96010000 0x0 0x4000>, + <0x5 0x96014000 0x0 0x4000>, + <0x5 0x96018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_2 15>; + status = "disabled"; + }; + + m2_apcie3_piodma: dma-controller@597010000 { + compatible = "apple,t6021-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x97010000 0x0 0x4000>, + <0x5 0x97014000 0x0 0x4000>, + <0x5 0x97018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_3 15>; + status = "disabled"; + }; + + m2_atc3_dpin0: displayport-input@1301e50000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0x13 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc3_dpin1: displayport-input@1301e58000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0x13 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec3_piodma: dma-controller@1322000000 { + compatible = "apple,t6021-pciec-piodma", "apple,pciec-piodma"; + reg = <0x13 0x22000000 0x0 0x4000>, + <0x13 0x22004000 0x0 0x4000>, + <0x13 0x22008000 0x0 0x4000>, + <0x13 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec3_dart 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6021-j475c.dts b/arch/arm64/boot/dts/apple/t6021-j475c.dts index 89ba95bc8cf12..c3fce206ab662 100644 --- a/arch/arm64/boot/dts/apple/t6021-j475c.dts +++ b/arch/arm64/boot/dts/apple/t6021-j475c.dts @@ -125,3 +125,7 @@ }; #include "hwmon-fan-dual.dtsi" + +#include "t6021-peripherals.dtsi" + +#include "t6021-j475c-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6021-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6021-peripherals.dtsi new file mode 100644 index 0000000000000..8ea7aff6e313d --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6021-peripherals.dtsi @@ -0,0 +1,1070 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6021 hardware resources. Keep unqualified blocks disabled. */ + +&{/soc} { + m2_dart_dispext0_1: iommu@289300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x89300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_event_log_handler: event-log@28e080000 { + compatible = "apple,t6021-event-log", "apple,soc-event-log"; + reg = <0x2 0x8e080000 0x0 0x8000>, + <0x2 0x8e08c000 0x0 0x4000>, + <0x2 0x8e0d4000 0x0 0x4000>, + <0x2 0x8e094000 0x0 0x4000>, + <0x2 0x8e0a0000 0x0 0x1c000>, + <0x2 0x8e0cc000 0x0 0x4000>, + <0x2 0x8e0f0000 0x0 0x8000>, + <0x2 0x8e0ec000 0x0 0x4000>, + <0x2 0x8e09c000 0x0 0x4000>, + <0x2 0x8e0e0000 0x0 0xc000>, + <0x2 0x90280000 0x0 0x10000>, + <0x2 0x90290000 0x0 0x4000>, + <0x2 0x90298000 0x0 0x4000>, + <0x2 0x9029c000 0x0 0x4000>, + <0x2 0x902b0000 0x0 0x4000>, + <0x2 0x902b8000 0x0 0x8000>, + <0x2 0x902ac000 0x0 0x4000>, + <0x2 0x8e680000 0x0 0xc000>, + <0x2 0x8e68c000 0x0 0x4000>, + <0x2 0x8e6a0000 0x0 0x8000>, + <0x2 0x8e69c000 0x0 0x4000>, + <0x2 0x8e424000 0x0 0x4000>, + <0x2 0x8e428000 0x0 0x4000>, + <0x2 0x8e42c000 0x0 0x4000>, + <0x2 0x8e430000 0x0 0x4000>, + <0x2 0x8e434000 0x0 0x4000>, + <0x2 0x8e440000 0x0 0x4000>, + <0x2 0x8e444000 0x0 0x4000>, + <0x2 0x8e448000 0x0 0x4000>, + <0x2 0x8e420000 0x0 0x4000>, + <0x2 0x8e400000 0x0 0x8000>, + <0x2 0x8e408000 0x0 0x8000>, + <0x2 0x9e200000 0x0 0x80000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e600000 0x0 0x58000>, + <0x2 0x9e280000 0x0 0x58000>, + <0x2 0x85838000 0x0 0x8000>, + <0x2 0x85868000 0x0 0x4000>, + <0x4 0x4e1c000 0x0 0x4000>, + <0x4 0x4e5c000 0x0 0x4000>, + <0x4 0x4ea8000 0x0 0x4000>, + <0x4 0x4eac000 0x0 0x4000>, + <0x4 0x4e8c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + m2_dwi: dwi@28e0fc000 { + compatible = "apple,t6021-dwi", "apple,dwi"; + reg = <0x2 0x8e0fc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + m2_aic_timebase: timer@28e148000 { + compatible = "apple,t6021-aic-timebase", "apple,aic-timebase"; + reg = <0x2 0x8e148000 0x0 0x1000>; + status = "disabled"; + }; + + m2_mcc: memory-controller@28e3c0000 { + compatible = "apple,t6021-mcc", "apple,mcc"; + reg = <0x2 0x8e3c0000 0x0 0x20000>, + <0x2 0x8e4d0000 0x0 0x149c>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>, + <0x2 0x4000000 0x0 0x1000000>, + <0x2 0x5000000 0x0 0x1000000>, + <0x2 0x6000000 0x0 0x1000000>, + <0x2 0x7000000 0x0 0x1000000>; + status = "disabled"; + }; + + m2_clvr_spmi0_sideband: spmi-sideband@290004000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90004000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi0: spmi@29000c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9000c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi1_sideband: spmi-sideband@290044000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90044000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi1: spmi@29004c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9004c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi2_sideband: spmi-sideband@290084000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90084000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi2: spmi@29008c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9008c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi3_sideband: spmi-sideband@2900c4000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x900c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi3: spmi@2900cc000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x900cc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi4_sideband: spmi-sideband@290104000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi4: spmi@29010c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9010c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_nub_spmi0_sideband: spmi-sideband@29e104000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1_sideband: spmi-sideband@29e144000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e144000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1: spmi@29e154000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9e154000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@a { + compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; + reg = <0xa SPMI_USID>; + read-only; + status = "disabled"; + }; + + peripheral@d { + compatible = "apple,t6021-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xd SPMI_USID>; + status = "disabled"; + }; + }; + + m2_dockchannel_uart: serial@29e52c000 { + compatible = "apple,t6021-dockchannel-uart", "apple,dockchannel-uart"; + reg-names = "data", "config", "irq"; + reg = <0x2 0x9e52c000 0x0 0x4000>, + <0x2 0x9e528000 0x0 0x4000>, + <0x2 0x9e50c000 0x0 0x18>; + apple,sw-drain; + status = "disabled"; + }; + + m2_aop_spmi0_sideband: spmi-sideband@2a6884000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa6884000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi0: spmi@2a6894000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa6894000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6021-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi0>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + peripheral@e { + compatible = "apple,t6021-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xe SPMI_USID>; + status = "disabled"; + }; + }; + + m2_aop_spmi1_sideband: spmi-sideband@2a68c4000 { + compatible = "apple,t6021-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa68c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi1: spmi@2a68d4000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa68d4000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6021-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi1>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + }; + + m2_apr0: video-codec@311000000 { + compatible = "apple,t6021-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x3 0x11000000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr0_0 1>, <&m2_dart_apr0_1 1>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_apr0_1: iommu@311024000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11024000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_apr0_0: iommu@311028000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_scdc0: iommu@31102c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x1102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scdc0: coprocessor@312400000 { + compatible = "apple,t6021-scdc", "apple,scdc"; + reg = <0x3 0x12400000 0x0 0x6c000>, + <0x3 0x12050000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>, + <0x3 0x11040000 0x0 0x1c000>, + <0x3 0x11070000 0x0 0x4000>, + <0x3 0x11074000 0x0 0x4000>, + <0x3 0x11100000 0x0 0x3c000>, + <0x3 0x11140000 0x0 0x20000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_scdc0 0>, <&m2_dart_apr0_0 0>, <&m2_dart_apr0_1 0>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext1_1: iommu@315300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x15300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg0: jpeg@38d000000 { + compatible = "apple,t6021-jpeg", "apple,jpeg"; + reg = <0x3 0x8d000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg0 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg0: iommu@38d004000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg1: jpeg@38d008000 { + compatible = "apple,t6021-jpeg", "apple,jpeg"; + reg = <0x3 0x8d008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg1 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg1: iommu@38d00c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_error_handler: error-handler@394c40000 { + compatible = "apple,t6021-error-handler", "apple,soc-error-handler"; + reg = <0x3 0x94c40000 0x0 0x40000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e080000 0x0 0x80000>, + <0x2 0x9e2cc000 0x0 0x4000>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>, + <0x2 0x4000000 0x0 0x1000000>, + <0x2 0x5000000 0x0 0x1000000>, + <0x2 0x6000000 0x0 0x1000000>, + <0x2 0x7000000 0x0 0x1000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x0 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x4 0x0 0x0 0x4000>, + <0x4 0x80000000 0x0 0x4000>, + <0x5 0x0 0x0 0x4000>, + <0x3 0x40000000 0x0 0x4000>, + <0x2 0x59000000 0x0 0x3c000>, + <0x2 0x59400000 0x0 0x3c000>, + <0x2 0x59c00000 0x0 0x3c000>, + <0x2 0x5b000000 0x0 0x3c000>, + <0x2 0x5b400000 0x0 0x3c000>, + <0x2 0x60400000 0x0 0x3c000>, + <0x2 0x60800000 0x0 0x3c000>, + <0x2 0x59800000 0x0 0x3c000>, + <0x2 0x5b800000 0x0 0x3c000>, + <0x2 0x5bc00000 0x0 0x3c000>, + <0x2 0x4fc00000 0x0 0x3c000>, + <0x2 0x50c00000 0x0 0x3c000>, + <0x2 0x51000000 0x0 0x3c000>, + <0x2 0x4fcc0000 0x0 0x3c000>, + <0x2 0x510c0000 0x0 0x3c000>, + <0x4 0x7180000 0x0 0x18000>, + <0x4 0x7380000 0x0 0x18000>, + <0x4 0x71a0000 0x0 0x18000>, + <0x4 0x73a0000 0x0 0x18000>, + <0x4 0x7000000 0x0 0x18000>, + <0x4 0x7200000 0x0 0x18000>, + <0x4 0x7080000 0x0 0x18000>, + <0x4 0x7280000 0x0 0x18000>, + <0x4 0x7040000 0x0 0x18000>, + <0x4 0x7240000 0x0 0x18000>, + <0x4 0x70c0000 0x0 0x18000>, + <0x4 0x72c0000 0x0 0x18000>, + <0x4 0x7400000 0x0 0x18000>, + <0x4 0x7600000 0x0 0x18000>, + <0x4 0x7480000 0x0 0x18000>, + <0x4 0x7680000 0x0 0x18000>, + <0x4 0x7440000 0x0 0x18000>, + <0x4 0x7640000 0x0 0x18000>, + <0x4 0x74c0000 0x0 0x18000>, + <0x4 0x76c0000 0x0 0x18000>, + <0x2 0x58c00000 0x0 0x3c000>, + <0x2 0x5ac00000 0x0 0x3c000>, + <0x2 0x5c000000 0x0 0x3c000>, + <0x2 0x5d000000 0x0 0x3c000>, + <0x2 0x5ec00000 0x0 0x3c000>, + <0x2 0x60000000 0x0 0x3c000>, + <0x2 0x61000000 0x0 0x3c000>, + <0x2 0x62000000 0x0 0x3c000>, + <0x2 0x4f800000 0x0 0x3c000>, + <0x2 0x50800000 0x0 0x3c000>, + <0x2 0x52000000 0x0 0x3c000>, + <0x2 0x53000000 0x0 0x3c000>, + <0x2 0x54800000 0x0 0x3c000>, + <0x2 0x55800000 0x0 0x3c000>, + <0x2 0x56000000 0x0 0x3c000>, + <0x2 0x57000000 0x0 0x3c000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x4f432000 0x0 0x1000>, + <0x2 0x50032000 0x0 0x1000>, + <0x2 0x50432000 0x0 0x1000>, + <0x2 0x54032000 0x0 0x1000>, + <0x2 0x55032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>, + <0x2 0x58832000 0x0 0x1000>, + <0x2 0x5a032000 0x0 0x1000>, + <0x2 0x5a432000 0x0 0x1000>, + <0x2 0x5a832000 0x0 0x1000>, + <0x2 0x5e032000 0x0 0x1000>, + <0x2 0x5e432000 0x0 0x1000>, + <0x2 0x5f032000 0x0 0x1000>, + <0x2 0x5f432000 0x0 0x1000>, + <0x2 0x5f832000 0x0 0x1000>, + <0x4 0x7114000 0x0 0x1000>, + <0x4 0x7314000 0x0 0x1000>, + <0x4 0x7134000 0x0 0x1000>, + <0x4 0x7334000 0x0 0x1000>, + <0x4 0x7514000 0x0 0x1000>, + <0x4 0x7714000 0x0 0x1000>, + <0x4 0x7534000 0x0 0x1000>, + <0x4 0x7734000 0x0 0x1000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x71e0000 0x0 0x4000>, + <0x4 0x73e0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&ps_gfx>; + status = "disabled"; + }; + + m2_aes: aes@39b070000 { + compatible = "apple,t6021-aes", "apple,aes"; + reg = <0x3 0x9b070000 0x0 0x4000>, + <0x2 0x9e2b0000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&sio_dart 1>; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + m2_apr1: video-codec@409000000 { + compatible = "apple,t6021-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x4 0x9000000 0x0 0x4000>, + <0x4 0x8000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr1 0>; + power-domains = <&ps_prores>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_apr1: iommu@409008000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x9008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scaler0: scaler@40b000000 { + compatible = "apple,t6021-scaler", "apple,scaler"; + reg = <0x4 0xb000000 0x0 0x28000>, + <0x4 0xb210000 0x0 0x4000>, + <0x4 0xb204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler0 0>, <&m2_dart_scaler0 1>; + power-domains = <&ps_msr0>, <&ps_afr>, <&ps_msr0_ase_core>; + status = "disabled"; + }; + + m2_dart_scaler0: iommu@40b200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xb200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_avd_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_2: iommu@40d020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_0: iommu@40d030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_1: iommu@40d040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_3: iommu@40d044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave0: video-codec@40d100000 { + compatible = "apple,t6021-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x4 0xd100000 0x0 0x45c000>, + <0x4 0xd050000 0x0 0x8000>, + <0x4 0xd800000 0x0 0x800000>, + <0x2 0x902803e0 0x0 0x7c44>, + <0x4 0xc000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave0_0 0>, <&m2_dart_ave0_1 0>, <&m2_dart_ave0_2 0>, <&m2_dart_ave0_3 0>; + power-domains = <&ps_venc_dma>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext2_1: iommu@48d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scaler1: scaler@491000000 { + compatible = "apple,t6021-scaler", "apple,scaler"; + reg = <0x4 0x91000000 0x0 0x28000>, + <0x4 0x91210000 0x0 0x4000>, + <0x4 0x91204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler1 0>, <&m2_dart_scaler1 1>; + power-domains = <&ps_msr1>, <&ps_afr>, <&ps_msr1_ase_core>; + status = "disabled"; + }; + + m2_dart_scaler1: iommu@491200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x91200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_msr1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_2: iommu@507020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_0: iommu@507030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_1: iommu@507040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_3: iommu@507044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave1: video-codec@507100000 { + compatible = "apple,t6021-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x5 0x7100000 0x0 0x45c000>, + <0x5 0x7050000 0x0 0x8000>, + <0x5 0x7800000 0x0 0x800000>, + <0x2 0x8e680228 0x0 0x3dfc>, + <0x5 0x6000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave1_0 0>, <&m2_dart_ave1_1 0>, <&m2_dart_ave1_2 0>, <&m2_dart_ave1_3 0>; + power-domains = <&ps_venc1_dma>, <&ps_venc1_pipe4>, <&ps_venc1_pipe5>, <&ps_venc1_me0>, <&ps_venc1_me1>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext3_1: iommu@50d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6021-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_0 15>; + status = "disabled"; + }; + + m2_apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6021-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; + + m2_atc0_dpin0: displayport-input@701e50000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0x7 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc0_dpin1: displayport-input@701e58000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0x7 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6021-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec0_dart 15>; + status = "disabled"; + }; + + m2_atc1_dpin0: displayport-input@b01e50000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0xb 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc1_dpin1: displayport-input@b01e58000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0xb 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6021-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec1_dart 15>; + status = "disabled"; + }; + + m2_atc2_dpin0: displayport-input@f01e50000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0xf 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc2_dpin1: displayport-input@f01e58000 { + compatible = "apple,t6021-dpin", "apple,dpin"; + reg = <0xf 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6021-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec2_dart 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi new file mode 100644 index 0000000000000..6809faa5e6312 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6022 hardware resources. Keep unqualified blocks disabled. */ + +&die0 { + m2_aop_spmi0: spmi@2a6894000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa6894000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + peripheral@e { + compatible = "apple,t6022-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xe SPMI_USID>; + status = "disabled"; + }; + }; + + m2_apcie_ge0_piodma: dma-controller@1694010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x16 0x94010000 0x0 0x4000>, + <0x16 0x94014000 0x0 0x4000>, + <0x16 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie_ge_dart 15>; + status = "disabled"; + }; +}; + +&die1 { + m2_atc6_dpin0: displayport-input@f01e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xf 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc6_dpin1: displayport-input@f01e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xf 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec6_piodma: dma-controller@f22000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec2_dart_die1 15>; + status = "disabled"; + }; + + m2_atc7_dpin0: displayport-input@1301e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x13 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc7_dpin1: displayport-input@1301e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x13 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec7_piodma: dma-controller@1322000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0x13 0x22000000 0x0 0x4000>, + <0x13 0x22004000 0x0 0x4000>, + <0x13 0x22008000 0x0 0x4000>, + <0x13 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_apciec7_dart 15>; + status = "disabled"; + }; + + m2_apcie_ge1_piodma: dma-controller@1694010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x16 0x94010000 0x0 0x4000>, + <0x16 0x94014000 0x0 0x4000>, + <0x16 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie_ge_dart_die1 15>; + status = "disabled"; + }; +}; + +&die1 { + m2_apciec7_dart: iommu@1321008000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x13 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6022-j180d.dts b/arch/arm64/boot/dts/apple/t6022-j180d.dts index 91677000cc120..152b5b47a652b 100644 --- a/arch/arm64/boot/dts/apple/t6022-j180d.dts +++ b/arch/arm64/boot/dts/apple/t6022-j180d.dts @@ -33,6 +33,12 @@ ethernet1 = ðernet1; nvram = &nvram; serial0 = &serial0; + /* + * The loader sets up and enables each SIO it finds by alias. + * The die 0 HDMI port's audio (dpaudio1) is fed by the die 0 + * SIO; t6022-jxxxd.dtsi only aliases the die 1 one as sio1. + */ + sio = &sio; usb4-0-acio = &usb4_0_acio; usb4-0-nhi = &usb4_0_nhi; usb4-1-acio = &usb4_1_acio; @@ -1233,3 +1239,7 @@ }; #include "spi1-nvram.dtsi" + +#include "t6022-peripherals.dtsi" + +#include "t6022-j180d-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6022-j475d-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6022-j475d-peripherals.dtsi new file mode 100644 index 0000000000000..a19c6daf3253a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6022-j475d-peripherals.dtsi @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6022 hardware resources. Keep unqualified blocks disabled. */ + +&die0 { + m2_aop_spmi0: spmi@2a6894000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa6894000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6022-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi0>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + + peripheral@e { + compatible = "apple,t6022-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xe SPMI_USID>; + status = "disabled"; + }; + }; + + m2_apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_0 15>; + status = "disabled"; + }; + + m2_apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; + + m2_apcie2_piodma: dma-controller@596010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x96010000 0x0 0x4000>, + <0x5 0x96014000 0x0 0x4000>, + <0x5 0x96018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_2 15>; + status = "disabled"; + }; + + m2_apcie3_piodma: dma-controller@597010000 { + compatible = "apple,t6022-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x97010000 0x0 0x4000>, + <0x5 0x97014000 0x0 0x4000>, + <0x5 0x97018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_3 15>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6022-j475d.dts b/arch/arm64/boot/dts/apple/t6022-j475d.dts index 6c09afcffc9a6..27b7fdae0dba3 100644 --- a/arch/arm64/boot/dts/apple/t6022-j475d.dts +++ b/arch/arm64/boot/dts/apple/t6022-j475d.dts @@ -110,3 +110,7 @@ compatible = "apple,j475-macaudio", "apple,j375-macaudio", "apple,macaudio"; model = "Mac Studio J475"; }; + +#include "t6022-peripherals.dtsi" + +#include "t6022-j475d-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi new file mode 100644 index 0000000000000..b81f3761a8bd8 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi @@ -0,0 +1,2340 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6022 hardware resources. Keep unqualified blocks disabled. */ + +&{/} { + m2_event_log_handler: event-log@28e080000 { + compatible = "apple,t6022-event-log", "apple,soc-event-log"; + reg = <0x2 0x8e080000 0x0 0x8000>, + <0x2 0x8e08c000 0x0 0x4000>, + <0x2 0x8e0d4000 0x0 0x4000>, + <0x2 0x8e094000 0x0 0x4000>, + <0x2 0x8e0a0000 0x0 0x1c000>, + <0x2 0x8e0cc000 0x0 0x4000>, + <0x2 0x8e0f0000 0x0 0x8000>, + <0x2 0x8e0ec000 0x0 0x4000>, + <0x2 0x8e09c000 0x0 0x4000>, + <0x2 0x8e0e0000 0x0 0xc000>, + <0x2 0x90280000 0x0 0x10000>, + <0x2 0x90290000 0x0 0x4000>, + <0x2 0x90298000 0x0 0x4000>, + <0x2 0x9029c000 0x0 0x4000>, + <0x2 0x902b0000 0x0 0x4000>, + <0x2 0x902b8000 0x0 0x8000>, + <0x2 0x902ac000 0x0 0x4000>, + <0x2 0x8e680000 0x0 0xc000>, + <0x2 0x8e68c000 0x0 0x4000>, + <0x2 0x8e6a0000 0x0 0x8000>, + <0x2 0x8e69c000 0x0 0x4000>, + <0x2 0x8e424000 0x0 0x4000>, + <0x2 0x8e428000 0x0 0x4000>, + <0x2 0x8e42c000 0x0 0x4000>, + <0x2 0x8e430000 0x0 0x4000>, + <0x2 0x8e434000 0x0 0x4000>, + <0x2 0x8e440000 0x0 0x4000>, + <0x2 0x8e444000 0x0 0x4000>, + <0x2 0x8e448000 0x0 0x4000>, + <0x2 0x8e420000 0x0 0x4000>, + <0x2 0x8e400000 0x0 0x8000>, + <0x2 0x8e408000 0x0 0x8000>, + <0x2 0x9e200000 0x0 0x80000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e600000 0x0 0x58000>, + <0x2 0x9e280000 0x0 0x58000>, + <0x2 0x85838000 0x0 0x8000>, + <0x2 0x85868000 0x0 0x4000>, + <0x4 0x4e1c000 0x0 0x4000>, + <0x4 0x4e5c000 0x0 0x4000>, + <0x4 0x4ea8000 0x0 0x4000>, + <0x4 0x4eac000 0x0 0x4000>, + <0x4 0x4e8c000 0x0 0x4000>, + <0x22 0x8e080000 0x0 0x8000>, + <0x22 0x8e08c000 0x0 0x4000>, + <0x22 0x8e0d4000 0x0 0x4000>, + <0x22 0x8e094000 0x0 0x4000>, + <0x22 0x8e0a0000 0x0 0x1c000>, + <0x22 0x8e0cc000 0x0 0x4000>, + <0x22 0x8e0f0000 0x0 0x8000>, + <0x22 0x8e0ec000 0x0 0x4000>, + <0x22 0x8e09c000 0x0 0x4000>, + <0x22 0x8e0e0000 0x0 0xc000>, + <0x22 0x90280000 0x0 0x10000>, + <0x22 0x90290000 0x0 0x4000>, + <0x22 0x90298000 0x0 0x4000>, + <0x22 0x9029c000 0x0 0x4000>, + <0x22 0x902b0000 0x0 0x4000>, + <0x22 0x902b8000 0x0 0x8000>, + <0x22 0x902ac000 0x0 0x4000>, + <0x22 0x8e680000 0x0 0xc000>, + <0x22 0x8e68c000 0x0 0x4000>, + <0x22 0x8e6a0000 0x0 0x8000>, + <0x22 0x8e69c000 0x0 0x4000>, + <0x22 0x8e424000 0x0 0x4000>, + <0x22 0x8e428000 0x0 0x4000>, + <0x22 0x8e42c000 0x0 0x4000>, + <0x22 0x8e430000 0x0 0x4000>, + <0x22 0x8e434000 0x0 0x4000>, + <0x22 0x8e440000 0x0 0x4000>, + <0x22 0x8e444000 0x0 0x4000>, + <0x22 0x8e448000 0x0 0x4000>, + <0x22 0x8e420000 0x0 0x4000>, + <0x22 0x8e400000 0x0 0x8000>, + <0x22 0x8e408000 0x0 0x8000>, + <0x22 0x9e200000 0x0 0x80000>, + <0x22 0x8e000000 0x0 0x80000>, + <0x22 0x8e600000 0x0 0x58000>, + <0x22 0x9e280000 0x0 0x58000>, + <0x22 0x85838000 0x0 0x8000>, + <0x22 0x85868000 0x0 0x4000>, + <0x24 0x4e1c000 0x0 0x4000>, + <0x24 0x4e5c000 0x0 0x4000>, + <0x24 0x4ea8000 0x0 0x4000>, + <0x24 0x4eac000 0x0 0x4000>, + <0x24 0x4e8c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + m2_mcc: memory-controller@28e3c0000 { + compatible = "apple,t6022-mcc", "apple,mcc"; + reg = <0x2 0x8e3c0000 0x0 0x20000>, + <0x2 0x8e4d0000 0x0 0x149c>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>, + <0x2 0x4000000 0x0 0x1000000>, + <0x2 0x5000000 0x0 0x1000000>, + <0x2 0x6000000 0x0 0x1000000>, + <0x2 0x7000000 0x0 0x1000000>, + <0x22 0x0 0x0 0x1000000>, + <0x22 0x1000000 0x0 0x1000000>, + <0x22 0x2000000 0x0 0x1000000>, + <0x22 0x3000000 0x0 0x1000000>, + <0x22 0x4000000 0x0 0x1000000>, + <0x22 0x5000000 0x0 0x1000000>, + <0x22 0x6000000 0x0 0x1000000>, + <0x22 0x7000000 0x0 0x1000000>; + status = "disabled"; + }; + + m2_error_handler: error-handler@394c40000 { + compatible = "apple,t6022-error-handler", "apple,soc-error-handler"; + reg = <0x3 0x94c40000 0x0 0x40000>, + <0x2 0x8e000000 0x0 0x80000>, + <0x2 0x8e080000 0x0 0x80000>, + <0x2 0x9e2cc000 0x0 0x4000>, + <0x22 0x9e2cc000 0x0 0x4000>, + <0x2 0x0 0x0 0x1000000>, + <0x2 0x1000000 0x0 0x1000000>, + <0x2 0x2000000 0x0 0x1000000>, + <0x2 0x3000000 0x0 0x1000000>, + <0x2 0x4000000 0x0 0x1000000>, + <0x2 0x5000000 0x0 0x1000000>, + <0x2 0x6000000 0x0 0x1000000>, + <0x2 0x7000000 0x0 0x1000000>, + <0x22 0x0 0x0 0x1000000>, + <0x22 0x1000000 0x0 0x1000000>, + <0x22 0x2000000 0x0 0x1000000>, + <0x22 0x3000000 0x0 0x1000000>, + <0x22 0x4000000 0x0 0x1000000>, + <0x22 0x5000000 0x0 0x1000000>, + <0x22 0x6000000 0x0 0x1000000>, + <0x22 0x7000000 0x0 0x1000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x0 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x4 0x0 0x0 0x4000>, + <0x4 0x80000000 0x0 0x4000>, + <0x5 0x0 0x0 0x4000>, + <0x3 0x40000000 0x0 0x4000>, + <0x22 0x80000000 0x0 0x4000>, + <0x23 0x0 0x0 0x4000>, + <0x23 0x80000000 0x0 0x4000>, + <0x24 0x0 0x0 0x4000>, + <0x24 0x80000000 0x0 0x4000>, + <0x25 0x0 0x0 0x4000>, + <0x23 0x40000000 0x0 0x4000>, + <0x2 0x59000000 0x0 0x3c000>, + <0x2 0x59400000 0x0 0x3c000>, + <0x2 0x59c00000 0x0 0x3c000>, + <0x2 0x5b000000 0x0 0x3c000>, + <0x2 0x5b400000 0x0 0x3c000>, + <0x2 0x60400000 0x0 0x3c000>, + <0x2 0x60800000 0x0 0x3c000>, + <0x22 0x59000000 0x0 0x3c000>, + <0x22 0x59400000 0x0 0x3c000>, + <0x22 0x59c00000 0x0 0x3c000>, + <0x22 0x5b000000 0x0 0x3c000>, + <0x22 0x5b400000 0x0 0x3c000>, + <0x22 0x60400000 0x0 0x3c000>, + <0x22 0x60800000 0x0 0x3c000>, + <0x2 0x59800000 0x0 0x3c000>, + <0x2 0x5b800000 0x0 0x3c000>, + <0x2 0x5bc00000 0x0 0x3c000>, + <0x22 0x59800000 0x0 0x3c000>, + <0x22 0x5b800000 0x0 0x3c000>, + <0x22 0x5bc00000 0x0 0x3c000>, + <0x2 0x4fc00000 0x0 0x3c000>, + <0x2 0x50c00000 0x0 0x3c000>, + <0x2 0x51000000 0x0 0x3c000>, + <0x22 0x4fc00000 0x0 0x3c000>, + <0x22 0x50c00000 0x0 0x3c000>, + <0x22 0x51000000 0x0 0x3c000>, + <0x2 0x4fcc0000 0x0 0x3c000>, + <0x2 0x510c0000 0x0 0x3c000>, + <0x22 0x4fcc0000 0x0 0x3c000>, + <0x22 0x510c0000 0x0 0x3c000>, + <0x4 0x7180000 0x0 0x18000>, + <0x4 0x7380000 0x0 0x18000>, + <0x4 0x71a0000 0x0 0x18000>, + <0x4 0x73a0000 0x0 0x18000>, + <0x4 0x7180000 0x0 0x18000>, + <0x4 0x7380000 0x0 0x18000>, + <0x4 0x71a0000 0x0 0x18000>, + <0x4 0x73a0000 0x0 0x18000>, + <0x4 0x7000000 0x0 0x18000>, + <0x4 0x7200000 0x0 0x18000>, + <0x4 0x7080000 0x0 0x18000>, + <0x4 0x7280000 0x0 0x18000>, + <0x4 0x7040000 0x0 0x18000>, + <0x4 0x7240000 0x0 0x18000>, + <0x4 0x70c0000 0x0 0x18000>, + <0x4 0x72c0000 0x0 0x18000>, + <0x4 0x7400000 0x0 0x18000>, + <0x4 0x7600000 0x0 0x18000>, + <0x4 0x7480000 0x0 0x18000>, + <0x4 0x7680000 0x0 0x18000>, + <0x4 0x7440000 0x0 0x18000>, + <0x4 0x7640000 0x0 0x18000>, + <0x4 0x74c0000 0x0 0x18000>, + <0x4 0x76c0000 0x0 0x18000>, + <0x4 0x7800000 0x0 0x18000>, + <0x4 0x7a00000 0x0 0x18000>, + <0x4 0x7880000 0x0 0x18000>, + <0x4 0x7a80000 0x0 0x18000>, + <0x4 0x7840000 0x0 0x18000>, + <0x4 0x7a40000 0x0 0x18000>, + <0x4 0x78c0000 0x0 0x18000>, + <0x4 0x7ac0000 0x0 0x18000>, + <0x4 0x7c00000 0x0 0x18000>, + <0x4 0x7e00000 0x0 0x18000>, + <0x4 0x7c80000 0x0 0x18000>, + <0x4 0x7e80000 0x0 0x18000>, + <0x4 0x7c40000 0x0 0x18000>, + <0x4 0x7e40000 0x0 0x18000>, + <0x4 0x7cc0000 0x0 0x18000>, + <0x4 0x7ec0000 0x0 0x18000>, + <0x2 0x58c00000 0x0 0x3c000>, + <0x2 0x5ac00000 0x0 0x3c000>, + <0x2 0x5c000000 0x0 0x3c000>, + <0x2 0x5d000000 0x0 0x3c000>, + <0x2 0x5ec00000 0x0 0x3c000>, + <0x2 0x60000000 0x0 0x3c000>, + <0x2 0x61000000 0x0 0x3c000>, + <0x2 0x62000000 0x0 0x3c000>, + <0x22 0x58c00000 0x0 0x3c000>, + <0x22 0x5ac00000 0x0 0x3c000>, + <0x22 0x5c000000 0x0 0x3c000>, + <0x22 0x5d000000 0x0 0x3c000>, + <0x22 0x5ec00000 0x0 0x3c000>, + <0x22 0x60000000 0x0 0x3c000>, + <0x22 0x61000000 0x0 0x3c000>, + <0x22 0x62000000 0x0 0x3c000>, + <0x2 0x4f800000 0x0 0x3c000>, + <0x2 0x50800000 0x0 0x3c000>, + <0x2 0x52000000 0x0 0x3c000>, + <0x2 0x53000000 0x0 0x3c000>, + <0x2 0x54800000 0x0 0x3c000>, + <0x2 0x55800000 0x0 0x3c000>, + <0x2 0x56000000 0x0 0x3c000>, + <0x2 0x57000000 0x0 0x3c000>, + <0x22 0x4f800000 0x0 0x3c000>, + <0x22 0x50800000 0x0 0x3c000>, + <0x22 0x52000000 0x0 0x3c000>, + <0x22 0x53000000 0x0 0x3c000>, + <0x22 0x54800000 0x0 0x3c000>, + <0x22 0x55800000 0x0 0x3c000>, + <0x22 0x56000000 0x0 0x3c000>, + <0x22 0x57000000 0x0 0x3c000>, + <0x2 0x5e800000 0x0 0x3c000>, + <0x2 0x5fc00000 0x0 0x3c000>, + <0x22 0x5e800000 0x0 0x3c000>, + <0x22 0x5fc00000 0x0 0x3c000>, + <0x2 0x54400000 0x0 0x3c000>, + <0x2 0x55400000 0x0 0x3c000>, + <0x22 0x54400000 0x0 0x3c000>, + <0x22 0x55400000 0x0 0x3c000>, + <0x2 0x544c0000 0x0 0x3c000>, + <0x2 0x554c0000 0x0 0x3c000>, + <0x22 0x544c0000 0x0 0x3c000>, + <0x22 0x554c0000 0x0 0x3c000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x4f432000 0x0 0x1000>, + <0x2 0x50032000 0x0 0x1000>, + <0x2 0x50432000 0x0 0x1000>, + <0x2 0x54032000 0x0 0x1000>, + <0x2 0x55032000 0x0 0x1000>, + <0x22 0x4f032000 0x0 0x1000>, + <0x22 0x4f432000 0x0 0x1000>, + <0x22 0x50032000 0x0 0x1000>, + <0x22 0x50432000 0x0 0x1000>, + <0x22 0x54032000 0x0 0x1000>, + <0x22 0x55032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>, + <0x2 0x58832000 0x0 0x1000>, + <0x2 0x5a032000 0x0 0x1000>, + <0x2 0x5a432000 0x0 0x1000>, + <0x2 0x5a832000 0x0 0x1000>, + <0x2 0x5e032000 0x0 0x1000>, + <0x2 0x5e432000 0x0 0x1000>, + <0x2 0x5f032000 0x0 0x1000>, + <0x2 0x5f432000 0x0 0x1000>, + <0x2 0x5f832000 0x0 0x1000>, + <0x22 0x58032000 0x0 0x1000>, + <0x22 0x58432000 0x0 0x1000>, + <0x22 0x58832000 0x0 0x1000>, + <0x22 0x5a032000 0x0 0x1000>, + <0x22 0x5a432000 0x0 0x1000>, + <0x22 0x5a832000 0x0 0x1000>, + <0x22 0x5e032000 0x0 0x1000>, + <0x22 0x5e432000 0x0 0x1000>, + <0x22 0x5f032000 0x0 0x1000>, + <0x22 0x5f432000 0x0 0x1000>, + <0x22 0x5f832000 0x0 0x1000>, + <0x4 0x7114000 0x0 0x1000>, + <0x4 0x7314000 0x0 0x1000>, + <0x4 0x7134000 0x0 0x1000>, + <0x4 0x7334000 0x0 0x1000>, + <0x4 0x7514000 0x0 0x1000>, + <0x4 0x7714000 0x0 0x1000>, + <0x4 0x7534000 0x0 0x1000>, + <0x4 0x7734000 0x0 0x1000>, + <0x4 0x7934000 0x0 0x1000>, + <0x4 0x7b34000 0x0 0x1000>, + <0x4 0x7914000 0x0 0x1000>, + <0x4 0x7b14000 0x0 0x1000>, + <0x4 0x7f34000 0x0 0x1000>, + <0x4 0x7d34000 0x0 0x1000>, + <0x4 0x7f14000 0x0 0x1000>, + <0x4 0x7d14000 0x0 0x1000>, + <0x2 0x54500000 0x0 0x4000>, + <0x2 0x55500000 0x0 0x4000>, + <0x22 0x54500000 0x0 0x4000>, + <0x22 0x55500000 0x0 0x4000>, + <0x2 0x5e900000 0x0 0x4000>, + <0x2 0x5fd00000 0x0 0x4000>, + <0x22 0x5e900000 0x0 0x4000>, + <0x22 0x5fd00000 0x0 0x4000>, + <0x2 0x5e980000 0x0 0x400>, + <0x2 0x5fd80000 0x0 0x400>, + <0x22 0x5e980000 0x0 0x400>, + <0x22 0x5fd80000 0x0 0x400>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7030000 0x0 0x4000>, + <0x4 0x7230000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7430000 0x0 0x4000>, + <0x4 0x7630000 0x0 0x4000>, + <0x4 0x7830000 0x0 0x4000>, + <0x4 0x7a30000 0x0 0x4000>, + <0x4 0x7830000 0x0 0x4000>, + <0x4 0x7a30000 0x0 0x4000>, + <0x4 0x7830000 0x0 0x4000>, + <0x4 0x7a30000 0x0 0x4000>, + <0x4 0x7830000 0x0 0x4000>, + <0x4 0x7a30000 0x0 0x4000>, + <0x4 0x7c30000 0x0 0x4000>, + <0x4 0x7e30000 0x0 0x4000>, + <0x4 0x7c30000 0x0 0x4000>, + <0x4 0x7e30000 0x0 0x4000>, + <0x4 0x7c30000 0x0 0x4000>, + <0x4 0x7e30000 0x0 0x4000>, + <0x4 0x7c30000 0x0 0x4000>, + <0x4 0x7e30000 0x0 0x4000>, + <0x4 0x71e0000 0x0 0x4000>, + <0x4 0x73e0000 0x0 0x4000>, + <0x4 0x7fe0000 0x0 0x4000>, + <0x4 0x7de0000 0x0 0x4000>, + <0x4 0x7590000 0x0 0x4000>, + <0x4 0x7790000 0x0 0x4000>, + <0x4 0x7590000 0x0 0x4000>, + <0x4 0x7790000 0x0 0x4000>, + <0x4 0x7590000 0x0 0x4000>, + <0x4 0x7790000 0x0 0x4000>, + <0x4 0x7590000 0x0 0x4000>, + <0x4 0x7790000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&ps_gfx>; + status = "disabled"; + }; +}; + +&die0 { + m2_dart_dispext0_1: iommu@289300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x89300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dwi: dwi@28e0fc000 { + compatible = "apple,t6022-dwi", "apple,dwi"; + reg = <0x2 0x8e0fc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + m2_aic_timebase: timer@28e148000 { + compatible = "apple,t6022-aic-timebase", "apple,aic-timebase"; + reg = <0x2 0x8e148000 0x0 0x1000>; + status = "disabled"; + }; + + m2_clvr_spmi0_sideband: spmi-sideband@290004000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90004000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi0: spmi@29000c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9000c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi1_sideband: spmi-sideband@290044000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90044000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi1: spmi@29004c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9004c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi2_sideband: spmi-sideband@290084000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90084000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi2: spmi@29008c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9008c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi3_sideband: spmi-sideband@2900c4000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x900c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi3: spmi@2900cc000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x900cc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_clvr_spmi4_sideband: spmi-sideband@290104000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_clvr_spmi4: spmi@29010c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9010c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_nub_spmi0_sideband: spmi-sideband@29e104000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1_sideband: spmi-sideband@29e144000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e144000 0x0 0x4000>; + status = "disabled"; + }; + + m2_nub_spmi1: spmi@29e154000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9e154000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@a { + compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; + reg = <0xa SPMI_USID>; + read-only; + status = "disabled"; + }; + + peripheral@d { + compatible = "apple,t6022-spmi-peripheral", + "apple,spmi-peripheral"; + reg = <0xd SPMI_USID>; + status = "disabled"; + }; + }; + + m2_dockchannel_uart: serial@29e52c000 { + compatible = "apple,t6022-dockchannel-uart", "apple,dockchannel-uart"; + reg-names = "data", "config", "irq"; + reg = <0x2 0x9e52c000 0x0 0x4000>, + <0x2 0x9e528000 0x0 0x4000>, + <0x2 0x9e50c000 0x0 0x18>; + apple,sw-drain; + status = "disabled"; + }; + + m2_aop_spmi0_sideband: spmi-sideband@2a6884000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa6884000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi1_sideband: spmi-sideband@2a68c4000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0xa68c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_aop_spmi1: spmi@2a68d4000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa68d4000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + nfc@8 { + compatible = "apple,t6022-spmi-nfc", + "apple,spmi-nfc"; + reg = <0x8 SPMI_USID>; + interrupt-parent = <&m2_aop_spmi1>; + interrupts = <176 IRQ_TYPE_LEVEL_HIGH>, + <177 IRQ_TYPE_LEVEL_HIGH>, + <178 IRQ_TYPE_LEVEL_HIGH>, + <179 IRQ_TYPE_LEVEL_HIGH>, + <180 IRQ_TYPE_LEVEL_HIGH>, + <181 IRQ_TYPE_LEVEL_HIGH>, + <182 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + }; + + m2_apr0: video-codec@311000000 { + compatible = "apple,t6022-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x3 0x11000000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr0_0 1>, <&m2_dart_apr0_1 1>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_apr0_1: iommu@311024000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11024000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_apr0_0: iommu@311028000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_scdc0: iommu@31102c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x1102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scdc0: coprocessor@312400000 { + compatible = "apple,t6022-scdc", "apple,scdc"; + reg = <0x3 0x12400000 0x0 0x6c000>, + <0x3 0x12050000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>, + <0x3 0x11040000 0x0 0x1c000>, + <0x3 0x11070000 0x0 0x4000>, + <0x3 0x11074000 0x0 0x4000>, + <0x3 0x11100000 0x0 0x3c000>, + <0x3 0x11140000 0x0 0x20000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_scdc0 0>, <&m2_dart_apr0_0 0>, <&m2_dart_apr0_1 0>; + power-domains = <&ps_scodec>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext1_1: iommu@315300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x15300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg0: jpeg@38d000000 { + compatible = "apple,t6022-jpeg", "apple,jpeg"; + reg = <0x3 0x8d000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg0 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg0: iommu@38d004000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg1: jpeg@38d008000 { + compatible = "apple,t6022-jpeg", "apple,jpeg"; + reg = <0x3 0x8d008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg1 0>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + m2_dart_jpeg1: iommu@38d00c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_aes: aes@39b070000 { + compatible = "apple,t6022-aes", "apple,aes"; + reg = <0x3 0x9b070000 0x0 0x4000>, + <0x2 0x9e2b0000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&sio_dart 1>; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + m2_apr1: video-codec@409000000 { + compatible = "apple,t6022-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x4 0x9000000 0x0 0x4000>, + <0x4 0x8000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr1 0>; + power-domains = <&ps_prores>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_apr1: iommu@409008000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x9008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scaler0: scaler@40b000000 { + compatible = "apple,t6022-scaler", "apple,scaler"; + reg = <0x4 0xb000000 0x0 0x28000>, + <0x4 0xb210000 0x0 0x4000>, + <0x4 0xb204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler0 0>, <&m2_dart_scaler0 1>; + power-domains = <&ps_msr0>, <&ps_afr>, <&ps_msr0_ase_core>; + status = "disabled"; + }; + + m2_dart_scaler0: iommu@40b200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xb200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_avd_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_2: iommu@40d020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_0: iommu@40d030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_1: iommu@40d040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave0_3: iommu@40d044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave0: video-codec@40d100000 { + compatible = "apple,t6022-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x4 0xd100000 0x0 0x45c000>, + <0x4 0xd050000 0x0 0x8000>, + <0x4 0xd800000 0x0 0x800000>, + <0x2 0x902803e0 0x0 0x7c44>, + <0x4 0xc000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave0_0 0>, <&m2_dart_ave0_1 0>, <&m2_dart_ave0_2 0>, <&m2_dart_ave0_3 0>; + power-domains = <&ps_venc_dma>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext2_1: iommu@48d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dispext2_0: iommu@48d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext2: iommu@48d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext2_mbox: mailbox@48dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x4 0x8dc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext2: dcp@48dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext2_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x4 0x8dc00000 0 0x4000>, + <0x4 0x8c000000 0 0x4000000>, + <0x4 0x8d320000 0 0x4000>, + <0x4 0x8d344000 0 0x4000>, + <0x4 0x8d800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext2 5>; + power-domains = <&ps_dispext2_cpu0>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext2_0 4>; + }; + }; + + m2_scaler1: scaler@491000000 { + compatible = "apple,t6022-scaler", "apple,scaler"; + reg = <0x4 0x91000000 0x0 0x28000>, + <0x4 0x91210000 0x0 0x4000>, + <0x4 0x91204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler1 0>, <&m2_dart_scaler1 1>; + power-domains = <&ps_msr1>, <&ps_afr>, <&ps_msr1_ase_core>; + status = "disabled"; + }; + + m2_dart_scaler1: iommu@491200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x91200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_msr1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_2: iommu@507020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_0: iommu@507030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_1: iommu@507040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave1_3: iommu@507044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave1: video-codec@507100000 { + compatible = "apple,t6022-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x5 0x7100000 0x0 0x45c000>, + <0x5 0x7050000 0x0 0x8000>, + <0x5 0x7800000 0x0 0x800000>, + <0x2 0x8e680228 0x0 0x3dfc>, + <0x5 0x6000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave1_0 0>, <&m2_dart_ave1_1 0>, <&m2_dart_ave1_2 0>, <&m2_dart_ave1_3 0>; + power-domains = <&ps_venc1_dma>, <&ps_venc1_pipe4>, <&ps_venc1_pipe5>, <&ps_venc1_me0>, <&ps_venc1_me1>, <&ps_afr>; + status = "disabled"; + }; + + m2_dart_dispext3_1: iommu@50d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dispext3_0: iommu@50d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext3: iommu@50d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext3_mbox: mailbox@50dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x5 0xdc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext3: dcp@50dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext3_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x5 0xdc00000 0 0x4000>, + <0x5 0xc000000 0 0x4000000>, + <0x5 0xd320000 0 0x4000>, + <0x5 0xd344000 0 0x4000>, + <0x5 0xd800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext3 5>; + power-domains = <&ps_dispext3_cpu0>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext3_0 4>; + }; + }; + + m2_atc0_dpin0: displayport-input@701e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x7 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc0_dpin1: displayport-input@701e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x7 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec0_dart 15>; + status = "disabled"; + }; + + m2_atc1_dpin0: displayport-input@b01e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xb 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc1_dpin1: displayport-input@b01e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xb 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec1_dart 15>; + status = "disabled"; + }; + + m2_atc2_dpin0: displayport-input@f01e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xf 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc2_dpin1: displayport-input@f01e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xf 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec2_dart 15>; + status = "disabled"; + }; + + m2_atc3_dpin0: displayport-input@1301e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x13 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc3_dpin1: displayport-input@1301e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x13 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec3_piodma: dma-controller@1322000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0x13 0x22000000 0x0 0x4000>, + <0x13 0x22004000 0x0 0x4000>, + <0x13 0x22008000 0x0 0x4000>, + <0x13 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_apciec3_dart 15>; + status = "disabled"; + }; +}; + +&die1 { + m2_ane1_mbox: mailbox@285408000 { + compatible = "apple,t6021-ane-mailbox", "apple,asc-mailbox-v4"; + reg = <0x2 0x85408000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-names = "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_ane1: ane@284000000 { + compatible = "apple,t6022-ane"; + mboxes = <&m2_ane1_mbox>; + resets = <&ps_ane_cpu_die1>; + interrupt-names = "ane"; + reg-names = "engine", "pmgr", "set"; + reg = <0x2 0x84000000 0x0 0x2000000>, + <0x2 0x8e080000 0x0 0x4034>, + <0x2 0x8e08c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_ane1_0 0>, <&m2_dart_ane1_1 0>, <&m2_dart_ane1_2 0>; + power-domains = <&ps_ane_sys_mpm_die1>, + <&ps_ane_td_die1>, + <&ps_ane_base_die1>, + <&ps_ane_set1_die1>, + <&ps_ane_set2_die1>, + <&ps_ane_set3_die1>, + <&ps_ane_set4_die1>, + <&ps_ane_cpu_die1>; + status = "disabled"; + }; + + m2_dart_ane1_0: iommu@285800000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x85800000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_ane_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ane1_3: iommu@285804000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x85804000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_ane_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ane1_1: iommu@285810000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x85810000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_ane_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ane1_2: iommu@285820000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x85820000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_ane_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dispext4_1: iommu@289300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x2 0x89300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_die1_clvr_spmi0_sideband: spmi-sideband@290004000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90004000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_clvr_spmi0: spmi@29000c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9000c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_die1_clvr_spmi1_sideband: spmi-sideband@290044000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90044000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_clvr_spmi1: spmi@29004c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9004c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_die1_clvr_spmi2_sideband: spmi-sideband@290084000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90084000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_clvr_spmi2: spmi@29008c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9008c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_die1_clvr_spmi3_sideband: spmi-sideband@2900c4000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x900c4000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_clvr_spmi3: spmi@2900cc000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x900cc000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_die1_clvr_spmi4_sideband: spmi-sideband@290104000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x90104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_clvr_spmi4: spmi@29010c000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9010c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,mirabeau-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_die1_nub_spmi0_sideband: spmi-sideband@29e104000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e104000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_nub_spmi0: spmi@29e114000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9e114000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@b { + compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; + reg = <0xb SPMI_USID>; + read-only; + interrupt-parent = <&m2_die1_nub_spmi0>; + interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + }; + + m2_die1_nub_spmi1_sideband: spmi-sideband@29e144000 { + compatible = "apple,t6022-spmi-sideband", "apple,spmi-sideband"; + reg = <0x2 0x9e144000 0x0 0x4000>; + status = "disabled"; + }; + + m2_die1_nub_spmi1: spmi@29e154000 { + compatible = "apple,t6020-spmi", "apple,t8103-spmi"; + reg = <0x2 0x9e154000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + + pmic@a { + compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; + reg = <0xa SPMI_USID>; + read-only; + status = "disabled"; + }; + }; + + m2_apr2: video-codec@311000000 { + compatible = "apple,t6022-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x3 0x11000000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr2_0 1>, <&m2_dart_apr2_1 1>; + power-domains = <&ps_scodec_die1>, <&ps_afr_die1>; + status = "disabled"; + }; + + m2_dart_apr2_1: iommu@311024000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11024000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_apr2_0: iommu@311028000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x11028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_scdc1: iommu@31102c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x1102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scdc1: coprocessor@312400000 { + compatible = "apple,t6022-scdc", "apple,scdc"; + reg = <0x3 0x12400000 0x0 0x6c000>, + <0x3 0x12050000 0x0 0x4000>, + <0x3 0x10000000 0x0 0x1000000>, + <0x3 0x11040000 0x0 0x1c000>, + <0x3 0x11070000 0x0 0x4000>, + <0x3 0x11074000 0x0 0x4000>, + <0x3 0x11100000 0x0 0x3c000>, + <0x3 0x11140000 0x0 0x20000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_scdc1 0>, <&m2_dart_apr2_0 0>, <&m2_dart_apr2_1 0>; + power-domains = <&ps_scodec_die1>, <&ps_afr_die1>; + status = "disabled"; + }; + + m2_dart_dispext5_1: iommu@315300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x15300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg2: jpeg@38d000000 { + compatible = "apple,t6022-jpeg", "apple,jpeg"; + reg = <0x3 0x8d000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg2 0>; + power-domains = <&ps_jpg_die1>; + status = "disabled"; + }; + + m2_dart_jpeg2: iommu@38d004000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_jpeg3: jpeg@38d008000 { + compatible = "apple,t6022-jpeg", "apple,jpeg"; + reg = <0x3 0x8d008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_jpeg3 0>; + power-domains = <&ps_jpg_die1>; + status = "disabled"; + }; + + m2_dart_jpeg3: iommu@38d00c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x3 0x8d00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_apr3: video-codec@409000000 { + compatible = "apple,t6022-prores", "apple,prores"; + reg-names = "core", "wrapper"; + reg = <0x4 0x9000000 0x0 0x4000>, + <0x4 0x8000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&m2_dart_apr3 0>; + power-domains = <&ps_prores_die1>, <&ps_afr_die1>; + status = "disabled"; + }; + + m2_dart_apr3: iommu@409008000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x9008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_scaler2: scaler@40b000000 { + compatible = "apple,t6022-scaler", "apple,scaler"; + reg = <0x4 0xb000000 0x0 0x28000>, + <0x4 0xb210000 0x0 0x4000>, + <0x4 0xb204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler2 0>, <&m2_dart_scaler2 1>; + power-domains = <&ps_msr0_die1>, <&ps_afr_die1>, <&ps_msr0_ase_core_die1>; + status = "disabled"; + }; + + m2_dart_scaler2: iommu@40b200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xb200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_spi3>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave2_2: iommu@40d020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave2_0: iommu@40d030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave2_1: iommu@40d040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave2_3: iommu@40d044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0xd044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave2: video-codec@40d100000 { + compatible = "apple,t6022-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x4 0xd100000 0x0 0x45c000>, + <0x4 0xd050000 0x0 0x8000>, + <0x4 0xd800000 0x0 0x800000>, + <0x2 0x90288000 0x0 0x24>, + <0x4 0xc000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave2_0 0>, <&m2_dart_ave2_1 0>, <&m2_dart_ave2_2 0>, <&m2_dart_ave2_3 0>; + power-domains = <&ps_venc_dma_die1>, <&ps_venc_pipe4_die1>, <&ps_venc_pipe5_die1>, <&ps_venc_me0_die1>, <&ps_venc_me1_die1>, <&ps_afr_die1>; + status = "disabled"; + }; + + m2_dart_dispext6_1: iommu@48d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dispext6_0: iommu@48d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext6: iommu@48d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x8d30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext6_mbox: mailbox@48dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x4 0x8dc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext6: dcp@48dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext6_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x4 0x8dc00000 0 0x4000>, + <0x4 0x8c000000 0 0x4000000>, + <0x4 0x8d320000 0 0x4000>, + <0x4 0x8d344000 0 0x4000>, + <0x4 0x8d800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext6 5>; + power-domains = <&ps_dispext2_cpu0_die1>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext6_0 4>; + }; + }; + + m2_scaler3: scaler@491000000 { + compatible = "apple,t6022-scaler", "apple,scaler"; + reg = <0x4 0x91000000 0x0 0x28000>, + <0x4 0x91210000 0x0 0x4000>, + <0x4 0x91204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + iommus = <&m2_dart_scaler3 0>, <&m2_dart_scaler3 1>; + power-domains = <&ps_msr1_die1>, <&ps_afr_die1>, <&ps_msr1_ase_core_die1>; + status = "disabled"; + }; + + m2_dart_scaler3: iommu@491200000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x4 0x91200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_msr1_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave3_2: iommu@507020000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7020000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave3_0: iommu@507030000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave3_1: iommu@507040000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_ave3_3: iommu@507044000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0x7044000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_venc1_sys_die1>; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_ave3: video-codec@507100000 { + compatible = "apple,t6022-ave", "apple,ave"; + power-domain-names = "dma", "pipe4", "pipe5", "me0", "me1", "perf"; + reg-names = "codec", "mailbox", "coproc", "power-control", "fabric"; + reg = <0x5 0x7100000 0x0 0x45c000>, + <0x5 0x7050000 0x0 0x8000>, + <0x5 0x7800000 0x0 0x800000>, + <0x2 0x8e680228 0x0 0x3dfc>, + <0x5 0x6000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + iommus = <&m2_dart_ave3_0 0>, <&m2_dart_ave3_1 0>, <&m2_dart_ave3_2 0>, <&m2_dart_ave3_3 0>; + power-domains = <&ps_venc1_dma_die1>, <&ps_venc1_pipe4_die1>, <&ps_venc1_pipe5_die1>, <&ps_venc1_me0_die1>, <&ps_venc1_me1_die1>, <&ps_afr_die1>; + status = "disabled"; + }; + + m2_dart_dispext7_1: iommu@50d300000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd300000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dispext7_0: iommu@50d304000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dart_dcpext7: iommu@50d30c000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x5 0xd30c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + m2_dcpext7_mbox: mailbox@50dc08000 { + compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x5 0xdc08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + status = "disabled"; + }; + + m2_dcpext7: dcp@50dc00000 { + compatible = "apple,t6020-dcpext", "apple,dcpext"; + mbox-names = "mbox"; + mboxes = <&m2_dcpext7_mbox>; + reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3"; + reg = <0x5 0xdc00000 0 0x4000>, + <0x5 0xc000000 0 0x4000000>, + <0x5 0xd320000 0 0x4000>, + <0x5 0xd344000 0 0x4000>, + <0x5 0xd800000 0 0x800000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&m2_dart_dcpext7 5>; + power-domains = <&ps_dispext3_cpu0_die1>; + status = "disabled"; + + piodma { + iommus = <&m2_dart_dispext7_0 4>; + }; + }; + + m2_atc4_dpin0: displayport-input@701e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x7 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc4_dpin1: displayport-input@701e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0x7 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec4_piodma: dma-controller@722000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec0_dart_die1 15>; + status = "disabled"; + }; + + m2_atc5_dpin0: displayport-input@b01e50000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xb 0x1e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_atc5_dpin1: displayport-input@b01e58000 { + compatible = "apple,t6022-dpin", "apple,dpin"; + reg = <0xb 0x1e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + m2_apciec5_piodma: dma-controller@b22000000 { + compatible = "apple,t6022-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec1_dart_die1 15>; + status = "disabled"; + }; +}; + +&die0 { + m2_apciec3_dart: iommu@1321008000 { + compatible = "apple,t6020-dart", "apple,t8110-dart"; + reg = <0x13 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t602x-die0.dtsi b/arch/arm64/boot/dts/apple/t602x-die0.dtsi index bc5388b0b40ff..828f6ac65c4a8 100644 --- a/arch/arm64/boot/dts/apple/t602x-die0.dtsi +++ b/arch/arm64/boot/dts/apple/t602x-die0.dtsi @@ -312,7 +312,7 @@ #address-cells = <2>; #size-cells = <0>; - pmic1: pmic@f { + pmic1: pmic@b { compatible = "apple,maverick-pmic", "apple,spmi-nvmem"; reg = <0xb SPMI_USID>; @@ -837,9 +837,9 @@ status = "disabled"; }; - i2c6: i2c@39b054000 { + i2c6: i2c@39b058000 { compatible = "apple,t6020-i2c", "apple,t8103-i2c"; - reg = <0x3 0x9b054000 0x0 0x4000>; + reg = <0x3 0x9b058000 0x0 0x4000>; clocks = <&clkref>; interrupt-parent = <&aic>; interrupts = ; @@ -851,9 +851,9 @@ status = "disabled"; }; - i2c7: i2c@39b054000 { + i2c7: i2c@39b05c000 { compatible = "apple,t6020-i2c", "apple,t8103-i2c"; - reg = <0x3 0x9b054000 0x0 0x4000>; + reg = <0x3 0x9b05c000 0x0 0x4000>; clocks = <&clkref>; interrupt-parent = <&aic>; interrupts = ; @@ -865,9 +865,9 @@ status = "disabled"; }; - i2c8: i2c@39b054000 { + i2c8: i2c@39b060000 { compatible = "apple,t6020-i2c", "apple,t8103-i2c"; - reg = <0x3 0x9b054000 0x0 0x4000>; + reg = <0x3 0x9b060000 0x0 0x4000>; clocks = <&clkref>; interrupt-parent = <&aic>; interrupts = ; From 9641fcd4412b499741ae518f3251d627032e4370 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 01:35:39 +1100 Subject: [PATCH 2/8] arm64: dts: apple: keep the Mac Pro SIO loader enablement separate Drop the inherited SIO alias addition from this describe-only series. Adding a loader alias enables the controller at boot and needs separate qualification. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t6022-j180d.dts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arch/arm64/boot/dts/apple/t6022-j180d.dts b/arch/arm64/boot/dts/apple/t6022-j180d.dts index 152b5b47a652b..1d1705144e732 100644 --- a/arch/arm64/boot/dts/apple/t6022-j180d.dts +++ b/arch/arm64/boot/dts/apple/t6022-j180d.dts @@ -33,12 +33,6 @@ ethernet1 = ðernet1; nvram = &nvram; serial0 = &serial0; - /* - * The loader sets up and enables each SIO it finds by alias. - * The die 0 HDMI port's audio (dpaudio1) is fed by the die 0 - * SIO; t6022-jxxxd.dtsi only aliases the die 1 one as sio1. - */ - sio = &sio; usb4-0-acio = &usb4_0_acio; usb4-0-nhi = &usb4_0_nhi; usb4-1-acio = &usb4_1_acio; From c99f054d8bdf50277abe018824350ec9a499046b Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 01:48:36 +1100 Subject: [PATCH 3/8] dt-bindings: sound: apple: type the existing M2 reset-domain handoff The firmware audio interface retains its existing PMGR reset-domain phandle. Declare its phandle-array type so schema assembly can decode the property. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- Documentation/devicetree/bindings/sound/apple,dpaudio.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/apple,dpaudio.yaml b/Documentation/devicetree/bindings/sound/apple,dpaudio.yaml index 82f8004d6b52b..a531eb2606128 100644 --- a/Documentation/devicetree/bindings/sound/apple,dpaudio.yaml +++ b/Documentation/devicetree/bindings/sound/apple,dpaudio.yaml @@ -46,7 +46,11 @@ properties: maxItems: 1 reset-domains: + $ref: /schemas/types.yaml#/definitions/phandle-array maxItems: 1 + items: + maxItems: 1 + description: PMGR provider used to reset the display audio interface. ports: $ref: /schemas/graph.yaml#/properties/ports From afeba7486d581f6f6e02a38894ffe02226e75262 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 01:57:56 +1100 Subject: [PATCH 4/8] dt-bindings: apple: select only the M2 AOP service ABI Later-generation AOP nodes advertise a T6020 transport fallback but use different service compatible lists. Select this binding only for the single-compatible M2 nodes so it does not impose M2 service contracts on those later generations. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/soc/apple/apple,aop.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/soc/apple/apple,aop.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aop.yaml index 38e7418b63e17..ea96d7b290384 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,aop.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aop.yaml @@ -14,6 +14,16 @@ description: | The host uses an RTKit mailbox and a DART stream to exchange messages and buffers. Service nodes do not have independent host MMIO or interrupts. +select: + properties: + compatible: + items: + - enum: + - apple,t6020-aop + - apple,t8112-aop + required: + - compatible + properties: compatible: enum: From cb8f5853ea0b1c444b392224a20ec111e03cb836 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 02:16:40 +1100 Subject: [PATCH 5/8] arm64: dts: apple: describe the disabled fourth Ultra PCIe tunnels The fourth PCIe-C host on each die has the same register, interrupt and MSI layout as the existing T602x template. Keep its Ultra tunnel, host and DART disabled. Reuse these canonical DART nodes for PIODMA instead of describing duplicate register banks at the die root. No loader aliases or link enablement are added. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../boot/dts/apple/t6022-j180d-peripherals.dtsi | 13 +------------ arch/arm64/boot/dts/apple/t6022-peripherals.dtsi | 13 +------------ arch/arm64/boot/dts/apple/t602x-dieX.dtsi | 11 +++++++++-- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi index 6809faa5e6312..7efb9c961a1ef 100644 --- a/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6022-j180d-peripherals.dtsi @@ -86,7 +86,7 @@ <0x13 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; - iommus = <&m2_apciec7_dart 15>; + iommus = <&apciec3_dart_die1 15>; status = "disabled"; }; @@ -101,14 +101,3 @@ status = "disabled"; }; }; - -&die1 { - m2_apciec7_dart: iommu@1321008000 { - compatible = "apple,t6020-dart", "apple,t8110-dart"; - reg = <0x13 0x21008000 0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - #iommu-cells = <1>; - status = "disabled"; - }; -}; diff --git a/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi index b81f3761a8bd8..f3822ce78279d 100644 --- a/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6022-peripherals.dtsi @@ -1560,7 +1560,7 @@ <0x13 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; - iommus = <&m2_apciec3_dart 15>; + iommus = <&apciec3_dart 15>; status = "disabled"; }; }; @@ -2327,14 +2327,3 @@ status = "disabled"; }; }; - -&die0 { - m2_apciec3_dart: iommu@1321008000 { - compatible = "apple,t6020-dart", "apple,t8110-dart"; - reg = <0x13 0x21008000 0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - #iommu-cells = <1>; - status = "disabled"; - }; -}; diff --git a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi index 7a088fa931990..6a4a3221b1b62 100644 --- a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi +++ b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi @@ -1241,11 +1241,13 @@ }; }; -#ifdef APPLE_T602X_NON_ULTRA DIE_NODE(usb4_3_pcie_tunnel): usb4-pcie-tunnel-3 { #address-cells = <2>; #size-cells = <2>; ranges; +#ifndef APPLE_T602X_NON_ULTRA + status = "disabled"; +#endif DIE_NODE(apciec3_dart): iommu@1321008000 { compatible = "apple,t8110-dart"; @@ -1255,6 +1257,9 @@ #iommu-cells = <1>; apple,dma-range = <0x0 0x80000000 0x0 0x80000000>; apple,dma-offset = <0x100 0x0>; +#ifndef APPLE_T602X_NON_ULTRA + status = "disabled"; +#endif }; DIE_NODE(apciec3): pcie@1330000000 { @@ -1274,6 +1279,9 @@ interrupt-parent = <&aic>; interrupts = ; power-domains = <&DIE_NODE(ps_atc3_pcie)>; +#ifndef APPLE_T602X_NON_ULTRA + status = "disabled"; +#endif msi-controller; msi-parent = <&DIE_NODE(apciec3)>; @@ -1312,7 +1320,6 @@ }; }; }; -#endif DIE_NODE(dwc3_3): usb@1302280000 { compatible = "apple,t6020-dwc3", "apple,t8103-dwc3"; From 2944d9a658b41cb6ae4b5f87c16377542cbc60f1 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 02:24:26 +1100 Subject: [PATCH 6/8] arm64: dts: apple: use the native Ultra fourth-host register windows The expanded register audit identifies a different LTSSM aperture on the disabled Ultra fourth hosts. Retain the original Pro/Max form and describe the Ultra register list independently from its hardware inventory. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t602x-dieX.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi index 6a4a3221b1b62..680ce29397d9b 100644 --- a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi +++ b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi @@ -1266,6 +1266,7 @@ compatible = "apple,t6000-pciec"; device_type = "pci"; +#ifdef APPLE_T602X_NON_ULTRA reg = <0x13 0x30000000 0x0 0x10000000>, <0x13 0x20000000 0x0 0x4000>, <0x13 0x21000000 0x0 0x8000>, @@ -1273,6 +1274,15 @@ <0x13 0x20200000 0x0 0x4000>, <0x13 0x21100000 0x0 0x4000>, <0x13 0x2100c000 0x0 0x4000>; +#else + reg = <0x13 0x30000000 0x0 0x10000000>, + <0x13 0x20000000 0x0 0x4000>, + <0x13 0x21000000 0x0 0x8000>, + <0x13 0x20004000 0x0 0x4000>, + <0x13 0x20200000 0x0 0x4000>, + <0x13 0x21010000 0x0 0x4000>, + <0x13 0x2100c000 0x0 0x4000>; +#endif reg-names = "config", "rc", "port0", "fabric", "debug", "ltssm", "intr2axi"; From 7ed10225687f04600766ae2f27f613b12547319c Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 02:31:56 +1100 Subject: [PATCH 7/8] arm64: dts: apple: correct the common T602x PCIe-C LTSSM apertures The expanded 42-host audit finds the same copied LTSSM address discrepancy in every T602x template instance. Describe the native apertures for Pro, Max and Ultra and remove the unnecessary fourth-host register-form split. No enablement or aliases change. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t602x-dieX.dtsi | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi index 680ce29397d9b..5255c0b55330c 100644 --- a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi +++ b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi @@ -587,7 +587,7 @@ <0x7 0x21000000 0x0 0x8000>, <0x7 0x20004000 0x0 0x4000>, <0x7 0x20200000 0x0 0x4000>, - <0x7 0x21100000 0x0 0x4000>, + <0x7 0x21010000 0x0 0x4000>, <0x7 0x2100c000 0x0 0x4000>; reg-names = "config", "rc", "port0", "fabric", "debug", "ltssm", "intr2axi"; @@ -814,7 +814,7 @@ <0xb 0x21000000 0x0 0x8000>, <0xb 0x20004000 0x0 0x4000>, <0xb 0x20200000 0x0 0x4000>, - <0xb 0x21100000 0x0 0x4000>, + <0xb 0x21010000 0x0 0x4000>, <0xb 0x2100c000 0x0 0x4000>; reg-names = "config", "rc", "port0", "fabric", "debug", "ltssm", "intr2axi"; @@ -1041,7 +1041,7 @@ <0xf 0x21000000 0x0 0x8000>, <0xf 0x20004000 0x0 0x4000>, <0xf 0x20200000 0x0 0x4000>, - <0xf 0x21100000 0x0 0x4000>, + <0xf 0x21010000 0x0 0x4000>, <0xf 0x2100c000 0x0 0x4000>; reg-names = "config", "rc", "port0", "fabric", "debug", "ltssm", "intr2axi"; @@ -1266,15 +1266,6 @@ compatible = "apple,t6000-pciec"; device_type = "pci"; -#ifdef APPLE_T602X_NON_ULTRA - reg = <0x13 0x30000000 0x0 0x10000000>, - <0x13 0x20000000 0x0 0x4000>, - <0x13 0x21000000 0x0 0x8000>, - <0x13 0x20004000 0x0 0x4000>, - <0x13 0x20200000 0x0 0x4000>, - <0x13 0x21100000 0x0 0x4000>, - <0x13 0x2100c000 0x0 0x4000>; -#else reg = <0x13 0x30000000 0x0 0x10000000>, <0x13 0x20000000 0x0 0x4000>, <0x13 0x21000000 0x0 0x8000>, @@ -1282,7 +1273,6 @@ <0x13 0x20200000 0x0 0x4000>, <0x13 0x21010000 0x0 0x4000>, <0x13 0x2100c000 0x0 0x4000>; -#endif reg-names = "config", "rc", "port0", "fabric", "debug", "ltssm", "intr2axi"; From ae97010fe05c614e3734c717afd8bc919f29c210 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 03:27:04 +1100 Subject: [PATCH 8/8] arm64: dts: apple: give the disabled Ultra fourth tunnels explicit address ranges Describe the new Ultra logical bus windows with an address-qualified node name and identity translations for controller/config and downstream PCIe memory apertures. This fixes the new simple_bus_reg W=1 diagnostics while preserving child addresses, disabled state and existing Pro/Max paths. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t602x-dieX.dtsi | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi index 5255c0b55330c..7d1fac59b0307 100644 --- a/arch/arm64/boot/dts/apple/t602x-dieX.dtsi +++ b/arch/arm64/boot/dts/apple/t602x-dieX.dtsi @@ -1241,11 +1241,19 @@ }; }; +#ifdef APPLE_T602X_NON_ULTRA DIE_NODE(usb4_3_pcie_tunnel): usb4-pcie-tunnel-3 { +#else + DIE_NODE(usb4_3_pcie_tunnel): usb4-pcie-tunnel@1320000000 { +#endif #address-cells = <2>; #size-cells = <2>; +#ifdef APPLE_T602X_NON_ULTRA ranges; -#ifndef APPLE_T602X_NON_ULTRA +#else + /* Identity-map the controller and PCIe memory windows. */ + ranges = <0x13 0x20000000 0x13 0x20000000 0x0 0x20000000>, + <0x14 0x0 0x14 0x0 0x2 0x80000000>; status = "disabled"; #endif