Re: [PATCH 3/4] arm64: dts: imx8mp-kontron: Fix boot order for PMIC and RTC
From: Frieder Schrempf
Date: Thu Feb 19 2026 - 02:55:10 EST
On 18.02.26 18:01, Frank Li wrote:
> On Wed, Feb 18, 2026 at 02:25:07PM +0100, Frieder Schrempf wrote:
>> From: Annette Kobou <annette.kobou@xxxxxxxxxx>
>>
>> The PMIC provides a level-shifter for the I2C lines to the RTC.
>> As the level shifter needs to be enabled before the RTC can be
>> accessed, we need to make sure that the PMIC driver is probed
>> first.
>>
>> As the PMIC also provides the supply voltage for the RTC through
>> the 3.3V regulator, we can simply express this in the DT to
>> create the required dependency.
>>
>> This fixes sporadic boot hangs that occurred when the RTC was
>> accessed before the level-shifter was enabled.
>>
>> Fixes: 946ab10e3f40f ("arm64: dts: Add support for Kontron OSM-S i.MX8MP SoM and BL carrier board")
>> Signed-off-by: Annette Kobou <annette.kobou@xxxxxxxxxx>
>> Signed-off-by: Frieder Schrempf <frieder.schrempf@xxxxxxxxxx>
>> ---
>> arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi
>> index b97bfeb1c30f8..bc1a261bb000e 100644
>> --- a/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi
>> +++ b/arch/arm64/boot/dts/freescale/imx8mp-kontron-osm-s.dtsi
>> @@ -330,6 +330,12 @@ rv3028: rtc@52 {
>> pinctrl-names = "default";
>> pinctrl-0 = <&pinctrl_rtc>;
>> interrupts-extended = <&gpio3 24 IRQ_TYPE_LEVEL_LOW>;
>> + /*
>> + * While specifying the vdd-supply is normally not strictly necessary,
>> + * here it also makes sure that the PMIC driver enables the level-
>> + * shifter for the RTC before the RTC is probed.
>> + */
>> + vdd-supply = <®_vdd_3v3>;
>
> Dose reg_vdd_3v3 controller by gpio, or actually it is level shifter?
As I explained in the commit message, reg_vdd_3v3 is a regulator
provided by the PCA9450 PMIC that feeds the RTC.
At the same time the PCA9450 PMIC also provides a level-shifter that is
used to bring the I2C data lines to the correct level for the RTC.