[PATCH v3 06/10] ARM: tegra: tf701t: Tune MMC devices
Svyatoslav Ryhel <[email protected]> Fri, 31 Jul 2026 14:41:02 +0300
| Newsgroups | org.kernel.vger.linux-tegra,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add SDR104 mode to WiFi SDIO and uSD device nodes, remove mmc-ddr-1_8v which is eMMC specific and improve their power sequences. The uSD card refuses to work reliably with fixed regulator and 1.8V IO supply. Adjust configuration to mimic setup proposed by the vendor in the downstream kernel. Add HS200 mode support to the eMMC sdmmc device node. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Mikko Perttunen <[email protected]> --- .../boot/dts/nvidia/tegra114-asus-tf701t.dts | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts b/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts index 83f8dd84d28a2..3de5c84d5f009 100644 --- a/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts +++ b/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts @@ -1645,9 +1645,9 @@ ldo8 { vddio_usd: ldo9 { regulator-name = "vddio_usd"; - /* min voltage of 1.8v is not stable */ - regulator-min-microvolt = <2900000>; + regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2900000>; + regulator-boot-on; }; avdd_hdmi: ldoln { @@ -2350,9 +2350,9 @@ brcm_wifi_pwrseq: pwrseq-wifi { clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>; clock-names = "ext_clock"; - reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; - post-power-on-delay-ms = <300>; - power-off-delay-us = <300>; + reset-gpios = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_LOW>; + post-power-on-delay-ms = <100>; + power-off-delay-us = <100>; }; /* WiFi */ @@ -2372,9 +2372,7 @@ mmc@78000000 { non-removable; sd-uhs-ddr50; - mmc-ddr-1_8v; - - power-gpios = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_HIGH>; + sd-uhs-sdr104; nvidia,default-tap = <0x2>; nvidia,default-trim = <0x2>; @@ -2396,14 +2394,18 @@ wifi@1 { /* MicroSD card */ mmc@78000400 { status = "okay"; - bus-width = <4>; + cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>; + power-gpios = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; + + sd-uhs-ddr50; + sd-uhs-sdr104; nvidia,default-tap = <0x3>; nvidia,default-trim = <0x3>; - vmmc-supply = <&vdd_2v9_usd>; + vmmc-supply = <&vcore_emmc>; vqmmc-supply = <&vddio_usd>; }; @@ -2414,6 +2416,7 @@ mmc@78000600 { non-removable; mmc-ddr-1_8v; + mmc-hs200-1_8v; vmmc-supply = <&vcore_emmc>; vqmmc-supply = <&vdd_1v8_vio>; @@ -2608,17 +2611,6 @@ hdmi_5v0_sys: regulator-hdmi { vin-supply = <&vdd_smps10_out2>; }; - vdd_2v9_usd: regulator-vdd-usd { - compatible = "regulator-fixed"; - regulator-name = "vdd_sd_slot"; - regulator-min-microvolt = <2900000>; - regulator-max-microvolt = <2900000>; - regulator-boot-on; - gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; - enable-active-high; - vin-supply = <&vcore_emmc>; - }; - vdd_1v8_cam: regulator-cam-vio { compatible = "regulator-fixed"; regulator-name = "vdd_1v8_cam"; @@ -2655,7 +2647,6 @@ vdd_3v3_com: regulator-com { regulator-name = "vdd_3v3_com"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - regulator-always-on; regulator-boot-on; gpio = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>; enable-active-high; -- 2.53.0