[U-Boot] [PATCH v1 5/9] arm: dts: imx7: colibri: add usdhci peripherals to device tree
Marcel Ziswiler
marcel.ziswiler at toradex.com
Sun Jan 6 23:39:06 UTC 2019
On Sun, 2019-01-06 at 22:00 +0100, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner at toradex.com>
>
> Add usdhci peripherals to device tree. This allows to use DM_MMC
> for Colibri iMX7 devices.
>
> Signed-off-by: Stefan Agner <stefan.agner at 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 */
> + >;
> + };
> };
More information about the U-Boot
mailing list