* [PATCH v4 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices
2023-05-03 9:33 [PATCH v4 0/3] Add support for ESM Neha Malcom Francis
@ 2023-05-03 9:33 ` Neha Malcom Francis
2023-05-03 9:33 ` [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support Neha Malcom Francis
2023-05-03 9:33 ` [PATCH v4 3/3] arm64: dts: ti: k3-j7200: " Neha Malcom Francis
2 siblings, 0 replies; 8+ messages in thread
From: Neha Malcom Francis @ 2023-05-03 9:33 UTC (permalink / raw)
To: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel
Cc: n-francis, nm, vigneshr, kristo, u-kumar1
Document the binding for TI K3 ESM (Error Signaling Module) block.
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../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 <n-francis@ti.com>
+
+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
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support
2023-05-03 9:33 [PATCH v4 0/3] Add support for ESM Neha Malcom Francis
2023-05-03 9:33 ` [PATCH v4 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices Neha Malcom Francis
@ 2023-05-03 9:33 ` Neha Malcom Francis
2023-05-03 11:48 ` Nishanth Menon
2023-05-03 9:33 ` [PATCH v4 3/3] arm64: dts: ti: k3-j7200: " Neha Malcom Francis
2 siblings, 1 reply; 8+ messages in thread
From: Neha Malcom Francis @ 2023-05-03 9:33 UTC (permalink / raw)
To: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel
Cc: n-francis, nm, vigneshr, kristo, u-kumar1
Add address entry mapping ESM on J721E.
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
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
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support
2023-05-03 9:33 ` [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support Neha Malcom Francis
@ 2023-05-03 11:48 ` Nishanth Menon
2023-05-03 11:55 ` Neha Malcom Francis
0 siblings, 1 reply; 8+ messages in thread
From: Nishanth Menon @ 2023-05-03 11:48 UTC (permalink / raw)
To: Neha Malcom Francis
Cc: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel, vigneshr, kristo, u-kumar1
On 15:03-20230503, Neha Malcom Francis wrote:
> Add address entry mapping ESM on J721E.
>
> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
> ---
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support
2023-05-03 11:48 ` Nishanth Menon
@ 2023-05-03 11:55 ` Neha Malcom Francis
2023-05-03 12:02 ` Nishanth Menon
0 siblings, 1 reply; 8+ messages in thread
From: Neha Malcom Francis @ 2023-05-03 11:55 UTC (permalink / raw)
To: Nishanth Menon
Cc: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel, vigneshr, kristo, u-kumar1
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 <n-francis@ti.com>
>> ---
>> 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
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support
2023-05-03 11:55 ` Neha Malcom Francis
@ 2023-05-03 12:02 ` Nishanth Menon
2023-05-03 12:16 ` Neha Malcom Francis
0 siblings, 1 reply; 8+ messages in thread
From: Nishanth Menon @ 2023-05-03 12:02 UTC (permalink / raw)
To: Neha Malcom Francis
Cc: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel, vigneshr, kristo, u-kumar1
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 <n-francis@ti.com>
> > > ---
> > > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support
2023-05-03 12:02 ` Nishanth Menon
@ 2023-05-03 12:16 ` Neha Malcom Francis
0 siblings, 0 replies; 8+ messages in thread
From: Neha Malcom Francis @ 2023-05-03 12:16 UTC (permalink / raw)
To: Nishanth Menon
Cc: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel, vigneshr, kristo, u-kumar1
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 <n-francis@ti.com>
>>>> ---
>>>> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v4 3/3] arm64: dts: ti: k3-j7200: Add ESM support
2023-05-03 9:33 [PATCH v4 0/3] Add support for ESM Neha Malcom Francis
2023-05-03 9:33 ` [PATCH v4 1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices Neha Malcom Francis
2023-05-03 9:33 ` [PATCH v4 2/3] arm64: dts: ti: k3-j721e: Add ESM support Neha Malcom Francis
@ 2023-05-03 9:33 ` Neha Malcom Francis
2 siblings, 0 replies; 8+ messages in thread
From: Neha Malcom Francis @ 2023-05-03 9:33 UTC (permalink / raw)
To: robh+dt, krzysztof.kozlowski+dt, devicetree, linux-kernel,
linux-arm-kernel
Cc: n-francis, nm, vigneshr, kristo, u-kumar1
Add address entry mapping ESM on J7200.
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
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
^ permalink raw reply [flat|nested] 8+ messages in thread