[PATCH 0/2] arm64: dts: imx91/imx93: add rtc1 alias for external PCF2131 RTC

COOLING7d

3 messages, 1 author, 7d ago · open the first message on its own page

[PATCH 0/2] arm64: dts: imx91/imx93: add rtc1 alias for external PCF2131 RTC

From: Joy Zou <hidden>
Date: 2026-09-14 03:17:29

Only rtc0 was aliased to the internal bbnsm_rtc, while the external
PCF2131 RTC had no fixed index. When both RTC drivers are built as
modules, the pcf2131 may probe first and take rtc0, pushing bbnsm_rtc
to rtc1. Since suspend/resume wakeup relies on the internal bbnsm RTC
being rtc0, this broke wakeup.

Add an rtc1 alias for the PCF2131 on the i.MX91 and i.MX93 EVK/QSB
boards, so the external RTC keeps a fixed index while bbnsm_rtc always
stays rtc0.

Signed-off-by: Joy Zou <redacted>
---
Joy Zou (2):
      arm64: dts: imx91-evk/qsb: add rtc1 alias for external PCF2131 RTC
      arm64: dts: imx93-evk/qsb: add rtc1 alias for external PCF2131 RTC

 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts         | 1 +
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts           | 1 +
 arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi | 1 +
 arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts           | 3 ++-
 4 files changed, 5 insertions(+), 1 deletion(-)
---
base-commit: c68a982815dcce5464e3bf2a31ac94f5146c04ca
change-id: 20260914-b4_imx91_93_rtc-07d17cf027ab

Best regards,
--  
Joy Zou [off-list ref]

[PATCH 1/2] arm64: dts: imx91-evk/qsb: add rtc1 alias for external PCF2131 RTC

From: Joy Zou <hidden>
Date: 2026-09-14 03:17:35

Only rtc0 was aliased to bbnsm_rtc, while the external pcf2131 had
no fixed index. When both drivers are modules, the pcf2131 may register
first and take rtc0, pushing bbnsm_rtc to rtc1. Since suspend/resume
wakeup relies on the internal bbnsm RTC at rtc0, this broke wakeup.

Add rtc1 alias for the pcf2131 on imx91-11x11-evk and imx91-9x9-qsb,
so it keeps a fixed index while bbnsm_rtc stays rtc0.

Signed-off-by: Joy Zou <redacted>
---
 arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts | 1 +
 arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts   | 1 +
 2 files changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
index 5716febb5a50..ea7852da43b9 100644
--- a/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-11x11-evk.dts
@@ -25,6 +25,7 @@ aliases {
 		mmc1 = &usdhc2;
 		mmc2 = &usdhc3;
 		rtc0 = &bbnsm_rtc;
+		rtc1 = &pcf2131;
 		serial0 = &lpuart1;
 		serial1 = &lpuart2;
 		serial2 = &lpuart3;
diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index f1ed7983226b..b7f0e39b867a 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -23,6 +23,7 @@ aliases {
 		mmc0 = &usdhc1;
 		mmc1 = &usdhc2;
 		rtc0 = &bbnsm_rtc;
+		rtc1 = &pcf2131;
 		serial0 = &lpuart1;
 	};
 
-- 
2.34.1

[PATCH 2/2] arm64: dts: imx93-evk/qsb: add rtc1 alias for external PCF2131 RTC

From: Joy Zou <hidden>
Date: 2026-09-14 03:17:41

Only rtc0 was aliased to bbnsm_rtc, while the external pcf2131 had
no fixed index. When both drivers are modules, the pcf2131 may register
first and take rtc0, pushing bbnsm_rtc to rtc1. Since suspend/resume
wakeup relies on the internal bbnsm RTC at rtc0, this broke wakeup.

Add rtc1 alias for the pcf2131 on imx93-11x11-evk and imx93-9x9-qsb,
so it keeps a fixed index while bbnsm_rtc stays rtc0.

Signed-off-by: Joy Zou <redacted>
---
 arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi | 1 +
 arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts           | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi b/arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi
index f48e7947cf64..2f3f9ebd3345 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk-common.dtsi
@@ -18,6 +18,7 @@ aliases {
 		mmc0 = &usdhc1;
 		mmc1 = &usdhc2;
 		rtc0 = &bbnsm_rtc;
+		rtc1 = &pcf2131;
 		serial0 = &lpuart1;
 		serial1 = &lpuart2;
 		serial2 = &lpuart3;
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index 01c11c517986..4e31a78963fe 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -28,6 +28,7 @@ aliases {
 		mmc0 = &usdhc1;
 		mmc1 = &usdhc2;
 		rtc0 = &bbnsm_rtc;
+		rtc1 = &pcf2131;
 		serial0 = &lpuart1;
 		serial1 = &lpuart2;
 		serial2 = &lpuart3;
@@ -306,7 +307,7 @@ typec1_dr_sw: endpoint {
 		};
 	};
 
-	rtc@53 {
+	pcf2131: rtc@53 {
 		compatible = "nxp,pcf2131";
 		reg = <0x53>;
 		interrupt-parent = <&pcal6524>;
-- 
2.34.1

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help