devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/5] ARM: dts: realtek: SB2 semaphores
@ 2019-12-02 22:05 Andreas Färber
  2019-12-02 22:05 ` [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2 Andreas Färber
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 22:05 UTC (permalink / raw)
  To: linux-realtek-soc
  Cc: Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, devicetree, Rob Herring

Hello,

This patch series implements hardware semaphores found in SB2 bridge.

Downstream BSP code assigns the same first semaphore to both CRT and Iso nodes,
which seems inefficient in light of nine semaphore registers and is therefore
deferred in this initial RFC.

This series is based on my syscon series [1].

Latest experimental patches at:
https://github.com/afaerber/linux/commits/rtd1295-next

Have a lot of fun!

Cheers,
Andreas

[1] https://patchwork.kernel.org/cover/11269453/

Cc: devicetree@vger.kernel.org
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Cheng-Yu Lee <cylee12@realtek.com>

Andreas Färber (5):
  dt-bindings: hwlock: Add Realtek RTD1195 SB2
  hwspinlock: Add Realtek RTD1195 SB2
  ARM: dts: rtd1195: Add SB2 sem nodes
  arm64: dts: realtek: rtd129x: Add SB2 sem nodes
  arm64: dts: realtek: rtd139x: Add SB2 sem nodes

 .../bindings/hwlock/realtek,rtd1195-sb2-sem.yaml   |  42 +++++++++
 arch/arm/boot/dts/rtd1195.dtsi                     |  14 +++
 arch/arm64/boot/dts/realtek/rtd129x.dtsi           |  14 +++
 arch/arm64/boot/dts/realtek/rtd139x.dtsi           |  14 +++
 drivers/hwspinlock/Kconfig                         |  11 +++
 drivers/hwspinlock/Makefile                        |   1 +
 drivers/hwspinlock/rtd1195_sb2_sem.c               | 101 +++++++++++++++++++++
 7 files changed, 197 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml
 create mode 100644 drivers/hwspinlock/rtd1195_sb2_sem.c

-- 
2.16.4


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2
  2019-12-02 22:05 [RFC 0/5] ARM: dts: realtek: SB2 semaphores Andreas Färber
@ 2019-12-02 22:05 ` Andreas Färber
  2019-12-13 23:40   ` Rob Herring
  2019-12-02 22:05 ` [RFC 3/5] ARM: dts: rtd1195: Add SB2 sem nodes Andreas Färber
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 22:05 UTC (permalink / raw)
  To: linux-realtek-soc
  Cc: Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, Ohad Ben-Cohen, Bjorn Andersson,
	Rob Herring, Mark Rutland, linux-remoteproc, devicetree

Define a binding for Realtek RTD1195 SoC's SB2 hardware semaphore.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 .../bindings/hwlock/realtek,rtd1195-sb2-sem.yaml   | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml

diff --git a/Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml b/Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml
new file mode 100644
index 000000000000..8035af02c667
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwlock/realtek,rtd1195-sb2-sem.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Realtek RTD1195 SB2 hardware semaphore device tree binding
+
+maintainers:
+  - Andreas Färber <afaerber@suse.de>
+
+properties:
+  compatible:
+    const: realtek,rtd1195-sb2-sem
+
+  reg:
+    maxItems: 1
+
+  "#hwlock-cells":
+    enum: [ 0, 1 ]
+
+required:
+  - compatible
+  - reg
+  - "#hwlock-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    hwspinlock@9801a000 {
+      compatible = "realtek,rtd1195-sb2-sem";
+      reg = <0x9801a000 0x4>;
+      #hwlock-cells = <0>;
+    };
+  - |
+    hwspinlock@9801a620 {
+      compatible = "realtek,rtd1195-sb2-sem";
+      reg = <0x9801a620 0x20>;
+      #hwlock-cells = <1>;
+    };
+...
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [RFC 3/5] ARM: dts: rtd1195: Add SB2 sem nodes
  2019-12-02 22:05 [RFC 0/5] ARM: dts: realtek: SB2 semaphores Andreas Färber
  2019-12-02 22:05 ` [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2 Andreas Färber
@ 2019-12-02 22:05 ` Andreas Färber
  2019-12-02 22:05 ` [RFC 4/5] arm64: dts: realtek: rtd129x: " Andreas Färber
  2019-12-02 22:05 ` [RFC 5/5] arm64: dts: realtek: rtd139x: " Andreas Färber
  3 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 22:05 UTC (permalink / raw)
  To: linux-realtek-soc
  Cc: Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, Rob Herring, Mark Rutland, devicetree

