// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
 * PMGR Power domains for the Apple T8112 "M2" SoC
 *
 * Copyright The Asahi Linux Contributors
 */


&pmgr {
	ps_sbr: power-controller@100 {
		compatible = "apple,t8112-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,t8112-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,t8112-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,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x118 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "soc_spmi0";
	};

	ps_gpio: power-controller@120 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x120 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "gpio";
	};

	ps_pms_busif: power-controller@128 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x128 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pms_busif";
		apple,always-on; /* Core device */
	};

	ps_pms: power-controller@130 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x130 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pms";
		apple,always-on; /* Core device */
	};

	ps_pms_c1ppt: power-controller@160 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x160 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pms_c1ppt";
		power-domains = <&ps_pms>;
	};

	ps_soc_dpe: power-controller@168 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x168 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "soc_dpe";
		apple,always-on; /* Core device */
	};

	ps_pmgr_soc_ocla: power-controller@170 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x170 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pmgr_soc_ocla";
		power-domains = <&ps_pms>;
	};

	ps_ispsens0: power-controller@178 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x178 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ispsens0";
	};

	ps_ispsens1: power-controller@180 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x180 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ispsens1";
	};

	ps_ispsens2: power-controller@188 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x188 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ispsens2";
	};

	ps_ispsens3: power-controller@190 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x190 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ispsens3";
	};

	ps_pcie_ref: power-controller@198 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x198 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pcie_ref";
	};

	ps_aft0: power-controller@1a0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1a0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "aft0";
	};

	ps_imx: power-controller@1a8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1a8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "imx";
		apple,always-on; /* Apple fabric, critical block */
	};

	ps_sio_busif: power-controller@1b0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1b0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "sio_busif";
	};

	ps_sio: power-controller@1b8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1b8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "sio";
		apple,always-on;
		power-domains = <&ps_sio_busif>;
	};

	ps_sio_cpu: power-controller@1c0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1c0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "sio_cpu";
		power-domains = <&ps_sio>;
	};

	ps_fpwm0: power-controller@1c8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1c8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "fpwm0";
		power-domains = <&ps_sio>;
	};

	ps_fpwm1: power-controller@1d0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1d0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "fpwm1";
		power-domains = <&ps_sio>;
	};

	ps_fpwm2: power-controller@1d8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1d8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "fpwm2";
		power-domains = <&ps_sio>;
	};

	ps_i2c0: power-controller@1e0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1e0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "i2c0";
		power-domains = <&ps_sio>;
	};

	ps_i2c1: power-controller@1e8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1e8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "i2c1";
		power-domains = <&ps_sio>;
	};

	ps_i2c2: power-controller@1f0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1f0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "i2c2";
		power-domains = <&ps_sio>;
	};

	ps_i2c3: power-controller@1f8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x1f8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "i2c3";
		power-domains = <&ps_sio>;
	};

	ps_i2c4: power-controller@200 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x200 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "i2c4";
		power-domains = <&ps_sio>;
	};

	ps_spi_p: power-controller@208 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x208 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi_p";
		power-domains = <&ps_sio>;
	};

	ps_uart_p: power-controller@210 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x210 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart_p";
		power-domains = <&ps_sio>;
	};

	ps_audio_p: power-controller@218 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x218 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "audio_p";
		power-domains = <&ps_sio>;
	};

	ps_aes: power-controller@220 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x220 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "aes";
		power-domains = <&ps_sio>;
	};

	ps_spi0: power-controller@228 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x228 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi0";
		power-domains = <&ps_spi_p>;
	};

	ps_spi1: power-controller@230 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x230 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi1";
		power-domains = <&ps_spi_p>;
	};

	ps_spi2: power-controller@238 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x238 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi2";
		power-domains = <&ps_spi_p>;
	};

	ps_spi3: power-controller@240 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x240 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi3";
		power-domains = <&ps_spi_p>;
	};

	ps_spi4: power-controller@248 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x248 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi4";
		power-domains = <&ps_spi_p>;
	};

	ps_spi5: power-controller@250 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x250 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "spi5";
		power-domains = <&ps_spi_p>;
	};

	ps_uart_n: power-controller@258 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x258 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart_n";
		power-domains = <&ps_uart_p>;
	};

	ps_uart0: power-controller@260 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x260 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart0";
		power-domains = <&ps_uart_p>;
	};

	ps_uart1: power-controller@268 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x268 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart1";
		power-domains = <&ps_uart_p>;
	};

	ps_uart2: power-controller@270 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x270 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart2";
		power-domains = <&ps_uart_p>;
	};

	ps_uart3: power-controller@278 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x278 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart3";
		power-domains = <&ps_uart_p>;
	};

	ps_uart4: power-controller@280 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x280 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart4";
		power-domains = <&ps_uart_p>;
	};

	ps_uart5: power-controller@288 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x288 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart5";
		power-domains = <&ps_uart_p>;
	};

	ps_uart6: power-controller@290 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x290 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart6";
		power-domains = <&ps_uart_p>;
	};

	ps_uart7: power-controller@298 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x298 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart7";
		power-domains = <&ps_uart_p>;
	};

	ps_uart8: power-controller@2a0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2a0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "uart8";
		power-domains = <&ps_uart_p>;
	};

	ps_sio_adma: power-controller@2a8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2a8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "sio_adma";
		power-domains = <&ps_spi_p>, <&ps_audio_p>;
	};

	ps_dpa0: power-controller@2b0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2b0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dpa0";
		power-domains = <&ps_audio_p>;
	};

	ps_dpa1: power-controller@2b8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2b8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dpa1";
		power-domains = <&ps_audio_p>;
	};

	ps_mca0: power-controller@2c0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2c0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca0";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mca1: power-controller@2c8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2c8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca1";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mca2: power-controller@2d0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2d0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca2";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mca3: power-controller@2d8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2d8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca3";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mca4: power-controller@2e0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2e0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca4";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mca5: power-controller@2e8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2e8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mca5";
		power-domains = <&ps_sio_adma>, <&ps_audio_p>;
	};

	ps_mcc: power-controller@2f0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2f0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mcc";
		apple,always-on; /* Memory controller */
	};

	ps_dcs0: power-controller@2f8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x2f8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs0";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs2: power-controller@300 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x300 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs2";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs1: power-controller@308 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x308 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs1";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs3: power-controller@310 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x310 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs3";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs4: power-controller@318 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x318 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs4";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs5: power-controller@320 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x320 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs5";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_dcs6: power-controller@328 {
		compatible = "apple,t8112-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@330 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x330 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dcs7";
		apple,always-on; /* LPDDR4 interface */
	};

	ps_smx0: power-controller@338 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x338 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "smx0";
		apple,always-on; /* Apple fabric, critical block */
	};

	ps_smx1: power-controller@340 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x340 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "smx1";
		apple,always-on; /* Apple fabric, critical block */
	};

	ps_apcie: power-controller@348 {
		compatible = "apple,t8112-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_rmx0: power-controller@350 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x350 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "rmx0";
		/* Apple Fabric, display/image stuff: this can power down */
	};

	ps_rmx1: power-controller@358 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x358 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "rmx1";
		/* Apple Fabric, display/image stuff: this can power down */
	};

	ps_cmx: power-controller@360 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x360 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "cmx";
		apple,always-on; /* Apple fabric, critical block */
	};

	ps_mmx: power-controller@368 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x368 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mmx";
		/* Apple Fabric, media stuff: this can power down */
	};

	ps_disp0_sys: power-controller@370 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x370 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "disp0_sys";
		power-domains = <&ps_rmx1>;
		apple,always-on; /* TODO: figure out if we can enable PM here */
	};

	ps_disp0_fe: power-controller@378 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x378 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "disp0_fe";
		power-domains = <&ps_disp0_sys>;
		apple,always-on; /* TODO: figure out if we can enable PM here */
	};

	ps_dispext_sys: power-controller@380 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x380 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dispext_sys";
		power-domains = <&ps_rmx0>;
	};

	ps_dispext_fe: power-controller@388 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x388 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dispext_fe";
		power-domains = <&ps_dispext_sys>;
	};

	ps_dispext_cpu0: power-controller@3c8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3c8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dispext_cpu0";
		power-domains = <&ps_dispext_fe>;
		apple,min-state = <4>;
	};

	ps_dptx_ext_phy: power-controller@3d8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3d8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dptx_ext_phy";
	};

	ps_dispdfr_fe: power-controller@3e0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3e0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dispdfr_fe";
		power-domains = <&ps_rmx0>;
	};

	ps_dispdfr_be: power-controller@3e8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3e8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "dispdfr_be";
		power-domains = <&ps_dispdfr_fe>;
	};

	ps_mipi_dsi: power-controller@3f0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3f0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "mipi_dsi";
		power-domains = <&ps_dispdfr_be>;
	};

	ps_jpg: power-controller@3f8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x3f8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "jpg";
		power-domains = <&ps_cmx>;
	};

	ps_apcie_gp: power-controller@400 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x400 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "apcie_gp";
		power-domains = <&ps_apcie>;
		apple,always-on; /* Breaks things if shut down */
	};

	ps_msr: power-controller@408 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x408 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "msr";
		power-domains = <&ps_imx>;
	};

	ps_pmp: power-controller@410 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x410 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pmp";
		apple,always-on;
	};

	ps_pms_sram: power-controller@418 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x418 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "pms_sram";
		apple,always-on;
	};

	ps_msr_ase_core: power-controller@420 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x420 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "msr_ase_core";
		power-domains = <&ps_msr>;
	};

	ps_ans: power-controller@428 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x428 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ans";
		power-domains = <&ps_imx>;
	};

	ps_gfx: power-controller@430 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x430 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "gfx";
	};

	ps_isp_sys: power-controller@438 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x438 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "isp_sys";
		power-domains = <&ps_rmx1>;
	};

	ps_venc_sys: power-controller@440 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x440 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "venc_sys";
		power-domains = <&ps_rmx1>;
	};

	ps_avd_sys: power-controller@448 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x448 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "avd_sys";
		power-domains = <&ps_mmx>;
	};

	ps_apcie_st: power-controller@450 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x450 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "apcie_st";
		power-domains = <&ps_apcie>, <&ps_ans>;
	};

	ps_atc0_common: power-controller@458 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x458 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_common";
		power-domains = <&ps_imx>;
	};

	ps_atc0_pcie: power-controller@460 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x460 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_pcie";
		power-domains = <&ps_atc0_common>;
	};

	ps_atc0_cio: power-controller@468 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x468 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_cio";
		power-domains = <&ps_atc0_common>;
	};

	ps_atc0_cio_pcie: power-controller@470 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x470 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_cio_pcie";
		power-domains = <&ps_atc0_cio>;
	};

	ps_atc0_cio_usb: power-controller@478 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x478 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_cio_usb";
		power-domains = <&ps_atc0_cio>;
	};

	ps_atc1_common: power-controller@480 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x480 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_common";
		power-domains = <&ps_rmx0>;
	};

	ps_atc1_pcie: power-controller@488 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x488 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_pcie";
		power-domains = <&ps_atc1_common>;
	};

	ps_atc1_cio: power-controller@490 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x490 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_cio";
		power-domains = <&ps_atc1_common>;
	};

	ps_atc1_cio_pcie: power-controller@498 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x498 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_cio_pcie";
		power-domains = <&ps_atc1_cio>;
	};

	ps_atc1_cio_usb: power-controller@4a0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x4a0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_cio_usb";
		power-domains = <&ps_atc1_cio>;
	};

	ps_ane_sys: power-controller@4a8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x4a8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "ane_sys";
		power-domains = <&ps_mmx>;
	};

	ps_scodec: power-controller@4b0 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x4b0 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "scodec";
		power-domains = <&ps_rmx0>;
	};

	ps_sep: power-controller@c00 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0xc00 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "sep";
		apple,always-on;
	};

	ps_venc_dma: power-controller@8000 {
		compatible = "apple,t8112-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,t8112-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,t8112-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,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x8018 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "venc_me0";
		power-domains = <&ps_venc_pipe5>, <&ps_venc_pipe4>;
	};

	ps_venc_me1: power-controller@8020 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x8020 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "venc_me1";
		power-domains = <&ps_venc_pipe5>, <&ps_venc_pipe4>;
	};

	ps_disp0_cpu0: power-controller@10000 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x10000 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "disp0_cpu0";
		power-domains = <&ps_disp0_fe>;
		apple,min-state = <4>;
	};
};

