Re: [RFC PATCH] arm64: defconfig: Set MFD_TPS6594_I2C as built-in

From: Bjorn Andersson
Date: Tue Aug 20 2024 - 12:44:57 EST


On Mon, Aug 19, 2024 at 03:43:52PM -0500, Judith Mendez wrote:
> SK-AM62A-LP is a device targeting automotive front-camera applications
> among other use-cases. It utilizes the TPS6593x PMIC (interfaced over I2C)
> to power the SoC and various other peripherals on the board [1].
>
> MMCSD requires the PMIC to be setup correctly before setting the bus
> pins to 1.8V using the TPS6594 driver interfaced over i2c.
>
> Currently, the following could be seen when booting the am62ax platform:
>
> "platform fa00000.mmc: deferred probe pending: platform: supplier regulator-5 not ready"
> "vdd_mmc1: disabling"

Is this the regulator framework disabling the "unused" vdd_mmc1 while
you still have a probe deferred client?

That's not right.

>
> and a failure to boot the SK-AM62A-LP.
>
> One solution is to use initramfs [2], but using initramfs increases the
> boot time for this automotive solution which requires faster boot time
> parameters.
>
> Another solution is to change MFD_TPS6594_I2C to built-in, that way the
> PMIC is setup and the regulators are ready before MMCSD switches to UHS
> mode, this is the preferred solution since it does not increase boot time
> like the initramfs solution does.
>
> [1] https://www.ti.com/lit/zip/sprr459
> [2] https://lore.kernel.org/linux-devicetree/5f03207b-c29b-4d16-92b0-d14eef77bf17@xxxxxxxxxx/
> Fixes: f9010eb938be ("arm64: defconfig: Enable TPS6593 PMIC for SK-AM62A")
>
> Signed-off-by: Judith Mendez <jm@xxxxxx>
> ---
> arch/arm64/configs/defconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 7d32fca649965..61f767246d3a5 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -756,7 +756,7 @@ CONFIG_RZ_MTU3=y
> CONFIG_MFD_TI_AM335X_TSCADC=m
> CONFIG_MFD_TI_LP873X=m
> CONFIG_MFD_TPS65219=y
> -CONFIG_MFD_TPS6594_I2C=m
> +CONFIG_MFD_TPS6594_I2C=y

These things should work with =m, and then you can make them =y in your
product config to avoid the probe deferral.

Regards,
Bjorn

> CONFIG_MFD_ROHM_BD718XX=y
> CONFIG_MFD_WCD934X=m
> CONFIG_MFD_KHADAS_MCU=m
>
> base-commit: 8400291e289ee6b2bf9779ff1c83a291501f017b
> --
> 2.46.0
>