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
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
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
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
© 2016 - 2026 Red Hat, Inc.