Add a node for the newly implemented power domain controller. Also add the first two power domain consumers: IOMMU (fixes probing) and framebuffer.
Signed-off-by: Duje Mihanović <d...@dujemihanovic.xyz> --- .../marvell/mmp/pxa1908-samsung-coreprimevelte.dts | 1 + arch/arm64/boot/dts/marvell/mmp/pxa1908.dtsi | 36 +++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts index 47a4f01a7077bfafe2cc50d0e59c37685ec9c2e9..2f175ae48c6a2371c407b3a6ffd3cdd577f44e56 100644 --- a/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts +++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908-samsung-coreprimevelte.dts @@ -23,6 +23,7 @@ chosen { fb0: framebuffer@17177000 { compatible = "simple-framebuffer"; reg = <0 0x17177000 0 (480 * 800 * 4)>; + power-domains = <&pd PXA1908_POWER_DOMAIN_DSI>; width = <480>; height = <800>; stride = <(480 * 4)>; diff --git a/arch/arm64/boot/dts/marvell/mmp/pxa1908.dtsi b/arch/arm64/boot/dts/marvell/mmp/pxa1908.dtsi index cf2b9109688ce560eec8a1397251ead68d78a239..630e99f2c309dca0872d824a098ac93b6e55c3a4 100644 --- a/arch/arm64/boot/dts/marvell/mmp/pxa1908.dtsi +++ b/arch/arm64/boot/dts/marvell/mmp/pxa1908.dtsi @@ -3,6 +3,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/clock/marvell,pxa1908.h> +#include <dt-bindings/power/marvell,pxa1908-power.h> / { model = "Marvell Armada PXA1908"; @@ -79,6 +80,7 @@ smmu: iommu@c0010000 { #iommu-cells = <1>; interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&pd PXA1908_POWER_DOMAIN_VPU>; status = "disabled"; }; @@ -291,9 +293,41 @@ sdh2: mmc@81000 { }; apmu: clock-controller@82800 { - compatible = "marvell,pxa1908-apmu"; + compatible = "marvell,pxa1908-apmu", "simple-mfd", "syscon"; reg = <0x82800 0x400>; #clock-cells = <1>; + + pd: power-controller { + compatible = "marvell,pxa1908-power-controller"; + #address-cells = <1>; + #size-cells = <0>; + #power-domain-cells = <1>; + + power-domain@PXA1908_POWER_DOMAIN_VPU { + reg = <PXA1908_POWER_DOMAIN_VPU>; + #power-domain-cells = <0>; + }; + + power-domain@PXA1908_POWER_DOMAIN_GPU { + reg = <PXA1908_POWER_DOMAIN_GPU>; + #power-domain-cells = <0>; + }; + + power-domain@PXA1908_POWER_DOMAIN_GPU2D { + reg = <PXA1908_POWER_DOMAIN_GPU2D>; + #power-domain-cells = <0>; + }; + + power-domain@PXA1908_POWER_DOMAIN_DSI { + reg = <PXA1908_POWER_DOMAIN_DSI>; + #power-domain-cells = <0>; + }; + + power-domain@PXA1908_POWER_DOMAIN_ISP { + reg = <PXA1908_POWER_DOMAIN_ISP>; + #power-domain-cells = <0>; + }; + }; }; }; }; -- 2.50.1