linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node
  2024-09-09  1:47 [PATCH 0/2] mips: realtek: Add reboot support Chris Packham
@ 2024-09-09  1:47 ` Chris Packham
  2024-09-09  8:06   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Packham @ 2024-09-09  1:47 UTC (permalink / raw)
  To: lee, robh, krzk+dt, conor+dt, tsbogend
  Cc: devicetree, linux-kernel, linux-mips, Chris Packham

The board level reset on systems using the RTL9302 can be driven via the
switch. Use a syscon-reboot node to represent this.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
 .../dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts    |  3 +++
 arch/mips/boot/dts/realtek/rtl930x.dtsi               | 11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git a/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts b/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
index 77d2566545f2..a517135446a3 100644
--- a/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
+++ b/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
@@ -71,3 +71,6 @@ partition@1180000 {
 		};
 	};
 };
+&switch0 {
+	status = "okay";
+};
diff --git a/arch/mips/boot/dts/realtek/rtl930x.dtsi b/arch/mips/boot/dts/realtek/rtl930x.dtsi
index f271940f82be..cf1b38b6c353 100644
--- a/arch/mips/boot/dts/realtek/rtl930x.dtsi
+++ b/arch/mips/boot/dts/realtek/rtl930x.dtsi
@@ -29,6 +29,17 @@ lx_clk: clock-175mhz {
 		#clock-cells = <0>;
 		clock-frequency  = <175000000>;
 	};
+
+	switch0: switch@1b000000 {
+		compatible = "realtek,rtl9302c-switch", "syscon", "simple-mfd";
+		reg = <0x1b000000 0x10000>;
+
+		reboot {
+			compatible = "syscon-reboot";
+			offset = <0x0c>;
+			value = <0x01>;
+		};
+	};
 };
 
 &soc {
-- 
2.46.0


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

* Re: [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node
  2024-09-09  1:47 ` [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node Chris Packham
@ 2024-09-09  8:06   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2024-09-09  8:06 UTC (permalink / raw)
  To: Chris Packham, lee, robh, krzk+dt, conor+dt, tsbogend
  Cc: devicetree, linux-kernel, linux-mips

On 09/09/2024 03:47, Chris Packham wrote:
> The board level reset on systems using the RTL9302 can be driven via the
> switch. Use a syscon-reboot node to represent this.
> 
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>  .../dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts    |  3 +++
>  arch/mips/boot/dts/realtek/rtl930x.dtsi               | 11 +++++++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts b/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
> index 77d2566545f2..a517135446a3 100644
> --- a/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
> +++ b/arch/mips/boot/dts/realtek/cameo-rtl9302c-2x-rtl8224-2xge.dts
> @@ -71,3 +71,6 @@ partition@1180000 {
>  		};
>  	};
>  };
> +&switch0 {
> +	status = "okay";
> +};

Drop, redundant.

Best regards,
Krzysztof


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

