On Thu, Mar 12, 2020 at 08:51:13PM +0200, Igor Opaniuk wrote: > From: Igor Opaniuk <igor.opaniuk@xxxxxxxxxxx> > > Introduce DTS for Colibri iMX6S/DL V1.1x re-design, where UHS-I support was > added. Provide proper configuration for VGEN3, which allows that rail to > be automatically switched to 1.8 volts for proper UHS-I operation mode. > > Signed-off-by: Igor Opaniuk <igor.opaniuk@xxxxxxxxxxx> > > --- > > v4: > - Document Colibri iMX6S/DL V1.1x re-design devicetree binding [Shawn Guo] > - wakeup-source property fix [Shawn Guo] > > v3: > - change hierarchy according to Marco's suggestions [Marco Felsch] > - adjust compatible string adding v1.1 [Stefan Agner] > > v2: > - rework hierarchy of dts files, and a separate dtsi for Colibri > iMX6S/DL V1.1x re-design, where UHS-I was added [Marcel Ziswiler] > - add comments about vgen3 power rail [Marcel Ziswiler] > - fix other minor issues, addressing Marcel's comments. [Marcel Ziswiler] > > arch/arm/boot/dts/Makefile | 1 + > .../boot/dts/imx6dl-colibri-v1_1-eval-v3.dts | 59 +++++++++++++++++++ > arch/arm/boot/dts/imx6qdl-colibri.dtsi | 11 +++- > 3 files changed, 70 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index d6546d2676b9..97da51be1de6 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -412,6 +412,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ > imx6dl-aristainetos2_4.dtb \ > imx6dl-aristainetos2_7.dtb \ > imx6dl-colibri-eval-v3.dtb \ > + imx6dl-colibri-v1_1-eval-v3.dtb \ > imx6dl-cubox-i.dtb \ > imx6dl-cubox-i-emmc-som-v15.dtb \ > imx6dl-cubox-i-som-v15.dtb \ > diff --git a/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts > new file mode 100644 > index 000000000000..fced7d99f5d5 > --- /dev/null > +++ b/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts > @@ -0,0 +1,59 @@ > +// SPDX-License-Identifier: GPL-2.0 OR X11 > +/* > + * Copyright 2019 Toradex AG > + */ Shouldn't this follow what you just updated for other Toradex boards? Shawn > + > +/dts-v1/; > + > +#include "imx6dl-colibri-eval-v3.dts" > + > +/ { > + model = "Toradex Colibri iMX6DL/S V1.1 on Colibri Evaluation Board V3"; > + compatible = "toradex,colibri_imx6dl-v1_1-eval-v3", > + "toradex,colibri_imx6dl-v1_1", > + "toradex,colibri_imx6dl-eval-v3", > + "toradex,colibri_imx6dl", > + "fsl,imx6dl"; > +}; > + > +&iomuxc { > + pinctrl_usdhc1_100mhz: usdhc1grp100mhz { > + fsl,pins = < > + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170b1 > + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100b1 > + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170b1 > + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170b1 > + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170b1 > + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170b1 > + >; > + }; > + > + pinctrl_usdhc1_200mhz: usdhc1grp200mhz { > + fsl,pins = < > + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170f1 > + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100f1 > + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f1 > + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f1 > + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f1 > + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f1 > + >; > + }; > +}; > + > +/* Colibri MMC */ > +&usdhc1 { > + pinctrl-names = "default", "state_100mhz", "state_200mhz"; > + pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_mmc_cd>; > + pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_mmc_cd>; > + pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_mmc_cd>; > + vmmc-supply = <®_module_3v3>; > + vqmmc-supply = <&vgen3_reg>; > + wakeup-source; > + keep-power-in-suspend; > + sd-uhs-sdr12; > + sd-uhs-sdr25; > + sd-uhs-sdr50; > + sd-uhs-sdr104; > + status = "okay"; > + /delete-property/no-1-8-v; > +}; > diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi > index d03dff23863d..e85a41e84fd4 100644 > --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi > +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi > @@ -229,7 +229,16 @@ > regulator-always-on; > }; > > - /* vgen3: unused */ > + /* > + * +V3.3_1.8_SD1 coming off VGEN3 and supplying > + * the i.MX 6 NVCC_SD1. > + */ > + vgen3_reg: vgen3 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > > vgen4_reg: vgen4 { > regulator-min-microvolt = <1800000>; > -- > 2.17.1 >