2023-05-03 12:34:02

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v5 0/3] Add support for ESM

ESM (Error Signaling Module) is a fundamental IP responsible for
handling safety events. The driver currently present in U-Boot is
responsible for configuring ESM. This patch series adds dt-binding and
nodes for J721E and J7200. This goes towards end goal of having DTB sync
with that of U-Boot as well as ensuring completeness of hardware
description in devicetree.

Changes in v5:
- added esm node to k3-j721e-main.dtsi

Changes in v4:
- hwmon/ti,j721e-esm.yaml -> misc/ti,j721e-esm.yaml
- retained tag by Krzysztof for dt-binding

Changes in v3:
- formatting changes in dt-binding
- modified example in dt-binding cbass_main -> bus
- changed subject misc -> hwmon

Changes in v2:
- misc/esm-k3.yaml -> hwmon/ti,j721e-esm.yaml
- formatting changes in dt-binding
- modified example in dt-binding

Neha Malcom Francis (3):
dt-bindings: misc: esm: Add ESM support for TI K3 devices
arm64: dts: ti: k3-j721e: Add ESM support
arm64: dts: ti: k3-j7200: Add ESM support

.../bindings/misc/ti,j721e-esm.yaml | 53 +++++++++++++++++++
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 6 +++
arch/arm64/boot/dts/ti/k3-j7200.dtsi | 1 +
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 6 +++
arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
5 files changed, 67 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml

--
2.34.1


2023-05-03 12:34:24

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v5 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices

Document the binding for TI K3 ESM (Error Signaling Module) block.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
.../bindings/misc/ti,j721e-esm.yaml | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml

diff --git a/Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml b/Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml
new file mode 100644
index 000000000000..408296157576
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/ti,j721e-esm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments K3 ESM
+
+maintainers:
+ - Neha Malcom Francis <[email protected]>
+
+description:
+ The ESM (Error Signaling Module) is an IP block on TI K3 devices
+ that allows handling of safety events somewhat similar to what interrupt
+ controller would do. The safety signals have their separate paths within
+ the SoC, and they are handled by the ESM, which routes them to the proper
+ destination, which can be system reset, interrupt controller, etc. In the
+ simplest configuration the signals are just routed to reset the SoC.
+
+properties:
+ compatible:
+ const: ti,j721e-esm
+
+ reg:
+ maxItems: 1
+
+ ti,esm-pins:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description:
+ integer array of ESM interrupt pins to route to external event pin
+ which can be used to reset the SoC.
+ minItems: 1
+ maxItems: 255
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - ti,esm-pins
+
+examples:
+ - |
+ bus {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ esm@700000 {
+ compatible = "ti,j721e-esm";
+ reg = <0x0 0x700000 0x0 0x1000>;
+ ti,esm-pins = <344>, <345>;
+ };
+ };
--
2.34.1

2023-05-03 12:34:34

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v5 2/3] arm64: dts: ti: k3-j721e: Add ESM support

Add address entry mapping ESM on J721E.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 6 ++++++
arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
2 files changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index 10c8a5fb4ee2..91f7e5d03440 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -2532,4 +2532,10 @@ main_spi7: spi@2170000 {
clocks = <&k3_clks 273 1>;
status = "disabled";
};
+
+ main_esm: esm@700000 {
+ compatible = "ti,j721e-esm";
+ reg = <0x0 0x700000 0x0 0x1000>;
+ ti,esm-pins = <344>, <345>;
+ };
};
diff --git a/arch/arm64/boot/dts/ti/k3-j721e.dtsi b/arch/arm64/boot/dts/ti/k3-j721e.dtsi
index b912143b6a11..52bcde601eb8 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e.dtsi
@@ -131,6 +131,7 @@ cbass_main: bus@100000 {
#size-cells = <2>;
ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
<0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
+ <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */
<0x00 0x00900000 0x00 0x00900000 0x00 0x00012000>, /* serdes */
<0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
<0x00 0x06000000 0x00 0x06000000 0x00 0x00400000>, /* USBSS0 */
--
2.34.1

2023-05-03 12:34:56

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v5 3/3] arm64: dts: ti: k3-j7200: Add ESM support

Add address entry mapping ESM on J7200.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 6 ++++++
arch/arm64/boot/dts/ti/k3-j7200.dtsi | 1 +
2 files changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
index ef352e32f19d..89f816f5e53d 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
@@ -1010,4 +1010,10 @@ main_r5fss0_core1: r5f@5d00000 {
ti,loczrama = <1>;
};
};
+
+ main_esm: esm@700000 {
+ compatible = "ti,j721e-esm";
+ reg = <0x0 0x700000 0x0 0x1000>;
+ ti,esm-pins = <656>, <657>;
+ };
};
diff --git a/arch/arm64/boot/dts/ti/k3-j7200.dtsi b/arch/arm64/boot/dts/ti/k3-j7200.dtsi
index bbe380c72a7e..4998eb4fbe75 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200.dtsi
@@ -128,6 +128,7 @@ cbass_main: bus@100000 {
#size-cells = <2>;
ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
<0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
+ <0x00 0x00700000 0x00 0x00700000 0x00 0x00001000>, /* ESM */
<0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
<0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
<0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
--
2.34.1

2023-05-04 06:55:34

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices

On 03/05/2023 14:32, Neha Malcom Francis wrote:
> Document the binding for TI K3 ESM (Error Signaling Module) block.
>
> Signed-off-by: Neha Malcom Francis <[email protected]>

???

You were already asked to keep it and it was in v4, so you had to
explicitly remove it from your git... It takes me time to figure out
what is happening here. But ok, if you do not keep my review, comment
follows.

...

> + ti,esm-pins:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + description:
> + integer array of ESM interrupt pins to route to external event pin
> + which can be used to reset the SoC.
> + minItems: 1
> + maxItems: 255
> +
> +additionalProperties: false

Put aditionalProperties after required:, just like in example-schema.

> +
> +required:
> + - compatible
> + - reg
> + - ti,esm-pins



Best regards,
Krzysztof

2023-05-04 07:52:12

by Neha Malcom Francis

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices

Hi Krzysztof

On 04/05/23 12:21, Krzysztof Kozlowski wrote:
> On 03/05/2023 14:32, Neha Malcom Francis wrote:
>> Document the binding for TI K3 ESM (Error Signaling Module) block.
>>
>> Signed-off-by: Neha Malcom Francis <[email protected]>
>
> ???
>
> You were already asked to keep it and it was in v4, so you had to
> explicitly remove it from your git... It takes me time to figure out
> what is happening here. But ok, if you do not keep my review, comment
> follows.
>
> ...

Really sorry about that, forgot to add it back for v5. Sending next
version soon...

>
>> + ti,esm-pins:
>> + $ref: /schemas/types.yaml#/definitions/uint32-array
>> + description:
>> + integer array of ESM interrupt pins to route to external event pin
>> + which can be used to reset the SoC.
>> + minItems: 1
>> + maxItems: 255
>> +
>> +additionalProperties: false
>
> Put aditionalProperties after required:, just like in example-schema.
>
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - ti,esm-pins
>
>
>
> Best regards,
> Krzysztof
>

--
Thanking You
Neha Malcom Francis