2023-02-13 23:20:31

by Bastian Germann

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: allwinner: a64: Add hwspinlock node

Add the hwspinlock to A64 which is already implemented for A31.

Signed-off-by: Bastian Germann <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 77b5349f6087..d4be8be0f2f3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -851,6 +851,16 @@ wdt0: watchdog@1c20ca0 {
clocks = <&osc24M>;
};

+ hwspinlock: hwlock@1c18000 {
+ compatible = "allwinner,sun6i-a31-hwspinlock";
+ reg = <0x01c18000 0x1000>;
+ clocks = <&ccu CLK_BUS_SPINLOCK>;
+ clock-names = "ahb";
+ resets = <&ccu RST_BUS_SPINLOCK>;
+ reset-names = "ahb";
+ #hwlock-cells = <1>;
+ };
+
spdif: spdif@1c21000 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun50i-a64-spdif",
--
2.39.1



2023-02-14 00:14:16

by Andre Przywara

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: allwinner: a64: Add hwspinlock node

On Tue, 14 Feb 2023 00:19:30 +0100
Bastian Germann <[email protected]> wrote:

Hi,

> Add the hwspinlock to A64 which is already implemented for A31.
>
> Signed-off-by: Bastian Germann <[email protected]>
> ---
> arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> index 77b5349f6087..d4be8be0f2f3 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> @@ -851,6 +851,16 @@ wdt0: watchdog@1c20ca0 {
> clocks = <&osc24M>;
> };
>
> + hwspinlock: hwlock@1c18000 {
> + compatible = "allwinner,sun6i-a31-hwspinlock";

I wonder if we should add a more specific compatible string here
(sun50i-a64-hwspinlock), with the existing one as a fallback.

Checked the address and the clock/reset against the manual.

I am not entirely sure if it's the best practice to unconditionally
enable those devices, but since it needs explicit consumers to be used,
it's probably fine.

Cheers,
Andre


> + reg = <0x01c18000 0x1000>;
> + clocks = <&ccu CLK_BUS_SPINLOCK>;
> + clock-names = "ahb";
> + resets = <&ccu RST_BUS_SPINLOCK>;
> + reset-names = "ahb";
> + #hwlock-cells = <1>;
> + };
> +
> spdif: spdif@1c21000 {
> #sound-dai-cells = <0>;
> compatible = "allwinner,sun50i-a64-spdif",