Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx6ull-colibri: update usdhc1 pixmux and signaling

Due to many carrier boards pulling the usdhc1 signals up to 3.3 volt we
need to disable 1.8 volt signaling. Adding the no-1-8-v property
basically disables UHS-I modes by default.

Also pull-up the command and data lines to the +V3.3_1.8_SD rail and
set them to the 200 MHz speed grade (e.g. pinmux bits 7-6: meaning 11
SPEED_3_max_200MHz).

Explicitly specify a bus-width of <4> in the module-level device tree
include file and drop the no-1-8-v property from the carrier boards
device trees.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Philippe Schenker and committed by
Shawn Guo
8d386fa0 2aa9d620

+24 -26
-14
arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
··· 159 159 }; 160 160 161 161 &usdhc1 { 162 - pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 163 - pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>; 164 - pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_snvs_usdhc1_cd>; 165 - pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_snvs_usdhc1_cd>; 166 - pinctrl-3 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_sleep_cd>; 167 - cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 168 - disable-wp; 169 - wakeup-source; 170 - keep-power-in-suspend; 171 162 vmmc-supply = <&reg_3v3>; 172 - vqmmc-supply = <&reg_sd1_vmmc>; 173 - sd-uhs-sdr12; 174 - sd-uhs-sdr25; 175 - sd-uhs-sdr50; 176 - sd-uhs-sdr104; 177 163 status = "okay"; 178 164 };
+24 -12
arch/arm/boot/dts/imx6ull-colibri.dtsi
··· 35 35 regulator-max-microvolt = <3300000>; 36 36 }; 37 37 38 - reg_sd1_vmmc: regulator-sd1-vmmc { 38 + reg_sd1_vqmmc: regulator-sd1-vqmmc { 39 39 compatible = "regulator-gpio"; 40 40 gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>; 41 41 pinctrl-names = "default"; ··· 232 232 }; 233 233 234 234 &usdhc1 { 235 + pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep"; 236 + pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>; 237 + pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_snvs_usdhc1_cd>; 238 + pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_snvs_usdhc1_cd>; 239 + pinctrl-3 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_sleep_cd>; 235 240 assigned-clocks = <&clks IMX6UL_CLK_USDHC1_SEL>, <&clks IMX6UL_CLK_USDHC1>; 236 241 assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>; 237 242 assigned-clock-rates = <0>, <198000000>; 243 + bus-width = <4>; 244 + cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 245 + disable-wp; 246 + keep-power-in-suspend; 247 + no-1-8-v; 248 + vqmmc-supply = <&reg_sd1_vqmmc>; 249 + wakeup-source; 238 250 }; 239 251 240 252 &wdog1 { ··· 562 550 563 551 pinctrl_usdhc1: usdhc1-grp { 564 552 fsl,pins = < 565 - MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x17059 /* SODIMM 47 */ 566 - MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x10059 /* SODIMM 190 */ 553 + MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059 /* SODIMM 47 */ 554 + MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059 /* SODIMM 190 */ 567 555 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059 /* SODIMM 192 */ 568 556 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059 /* SODIMM 49 */ 569 557 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059 /* SODIMM 51 */ ··· 573 561 574 562 pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp { 575 563 fsl,pins = < 576 - MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x170b9 577 - MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x100b9 564 + MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9 565 + MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9 578 566 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9 579 567 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9 580 568 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9 ··· 584 572 585 573 pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp { 586 574 fsl,pins = < 587 - MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x170f9 588 - MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x100f9 589 - MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9 590 - MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9 591 - MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9 592 - MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9 575 + MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9 576 + MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9 577 + MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9 578 + MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9 579 + MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9 580 + MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9 593 581 >; 594 582 }; 595 583 ··· 600 588 MX6UL_PAD_CSI_DATA02__USDHC2_DATA2 0x17069 601 589 MX6UL_PAD_CSI_DATA03__USDHC2_DATA3 0x17069 602 590 MX6UL_PAD_CSI_HSYNC__USDHC2_CMD 0x17069 603 - MX6UL_PAD_CSI_VSYNC__USDHC2_CLK 0x17069 591 + MX6UL_PAD_CSI_VSYNC__USDHC2_CLK 0x10069 604 592 605 593 MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT 0x10 606 594 >;