18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/interrupt-controller/fsl,irqsteer.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Freescale IRQSTEER Interrupt Multiplexer
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Lucas Stach <l.stach@pengutronix.de>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  compatible:
148c2ecf20Sopenharmony_ci    oneOf:
158c2ecf20Sopenharmony_ci      - const: fsl,imx-irqsteer
168c2ecf20Sopenharmony_ci      - items:
178c2ecf20Sopenharmony_ci          - const: fsl,imx8m-irqsteer
188c2ecf20Sopenharmony_ci          - const: fsl,imx-irqsteer
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  reg:
218c2ecf20Sopenharmony_ci    maxItems: 1
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  interrupts:
248c2ecf20Sopenharmony_ci    description: |
258c2ecf20Sopenharmony_ci      should contain the up to 8 parent interrupt lines used to multiplex
268c2ecf20Sopenharmony_ci      the input interrupts. They should be specified sequentially from
278c2ecf20Sopenharmony_ci      output 0 to 7.
288c2ecf20Sopenharmony_ci    items:
298c2ecf20Sopenharmony_ci      - description: output interrupt 0
308c2ecf20Sopenharmony_ci      - description: output interrupt 1
318c2ecf20Sopenharmony_ci      - description: output interrupt 2
328c2ecf20Sopenharmony_ci      - description: output interrupt 3
338c2ecf20Sopenharmony_ci      - description: output interrupt 4
348c2ecf20Sopenharmony_ci      - description: output interrupt 5
358c2ecf20Sopenharmony_ci      - description: output interrupt 6
368c2ecf20Sopenharmony_ci      - description: output interrupt 7
378c2ecf20Sopenharmony_ci    minItems: 1
388c2ecf20Sopenharmony_ci    maxItems: 8
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  clocks:
418c2ecf20Sopenharmony_ci    maxItems: 1
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  clock-names:
448c2ecf20Sopenharmony_ci    const: ipg
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  interrupt-controller: true
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci  "#interrupt-cells":
498c2ecf20Sopenharmony_ci    const: 1
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  fsl,channel:
528c2ecf20Sopenharmony_ci    $ref: '/schemas/types.yaml#/definitions/uint32'
538c2ecf20Sopenharmony_ci    description: |
548c2ecf20Sopenharmony_ci      u32 value representing the output channel that all input IRQs should be
558c2ecf20Sopenharmony_ci      steered into.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci  fsl,num-irqs:
588c2ecf20Sopenharmony_ci    $ref: '/schemas/types.yaml#/definitions/uint32'
598c2ecf20Sopenharmony_ci    description: |
608c2ecf20Sopenharmony_ci      u32 value representing the number of input interrupts of this channel,
618c2ecf20Sopenharmony_ci      should be multiple of 32 input interrupts and up to 512 interrupts.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_cirequired:
648c2ecf20Sopenharmony_ci  - compatible
658c2ecf20Sopenharmony_ci  - reg
668c2ecf20Sopenharmony_ci  - interrupts
678c2ecf20Sopenharmony_ci  - clocks
688c2ecf20Sopenharmony_ci  - clock-names
698c2ecf20Sopenharmony_ci  - interrupt-controller
708c2ecf20Sopenharmony_ci  - "#interrupt-cells"
718c2ecf20Sopenharmony_ci  - fsl,channel
728c2ecf20Sopenharmony_ci  - fsl,num-irqs
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciadditionalProperties: false
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciexamples:
778c2ecf20Sopenharmony_ci  - |
788c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/imx8mq-clock.h>
798c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci    interrupt-controller@32e2d000 {
828c2ecf20Sopenharmony_ci        compatible = "fsl,imx-irqsteer";
838c2ecf20Sopenharmony_ci        reg = <0x32e2d000 0x1000>;
848c2ecf20Sopenharmony_ci        interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
858c2ecf20Sopenharmony_ci        clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>;
868c2ecf20Sopenharmony_ci        clock-names = "ipg";
878c2ecf20Sopenharmony_ci        fsl,channel = <0>;
888c2ecf20Sopenharmony_ci        fsl,num-irqs = <64>;
898c2ecf20Sopenharmony_ci        interrupt-controller;
908c2ecf20Sopenharmony_ci        #interrupt-cells = <1>;
918c2ecf20Sopenharmony_ci    };
92