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]>