2023-05-03 09:34:07

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v4 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 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.dtsi | 1 +
4 files changed, 61 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/ti,j721e-esm.yaml

--
2.34.1


2023-05-03 09:34:13

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v4 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]>
Reviewed-by: Krzysztof Kozlowski <[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 09:34:54

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v4 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.dtsi | 1 +
1 file changed, 1 insertion(+)

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 09:35:15

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH v4 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-03 11:51:44

by Nishanth Menon

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

On 15:03-20230503, Neha Malcom Francis wrote:
> Add address entry mapping ESM on J721E.
>
> Signed-off-by: Neha Malcom Francis <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
> 1 file changed, 1 insertion(+)
>
> 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

Why is'nt esm node introduced here?

> @@ -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
>

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-05-03 12:09:09

by Neha Malcom Francis

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

Hi Nishanth,

On 03/05/23 17:18, Nishanth Menon wrote:
> On 15:03-20230503, Neha Malcom Francis wrote:
>> Add address entry mapping ESM on J721E.
>>
>> Signed-off-by: Neha Malcom Francis <[email protected]>
>> ---
>> arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> 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
>
> Why is'nt esm node introduced here?
>

As it stands esm node is already in
arch/arm/dts/k3-j721e-r5-common-proc-board.dts in u-boot and since this
patch is motivated to keep the u-boot and kernel dts in sync, I haven't
added it here.

Although... I could add it here similar to j7200 and take action to move
to the same in u-boot... maybe that is better route.

>> @@ -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
>>
>

--
Thanking You
Neha Malcom Francis

2023-05-03 12:11:19

by Nishanth Menon

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

On 17:25-20230503, Neha Malcom Francis wrote:
> Hi Nishanth,
>
> On 03/05/23 17:18, Nishanth Menon wrote:
> > On 15:03-20230503, Neha Malcom Francis wrote:
> > > Add address entry mapping ESM on J721E.
> > >
> > > Signed-off-by: Neha Malcom Francis <[email protected]>
> > > ---
> > > arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > 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
> >
> > Why is'nt esm node introduced here?
> >
>
> As it stands esm node is already in
> arch/arm/dts/k3-j721e-r5-common-proc-board.dts in u-boot and since this
> patch is motivated to keep the u-boot and kernel dts in sync, I haven't
> added it here.
>
> Although... I could add it here similar to j7200 and take action to move to
> the same in u-boot... maybe that is better route.

The core problem we have is that part of the hardware description is in
u-boot and a large part is in kernel. That is wrong. eventually, we will
drop u-boot.dtsi and r5-xyz.dts files.. This cleanup journey is towards
that action.

we want kernel to be the canonical description of the hardware. which
means u-boot or zephyr or something else will eventually just copy the
kernel dts and it has information enough about the hardware to be able
to boot.

each of the dependent ecosystems (u-boot, zephyr etc..) have a little
bit of their own binding extensions (such as binman for u-boot), which
is maintained in their own repos. But, the SoC hardware description,
entirely should be available in kernel device tree.

So, please ensure esm is completely described as well.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-05-03 12:18:38

by Neha Malcom Francis

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

Hi Nishanth

On 03/05/23 17:32, Nishanth Menon wrote:
> On 17:25-20230503, Neha Malcom Francis wrote:
>> Hi Nishanth,
>>
>> On 03/05/23 17:18, Nishanth Menon wrote:
>>> On 15:03-20230503, Neha Malcom Francis wrote:
>>>> Add address entry mapping ESM on J721E.
>>>>
>>>> Signed-off-by: Neha Malcom Francis <[email protected]>
>>>> ---
>>>> arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> 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
>>>
>>> Why is'nt esm node introduced here?
>>>
>>
>> As it stands esm node is already in
>> arch/arm/dts/k3-j721e-r5-common-proc-board.dts in u-boot and since this
>> patch is motivated to keep the u-boot and kernel dts in sync, I haven't
>> added it here.
>>
>> Although... I could add it here similar to j7200 and take action to move to
>> the same in u-boot... maybe that is better route.
>
> The core problem we have is that part of the hardware description is in
> u-boot and a large part is in kernel. That is wrong. eventually, we will
> drop u-boot.dtsi and r5-xyz.dts files.. This cleanup journey is towards
> that action.
>
> we want kernel to be the canonical description of the hardware. which
> means u-boot or zephyr or something else will eventually just copy the
> kernel dts and it has information enough about the hardware to be able
> to boot.
>
> each of the dependent ecosystems (u-boot, zephyr etc..) have a little
> bit of their own binding extensions (such as binman for u-boot), which
> is maintained in their own repos. But, the SoC hardware description,
> entirely should be available in kernel device tree.
>
> So, please ensure esm is completely described as well.
>

Right got it, will add the node in v5, thanks!

--
Thanking You
Neha Malcom Francis