lkml.org 
[lkml]   [2024]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 02/12] dt-bindings: interrupt-controller: stm32-exti: Add irq nexus child node
    Date
    The mapping of EXTI interrupts to its parent interrupt controller
    is both SoC and instance dependent.
    The current implementation requires adding a new table to the
    driver's code and a new compatible for each new EXTI instance.

    Add to the binding an interrupt nexus child node that will be
    used on the new EXTI instances and can be optionally used on the
    existing instances.
    The property 'interrupt-map' in the nexus node maps each EXTI
    interrupt to the parent interrupt.
    Align #address-cells and #interrupt-cells between the EXTI node
    and its nexus node.

    Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
    Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
    ---
    .../interrupt-controller/st,stm32-exti.yaml | 42 ++++++++++++++++++-
    1 file changed, 41 insertions(+), 1 deletion(-)

    diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
    index 00c10a8258f1..1a4cf9537b9e 100644
    --- a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
    +++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
    @@ -26,6 +26,9 @@ properties:
    "#interrupt-cells":
    const: 2

    + "#address-cells":
    + const: 0
    +
    reg:
    maxItems: 1

    @@ -42,6 +45,24 @@ properties:
    description:
    Interrupts references to primary interrupt controller

    + exti-interrupt-map:
    + type: object
    + properties:
    + interrupt-map: true
    +
    + interrupt-map-mask: true
    +
    + "#interrupt-cells":
    + const: 2
    +
    + "#address-cells":
    + const: 0
    +
    + required:
    + - interrupt-map
    + - "#interrupt-cells"
    + - "#address-cells"
    +
    required:
    - "#interrupt-cells"
    - compatible
    @@ -89,8 +110,27 @@ examples:
    reg = <0x5000d000 0x400>;
    };

    + - |
    //Example 2
    - exti2: interrupt-controller@40013c00 {
    + #include <dt-bindings/interrupt-controller/arm-gic.h>
    + exti2: interrupt-controller@5000d000 {
    + compatible = "st,stm32mp1-exti", "syscon";
    + interrupt-controller;
    + #interrupt-cells = <2>;
    + reg = <0x5000d000 0x400>;
    + exti-interrupt-map {
    + #address-cells = <0>;
    + #interrupt-cells = <2>;
    + interrupt-map-mask = <0xffffffff 0>;
    + interrupt-map =
    + <0 0 &intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
    + <3 0 &intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
    + };
    + };
    +
    + - |
    + //Example 3
    + exti3: interrupt-controller@40013c00 {
    compatible = "st,stm32-exti";
    interrupt-controller;
    #interrupt-cells = <2>;
    --
    2.34.1

    \
     
     \ /
      Last update: 2024-05-27 15:06    [W:8.112 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site