Re: [PATCH v2 06/10] ARM: tegra: tf701t: Tune MMC devices
Svyatoslav Ryhel <[email protected]> Tue, 28 Jul 2026 17:17:40 +0300
| Newsgroups | org.kernel.vger.linux-tegra,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAPVz0n2cBDZ16rek-phtp0J5QKSfyZHWHtJX7CeWjraEuz=5qw@mail.gmail.com> |
=D0=B2=D1=82, 28 =D0=BB=D0=B8=D0=BF. 2026=E2=80=AF=D1=80. =D0=BE 15:09 Mikk= o Perttunen <[email protected]> =D0=BF=D0=B8=D1=88=D0=B5: > > On Tuesday, July 21, 2026 7:10=E2=80=AFPM Svyatoslav Ryhel wrote: > > 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. Adjus= t > > 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]> > > --- > > .../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/a= rm/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 =3D "vddio= _usd"; > > - /* min voltage of 1.8v is= not stable */ > > - regulator-min-microvolt = =3D <2900000>; > > + regulator-min-microvolt = =3D <1800000>; > > regulator-max-microvolt = =3D <2900000>; > > + regulator-boot-on; > > }; > > > > avdd_hdmi: ldoln { > > @@ -2350,9 +2350,9 @@ brcm_wifi_pwrseq: pwrseq-wifi { > > clocks =3D <&tegra_pmc TEGRA_PMC_CLK_BLINK>; > > clock-names =3D "ext_clock"; > > > > - reset-gpios =3D <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; > > - post-power-on-delay-ms =3D <300>; > > - power-off-delay-us =3D <300>; > > + reset-gpios =3D <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_LOW>= ; > > + post-power-on-delay-ms =3D <100>; > > + power-off-delay-us =3D <100>; > > }; > > > > /* WiFi */ > > @@ -2372,9 +2372,7 @@ mmc@78000000 { > > non-removable; > > > > sd-uhs-ddr50; > > - mmc-ddr-1_8v; > > - > > - power-gpios =3D <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_HIGH= >; > > + sd-uhs-sdr104; > > > > nvidia,default-tap =3D <0x2>; > > nvidia,default-trim =3D <0x2>; > > @@ -2396,14 +2394,18 @@ wifi@1 { > > /* MicroSD card */ > > mmc@78000400 { > > status =3D "okay"; > > - > > bus-width =3D <4>; > > + > > cd-gpios =3D <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>; > > + power-gpios =3D <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>= ; > > + > > + sd-uhs-ddr50; > > + sd-uhs-sdr104; > > > > nvidia,default-tap =3D <0x3>; > > nvidia,default-trim =3D <0x3>; > > > > - vmmc-supply =3D <&vdd_2v9_usd>; > > + vmmc-supply =3D <&vcore_emmc>; > > vqmmc-supply =3D <&vddio_usd>; > > }; > > > > @@ -2414,6 +2416,7 @@ mmc@78000600 { > > > > non-removable; > > mmc-ddr-1_8v; > > + mmc-hs200-1_8v; > > > > vmmc-supply =3D <&vcore_emmc>; > > vqmmc-supply =3D <&vdd_1v8_vio>; > > @@ -2608,17 +2611,6 @@ hdmi_5v0_sys: regulator-hdmi { > > vin-supply =3D <&vdd_smps10_out2>; > > }; > > > > - vdd_2v9_usd: regulator-vdd-usd { > > - compatible =3D "regulator-fixed"; > > - regulator-name =3D "vdd_sd_slot"; > > - regulator-min-microvolt =3D <2900000>; > > - regulator-max-microvolt =3D <2900000>; > > - regulator-boot-on; > > - gpio =3D <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; > > - enable-active-high; > > - vin-supply =3D <&vcore_emmc>; > > - }; > > - > > vdd_1v8_cam: regulator-cam-vio { > > compatible =3D "regulator-fixed"; > > regulator-name =3D "vdd_1v8_cam"; > > @@ -2655,7 +2647,6 @@ vdd_3v3_com: regulator-com { > > regulator-name =3D "vdd_3v3_com"; > > regulator-min-microvolt =3D <3300000>; > > regulator-max-microvolt =3D <3300000>; > > - regulator-always-on; > > regulator-boot-on; > > gpio =3D <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>; > > enable-active-high; > > -- > > 2.53.0 > > > > > > Which vendor BSP are you referencing? The one I have seems to set > MMC_UHS_MASK_DDR50, but I'm not quite sure what board definitions these > devices are actually using. > TF701T is based on Macallan board file. Downstream sets MMC_UHS_MASK_DDR50 for sdmmc 1 and 2 (sd and wifi) and no flags for mmc. From extensive testing on the device I can confirm that sdr104 mode can be used on sd and wifi sdmmc (in addition to ddr50 which is not removed). Same story with eMMC and HS200 mode.