Add DT nodes to SB2 for hardware semaphores on RTD1195 SoC.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/boot/dts/rtd1195.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/rtd1195.dtsi b/arch/arm/boot/dts/rtd1195.dtsi
index 21897210d9d0..6fd12a2d766e 100644
--- a/arch/arm/boot/dts/rtd1195.dtsi
+++ b/arch/arm/boot/dts/rtd1195.dtsi
@@ -215,3 +215,17 @@
 		status = "disabled";
 	};
 };
+
+&sb2 {
+	sb2_hd_sem: hwspinlock@0 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x0 0x4>;
+		#hwlock-cells = <0>;
+	};
+
+	sb2_hd_sem_new: hwspinlock@620 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x620 0x20>;
+		#hwlock-cells = <1>;
+	};
+};
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [RFC 4/5] arm64: dts: realtek: rtd129x: Add SB2 sem nodes
  2019-12-02 22:05 [RFC 0/5] ARM: dts: realtek: SB2 semaphores Andreas Färber
  2019-12-02 22:05 ` [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2 Andreas Färber
  2019-12-02 22:05 ` [RFC 3/5] ARM: dts: rtd1195: Add SB2 sem nodes Andreas Färber
@ 2019-12-02 22:05 ` Andreas Färber
  2019-12-02 22:05 ` [RFC 5/5] arm64: dts: realtek: rtd139x: " Andreas Färber
  3 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 22:05 UTC (permalink / raw)
  To: linux-realtek-soc
  Cc: Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, Rob Herring, Mark Rutland, devicetree

Add DT nodes to SB2 for hardware sempaphores in RTD1295 SoC family.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm64/boot/dts/realtek/rtd129x.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/realtek/rtd129x.dtsi b/arch/arm64/boot/dts/realtek/rtd129x.dtsi
index 39aefe66a794..93ab6fdd03d4 100644
--- a/arch/arm64/boot/dts/realtek/rtd129x.dtsi
+++ b/arch/arm64/boot/dts/realtek/rtd129x.dtsi
@@ -193,3 +193,17 @@
 		status = "disabled";
 	};
 };
+
+&sb2 {
+	sb2_hd_sem: hwspinlock@0 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x0 0x4>;
+		#hwlock-cells = <0>;
+	};
+
+	sb2_hd_sem_new: hwspinlock@620 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x620 0x20>;
+		#hwlock-cells = <1>;
+	};
+};
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [RFC 5/5] arm64: dts: realtek: rtd139x: Add SB2 sem nodes
  2019-12-02 22:05 [RFC 0/5] ARM: dts: realtek: SB2 semaphores Andreas Färber
                   ` (2 preceding siblings ...)
  2019-12-02 22:05 ` [RFC 4/5] arm64: dts: realtek: rtd129x: " Andreas Färber
@ 2019-12-02 22:05 ` Andreas Färber
  2019-12-02 23:12   ` Andreas Färber
  3 siblings, 1 reply; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 22:05 UTC (permalink / raw)
  To: linux-realtek-soc
  Cc: Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, Rob Herring, Mark Rutland, devicetree

Add DT nodes to SB2 for hardware semaphores in RTD1395 SoC family.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm64/boot/dts/realtek/rtd139x.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/realtek/rtd139x.dtsi b/arch/arm64/boot/dts/realtek/rtd139x.dtsi
index a3c10ceeb586..586b05350274 100644
--- a/arch/arm64/boot/dts/realtek/rtd139x.dtsi
+++ b/arch/arm64/boot/dts/realtek/rtd139x.dtsi
@@ -191,3 +191,17 @@
 		status = "disabled";
 	};
 };
