[PATCH 3/4] arm64: dts: imx8mp-kontron: Fix boot order for PMIC and RTC

Frieder Schrempf frieder.schrempf at kontron.de
Wed Feb 18 23:54:53 PST 2026


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 at kontron.de>
>>
>> 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 at kontron.de>
>> Signed-off-by: Frieder Schrempf <frieder.schrempf at kontron.de>
>> ---
>>  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 at 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 = <&reg_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.




More information about the linux-arm-kernel mailing list