On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote: > From: Stefan Agner <stefan.ag...@toradex.com> > > Add usdhci peripherals to device tree. This allows to use DM_MMC > for Colibri iMX7 devices. > > Signed-off-by: Stefan Agner <stefan.ag...@toradex.com> > --- > > arch/arm/dts/imx7-colibri-emmc.dts | 69 > +++++++++++++++++++++++++++ > arch/arm/dts/imx7-colibri-rawnand.dts | 4 ++ > arch/arm/dts/imx7-colibri.dtsi | 28 +++++++++++ > 3 files changed, 101 insertions(+) > > diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7- > colibri-emmc.dts > index 295ca05916..8cf8befc7f 100644 > --- a/arch/arm/dts/imx7-colibri-emmc.dts > +++ b/arch/arm/dts/imx7-colibri-emmc.dts > @@ -10,7 +10,76 @@ > model = "Toradex Colibri iMX7D 1GB (eMMC)"; > compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d"; > > + aliases { > + mmc0 = &usdhc3; > + mmc1 = &usdhc1; > + }; > + > chosen { > stdout-path = &uart1; > }; > }; > + > +&usdhc3 { > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > + pinctrl-0 = <&pinctrl_usdhc3>; > + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; > + pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
Excited, you may have gotten those higher speeds to work as well which I failed to but nay also only DDR52 so we could just leave those later two away. > + assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; > + assigned-clock-rates = <400000000>; Plus above two. > + bus-width = <8>; > + fsl,tuning-step = <2>; Plus above. > + non-removable; > + sdhci-caps-mask = <0x80000000 0x0>; And above. > + status = "okay"; > +}; > + > +&iomuxc { > + pinctrl_usdhc3: usdhc3grp { > + fsl,pins = < > + MX7D_PAD_SD3_CMD__SD3_CMD 0x59 > + MX7D_PAD_SD3_CLK__SD3_CLK 0x19 > + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 > + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 > + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 > + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 > + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 > + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 > + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 > + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 > + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 > + >; > + }; > + > + pinctrl_usdhc3_100mhz: usdhc3grp_100mhz { > + fsl,pins = < > + MX7D_PAD_SD3_CMD__SD3_CMD 0x5a > + MX7D_PAD_SD3_CLK__SD3_CLK 0x1a > + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a > + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a > + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a > + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a > + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a > + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a > + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a > + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a > + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a > + >; > + }; > + > + pinctrl_usdhc3_200mhz: usdhc3grp_200mhz { > + fsl,pins = < > + MX7D_PAD_SD3_CMD__SD3_CMD 0x5b > + MX7D_PAD_SD3_CLK__SD3_CLK 0x1b > + MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b > + MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b > + MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b > + MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b > + MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b > + MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b > + MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b > + MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b > + MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b > + >; > + }; Plus of course the later two pinctrl groups. > +}; > diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts > b/arch/arm/dts/imx7-colibri-rawnand.dts > index 4eb86fb011..5d64e5ef41 100644 > --- a/arch/arm/dts/imx7-colibri-rawnand.dts > +++ b/arch/arm/dts/imx7-colibri-rawnand.dts > @@ -10,6 +10,10 @@ > model = "Toradex Colibri iMX7S/D"; > compatible = "toradex,imx7-colibri", "fsl,imx7"; > > + aliases { > + mmc0 = &usdhc1; I believe if we only have one it does not matter. > + }; > + > chosen { > stdout-path = &uart1; > }; > diff --git a/arch/arm/dts/imx7-colibri.dtsi b/arch/arm/dts/imx7- > colibri.dtsi > index 47295117aa..3a627fc941 100644 > --- a/arch/arm/dts/imx7-colibri.dtsi > +++ b/arch/arm/dts/imx7-colibri.dtsi > @@ -38,6 +38,17 @@ > status = "okay"; > }; > > +&usdhc1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_cd_usdhc1>; > + no-1-8-v; > + cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; > + disable-wp; > + fsl,tuning-start-tap = <20>; > + fsl,tuning-step= <2>; Above two also don't do anything currently. > + status = "okay"; > +}; > + > &iomuxc { > pinctrl_i2c4: i2c4-grp { > fsl,pins = < > @@ -68,6 +79,17 @@ > MX7D_PAD_SD2_DATA0__GPIO5_IO14 0x14 > /* DTR */ > >; > }; > + > + pinctrl_usdhc1: usdhc1-grp { > + fsl,pins = < > + MX7D_PAD_SD1_CMD__SD1_CMD 0x59 > + MX7D_PAD_SD1_CLK__SD1_CLK 0x19 > + MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59 > + MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59 > + MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59 > + MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59 > + >; > + }; > }; > > &iomuxc_lpsr { > @@ -84,4 +106,10 @@ > MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4 0x400 > 0007f > >; > }; > + > + pinctrl_cd_usdhc1: usdhc1-cd-grp { > + fsl,pins = < > + MX7D_PAD_LPSR_GPIO1_IO00__GPIO1_IO0 0x59 > /* CD */ > + >; > + }; > }; _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot