Re: [PATCH v2] arm64: dts: imx8mq-kontron-pitx-imx8m: remove vqmmc-supply node

From: Michael Walle
Date: Tue Sep 14 2021 - 05:13:00 EST


Am 2021-09-14 10:52, schrieb Lucas Stach:
Am Dienstag, dem 14.09.2021 um 10:32 +0200 schrieb Michael Walle:
Hi Lucas,

Am 2021-09-14 10:20, schrieb Lucas Stach:
> Am Dienstag, dem 14.09.2021 um 09:26 +0200 schrieb Heiko Thiery:
> > The sw4 output (V_1V8_S0 voltage) from the PMIC is the main supply for
> > the 1V8 power domain. It is not only used as supply for the eMMC.
> > So this voltage can not be changed and is not allowed to switched off.
> > Therefore we do not want to provide this regulator to the SDHC driver
> > to
> > control this voltage.
> >
> This specific requirement should not be solved by removing the
> regulator connection from the SDHCI node, but instead by constraining
> the regulator voltage range to a fixed 3.3V and marking the regulator
> as always-on to reflect the hardware requirements in the DT.
>
> Also if your eMMC vqmmc is a fixed 3.3V, I don't think you need the
> faster pinctrl states, as you can't use the faster pin states anyways,
> as they require a 1.8V signaling voltage.

Are you speaking of the 1.8V signalling modes? As far as I know the
IMX SDHC controller will switch the voltage by its own function pin.
That is, its not a GPIO.

Ah, I mixed things up here. This is a fixed 1.8V supply, which is valid
for eMMC, so the high-speed modes are available. My comment still
applies that this should be fixed by constraining the regulator, not by
removing the DT connection.

vqmmc is the MMC IO voltage, which can be switched either by the
function pin, which gets toggled automatically when software does the
voltage switch, or by explicitly switching the regulator voltage. eMMCs
are a bit special as they can work with a fixed 1.8V IO supply and
don't need to start with 3.3V.

I tend to agree. There might be some useful information, like the driver
could fetch the voltage although it is not able to change it.

NB. the regulator is already fixed at 1.8V and is marked as always on.

from arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts:

sw4_reg: sw4 {
regulator-name = "V_1V8_S0";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};

-michael