+
+&sb2 {
+	sb2_hd_sem: hwspinlock@0 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x0 0x4>;
+		#hwlock-cells = <0>;
+	};
+
+	sb2_hd_sem_new: hwspinlock@620 {
+		compatible = "realtek,rtd1195-sb2-sem";
+		reg = <0x620 0x20>;
+		#hwlock-cells = <1>;
+	};
+};
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [RFC 5/5] arm64: dts: realtek: rtd139x: Add SB2 sem nodes
  2019-12-02 22:05 ` [RFC 5/5] arm64: dts: realtek: rtd139x: " Andreas Färber
@ 2019-12-02 23:12   ` Andreas Färber
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Färber @ 2019-12-02 23:12 UTC (permalink / raw)
  To: linux-realtek-soc, Cheng-Yu Lee, James Tai
  Cc: Mark Rutland, devicetree, linux-kernel, Rob Herring, linux-arm-kernel

Am 02.12.19 um 23:05 schrieb Andreas Färber:
> Add DT nodes to SB2 for hardware semaphores in RTD1395 SoC family.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  arch/arm64/boot/dts/realtek/rtd139x.dtsi | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/realtek/rtd139x.dtsi b/arch/arm64/boot/dts/realtek/rtd139x.dtsi
> index a3c10ceeb586..586b05350274 100644
> --- a/arch/arm64/boot/dts/realtek/rtd139x.dtsi
> +++ b/arch/arm64/boot/dts/realtek/rtd139x.dtsi
> @@ -191,3 +191,17 @@
>  		status = "disabled";
>  	};
>  };
> +
> +&sb2 {
> +	sb2_hd_sem: hwspinlock@0 {
> +		compatible = "realtek,rtd1195-sb2-sem";
> +		reg = <0x0 0x4>;
> +		#hwlock-cells = <0>;
> +	};
> +
> +	sb2_hd_sem_new: hwspinlock@620 {
> +		compatible = "realtek,rtd1195-sb2-sem";
> +		reg = <0x620 0x20>;
> +		#hwlock-cells = <1>;
> +	};

Forgot to mention: These last 8 registers (0x20) are a guess, untested.
@Realtek: Can someone please check whether RTD1395 has the same nine sem
registers as RTD1295?

Similarly, this series is lacking a patch for RTD1619 because - same as
for RTD1295/RTD1395 - BSP DT only shows the first one (cf. coverletter).
Same issue for RTD1319 while at it.

Thanks,
Andreas

> +};

-- 
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer
HRB 36809 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2
  2019-12-02 22:05 ` [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2 Andreas Färber
@ 2019-12-13 23:40   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2019-12-13 23:40 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-realtek-soc, Cheng-Yu Lee, linux-arm-kernel, linux-kernel,
	Andreas Färber, Ohad Ben-Cohen, Bjorn Andersson,
	Mark Rutland, linux-remoteproc, devicetree

On Mon,  2 Dec 2019 23:05:31 +0100, =?UTF-8?q?Andreas=20F=C3=A4rber?= wrote:
> Define a binding for Realtek RTD1195 SoC's SB2 hardware semaphore.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  .../bindings/hwlock/realtek,rtd1195-sb2-sem.yaml   | 42 ++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/hwlock/realtek,rtd1195-sb2-sem.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-13 23:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-02 22:05 [RFC 0/5] ARM: dts: realtek: SB2 semaphores Andreas Färber
2019-12-02 22:05 ` [RFC 1/5] dt-bindings: hwlock: Add Realtek RTD1195 SB2 Andreas Färber
2019-12-13 23:40   ` Rob Herring
2019-12-02 22:05 ` [RFC 3/5] ARM: dts: rtd1195: Add SB2 sem nodes Andreas Färber
2019-12-02 22:05 ` [RFC 4/5] arm64: dts: realtek: rtd129x: " Andreas Färber
2019-12-02 22:05 ` [RFC 5/5] arm64: dts: realtek: rtd139x: " Andreas Färber
2019-12-02 23:12   ` Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).