* [PATCH 0/2] mips: realtek: Add reboot support
@ 2024-09-20  0:01 Chris Packham
  2024-09-20  0:01 ` [PATCH 1/2] dt-bindings: mfd: Add Realtek switch Chris Packham
  2024-09-20  0:01 ` [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node Chris Packham
  0 siblings, 2 replies; 5+ messages in thread
From: Chris Packham @ 2024-09-20  0:01 UTC (permalink / raw)
  To: lee, robh, krzk+dt, conor+dt, tsbogend
  Cc: devicetree, linux-kernel, linux-mips, Chris Packham

The system reboot on the cameo-rtl9302c (and presumably many other boards based
on the realtek reference design) is connected via the switch reset register
(RST_GLB_CTRL_0).

Because the switch register block encompasses a number of functions that would
normally be separate perhipherals I've represented it as a syscon node. Right
now the only peripheral I've added is the reset (using syscon-reboot). The
binding and syscon node will be expanded in the future to add some additional
functions (e.g. I2C, GPIO, MDIO).

Chris Packham (2):
  dt-bindings: mfd: Add Realtek switch
  mips: dts: realtek: Add syscon-reboot node

 .../bindings/mfd/realtek,rtl9302c-switch.yaml | 50 +++++++++++++++++++
 arch/mips/boot/dts/realtek/rtl930x.dtsi       | 11 ++++
 2 files changed, 61 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/realtek,rtl9302c-switch.yaml

-- 
2.46.1


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

* [PATCH 1/2] dt-bindings: mfd: Add Realtek switch
  2024-09-20  0:01 [PATCH 0/2] mips: realtek: Add reboot support Chris Packham
@ 2024-09-20  0:01 ` Chris Packham
  2024-09-20  0:01 ` [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node Chris Packham
  1 sibling, 0 replies; 5+ messages in thread
From: Chris Packham @ 2024-09-20  0:01 UTC (permalink / raw)
  To: lee, robh, krzk+dt, conor+dt, tsbogend
  Cc: devicetree, linux-kernel, linux-mips, Chris Packham

Add device tree schema for the Realtek switch. Currently the only
supported feature is the syscon-reboot which is needed to be able to
reboot the board.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---

Notes:
    Changes in v3:
    - fix schema id to match filename
    Changes in v2:
    - use filename that matches the compatible
    - put maintainers after title
    - remove unnecessary label in example
    - Rework description to focus on what is implemented rather than what
      may be implemented in the future.

 .../bindings/mfd/realtek,rtl9302c-switch.yaml | 50 +++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/realtek,rtl9302c-switch.yaml

diff --git a/Documentation/devicetree/bindings/mfd/realtek,rtl9302c-switch.yaml b/Documentation/devicetree/bindings/mfd/realtek,rtl9302c-switch.yaml
new file mode 100644
index 000000000000..2d20dd07a7e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/realtek,rtl9302c-switch.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/realtek,rtl9302c-switch.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Realtek Switch with Internal CPU
+
+maintainers:
+  - Chris Packham <chris.packham@alliedtelesis.co.nz>
+
+description:
+  The RTL9302 is an Ethernet switch with an integrated CPU. A number of
+  different peripherals are accessed through a common register block,
+  represented here as a syscon node.
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - realtek,rtl9302c-switch
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  reboot:
+    $ref: /schemas/power/reset/syscon-reboot.yaml#
+
+required:
+  - compatible
+  - reg
+  - reboot
+
+additionalProperties: false
+
+examples:
+  - |
+    ethernet-switch@1b000000 {
+      compatible = "realtek,rtl9302c-switch", "syscon", "simple-mfd";
+      reg = <0x1b000000 0x10000>;
+
+      reboot {
+        compatible = "syscon-reboot";
+        offset = <0x0c>;
+        value = <0x01>;
+      };
+    };
+
-- 
2.46.1


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

* [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node
  2024-09-20  0:01 [PATCH 0/2] mips: realtek: Add reboot support Chris Packham
  2024-09-20  0:01 ` [PATCH 1/2] dt-bindings: mfd: Add Realtek switch Chris Packham
@ 2024-09-20  0:01 ` Chris Packham
  1 sibling, 0 replies; 5+ messages in thread
From: Chris Packham @ 2024-09-20  0:01 UTC (permalink / raw)
  To: lee, robh, krzk+dt, conor+dt, tsbogend
  Cc: devicetree, linux-kernel, linux-mips, Chris Packham

The board level reset on systems using the RTL9302 can be driven via the
switch. Use a syscon-reboot node to represent this.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---

Notes:
    Changes in v3:
    - None
    Changes in v2:
    - drop redundant status = "okay"

 arch/mips/boot/dts/realtek/rtl930x.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/mips/boot/dts/realtek/rtl930x.dtsi b/arch/mips/boot/dts/realtek/rtl930x.dtsi
index f271940f82be..cf1b38b6c353 100644
--- a/arch/mips/boot/dts/realtek/rtl930x.dtsi
+++ b/arch/mips/boot/dts/realtek/rtl930x.dtsi
@@ -29,6 +29,17 @@ lx_clk: clock-175mhz {
 		#clock-cells = <0>;
 		clock-frequency  = <175000000>;
 	};
+
+	switch0: switch@1b000000 {
+		compatible = "realtek,rtl9302c-switch", "syscon", "simple-mfd";
+		reg = <0x1b000000 0x10000>;
+
+		reboot {
+			compatible = "syscon-reboot";
+			offset = <0x0c>;
+			value = <0x01>;
+		};
+	};
 };
 
 &soc {
-- 
2.46.1


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

end of thread, other threads:[~2024-09-20  0:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-20  0:01 [PATCH 0/2] mips: realtek: Add reboot support Chris Packham
2024-09-20  0:01 ` [PATCH 1/2] dt-bindings: mfd: Add Realtek switch Chris Packham
2024-09-20  0:01 ` [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node Chris Packham
  -- strict thread matches above, loose matches on Subject: below --
2024-09-09  1:47 [PATCH 0/2] mips: realtek: Add reboot support Chris Packham
2024-09-09  1:47 ` [PATCH 2/2] mips: dts: realtek: Add syscon-reboot node Chris Packham
2024-09-09  8:06   ` Krzysztof Kozlowski

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).