diff mbox

[v6] ARM: shmobile: armadillo800eva-reference: add SDHI and MMCIF interfaces

Message ID Pine.LNX.4.64.1309270957470.23205@axis700.grange (mailing list archive)
State Superseded
Commit e99d7963e0b9469f16f434a5a68a7cba3004a2df
Headers show

Commit Message

Guennadi Liakhovetski Sept. 27, 2013, 8:02 a.m. UTC
Add SDHI0 and MMCIF interfaces to armadillo800eva-reference with
regulators and pin configurations. SDHI1 is not added yet, because the
switch, that connects the interface either to an SD slot or to a WiFi
SDIO card cannot be described in DT yet.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
---

v6: specify a CD GPIO for SDHI0

 .../boot/dts/r8a7740-armadillo800eva-reference.dts |   58 ++++++++++++++++++++
 arch/arm/boot/dts/r8a7740.dtsi                     |   33 +++++++++++
 2 files changed, 91 insertions(+), 0 deletions(-)

Comments

Laurent Pinchart Sept. 28, 2013, 1:33 a.m. UTC | #1
Hi Guennadi,

Thank you for the patch.

On Friday 27 September 2013 10:02:57 Guennadi Liakhovetski wrote:
> Add SDHI0 and MMCIF interfaces to armadillo800eva-reference with
> regulators and pin configurations. SDHI1 is not added yet, because the
> switch, that connects the interface either to an SD slot or to a WiFi
> SDIO card cannot be described in DT yet.
> 
> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> 
> v6: specify a CD GPIO for SDHI0
> 
>  .../boot/dts/r8a7740-armadillo800eva-reference.dts |   58 +++++++++++++++++
>  arch/arm/boot/dts/r8a7740.dtsi                     |   33 +++++++++++
>  2 files changed, 91 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts index
> 8b2aab5..1c56c5e 100644
> --- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> @@ -35,6 +35,33 @@
>  		regulator-boot-on;
>  	};
> 
> +	vcc_sdhi0: regulator@1 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "SDHI0 Vcc";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +	};
> +
> +	vccq_sdhi0: regulator@2 {
> +		compatible = "regulator-gpio";
> +
> +		regulator-name = "SDHI0 VccQ";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&vcc_sdhi0>;
> +
> +		enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
> +		gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
> +		states = <3300000 0
> +			  1800000 1>;
> +
> +		enable-active-high;
> +	};
> +
>  	leds {
>  		compatible = "gpio-leds";
>  		led1 {
> @@ -92,8 +119,39 @@
>  		renesas,groups = "tpu0_to2_1";
>  		renesas,function = "tpu0";
>  	};
> +
> +	mmc0_pins: mmc0 {
> +		renesas,groups = "mmc0_data8_1", "mmc0_ctrl_1";
> +		renesas,function = "mmc0";
> +	};
> +
> +	sdhi0_pins: sdhi0 {
> +		renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
> +		renesas,function = "sdhi0";
> +	};
>  };
> 
>  &tpu {
>  	status = "okay";
>  };
> +
> +&mmcif0 {
> +	pinctrl-0 = <&mmc0_pins>;
> +	pinctrl-names = "default";
> +
> +	vmmc-supply = <&reg_3p3v>;
> +	bus-width = <8>;
> +	non-removable;
> +	status = "okay";
> +};
> +
> +&sdhi0 {
> +	pinctrl-0 = <&sdhi0_pins>;
> +	pinctrl-names = "default";
> +
> +	vmmc-supply = <&vcc_sdhi0>;
> +	vqmmc-supply = <&vccq_sdhi0>;
> +	bus-width = <4>;
> +	cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
> index 868bdde..ae1e230 100644
> --- a/arch/arm/boot/dts/r8a7740.dtsi
> +++ b/arch/arm/boot/dts/r8a7740.dtsi
> @@ -161,4 +161,37 @@
>  		status = "disabled";
>  		#pwm-cells = <3>;
>  	};
> +
> +	mmcif0: mmcif@e6bd0000 {
> +		compatible = "renesas,sh-mmcif";
> +		reg = <0xe6bd0000 0x100>;
> +		interrupt-parent = <&gic>;
> +		interrupts = <0 56 4
> +				0 57 4>;
> +		status = "disabled";
> +	};
> +
> +	sdhi0: sdhi@e6850000 {
> +		compatible = "renesas,sdhi-r8a7740";
> +		reg = <0xe6850000 0x100>;
> +		interrupt-parent = <&gic>;
> +		interrupts = <0 117 4
> +				0 118 4
> +				0 119 4>;
> +		cap-sd-highspeed;
> +		cap-sdio-irq;
> +		status = "disabled";
> +	};
> +
> +	sdhi1: sdhi@e6860000 {
> +		compatible = "renesas,sdhi-r8a7740";
> +		reg = <0xe6860000 0x100>;
> +		interrupt-parent = <&gic>;
> +		interrupts = <0 121 4
> +				0 122 4
> +				0 123 4>;
> +		cap-sd-highspeed;
> +		cap-sdio-irq;
> +		status = "disabled";
> +	};
>  };
Simon Horman Sept. 30, 2013, 12:56 a.m. UTC | #2
On Sat, Sep 28, 2013 at 03:33:07AM +0200, Laurent Pinchart wrote:
> Hi Guennadi,
> 
> Thank you for the patch.
> 
> On Friday 27 September 2013 10:02:57 Guennadi Liakhovetski wrote:
> > Add SDHI0 and MMCIF interfaces to armadillo800eva-reference with
> > regulators and pin configurations. SDHI1 is not added yet, because the
> > switch, that connects the interface either to an SD slot or to a WiFi
> > SDIO card cannot be described in DT yet.
> > 
> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
> 
> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Thanks, I have queued this up for v3.13.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
index 8b2aab5..1c56c5e 100644
--- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
+++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
@@ -35,6 +35,33 @@ 
 		regulator-boot-on;
 	};
 
