* [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal
@ 2025-09-13 10:24 Chen-Yu Tsai
2025-09-13 10:24 ` [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal Chen-Yu Tsai
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Chen-Yu Tsai @ 2025-09-13 10:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
From: Chen-Yu Tsai <wens@csie.org>
The Radxa Cubie A5E has empty pads for a 32.768 KHz crystal, but it is
left unpopulated, as per the schematics and seen on board images. A dead
give away is the RTC's LOSC auto switch register showing the external
OSC to be abnormal.
Drop the external crystal from the device tree. It was not referenced
anyway.
Fixes: c2520cd032ae ("arm64: dts: allwinner: a523: add Radxa A5E support")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 7 -------
1 file changed, 7 deletions(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
index 71074b072184..e333bbaf01d3 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
@@ -24,13 +24,6 @@ chosen {
stdout-path = "serial0:115200n8";
};
- ext_osc32k: ext-osc32k-clk {
- #clock-cells = <0>;
- compatible = "fixed-clock";
- clock-frequency = <32768>;
- clock-output-names = "ext_osc32k";
- };
-
leds {
compatible = "gpio-leds";
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal
2025-09-13 10:24 [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Chen-Yu Tsai
@ 2025-09-13 10:24 ` Chen-Yu Tsai
2025-09-13 11:31 ` Jernej Škrabec
2025-09-13 10:24 ` [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: " Chen-Yu Tsai
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Chen-Yu Tsai @ 2025-09-13 10:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
From: Chen-Yu Tsai <wens@csie.org>
When the board was added, its external 32.768 KHz crystal was described
but not hooked up correctly. This meant the device had to fall back to
the SoC's internal oscillator or divide a 32 KHz clock from the main
oscillator, neither of which are accurate for the RTC. As a result the
RTC clock will drift badly.
Hook the crystal up to the RTC block and request the correct clock rate.
Fixes: dbe54efa32af ("arm64: dts: allwinner: a523: add Avaota-A1 router support")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
index 535387912d9b..054d0357c139 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
@@ -354,6 +354,14 @@ &r_pio {
vcc-pm-supply = <®_aldo3>;
};
+&rtc {
+ clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc24M>,
+ <&r_ccu CLK_R_AHB>, <&ext_osc32k>;
+ clock-names = "bus", "hosc", "ahb", "ext-osc32k";
+ assigned-clocks = <&rtc CLK_OSC32K>;
+ assigned-clock-rates = <32768>;
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: hook up external 32k crystal
2025-09-13 10:24 [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Chen-Yu Tsai
2025-09-13 10:24 ` [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal Chen-Yu Tsai
@ 2025-09-13 10:24 ` Chen-Yu Tsai
2025-09-13 11:31 ` Jernej Škrabec
2025-09-13 11:30 ` [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Jernej Škrabec
2025-09-14 16:29 ` Chen-Yu Tsai
3 siblings, 1 reply; 7+ messages in thread
From: Chen-Yu Tsai @ 2025-09-13 10:24 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
From: Chen-Yu Tsai <wens@csie.org>
When the board was added, its external 32.768 KHz crystal was described
but not hooked up correctly. This meant the device had to fall back to
the SoC's internal oscillator or divide a 32 KHz clock from the main
oscillator, neither of which are accurate for the RTC. As a result the
RTC clock will drift badly.
Hook the crystal up to the RTC block and request the correct clock rate.
Fixes: de713ccb9934 ("arm64: dts: allwinner: t527: Add OrangePi 4A board")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
index fb5311a46c2e..f71860db83d3 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
@@ -393,6 +393,14 @@ &r_pio {
vcc-pm-supply = <®_bldo2>;
};
+&rtc {
+ clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc24M>,
+ <&r_ccu CLK_R_AHB>, <&ext_osc32k>;
+ clock-names = "bus", "hosc", "ahb", "ext-osc32k";
+ assigned-clocks = <&rtc CLK_OSC32K>;
+ assigned-clock-rates = <32768>;
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal
2025-09-13 10:24 [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Chen-Yu Tsai
2025-09-13 10:24 ` [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal Chen-Yu Tsai
2025-09-13 10:24 ` [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: " Chen-Yu Tsai
@ 2025-09-13 11:30 ` Jernej Škrabec
2025-09-14 16:29 ` Chen-Yu Tsai
3 siblings, 0 replies; 7+ messages in thread
From: Jernej Škrabec @ 2025-09-13 11:30 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara,
Chen-Yu Tsai
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
Dne sobota, 13. september 2025 ob 12:24:48 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> From: Chen-Yu Tsai <wens@csie.org>
>
> The Radxa Cubie A5E has empty pads for a 32.768 KHz crystal, but it is
> left unpopulated, as per the schematics and seen on board images. A dead
> give away is the RTC's LOSC auto switch register showing the external
> OSC to be abnormal.
>
> Drop the external crystal from the device tree. It was not referenced
> anyway.
>
> Fixes: c2520cd032ae ("arm64: dts: allwinner: a523: add Radxa A5E support")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
> index 71074b072184..e333bbaf01d3 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
> @@ -24,13 +24,6 @@ chosen {
> stdout-path = "serial0:115200n8";
> };
>
> - ext_osc32k: ext-osc32k-clk {
> - #clock-cells = <0>;
> - compatible = "fixed-clock";
> - clock-frequency = <32768>;
> - clock-output-names = "ext_osc32k";
> - };
> -
> leds {
> compatible = "gpio-leds";
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal
2025-09-13 10:24 ` [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal Chen-Yu Tsai
@ 2025-09-13 11:31 ` Jernej Škrabec
0 siblings, 0 replies; 7+ messages in thread
From: Jernej Škrabec @ 2025-09-13 11:31 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara,
Chen-Yu Tsai
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
Dne sobota, 13. september 2025 ob 12:24:49 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> From: Chen-Yu Tsai <wens@csie.org>
>
> When the board was added, its external 32.768 KHz crystal was described
> but not hooked up correctly. This meant the device had to fall back to
> the SoC's internal oscillator or divide a 32 KHz clock from the main
> oscillator, neither of which are accurate for the RTC. As a result the
> RTC clock will drift badly.
>
> Hook the crystal up to the RTC block and request the correct clock rate.
>
> Fixes: dbe54efa32af ("arm64: dts: allwinner: a523: add Avaota-A1 router support")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> index 535387912d9b..054d0357c139 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> @@ -354,6 +354,14 @@ &r_pio {
> vcc-pm-supply = <®_aldo3>;
> };
>
> +&rtc {
> + clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc24M>,
> + <&r_ccu CLK_R_AHB>, <&ext_osc32k>;
> + clock-names = "bus", "hosc", "ahb", "ext-osc32k";
> + assigned-clocks = <&rtc CLK_OSC32K>;
> + assigned-clock-rates = <32768>;
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pb_pins>;
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: hook up external 32k crystal
2025-09-13 10:24 ` [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: " Chen-Yu Tsai
@ 2025-09-13 11:31 ` Jernej Škrabec
0 siblings, 0 replies; 7+ messages in thread
From: Jernej Škrabec @ 2025-09-13 11:31 UTC (permalink / raw)
To: Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Andre Przywara,
Chen-Yu Tsai
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
Dne sobota, 13. september 2025 ob 12:24:50 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> From: Chen-Yu Tsai <wens@csie.org>
>
> When the board was added, its external 32.768 KHz crystal was described
> but not hooked up correctly. This meant the device had to fall back to
> the SoC's internal oscillator or divide a 32 KHz clock from the main
> oscillator, neither of which are accurate for the RTC. As a result the
> RTC clock will drift badly.
>
> Hook the crystal up to the RTC block and request the correct clock rate.
>
> Fixes: de713ccb9934 ("arm64: dts: allwinner: t527: Add OrangePi 4A board")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
> index fb5311a46c2e..f71860db83d3 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
> @@ -393,6 +393,14 @@ &r_pio {
> vcc-pm-supply = <®_bldo2>;
> };
>
> +&rtc {
> + clocks = <&r_ccu CLK_BUS_R_RTC>, <&osc24M>,
> + <&r_ccu CLK_R_AHB>, <&ext_osc32k>;
> + clock-names = "bus", "hosc", "ahb", "ext-osc32k";
> + assigned-clocks = <&rtc CLK_OSC32K>;
> + assigned-clock-rates = <32768>;
> +};
> +
> &uart0 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart0_pb_pins>;
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal
2025-09-13 10:24 [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Chen-Yu Tsai
` (2 preceding siblings ...)
2025-09-13 11:30 ` [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Jernej Škrabec
@ 2025-09-14 16:29 ` Chen-Yu Tsai
3 siblings, 0 replies; 7+ messages in thread
From: Chen-Yu Tsai @ 2025-09-14 16:29 UTC (permalink / raw)
To: Jernej Skrabec, Samuel Holland, Andre Przywara, Chen-Yu Tsai
Cc: linux-sunxi, devicetree, linux-arm-kernel, linux-kernel
On Sat, 13 Sep 2025 18:24:48 +0800, Chen-Yu Tsai wrote:
> The Radxa Cubie A5E has empty pads for a 32.768 KHz crystal, but it is
> left unpopulated, as per the schematics and seen on board images. A dead
> give away is the RTC's LOSC auto switch register showing the external
> OSC to be abnormal.
>
> Drop the external crystal from the device tree. It was not referenced
> anyway.
>
> [...]
Applied to sunxi/dt-for-6.18 in local tree, thanks!
[1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal
commit: 9f01e1e14e71defefcb4d6823b8476a15f3cf04a
[2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal
commit: 3d5e1ba00af8dd34ae1e573c2c07e00b5ec65267
[3/3] arm64: dts: allwinner: t527: orangepi-4a: hook up external 32k crystal
commit: bd1ce7ef6aef4ee7349eb3124166e712693650ce
Best regards,
--
Chen-Yu Tsai <wens@csie.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-09-14 16:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-13 10:24 [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Chen-Yu Tsai
2025-09-13 10:24 ` [PATCH 2/3] arm64: dts: allwinner: t527: avaota-a1: hook up external 32k crystal Chen-Yu Tsai
2025-09-13 11:31 ` Jernej Škrabec
2025-09-13 10:24 ` [PATCH 3/3] arm64: dts: allwinner: t527: orangepi-4a: " Chen-Yu Tsai
2025-09-13 11:31 ` Jernej Škrabec
2025-09-13 11:30 ` [PATCH 1/3] arm64: dts: allwinner: a527: cubie-a5e: Drop external 32.768 KHz crystal Jernej Škrabec
2025-09-14 16:29 ` Chen-Yu Tsai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox