In the QE, a few GPIOs have an associated IRQ to notify changes. Add IRQ support to QE GPIO.
As not all GPIOs have an associated IRQ, the driver needs to know to which GPIO corresponds each provided IRQ. This is provided via multiple compatible properties: compatible = "fsl,mpc8323-qe-pario-bank-a" compatible = "fsl,mpc8323-qe-pario-bank-b" compatible = "fsl,mpc8323-qe-pario-bank-c" compatible = "fsl,mpc8360-qe-pario-bank-a" compatible = "fsl,mpc8360-qe-pario-bank-b" compatible = "fsl,mpc8360-qe-pario-bank-c" compatible = "fsl,mpc8360-qe-pario-bank-d" compatible = "fsl,mpc8360-qe-pario-bank-e" compatible = "fsl,mpc8360-qe-pario-bank-f" compatible = "fsl,mpc8360-qe-pario-bank-g" compatible = "fsl,mpc8568-qe-pario-bank-a" compatible = "fsl,mpc8568-qe-pario-bank-b" compatible = "fsl,mpc8568-qe-pario-bank-c" compatible = "fsl,mpc8568-qe-pario-bank-d" compatible = "fsl,mpc8568-qe-pario-bank-e" compatible = "fsl,mpc8568-qe-pario-bank-f" When not using IRQ and for banks having no IRQ (like bank D on mpc8323) the origin compatible = "fsl,mpc8323-qe-pario-bank" is still valid. Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> --- .../gpio/fsl,mpc8323-qe-pario-bank.yaml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/gpio/fsl,mpc8323-qe-pario-bank.yaml b/Documentation/devicetree/bindings/gpio/fsl,mpc8323-qe-pario-bank.yaml index 0dd9c0e6ca39..c34aeea119e0 100644 --- a/Documentation/devicetree/bindings/gpio/fsl,mpc8323-qe-pario-bank.yaml +++ b/Documentation/devicetree/bindings/gpio/fsl,mpc8323-qe-pario-bank.yaml @@ -14,6 +14,22 @@ properties: items: - enum: - fsl,chip-qe-pario-bank + - fsl,mpc8323-qe-pario-bank-a + - fsl,mpc8323-qe-pario-bank-b + - fsl,mpc8323-qe-pario-bank-c + - fsl,mpc8360-qe-pario-bank-a + - fsl,mpc8360-qe-pario-bank-b + - fsl,mpc8360-qe-pario-bank-c + - fsl,mpc8360-qe-pario-bank-d + - fsl,mpc8360-qe-pario-bank-e + - fsl,mpc8360-qe-pario-bank-f + - fsl,mpc8360-qe-pario-bank-g + - fsl,mpc8568-qe-pario-bank-a + - fsl,mpc8568-qe-pario-bank-b + - fsl,mpc8568-qe-pario-bank-c + - fsl,mpc8568-qe-pario-bank-d + - fsl,mpc8568-qe-pario-bank-e + - fsl,mpc8568-qe-pario-bank-f - const: fsl,mpc8323-qe-pario-bank reg: @@ -24,6 +40,9 @@ properties: '#gpio-cells': const: 2 + interrupts: + description: List of interrupts for lines of the port that trigger interrupts on change. + required: - compatible - reg @@ -35,15 +54,19 @@ additionalProperties: false examples: - | gpio-controller@1400 { - compatible = "fsl,mpc8360-qe-pario-bank", "fsl,mpc8323-qe-pario-bank"; + compatible = "fsl,mpc8360-qe-pario-bank-a", "fsl,mpc8323-qe-pario-bank"; reg = <0x1400 0x18>; gpio-controller; #gpio-cells = <2>; + interrupts = <0 1 2 3>; + interrupt-parent = <&qepic>; }; gpio-controller@1460 { - compatible = "fsl,mpc8360-qe-pario-bank", "fsl,mpc8323-qe-pario-bank"; + compatible = "fsl,mpc8360-qe-pario-bank-e", "fsl,mpc8323-qe-pario-bank"; reg = <0x1460 0x18>; gpio-controller; #gpio-cells = <2>; + interrupts = <19 20 21 22 23 24 25>; + interrupt-parent = <&qepic>; }; -- 2.49.0