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

From: Lucas Stach
Date: Tue Sep 14 2021 - 08:34:38 EST


Am Dienstag, dem 14.09.2021 um 11:39 +0200 schrieb Michael Walle:
> 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.
>
> Mh, I have some kind of general question though.
>
> Lets take the SDHC controller for the SD card, which needs to change
> the voltage if you want to use the high speed mode of the cards. Ie.
> from 3.3V to 1.8V. The controller does this autonomously with the help
> of a pin which is controlled by the controller itself. Will it have a
> vqmmc-supply property? And if so what whould the supply be?
>
If the IO voltage regulator is controlled via the fixed function pin
you would not add the vqmmc-supply to the DT, as the regulator isn't
known to Linux in that case.

The vqmmc-supply should be used when you have a regulator which is
controlled via some other path than the fixed function pin, or if the
regulator is fixed. By having the connection to the fixed regulator,
the MMC core is able to see that certain modes of operation are not
available.

Regards,
Lucas