diff mbox

[v4,4/4] ARM: dts: Specify VMMC and VQMMC on rk3288-evb

Message ID 1426112117-18220-4-git-send-email-dianders@chromium.org (mailing list archive)
State New, archived
Headers show

Commit Message

Doug Anderson March 11, 2015, 10:15 p.m. UTC
Specifying these rails should eventually let us do UHS.

Signed-off-by: Doug Anderson <dianders@chromium.org>
---
Changes in v4:
- Add vcc_sd regulator which is present on EVB 2.0 boards

Changes in v3: None
Changes in v2:
- Fix subject line

 arch/arm/boot/dts/rk3288-evb.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Heiko Stuebner March 11, 2015, 11:30 p.m. UTC | #1
Am Mittwoch, 11. März 2015, 15:15:17 schrieb Doug Anderson:
> Specifying these rails should eventually let us do UHS.
> 
> Signed-off-by: Doug Anderson <dianders@chromium.org>

This one looks good to me and I'll take it into my dts branch.

But due to the deferal issue fixed in patch1, I'll wait a bit for patch1 
hopefully getting applied, so that we have a "clean" behaviour when everything 
reaches linux-next.

> ---
> Changes in v4:
> - Add vcc_sd regulator which is present on EVB 2.0 boards
> 
> Changes in v3: None
> Changes in v2:
> - Fix subject line
> 
>  arch/arm/boot/dts/rk3288-evb.dtsi | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi
> b/arch/arm/boot/dts/rk3288-evb.dtsi index 5e895a5..6d4ae9f 100644
> --- a/arch/arm/boot/dts/rk3288-evb.dtsi
> +++ b/arch/arm/boot/dts/rk3288-evb.dtsi
> @@ -103,6 +103,23 @@
>  		regulator-always-on;
>  		regulator-boot-on;
>  	};
> +
> +	/*
> +	 * NOTE: vcc_sd isn't hooked up on v1.0 boards where power comes from
> +	 * vcc_io directly.  Those boards won't be able to power cycle SD cards
> +	 * but it shouldn't hurt to toggle this pin there anyway.
> +	 */
> +	vcc_sd: sdmmc-regulator {
> +		compatible = "regulator-fixed";
> +		gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&sdmmc_pwr>;
> +		regulator-name = "vcc_sd";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		startup-delay-us = <100000>;
> +		vin-supply = <&vcc_io>;
> +	};
>  };
> 
>  &emmc {
> @@ -132,6 +149,8 @@
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
>  	status = "okay";
> +	vmmc-supply = <&vcc_sd>;
> +	vqmmc-supply = <&vccio_sd>;
>  };
> 
>  &i2c0 {
> @@ -223,6 +242,10 @@
>  		sdmmc_cmd: sdmmc-cmd {
>  			rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
>  		};
> +
> +		sdmmc_pwr: sdmmc-pwr {
> +			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
>  	};
> 
>  	usb {
Heiko Stuebner April 7, 2015, 9:37 p.m. UTC | #2
Am Donnerstag, 12. März 2015, 00:30:14 schrieb Heiko Stuebner:
> Am Mittwoch, 11. März 2015, 15:15:17 schrieb Doug Anderson:
> > Specifying these rails should eventually let us do UHS.
> > 
> > Signed-off-by: Doug Anderson <dianders@chromium.org>
> 
> This one looks good to me and I'll take it into my dts branch.
> 
> But due to the deferal issue fixed in patch1, I'll wait a bit for patch1
> hopefully getting applied, so that we have a "clean" behaviour when
> everything reaches linux-next.

looks like patch1 made it into the mmc tree [0], which was the prequisite for 
this one. Therefore applied to my dts branch.


Heiko


[0] 
https://git.linaro.org/people/ulf.hansson/mmc.git/commit/b793f658b194edfe5e1d86aaeace01a7b03c68f9
diff mbox

Patch

diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi
index 5e895a5..6d4ae9f 100644
--- a/arch/arm/boot/dts/rk3288-evb.dtsi
+++ b/arch/arm/boot/dts/rk3288-evb.dtsi
@@ -103,6 +103,23 @@ 
 		regulator-always-on;
 		regulator-boot-on;
 	};
+
+	/*
+	 * NOTE: vcc_sd isn't hooked up on v1.0 boards where power comes from
+	 * vcc_io directly.  Those boards won't be able to power cycle SD cards
+	 * but it shouldn't hurt to toggle this pin there anyway.
+	 */
+	vcc_sd: sdmmc-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdmmc_pwr>;
+		regulator-name = "vcc_sd";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		startup-delay-us = <100000>;
+		vin-supply = <&vcc_io>;
+	};
 };
 
 &emmc {
@@ -132,6 +149,8 @@ 
 	pinctrl-names = "default";
 	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
 	status = "okay";
+	vmmc-supply = <&vcc_sd>;
+	vqmmc-supply = <&vccio_sd>;
 };
 
 &i2c0 {
@@ -223,6 +242,10 @@ 
 		sdmmc_cmd: sdmmc-cmd {
 			rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
 		};
+
+		sdmmc_pwr: sdmmc-pwr {
+			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
 	};
 
 	usb {