[PATCH v2 06/10] ARM: tegra: tf701t: Tune MMC devices
From: Svyatoslav Ryhel
Date: Tue Jul 21 2026 - 06:16:32 EST
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 <clamor95@xxxxxxxxx>
---
.../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