summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitor Soares <vitor.soares@toradex.com>2025-02-05 16:08:06 +0000
committerVitor Soares <vitor.soares@toradex.com>2025-02-06 15:26:25 +0000
commitcc2f2a21587e773bd632004462c994de2deed635 (patch)
treebcac662cde4c0814e2fedd0987b10b0b61f79f3b
parentb135b04c6c501e62296ba52358a7dd6290d3d803 (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.dtsi48
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 = <&reg_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 = <&reg_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 = <&reg_usdhc2_sd>;
- vqmmc-supply = <&reg_sd_3v3_1v8>;
+ vmmc-supply = <&reg_usdhc2_vmmc>;
+ vqmmc-supply = <&reg_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 */