On 12/24/21 6:34 AM, Mark Kettenis wrote:
> This synchronizes the device trees with those that are in the
> process of being upstreamed into Linux 5.16 or proposed for
> Linux 5.17.  This includes device trees for machines that were
> still missing.
>
> There are still some differences that will hopefully be resolved
> soon.
>
> Signed-off-by: Mark Kettenis <kette...@openbsd.org>

Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com>

Best Regards,
Jaehoon Chung

> ---
>  arch/arm/dts/Makefile        |    5 +-
>  arch/arm/dts/t8103-j274.dts  |  122 +---
>  arch/arm/dts/t8103-j293.dts  |   92 +--
>  arch/arm/dts/t8103-j313.dts  |   57 ++
>  arch/arm/dts/t8103-j456.dts  |   71 +++
>  arch/arm/dts/t8103-j457.dts  |   59 ++
>  arch/arm/dts/t8103-jxxx.dtsi |  140 +++++
>  arch/arm/dts/t8103-pmgr.dtsi | 1136 ++++++++++++++++++++++++++++++++++
>  arch/arm/dts/t8103.dtsi      |  585 +++++++++--------
>  9 files changed, 1839 insertions(+), 428 deletions(-)
>  create mode 100644 arch/arm/dts/t8103-j313.dts
>  create mode 100644 arch/arm/dts/t8103-j456.dts
>  create mode 100644 arch/arm/dts/t8103-j457.dts
>  create mode 100644 arch/arm/dts/t8103-jxxx.dtsi
>  create mode 100644 arch/arm/dts/t8103-pmgr.dtsi
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 7f622fedbd..35872e1574 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -34,7 +34,10 @@ dtb-$(CONFIG_TARGET_A7Y17LTE) += exynos78x0-axy17lte.dtb
>  
>  dtb-$(CONFIG_ARCH_APPLE) += \
>       t8103-j274.dtb \
> -     t8103-j293.dtb
> +     t8103-j293.dtb \
> +     t8103-j313.dtb \
> +     t8103-j456.dtb \
> +     t8103-j457.dtb
>  
>  dtb-$(CONFIG_ARCH_DAVINCI) += \
>       da850-evm.dtb \
> diff --git a/arch/arm/dts/t8103-j274.dts b/arch/arm/dts/t8103-j274.dts
> index aef1ae29b6..2144768147 100644
> --- a/arch/arm/dts/t8103-j274.dts
> +++ b/arch/arm/dts/t8103-j274.dts
> @@ -10,126 +10,48 @@
>  /dts-v1/;
>  
>  #include "t8103.dtsi"
> +#include "t8103-jxxx.dtsi"
>  
>  / {
>       compatible = "apple,j274", "apple,t8103", "apple,arm-platform";
>       model = "Apple Mac mini (M1, 2020)";
>  
>       aliases {
> -             serial0 = &serial0;
> -             ethernet0 = &eth0;
> -             wifi0 = &wifi0;
> -     };
> -
> -     chosen {
> -             #address-cells = <2>;
> -             #size-cells = <2>;
> -             ranges;
> -
> -             stdout-path = "serial0";
> -
> -             framebuffer0: framebuffer@0 {
> -                     compatible = "apple,simple-framebuffer", 
> "simple-framebuffer";
> -                     reg = <0 0 0 0>; /* To be filled by loader */
> -                     /* Format properties will be added by loader */
> -                     status = "disabled";
> -             };
> -     };
> -
> -     memory@800000000 {
> -             device_type = "memory";
> -             reg = <0x8 0 0x2 0>; /* To be filled by loader */
> +             ethernet0 = &ethernet0;
>       };
>  };
>  
> -&serial0 {
> -     status = "okay";
> -};
> -
> -&pcie0_dart_0 {
> -     status = "okay";
> -};
> +/*
> + * Provide labels for the USB type C ports.
> + */
>  
> -&pcie0_dart_1 {
> -     status = "okay";
> +&typec0 {
> +     label = "USB-C Back-left";
>  };
>  
> -&pcie0_dart_2 {
> -     status = "okay";
> +&typec1 {
> +     label = "USB-C Back-right";
>  };
>  
> -&pcie0 {
> -     status = "okay";
> -
> -     pci0: pci@0,0 {
> -             device_type = "pci";
> -             reg = <0x0 0x0 0x0 0x0 0x0>;
> -             pwren-gpios = <&smc 13 0>;
> -             reset-gpios = <&pinctrl_ap 152 0>;
> -             max-link-speed = <2>;
> -
> -             #address-cells = <3>;
> -             #size-cells = <2>;
> -             ranges;
> -     };
> -
> -     pci1: pci@1,0 {
> -             device_type = "pci";
> -             reg = <0x800 0x0 0x0 0x0 0x0>;
> -             reset-gpios = <&pinctrl_ap 153 0>;
> -             max-link-speed = <2>;
> -
> -             #address-cells = <3>;
> -             #size-cells = <2>;
> -             ranges;
> -     };
> -
> -     pci2: pci@2,0 {
> -             device_type = "pci";
> -             reg = <0x1000 0x0 0x0 0x0 0x0>;
> -             reset-gpios = <&pinctrl_ap 33 0>;
> -             max-link-speed = <1>;
> +/*
> + * Force the bus number assignments so that we can declare some of the
> + * on-board devices and properties that are populated by the bootloader
> + * (such as MAC addresses).
> + */
>  
> -             #address-cells = <3>;
> -             #size-cells = <2>;
> -             ranges;
> -     };
> +&port01 {
> +     bus-range = <2 2>;
>  };
>  
> -&pci0 {
> -     wifi0: network@0,0 {
> -             reg = <0x10000 0x0 0x0 0x0 0x0>;
> -             local-mac-address = [00 00 00 00 00 00];
> -     };
> -};
> -
> -&pci2 {
> -     eth0: ethernet@0,0 {
> +&port02 {
> +     bus-range = <3 3>;
> +     ethernet0: ethernet@0,0 {
>               reg = <0x30000 0x0 0x0 0x0 0x0>;
> -             local-mac-address = [00 00 00 00 00 00];
> +             /* To be filled by the loader */
> +             local-mac-address = [00 10 18 00 00 00];
>       };
>  };
>  
> -&dwc3_0_dart_0 {
> -     status = "okay";
> -};
> -
> -&dwc3_0_dart_1 {
> -     status = "okay";
> -};
> -
> -&dwc3_0 {
> -     status = "okay";
> -};
> -
> -&dwc3_1_dart_0 {
> -     status = "okay";
> -};
> -
> -&dwc3_1_dart_1 {
> -     status = "okay";
> -};
> -
> -&dwc3_1 {
> +&i2c2 {
>       status = "okay";
>  };
> diff --git a/arch/arm/dts/t8103-j293.dts b/arch/arm/dts/t8103-j293.dts
> index 4a22596cf4..cf92ee53e0 100644
> --- a/arch/arm/dts/t8103-j293.dts
> +++ b/arch/arm/dts/t8103-j293.dts
> @@ -1,6 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0+ OR MIT
>  /*
> - * Apple Macbook Pro (M1, 2020)
> + * Apple MacBook Pro (13-inch, M1, 2020)
>   *
>   * target-type: J293
>   *
> @@ -10,88 +10,56 @@
>  /dts-v1/;
>  
>  #include "t8103.dtsi"
> +#include "t8103-jxxx.dtsi"
>  
>  / {
>       compatible = "apple,j293", "apple,t8103", "apple,arm-platform";
> -     model = "Apple Macbook Pro (M1, 2020)";
> -
> -     aliases {
> -             serial0 = &serial0;
> -             wifi0 = &wifi0;
> -     };
> -
> -     chosen {
> -             #address-cells = <2>;
> -             #size-cells = <2>;
> -             ranges;
> -
> -             stdout-path = "serial0";
> -
> -             framebuffer0: framebuffer@0 {
> -                     compatible = "apple,simple-framebuffer", 
> "simple-framebuffer";
> -                     reg = <0 0 0 0>; /* To be filled by loader */
> -                     /* Format properties will be added by loader */
> -                     status = "disabled";
> -             };
> -     };
> -
> -     memory@800000000 {
> -             device_type = "memory";
> -             reg = <0x8 0 0x2 0>; /* To be filled by loader */
> -     };
> +     model = "Apple MacBook Pro (13-inch, M1, 2020)";
>  };
>  
> -&serial0 {
> -     status = "okay";
> -};
> +/*
> + * Provide labels for the USB type C ports.
> + */
>  
> -&pcie0_dart_0 {
> -     status = "okay";
> +&typec0 {
> +     label = "USB-C Left-back";
>  };
>  
> -&pcie0 {
> -     status = "okay";
> -
> -     pci0: pci@0,0 {
> -             device_type = "pci";
> -             reg = <0x0 0x0 0x0 0x0 0x0>;
> -             pwren-gpios = <&smc 13 0>;
> -             reset-gpios = <&pinctrl_ap 152 0>;
> -             max-link-speed = <2>;
> -
> -             #address-cells = <3>;
> -             #size-cells = <2>;
> -             ranges;
> -     };
> +&typec1 {
> +     label = "USB-C Left-front";
>  };
>  
> -&pci0 {
> -     wifi0: network@0,0 {
> -             reg = <0x10000 0x0 0x0 0x0 0x0>;
> -             local-mac-address = [00 00 00 00 00 00];
> -     };
> -};
> +/*
> + * Remove unused PCIe ports and disable the associated DARTs.
> + */
>  
> -&dwc3_0_dart_0 {
> -     status = "okay";
> +&pcie0_dart_1 {
> +     status = "disabled";
>  };
>  
> -&dwc3_0_dart_1 {
> -     status = "okay";
> +&pcie0_dart_2 {
> +     status = "disabled";
>  };
>  
> -&dwc3_0 {
> -     status = "okay";
> -};
> +/delete-node/ &port01;
> +/delete-node/ &port02;
>  
> -&dwc3_1_dart_0 {
> +&i2c2 {
>       status = "okay";
>  };
>  
> -&dwc3_1_dart_1 {
> +&i2c4 {
>       status = "okay";
>  };
>  
> -&dwc3_1 {
> +&spi3 {
>       status = "okay";
> +
> +     keyboard@0 {
> +                compatible = "apple,keyboard";
> +                spi-max-frequency = <2000000>;
> +                reg = <0>;
> +                interrupts-extended = <&pinctrl_nub 13 IRQ_TYPE_LEVEL_LOW>;
> +                spien-gpios = <&pinctrl_ap 195 GPIO_ACTIVE_HIGH>;
> +     };
>  };
> diff --git a/arch/arm/dts/t8103-j313.dts b/arch/arm/dts/t8103-j313.dts
> new file mode 100644
> index 0000000000..c8574d81c8
> --- /dev/null
> +++ b/arch/arm/dts/t8103-j313.dts
> @@ -0,0 +1,57 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple MacBook Air (M1, 2020)
> + *
> + * target-type: J313
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +/dts-v1/;
> +
> +#include "t8103.dtsi"
> +#include "t8103-jxxx.dtsi"
> +
> +/ {
> +     compatible = "apple,j313", "apple,t8103", "apple,arm-platform";
> +     model = "Apple MacBook Air (M1, 2020)";
> +};
> +
> +/*
> + * Provide labels for the USB type C ports.
> + */
> +
> +&typec0 {
> +     label = "USB-C Left-back";
> +};
> +
> +&typec1 {
> +     label = "USB-C Left-front";
> +};
> +
> +/*
> + * Remove unused PCIe ports and disable the associated DARTs.
> + */
> +
> +&pcie0_dart_1 {
> +     status = "disabled";
> +};
> +
> +&pcie0_dart_2 {
> +     status = "disabled";
> +};
> +
> +/delete-node/ &port01;
> +/delete-node/ &port02;
> +
> +&spi3 {
> +     status = "okay";
> +
> +     keyboard@0 {
> +                compatible = "apple,keyboard";
> +                spi-max-frequency = <2000000>;
> +                reg = <0>;
> +                interrupts-extended = <&pinctrl_nub 13 IRQ_TYPE_LEVEL_LOW>;
> +                spien-gpios = <&pinctrl_ap 195 GPIO_ACTIVE_HIGH>;
> +     };
> +};
> diff --git a/arch/arm/dts/t8103-j456.dts b/arch/arm/dts/t8103-j456.dts
> new file mode 100644
> index 0000000000..9814c97cd9
> --- /dev/null
> +++ b/arch/arm/dts/t8103-j456.dts
> @@ -0,0 +1,71 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple iMac (24-inch, 4x USB-C, M1, 2020)
> + *
> + * target-type: J456
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +/dts-v1/;
> +
> +#include "t8103.dtsi"
> +#include "t8103-jxxx.dtsi"
> +
> +/ {
> +     compatible = "apple,j456", "apple,t8103", "apple,arm-platform";
> +     model = "Apple iMac (24-inch, 4x USB-C, M1, 2020)";
> +
> +     aliases {
> +             ethernet0 = &ethernet0;
> +     };
> +};
> +
> +&i2c0 {
> +     hpm2: usb-pd@3b {
> +             compatible = "apple,cd321x";
> +             reg = <0x3b>;
> +             interrupt-parent = <&pinctrl_ap>;
> +             interrupts = <106 IRQ_TYPE_LEVEL_LOW>;
> +             interrupt-names = "irq";
> +     };
> +
> +     hpm3: usb-pd@3c {
> +             compatible = "apple,cd321x";
> +             reg = <0x3c>;
> +             interrupt-parent = <&pinctrl_ap>;
> +             interrupts = <106 IRQ_TYPE_LEVEL_LOW>;
> +             interrupt-names = "irq";
> +     };
> +};
> +
> +/*
> + * Provide labels for the USB type C ports.
> + */
> +
> +&typec0 {
> +     label = "USB-C Back-right";
> +};
> +
> +&typec1 {
> +     label = "USB-C Back-right-middle";
> +};
> +
> +/*
> + * Force the bus number assignments so that we can declare some of the
> + * on-board devices and properties that are populated by the bootloader
> + * (such as MAC addresses).
> + */
> +
> +&port01 {
> +     bus-range = <2 2>;
> +};
> +
> +&port02 {
> +     bus-range = <3 3>;
> +     ethernet0: ethernet@0,0 {
> +             reg = <0x30000 0x0 0x0 0x0 0x0>;
> +             /* To be filled by the loader */
> +             local-mac-address = [00 10 18 00 00 00];
> +     };
> +};
> diff --git a/arch/arm/dts/t8103-j457.dts b/arch/arm/dts/t8103-j457.dts
> new file mode 100644
> index 0000000000..0f4cc64374
> --- /dev/null
> +++ b/arch/arm/dts/t8103-j457.dts
> @@ -0,0 +1,59 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple iMac (24-inch, 2x USB-C, M1, 2020)
> + *
> + * target-type: J457
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +/dts-v1/;
> +
> +#include "t8103.dtsi"
> +#include "t8103-jxxx.dtsi"
> +
> +/ {
> +     compatible = "apple,j457", "apple,t8103", "apple,arm-platform";
> +     model = "Apple iMac (24-inch, 2x USB-C, M1, 2020)";
> +
> +     aliases {
> +             ethernet0 = &ethernet0;
> +     };
> +};
> +
> +/*
> + * Provide labels for the USB type C ports.
> + */
> +
> +&typec0 {
> +     label = "USB-C Back-right";
> +};
> +
> +&typec1 {
> +     label = "USB-C Back-left";
> +};
> +
> +/*
> + * Force the bus number assignments so that we can declare some of the
> + * on-board devices and properties that are populated by the bootloader
> + * (such as MAC addresses).
> + */
> +
> +&port02 {
> +     bus-range = <3 3>;
> +     ethernet0: ethernet@0,0 {
> +             reg = <0x30000 0x0 0x0 0x0 0x0>;
> +             /* To be filled by the loader */
> +             local-mac-address = [00 10 18 00 00 00];
> +     };
> +};
> +
> +/*
> + * Remove unused PCIe port and disable the associated DART.
> + */
> +
> +&pcie0_dart_1 {
> +     status = "disabled";
> +};
> +
> +/delete-node/ &port01;
> diff --git a/arch/arm/dts/t8103-jxxx.dtsi b/arch/arm/dts/t8103-jxxx.dtsi
> new file mode 100644
> index 0000000000..8478090b34
> --- /dev/null
> +++ b/arch/arm/dts/t8103-jxxx.dtsi
> @@ -0,0 +1,140 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * Apple M1 Mac mini, MacBook Air/Pro, iMac 24" (M1, 2020/2021)
> + *
> + * This file contains parts common to all Apple M1 devices using the t8103.
> + *
> + * target-type: J274, J293, J313, J456, J457
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +#include <dt-bindings/spmi/spmi.h>
> +
> +/ {
> +     aliases {
> +             serial0 = &serial0;
> +             serial2 = &serial2;
> +             wifi0 = &wifi0;
> +     };
> +
> +     chosen {
> +             #address-cells = <2>;
> +             #size-cells = <2>;
> +             ranges;
> +
> +             stdout-path = "serial0";
> +
> +             framebuffer0: framebuffer@0 {
> +                     compatible = "apple,simple-framebuffer", 
> "simple-framebuffer";
> +                     reg = <0 0 0 0>; /* To be filled by loader */
> +                     /* Format properties will be added by loader */
> +                     status = "disabled";
> +             };
> +     };
> +
> +     memory@800000000 {
> +             device_type = "memory";
> +             reg = <0x8 0 0x2 0>; /* To be filled by loader */
> +     };
> +};
> +
> +&serial0 {
> +     status = "okay";
> +};
> +
> +&serial2 {
> +     status = "okay";
> +};
> +
> +&i2c0 {
> +     hpm0: usb-pd@38 {
> +             compatible = "apple,cd321x";
> +             reg = <0x38>;
> +             interrupt-parent = <&pinctrl_ap>;
> +             interrupts = <106 IRQ_TYPE_LEVEL_LOW>;
> +             interrupt-names = "irq";
> +
> +             typec0: connector {
> +                     compatible = "usb-c-connector";
> +                     power-role = "dual";
> +                     data-role = "dual";
> +
> +                     ports {
> +                             #address-cells = <1>;
> +                             #size-cells = <0>;
> +                             port@0 {
> +                                     reg = <0>;
> +                                     typec0_con_hs: endpoint {
> +                                             remote-endpoint = 
> <&typec0_usb_hs>;
> +                                     };
> +                             };
> +                     };
> +             };
> +     };
> +
> +     hpm1: usb-pd@3f {
> +             compatible = "apple,cd321x";
> +             reg = <0x3f>;
> +             interrupt-parent = <&pinctrl_ap>;
> +             interrupts = <106 IRQ_TYPE_LEVEL_LOW>;
> +             interrupt-names = "irq";
> +
> +             typec1: connector {
> +                     compatible = "usb-c-connector";
> +                     power-role = "dual";
> +                     data-role = "dual";
> +
> +                     ports {
> +                             #address-cells = <1>;
> +                             #size-cells = <0>;
> +                             port@0 {
> +                                     reg = <0>;
> +                                     typec1_con_hs: endpoint {
> +                                             remote-endpoint = 
> <&typec1_usb_hs>;
> +                                     };
> +                             };
> +                     };
> +             };
> +     };
> +};
> +
> +/* USB controllers */
> +&dwc3_0 {
> +     port {
> +             typec0_usb_hs: endpoint {
> +                     remote-endpoint = <&typec0_con_hs>;
> +             };
> +     };
> +};
> +
> +&dwc3_1 {
> +     port {
> +             typec1_usb_hs: endpoint {
> +                     remote-endpoint = <&typec1_con_hs>;
> +             };
> +     };
> +};
> +
> +/*
> + * Force the bus number assignments so that we can declare some of the
> + * on-board devices and properties that are populated by the bootloader
> + * (such as MAC addresses).
> + */
> +&port00 {
> +     bus-range = <1 1>;
> +     pwren-gpios = <&smc 13 0>;
> +     wifi0: network@0,0 {
> +             reg = <0x10000 0x0 0x0 0x0 0x0>;
> +             local-mac-address = [00 00 00 00 00 00];
> +     };
> +};
> +
> +&spmi {
> +     status = "okay";
> +
> +     pmu@f {
> +             compatible = "apple,sera-pmu";
> +             reg = <0xf SPMI_USID>;
> +     };
> +};
> diff --git a/arch/arm/dts/t8103-pmgr.dtsi b/arch/arm/dts/t8103-pmgr.dtsi
> new file mode 100644
> index 0000000000..1310be74df
> --- /dev/null
> +++ b/arch/arm/dts/t8103-pmgr.dtsi
> @@ -0,0 +1,1136 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> +/*
> + * PMGR Power domains for the Apple T8103 "M1" SoC
> + *
> + * Copyright The Asahi Linux Contributors
> + */
> +
> +
> +&pmgr {
> +     ps_sbr: power-controller@100 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x100 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sbr";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_aic: power-controller@108 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x108 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "aic";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_dwi: power-controller@110 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x110 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dwi";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_soc_spmi0: power-controller@118 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x118 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "soc_spmi0";
> +     };
> +
> +     ps_soc_spmi1: power-controller@120 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x120 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "soc_spmi1";
> +     };
> +
> +     ps_soc_spmi2: power-controller@128 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x128 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "soc_spmi2";
> +     };
> +
> +     ps_gpio: power-controller@130 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x130 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "gpio";
> +     };
> +
> +     ps_pms_busif: power-controller@138 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x138 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_busif";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_pms: power-controller@140 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x140 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_pms_fpwm0: power-controller@148 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x148 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_fpwm0";
> +             power-domains = <&ps_pms>;
> +     };
> +
> +     ps_pms_fpwm1: power-controller@150 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x150 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_fpwm1";
> +             power-domains = <&ps_pms>;
> +     };
> +
> +     ps_pms_fpwm2: power-controller@158 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x158 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_fpwm2";
> +             power-domains = <&ps_pms>;
> +     };
> +
> +     ps_pms_fpwm3: power-controller@160 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x160 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_fpwm3";
> +             power-domains = <&ps_pms>;
> +     };
> +
> +     ps_pms_fpwm4: power-controller@168 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x168 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_fpwm4";
> +             power-domains = <&ps_pms>;
> +     };
> +
> +     ps_soc_dpe: power-controller@170 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x170 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "soc_dpe";
> +             apple,always-on; /* Core device */
> +     };
> +
> +     ps_pmgr_soc_ocla: power-controller@178 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x178 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pmgr_soc_ocla";
> +     };
> +
> +     ps_ispsens0: power-controller@180 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x180 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ispsens0";
> +     };
> +
> +     ps_ispsens1: power-controller@188 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x188 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ispsens1";
> +     };
> +
> +     ps_ispsens2: power-controller@190 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x190 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ispsens2";
> +     };
> +
> +     ps_ispsens3: power-controller@198 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x198 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ispsens3";
> +     };
> +
> +     ps_pcie_ref: power-controller@1a0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1a0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pcie_ref";
> +     };
> +
> +     ps_aft0: power-controller@1a8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1a8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "aft0";
> +     };
> +
> +     ps_devc0_ivdmc: power-controller@1b0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1b0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "devc0_ivdmc";
> +     };
> +
> +     ps_imx: power-controller@1b8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1b8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "imx";
> +             apple,always-on; /* Apple fabric, critical block */
> +     };
> +
> +     ps_sio_busif: power-controller@1c0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1c0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sio_busif";
> +     };
> +
> +     ps_sio: power-controller@1c8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1c8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sio";
> +             power-domains = <&ps_sio_busif>;
> +     };
> +
> +     ps_sio_cpu: power-controller@1d0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1d0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sio_cpu";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_fpwm0: power-controller@1d8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1d8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "fpwm0";
> +     };
> +
> +     ps_fpwm1: power-controller@1e0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1e0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "fpwm1";
> +     };
> +
> +     ps_fpwm2: power-controller@1e8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1e8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "fpwm2";
> +     };
> +
> +     ps_i2c0: power-controller@1f0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1f0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "i2c0";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_i2c1: power-controller@1f8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x1f8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "i2c1";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_i2c2: power-controller@200 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x200 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "i2c2";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_i2c3: power-controller@208 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x208 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "i2c3";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_i2c4: power-controller@210 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x210 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "i2c4";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_spi_p: power-controller@218 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x218 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi_p";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_uart_p: power-controller@220 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x220 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart_p";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_audio_p: power-controller@228 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x228 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "audio_p";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_sio_adma: power-controller@230 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x230 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sio_adma";
> +             power-domains = <&ps_sio>, <&ps_pms>;
> +     };
> +
> +     ps_aes: power-controller@238 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x238 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "aes";
> +             power-domains = <&ps_sio>;
> +     };
> +
> +     ps_spi0: power-controller@240 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x240 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi0";
> +             power-domains = <&ps_sio>, <&ps_spi_p>;
> +     };
> +
> +     ps_spi1: power-controller@248 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x248 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi1";
> +             power-domains = <&ps_sio>, <&ps_spi_p>;
> +     };
> +
> +     ps_spi2: power-controller@250 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x250 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi2";
> +             power-domains = <&ps_sio>, <&ps_spi_p>;
> +     };
> +
> +     ps_spi3: power-controller@258 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x258 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi3";
> +             power-domains = <&ps_sio>, <&ps_spi_p>;
> +     };
> +
> +     ps_uart_n: power-controller@268 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x268 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart_n";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart0: power-controller@270 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x270 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart0";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart1: power-controller@278 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x278 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart1";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart2: power-controller@280 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x280 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart2";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart3: power-controller@288 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x288 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart3";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart4: power-controller@290 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x290 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart4";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart5: power-controller@298 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x298 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart5";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart6: power-controller@2a0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2a0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart6";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart7: power-controller@2a8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2a8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart7";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_uart8: power-controller@2b0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2b0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "uart8";
> +             power-domains = <&ps_uart_p>;
> +     };
> +
> +     ps_mca0: power-controller@2b8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2b8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca0";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_mca1: power-controller@2c0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2c0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca1";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_mca2: power-controller@2c8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2c8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca2";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_mca3: power-controller@2d0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2d0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca3";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_mca4: power-controller@2d8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2d8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca4";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_mca5: power-controller@2e0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2e0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mca5";
> +             power-domains = <&ps_audio_p>, <&ps_sio_adma>;
> +     };
> +
> +     ps_dpa0: power-controller@2e8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2e8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dpa0";
> +             power-domains = <&ps_audio_p>;
> +     };
> +
> +     ps_dpa1: power-controller@2f0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2f0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dpa1";
> +             power-domains = <&ps_audio_p>;
> +     };
> +
> +     ps_mcc: power-controller@2f8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x2f8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mcc";
> +             apple,always-on; /* Memory controller */
> +     };
> +
> +     ps_spi4: power-controller@260 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x260 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "spi4";
> +             power-domains = <&ps_sio>, <&ps_spi_p>;
> +     };
> +
> +     ps_dcs0: power-controller@300 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x300 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs0";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs1: power-controller@310 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x310 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs1";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs2: power-controller@308 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x308 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs2";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs3: power-controller@318 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x318 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs3";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_smx: power-controller@340 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x340 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "smx";
> +             apple,always-on; /* Apple fabric, critical block */
> +     };
> +
> +     ps_apcie: power-controller@348 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x348 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "apcie";
> +             power-domains = <&ps_imx>, <&ps_pcie_ref>;
> +     };
> +
> +     ps_rmx: power-controller@350 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x350 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "rmx";
> +             /* Apple Fabric, display/image stuff: this can power down */
> +     };
> +
> +     ps_mmx: power-controller@358 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x358 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mmx";
> +             /* Apple Fabric, media stuff: this can power down */
> +     };
> +
> +     ps_disp0_fe: power-controller@360 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x360 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "disp0_fe";
> +             power-domains = <&ps_rmx>;
> +             apple,always-on; /* TODO: figure out if we can enable PM here */
> +     };
> +
> +     ps_dispext_fe: power-controller@368 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x368 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dispext_fe";
> +             power-domains = <&ps_rmx>;
> +     };
> +
> +     ps_dispext_cpu0: power-controller@378 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x378 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dispext_cpu0";
> +             power-domains = <&ps_dispext_fe>;
> +     };
> +
> +     ps_jpg: power-controller@3c0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3c0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "jpg";
> +             power-domains = <&ps_mmx>;
> +     };
> +
> +     ps_msr: power-controller@3c8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3c8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "msr";
> +             power-domains = <&ps_mmx>;
> +     };
> +
> +     ps_msr_ase_core: power-controller@3d0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3d0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "msr_ase_core";
> +     };
> +
> +     ps_pmp: power-controller@3d8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3d8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pmp";
> +     };
> +
> +     ps_pms_sram: power-controller@3e0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3e0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "pms_sram";
> +     };
> +
> +     ps_apcie_gp: power-controller@3e8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3e8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "apcie_gp";
> +             power-domains = <&ps_apcie>;
> +     };
> +
> +     ps_ans2: power-controller@3f0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3f0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ans2";
> +             /*
> +              * The ADT makes ps_apcie_st depend on ps_ans2 instead, but this
> +              * doesn't make much sense since ANS2 uses APCIE_ST.
> +              */
> +             power-domains = <&ps_apcie_st>;
> +     };
> +
> +     ps_gfx: power-controller@3f8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3f8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "gfx";
> +     };
> +
> +     ps_dcs4: power-controller@320 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x320 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs4";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs5: power-controller@330 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x330 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs5";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs6: power-controller@328 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x328 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs6";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dcs7: power-controller@338 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x338 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dcs7";
> +             apple,always-on; /* LPDDR4 interface */
> +     };
> +
> +     ps_dispdfr_fe: power-controller@3a8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3a8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dispdfr_fe";
> +             power-domains = <&ps_rmx>;
> +     };
> +
> +     ps_dispdfr_be: power-controller@3b0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3b0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "dispdfr_be";
> +             power-domains = <&ps_dispdfr_fe>;
> +     };
> +
> +     ps_mipi_dsi: power-controller@3b8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x3b8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "mipi_dsi";
> +             power-domains = <&ps_dispdfr_be>;
> +     };
> +
> +     ps_isp_sys: power-controller@400 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x400 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "isp_sys";
> +             power-domains = <&ps_rmx>;
> +     };
> +
> +     ps_venc_sys: power-controller@408 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x408 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_sys";
> +             power-domains = <&ps_mmx>;
> +     };
> +
> +     ps_avd_sys: power-controller@410 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x410 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "avd_sys";
> +             power-domains = <&ps_mmx>;
> +     };
> +
> +     ps_apcie_st: power-controller@418 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x418 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "apcie_st";
> +             power-domains = <&ps_apcie>;
> +     };
> +
> +     ps_ane_sys: power-controller@470 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x470 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ane_sys";
> +     };
> +
> +     ps_atc0_common: power-controller@420 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x420 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_common";
> +     };
> +
> +     ps_atc0_pcie: power-controller@428 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x428 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_pcie";
> +             power-domains = <&ps_atc0_common>;
> +     };
> +
> +     ps_atc0_cio: power-controller@430 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x430 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_cio";
> +             power-domains = <&ps_atc0_common>;
> +     };
> +
> +     ps_atc0_cio_pcie: power-controller@438 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x438 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_cio_pcie";
> +             power-domains = <&ps_atc0_cio>;
> +     };
> +
> +     ps_atc0_cio_usb: power-controller@440 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x440 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_cio_usb";
> +             power-domains = <&ps_atc0_cio>;
> +     };
> +
> +     ps_atc1_common: power-controller@448 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x448 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_common";
> +     };
> +
> +     ps_atc1_pcie: power-controller@450 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x450 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_pcie";
> +             power-domains = <&ps_atc1_common>;
> +     };
> +
> +     ps_atc1_cio: power-controller@458 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x458 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_cio";
> +             power-domains = <&ps_atc1_common>;
> +     };
> +
> +     ps_atc1_cio_pcie: power-controller@460 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x460 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_cio_pcie";
> +             power-domains = <&ps_atc1_cio>;
> +     };
> +
> +     ps_atc1_cio_usb: power-controller@468 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x468 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_cio_usb";
> +             power-domains = <&ps_atc1_cio>;
> +     };
> +
> +     ps_sep: power-controller@c00 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xc00 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "sep";
> +             apple,always-on; /* Locked on */
> +     };
> +
> +     ps_venc_dma: power-controller@8000 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x8000 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_dma";
> +             power-domains = <&ps_venc_sys>;
> +     };
> +
> +     ps_venc_pipe4: power-controller@8008 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x8008 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_pipe4";
> +             power-domains = <&ps_venc_dma>;
> +     };
> +
> +     ps_venc_pipe5: power-controller@8010 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x8010 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_pipe5";
> +             power-domains = <&ps_venc_dma>;
> +     };
> +
> +     ps_venc_me0: power-controller@8018 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x8018 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_me0";
> +             power-domains = <&ps_venc_pipe4>, <&ps_venc_pipe5>;
> +     };
> +
> +     ps_venc_me1: power-controller@8020 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x8020 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "venc_me1";
> +             power-domains = <&ps_venc_pipe4>, <&ps_venc_pipe5>;
> +     };
> +
> +     ps_ane_sys_cpu: power-controller@c000 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xc000 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "ane_sys_cpu";
> +             power-domains = <&ps_ane_sys>;
> +     };
> +
> +     ps_disp0_cpu0: power-controller@10018 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x10018 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "disp0_cpu0";
> +             power-domains = <&ps_disp0_fe>;
> +             apple,always-on; /* TODO: figure out if we can enable PM here */
> +     };
> +};
> +
> +&pmgr_mini {
> +     ps_debug: power-controller@58 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x58 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "debug";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_nub_spmi0: power-controller@60 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x60 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_spmi0";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_nub_aon: power-controller@70 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x70 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_aon";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_nub_gpio: power-controller@80 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x80 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_gpio";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_nub_fabric: power-controller@a8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xa8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_fabric";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_nub_sram: power-controller@b0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xb0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_sram";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_debug_usb: power-controller@b8 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xb8 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "debug_usb";
> +             apple,always-on; /* Core AON device */
> +             power-domains = <&ps_debug>;
> +     };
> +
> +     ps_debug_auth: power-controller@c0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xc0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "debug_auth";
> +             apple,always-on; /* Core AON device */
> +             power-domains = <&ps_debug>;
> +     };
> +
> +     ps_nub_spmi1: power-controller@68 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x68 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "nub_spmi1";
> +             apple,always-on; /* Core AON device */
> +     };
> +
> +     ps_msg: power-controller@78 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x78 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "msg";
> +     };
> +
> +     ps_atc0_usb_aon: power-controller@88 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x88 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_usb_aon";
> +     };
> +
> +     ps_atc1_usb_aon: power-controller@90 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x90 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_usb_aon";
> +     };
> +
> +     ps_atc0_usb: power-controller@98 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0x98 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc0_usb";
> +             power-domains = <&ps_atc0_usb_aon>, <&ps_atc0_common>;
> +     };
> +
> +     ps_atc1_usb: power-controller@a0 {
> +             compatible = "apple,t8103-pmgr-pwrstate", "apple,pmgr-pwrstate";
> +             reg = <0xa0 4>;
> +             #power-domain-cells = <0>;
> +             #reset-cells = <0>;
> +             label = "atc1_usb";
> +             power-domains = <&ps_atc1_usb_aon>, <&ps_atc1_common>;
> +     };
> +};
> diff --git a/arch/arm/dts/t8103.dtsi b/arch/arm/dts/t8103.dtsi
> index 03d8436fec..1f029cb8fd 100644
> --- a/arch/arm/dts/t8103.dtsi
> +++ b/arch/arm/dts/t8103.dtsi
> @@ -11,7 +11,6 @@
>  #include <dt-bindings/interrupt-controller/apple-aic.h>
>  #include <dt-bindings/interrupt-controller/irq.h>
>  #include <dt-bindings/pinctrl/apple.h>
> -#include <dt-bindings/spmi/spmi.h>
>  
>  / {
>       compatible = "apple,t8103", "apple,arm-platform";
> @@ -91,11 +90,11 @@
>       timer {
>               compatible = "arm,armv8-timer";
>               interrupt-parent = <&aic>;
> -             interrupt-names = "hyp-phys", "hyp-virt", "phys", "virt";
> -             interrupts = <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
> -                          <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>,
> -                          <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
> -                          <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>;
> +             interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
> +             interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
> +                          <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
> +                          <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
> +                          <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
>       };
>  
>       clkref: clock-ref {
> @@ -111,18 +110,100 @@
>               #size-cells = <2>;
>  
>               ranges;
> -             dma-ranges;
> -             dma-coherent;
>               nonposted-mmio;
>  
> +             i2c0: i2c@235010000 {
> +                     compatible = "apple,t8103-i2c", "apple,i2c";
> +                     reg = <0x2 0x35010000 0x0 0x4000>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-0 = <&i2c0_pins>;
> +                     pinctrl-names = "default";
> +                     #address-cells = <0x1>;
> +                     #size-cells = <0x0>;
> +                     power-domains = <&ps_i2c0>;
> +             };
> +
> +             i2c1: i2c@235014000 {
> +                     compatible = "apple,t8103-i2c", "apple,i2c";
> +                     reg = <0x2 0x35014000 0x0 0x4000>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-0 = <&i2c1_pins>;
> +                     pinctrl-names = "default";
> +                     #address-cells = <0x1>;
> +                     #size-cells = <0x0>;
> +                     power-domains = <&ps_i2c1>;
> +             };
> +
> +             i2c2: i2c@235018000 {
> +                     compatible = "apple,t8103-i2c", "apple,i2c";
> +                     reg = <0x2 0x35018000 0x0 0x4000>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-0 = <&i2c2_pins>;
> +                     pinctrl-names = "default";
> +                     #address-cells = <0x1>;
> +                     #size-cells = <0x0>;
> +                     power-domains = <&ps_i2c2>;
> +                     status = "disabled"; /* not used in all devices */
> +             };
> +
> +             i2c3: i2c@23501c000 {
> +                     compatible = "apple,t8103-i2c", "apple,i2c";
> +                     reg = <0x2 0x3501c000 0x0 0x4000>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-0 = <&i2c3_pins>;
> +                     pinctrl-names = "default";
> +                     #address-cells = <0x1>;
> +                     #size-cells = <0x0>;
> +                     power-domains = <&ps_i2c3>;
> +             };
> +
> +             i2c4: i2c@235020000 {
> +                     compatible = "apple,t8103-i2c", "apple,i2c";
> +                     reg = <0x2 0x35020000 0x0 0x4000>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>;
> +                     pinctrl-0 = <&i2c4_pins>;
> +                     pinctrl-names = "default";
> +                     #address-cells = <0x1>;
> +                     #size-cells = <0x0>;
> +                     power-domains = <&ps_i2c4>;
> +                     status = "disabled"; /* only used in J293 */
> +             };
> +
> +             spi3: spi@23510c000 {
> +                     compatible = "apple,t8103-spi", "apple,spi";
> +                     reg = <0x2 0x3510c000 0x0 0x4000>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +                     clocks = <&clkref>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 617 IRQ_TYPE_LEVEL_HIGH>;
> +                     power-domains = <&ps_spi3>;
> +                     cs-gpios = <&pinctrl_ap 49 GPIO_ACTIVE_LOW>;
> +                     status = "disabled";
> +             };
> +
>               serial0: serial@235200000 {
>                       compatible = "apple,s5l-uart";
>                       reg = <0x2 0x35200000 0x0 0x1000>;
>                       reg-io-width = <4>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>;
> -                     clocks = <&clkref>, <&clkref>, <&clkref>;
> -                     clock-names = "uart", "clk_uart_baud0", 
> "clk_uart_baud1";
> +                     /*
> +                      * TODO: figure out the clocking properly, there may
> +                      * be a third selectable clock.
> +                      */
> +                     clocks = <&clkref>, <&clkref>;
> +                     clock-names = "uart", "clk_uart_baud0";
>                       power-domains = <&ps_uart0>;
>                       status = "disabled";
>               };
> @@ -133,8 +214,8 @@
>                       reg-io-width = <4>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>;
> -                     clocks = <&clkref>, <&clkref>, <&clkref>;
> -                     clock-names = "uart", "clk_uart_baud0", 
> "clk_uart_baud1";
> +                     clocks = <&clkref>, <&clkref>;
> +                     clock-names = "uart", "clk_uart_baud0";
>                       power-domains = <&ps_uart2>;
>                       status = "disabled";
>               };
> @@ -144,131 +225,28 @@
>                       #interrupt-cells = <3>;
>                       interrupt-controller;
>                       reg = <0x2 0x3b100000 0x0 0x8000>;
> +                     power-domains = <&ps_aic>;
>               };
>  
> -             pmgr: power-controller@23b700000 {
> +             pmgr: power-management@23b700000 {
>                       compatible = "apple,t8103-pmgr", "apple,pmgr", 
> "syscon", "simple-mfd";
>                       #address-cells = <1>;
> -                     #size-cells = <0>;
> -
> -                     reg = <0x2 0x3b700000 0x0 0x14000>;
> -
> -                     ps_pcie_ref: power-controller@1a0 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x1a0>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "pcie_ref";
> -                     };
> -
> -                     ps_imx: power-controller@1b8 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x1b8>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "imx";
> -                             apple,always-on;
> -                     };
> -
> -                     ps_sio: power-controller@1c0 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x1c0>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "sio";
> -                     };
> -
> -                     ps_uart_p: power-controller@220 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x220>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             power-domains = <&ps_sio>;
> -                             apple,domain-name = "uart_p";
> -                     };
> -
> -                     ps_uart0: power-controller@270 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x270>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             power-domains = <&ps_uart_p>;
> -                             apple,domain-name = "uart0";
> -                     };
> -
> -                     ps_uart1: power-controller@278 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x278>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "uart1";
> -                             power-domains = <&ps_uart_p>;
> -                     };
> -
> -                     ps_uart2: power-controller@280 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x280>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "uart2";
> -                             power-domains = <&ps_uart_p>;
> -                     };
> -
> -                     ps_uart3: power-controller@288 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x288>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "uart3";
> -                             power-domains = <&ps_uart_p>;
> -                     };
> -
> -                     ps_apcie: power-controller@348 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x348>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "apcie";
> -                             power-domains = <&ps_imx>;
> -                     };
> -
> -                     ps_apcie_gp: power-controller@3e8 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x3e8>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "apcie_gp";
> -                             power-domains = <&ps_apcie>;
> -                     };
> -
> -                     ps_ans2: power-controller@3f0 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x3f0>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "ans2";
> -                             power-domains = <&ps_apcie_st>;
> -                     };
> -
> -                     ps_apcie_st: power-controller@418 {
> -                             compatible = "apple,t8103-pmgr-pwrstate", 
> "apple,pmgr-pwrstate";
> -                             reg = <0x418>;
> -                             #power-domain-cells = <0>;
> -                             #reset-cells = <0>;
> -                             apple,domain-name = "apcie_st";
> -                             power-domains = <&ps_apcie>;
> -                     };
> +                     #size-cells = <1>;
> +                     reg = <0x2 0x3b700000 0 0x14000>;
>               };
>  
>               pinctrl_ap: pinctrl@23c100000 {
>                       compatible = "apple,t8103-pinctrl", "apple,pinctrl";
>                       reg = <0x2 0x3c100000 0x0 0x100000>;
> +                     power-domains = <&ps_gpio>;
>  
>                       gpio-controller;
>                       #gpio-cells = <2>;
>                       gpio-ranges = <&pinctrl_ap 0 0 212>;
> +                     apple,npins = <212>;
>  
>                       interrupt-controller;
> +                     #interrupt-cells = <2>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>,
>                                    <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>,
> @@ -278,18 +256,55 @@
>                                    <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>,
>                                    <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>;
>  
> -                     i2c0_pins: i2c0_pins {
> -                             pinmux = <APPLE_PINMUX(188, 1)>,
> -                                      <APPLE_PINMUX(192, 1)>;
> +                     i2c0_pins: i2c0-pins {
> +                             pinmux = <APPLE_PINMUX(192, 1)>,
> +                                      <APPLE_PINMUX(188, 1)>;
> +                     };
> +
> +                     i2c1_pins: i2c1-pins {
> +                             pinmux = <APPLE_PINMUX(201, 1)>,
> +                                      <APPLE_PINMUX(199, 1)>;
> +                     };
> +
> +                     i2c2_pins: i2c2-pins {
> +                             pinmux = <APPLE_PINMUX(163, 1)>,
> +                                      <APPLE_PINMUX(162, 1)>;
> +                     };
> +
> +                     i2c3_pins: i2c3-pins {
> +                             pinmux = <APPLE_PINMUX(73, 1)>,
> +                                      <APPLE_PINMUX(72, 1)>;
> +                     };
> +
> +                     i2c4_pins: i2c4-pins {
> +                             pinmux = <APPLE_PINMUX(135, 1)>,
> +                                      <APPLE_PINMUX(134, 1)>;
>                       };
>  
>                       pcie_pins: pcie-pins {
>                               pinmux = <APPLE_PINMUX(150, 1)>,
> -                                      <APPLE_PINMUX(151, 1)>,
> +                                      <APPLE_PINMUX(151, 1)>,
>                                        <APPLE_PINMUX(32, 1)>;
>                       };
>               };
>  
> +             spmi: spmi@23d0d9300 {
> +                     compatible = "apple,t8103-spmi", "apple,spmi";
> +                     reg = <0x2 0x3d0d9300 0x0 0x100>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 343 IRQ_TYPE_LEVEL_HIGH>;
> +                     #address-cells = <2>;
> +                     #size-cells = <0>;
> +                     status = "disabled";
> +             };
> +
> +             pmgr_mini: power-management@23d280000 {
> +                     compatible = "apple,t8103-pmgr", "apple,pmgr", 
> "syscon", "simple-mfd";
> +                     #address-cells = <1>;
> +                     #size-cells = <1>;
> +                     reg = <0x2 0x3d280000 0 0x4000>;
> +             };
> +
>               pinctrl_aop: pinctrl@24a820000 {
>                       compatible = "apple,t8103-pinctrl", "apple,pinctrl";
>                       reg = <0x2 0x4a820000 0x0 0x4000>;
> @@ -297,8 +312,10 @@
>                       gpio-controller;
>                       #gpio-cells = <2>;
>                       gpio-ranges = <&pinctrl_aop 0 0 42>;
> +                     apple,npins = <42>;
>  
>                       interrupt-controller;
> +                     #interrupt-cells = <2>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>,
>                                    <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>,
> @@ -312,12 +329,15 @@
>               pinctrl_nub: pinctrl@23d1f0000 {
>                       compatible = "apple,t8103-pinctrl", "apple,pinctrl";
>                       reg = <0x2 0x3d1f0000 0x0 0x4000>;
> +                     power-domains = <&ps_nub_gpio>;
>  
>                       gpio-controller;
>                       #gpio-cells = <2>;
>                       gpio-ranges = <&pinctrl_nub 0 0 23>;
> +                     apple,npins = <23>;
>  
>                       interrupt-controller;
> +                     #interrupt-cells = <2>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>,
>                                    <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>,
> @@ -343,8 +363,10 @@
>                       gpio-controller;
>                       #gpio-cells = <2>;
>                       gpio-ranges = <&pinctrl_smc 0 0 16>;
> +                     apple,npins = <16>;
>  
>                       interrupt-controller;
> +                     #interrupt-cells = <2>;
>                       interrupt-parent = <&aic>;
>                       interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>,
>                                    <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>,
> @@ -355,100 +377,124 @@
>                                    <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
>               };
>  
> -             i2c0: i2c@20a110000 {
> -                     compatible = "apple,i2c-v0";
> -                     reg = <0x2 0x35010000 0x0 0x4000>;
> +             smc_mbox: mbox@23e408000 {
> +                     compatible = "apple,t8103-asc-mailbox";
> +                     reg = <0x2 0x3e408000 0x0 0x4000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>;
> -                     clocks = <&clkref>;
> -                     pinctrl-0 = <&i2c0_pins>;
> -                     pinctrl-names = "default";
> -                     #address-cells = <0x1>;
> -                     #size-cells = <0x0>;
> +                     interrupts = <AIC_IRQ 400 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <AIC_IRQ 401 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <AIC_IRQ 402 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <AIC_IRQ 403 IRQ_TYPE_LEVEL_HIGH>;
> +                     interrupt-names = "send-empty", "send-not-empty",
> +                                       "recv-empty", "recv-not-empty";
> +                     #mbox-cells = <0>;
> +             };
>  
> -                     hpm0: hpm@38 {
> -                             compatible = "ti,tps6598x";
> -                             reg = <0x38>;
> -                     };
> +             smc: smc@23e050000 {
> +                     compatible = "apple,smc-m1";
> +                     reg = <0x2 0x3e050000 0x0 0x4000>,
> +                           <0x2 0x3e400000 0x0 0x4000>;
> +                     reg-names = "smc", "coproc";
> +                     mboxes = <&smc_mbox>;
> +                     gpio-controller;
> +                     #gpio-cells = <2>;
> +                     gpio-13 = <0x00800000>;
> +             };
>  
> -                     hpm1: hpm@3f {
> -                             compatible = "ti,tps6598x";
> -                             reg = <0x3f>;
> -                     };
> -                };
> +             dwc3_0_dart_0: iommu@382f00000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x3 0x82f00000 0x0 0x4000>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>;
> +                     #iommu-cells = <1>;
> +                     power-domains = <&ps_atc0_usb>;
> +             };
>  
> -             ans_mbox: mbox@277400000 {
> -                     compatible = "apple,iop-mailbox-m1";
> -                     reg = <0x2 0x77400000 0x0 0x20000>;
> +             dwc3_0_dart_1: iommu@382f80000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x3 0x82f80000 0x0 0x4000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>,
> -                                  <AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>;
> -                     power-domains = <&ps_ans2>;
> -                     #mbox-cells = <1>;
> -                     endpoints = <32>;
> +                     interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>;
> +                     #iommu-cells = <1>;
> +                     power-domains = <&ps_atc0_usb>;
>               };
>  
> -             ans@27bcc0000 {
> -                     compatible = "apple,nvme-m1";
> -                     reg = <0x2 0x7bcc0000 0x0 0x40000>,
> -                           <0x2 0x7bc50000 0x0 0x4000>;
> +             dwc3_0: usb@382280000 {
> +                     compatible = "apple,t8103-dwc3", "apple,dwc3", 
> "snps,dwc3";
> +                     reg = <0x3 0x82280000 0x0 0x100000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
> -                     power-domains = <&ps_apcie_st>;
> -                     mboxes = <&ans_mbox 32>;
> +                     interrupts = <AIC_IRQ 777 IRQ_TYPE_LEVEL_HIGH>;
> +                     usb-role-switch;
> +                     role-switch-default-mode = "host";
> +                     iommus = <&dwc3_0_dart_0 0>, <&dwc3_0_dart_1 1>;
> +                     power-domains = <&ps_atc0_usb>;
>               };
>  
> -             pcie0_dart_0: iommu@681008000 {
> -                     compatible = "apple,t8103-dart", "apple,dart-m1";
> -                     reg = <0x6 0x81008000 0x0 0x4000>;
> +             dwc3_1_dart_0: iommu@502f00000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x5 0x02f00000 0x0 0x4000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>;
> +                     interrupts = <AIC_IRQ 861 IRQ_TYPE_LEVEL_HIGH>;
>                       #iommu-cells = <1>;
> -                     status = "disabled";
> +                     power-domains = <&ps_atc1_usb>;
>               };
>  
> -             pcie0_dart_1: iommu@682008000 {
> -                     compatible = "apple,t8103-dart", "apple,dart-m1";
> -                     reg = <0x6 0x82008000 0x0 0x4000>;
> +             dwc3_1_dart_1: iommu@502f80000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x5 0x02f80000 0x0 0x4000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>;
> +                     interrupts = <AIC_IRQ 861 IRQ_TYPE_LEVEL_HIGH>;
>                       #iommu-cells = <1>;
> -                     status = "disabled";
> +                     power-domains = <&ps_atc1_usb>;
>               };
>  
> -             pcie0_dart_2: iommu@683008000 {
> -                     compatible = "apple,t8103-dart", "apple,dart-m1";
> -                     reg = <0x6 0x83008000 0x0 0x4000>;
> +             dwc3_1: usb@b02280000 {
> +                     compatible = "apple,t8103-dwc3", "apple,dwc3", 
> "snps,dwc3";
> +                     reg = <0x5 0x02280000 0x0 0x100000>;
>                       interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>;
> +                     interrupts = <AIC_IRQ 857 IRQ_TYPE_LEVEL_HIGH>;
> +                     usb-role-switch;
> +                     role-switch-default-mode = "host";
> +                     iommus = <&dwc3_1_dart_0 0>, <&dwc3_1_dart_1 1>;
> +                     power-domains = <&ps_atc1_usb>;
> +             };
> +
> +             pcie0_dart_0: dart@681008000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x6 0x81008000 0x0 0x4000>;
>                       #iommu-cells = <1>;
> -                     status = "disabled";
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>;
> +                     power-domains = <&ps_apcie_gp>;
>               };
>  
> -             smc_mbox: mbox@23e400000 {
> -                     compatible = "apple,iop-mailbox-m1";
> -                     reg = <0x2 0x3e400000 0x0 0x20000>;
> -                     #mbox-cells = <1>;
> -                     endpoints = <32>;
> +             pcie0_dart_1: dart@682008000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x6 0x82008000 0x0 0x4000>;
> +                     #iommu-cells = <1>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>;
> +                     power-domains = <&ps_apcie_gp>;
>               };
>  
> -             smc: smc@23e050000 {
> -                     compatible = "apple,smc-m1";
> -                     reg = <0x2 0x3e050000 0x0 0x4000>;
> -                     mboxes = <&smc_mbox 32>;
> -                     gpio-controller;
> -                     #gpio-cells = <2>;
> -                     gpio-13 = <0x00800000>;
> +             pcie0_dart_2: dart@683008000 {
> +                     compatible = "apple,t8103-dart";
> +                     reg = <0x6 0x83008000 0x0 0x4000>;
> +                     #iommu-cells = <1>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>;
> +                     power-domains = <&ps_apcie_gp>;
>               };
>  
>               pcie0: pcie@690000000 {
>                       compatible = "apple,t8103-pcie", "apple,pcie";
> +                     device_type = "pci";
>  
>                       reg = <0x6 0x90000000 0x0 0x1000000>,
> -                           <0x6 0x80000000 0x0 0x4000>,
> -                           <0x6 0x81000000 0x0 0x8000>,
> -                           <0x6 0x82000000 0x0 0x8000>,
> -                           <0x6 0x83000000 0x0 0x8000>;
> +                           <0x6 0x80000000 0x0 0x100000>,
> +                           <0x6 0x81000000 0x0 0x4000>,
> +                           <0x6 0x82000000 0x0 0x4000>,
> +                           <0x6 0x83000000 0x0 0x4000>;
>                       reg-names = "config", "rc", "port0", "port1", "port2";
>  
>                       interrupt-parent = <&aic>;
> @@ -460,6 +506,7 @@
>                       msi-parent = <&pcie0>;
>                       msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>;
>  
> +
>                       iommu-map = <0x100 &pcie0_dart_0 1 1>,
>                                   <0x200 &pcie0_dart_1 1 1>,
>                                   <0x300 &pcie0_dart_2 1 1>;
> @@ -468,96 +515,104 @@
>                       bus-range = <0 3>;
>                       #address-cells = <3>;
>                       #size-cells = <2>;
> -                     ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000
> -                               0x0 0x20000000>,
> -                              <0x02000000 0x0 0xc0000000 0x6 0xc0000000
> -                               0x0 0x40000000>;
> +                     ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 
> 0x20000000>,
> +                              <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 
> 0x40000000>;
>  
> -                     power-domains = <&ps_apcie>, <&ps_apcie_gp>, 
> <&ps_pcie_ref>;
> +                     power-domains = <&ps_apcie_gp>;
>                       pinctrl-0 = <&pcie_pins>;
>                       pinctrl-names = "default";
>  
> -                     device_type = "pci";
> -                     status = "disabled";
> -             };
> +                     port00: pci@0,0 {
> +                             device_type = "pci";
> +                             reg = <0x0 0x0 0x0 0x0 0x0>;
> +                             reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>;
> +                             max-link-speed = <2>;
>  
> -             dwc3_0_dart_0: iommu@382f00000 {
> -                     compatible = "apple,t8103-dart";
> -                     reg = <0x3 0x82f00000 0x0 0x4000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>;
> -                     #iommu-cells = <1>;
> -                     status = "disabled";
> -             };
> +                             #address-cells = <3>;
> +                             #size-cells = <2>;
> +                             ranges;
>  
> -             dwc3_0_dart_1: iommu@382f80000 {
> -                     compatible = "apple,t8103-dart";
> -                     reg = <0x3 0x82f80000 0x0 0x4000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>;
> -                     #iommu-cells = <1>;
> -                     status = "disabled";
> -             };
> +                             interrupt-controller;
> +                             #interrupt-cells = <1>;
>  
> -             dwc3_0: usb@382280000{
> -                     compatible = "snps,dwc3";
> -                     reg = <0x3 0x82280000 0x0 0x100000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 777 IRQ_TYPE_LEVEL_HIGH>;
> -                     dr_mode = "host";
> -                     iommus = <&dwc3_0_dart_0 0>, <&dwc3_0_dart_1 1>;
> -                     status = "disabled";
> -             };
> +                             interrupt-map-mask = <0 0 0 7>;
> +                             interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
> +                                             <0 0 0 2 &port00 0 0 0 1>,
> +                                             <0 0 0 3 &port00 0 0 0 2>,
> +                                             <0 0 0 4 &port00 0 0 0 3>;
> +                     };
>  
> -             dwc3_1_dart_0: iommu@502f00000 {
> -                     compatible = "apple,t8103-dart";
> -                     reg = <0x5 0x02f00000 0x0 0x4000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 861 IRQ_TYPE_LEVEL_HIGH>;
> -                     #iommu-cells = <1>;
> -                     status = "disabled";
> -             };
> +                     port01: pci@1,0 {
> +                             device_type = "pci";
> +                             reg = <0x800 0x0 0x0 0x0 0x0>;
> +                             reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>;
> +                             max-link-speed = <2>;
>  
> -             dwc3_1_dart_1: iommu@502f80000 {
> -                     compatible = "apple,t8103-dart";
> -                     reg = <0x5 0x02f80000 0x0 0x4000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 861 IRQ_TYPE_LEVEL_HIGH>;
> -                     #iommu-cells = <1>;
> -                     status = "disabled";
> -             };
> +                             #address-cells = <3>;
> +                             #size-cells = <2>;
> +                             ranges;
>  
> -             dwc3_1: usb@502280000{
> -                     compatible = "snps,dwc3";
> -                     reg = <0x5 0x02280000 0x0 0x100000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 857 IRQ_TYPE_LEVEL_HIGH>;
> -                     dr_mode = "host";
> -                     iommus = <&dwc3_1_dart_0 0>, <&dwc3_1_dart_1 1>;
> -                     status = "disabled";
> -             };
> +                             interrupt-controller;
> +                             #interrupt-cells = <1>;
>  
> -             spi@23510c000 {
> -                     compatible = "apple,t8103-spi", "apple,spi";
> -                     reg = <0x2 0x3510c000 0x0 0x4000>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 617 IRQ_TYPE_LEVEL_HIGH>;
> -                     cs-gpios = <&pinctrl_ap 49 GPIO_ACTIVE_HIGH>;
> -             };
> +                             interrupt-map-mask = <0 0 0 7>;
> +                             interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
> +                                             <0 0 0 2 &port01 0 0 0 1>,
> +                                             <0 0 0 3 &port01 0 0 0 2>,
> +                                             <0 0 0 4 &port01 0 0 0 3>;
> +                     };
>  
> -             spmi@23d0d8000 {
> -                     compatible = "apple,t8103-spmi", "apple,spmi";
> -                     reg = <0x2 0x3d0d9300 0x0 0x100>;
> -                     interrupt-parent = <&aic>;
> -                     interrupts = <AIC_IRQ 343 IRQ_TYPE_LEVEL_HIGH>;
> +                     port02: pci@2,0 {
> +                             device_type = "pci";
> +                             reg = <0x1000 0x0 0x0 0x0 0x0>;
> +                             reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>;
> +                             max-link-speed = <1>;
>  
> -                     #address-cells = <2>;
> -                     #size-cells = <0>;
> +                             #address-cells = <3>;
> +                             #size-cells = <2>;
> +                             ranges;
>  
> -                     pmu@f {
> -                             compatible = "apple,sera-pmu";
> -                             reg = <0xf SPMI_USID>;
> +                             interrupt-controller;
> +                             #interrupt-cells = <1>;
> +
> +                             interrupt-map-mask = <0 0 0 7>;
> +                             interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
> +                                             <0 0 0 2 &port02 0 0 0 1>,
> +                                             <0 0 0 3 &port02 0 0 0 2>,
> +                                             <0 0 0 4 &port02 0 0 0 3>;
>                       };
>               };
> +             ans: mbox@277408000 {
> +                     compatible = "apple,t8103-asc-mailbox";
> +                     reg = <0x2 0x77408000 0x0 0x4000>;
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>,
> +                             <AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>,
> +                             <AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>,
> +                             <AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>;
> +                     interrupt-names = "send-empty", "send-not-empty",
> +                             "recv-empty", "recv-not-empty";
> +                     #mbox-cells = <0>;
> +                     power-domains = <&ps_ans2>;
> +             };
> +
> +             sart: sart@27bc50000 {
> +                     compatible = "apple,t8103-sart";
> +                     reg = <0x2 0x7bc50000 0x0 0x10000>;
> +                     power-domains = <&ps_ans2>;
> +             };
> +
> +             ans2: nvme@27bcc0000 {
> +                     compatible = "apple,t8103-ans-nvme", "apple,nvme-m1";
> +                     reg = <0x2 0x7bcc0000 0x0 0x40000>, <0x2 0x77400000 0x0 
> 0x4000>;
> +                     reg-names = "nvme", "coproc";
> +                     interrupt-parent = <&aic>;
> +                     interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
> +                     mboxes = <&ans>;
> +                     apple,sart = <&sart>;
> +                     power-domains = <&ps_ans2>;
> +              };
>       };
>  };
> +
> +#include "t8103-pmgr.dtsi"

Reply via email to