File Index
Files and directories
Sign in
FILE

fsl,ls-extirq.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/interrupt-controller/fsl,ls-extirq.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Freescale Layerscape External Interrupt Controller
  8
  9maintainers:
 10  - Shawn Guo <shawnguo@kernel.org>
 11
 12description: |
 13  Some Layerscape SOCs (LS1021A, LS1043A, LS1046A LS1088A, LS208xA,
 14  LX216xA) support inverting the polarity of certain external interrupt
 15  lines.
 16
 17properties:
 18  compatible:
 19    oneOf:
 20      - enum:
 21          - fsl,ls1021a-extirq
 22          - fsl,ls1043a-extirq
 23          - fsl,ls1088a-extirq
 24      - items:
 25          - enum:
 26              - fsl,ls1046a-extirq
 27          - const: fsl,ls1043a-extirq
 28      - items:
 29          - enum:
 30              - fsl,ls2080a-extirq
 31              - fsl,lx2160a-extirq
 32          - const: fsl,ls1088a-extirq
 33
 34  '#interrupt-cells':
 35    const: 2
 36
 37  '#address-cells':
 38    const: 0
 39
 40  interrupt-controller: true
 41
 42  reg:
 43    maxItems: 1
 44    description:
 45      Specifies the Interrupt Polarity Control Register (INTPCR) in the
 46      SCFG or the External Interrupt Control Register (IRQCR) in the ISC.
 47
 48  interrupt-map:
 49    description: Specifies the mapping from external interrupts to GIC interrupts.
 50
 51  interrupt-map-mask: true
 52
 53required:
 54  - compatible
 55  - '#interrupt-cells'
 56  - '#address-cells'
 57  - interrupt-controller
 58  - reg
 59  - interrupt-map
 60  - interrupt-map-mask
 61
 62allOf:
 63  - if:
 64      properties:
 65        compatible:
 66          contains:
 67            enum:
 68              - fsl,ls1021a-extirq
 69    then:
 70      properties:
 71        interrupt-map:
 72          minItems: 6
 73          maxItems: 6
 74        interrupt-map-mask:
 75          items:
 76            - const: 0x7
 77            - const: 0
 78  - if:
 79      properties:
 80        compatible:
 81          contains:
 82            enum:
 83              - fsl,ls1043a-extirq
 84              - fsl,ls1046a-extirq
 85    then:
 86      properties:
 87        interrupt-map:
 88          minItems: 12
 89          maxItems: 12
 90        interrupt-map-mask:
 91          items:
 92            - const: 0xf
 93            - const: 0
 94
 95  - if:
 96      properties:
 97        compatible:
 98          contains:
 99            enum:
100              - fsl,ls1088a-extirq
101              - fsl,ls2080a-extirq
102              - fsl,lx2160a-extirq
103# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT
104# function to parser interrupt-map. So it doesn't consider '#address-size'
105# in parent interrupt controller, such as GIC.
106#
107# When dt-binding verify interrupt-map, item data matrix is spitted at
108# incorrect position. Remove interrupt-map restriction because it always
109# wrong.
110
111    then:
112      properties:
113        interrupt-map-mask:
114          items:
115            - const: 0xf
116            - const: 0
117
118additionalProperties: false
119
120examples:
121  - |
122    #include <dt-bindings/interrupt-controller/arm-gic.h>
123    interrupt-controller@1ac {
124            compatible = "fsl,ls1021a-extirq";
125            #interrupt-cells = <2>;
126            #address-cells = <0>;
127            interrupt-controller;
128            reg = <0x1ac 4>;
129            interrupt-map =
130                    <0 0 &gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
131                    <1 0 &gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
132                    <2 0 &gic GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
133                    <3 0 &gic GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
134                    <4 0 &gic GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
135                    <5 0 &gic GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
136            interrupt-map-mask = <0x7 0x0>;
137    };
~/ Read-only file preview.