[1/3] dt-bindings: misc: esm: Add ESM support for TI K3 devices

Message ID 20230414105225.194195-2-n-francis@ti.com
State New
Headers
Series Add support for ESM |

Commit Message

Neha Malcom Francis April 14, 2023, 10:52 a.m. UTC
  Document the binding for TI K3 ESM (Error Signaling Module) block.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
 .../devicetree/bindings/misc/esm-k3.yaml      | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/misc/esm-k3.yaml
  

Comments

Krzysztof Kozlowski April 14, 2023, 11:40 a.m. UTC | #1
On 14/04/2023 12:52, Neha Malcom Francis wrote:
> Document the binding for TI K3 ESM (Error Signaling Module) block.
> 
> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
> ---
>  .../devicetree/bindings/misc/esm-k3.yaml      | 54 +++++++++++++++++++
>  1 file changed, 54 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/misc/esm-k3.yaml
> 
> diff --git a/Documentation/devicetree/bindings/misc/esm-k3.yaml b/Documentation/devicetree/bindings/misc/esm-k3.yaml
> new file mode 100644
> index 000000000000..5e637add3b0e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/esm-k3.yaml

Filename matching compatible. Missing vendor prefix and device name.

> @@ -0,0 +1,54 @@
> +# 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/esm-k3.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments K3 ESM Binding

Drop: Binding

> +
> +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 handld by the ESM, which routes them to the proper

typo: handled

> +  destination, which can be system reset, interrupt controller, etc. In the
> +  simplest configuration the signals are just routed to reset the SoC.

There is no proper bindings directory for ESM? Misc is discouraged.

> +
> +properties:
> +  compatible:
> +    const: ti,j721e-esm
> +
> +  reg:
> +    items:
> +      - description: physical address and length of the registers which
> +          contain revision and debug features

Drop useless "physical address and length of the registers which". reg
cannot be anything else.

> +      - description: physical address and length of the registers which
> +          indicate strapping options
> +
> +  ti,esm-pins:
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    description: |

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

> +      integer array of ESM event IDs to route to external event pin which can
> +      be used to reset the SoC. The array can have an arbitrary amount of event
> +      IDs listed on it.

What is ESM event ID? The property name suggests pins...


> +    minItems: 1
> +    maxItems: 255
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - ti,esm-pins
> +
> +examples:
> +  - |
> +    main_esm: esm@700000 {

Drop label.

> +        compatible = "ti,j721e-esm";
> +        reg = <0x0 0x700000 0x0 0x1000>;
> +        ti,esm-pins = <344>, <345>;
> +    };

Best regards,
Krzysztof
  
Neha Malcom Francis April 17, 2023, 8:56 a.m. UTC | #2
Hi Krzysztof

On 14/04/23 17:10, Krzysztof Kozlowski wrote:
> On 14/04/2023 12:52, Neha Malcom Francis wrote:
>> Document the binding for TI K3 ESM (Error Signaling Module) block.
>>
>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
>> ---
>>   .../devicetree/bindings/misc/esm-k3.yaml      | 54 +++++++++++++++++++
>>   1 file changed, 54 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/misc/esm-k3.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/misc/esm-k3.yaml b/Documentation/devicetree/bindings/misc/esm-k3.yaml
>> new file mode 100644
>> index 000000000000..5e637add3b0e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/misc/esm-k3.yaml
> 
> Filename matching compatible. Missing vendor prefix and device name.
> 
>> @@ -0,0 +1,54 @@
>> +# 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/esm-k3.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Texas Instruments K3 ESM Binding
> 
> Drop: Binding
> 
>> +
>> +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 handld by the ESM, which routes them to the proper
> 
> typo: handled
> 
>> +  destination, which can be system reset, interrupt controller, etc. In the
>> +  simplest configuration the signals are just routed to reset the SoC.
> 
> There is no proper bindings directory for ESM? Misc is discouraged.
> 

There is no other directory I see fit for a block like ESM; it could 
either remain in misc/ or maybe create a directory error/ for all error 
signaling and correction mechanisms? I see misc/xlnx,sd-fec.txt that 
could also go in error/

What do you think is fit?

>> +
>> +properties:
>> +  compatible:
>> +    const: ti,j721e-esm
>> +
>> +  reg:
>> +    items:
>> +      - description: physical address and length of the registers which
>> +          contain revision and debug features
> 
> Drop useless "physical address and length of the registers which". reg
> cannot be anything else.
> 
>> +      - description: physical address and length of the registers which
>> +          indicate strapping options
>> +
>> +  ti,esm-pins:
>> +    $ref: /schemas/types.yaml#/definitions/uint32-array
>> +    description: |
> 
> Do not need '|' unless you need to preserve formatting.
> 
>> +      integer array of ESM event IDs to route to external event pin which can
>> +      be used to reset the SoC. The array can have an arbitrary amount of event
>> +      IDs listed on it.
> 
> What is ESM event ID? The property name suggests pins...
> 
> 
>> +    minItems: 1
>> +    maxItems: 255
>> +
>> +additionalProperties: false
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - ti,esm-pins
>> +
>> +examples:
>> +  - |
>> +    main_esm: esm@700000 {
> 
> Drop label.
> 

Thanks for the reviews! I'll send v2 after we decide on the location.

>> +        compatible = "ti,j721e-esm";
>> +        reg = <0x0 0x700000 0x0 0x1000>;
>> +        ti,esm-pins = <344>, <345>;
>> +    };
> 
> Best regards,
> Krzysztof
>
  
