diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml index 9156ca918cdfb..16f4554411c66 100644 --- a/Documentation/devicetree/bindings/arm/apple.yaml +++ b/Documentation/devicetree/bindings/arm/apple.yaml @@ -365,7 +365,10 @@ properties: - description: Apple M5 SoC based platforms items: - - const: apple,j813 # MacBook Air (13-inch, M5, 2026) + - enum: + - apple,j704 # MacBook Pro (14-inch, M5) + - apple,j813 # MacBook Air (13-inch, M5, 2026) + - apple,j815 # MacBook Air (15-inch, M5) - const: apple,t8142 - const: apple,arm-platform diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile index e9144783ca301..e0ef6a0296c9c 100644 --- a/arch/arm64/boot/dts/apple/Makefile +++ b/arch/arm64/boot/dts/apple/Makefile @@ -116,7 +116,6 @@ dtb-$(CONFIG_ARCH_APPLE) += t8132-j713.dtb dtb-$(CONFIG_ARCH_APPLE) += t8132-j715.dtb dtb-$(CONFIG_ARCH_APPLE) += t8132-j773g.dtb dtb-$(CONFIG_ARCH_APPLE) += t8140-j700.dtb -dtb-$(CONFIG_ARCH_APPLE) += t8142-j813.dtb dtb-$(CONFIG_ARCH_APPLE) += t8152-j873g.dtb # Explicit cold-ANE lead test; never select as the production board DTB. @@ -128,3 +127,7 @@ dtb-$(CONFIG_ARCH_APPLE) += t6050-k114c.dtb dtb-$(CONFIG_ARCH_APPLE) += t6050-k114s.dtb dtb-$(CONFIG_ARCH_APPLE) += t6050-k116c.dtb dtb-$(CONFIG_ARCH_APPLE) += t6050-k116s.dtb + +dtb-$(CONFIG_ARCH_APPLE) += t8142-j704.dtb +dtb-$(CONFIG_ARCH_APPLE) += t8142-j813.dtb +dtb-$(CONFIG_ARCH_APPLE) += t8142-j815.dtb diff --git a/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi new file mode 100644 index 0000000000000..58842a9acfd1a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Codec identities only; no amplifier programming or acoustic configuration. */ + +&hw_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + hw_jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Jack"; + status = "disabled"; + }; +}; + +&hw_i2c3 { + #address-cells = <1>; + #size-cells = <0>; + + hw_audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + sound-name-prefix = "Speaker 0"; + status = "disabled"; + }; + + hw_audio_speaker_left_woofer_2: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_left_tweeter: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Tweeter"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 1"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_2: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_right_tweeter: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Tweeter"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi new file mode 100644 index 0000000000000..47c07c8224f38 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi @@ -0,0 +1,865 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_i2c0: i2c@3a5010000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa5010000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_i2c1: i2c@3a5014000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa5014000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_i2c3: i2c@3a501c000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa501c000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_i2c4: i2c@3a5020000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa5020000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_fpwm0: pwm@3a5040000 { + compatible = "apple,t8142-fpwm", "apple,s5l-fpwm"; + reg = <0x3 0xa5040000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + #pwm-cells = <2>; + clocks = <&clkref>; + }; + + hw_dart_apcie2: iommu@48a000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x8a000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie2_piodma: dma-controller@48a030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x8a030000 0x0 0x4000>, + <0x4 0x8a034000 0x0 0x4000>, + <0x4 0x8a038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie2 17>; + status = "disabled"; + }; + + hw_nub_spmi_a1: spmi-resource@388a08000 { + compatible = "apple,t8142-spmi", "apple,spmi"; + reg = <0x3 0x88a08000 0x0 0x4000>, + <0x3 0x88a04000 0x0 0x4000>, + <0x3 0x88a00000 0x0 0x4000>; + status = "disabled"; + interrupts = ; + }; + + hw_apcie: pcie@1cb0000000 { + compatible = "apple,t8142-pcie", "apple,pcie"; + reg = <0x1c 0xb0000000 0x0 0x10000000>, + <0x4 0x8c000000 0x0 0x4000>, + <0x4 0x8f000000 0x0 0x40000>, + <0x4 0x8f020000 0x0 0x4000>, + <0x4 0x8f040000 0x0 0x20000>, + <0x4 0x8e000000 0x0 0x1000000>, + <0x4 0x8d044000 0x0 0x4000>, + <0x4 0x8d980800 0x0 0x4000>, + <0x4 0x88028000 0x0 0x8000>, + <0x4 0x8803c000 0x0 0x4000>, + <0x4 0x8f010000 0x0 0x4000>, + <0x4 0x88024000 0x0 0x4000>, + <0x4 0x88048000 0x0 0x4000>, + <0x4 0x88044000 0x0 0x4000>, + <0x4 0x89028000 0x0 0x8000>, + <0x4 0x8903c000 0x0 0x4000>, + <0x4 0x8f014000 0x0 0x4000>, + <0x4 0x89024000 0x0 0x4000>, + <0x4 0x89048000 0x0 0x4000>, + <0x4 0x89044000 0x0 0x4000>, + <0x4 0x8a028000 0x0 0x8000>, + <0x4 0x8a03c000 0x0 0x4000>, + <0x4 0x8f018000 0x0 0x4000>, + <0x4 0x8a024000 0x0 0x4000>, + <0x4 0x8a048000 0x0 0x4000>, + <0x4 0x8a044000 0x0 0x4000>; + interrupts = , + , + ; + status = "disabled"; + }; + + hw_dart_apcie0: iommu@488000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x88000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie0_piodma: dma-controller@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4@401f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio0 0>, <&hw_dart_acio0 1>, <&hw_dart_acio0 2>, <&hw_dart_acio0 3>, <&hw_dart_acio0 4>, <&hw_dart_acio0 5>, <&hw_dart_acio0 6>, <&hw_dart_acio0 7>, <&hw_dart_acio0 8>, <&hw_dart_acio0 9>, <&hw_dart_acio0 10>, <&hw_dart_acio0 11>, <&hw_dart_acio0 16>, <&hw_dart_acio0 17>, <&hw_dart_acio0 18>, <&hw_dart_acio0 19>, <&hw_dart_acio0 20>, <&hw_dart_acio0 21>, <&hw_dart_acio0 22>, <&hw_dart_acio0 23>, <&hw_dart_acio0 24>, <&hw_dart_acio0 25>, <&hw_dart_acio0 26>, <&hw_dart_acio0 27>; + status = "disabled"; + }; + + hw_acio1: usb4@409f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio1 0>, <&hw_dart_acio1 1>, <&hw_dart_acio1 2>, <&hw_dart_acio1 3>, <&hw_dart_acio1 4>, <&hw_dart_acio1 5>, <&hw_dart_acio1 6>, <&hw_dart_acio1 7>, <&hw_dart_acio1 8>, <&hw_dart_acio1 9>, <&hw_dart_acio1 10>, <&hw_dart_acio1 11>, <&hw_dart_acio1 16>, <&hw_dart_acio1 17>, <&hw_dart_acio1 18>, <&hw_dart_acio1 19>, <&hw_dart_acio1 20>, <&hw_dart_acio1 21>, <&hw_dart_acio1 22>, <&hw_dart_acio1 23>, <&hw_dart_acio1 24>, <&hw_dart_acio1 25>, <&hw_dart_acio1 26>, <&hw_dart_acio1 27>; + status = "disabled"; + }; + + hw_atc2_dpxbar: atc-dpxbar@41304c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x1304c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_acio_cpu3: usb4-coproc@419108000 { + compatible = "apple,t8142-usb4-acio", "apple,usb4-acio"; + reg = <0x4 0x19108000 0x0 0x4000>, + <0x4 0x19100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec3: pcie@1c80000000 { + compatible = "apple,t8142-pciec", "apple,pciec"; + reg = <0x1c 0x80000000 0x0 0x10000000>, + <0x4 0x1c034000 0x0 0x4000>, + <0x4 0x1c020000 0x0 0x8000>, + <0x4 0x1c038000 0x0 0x4000>, + <0x4 0x1c060000 0x0 0x4000>, + <0x4 0x18020000 0x0 0x4000>, + <0x4 0x1c02c000 0x0 0x4000>, + <0x4 0x1c028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec3: iommu@41c000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x1c000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec3_piodma: dma-controller@41c068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0x1c068000 0x0 0x4000>, + <0x4 0x1c06c000 0x0 0x4000>, + <0x4 0x1c070000 0x0 0x4000>, + <0x4 0x1c03c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec3 254>; + status = "disabled"; + }; + + hw_acio3: usb4@419f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x19f00000 0x0 0x100000>, + <0x4 0x19ac0000 0x0 0x4000>, + <0x4 0x19ac4000 0x0 0x4000>, + <0x4 0x19ac8000 0x0 0x4000>, + <0x4 0x19e44000 0x0 0x4000>, + <0x4 0x19c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio3 0>, <&hw_dart_acio3 1>, <&hw_dart_acio3 2>, <&hw_dart_acio3 3>, <&hw_dart_acio3 4>, <&hw_dart_acio3 5>, <&hw_dart_acio3 6>, <&hw_dart_acio3 7>, <&hw_dart_acio3 8>, <&hw_dart_acio3 9>, <&hw_dart_acio3 10>, <&hw_dart_acio3 11>, <&hw_dart_acio3 16>, <&hw_dart_acio3 17>, <&hw_dart_acio3 18>, <&hw_dart_acio3 19>, <&hw_dart_acio3 20>, <&hw_dart_acio3 21>, <&hw_dart_acio3 22>, <&hw_dart_acio3 23>, <&hw_dart_acio3 24>, <&hw_dart_acio3 25>, <&hw_dart_acio3 26>, <&hw_dart_acio3 27>; + status = "disabled"; + }; + + hw_dart_acio3: iommu@419a80000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x19a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc3_dpxbar: atc-dpxbar@41b04c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x1b04c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc3_dpin0: dp-in@419e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x19e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc3_dpin1: dp-in@419e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x19e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_wdt: watchdog@3882b0000 { + compatible = "apple,t8142-wdt", "apple,wdt"; + reg = <0x3 0x882b0000 0x0 0x4000>, + <0x3 0x882bc230 0x0 0x4>, + <0x3 0x882b8008 0x0 0x4>, + <0x3 0x882b802c 0x0 0x4>, + <0x3 0x882b8020 0x0 0x4>; + interrupts = , + ; + status = "disabled"; + clocks = <&clkref>; + }; + + hw_gpio0: pinctrl@39a000000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x9a000000 0x0 0x100000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + gpio-ranges = <&hw_gpio0 0 0 224>; + apple,npins = <224>; + }; + + hw_nub_gpio: pinctrl@3881f0000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_aop: aop@390600000 { + compatible = "apple,t8142-aop", "apple,aop"; + reg = <0x3 0x90600000 0x0 0x88000>, + <0x3 0x90050000 0x0 0x4000>, + <0x3 0x90c00000 0x0 0x1e0000>, + <0x3 0x882a8000 0x0 0x8>, + <0x3 0x9062c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 0>; + status = "disabled"; + }; + + hw_dart_aop: iommu@390fc0000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x90fc0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_aop 1>; + status = "disabled"; + }; + + hw_aop2: aop2@391600000 { + compatible = "apple,t8142-aop2", "apple,aop2"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 16>; + status = "disabled"; + }; + + hw_pmgr: power-management-complex@388280000 { + compatible = "apple,t8142-pmgr", "apple,pmgr"; + reg = <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x88004000 0x0 0x1000>, + <0x2 0x10e20000 0x0 0x1268>, + <0x2 0x10f00000 0x0 0x40088>, + <0x2 0x10e40000 0x0 0xc020>, + <0x2 0x10e50000 0x0 0x9048>, + <0x2 0x10e70000 0x0 0xffe8>, + <0x2 0x10050000 0x0 0x9010>, + <0x2 0x10150000 0x0 0x9010>, + <0x2 0x10250000 0x0 0x9010>, + <0x2 0x10350000 0x0 0x9010>, + <0x2 0x10450000 0x0 0x9010>, + <0x2 0x10550000 0x0 0x9010>, + <0x2 0x11e20000 0x0 0x12e8>, + <0x2 0x11f00000 0x0 0x40088>, + <0x2 0x11e40000 0x0 0xc020>, + <0x2 0x11e50000 0x0 0x9048>, + <0x2 0x11e70000 0x0 0xffe8>, + <0x2 0x11050000 0x0 0x9018>, + <0x2 0x11150000 0x0 0x9018>, + <0x2 0x11250000 0x0 0x9018>, + <0x2 0x11350000 0x0 0x9018>, + <0x3 0x80280000 0x0 0x8000>, + <0x3 0x88700000 0x0 0x4000>, + <0x3 0x88100000 0x0 0xa8000>, + <0x4 0x2195c000 0x0 0x4000>, + <0x4 0x21960000 0x0 0x4000>, + <0x4 0x21974000 0x0 0x4000>, + <0x3 0x80208000 0x0 0x8000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x80764000 0x0 0x4000>, + <0x3 0x80780000 0x0 0x4000>, + <0x3 0x80760000 0x0 0x4000>, + <0x3 0x882b8000 0x0 0x10000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x882d0000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x20000>, + <0x3 0x80730000 0x0 0x14000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x4 0x21954000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x8002c000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x5 0x80e80000 0x0 0x30000>, + <0x5 0x80ec0000 0x0 0x4000>, + <0x5 0x80ec0000 0x0 0x8000>, + <0x5 0x80e30000 0x0 0x4000>, + <0x5 0x80e30000 0x0 0x8000>, + <0x2 0x10000000 0x0 0xff4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_pmp: pmp@380e00000 { + compatible = "apple,t8142-pmp", "apple,pmp"; + reg = <0x3 0x80e00000 0x0 0x88000>, + <0x3 0x80850000 0x0 0x4000>, + <0x3 0x80500000 0x0 0xd0000>, + <0x3 0x803d0000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_pmp 0>; + status = "disabled"; + }; + + hw_dart_pmp: iommu@380300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x80300000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ans: nvme@481600000 { + compatible = "apple,t8142-nvme-ans2", "apple,nvme-ans"; + reg = <0x4 0x81600000 0x0 0x88000>, + <0x4 0x81050000 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0x85cc0000 0x0 0x60000>, + <0x4 0x83000000 0x0 0x1000000>, + <0x4 0x85b90000 0x0 0xc000>, + <0x4 0x85d47c00 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0xc5cc0000 0x0 0x10000>; + interrupts = , + , + , + , + ; + status = "disabled"; + }; + + hw_sart_ans: iommu@485c50000 { + compatible = "apple,t8142-sart", "apple,sart"; + reg = <0x4 0x85c50000 0x0 0xc000>, + <0x4 0x85d44000 0x0 0x4000>, + <0x4 0x85cc0000 0x0 0x4000>; + status = "disabled"; + }; + + hw_smc: smc@38c600000 { + compatible = "apple,t8142-smc", "apple,smc"; + reg = <0x3 0x8c600000 0x0 0x88000>, + <0x3 0x8c050000 0x0 0x4000>, + <0x3 0x8c810000 0x0 0x100>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_dockchannel_mtp: dockchannel-complex@394b00000 { + compatible = "apple,t8142-dockchannel-complex", "apple,dockchannel-complex"; + reg = <0x3 0x94b00000 0x0 0x1000>, + <0x3 0x94b14000 0x0 0x1000>, + <0x3 0x94b30000 0x0 0x1000>, + <0x3 0x94b34000 0x0 0x1000>, + <0x3 0x94b28000 0x0 0x1000>, + <0x3 0x94b2c000 0x0 0x1000>; + interrupts = ; + status = "disabled"; + }; + + hw_mtp: mtp@394600000 { + compatible = "apple,t8142-mtp", "apple,mtp"; + reg = <0x3 0x94600000 0x0 0x88000>, + <0x3 0x94050000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_mtp 0>; + status = "disabled"; + }; + + hw_dart_mtp: iommu@394800000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x94800000 0x0 0xc000>, + <0x3 0x94810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_qspi: spi@3a5118000 { + compatible = "apple,t8142-qspi", "apple,qspi"; + reg = <0x3 0xa5118000 0x0 0x4000>, + <0x3 0xa5118800 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc_phy2: phy@412a90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0x12a90000 0x0 0x4000>, + <0x4 0x12800000 0x0 0x4000>, + <0x4 0x13000000 0x0 0x58000>, + <0x4 0x10000000 0x0 0x1000000>; + status = "disabled"; + }; + + hw_atc_phy0: phy@402a90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0x2a90000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x3000000 0x0 0x58000>, + <0x4 0x0 0x0 0x1000000>; + status = "disabled"; + }; + + hw_dart_usb0: iommu@402f00000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x2f00000 0x0 0xc000>, + <0x4 0x2f80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd0: usb@402280000 { + compatible = "apple,t8142-dwc3", "apple,dwc3"; + reg = <0x4 0x2280000 0x0 0x11800>, + <0x4 0x2200000 0x0 0x4000>, + <0x4 0x228c000 0x0 0x5800>, + <0x4 0x2a84000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x2a80000 0x0 0x4000>, + <0x4 0x2080000 0x0 0x4000>, + <0x4 0x228d000 0x0 0x4000>, + <0x4 0x2980000 0x0 0x4000>, + <0x3 0x82740000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb0 1>; + status = "disabled"; + }; + + hw_atc_phy1: phy@40aa90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0xaa90000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xb000000 0x0 0x58000>, + <0x4 0x8000000 0x0 0x1000000>; + status = "disabled"; + }; + + hw_dart_usb1: iommu@40af00000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0xaf00000 0x0 0xc000>, + <0x4 0xaf80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd1: usb@40a280000 { + compatible = "apple,t8142-dwc3", "apple,dwc3"; + reg = <0x4 0xa280000 0x0 0x11800>, + <0x4 0xa200000 0x0 0x4000>, + <0x4 0xa28c000 0x0 0x5800>, + <0x4 0xaa84000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xaa80000 0x0 0x4000>, + <0x4 0xa080000 0x0 0x4000>, + <0x4 0xa28d000 0x0 0x4000>, + <0x4 0xa980000 0x0 0x4000>, + <0x3 0x82744000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb1 1>; + status = "disabled"; + }; + + hw_atc_phy3: phy@41aa90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0x1aa90000 0x0 0x4000>, + <0x4 0x1a800000 0x0 0x4000>, + <0x4 0x1b000000 0x0 0x58000>, + <0x4 0x18000000 0x0 0x1000000>; + status = "disabled"; + }; + + hw_dart_usb3: iommu@41af00000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x1af00000 0x0 0xc000>, + <0x4 0x1af80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd3: usb@41a280000 { + compatible = "apple,t8142-dwc3", "apple,dwc3"; + reg = <0x4 0x1a280000 0x0 0x11800>, + <0x4 0x1a200000 0x0 0x4000>, + <0x4 0x1a28c000 0x0 0x5800>, + <0x4 0x1aa84000 0x0 0x4000>, + <0x4 0x1a800000 0x0 0x4000>, + <0x4 0x1aa80000 0x0 0x4000>, + <0x4 0x1a080000 0x0 0x4000>, + <0x4 0x1a28d000 0x0 0x4000>, + <0x4 0x1a980000 0x0 0x4000>, + <0x3 0x8274c000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb3 1>; + status = "disabled"; + }; + + hw_disp0: display-engine@284000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x2 0x84000000 0x0 0xb1c000>, + <0x2 0x86240000 0x0 0x10000>, + <0x2 0x863ac000 0x0 0x4000>, + <0x2 0x86800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_disp0 0>, <&hw_dart_disp0 16>; + status = "disabled"; + }; + + hw_dcp: dcp@286e00000 { + compatible = "apple,t8142-dcp", "apple,dcp"; + reg = <0x2 0x86e00000 0x0 0x88000>, + <0x2 0x86850000 0x0 0x4000>, + <0x2 0x86e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcp 23>; + status = "disabled"; + }; + + hw_dart_dcp: iommu@286340000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x86340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0: iommu@286300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x86300000 0x0 0xc000>, + <0x2 0x86314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_avd: video-decoder@500000000 { + compatible = "apple,t8142-avd", "apple,avd"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_avd 0>, <&hw_dart_avd 1>, <&hw_dart_avd 2>; + status = "disabled"; + }; + + hw_dart_avd: iommu@501020000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x5 0x1020000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_isp: isp@4a0000000 { + compatible = "apple,t8142-isp", "apple,isp"; + reg = <0x4 0xa0000000 0x0 0x4000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_isp 0>, <&hw_dart_isp 12>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>; + status = "disabled"; + }; + + hw_dart_isp: iommu@4a28c0000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0xa28c0000 0x0 0xc000>, + <0x4 0xa28e0000 0x0 0xc000>, + <0x4 0xa2900000 0x0 0xc000>, + <0x4 0xa28f4000 0x0 0x4000>, + <0x4 0xa2914000 0x0 0x4000>, + <0x4 0xa28d0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_sgx: gpu@580000000 { + compatible = "apple,t8142-gpu", "apple,gpu"; + reg = <0x5 0x80000000 0x0 0x4000000>, + <0x5 0x80d00000 0x0 0x180000>; + interrupts = , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_gfx_asc: gpu-coproc@582600000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82600000 0x0 0x88000>, + <0x5 0x82050000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_gfx1_asc: gpu-coproc@582e00000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82e00000 0x0 0x88000>, + <0x5 0x82850000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_admac_base_ns: dma-controller@393800000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93800000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 8>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_leap_ns: dma-controller@393300000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 10>; + status = "disabled"; + #dma-cells = <1>; + }; + + +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j704-power-domains.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-power-domains.dtsi new file mode 100644 index 0000000000000..7c60bd5d5a782 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704-power-domains.dtsi @@ -0,0 +1,815 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Hardware gate relationships only. New controllers and states stay disabled. */ + +&{/soc} { + hw_pwr_bank_380700000: power-management@380700000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80700000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_380708000: power-management@380708000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80708000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_380710000: power-management@380710000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80710000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_388280000: power-management@388280000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x88280000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_580e80000: power-management@580e80000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x5 0x80e80000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380700000 { + hw_pwr_380700190: power-controller@190 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x190 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens0"; + status = "disabled"; + }; + hw_pwr_380700198: power-controller@198 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x198 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens1"; + status = "disabled"; + }; + hw_pwr_3807001a0: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_pwr_3807001a8: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_pwr_380700290: power-controller@290 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x290 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-sys"; + status = "disabled"; + }; + hw_pwr_380700298: power-controller@298 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x298 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-sys"; + status = "disabled"; + }; + hw_pwr_3807002a0: power-controller@2a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "jpg"; + status = "disabled"; + }; + hw_pwr_3807002a8: power-controller@2a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr"; + status = "disabled"; + }; + hw_pwr_3807002c0: power-controller@2c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec"; + status = "disabled"; + }; + hw_pwr_3807002c8: power-controller@2c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-common"; + status = "disabled"; + }; + hw_pwr_3807002d0: power-controller@2d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-common"; + status = "disabled"; + }; + hw_pwr_3807002d8: power-controller@2d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc2-common"; + status = "disabled"; + }; + hw_pwr_3807002e0: power-controller@2e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-common"; + status = "disabled"; + }; + hw_pwr_3807002e8: power-controller@2e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ane-sys"; + status = "disabled"; + }; + hw_pwr_3807002f0: power-controller@2f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-gp"; + status = "disabled"; + }; + hw_pwr_3807002f8: power-controller@2f8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "isp-sys"; + status = "disabled"; + }; + hw_pwr_380700300: power-controller@300 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x300 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ans"; + status = "disabled"; + }; + hw_pwr_380700310: power-controller@310 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x310 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "avd-sys"; + status = "disabled"; + }; + hw_pwr_380700318: power-controller@318 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x318 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-fe"; + power-domains = <&hw_pwr_380700290>; + status = "disabled"; + }; + hw_pwr_380700320: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + power-domains = <&hw_pwr_3807002a8>; + status = "disabled"; + }; + hw_pwr_380700328: power-controller@328 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x328 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "sio-cpu"; + status = "disabled"; + }; + hw_pwr_380700330: power-controller@330 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x330 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fpwm0"; + status = "disabled"; + }; + hw_pwr_380700348: power-controller@348 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x348 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c0"; + status = "disabled"; + }; + hw_pwr_380700350: power-controller@350 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x350 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c1"; + status = "disabled"; + }; + hw_pwr_380700358: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_pwr_380700360: power-controller@360 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x360 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c3"; + status = "disabled"; + }; + hw_pwr_380700368: power-controller@368 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x368 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c4"; + status = "disabled"; + }; + hw_pwr_380700390: power-controller@390 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x390 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi-p"; + status = "disabled"; + }; + hw_pwr_3807003a0: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_pwr_3807003c0: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + power-domains = <&hw_pwr_3807002c0>; + status = "disabled"; + }; + hw_pwr_3807003c8: power-controller@3c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-pcie"; + power-domains = <&hw_pwr_3807002c8>; + status = "disabled"; + }; + hw_pwr_3807003d0: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + power-domains = <&hw_pwr_3807002c8>; + status = "disabled"; + }; + hw_pwr_3807003d8: power-controller@3d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-pcie"; + power-domains = <&hw_pwr_3807002d0>; + status = "disabled"; + }; + hw_pwr_3807003e0: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + power-domains = <&hw_pwr_3807002d0>; + status = "disabled"; + }; + hw_pwr_3807003f8: power-controller@3f8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3f8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-pcie"; + power-domains = <&hw_pwr_3807002e0>; + status = "disabled"; + }; + hw_pwr_380700400: power-controller@400 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x400 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio"; + power-domains = <&hw_pwr_3807002e0>; + status = "disabled"; + }; + hw_pwr_380700408: power-controller@408 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x408 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-gp"; + power-domains = <&hw_pwr_3807002f0>; + status = "disabled"; + }; + hw_pwr_380700410: power-controller@410 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x410 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-st"; + power-domains = <&hw_pwr_380700300>; + status = "disabled"; + }; + hw_pwr_380700440: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_380700450: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_380700460: power-controller@460 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x460 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "qspi"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_3807004d8: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e0: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e8: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_3807004f0: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_380700508: power-controller@508 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x508 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio-pcie"; + power-domains = <&hw_pwr_380700400>; + status = "disabled"; + }; + hw_pwr_380700510: power-controller@510 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x510 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio-usb"; + power-domains = <&hw_pwr_380700400>; + status = "disabled"; + }; + hw_pwr_380700520: power-controller@520 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x520 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-st"; + power-domains = <&hw_pwr_380700300>, <&hw_pwr_380700410>; + status = "disabled"; + }; + hw_pwr_380700560: power-controller@560 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x560 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-phy-sw"; + power-domains = <&hw_pwr_380700408>, <&hw_pwr_380700520>; + status = "disabled"; + }; + hw_pwr_380700578: power-controller@578 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x578 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5-aon"; + power-domains = <&hw_pwr_380700560>; + status = "disabled"; + }; + hw_pwr_380700580: power-controller@580 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x580 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5"; + power-domains = <&hw_pwr_380700578>; + status = "disabled"; + }; + hw_pwr_380700598: power-controller@598 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x598 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pmp"; + status = "disabled"; + }; + hw_pwr_3807005a0: power-controller@5a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x5a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pms-sram"; + apple,always-on; + status = "disabled"; + }; +}; + +&hw_pwr_bank_388280000 { + hw_pwr_3882800c8: power-controller@c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xc8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-usb-aon"; + status = "disabled"; + }; + hw_pwr_3882800d0: power-controller@d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xd0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-usb"; + power-domains = <&hw_pwr_3807002c8>, <&hw_pwr_3882800c8>; + status = "disabled"; + }; + hw_pwr_3882800d8: power-controller@d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xd8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-usb-aon"; + status = "disabled"; + }; + hw_pwr_3882800e0: power-controller@e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xe0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-usb"; + power-domains = <&hw_pwr_3807002d0>, <&hw_pwr_3882800d8>; + status = "disabled"; + }; + hw_pwr_3882800e8: power-controller@e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xe8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc2-usb-aon"; + status = "disabled"; + }; + hw_pwr_3882800f8: power-controller@f8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xf8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-usb-aon"; + status = "disabled"; + }; + hw_pwr_388280100: power-controller@100 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x100 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-usb"; + power-domains = <&hw_pwr_3807002e0>, <&hw_pwr_3882800f8>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380710000 { + hw_pwr_380710000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-cpu"; + power-domains = <&hw_pwr_380700318>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380708000 { + hw_pwr_380708000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-dma"; + power-domains = <&hw_pwr_380700298>; + status = "disabled"; + }; + hw_pwr_380708008: power-controller@8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe4"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708010: power-controller@10 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x10 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe5"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708018: power-controller@18 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x18 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me0"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708020: power-controller@20 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x20 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me1"; + power-domains = <&hw_pwr_380708018>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_580e80000 { + hw_pwr_580e80000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "gpx"; + apple,always-on; + status = "disabled"; + }; + hw_pwr_580e80110: power-controller@110 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x110 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "gfx"; + power-domains = <&hw_pwr_580e80000>; + status = "disabled"; + }; +}; + +&hw_acio0 { + power-domains = <&hw_pwr_3807003d0>, <&hw_pwr_3807004d8>, <&hw_pwr_3807004e0>; +}; + +&hw_acio1 { + power-domains = <&hw_pwr_3807003e0>, <&hw_pwr_3807004e8>, <&hw_pwr_3807004f0>; +}; + +&hw_acio3 { + power-domains = <&hw_pwr_380700400>, <&hw_pwr_380700508>, <&hw_pwr_380700510>; +}; + +&hw_aes { + power-domains = <&hw_pwr_3807003a0>; +}; + +&hw_ane { + power-domains = <&hw_pwr_3807002e8>; +}; + +&hw_apcie { + power-domains = <&hw_pwr_380700300>, <&hw_pwr_3807002f0>, <&hw_pwr_380700408>, <&hw_pwr_380700410>, <&hw_pwr_380700520>, <&hw_pwr_380700560>, <&hw_pwr_380700578>, <&hw_pwr_380700580>; +}; + +&hw_apciec0 { + power-domains = <&hw_pwr_3882800c8>, <&hw_pwr_3807003c8>; +}; + +&hw_apciec1 { + power-domains = <&hw_pwr_3882800d8>, <&hw_pwr_3807003d8>; +}; + +&hw_apciec3 { + power-domains = <&hw_pwr_3882800f8>, <&hw_pwr_3807003f8>; +}; + +&hw_apr { + power-domains = <&hw_pwr_3807002c0>; +}; + +&hw_atc_phy0 { + power-domains = <&hw_pwr_3882800c8>, <&hw_pwr_3807002c8>; +}; + +&hw_atc_phy1 { + power-domains = <&hw_pwr_3882800d8>, <&hw_pwr_3807002d0>; +}; + +&hw_atc_phy2 { + power-domains = <&hw_pwr_3882800e8>, <&hw_pwr_3807002d8>; +}; + +&hw_atc_phy3 { + power-domains = <&hw_pwr_3882800f8>, <&hw_pwr_3807002e0>; +}; + +&hw_avd { + power-domains = <&hw_pwr_380700310>; +}; + +&hw_ave { + power-domains = <&hw_pwr_380700298>, <&hw_pwr_380708008>, <&hw_pwr_380708010>, <&hw_pwr_380708018>, <&hw_pwr_380708020>, <&hw_pwr_380708000>; +}; + +&hw_dart_usb0 { + power-domains = <&hw_pwr_3882800d0>; +}; + +&hw_dart_usb1 { + power-domains = <&hw_pwr_3882800e0>; +}; + +&hw_dart_usb3 { + power-domains = <&hw_pwr_388280100>; +}; + +&hw_dcp { + power-domains = <&hw_pwr_380710000>; +}; + +&hw_dcp0_expert { + power-domains = <&hw_pwr_380700290>; +}; + +&hw_dptx0_aux { + power-domains = <&hw_pwr_3807001a0>; +}; + +&hw_dptx1_aux { + power-domains = <&hw_pwr_3807001a8>; +}; + +&hw_fpwm0 { + power-domains = <&hw_pwr_380700330>; +}; + +&hw_gfx1_asc { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_gfx_asc { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_i2c0 { + power-domains = <&hw_pwr_380700348>; +}; + +&hw_i2c1 { + power-domains = <&hw_pwr_380700350>; +}; + +&hw_i2c2 { + power-domains = <&hw_pwr_380700358>; +}; + +&hw_i2c3 { + power-domains = <&hw_pwr_380700360>; +}; + +&hw_i2c4 { + power-domains = <&hw_pwr_380700368>; +}; + +&hw_isp { + power-domains = <&hw_pwr_3807002f8>, <&hw_pwr_380700190>, <&hw_pwr_380700198>; +}; + +&hw_jpeg0 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_jpeg1 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_pmp { + power-domains = <&hw_pwr_380700598>, <&hw_pwr_3807005a0>; +}; + +&hw_qspi { + power-domains = <&hw_pwr_380700460>; +}; + +&hw_scaler0 { + power-domains = <&hw_pwr_3807002a8>, <&hw_pwr_380700320>; +}; + +&hw_scdc { + power-domains = <&hw_pwr_3807003c0>; +}; + +&hw_sgx { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_sio { + power-domains = <&hw_pwr_380700328>; +}; + +&hw_spi2 { + power-domains = <&hw_pwr_380700440>; +}; + +&hw_spi4 { + power-domains = <&hw_pwr_380700450>; +}; + +&hw_usb_drd0 { + power-domains = <&hw_pwr_3882800d0>; +}; + +&hw_usb_drd1 { + power-domains = <&hw_pwr_3882800e0>; +}; + +&hw_usb_drd3 { + power-domains = <&hw_pwr_388280100>; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j704.dts b/arch/arm64/boot/dts/apple/t8142-j704.dts new file mode 100644 index 0000000000000..81a59e996310a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/dts-v1/; + +#include "t8142.dtsi" +#include "t8142-j704-peripherals.dtsi" + +/ { + aliases { + serial0 = &dockchannel; + serial1 = &serial0; + }; + model = "Apple MacBook Pro (14-inch, M5)"; + compatible = "apple,j704", "apple,t8142", "apple,arm-platform"; +}; + +&cpufreq_e { + status = "disabled"; +}; + +&cpufreq_p { + status = "disabled"; +}; + +&pmc { + status = "disabled"; +}; + +#include "t8142-j704-audio-topology.dtsi" + + +#include "t8142-j704-power-domains.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-j813-power-domains.dtsi b/arch/arm64/boot/dts/apple/t8142-j813-power-domains.dtsi new file mode 100644 index 0000000000000..5ad9f74ead087 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j813-power-domains.dtsi @@ -0,0 +1,326 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Hardware gate relationships only. New controllers and states stay disabled. */ + +&pmgr { + hw_pwr_3807001a0: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_pwr_3807001a8: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_pwr_380700290: power-controller@290 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x290 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-sys"; + status = "disabled"; + }; + hw_pwr_380700298: power-controller@298 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x298 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-sys"; + status = "disabled"; + }; + hw_pwr_3807002a0: power-controller@2a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "jpg"; + status = "disabled"; + }; + hw_pwr_3807002a8: power-controller@2a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr"; + status = "disabled"; + }; + hw_pwr_3807002c0: power-controller@2c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec"; + status = "disabled"; + }; + hw_pwr_3807002e8: power-controller@2e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ane-sys"; + status = "disabled"; + }; + hw_pwr_380700320: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + power-domains = <&hw_pwr_3807002a8>; + status = "disabled"; + }; + hw_pwr_380700328: power-controller@328 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x328 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "sio-cpu"; + status = "disabled"; + }; + hw_pwr_380700358: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_pwr_3807003a0: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_pwr_3807003c0: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + power-domains = <&hw_pwr_3807002c0>; + status = "disabled"; + }; + hw_pwr_3807003c8: power-controller@3c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-pcie"; + power-domains = <&ps_atc0_common>; + status = "disabled"; + }; + hw_pwr_3807003d0: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + power-domains = <&ps_atc0_common>; + status = "disabled"; + }; + hw_pwr_3807003d8: power-controller@3d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-pcie"; + power-domains = <&ps_atc1_common>; + status = "disabled"; + }; + hw_pwr_3807003e0: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + power-domains = <&ps_atc1_common>; + status = "disabled"; + }; + hw_pwr_380700440: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + power-domains = <&ps_spi_p>; + status = "disabled"; + }; + hw_pwr_380700450: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + power-domains = <&ps_spi_p>; + status = "disabled"; + }; + hw_pwr_3807004d8: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e0: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e8: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_3807004f0: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_380708000: power-controller@8000 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8000 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-dma"; + power-domains = <&hw_pwr_380700298>; + status = "disabled"; + }; + hw_pwr_380708008: power-controller@8008 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8008 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe4"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708010: power-controller@8010 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8010 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe5"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708018: power-controller@8018 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8018 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me0"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708020: power-controller@8020 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8020 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me1"; + power-domains = <&hw_pwr_380708018>; + status = "disabled"; + }; +}; + +&hw_acio0 { + power-domains = <&hw_pwr_3807003d0>, <&hw_pwr_3807004d8>, <&hw_pwr_3807004e0>; +}; + +&hw_acio1 { + power-domains = <&hw_pwr_3807003e0>, <&hw_pwr_3807004e8>, <&hw_pwr_3807004f0>; +}; + +&hw_aes { + power-domains = <&hw_pwr_3807003a0>; +}; + +&hw_ane { + power-domains = <&hw_pwr_3807002e8>; +}; + +&hw_apciec0 { + power-domains = <&ps_atc0_usb_aon>, <&hw_pwr_3807003c8>; +}; + +&hw_apciec1 { + power-domains = <&ps_atc1_usb_aon>, <&hw_pwr_3807003d8>; +}; + +&hw_apr { + power-domains = <&hw_pwr_3807002c0>; +}; + +&hw_avd { + power-domains = <&ps_avd_sys>; +}; + +&hw_ave { + power-domains = <&hw_pwr_380700298>, <&hw_pwr_380708008>, <&hw_pwr_380708010>, <&hw_pwr_380708018>, <&hw_pwr_380708020>, <&hw_pwr_380708000>; +}; + +&hw_dcp0_expert { + power-domains = <&hw_pwr_380700290>; +}; + +&hw_dptx0_aux { + power-domains = <&hw_pwr_3807001a0>; +}; + +&hw_dptx1_aux { + power-domains = <&hw_pwr_3807001a8>; +}; + +&hw_i2c2 { + power-domains = <&hw_pwr_380700358>; +}; + +&hw_jpeg0 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_jpeg1 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_scaler0 { + power-domains = <&hw_pwr_3807002a8>, <&hw_pwr_380700320>; +}; + +&hw_scdc { + power-domains = <&hw_pwr_3807003c0>; +}; + +&hw_sio { + power-domains = <&hw_pwr_380700328>; +}; + +&hw_spi2 { + power-domains = <&hw_pwr_380700440>; +}; + +&hw_spi4 { + power-domains = <&hw_pwr_380700450>; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi b/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi new file mode 100644 index 0000000000000..f64671f8e9b9c --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi @@ -0,0 +1,130 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_apcie0_piodma: dma-controller@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4@401f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_acio1: usb4@409f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&aop_dart 1>; + status = "disabled"; + }; + + hw_aop2: aop2@391600000 { + compatible = "apple,t8142-aop2", "apple,aop2"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&aop_dart 16>; + status = "disabled"; + }; + + hw_avd: video-decoder@500000000 { + compatible = "apple,t8142-avd", "apple,avd"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_admac_leap_ns: dma-controller@393300000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&aop_dart 10>; + status = "disabled"; + #dma-cells = <1>; + }; + + +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j813.dts b/arch/arm64/boot/dts/apple/t8142-j813.dts index dd1526e6caad1..67528bd522491 100644 --- a/arch/arm64/boot/dts/apple/t8142-j813.dts +++ b/arch/arm64/boot/dts/apple/t8142-j813.dts @@ -25,382 +25,32 @@ serial1 = &serial0; }; - chosen { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - stdout-path = "serial0:1500000n8"; - - framebuffer0: framebuffer@0 { - compatible = "apple,simple-framebuffer", "simple-framebuffer"; - reg = <0 0 0 0>; /* Filled by the loader. */ - status = "disabled"; - }; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - /* Filled by the loader. */ - }; - - memory@10000000000 { - device_type = "memory"; - reg = <0x100 0 0x4 0>; /* Filled by the loader. */ - }; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - - cpu0: cpu@0 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x0>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu1: cpu@1 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x1>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu2: cpu@2 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x2>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu3: cpu@3 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x3>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu4: cpu@4 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x4>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu5: cpu@5 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x5>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu6: cpu@10100 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10100>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu7: cpu@10101 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10101>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu8: cpu@10102 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10102>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu9: cpu@10103 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10103>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; - }; - - /* State 1 is 300 MHz; firmware SRAM OPP tables begin at state 2. */ - /* Cap each cluster at its measured J813 firmware handoff state. */ - ecluster_opp: opp-table-0 { - compatible = "operating-points-v2"; - opp-shared; - - opp-300000000 { - opp-hz = /bits/ 64 <300000000>; - opp-level = <1>; - }; - - opp-972000000 { - opp-hz = /bits/ 64 <972000000>; - opp-level = <2>; - }; - - opp-1152000000 { - opp-hz = /bits/ 64 <1152000000>; - opp-level = <3>; - }; - - opp-1584000000 { - opp-hz = /bits/ 64 <1584000000>; - opp-level = <4>; - }; - - opp-1992000000 { - opp-hz = /bits/ 64 <1992000000>; - opp-level = <5>; - }; - - opp-2352000000 { - opp-hz = /bits/ 64 <2352000000>; - opp-level = <6>; - }; - - opp-2700000000 { - opp-hz = /bits/ 64 <2700000000>; - opp-level = <7>; - }; - - opp-2964000000 { - opp-hz = /bits/ 64 <2964000000>; - opp-level = <8>; - }; - }; - - pcluster_opp: opp-table-1 { - compatible = "operating-points-v2"; - opp-shared; - - opp-300000000 { - opp-hz = /bits/ 64 <300000000>; - opp-level = <1>; - }; - - opp-1308000000 { - opp-hz = /bits/ 64 <1308000000>; - opp-level = <2>; - }; - - opp-1608000000 { - opp-hz = /bits/ 64 <1608000000>; - opp-level = <3>; - }; - - opp-1932000000 { - opp-hz = /bits/ 64 <1932000000>; - opp-level = <4>; - }; - - opp-2220000000 { - opp-hz = /bits/ 64 <2220000000>; - opp-level = <5>; - }; - - opp-2508000000 { - opp-hz = /bits/ 64 <2508000000>; - opp-level = <6>; - }; - - opp-2820000000 { - opp-hz = /bits/ 64 <2820000000>; - opp-level = <7>; - }; - - opp-3072000000 { - opp-hz = /bits/ 64 <3072000000>; - opp-level = <8>; - }; - - opp-3300000000 { - opp-hz = /bits/ 64 <3300000000>; - opp-level = <9>; - }; - - opp-3516000000 { - opp-hz = /bits/ 64 <3516000000>; - opp-level = <10>; - }; - - /* ADT levels 11-20, measured on J813 (level 19, 4416 MHz, is below - * level 18 and left out). The SoC throttles them when hot. */ - opp-3720000000 { - opp-hz = /bits/ 64 <3720000000>; - opp-level = <11>; - }; - - opp-3876000000 { - opp-hz = /bits/ 64 <3876000000>; - opp-level = <12>; - }; - - opp-4020000000 { - opp-hz = /bits/ 64 <4020000000>; - opp-level = <13>; - }; - - opp-4176000000 { - opp-hz = /bits/ 64 <4176000000>; - opp-level = <14>; - }; - - opp-4248000000 { - opp-hz = /bits/ 64 <4248000000>; - opp-level = <15>; - }; +}; - opp-4272000000 { - opp-hz = /bits/ 64 <4272000000>; - opp-level = <16>; - }; +#include "t8142.dtsi" - opp-4332000000 { - opp-hz = /bits/ 64 <4332000000>; - opp-level = <17>; - }; +#include "t8142-j813-display.dtsi" - opp-4428000000 { - opp-hz = /bits/ 64 <4428000000>; - opp-level = <18>; - }; +#include "t8142-j813-gpu.dtsi" - opp-4464000000 { - opp-hz = /bits/ 64 <4464000000>; - opp-level = <20>; - }; - }; +#include "t8142-j813-peripherals.dtsi" - clkref: clock-ref { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <24000000>; - }; +#include "t8142-j813-usb.dtsi" - soc { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - nonposted-mmio; +#include "t8142-j813-avd.dtsi" - cpufreq_e: performance-controller@210e20000 { - compatible = "apple,t8142-cluster-cpufreq"; - reg = <0x2 0x10e20000 0 0x1000>; - #performance-domain-cells = <0>; - }; +#include "t8142-j813-isp.dtsi" - cpufreq_p: performance-controller@211e20000 { - compatible = "apple,t8142-cluster-cpufreq"; - reg = <0x2 0x11e20000 0 0x1000>; - #performance-domain-cells = <0>; - }; +#include "t8142-j813-psci-idle.dtsi" - /* - * PMC voter interface (AppleT8142PMC, ADT pmc-pmgr 31 + 0x700000): - * floors at 0x382700000 + agent * 0x4000, per-agent states at - * +0x106000, rail enables at +0x108000. Agents (ADT voter-agent): - * PMP 0, CLPC 1, GFX 2, AP 3. iBoot leaves every enable at 0, so - * no vote is honoured and DRAM and fabric stay at their lowest - * states (CPU DRAM latency 171 ns instead of 70 ns). - */ - pmc: power-management@382700000 { - compatible = "apple,t8142-pmc"; - reg = <0x3 0x82700000 0x0 0x10000>, - <0x3 0x82806000 0x0 0x3000>; - reg-names = "voters", "rails"; - #address-cells = <1>; - #size-cells = <0>; - /* PMP, CLPC and AP agents */ - apple,static-voters = <0 1 3>; +#include "t8142-j813-nvme.dtsi" - clpc: performance-controller@1 { - compatible = "apple,t8142-clpc"; - reg = <1>; - }; - }; +#include "t8142-j813-n1.dtsi" - aic: interrupt-controller@381000000 { - compatible = "apple,t8142-aic3", "apple,t8122-aic3"; - interrupt-controller; - #interrupt-cells = <3>; - reg = <3 0x81000000 0 0x1cc000>, - <3 0x81040000 0 0x4000>; - reg-names = "core", "event"; - }; +#include "t8142-j813-power.dtsi" - serial0: serial@3a5200000 { - compatible = "apple,s5l-uart"; - reg = <3 0xa5200000 0 0x4000>; - reg-io-width = <4>; - interrupts = ; - clocks = <&clkref>, <&clkref>; - clock-names = "uart", "clk_uart_baud0"; - status = "disabled"; - }; +#include "t8142-j813-audio.dtsi" - dockchannel: serial@38812c000 { - compatible = "apple,dockchannel-uart"; - reg = <3 0x8812c000 0 0x4000>, - <3 0x88128000 0 0x4000>, - <3 0x8810c000 0 0x1000>; - reg-names = "data", "config", "irq"; - interrupts = ; - }; - }; -}; +#include "t8142-j813-unbound.dtsi" -#include "t8142-j813-display.dtsi" -#include "t8142-j813-gpu.dtsi" -#include "t8142-j813-peripherals.dtsi" -#include "t8142-j813-usb.dtsi" -#include "t8142-j813-avd.dtsi" -#include "t8142-j813-isp.dtsi" -#include "t8142-j813-psci-idle.dtsi" -#include "t8142-j813-nvme.dtsi" -#include "t8142-j813-n1.dtsi" -#include "t8142-j813-power.dtsi" -#include "t8142-j813-audio.dtsi" +#include "t8142-j813-power-domains.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi new file mode 100644 index 0000000000000..22c54e86d0352 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Codec identities only; no amplifier programming or acoustic configuration. */ + +&hw_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + hw_jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Jack"; + status = "disabled"; + }; +}; + +&hw_i2c3 { + #address-cells = <1>; + #size-cells = <0>; + + hw_audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + sound-name-prefix = "Speaker 0"; + status = "disabled"; + }; + + hw_audio_speaker_left_woofer_2: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_left_tweeter: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Tweeter"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 1"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_2: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_right_tweeter: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Tweeter"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi new file mode 100644 index 0000000000000..98b30f9770c41 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi @@ -0,0 +1,651 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_i2c1: i2c@3a5014000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa5014000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_i2c3: i2c@3a501c000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa501c000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_fpwm0: pwm@3a5040000 { + compatible = "apple,t8142-fpwm", "apple,s5l-fpwm"; + reg = <0x3 0xa5040000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + #pwm-cells = <2>; + clocks = <&clkref>; + }; + + hw_apcie: pcie@1cb0000000 { + compatible = "apple,t8142-pcie", "apple,pcie"; + reg = <0x1c 0xb0000000 0x0 0x10000000>, + <0x4 0x8c000000 0x0 0x4000>, + <0x4 0x8f000000 0x0 0x40000>, + <0x4 0x8f020000 0x0 0x4000>, + <0x4 0x8f040000 0x0 0x20000>, + <0x4 0x8e000000 0x0 0x1000000>, + <0x4 0x8d044000 0x0 0x4000>, + <0x4 0x8d980800 0x0 0x4000>, + <0x4 0x88028000 0x0 0x8000>, + <0x4 0x8803c000 0x0 0x4000>, + <0x4 0x8f010000 0x0 0x4000>, + <0x4 0x88024000 0x0 0x4000>, + <0x4 0x88048000 0x0 0x4000>, + <0x4 0x88044000 0x0 0x4000>, + <0x4 0x89028000 0x0 0x8000>, + <0x4 0x8903c000 0x0 0x4000>, + <0x4 0x8f014000 0x0 0x4000>, + <0x4 0x89024000 0x0 0x4000>, + <0x4 0x89048000 0x0 0x4000>, + <0x4 0x89044000 0x0 0x4000>, + <0x4 0x8a028000 0x0 0x8000>, + <0x4 0x8a03c000 0x0 0x4000>, + <0x4 0x8f018000 0x0 0x4000>, + <0x4 0x8a024000 0x0 0x4000>, + <0x4 0x8a048000 0x0 0x4000>, + <0x4 0x8a044000 0x0 0x4000>; + interrupts = , + , + ; + status = "disabled"; + }; + + hw_dart_apcie0: iommu@488000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x88000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie0_piodma: dma-controller@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4@401f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio0 0>, <&hw_dart_acio0 1>, <&hw_dart_acio0 2>, <&hw_dart_acio0 3>, <&hw_dart_acio0 4>, <&hw_dart_acio0 5>, <&hw_dart_acio0 6>, <&hw_dart_acio0 7>, <&hw_dart_acio0 8>, <&hw_dart_acio0 9>, <&hw_dart_acio0 10>, <&hw_dart_acio0 11>, <&hw_dart_acio0 16>, <&hw_dart_acio0 17>, <&hw_dart_acio0 18>, <&hw_dart_acio0 19>, <&hw_dart_acio0 20>, <&hw_dart_acio0 21>, <&hw_dart_acio0 22>, <&hw_dart_acio0 23>, <&hw_dart_acio0 24>, <&hw_dart_acio0 25>, <&hw_dart_acio0 26>, <&hw_dart_acio0 27>; + status = "disabled"; + }; + + hw_acio1: usb4@409f00000 { + compatible = "apple,t8142-usb4-nhi", "apple,usb4-nhi"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio1 0>, <&hw_dart_acio1 1>, <&hw_dart_acio1 2>, <&hw_dart_acio1 3>, <&hw_dart_acio1 4>, <&hw_dart_acio1 5>, <&hw_dart_acio1 6>, <&hw_dart_acio1 7>, <&hw_dart_acio1 8>, <&hw_dart_acio1 9>, <&hw_dart_acio1 10>, <&hw_dart_acio1 11>, <&hw_dart_acio1 16>, <&hw_dart_acio1 17>, <&hw_dart_acio1 18>, <&hw_dart_acio1 19>, <&hw_dart_acio1 20>, <&hw_dart_acio1 21>, <&hw_dart_acio1 22>, <&hw_dart_acio1 23>, <&hw_dart_acio1 24>, <&hw_dart_acio1 25>, <&hw_dart_acio1 26>, <&hw_dart_acio1 27>; + status = "disabled"; + }; + + hw_wdt: watchdog@3882b0000 { + compatible = "apple,t8142-wdt", "apple,wdt"; + reg = <0x3 0x882b0000 0x0 0x4000>, + <0x3 0x882bc230 0x0 0x4>, + <0x3 0x882b8008 0x0 0x4>, + <0x3 0x882b802c 0x0 0x4>, + <0x3 0x882b8020 0x0 0x4>; + interrupts = , + ; + status = "disabled"; + clocks = <&clkref>; + }; + + hw_gpio0: pinctrl@39a000000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x9a000000 0x0 0x100000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + gpio-ranges = <&hw_gpio0 0 0 224>; + apple,npins = <224>; + }; + + hw_nub_gpio: pinctrl@3881f0000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_aop: aop@390600000 { + compatible = "apple,t8142-aop", "apple,aop"; + reg = <0x3 0x90600000 0x0 0x88000>, + <0x3 0x90050000 0x0 0x4000>, + <0x3 0x90c00000 0x0 0x1e0000>, + <0x3 0x882a8000 0x0 0x8>, + <0x3 0x9062c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 0>; + status = "disabled"; + }; + + hw_dart_aop: iommu@390fc0000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x90fc0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_aop 1>; + status = "disabled"; + }; + + hw_aop2: aop2@391600000 { + compatible = "apple,t8142-aop2", "apple,aop2"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 16>; + status = "disabled"; + }; + + hw_pmgr: power-management-complex@388280000 { + compatible = "apple,t8142-pmgr", "apple,pmgr"; + reg = <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x88004000 0x0 0x1000>, + <0x2 0x10e20000 0x0 0x1268>, + <0x2 0x10f00000 0x0 0x40088>, + <0x2 0x10e40000 0x0 0xc020>, + <0x2 0x10e50000 0x0 0x9048>, + <0x2 0x10e70000 0x0 0xffe8>, + <0x2 0x10050000 0x0 0x9010>, + <0x2 0x10150000 0x0 0x9010>, + <0x2 0x10250000 0x0 0x9010>, + <0x2 0x10350000 0x0 0x9010>, + <0x2 0x10450000 0x0 0x9010>, + <0x2 0x10550000 0x0 0x9010>, + <0x2 0x11e20000 0x0 0x12e8>, + <0x2 0x11f00000 0x0 0x40088>, + <0x2 0x11e40000 0x0 0xc020>, + <0x2 0x11e50000 0x0 0x9048>, + <0x2 0x11e70000 0x0 0xffe8>, + <0x2 0x11050000 0x0 0x9018>, + <0x2 0x11150000 0x0 0x9018>, + <0x2 0x11250000 0x0 0x9018>, + <0x2 0x11350000 0x0 0x9018>, + <0x3 0x80280000 0x0 0x8000>, + <0x3 0x88700000 0x0 0x4000>, + <0x3 0x88100000 0x0 0xa8000>, + <0x4 0x2195c000 0x0 0x4000>, + <0x4 0x21960000 0x0 0x4000>, + <0x4 0x21974000 0x0 0x4000>, + <0x3 0x80208000 0x0 0x8000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x80764000 0x0 0x4000>, + <0x3 0x80780000 0x0 0x4000>, + <0x3 0x80760000 0x0 0x4000>, + <0x3 0x882b8000 0x0 0x10000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x882d0000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x20000>, + <0x3 0x80730000 0x0 0x14000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x4 0x21954000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x8002c000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x5 0x80e80000 0x0 0x30000>, + <0x5 0x80ec0000 0x0 0x4000>, + <0x5 0x80ec0000 0x0 0x8000>, + <0x5 0x80e30000 0x0 0x4000>, + <0x5 0x80e30000 0x0 0x8000>, + <0x2 0x10000000 0x0 0xff4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_pmp: pmp@380e00000 { + compatible = "apple,t8142-pmp", "apple,pmp"; + reg = <0x3 0x80e00000 0x0 0x88000>, + <0x3 0x80850000 0x0 0x4000>, + <0x3 0x80500000 0x0 0xd0000>, + <0x3 0x803d0000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_pmp 0>; + status = "disabled"; + }; + + hw_dart_pmp: iommu@380300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x80300000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ans: nvme@481600000 { + compatible = "apple,t8142-nvme-ans2", "apple,nvme-ans"; + reg = <0x4 0x81600000 0x0 0x88000>, + <0x4 0x81050000 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0x85cc0000 0x0 0x60000>, + <0x4 0x83000000 0x0 0x1000000>, + <0x4 0x85b90000 0x0 0xc000>, + <0x4 0x85d47c00 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0xc5cc0000 0x0 0x10000>; + interrupts = , + , + , + , + ; + status = "disabled"; + }; + + hw_sart_ans: iommu@485c50000 { + compatible = "apple,t8142-sart", "apple,sart"; + reg = <0x4 0x85c50000 0x0 0xc000>, + <0x4 0x85d44000 0x0 0x4000>, + <0x4 0x85cc0000 0x0 0x4000>; + status = "disabled"; + }; + + hw_smc: smc@38c600000 { + compatible = "apple,t8142-smc", "apple,smc"; + reg = <0x3 0x8c600000 0x0 0x88000>, + <0x3 0x8c050000 0x0 0x4000>, + <0x3 0x8c810000 0x0 0x100>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_dockchannel_mtp: dockchannel-complex@394b00000 { + compatible = "apple,t8142-dockchannel-complex", "apple,dockchannel-complex"; + reg = <0x3 0x94b00000 0x0 0x1000>, + <0x3 0x94b14000 0x0 0x1000>, + <0x3 0x94b30000 0x0 0x1000>, + <0x3 0x94b34000 0x0 0x1000>, + <0x3 0x94b28000 0x0 0x1000>, + <0x3 0x94b2c000 0x0 0x1000>; + interrupts = ; + status = "disabled"; + }; + + hw_mtp: mtp@394600000 { + compatible = "apple,t8142-mtp", "apple,mtp"; + reg = <0x3 0x94600000 0x0 0x88000>, + <0x3 0x94050000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_mtp 0>; + status = "disabled"; + }; + + hw_dart_mtp: iommu@394800000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x94800000 0x0 0xc000>, + <0x3 0x94810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_qspi: spi@3a5118000 { + compatible = "apple,t8142-qspi", "apple,qspi"; + reg = <0x3 0xa5118000 0x0 0x4000>, + <0x3 0xa5118800 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc_phy0: phy@402a90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0x2a90000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x3000000 0x0 0x58000>, + <0x4 0x0 0x0 0x1000000>; + status = "disabled"; + }; + + hw_dart_usb0: iommu@402f00000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x2f00000 0x0 0xc000>, + <0x4 0x2f80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd0: usb@402280000 { + compatible = "apple,t8142-dwc3", "apple,dwc3"; + reg = <0x4 0x2280000 0x0 0x11800>, + <0x4 0x2200000 0x0 0x4000>, + <0x4 0x228c000 0x0 0x5800>, + <0x4 0x2a84000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x2a80000 0x0 0x4000>, + <0x4 0x2080000 0x0 0x4000>, + <0x4 0x228d000 0x0 0x4000>, + <0x4 0x2980000 0x0 0x4000>, + <0x3 0x82740000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb0 1>; + status = "disabled"; + }; + + hw_atc_phy1: phy@40aa90000 { + compatible = "apple,t8142-atcphy", "apple,atcphy"; + reg = <0x4 0xaa90000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xb000000 0x0 0x58000>, + <0x4 0x8000000 0x0 0x1000000>; + status = "disabled"; + }; + + hw_dart_usb1: iommu@40af00000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0xaf00000 0x0 0xc000>, + <0x4 0xaf80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd1: usb@40a280000 { + compatible = "apple,t8142-dwc3", "apple,dwc3"; + reg = <0x4 0xa280000 0x0 0x11800>, + <0x4 0xa200000 0x0 0x4000>, + <0x4 0xa28c000 0x0 0x5800>, + <0x4 0xaa84000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xaa80000 0x0 0x4000>, + <0x4 0xa080000 0x0 0x4000>, + <0x4 0xa28d000 0x0 0x4000>, + <0x4 0xa980000 0x0 0x4000>, + <0x3 0x82744000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb1 1>; + status = "disabled"; + }; + + hw_disp0: display-engine@284000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x2 0x84000000 0x0 0xb1c000>, + <0x2 0x86240000 0x0 0x10000>, + <0x2 0x863ac000 0x0 0x4000>, + <0x2 0x86800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_disp0 0>, <&hw_dart_disp0 16>; + status = "disabled"; + }; + + hw_dcp: dcp@286e00000 { + compatible = "apple,t8142-dcp", "apple,dcp"; + reg = <0x2 0x86e00000 0x0 0x88000>, + <0x2 0x86850000 0x0 0x4000>, + <0x2 0x86e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcp 23>; + status = "disabled"; + }; + + hw_dart_dcp: iommu@286340000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x86340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0: iommu@286300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x86300000 0x0 0xc000>, + <0x2 0x86314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_avd: video-decoder@500000000 { + compatible = "apple,t8142-avd", "apple,avd"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_avd 0>, <&hw_dart_avd 1>, <&hw_dart_avd 2>; + status = "disabled"; + }; + + hw_dart_avd: iommu@501020000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x5 0x1020000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_isp: isp@4a0000000 { + compatible = "apple,t8142-isp", "apple,isp"; + reg = <0x4 0xa0000000 0x0 0x4000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_isp 0>, <&hw_dart_isp 12>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>; + status = "disabled"; + }; + + hw_dart_isp: iommu@4a28c0000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0xa28c0000 0x0 0xc000>, + <0x4 0xa28e0000 0x0 0xc000>, + <0x4 0xa2900000 0x0 0xc000>, + <0x4 0xa28f4000 0x0 0x4000>, + <0x4 0xa2914000 0x0 0x4000>, + <0x4 0xa28d0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_sgx: gpu@580000000 { + compatible = "apple,t8142-gpu", "apple,gpu"; + reg = <0x5 0x80000000 0x0 0x4000000>, + <0x5 0x80d00000 0x0 0x180000>; + interrupts = , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_gfx_asc: gpu-coproc@582600000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82600000 0x0 0x88000>, + <0x5 0x82050000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_gfx1_asc: gpu-coproc@582e00000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82e00000 0x0 0x88000>, + <0x5 0x82850000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_admac_base_ns: dma-controller@393800000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93800000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 8>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_leap_ns: dma-controller@393300000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 10>; + status = "disabled"; + #dma-cells = <1>; + }; + + +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j815-power-domains.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-power-domains.dtsi new file mode 100644 index 0000000000000..c466a95cebe95 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815-power-domains.dtsi @@ -0,0 +1,690 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Hardware gate relationships only. New controllers and states stay disabled. */ + +&{/soc} { + hw_pwr_bank_380700000: power-management@380700000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80700000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_380708000: power-management@380708000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80708000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_380710000: power-management@380710000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x80710000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_388280000: power-management@388280000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x3 0x88280000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; + hw_pwr_bank_580e80000: power-management@580e80000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <0x5 0x80e80000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380700000 { + hw_pwr_380700190: power-controller@190 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x190 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens0"; + status = "disabled"; + }; + hw_pwr_380700198: power-controller@198 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x198 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens1"; + status = "disabled"; + }; + hw_pwr_3807001a0: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_pwr_3807001a8: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_pwr_380700290: power-controller@290 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x290 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-sys"; + status = "disabled"; + }; + hw_pwr_380700298: power-controller@298 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x298 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-sys"; + status = "disabled"; + }; + hw_pwr_3807002a0: power-controller@2a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "jpg"; + status = "disabled"; + }; + hw_pwr_3807002a8: power-controller@2a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr"; + status = "disabled"; + }; + hw_pwr_3807002c0: power-controller@2c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec"; + status = "disabled"; + }; + hw_pwr_3807002c8: power-controller@2c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-common"; + status = "disabled"; + }; + hw_pwr_3807002d0: power-controller@2d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-common"; + status = "disabled"; + }; + hw_pwr_3807002e8: power-controller@2e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ane-sys"; + status = "disabled"; + }; + hw_pwr_3807002f0: power-controller@2f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-gp"; + status = "disabled"; + }; + hw_pwr_3807002f8: power-controller@2f8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "isp-sys"; + status = "disabled"; + }; + hw_pwr_380700300: power-controller@300 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x300 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ans"; + status = "disabled"; + }; + hw_pwr_380700310: power-controller@310 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x310 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "avd-sys"; + status = "disabled"; + }; + hw_pwr_380700318: power-controller@318 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x318 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-fe"; + power-domains = <&hw_pwr_380700290>; + status = "disabled"; + }; + hw_pwr_380700320: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + power-domains = <&hw_pwr_3807002a8>; + status = "disabled"; + }; + hw_pwr_380700328: power-controller@328 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x328 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "sio-cpu"; + status = "disabled"; + }; + hw_pwr_380700330: power-controller@330 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x330 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fpwm0"; + status = "disabled"; + }; + hw_pwr_380700350: power-controller@350 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x350 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c1"; + status = "disabled"; + }; + hw_pwr_380700358: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_pwr_380700360: power-controller@360 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x360 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c3"; + status = "disabled"; + }; + hw_pwr_380700390: power-controller@390 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x390 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi-p"; + status = "disabled"; + }; + hw_pwr_3807003a0: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_pwr_3807003c0: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + power-domains = <&hw_pwr_3807002c0>; + status = "disabled"; + }; + hw_pwr_3807003c8: power-controller@3c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-pcie"; + power-domains = <&hw_pwr_3807002c8>; + status = "disabled"; + }; + hw_pwr_3807003d0: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + power-domains = <&hw_pwr_3807002c8>; + status = "disabled"; + }; + hw_pwr_3807003d8: power-controller@3d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-pcie"; + power-domains = <&hw_pwr_3807002d0>; + status = "disabled"; + }; + hw_pwr_3807003e0: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + power-domains = <&hw_pwr_3807002d0>; + status = "disabled"; + }; + hw_pwr_380700408: power-controller@408 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x408 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-gp"; + power-domains = <&hw_pwr_3807002f0>; + status = "disabled"; + }; + hw_pwr_380700410: power-controller@410 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x410 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-st"; + power-domains = <&hw_pwr_380700300>; + status = "disabled"; + }; + hw_pwr_380700440: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_380700450: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_380700460: power-controller@460 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x460 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "qspi"; + power-domains = <&hw_pwr_380700390>; + status = "disabled"; + }; + hw_pwr_3807004d8: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e0: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + power-domains = <&hw_pwr_3807003d0>; + status = "disabled"; + }; + hw_pwr_3807004e8: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_3807004f0: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + power-domains = <&hw_pwr_3807003e0>; + status = "disabled"; + }; + hw_pwr_380700520: power-controller@520 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x520 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-st"; + power-domains = <&hw_pwr_380700300>, <&hw_pwr_380700410>; + status = "disabled"; + }; + hw_pwr_380700560: power-controller@560 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x560 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-phy-sw"; + power-domains = <&hw_pwr_380700408>, <&hw_pwr_380700520>; + status = "disabled"; + }; + hw_pwr_380700578: power-controller@578 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x578 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5-aon"; + power-domains = <&hw_pwr_380700560>; + status = "disabled"; + }; + hw_pwr_380700580: power-controller@580 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x580 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5"; + power-domains = <&hw_pwr_380700578>; + status = "disabled"; + }; + hw_pwr_380700598: power-controller@598 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x598 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pmp"; + status = "disabled"; + }; + hw_pwr_3807005a0: power-controller@5a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x5a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pms-sram"; + apple,always-on; + status = "disabled"; + }; +}; + +&hw_pwr_bank_388280000 { + hw_pwr_3882800c8: power-controller@c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xc8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-usb-aon"; + status = "disabled"; + }; + hw_pwr_3882800d0: power-controller@d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xd0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-usb"; + power-domains = <&hw_pwr_3807002c8>, <&hw_pwr_3882800c8>; + status = "disabled"; + }; + hw_pwr_3882800d8: power-controller@d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xd8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-usb-aon"; + status = "disabled"; + }; + hw_pwr_3882800e0: power-controller@e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0xe0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-usb"; + power-domains = <&hw_pwr_3807002d0>, <&hw_pwr_3882800d8>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380710000 { + hw_pwr_380710000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "disp-cpu"; + power-domains = <&hw_pwr_380700318>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_380708000 { + hw_pwr_380708000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-dma"; + power-domains = <&hw_pwr_380700298>; + status = "disabled"; + }; + hw_pwr_380708008: power-controller@8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe4"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708010: power-controller@10 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x10 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-pipe5"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708018: power-controller@18 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x18 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me0"; + power-domains = <&hw_pwr_380708000>; + status = "disabled"; + }; + hw_pwr_380708020: power-controller@20 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x20 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "venc-me1"; + power-domains = <&hw_pwr_380708018>; + status = "disabled"; + }; +}; + +&hw_pwr_bank_580e80000 { + hw_pwr_580e80000: power-controller@0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "gpx"; + apple,always-on; + status = "disabled"; + }; + hw_pwr_580e80110: power-controller@110 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x110 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "gfx"; + power-domains = <&hw_pwr_580e80000>; + status = "disabled"; + }; +}; + +&hw_acio0 { + power-domains = <&hw_pwr_3807003d0>, <&hw_pwr_3807004d8>, <&hw_pwr_3807004e0>; +}; + +&hw_acio1 { + power-domains = <&hw_pwr_3807003e0>, <&hw_pwr_3807004e8>, <&hw_pwr_3807004f0>; +}; + +&hw_aes { + power-domains = <&hw_pwr_3807003a0>; +}; + +&hw_ane { + power-domains = <&hw_pwr_3807002e8>; +}; + +&hw_apcie { + power-domains = <&hw_pwr_380700300>, <&hw_pwr_3807002f0>, <&hw_pwr_380700408>, <&hw_pwr_380700410>, <&hw_pwr_380700520>, <&hw_pwr_380700560>, <&hw_pwr_380700578>, <&hw_pwr_380700580>; +}; + +&hw_apciec0 { + power-domains = <&hw_pwr_3882800c8>, <&hw_pwr_3807003c8>; +}; + +&hw_apciec1 { + power-domains = <&hw_pwr_3882800d8>, <&hw_pwr_3807003d8>; +}; + +&hw_apr { + power-domains = <&hw_pwr_3807002c0>; +}; + +&hw_atc_phy0 { + power-domains = <&hw_pwr_3882800c8>, <&hw_pwr_3807002c8>; +}; + +&hw_atc_phy1 { + power-domains = <&hw_pwr_3882800d8>, <&hw_pwr_3807002d0>; +}; + +&hw_avd { + power-domains = <&hw_pwr_380700310>; +}; + +&hw_ave { + power-domains = <&hw_pwr_380700298>, <&hw_pwr_380708008>, <&hw_pwr_380708010>, <&hw_pwr_380708018>, <&hw_pwr_380708020>, <&hw_pwr_380708000>; +}; + +&hw_dart_usb0 { + power-domains = <&hw_pwr_3882800d0>; +}; + +&hw_dart_usb1 { + power-domains = <&hw_pwr_3882800e0>; +}; + +&hw_dcp { + power-domains = <&hw_pwr_380710000>; +}; + +&hw_dcp0_expert { + power-domains = <&hw_pwr_380700290>; +}; + +&hw_dptx0_aux { + power-domains = <&hw_pwr_3807001a0>; +}; + +&hw_dptx1_aux { + power-domains = <&hw_pwr_3807001a8>; +}; + +&hw_fpwm0 { + power-domains = <&hw_pwr_380700330>; +}; + +&hw_gfx1_asc { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_gfx_asc { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_i2c1 { + power-domains = <&hw_pwr_380700350>; +}; + +&hw_i2c2 { + power-domains = <&hw_pwr_380700358>; +}; + +&hw_i2c3 { + power-domains = <&hw_pwr_380700360>; +}; + +&hw_isp { + power-domains = <&hw_pwr_3807002f8>, <&hw_pwr_380700190>, <&hw_pwr_380700198>; +}; + +&hw_jpeg0 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_jpeg1 { + power-domains = <&hw_pwr_3807002a0>; +}; + +&hw_pmp { + power-domains = <&hw_pwr_380700598>, <&hw_pwr_3807005a0>; +}; + +&hw_qspi { + power-domains = <&hw_pwr_380700460>; +}; + +&hw_scaler0 { + power-domains = <&hw_pwr_3807002a8>, <&hw_pwr_380700320>; +}; + +&hw_scdc { + power-domains = <&hw_pwr_3807003c0>; +}; + +&hw_sgx { + power-domains = <&hw_pwr_580e80110>; +}; + +&hw_sio { + power-domains = <&hw_pwr_380700328>; +}; + +&hw_spi2 { + power-domains = <&hw_pwr_380700440>; +}; + +&hw_spi4 { + power-domains = <&hw_pwr_380700450>; +}; + +&hw_usb_drd0 { + power-domains = <&hw_pwr_3882800d0>; +}; + +&hw_usb_drd1 { + power-domains = <&hw_pwr_3882800e0>; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j815.dts b/arch/arm64/boot/dts/apple/t8142-j815.dts new file mode 100644 index 0000000000000..11501ce42df60 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/dts-v1/; + +#include "t8142.dtsi" +#include "t8142-j815-peripherals.dtsi" + +/ { + aliases { + serial0 = &dockchannel; + serial1 = &serial0; + }; + model = "Apple MacBook Air (15-inch, M5)"; + compatible = "apple,j815", "apple,t8142", "apple,arm-platform"; +}; + +&cpufreq_e { + status = "disabled"; +}; + +&cpufreq_p { + status = "disabled"; +}; + +&pmc { + status = "disabled"; +}; + +#include "t8142-j815-audio-topology.dtsi" + + +#include "t8142-j815-power-domains.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi new file mode 100644 index 0000000000000..728a7edebb0e5 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi @@ -0,0 +1,1007 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Shared disabled peripheral resources. */ + +&{/soc} { + hw_spi2: spi@3a5108000 { + compatible = "apple,t8142-spi", "apple,spi"; + reg = <0x3 0xa5108000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_spi4: spi@3a5110000 { + compatible = "apple,t8142-spi", "apple,spi"; + reg = <0x3 0xa5110000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_aop_spmi0: spmi-resource@390914000 { + compatible = "apple,t8142-spmi", "apple,spmi"; + reg = <0x3 0x90914000 0x0 0x4000>, + <0x3 0x90904000 0x0 0x4000>, + <0x3 0x90900000 0x0 0x4000>; + status = "disabled"; + interrupts = ; + }; + + hw_acio_cpu0: usb4-coproc@401108000 { + compatible = "apple,t8142-usb4-acio", "apple,usb4-acio"; + reg = <0x4 0x1108000 0x0 0x4000>, + <0x4 0x1100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec0: pcie@1c50000000 { + compatible = "apple,t8142-pciec", "apple,pciec"; + reg = <0x1c 0x50000000 0x0 0x10000000>, + <0x4 0x4034000 0x0 0x4000>, + <0x4 0x4020000 0x0 0x8000>, + <0x4 0x4038000 0x0 0x4000>, + <0x4 0x4060000 0x0 0x4000>, + <0x4 0x20000 0x0 0x4000>, + <0x4 0x402c000 0x0 0x4000>, + <0x4 0x4028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec0: iommu@404000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x4000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec0_piodma: dma-controller@404068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0x4068000 0x0 0x4000>, + <0x4 0x406c000 0x0 0x4000>, + <0x4 0x4070000 0x0 0x4000>, + <0x4 0x403c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec0 254>; + status = "disabled"; + }; + + hw_dart_acio0: iommu@401a80000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x1a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc0_dpxbar: atc-dpxbar@40304c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x304c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc0_dpin0: dp-in@401e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x1e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc0_dpin1: dp-in@401e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x1e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_acio_cpu1: usb4-coproc@409108000 { + compatible = "apple,t8142-usb4-acio", "apple,usb4-acio"; + reg = <0x4 0x9108000 0x0 0x4000>, + <0x4 0x9100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec1: pcie@1c60000000 { + compatible = "apple,t8142-pciec", "apple,pciec"; + reg = <0x1c 0x60000000 0x0 0x10000000>, + <0x4 0xc034000 0x0 0x4000>, + <0x4 0xc020000 0x0 0x8000>, + <0x4 0xc038000 0x0 0x4000>, + <0x4 0xc060000 0x0 0x4000>, + <0x4 0x8020000 0x0 0x4000>, + <0x4 0xc02c000 0x0 0x4000>, + <0x4 0xc028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec1: iommu@40c000000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0xc000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec1_piodma: dma-controller@40c068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0xc068000 0x0 0x4000>, + <0x4 0xc06c000 0x0 0x4000>, + <0x4 0xc070000 0x0 0x4000>, + <0x4 0xc03c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec1 254>; + status = "disabled"; + }; + + hw_dart_acio1: iommu@409a80000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x9a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc1_dpxbar: atc-dpxbar@40b04c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0xb04c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc1_dpin0: dp-in@409e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x9e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc1_dpin1: dp-in@409e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x9e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_mcc: memory-controller@380780000 { + compatible = "apple,t8142-mcc", "apple,mcc"; + reg = <0x3 0x80780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x140000>, + <0x2 0x4f010000 0x0 0x8000>, + <0x2 0x50010000 0x0 0x8000>, + <0x2 0x51010000 0x0 0x8000>, + <0x2 0x52010000 0x0 0x8000>, + <0x2 0x53010000 0x0 0x8000>, + <0x2 0x54010000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x4000>, + <0x3 0x803d0000 0x0 0x4000>, + <0x2 0x21000000 0x0 0x10000>, + <0x2 0x21200000 0x0 0x10000>, + <0x2 0x21400000 0x0 0x10000>, + <0x2 0x21600000 0x0 0x10000>, + <0x2 0x21800000 0x0 0x10000>, + <0x2 0x21a00000 0x0 0x10000>, + <0x2 0x21c00000 0x0 0x10000>, + <0x2 0x21e00000 0x0 0x10000>; + status = "disabled"; + }; + + hw_aic_timebase: timer@591180000 { + compatible = "apple,t8142-aic-timebase", "apple,aic-timebase"; + reg = <0x5 0x91180000 0x0 0x1000>; + status = "disabled"; + }; + + hw_error_handler: error-handler@308d00000 { + compatible = "apple,t8142-error-handler", "apple,soc-error-handler"; + reg = <0x3 0x8d00000 0x0 0x40000>, + <0x3 0x8900000 0x0 0x8000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x3 0x803d0000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x140000>, + <0x2 0x21000000 0x0 0x3c000>, + <0x2 0x21200000 0x0 0x3c000>, + <0x2 0x21400000 0x0 0x3c000>, + <0x2 0x21600000 0x0 0x3c000>, + <0x2 0x21800000 0x0 0x3c000>, + <0x2 0x21a00000 0x0 0x3c000>, + <0x2 0x21c00000 0x0 0x3c000>, + <0x2 0x21e00000 0x0 0x3c000>, + <0x2 0x4f000000 0x0 0x8000>, + <0x2 0x50000000 0x0 0x8000>, + <0x2 0x51000000 0x0 0x8000>, + <0x2 0x52000000 0x0 0x8000>, + <0x2 0x53000000 0x0 0x8000>, + <0x2 0x54000000 0x0 0x8000>, + <0x2 0x55000000 0x0 0x8000>, + <0x2 0x56000000 0x0 0x8000>, + <0x2 0x5f000000 0x0 0x8000>, + <0x2 0x6f000000 0x0 0x8000>, + <0x2 0x57000000 0x0 0x1000000>, + <0x2 0x58000000 0x0 0x1000000>, + <0x2 0x59000000 0x0 0x1000000>, + <0x3 0x80770000 0x0 0x4000>, + <0x3 0x80771000 0x0 0x4000>, + <0x2 0x5b000000 0x0 0x24000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_aes: crypto@3a500c000 { + compatible = "apple,t8142-aes", "apple,aes"; + reg = <0x3 0xa500c000 0x0 0x4000>, + <0x3 0x882dc000 0x0 0x8000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_sio 1>; + status = "disabled"; + }; + + hw_aop_gpio: pinctrl@390824000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x90824000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_smc_gpio: pinctrl@38c820000 { + compatible = "apple,t8142-pinctrl", "apple,pinctrl"; + reg = <0x3 0x8c820000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + gpio-ranges = <&hw_smc_gpio 0 0 18>; + apple,npins = <18>; + }; + + hw_event_log_handler: event-log@380700000 { + compatible = "apple,t8142-event-log", "apple,soc-event-log"; + reg = <0x3 0x80700000 0x0 0xd0000>, + <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x8028c000 0x0 0x4000>, + <0x3 0x80280000 0x0 0x8000>, + <0x4 0x21878000 0x0 0x4000>, + <0x4 0x21868000 0x0 0x8000>, + <0x3 0x80340000 0x0 0xc000>, + <0x3 0x80350000 0x0 0xc000>, + <0x3 0x80208000 0x0 0x4000>, + <0x3 0x80208400 0x0 0x4000>, + <0x3 0x8020a400 0x0 0x4000>, + <0x3 0x8020a600 0x0 0x4000>, + <0x3 0x8020a700 0x0 0x4000>, + <0x3 0x8020a800 0x0 0x4000>, + <0x3 0x8020aa00 0x0 0x4000>, + <0x3 0x8020ab00 0x0 0x4000>, + <0x3 0x8020ac00 0x0 0x4000>, + <0x3 0x8020ae00 0x0 0x4000>, + <0x3 0x8020af00 0x0 0x4000>, + <0x3 0x8020b000 0x0 0x4000>, + <0x3 0x8020b200 0x0 0x4000>, + <0x3 0x8020b300 0x0 0x4000>, + <0x3 0x8020b400 0x0 0x4000>, + <0x3 0x8020b600 0x0 0x4000>, + <0x3 0x8020b700 0x0 0x4000>, + <0x3 0x8020b800 0x0 0x4000>, + <0x3 0x8020ba00 0x0 0x4000>, + <0x3 0x8020bb00 0x0 0x4000>, + <0x3 0x8020bc00 0x0 0x4000>, + <0x3 0x8020be00 0x0 0x4000>, + <0x3 0x8020bf00 0x0 0x4000>, + <0x3 0x8020c000 0x0 0x4000>, + <0x3 0x8020c200 0x0 0x4000>, + <0x3 0x8020c300 0x0 0x4000>, + <0x3 0x8020c400 0x0 0x4000>, + <0x3 0x8020c600 0x0 0x4000>, + <0x3 0x8020c700 0x0 0x4000>, + <0x3 0x8020c800 0x0 0x4000>, + <0x3 0x8020ca00 0x0 0x4000>, + <0x3 0x8020cb00 0x0 0x4000>, + <0x3 0x8020cc00 0x0 0x4000>, + <0x3 0x8020ce00 0x0 0x4000>, + <0x3 0x8020d000 0x0 0x4000>, + <0x3 0x8020d200 0x0 0x4000>, + <0x3 0x8020d400 0x0 0x4000>, + <0x3 0x8020d600 0x0 0x4000>, + <0x3 0x8020d800 0x0 0x4000>, + <0x3 0x8020da00 0x0 0x4000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_sep: sep@30a600000 { + compatible = "apple,t8142-sep", "apple,sep"; + reg = <0x3 0xa600000 0x0 0x88000>, + <0x3 0xa050000 0x0 0x60000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_sep 0>, <&hw_dart_sep 1>; + status = "disabled"; + }; + + hw_dart_sep: iommu@308b80000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x8b80000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_esm: exclave-sep-manager@55a67c000 { + compatible = "apple,t8142-exclave-sep-manager", "apple,exclave-sep-manager"; + reg = <0x5 0x5a67c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_sep 2>; + status = "disabled"; + }; + + hw_sio: dma-controller@3a5e00000 { + compatible = "apple,t8142-sio", "apple,sio"; + reg = <0x3 0xa5e00000 0x0 0x88000>, + <0x3 0xa5850000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_sio 0>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_dart_sio: iommu@3a5060000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xa5060000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aon_ptd: trace@38c840000 { + compatible = "apple,t8142-aon-ptd", "apple,aon-ptd"; + reg = <0x3 0x8c840000 0x0 0x4000>, + <0x3 0x8c850000 0x0 0x4000>, + <0x3 0x8c858000 0x0 0x4000>, + <0x3 0x8c860000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_rsm: rsm@389825000 { + compatible = "apple,t8142-rsm", "apple,rsm"; + reg = <0x3 0x89825000 0x0 0x4000>, + <0x3 0x898c0000 0x0 0x4>; + interrupts = ; + iommus = <&hw_dart_rsm 0>; + status = "disabled"; + }; + + hw_dart_rsm: iommu@3899a0000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x899a0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_i2c2: i2c@3a5018000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; + reg = <0x3 0xa5018000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + clocks = <&clkref>; + #address-cells = <1>; + #size-cells = <0>; + }; + + hw_nub_spmi0: spmi-resource@388714000 { + compatible = "apple,t8142-spmi", "apple,spmi"; + reg = <0x3 0x88714000 0x0 0x4000>, + <0x3 0x88704000 0x0 0x4000>, + <0x3 0x88700000 0x0 0x4000>; + status = "disabled"; + interrupts = ; + }; + + hw_nub_spmi1: spmi-resource@388614000 { + compatible = "apple,t8142-spmi", "apple,spmi"; + reg = <0x3 0x88614000 0x0 0x4000>, + <0x3 0x88604000 0x0 0x4000>, + <0x3 0x88600000 0x0 0x4000>; + status = "disabled"; + interrupts = ; + }; + + hw_nub_spmi_a0: spmi-resource@388908000 { + compatible = "apple,t8142-spmi", "apple,spmi"; + reg = <0x3 0x88908000 0x0 0x4000>, + <0x3 0x88904000 0x0 0x4000>, + <0x3 0x88900000 0x0 0x4000>; + status = "disabled"; + interrupts = ; + }; + + hw_dcp0_expert: dcp-expert@2863ac050 { + compatible = "apple,t8142-dcp-expert", "apple,dcp-expert"; + reg = <0x2 0x863ac050 0x0 0x4>, + <0x2 0x86370000 0x0 0x40>, + <0x2 0x86374000 0x0 0x40>, + <0x2 0x8639c000 0x0 0x40>, + <0x2 0x863a0000 0x0 0x40>, + <0x2 0x86388000 0x0 0x40>, + <0x2 0x8638c000 0x0 0x40>, + <0x2 0x86394000 0x0 0x40>, + <0x2 0x86398000 0x0 0x40>, + <0x2 0x87000000 0x0 0x8000>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0_isoc: iommu@286180000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x86180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_disp0: dma-controller@286140000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x2 0x86140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_disp0_isoc 30>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_disp0_ced_ssw: admac-control@2862f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x2 0x862f4000 0x0 0x4000>, + <0x2 0x861a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dispext0: display-engine@504000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x5 0x4000000 0x0 0xb1c000>, + <0x5 0x6240000 0x0 0x10000>, + <0x5 0x63ac000 0x0 0x4000>, + <0x5 0x6800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + ; + iommus = <&hw_dart_dispext0 0>, <&hw_dart_dispext0 16>; + status = "disabled"; + }; + + hw_dcpext0_expert: dcp-expert@5063ac050 { + compatible = "apple,t8142-dcp-expert", "apple,dcp-expert"; + reg = <0x5 0x63ac050 0x0 0x4>, + <0x5 0x6370000 0x0 0x40>, + <0x5 0x6374000 0x0 0x40>; + interrupts = ; + status = "disabled"; + }; + + hw_dcpext0: dcp@506e00000 { + compatible = "apple,t8142-dcp", "apple,dcp"; + reg = <0x5 0x6e00000 0x0 0x88000>, + <0x5 0x6850000 0x0 0x4000>, + <0x5 0x6e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcpext0 23>; + status = "disabled"; + }; + + hw_dart_dcpext0: iommu@506340000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x5 0x6340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext0: iommu@506300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x5 0x6300000 0x0 0xc000>, + <0x5 0x6314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext0_isoc: iommu@506180000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x5 0x6180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_dispext0: dma-controller@506140000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x5 0x6140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_dispext0_isoc 30>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_dispext0_ced_ssw: admac-control@5062f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x5 0x62f4000 0x0 0x4000>, + <0x5 0x61a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dispext1: display-engine@3a8000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x3 0xa8000000 0x0 0xb1c000>, + <0x3 0xaa240000 0x0 0x10000>, + <0x3 0xaa3ac000 0x0 0x4000>, + <0x3 0xaa800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + ; + iommus = <&hw_dart_dispext1 0>, <&hw_dart_dispext1 16>; + status = "disabled"; + }; + + hw_dcpext1_expert: dcp-expert@3aa3ac050 { + compatible = "apple,t8142-dcp-expert", "apple,dcp-expert"; + reg = <0x3 0xaa3ac050 0x0 0x4>, + <0x3 0xaa370000 0x0 0x40>, + <0x3 0xaa374000 0x0 0x40>; + interrupts = ; + status = "disabled"; + }; + + hw_dcpext1: dcp@3aae00000 { + compatible = "apple,t8142-dcp", "apple,dcp"; + reg = <0x3 0xaae00000 0x0 0x88000>, + <0x3 0xaa850000 0x0 0x4000>, + <0x3 0xaae2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcpext1 23>; + status = "disabled"; + }; + + hw_dart_dcpext1: iommu@3aa340000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xaa340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext1: iommu@3aa300000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xaa300000 0x0 0xc000>, + <0x3 0xaa314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext1_isoc: iommu@3aa180000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xaa180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_dispext1: dma-controller@3aa140000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0xaa140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_dispext1_isoc 30>; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_dispext1_ced_ssw: admac-control@3aa2f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x3 0xaa2f4000 0x0 0x4000>, + <0x3 0xaa1a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dptx0_aux: dptx-aux@39a760000 { + compatible = "apple,t8142-dptx-aux", "apple,dptx-aux"; + reg = <0x3 0x9a760000 0x0 0x4000>, + <0x3 0x9a760000 0x0 0x4000>; + status = "disabled"; + }; + + hw_dptx1_aux: dptx-aux@39a764000 { + compatible = "apple,t8142-dptx-aux", "apple,dptx-aux"; + reg = <0x3 0x9a764000 0x0 0x4000>, + <0x3 0x9a764000 0x0 0x4000>; + status = "disabled"; + }; + + hw_scaler0: scaler@305000000 { + compatible = "apple,t8142-scaler", "apple,scaler"; + reg = <0x3 0x5000000 0x0 0x14000>, + <0x3 0x5210000 0x0 0x4000>, + <0x3 0x5204000 0x0 0x4000>, + <0x3 0x4000000 0x0 0x8000>, + <0x3 0x52c0000 0x0 0x40000>, + <0x3 0x5340000 0x0 0x14c000>, + <0x3 0x52a0000 0x0 0x4000>, + <0x3 0x5208000 0x0 0x4000>, + <0x3 0x5210000 0x0 0x4000>, + <0x3 0x5220000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_scaler 0>, <&hw_dart_scaler 1>; + status = "disabled"; + }; + + hw_dart_scaler: iommu@305260000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x5260000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_jpeg0: jpeg@301000000 { + compatible = "apple,t8142-jpeg", "apple,jpeg"; + reg = <0x3 0x1000000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_jpeg 0>; + status = "disabled"; + }; + + hw_jpeg1: jpeg@301060000 { + compatible = "apple,t8142-jpeg", "apple,jpeg"; + reg = <0x3 0x1060000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_jpeg 1>; + status = "disabled"; + }; + + hw_dart_jpeg: iommu@301020000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0x1020000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ave: video-encoder@281100000 { + compatible = "apple,t8142-ave", "apple,ave"; + reg = <0x2 0x81100000 0x0 0x45c000>, + <0x2 0x81800000 0x0 0x800000>, + <0x2 0x81050000 0x0 0x4000>, + <0x3 0x80708000 0x0 0x4000>, + <0x2 0x80000000 0x0 0x1000000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_ave 0>; + status = "disabled"; + }; + + hw_dart_ave: iommu@281080000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x2 0x81080000 0x0 0xc000>, + <0x2 0x810a0000 0x0 0xc000>, + <0x2 0x81094000 0x0 0x4000>, + <0x2 0x810b0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apr: prores@3a1000000 { + compatible = "apple,t8142-prores", "apple,prores"; + reg = <0x3 0xa1000000 0x0 0x4000>, + <0x3 0xa0000000 0x0 0x1000000>, + <0x3 0xa10c0000 0x0 0x4000>, + <0x3 0xa1070000 0x0 0x4000>, + <0x3 0xa1071000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_apr 1>; + status = "disabled"; + }; + + hw_dart_apr: iommu@3a1020000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xa1020000 0x0 0xc000>, + <0x3 0xa1034000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_scdc: scdc-coproc@3a2600000 { + compatible = "apple,t8142-scdc-coproc", "apple,scdc-coproc"; + reg = <0x3 0xa2600000 0x0 0x88000>, + <0x3 0xa2050000 0x0 0x4000>, + <0x3 0xa0000000 0x0 0x1000000>, + <0x3 0xa1340000 0x0 0x40000>, + <0x3 0xa10b8000 0x0 0x4000>, + <0x3 0xa10bc000 0x0 0x4000>, + <0x3 0xa1100000 0x0 0x3c000>, + <0x3 0xa1140000 0x0 0x20000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_scdc 0>, <&hw_dart_apr 0>; + status = "disabled"; + }; + + hw_dart_scdc: iommu@3a1040000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x3 0xa1040000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ane: neural-processor@420000000 { + compatible = "apple,t8142-ane", "apple,ane"; + reg = <0x4 0x20000000 0x0 0x2000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x803c0000 0x0 0x40000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x3 0x882c8000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_ane 0>, <&hw_dart_ane 11>; + status = "disabled"; + }; + + hw_dart_ane: iommu@421800000 { + compatible = "apple,t8142-dart", "apple,dart"; + reg = <0x4 0x21800000 0x0 0xc000>, + <0x4 0x21820000 0x0 0xc000>, + <0x4 0x21840000 0x0 0xc000>, + <0x4 0x21810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_aop_ced_ssw: admac-control@393c80000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x3 0x93c80000 0x0 0x4000>, + <0x3 0x93c84000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_leap_s: dma-controller@393200000 { + compatible = "apple,t8142-admac", "apple,admac"; + reg = <0x3 0x93200000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + status = "disabled"; + #dma-cells = <1>; + }; + + hw_admac_leap_s_rx_0_proxy: audio-dma-proxy@5e3200000 { + compatible = "apple,t8142-audio-dma-proxy", "apple,audio-dma-proxy"; + reg = <0x5 0xe3200000 0x0 0x34000>; + status = "disabled"; + }; + + hw_dbgCPU: cpu-debug@389b00000 { + compatible = "apple,t8142-cpu-debug", "apple,cpu-debug"; + reg = <0x3 0x89b00000 0x0 0x28000>, + <0x3 0x899c0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_secure_repair: secure-repair@3881f0000 { + compatible = "apple,t8142-secure-repair", "apple,secure-repair"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_apple_processor_trace: processor-trace@2100f0000 { + compatible = "apple,t8142-processor-trace", "apple,processor-trace"; + reg = <0x2 0x100f0000 0x0 0x10000>, + <0x2 0x101f0000 0x0 0x10000>, + <0x2 0x102f0000 0x0 0x10000>, + <0x2 0x103f0000 0x0 0x10000>, + <0x2 0x104f0000 0x0 0x10000>, + <0x2 0x105f0000 0x0 0x10000>, + <0x2 0x110f0000 0x0 0x10000>, + <0x2 0x111f0000 0x0 0x10000>, + <0x2 0x112f0000 0x0 0x10000>, + <0x2 0x113f0000 0x0 0x10000>, + <0x2 0x10ff0000 0x0 0x10000>, + <0x2 0x11ff0000 0x0 0x10000>, + <0x2 0x10e40000 0x0 0x10000>, + <0x2 0x11e40000 0x0 0x10000>, + <0x2 0x10e50000 0x0 0x10000>, + <0x2 0x11e50000 0x0 0x10000>, + <0x2 0x10e90000 0x0 0x10000>, + <0x2 0x11e90000 0x0 0x10000>, + <0x2 0x10eb0000 0x0 0x10000>, + <0x2 0x11eb0000 0x0 0x10000>; + status = "disabled"; + }; + + hw_hib_exclave_watchdog: hibernation-watchdog@5d82b0000 { + compatible = "apple,t8142-hibernation-watchdog", "apple,hibernation-watchdog"; + reg = <0x5 0xd82b0000 0x0 0x4000>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142.dtsi b/arch/arm64/boot/dts/apple/t8142.dtsi new file mode 100644 index 0000000000000..b3e765d274d7a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142.dtsi @@ -0,0 +1,380 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Common T8142 boot resources. Board peripherals are included separately. */ +#include +#include + +/ { + chassis-type = "laptop"; + + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&aic>; + + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + stdout-path = "serial0:1500000n8"; + + framebuffer0: framebuffer@0 { + compatible = "apple,simple-framebuffer", "simple-framebuffer"; + reg = <0 0 0 0>; /* Filled by the loader. */ + status = "disabled"; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* Filled by the loader. */ + }; + + memory@10000000000 { + device_type = "memory"; + reg = <0x100 0 0x4 0>; /* Filled by the loader. */ + }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + cpu0: cpu@0 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x0>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu1: cpu@1 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x1>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu2: cpu@2 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x2>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu3: cpu@3 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x3>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu4: cpu@4 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x4>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu5: cpu@5 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x5>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu6: cpu@10100 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10100>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu7: cpu@10101 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10101>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu8: cpu@10102 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10102>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu9: cpu@10103 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10103>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; + }; + + /* State 1 is 300 MHz; firmware SRAM OPP tables begin at state 2. */ + /* Cap each cluster at its measured J813 firmware handoff state. */ + ecluster_opp: opp-table-0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-level = <1>; + }; + + opp-972000000 { + opp-hz = /bits/ 64 <972000000>; + opp-level = <2>; + }; + + opp-1152000000 { + opp-hz = /bits/ 64 <1152000000>; + opp-level = <3>; + }; + + opp-1584000000 { + opp-hz = /bits/ 64 <1584000000>; + opp-level = <4>; + }; + + opp-1992000000 { + opp-hz = /bits/ 64 <1992000000>; + opp-level = <5>; + }; + + opp-2352000000 { + opp-hz = /bits/ 64 <2352000000>; + opp-level = <6>; + }; + + opp-2700000000 { + opp-hz = /bits/ 64 <2700000000>; + opp-level = <7>; + }; + + opp-2964000000 { + opp-hz = /bits/ 64 <2964000000>; + opp-level = <8>; + }; + }; + + pcluster_opp: opp-table-1 { + compatible = "operating-points-v2"; + opp-shared; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-level = <1>; + }; + + opp-1308000000 { + opp-hz = /bits/ 64 <1308000000>; + opp-level = <2>; + }; + + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-level = <3>; + }; + + opp-1932000000 { + opp-hz = /bits/ 64 <1932000000>; + opp-level = <4>; + }; + + opp-2220000000 { + opp-hz = /bits/ 64 <2220000000>; + opp-level = <5>; + }; + + opp-2508000000 { + opp-hz = /bits/ 64 <2508000000>; + opp-level = <6>; + }; + + opp-2820000000 { + opp-hz = /bits/ 64 <2820000000>; + opp-level = <7>; + }; + + opp-3072000000 { + opp-hz = /bits/ 64 <3072000000>; + opp-level = <8>; + }; + + opp-3300000000 { + opp-hz = /bits/ 64 <3300000000>; + opp-level = <9>; + }; + + opp-3516000000 { + opp-hz = /bits/ 64 <3516000000>; + opp-level = <10>; + }; + + /* ADT levels 11-20, measured on J813 (level 19, 4416 MHz, is below + * level 18 and left out). The SoC throttles them when hot. */ + opp-3720000000 { + opp-hz = /bits/ 64 <3720000000>; + opp-level = <11>; + }; + + opp-3876000000 { + opp-hz = /bits/ 64 <3876000000>; + opp-level = <12>; + }; + + opp-4020000000 { + opp-hz = /bits/ 64 <4020000000>; + opp-level = <13>; + }; + + opp-4176000000 { + opp-hz = /bits/ 64 <4176000000>; + opp-level = <14>; + }; + + opp-4248000000 { + opp-hz = /bits/ 64 <4248000000>; + opp-level = <15>; + }; + + opp-4272000000 { + opp-hz = /bits/ 64 <4272000000>; + opp-level = <16>; + }; + + opp-4332000000 { + opp-hz = /bits/ 64 <4332000000>; + opp-level = <17>; + }; + + opp-4428000000 { + opp-hz = /bits/ 64 <4428000000>; + opp-level = <18>; + }; + + opp-4464000000 { + opp-hz = /bits/ 64 <4464000000>; + opp-level = <20>; + }; + }; + + clkref: clock-ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + nonposted-mmio; + + cpufreq_e: performance-controller@210e20000 { + compatible = "apple,t8142-cluster-cpufreq"; + reg = <0x2 0x10e20000 0 0x1000>; + #performance-domain-cells = <0>; + }; + + cpufreq_p: performance-controller@211e20000 { + compatible = "apple,t8142-cluster-cpufreq"; + reg = <0x2 0x11e20000 0 0x1000>; + #performance-domain-cells = <0>; + }; + + /* + * PMC voter interface (AppleT8142PMC, ADT pmc-pmgr 31 + 0x700000): + * floors at 0x382700000 + agent * 0x4000, per-agent states at + * +0x106000, rail enables at +0x108000. Agents (ADT voter-agent): + * PMP 0, CLPC 1, GFX 2, AP 3. iBoot leaves every enable at 0, so + * no vote is honoured and DRAM and fabric stay at their lowest + * states (CPU DRAM latency 171 ns instead of 70 ns). + */ + pmc: power-management@382700000 { + compatible = "apple,t8142-pmc"; + reg = <0x3 0x82700000 0x0 0x10000>, + <0x3 0x82806000 0x0 0x3000>; + reg-names = "voters", "rails"; + #address-cells = <1>; + #size-cells = <0>; + /* PMP, CLPC and AP agents */ + apple,static-voters = <0 1 3>; + + clpc: performance-controller@1 { + compatible = "apple,t8142-clpc"; + reg = <1>; + }; + }; + + aic: interrupt-controller@381000000 { + compatible = "apple,t8142-aic3", "apple,t8122-aic3"; + interrupt-controller; + #interrupt-cells = <3>; + reg = <3 0x81000000 0 0x1cc000>, + <3 0x81040000 0 0x4000>; + reg-names = "core", "event"; + }; + + serial0: serial@3a5200000 { + compatible = "apple,s5l-uart"; + reg = <3 0xa5200000 0 0x4000>; + reg-io-width = <4>; + interrupts = ; + clocks = <&clkref>, <&clkref>; + clock-names = "uart", "clk_uart_baud0"; + status = "disabled"; + }; + + dockchannel: serial@38812c000 { + compatible = "apple,dockchannel-uart"; + reg = <3 0x8812c000 0 0x4000>, + <3 0x88128000 0 0x4000>, + <3 0x8810c000 0 0x1000>; + reg-names = "data", "config", "irq"; + interrupts = ; + }; + }; +};