diff mbox

[7/7] ARM: dts: Enable emmc on hp t410

Message ID 1449192335-10137-8-git-send-email-tony@atomide.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tony Lindgren Dec. 4, 2015, 1:25 a.m. UTC
There's a 2GB emmc on hp t410 that's wired to the sd_2 interface.
Note that we also need to configure the evtmux using edma_xbar for
edma channels.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/dm8148-t410.dts | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Peter Ujfalusi Dec. 4, 2015, 9:20 a.m. UTC | #1
On 12/04/2015 03:25 AM, Tony Lindgren wrote:
> There's a 2GB emmc on hp t410 that's wired to the sd_2 interface.
> Note that we also need to configure the evtmux using edma_xbar for
> edma channels.
> 
> Signed-off-by: Tony Lindgren <tony@atomide.com>

One question inlined for the mmc3, other than that:
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> ---
>  arch/arm/boot/dts/dm8148-t410.dts | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/dm8148-t410.dts b/arch/arm/boot/dts/dm8148-t410.dts
> index 79838dd..d1927a7 100644
> --- a/arch/arm/boot/dts/dm8148-t410.dts
> +++ b/arch/arm/boot/dts/dm8148-t410.dts
> @@ -15,6 +15,13 @@
>  		device_type = "memory";
>  		reg = <0x80000000 0x40000000>;	/* 1 GB */
>  	};
> +
> +	vmmcsd_fixed: fixedregulator@0 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vmmcsd_fixed";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +	};
>  };
>  
>  &cpsw_emac0 {
> @@ -26,3 +33,31 @@
>  	phy_id = <&davinci_mdio>, <1>;
>  	phy-mode = "rgmii";
>  };
> +
> +&mmc3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&sd2_pins>;
> +	vmmc-supply = <&vmmcsd_fixed>;
> +	bus-width = <8>;
> +	dmas = <&edma_xbar 8 0 1	/* use SDTXEVT1 instead of MCASP0TX */
> +		&edma_xbar 9 0 2>;	/* use SDRXEVT1 instead of MCASP0RX */
> +	dma-names = "tx", "rx";

Do you happened to know how the audio is connected on the board?
The DM814x-EVM seams to be using McASP2 with aic3106 so it is possible that HP
copied the design from there...

> +};
> +
> +&pincntl {
> +	sd2_pins: pinmux_sd2_pins {
> +		pinctrl-single,pins = <
> +			DM814X_IOPAD(0x09c0, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[7] */
> +			DM814X_IOPAD(0x09c4, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[6] */
> +			DM814X_IOPAD(0x09c8, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[5] */
> +			DM814X_IOPAD(0x09cc, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[4] */
> +			DM814X_IOPAD(0x09d0, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[3] */
> +			DM814X_IOPAD(0x09d4, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[2] */
> +			DM814X_IOPAD(0x09d8, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[1] */
> +			DM814X_IOPAD(0x09dc, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[0] */
> +			DM814X_IOPAD(0x09e0, PIN_INPUT | 0x1)		/* SD2_CLK */
> +			DM814X_IOPAD(0x09f4, PIN_INPUT_PULLUP | 0x2)	/* SD2_CMD */
> +			DM814X_IOPAD(0x0920, PIN_INPUT | 40)	/* SD2_SDCD */
> +			>;
> +	};
> +};
>
Tony Lindgren Dec. 4, 2015, 4 p.m. UTC | #2
* Peter Ujfalusi <peter.ujfalusi@ti.com> [151204 01:21]:
> On 12/04/2015 03:25 AM, Tony Lindgren wrote:
> > There's a 2GB emmc on hp t410 that's wired to the sd_2 interface.
> > Note that we also need to configure the evtmux using edma_xbar for
> > edma channels.
> > 
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> One question inlined for the mmc3, other than that:
> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> 
> > ---
> >  arch/arm/boot/dts/dm8148-t410.dts | 35 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/dm8148-t410.dts b/arch/arm/boot/dts/dm8148-t410.dts
> > index 79838dd..d1927a7 100644
> > --- a/arch/arm/boot/dts/dm8148-t410.dts
> > +++ b/arch/arm/boot/dts/dm8148-t410.dts
> > @@ -15,6 +15,13 @@
> >  		device_type = "memory";
> >  		reg = <0x80000000 0x40000000>;	/* 1 GB */
> >  	};
> > +
> > +	vmmcsd_fixed: fixedregulator@0 {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "vmmcsd_fixed";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +	};
> >  };
> >  
> >  &cpsw_emac0 {
> > @@ -26,3 +33,31 @@
> >  	phy_id = <&davinci_mdio>, <1>;
> >  	phy-mode = "rgmii";
> >  };
> > +
> > +&mmc3 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&sd2_pins>;
> > +	vmmc-supply = <&vmmcsd_fixed>;
> > +	bus-width = <8>;
> > +	dmas = <&edma_xbar 8 0 1	/* use SDTXEVT1 instead of MCASP0TX */
> > +		&edma_xbar 9 0 2>;	/* use SDRXEVT1 instead of MCASP0RX */
> > +	dma-names = "tx", "rx";
> 
> Do you happened to know how the audio is connected on the board?
> The DM814x-EVM seams to be using McASP2 with aic3106 so it is possible that HP
> copied the design from there...

I grepped the sources for it and these are the evtmux channels the original
code is using. So maybe they have some different audio setup, the hacks in the
original board file mention "hdmi-dai".

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" 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/dm8148-t410.dts b/arch/arm/boot/dts/dm8148-t410.dts
index 79838dd..d1927a7 100644
--- a/arch/arm/boot/dts/dm8148-t410.dts
+++ b/arch/arm/boot/dts/dm8148-t410.dts
@@ -15,6 +15,13 @@ 
 		device_type = "memory";
 		reg = <0x80000000 0x40000000>;	/* 1 GB */
 	};
+
+	vmmcsd_fixed: fixedregulator@0 {
+		compatible = "regulator-fixed";
+		regulator-name = "vmmcsd_fixed";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
 };
 
 &cpsw_emac0 {
@@ -26,3 +33,31 @@ 
 	phy_id = <&davinci_mdio>, <1>;
 	phy-mode = "rgmii";
 };
+
+&mmc3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd2_pins>;
+	vmmc-supply = <&vmmcsd_fixed>;
+	bus-width = <8>;
+	dmas = <&edma_xbar 8 0 1	/* use SDTXEVT1 instead of MCASP0TX */
+		&edma_xbar 9 0 2>;	/* use SDRXEVT1 instead of MCASP0RX */
+	dma-names = "tx", "rx";
+};
+
+&pincntl {
+	sd2_pins: pinmux_sd2_pins {
+		pinctrl-single,pins = <
+			DM814X_IOPAD(0x09c0, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[7] */
+			DM814X_IOPAD(0x09c4, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[6] */
+			DM814X_IOPAD(0x09c8, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[5] */
+			DM814X_IOPAD(0x09cc, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[4] */
+			DM814X_IOPAD(0x09d0, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[3] */
+			DM814X_IOPAD(0x09d4, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[2] */
+			DM814X_IOPAD(0x09d8, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[1] */
+			DM814X_IOPAD(0x09dc, PIN_INPUT_PULLUP | 0x1)	/* SD2_DAT[0] */
+			DM814X_IOPAD(0x09e0, PIN_INPUT | 0x1)		/* SD2_CLK */
+			DM814X_IOPAD(0x09f4, PIN_INPUT_PULLUP | 0x2)	/* SD2_CMD */
+			DM814X_IOPAD(0x0920, PIN_INPUT | 40)	/* SD2_SDCD */
+			>;
+	};
+};