Krzysztof Kozlowski April 18, 2023, 4:10 p.m. UTC | #3
On 17/04/2023 10:56, Neha Malcom Francis wrote:
> Hi Krzysztof
> 
> On 14/04/23 17:10, Krzysztof Kozlowski wrote:
>> On 14/04/2023 12:52, Neha Malcom Francis wrote:
>>> Document the binding for TI K3 ESM (Error Signaling Module) block.
>>>
>>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
>>> ---
>>>   .../devicetree/bindings/misc/esm-k3.yaml      | 54 +++++++++++++++++++
>>>   1 file changed, 54 insertions(+)
>>>   create mode 100644 Documentation/devicetree/bindings/misc/esm-k3.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/misc/esm-k3.yaml b/Documentation/devicetree/bindings/misc/esm-k3.yaml
>>> new file mode 100644
>>> index 000000000000..5e637add3b0e
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/misc/esm-k3.yaml
>>
>> Filename matching compatible. Missing vendor prefix and device name.
>>
>>> @@ -0,0 +1,54 @@
>>> +# 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/esm-k3.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Texas Instruments K3 ESM Binding
>>
>> Drop: Binding
>>
>>> +
>>> +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 handld by the ESM, which routes them to the proper
>>
>> typo: handled
>>
>>> +  destination, which can be system reset, interrupt controller, etc. In the
>>> +  simplest configuration the signals are just routed to reset the SoC.
>>
>> There is no proper bindings directory for ESM? Misc is discouraged.
>>
> 
> There is no other directory I see fit for a block like ESM; it could 
> either remain in misc/ or maybe create a directory error/ for all error 
> signaling and correction mechanisms? I see misc/xlnx,sd-fec.txt that 
> could also go in error/
> 
> What do you think is fit?

I don't know. Maybe it is something like hwmon? Or maybe along with
xlnx,sd-fec, tmr-inject and tmr-manager should be moved to some "fault"
directory for all fault-management-and-handling hardware?

Best regards,
Krzysztof
  
Neha Malcom Francis April 19, 2023, 8:46 a.m. UTC | #4
Hi Krzysztof

On 18/04/23 21:40, Krzysztof Kozlowski wrote:
> On 17/04/2023 10:56, Neha Malcom Francis wrote:
>> Hi Krzysztof
>>
>> On 14/04/23 17:10, Krzysztof Kozlowski wrote:
>>> On 14/04/2023 12:52, Neha Malcom Francis wrote:
>>>> Document the binding for TI K3 ESM (Error Signaling Module) block.
>>>>
>>>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
>>>> ---
>>>>    .../devicetree/bindings/misc/esm-k3.yaml      | 54 +++++++++++++++++++
>>>>    1 file changed, 54 insertions(+)
>>>>    create mode 100644 Documentation/devicetree/bindings/misc/esm-k3.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/misc/esm-k3.yaml b/Documentation/devicetree/bindings/misc/esm-k3.yaml
>>>> new file mode 100644
>>>> index 000000000000..5e637add3b0e
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/misc/esm-k3.yaml
>>>
>>> Filename matching compatible. Missing vendor prefix and device name.
>>>
>>>> @@ -0,0 +1,54 @@
>>>> +# 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/esm-k3.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Texas Instruments K3 ESM Binding
>>>
>>> Drop: Binding
>>>
>>>> +
>>>> +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 handld by the ESM, which routes them to the proper
>>>
>>> typo: handled
>>>
>>>> +  destination, which can be system reset, interrupt controller, etc. In the
>>>> +  simplest configuration the signals are just routed to reset the SoC.
>>>
>>> There is no proper bindings directory for ESM? Misc is discouraged.
>>>
>>
>> There is no other directory I see fit for a block like ESM; it could
>> either remain in misc/ or maybe create a directory error/ for all error
>> signaling and correction mechanisms? I see misc/xlnx,sd-fec.txt that
>> could also go in error/
>>
>> What do you think is fit?
> 
> I don't know. Maybe it is something like hwmon? Or maybe along with
> xlnx,sd-fec, tmr-inject and tmr-manager should be moved to some "fault"
> directory for all fault-management-and-handling hardware?
> 

I think hwmon would be a fit for now. Maybe we can move to a common 
fault directory in a future patch if there is enough bindings.

> Best regards,
> Krzysztof
>
  

Patch

diff --git a/Documentation/devicetree/bindings/misc/esm-k3.yaml b/Documentation/devicetree/bindings/misc/esm-k3.yaml
new file mode 100644
index 000000000000..5e637add3b0e
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/esm-k3.yaml
@@ -0,0 +1,54 @@ 
+# 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/esm-k3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments K3 ESM Binding
+
+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 handld 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:
+    items:
+      - description: physical address and length of the registers which
+          contain revision and debug features
+      - description: physical address and length of the registers which
+          indicate strapping options
+
+  ti,esm-pins:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    description: |
+      integer array of ESM event IDs to route to external event pin which can
+      be used to reset the SoC. The array can have an arbitrary amount of event
+      IDs listed on it.
+    minItems: 1
+    maxItems: 255
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - ti,esm-pins
+
+examples:
+  - |
+    main_esm: esm@700000 {
+        compatible = "ti,j721e-esm";
+        reg = <0x0 0x700000 0x0 0x1000>;
+        ti,esm-pins = <344>, <345>;
+    };