Thread (11 messages) flat view 11 messages, 3 authors, 2022-01-04

Re: [PATCH v2 1/5] dt-bindings: interrupt-controller: Update STM32 EXTI interrupt controller

From: Alexandre TORGUE <alexandre.torgue@foss.st.com>
Date: 2021-12-17 13:39:51
Also in: linux-arm-kernel, lkml

On 12/16/21 9:15 PM, Rob Herring wrote:
On Wed, Dec 15, 2021 at 11:58:43AM +0100, Alexandre Torgue wrote:
quoted
Document new entry "st,exti-mapping" which links EXTI lines with GIC
interrupt lines and add an include file to define EXTI interrupt type.

Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
index d19c881b4abc..e08bb51e97a8 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
@@ -41,6 +41,17 @@ properties:
      description:
        Interrupts references to primary interrupt controller
  
+  st,exti-mapping:
+    $ref: "/schemas/types.yaml#/definitions/uint32-matrix"
+    description: |
+            Define mapping between EXTI lines and GIC irq lines. Should be:
+            st,exti-mapping = <EXTI_LINE GIC_IRQ EXTI_TYPE>, ...;
+            With:
+            - EXTI_LINE: EXTI line number.
+            - GIC_IRQ: GIC IRQ associated to the EXTI line.
+            - EXTI_TYPE: STM32_EXTI_TYPE_CONFIGURABLE or STM32_EXTI_TYPE_DIRECT.
+              Defined in include/dt-bindings/interrupt-controller/stm32-exti.h
No custom properties for this. See[1][2][3].
Thanks for inputs. In my case the mapping consists to map an EXTI line 
with a GIC irq line which could be done using interrupt-map (avoiding to 
parse it in my driver). But for each EXTI/GIC association I would like 
also to describe the EXTI_TYPE (which actually describe the well irqchip 
to use inside my exti driver) . This property is not generic and so I 
assume I can't use a generic binding such "interrupt-map".

If the solution consists to use a common binding (i.e. interrupt-map) 
plus a conversion table in exti driver to affect the well irq_chip to 
the well EXTI line then we could envisage to keep the whole mapping 
inside the driver (even if it's not the best solution).

Another solution could be to define two exti irq-controllers (one for 
configurable type and another one for direct type) and use interrupt-map 
inside each. It means to have 2 child node inside (one per irq 
controller) EXTI node.

Alex

Rob


[1] https://lore.kernel.org/all/20211122103032.517923-1-maz@kernel.org/ (local)
[2] https://lore.kernel.org/all/87k0g8jlmg.wl-maz@kernel.org/ (local)
[3] https://lore.kernel.org/all/CAL_JsqK2Shj6smam7HgNAmy3UG+vVQPkU3Q0OjyEHOEJB45n0A@mail.gmail.com/ (local)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help