+	vcc_sdhi0: regulator@1 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "SDHI0 Vcc";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
+	vccq_sdhi0: regulator@2 {
+		compatible = "regulator-gpio";
+
+		regulator-name = "SDHI0 VccQ";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc_sdhi0>;
+
+		enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
+		gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
+		states = <3300000 0
+			  1800000 1>;
+
+		enable-active-high;
+	};
+
 	leds {
 		compatible = "gpio-leds";
 		led1 {
@@ -92,8 +119,39 @@ 
 		renesas,groups = "tpu0_to2_1";
 		renesas,function = "tpu0";
 	};
+
+	mmc0_pins: mmc0 {
+		renesas,groups = "mmc0_data8_1", "mmc0_ctrl_1";
+		renesas,function = "mmc0";
+	};
+
+	sdhi0_pins: sdhi0 {
+		renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
+		renesas,function = "sdhi0";
+	};
 };
 
 &tpu {
 	status = "okay";
 };
+
+&mmcif0 {
+	pinctrl-0 = <&mmc0_pins>;
+	pinctrl-names = "default";
+
+	vmmc-supply = <&reg_3p3v>;
+	bus-width = <8>;
+	non-removable;
+	status = "okay";
+};
+
+&sdhi0 {
+	pinctrl-0 = <&sdhi0_pins>;
+	pinctrl-names = "default";
+
+	vmmc-supply = <&vcc_sdhi0>;
+	vqmmc-supply = <&vccq_sdhi0>;
+	bus-width = <4>;
+	cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index 868bdde..ae1e230 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -161,4 +161,37 @@ 
 		status = "disabled";
 		#pwm-cells = <3>;
 	};
+
+	mmcif0: mmcif@e6bd0000 {
+		compatible = "renesas,sh-mmcif";
+		reg = <0xe6bd0000 0x100>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 56 4
+				0 57 4>;
+		status = "disabled";
+	};
+
+	sdhi0: sdhi@e6850000 {
+		compatible = "renesas,sdhi-r8a7740";
+		reg = <0xe6850000 0x100>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 117 4
+				0 118 4
+				0 119 4>;
+		cap-sd-highspeed;
+		cap-sdio-irq;
+		status = "disabled";
+	};
+
+	sdhi1: sdhi@e6860000 {
+		compatible = "renesas,sdhi-r8a7740";
+		reg = <0xe6860000 0x100>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 121 4
+				0 122 4
+				0 123 4>;
+		cap-sd-highspeed;
+		cap-sdio-irq;
+		status = "disabled";
+	};
 };