Re: [PATCH 3/4] arm64: dts: imx8mp-kontron: Fix boot order for PMIC and RTC
From: Frieder Schrempf <hidden>
Date: 2026-02-19 07:54:59
Also in:
imx, linux-devicetree, lkml
On 18.02.26 18:01, Frank Li wrote:
On Wed, Feb 18, 2026 at 02:25:07PM +0100, Frieder Schrempf wrote:quoted
From: Annette Kobou <redacted> 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 <redacted> Signed-off-by: Frieder Schrempf <redacted> --- 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.