diff mbox

arm64: dts: rockchip: Provide power-domains for sd/sdio/emmc controllers

Message ID 1470040874-17256-1-git-send-email-shawn.lin@rock-chips.com
State New
Headers show

Commit Message

Shawn Lin Aug. 1, 2016, 8:41 a.m. UTC
The PM domain will be "powered on" once we have registered our PM domain
with genpd and when the device (dw_mmc etc) gets attached to the domain.
The attach occurs when the platform bus'->probe() function get invoked
for the device.

Due to this, we should be able to deploy genpd support by adding the
phandle of related power-domains without first having to deploying
runtime PM support in the related drivers.

Let's do this in case of taking risk of accessing controller when the
genpd is in "power off" status as the genpd will turn off all the
power domains which are the referenced by drivers.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---

 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 3 +++
 1 file changed, 3 insertions(+)

Comments

Heiko Stübner Aug. 3, 2016, 12:07 p.m. UTC | #1
Hi Shawn,

Am Montag, 1. August 2016, 16:41:14 schrieb Shawn Lin:
> The PM domain will be "powered on" once we have registered our PM domain
> with genpd and when the device (dw_mmc etc) gets attached to the domain.
> The attach occurs when the platform bus'->probe() function get invoked
> for the device.
> 
> Due to this, we should be able to deploy genpd support by adding the
> phandle of related power-domains without first having to deploying
> runtime PM support in the related drivers.
> 
> Let's do this in case of taking risk of accessing controller when the
> genpd is in "power off" status as the genpd will turn off all the
> power domains which are the referenced by drivers.
> 
> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>

you're missing the subnodes below power: power-controller defining the power-
domains, - including the needed clocks. Thus currently you end up defering 
probe of the emmc and friends indefinitly.

Ideally do it in this patch together with the assignment.

Thanks
Heiko
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 80acb38..dde781f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -209,6 +209,7 @@ 
 			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
 		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 		fifo-depth = <0x100>;
+		power-domains = <&power RK3399_PD_SDIOAUDIO>;
 		status = "disabled";
 	};
 
@@ -222,6 +223,7 @@ 
 			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
 		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
 		fifo-depth = <0x100>;
+		power-domains = <&power RK3399_PD_SD>;
 		status = "disabled";
 	};
 
@@ -238,6 +240,7 @@ 
 		#clock-cells = <0>;
 		phys = <&emmc_phy>;
 		phy-names = "phy_arasan";
+		power-domains = <&power RK3399_PD_EMMC>;
 		status = "disabled";
 	};