diff options
| author | Vitor Soares <vitor.soares@toradex.com> | 2025-02-05 16:08:06 +0000 |
|---|---|---|
| committer | Vitor Soares <vitor.soares@toradex.com> | 2025-02-06 15:26:25 +0000 |
| commit | cc2f2a21587e773bd632004462c994de2deed635 (patch) | |
| tree | bcac662cde4c0814e2fedd0987b10b0b61f79f3b | |
| parent | b135b04c6c501e62296ba52358a7dd6290d3d803 (diff) | |
arm: dts: imx8mp-toradex-smarc: sync with DT with Linux
Synchronize the Toradex SMARC iMX8MP DT with Linux toradex_6.6-2.2.x-imx.
This fixes the SD Card initialization that was broken due to incorrect
SDIO IO voltage configuration (setting exclusive to 1.8 V).
Upstream-Status: Pending
Fixes: 503c6808c577 ("arm: dts: imx8mp-toradex-smarc: sync with DT with Linux")
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
| -rw-r--r-- | arch/arm/dts/imx8mp-toradex-smarc.dtsi | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/arch/arm/dts/imx8mp-toradex-smarc.dtsi b/arch/arm/dts/imx8mp-toradex-smarc.dtsi index 5a32517106e..c6a10d84d59 100644 --- a/arch/arm/dts/imx8mp-toradex-smarc.dtsi +++ b/arch/arm/dts/imx8mp-toradex-smarc.dtsi @@ -74,7 +74,7 @@ regulator-name = "USB2_EN_OC#"; }; - reg_usdhc2_sd: regulator-usdhc2 { + reg_usdhc2_vmmc: regulator-usdhc2-vmmc { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc2_pwr_en>; @@ -87,6 +87,19 @@ startup-delay-us = <20000>; }; + reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { + compatible = "regulator-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2_vsel>; + gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <1800000>; + states = <1800000 0x1>, + <3300000 0x0>; + regulator-name = "PMIC_USDHC_VSELECT"; + vin-supply = <®_sd_3v3_1v8>; + }; + reg_wifi_en: regulator-wifi-en { compatible = "regulator-fixed"; pinctrl-names = "default"; @@ -249,7 +262,7 @@ "SMARC_GPIO8", "", "PMIC_INT#", - "", + "PMIC_USDHC_VSELECT", "SMARC_GPIO9", "SMARC_GPIO10", "SMARC_GPIO11", @@ -546,9 +559,9 @@ status = "okay"; eeprom@50 { - compatible = "st,24c02"; + compatible = "st,24c32"; reg = <0x50>; - pagesize = <16>; + pagesize = <32>; }; }; @@ -597,7 +610,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pcie>; host-wake-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; - reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>; + reset-gpio = <&gpio4 19 GPIO_ACTIVE_LOW>; }; &pcie_phy { @@ -676,6 +689,7 @@ adp-disable; dr_mode = "otg"; hnp-disable; + maximum-speed = "high-speed"; srp-disable; usb-role-switch; @@ -690,6 +704,10 @@ dr_mode = "host"; }; +&usb3_phy1 { + vbus-supply = <®_usb1_vbus>; +}; + /* On-module Wi-Fi */ &usdhc1 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; @@ -719,8 +737,8 @@ assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; assigned-clock-rates = <400000000>; cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; - vmmc-supply = <®_usdhc2_sd>; - vqmmc-supply = <®_sd_3v3_1v8>; + vmmc-supply = <®_usdhc2_vmmc>; + vqmmc-supply = <®_usdhc2_vqmmc>; wp-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; }; @@ -1121,8 +1139,7 @@ /* SMARC SDIO */ pinctrl_usdhc2: usdhc2grp { - fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x4>, /* PMIC_USDHC_VSELECT */ - <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190>, /* SMARC P36 - SDIO_CK */ + fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190>, /* SMARC P36 - SDIO_CK */ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0>, /* SMARC P34 - SDIO_CMD */ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0>, /* SMARC P39 - SDIO_DO */ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0>, /* SMARC P40 - SDIO_D1 */ @@ -1132,8 +1149,7 @@ /* SMARC SDIO 100MHz */ pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { - fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x4>, /* PMIC_USDHC_VSELECT */ - <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>, /* SMARC P36 - SDIO_CK */ + fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>, /* SMARC P36 - SDIO_CK */ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>, /* SMARC P34 - SDIO_CMD */ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>, /* SMARC P39 - SDIO_DO */ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>, /* SMARC P40 - SDIO_D1 */ @@ -1143,8 +1159,7 @@ /* SMARC SDIO 200MHz */ pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { - fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x4>, /* PMIC_USDHC_VSELECT */ - <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196>, /* SMARC P36 - SDIO_CK */ + fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196>, /* SMARC P36 - SDIO_CK */ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6>, /* SMARC P34 - SDIO_CMD */ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6>, /* SMARC P39 - SDIO_DO */ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6>, /* SMARC P40 - SDIO_D1 */ @@ -1169,8 +1184,7 @@ /* SMARC SDIO Sleep - Avoid backfeeding with removed card power */ pinctrl_usdhc2_sleep: usdhc2slpgrp { - fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x0>, /* PMIC_USDHC_VSELECT */ - <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x100>, /* SMARC P36 - SDIO_CK */ + fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x100>, /* SMARC P36 - SDIO_CK */ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x100>, /* SMARC P34 - SDIO_CMD */ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x100>, /* SMARC P39 - SDIO_DO */ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x100>, /* SMARC P39 - SDIO_D1 */ @@ -1178,6 +1192,10 @@ <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x100>; /* SMARC P39 - SDIO_D3 */ }; + pinctrl_usdhc2_vsel: usdhc2vselgrp { + fsl,pins = <MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0x4>; /* PMIC_USDHC_VSELECT */ + }; + /* SMARC SDIO_WP */ pinctrl_usdhc2_wp: usdhc2wpgrp { fsl,pins = <MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x144>; /* SMARC P33 - SDIO_WP */ |
