[PATCH 1/3] dt-bindings: soc/reset: ti: add binding for k3 platforms reset module

A. Sverdlin posted 3 patches 1 month ago
There is a newer version of this series
[PATCH 1/3] dt-bindings: soc/reset: ti: add binding for k3 platforms reset module
Posted by A. Sverdlin 1 month ago
From: Alexander Sverdlin <alexander.sverdlin@siemens.com>

Add DT binding for Texas Instruments K3 Multicore SoC platforms reset
module present on AM64x and newer members of the K3 family and consists of
the RST_CTRL, RST_STAT, RST_SRC and RST_MAGIC_WORD registers.

The planned usage is to provide reset reason information.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
---
 .../bindings/reset/ti,am64-rst.yaml           | 39 +++++++++++++++++++
 .../soc/ti/ti,j721e-system-controller.yaml    | 11 ++++++
 2 files changed, 50 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/reset/ti,am64-rst.yaml

diff --git a/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml b/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml
new file mode 100644
index 0000000000000..5a17cee9c6528
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/ti,am64-rst.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments K3 Multicore SoC platforms reset module
+
+maintainers:
+  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+description: |
+  Texas Instruments (ARM64) K3 Multicore SoC platforms reset module is present
+  on AM64x and newer members of the K3 family and consists of the RST_CTRL,
+  RST_STAT, RST_SRC and RST_MAGIC_WORD registers.
+
+properties:
+  $nodename:
+    pattern: "^rst@[0-9a-f]+$"
+
+  compatible:
+    items:
+      - const: ti,am64-rst
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    rst@43018170 {
+        compatible = "ti,am64-rst";
+        reg = <0x43018170 0x10>;
+    };
diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
index f3bd0be3b279f..a2071a1668f96 100644
--- a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
+++ b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
@@ -86,6 +86,12 @@ patternProperties:
     description:
       This is the DSS OLDI CTRL region.
 
+  "^rst@[0-9a-f]+$":
+    type: object
+    $ref: /schemas/reset/ti,am64-rst.yaml#
+    description:
+      The node corresponding to SoC reset module.
+
 required:
   - compatible
   - reg
@@ -133,5 +139,10 @@ examples:
             compatible = "ti,j784s4-pcie-ctrl", "syscon";
             reg = <0x4070 0x4>;
         };
+
+        rst@18170 {
+            compatible = "ti,am64-rst";
+            reg = <0x18170 0x10>;
+        };
     };
 ...
-- 
2.52.0
Re: [PATCH 1/3] dt-bindings: soc/reset: ti: add binding for k3 platforms reset module
Posted by Krzysztof Kozlowski 1 month ago
On 09/03/2026 11:07, A. Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> 
> Add DT binding for Texas Instruments K3 Multicore SoC platforms reset
> module present on AM64x and newer members of the K3 family and consists of
> the RST_CTRL, RST_STAT, RST_SRC and RST_MAGIC_WORD registers.
> 
> The planned usage is to provide reset reason information.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> ---
>  .../bindings/reset/ti,am64-rst.yaml           | 39 +++++++++++++++++++
>  .../soc/ti/ti,j721e-system-controller.yaml    | 11 ++++++
>  2 files changed, 50 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/reset/ti,am64-rst.yaml
> 
> diff --git a/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml b/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml
> new file mode 100644
> index 0000000000000..5a17cee9c6528
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/reset/ti,am64-rst.yaml
> @@ -0,0 +1,39 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reset/ti,am64-rst.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments K3 Multicore SoC platforms reset module
> +
> +maintainers:
> +  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +description: |

Do not need '|' unless you need to preserve formatting.

> +  Texas Instruments (ARM64) K3 Multicore SoC platforms reset module is present
> +  on AM64x and newer members of the K3 family and consists of the RST_CTRL,
> +  RST_STAT, RST_SRC and RST_MAGIC_WORD registers.
> +
> +properties:
> +  $nodename:
> +    pattern: "^rst@[0-9a-f]+$"

Drop. Neither correct, nor needed.

> +
> +  compatible:
> +    items:

Drop items

> +      - const: ti,am64-rst
> +
> +  reg:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    rst@43018170 {
> +        compatible = "ti,am64-rst";
> +        reg = <0x43018170 0x10>;

This looks like just 4 registers, so part of syscon....

> +    };
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> index f3bd0be3b279f..a2071a1668f96 100644
> --- a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> @@ -86,6 +86,12 @@ patternProperties:
>      description:
>        This is the DSS OLDI CTRL region.
>  
> +  "^rst@[0-9a-f]+$":
> +    type: object
> +    $ref: /schemas/reset/ti,am64-rst.yaml#

And here is a proof. No, individual registers are not separate devices.

Not a separate device = no device node.


Best regards,
Krzysztof
Re: [PATCH 1/3] dt-bindings: soc/reset: ti: add binding for k3 platforms reset module
Posted by Sverdlin, Alexander 1 month ago
Hi Krzysztof,

On Mon, 2026-03-09 at 11:51 +0100, Krzysztof Kozlowski wrote:
> > +      - const: ti,am64-rst
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    rst@43018170 {
> > +        compatible = "ti,am64-rst";
> > +        reg = <0x43018170 0x10>;
> 
> This looks like just 4 registers, so part of syscon....

it is... I've copied ti,am654-chipid actually...

> > +    };
> > diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > index f3bd0be3b279f..a2071a1668f96 100644
> > --- a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > +++ b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > @@ -86,6 +86,12 @@ patternProperties:
> >       description:
> >         This is the DSS OLDI CTRL region.
> >   
> > +  "^rst@[0-9a-f]+$":
> > +    type: object
> > +    $ref: /schemas/reset/ti,am64-rst.yaml#
> 
> And here is a proof. No, individual registers are not separate devices.
> 
> Not a separate device = no device node.

I see! Thanks for the quick review! Seems that I've picked the only counter-example,
all the rest from the same syscon block, like "ti,am62-opp-efuse-table", lives
in mfd/syscon.yaml...

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com
Re: [PATCH 1/3] dt-bindings: soc/reset: ti: add binding for k3 platforms reset module
Posted by Philipp Zabel 1 month ago
On Mo, 2026-03-09 at 11:07 +0100, A. Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> 
> Add DT binding for Texas Instruments K3 Multicore SoC platforms reset
> module present on AM64x and newer members of the K3 family and consists of
> the RST_CTRL, RST_STAT, RST_SRC and RST_MAGIC_WORD registers.
> 
> The planned usage is to provide reset reason information.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> ---
>  .../bindings/reset/ti,am64-rst.yaml           | 39 +++++++++++++++++++

I think this might belong in .../bindings/power/reset instead.
Or maybe .../bindings/soc/(ti/)?

Like 'device', the term 'reset' is a bit overloaded.

The existing binding docs in .../bindings/reset/ describe peripheral
reset controllers that provide reset signals to other hardware blocks.
See Documentation/devicetree/bindings/reset/reset.txt.

Since your bindings don't contain #reset-cells, I assume the RST_CTRL
register does not contain direct control of reset signals that need to
be operated during runtime.

System reset (restart/poweroff) machinery related bindings are found in
.../bindings/power/reset.

regards
Philipp