diff mbox series

[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 show
Series Add support for ESM | expand

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

Neha Malcom Francis April 17, 2023, 8:56 a.m. UTC | #1
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 | #2
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
diff mbox series

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>;
+    };