The QUICC Engine provides interrupts for a few I/O ports. This is
handled via a separate interrupt ID and managed via a triplet of
dedicated registers hosted by the SoC.
Implement an interrupt driver for it for that those IRQs can then
be linked to the related GPIOs.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
v2: Fixed problems reported by 'make dt_binding_check'
---
.../soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml | 58 +++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml
diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml
new file mode 100644
index 000000000000..b7c74c66347c
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale QUICC Engine I/O Ports Interrupt Controller
+
+maintainers:
+ - Christophe Leroy <christophe.leroy@csgroup.eu>
+
+description:
+ Interrupt controller for the QUICC Engine I/O ports found on some Freescale/NXP PowerQUICC and QorIQ SoCs.
+
+properties:
+ compatible:
+ enum:
+ - fsl,mpc8323-qe-ports-ic
+ - fsl,mpc8360-qe-ports-ic
+ - fsl,mpc8568-qe-ports-ic
+
+ reg:
+ maxItems: 1
+ description: Base address and size of the QE I/O Ports Interrupt Controller registers.
+
+ interrupt-controller: true
+
+ '#address-cells':
+ const: 0
+
+ '#interrupt-cells':
+ const: 1
+
+ interrupts:
+ maxItems: 1
+ description: Interrupt line to which the QE I/O Ports controller is connected.
+
+required:
+ - compatible
+ - reg
+ - interrupt-controller
+ - '#address-cells'
+ - '#interrupt-cells'
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ interrupt-controller@c00 {
+ interrupt-controller;
+ compatible = "fsl,mpc8323-qe-ports-ic";
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ reg = <0xc00 0x18>;
+ interrupts = <74 0x8>;
+ interrupt-parent = <&ipic>;
+ };
--
2.49.0
On Mon, Aug 18, 2025 at 10:45:58AM +0200, Christophe Leroy wrote: > The QUICC Engine provides interrupts for a few I/O ports. This is > handled via a separate interrupt ID and managed via a triplet of > dedicated registers hosted by the SoC. > > Implement an interrupt driver for it for that those IRQs can then > be linked to the related GPIOs. > > Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > v2: Fixed problems reported by 'make dt_binding_check' > --- > .../soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml | 58 +++++++++++++++++++ > 1 file changed, 58 insertions(+) > create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml > > diff --git a/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml > new file mode 100644 > index 000000000000..b7c74c66347c > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ports-ic.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale QUICC Engine I/O Ports Interrupt Controller > + > +maintainers: > + - Christophe Leroy <christophe.leroy@csgroup.eu> > + > +description: > + Interrupt controller for the QUICC Engine I/O ports found on some Freescale/NXP PowerQUICC and QorIQ SoCs. > + > +properties: > + compatible: > + enum: > + - fsl,mpc8323-qe-ports-ic > + - fsl,mpc8360-qe-ports-ic > + - fsl,mpc8568-qe-ports-ic > + > + reg: > + maxItems: 1 > + description: Base address and size of the QE I/O Ports Interrupt Controller registers. > + > + interrupt-controller: true > + > + '#address-cells': > + const: 0 > + > + '#interrupt-cells': > + const: 1 > + > + interrupts: > + maxItems: 1 > + description: Interrupt line to which the QE I/O Ports controller is connected. > + > +required: > + - compatible > + - reg > + - interrupt-controller > + - '#address-cells' > + - '#interrupt-cells' > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + interrupt-controller@c00 { > + interrupt-controller; > + compatible = "fsl,mpc8323-qe-ports-ic"; > + #address-cells = <0>; > + #interrupt-cells = <1>; > + reg = <0xc00 0x18>; Your property order here is kinda wacky, please stick to the documented order in dts-coding-style.rst. Otherwise, this seems okay although I think the descriptions for single-item properties could be removed. With the ordering fixed: Acked-by: Conor Dooley <conor.dooley@microchip.com> > + interrupts = <74 0x8>; > + interrupt-parent = <&ipic>; > + }; > -- > 2.49.0 >
© 2016 - 2025 Red Hat, Inc.