&pmgr_mini {

	ps_debug_gated: power-controller@58 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x58 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "debug_gated";
		apple,always-on; /* Core AON device */
	};

	ps_nub_spmi0: power-controller@60 {
		compatible = "apple,t8112-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_spmi1: power-controller@68 {
		compatible = "apple,t8112-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_nub_aon: power-controller@70 {
		compatible = "apple,t8112-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_msg: power-controller@78 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x78 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "msg";
	};

	ps_nub_gpio: power-controller@80 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x80 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "nub_gpio";
		apple,always-on;
	};

	ps_atc0_usb_aon: power-controller@88 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x88 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc0_usb_aon";
		apple,always-on; /* Needs to stay on for dwc3 to work */
	};

	ps_atc1_usb_aon: power-controller@90 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0x90 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "atc1_usb_aon";
		apple,always-on; /* Needs to stay on for dwc3 to work */
	};

	ps_atc0_usb: power-controller@98 {
		compatible = "apple,t8112-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,t8112-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>;
	};

	ps_nub_fabric: power-controller@a8 {
		compatible = "apple,t8112-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,t8112-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_switch: power-controller@b8 {
		compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
		reg = <0xb8 4>;
		#power-domain-cells = <0>;
		#reset-cells = <0>;
		label = "debug_switch";
		apple,always-on; /* Core AON device */
	};
};
