Re: [U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to device tree
On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote: > From: Stefan Agner > > Add usdhci peripherals to device tree. This allows to use DM_MMC > for Colibri iMX7 devices. > > Signed-off-by: Stefan Agner > --- > > 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 = > + mmc1 = > + }; > + > chosen { > stdout-path = > }; > }; > + > + { > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > + pinctrl-0 = <_usdhc3>; > + pinctrl-1 = <_usdhc3_100mhz>; > + pinctrl-2 = <_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 = < IMX7D_USDHC3_ROOT_CLK>; > + assigned-clock-rates = <4>; Plus above two. > + bus-width = <8>; > + fsl,tuning-step = <2>; Plus above. > + non-removable; > + sdhci-caps-mask = <0x8000 0x0>; And above. > + status = "okay"; > +}; > + > + { > + 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 = I believe if we only have one it does not matter. > + }; > + > chosen { > stdout-path = > }; > 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";
[U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to device tree
From: Stefan Agner Add usdhci peripherals to device tree. This allows to use DM_MMC for Colibri iMX7 devices. Signed-off-by: Stefan Agner --- 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 = + mmc1 = + }; + chosen { stdout-path = }; }; + + { + pinctrl-names = "default", "state_100mhz", "state_200mhz"; + pinctrl-0 = <_usdhc3>; + pinctrl-1 = <_usdhc3_100mhz>; + pinctrl-2 = <_usdhc3_200mhz>; + assigned-clocks = < IMX7D_USDHC3_ROOT_CLK>; + assigned-clock-rates = <4>; + bus-width = <8>; + fsl,tuning-step = <2>; + non-removable; + sdhci-caps-mask = <0x8000 0x0>; + status = "okay"; +}; + + { + 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 + >; + }; +}; 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 = + }; + chosen { stdout-path = }; 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"; }; + { + pinctrl-names = "default"; + pinctrl-0 = <_usdhc1 _cd_usdhc1>; + no-1-8-v; + cd-gpios = < 0 GPIO_ACTIVE_LOW>; + disable-wp; + fsl,tuning-start-tap = <20>; + fsl,tuning-step= <2>; + status = "okay"; +}; + { pinctrl_i2c4: i2c4-grp { fsl,pins = < @@ -68,6 +79,17 @@ MX7D_PAD_SD2_DATA0__GPIO5_IO14 0x14 /* DTR */