Re: [PATCH v2 06/10] ARM: tegra: tf701t: Tune MMC devices
Mikko Perttunen <[email protected]> Thu, 30 Jul 2026 16:53:27 +0900
| Newsgroups | org.kernel.vger.linux-tegra,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Tuesday, July 28, 2026 11:17=E2=80=AFPM Svyatoslav Ryhel wrote: > =D0=B2=D1=82, 28 =D0=BB=D0=B8=D0=BF. 2026=E2=80=AF=D1=80. =D0=BE 15:09 Mi= kko 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_8= v > > > which is eMMC specific and improve their power sequences. The uSD car= d > > > refuses to work reliably with fixed regulator and 1.8V IO supply. Adj= ust > > > 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= /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 =3D "vdd= io_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_LO= W>; > > > + 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_HI= GH>; > > > + 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_HIG= H>; > > > + > > > + 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. > > >=20 > 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. Very good. From some searching this is down to the board design, so if=20 the TF701T works with it then all should be good. I think at this point=20 if any user has an issue they will know where to complain, anyway :) Reviewed-by: Mikko Perttunen <[email protected]>