xref: /freebsd-src/sys/contrib/device-tree/Bindings/interrupt-controller/microchip,eic.yaml (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
1*8cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8cc087a1SEmmanuel Vadot%YAML 1.2
3*8cc087a1SEmmanuel Vadot---
4*8cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/microchip,eic.yaml#
5*8cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8cc087a1SEmmanuel Vadot
7*8cc087a1SEmmanuel Vadottitle: Microchip External Interrupt Controller
8*8cc087a1SEmmanuel Vadot
9*8cc087a1SEmmanuel Vadotmaintainers:
10*8cc087a1SEmmanuel Vadot  - Claudiu Beznea <claudiu.beznea@microchip.com>
11*8cc087a1SEmmanuel Vadot
12*8cc087a1SEmmanuel Vadotdescription:
13*8cc087a1SEmmanuel Vadot  This interrupt controller is found in Microchip SoCs (SAMA7G5) and provides
14*8cc087a1SEmmanuel Vadot  support for handling up to 2 external interrupt lines.
15*8cc087a1SEmmanuel Vadot
16*8cc087a1SEmmanuel Vadotproperties:
17*8cc087a1SEmmanuel Vadot  compatible:
18*8cc087a1SEmmanuel Vadot    enum:
19*8cc087a1SEmmanuel Vadot      - microchip,sama7g5-eic
20*8cc087a1SEmmanuel Vadot
21*8cc087a1SEmmanuel Vadot  reg:
22*8cc087a1SEmmanuel Vadot    maxItems: 1
23*8cc087a1SEmmanuel Vadot
24*8cc087a1SEmmanuel Vadot  interrupt-controller: true
25*8cc087a1SEmmanuel Vadot
26*8cc087a1SEmmanuel Vadot  '#interrupt-cells':
27*8cc087a1SEmmanuel Vadot    const: 2
28*8cc087a1SEmmanuel Vadot    description:
29*8cc087a1SEmmanuel Vadot      The first cell is the input IRQ number (between 0 and 1), the second cell
30*8cc087a1SEmmanuel Vadot      is the trigger type as defined in interrupt.txt present in this directory.
31*8cc087a1SEmmanuel Vadot
32*8cc087a1SEmmanuel Vadot  interrupts:
33*8cc087a1SEmmanuel Vadot    description: |
34*8cc087a1SEmmanuel Vadot      Contains the GIC SPI IRQs mapped to the external interrupt lines. They
35*8cc087a1SEmmanuel Vadot      should be specified sequentially from output 0 to output 1.
36*8cc087a1SEmmanuel Vadot    minItems: 2
37*8cc087a1SEmmanuel Vadot    maxItems: 2
38*8cc087a1SEmmanuel Vadot
39*8cc087a1SEmmanuel Vadot  clocks:
40*8cc087a1SEmmanuel Vadot    maxItems: 1
41*8cc087a1SEmmanuel Vadot
42*8cc087a1SEmmanuel Vadot  clock-names:
43*8cc087a1SEmmanuel Vadot    const: pclk
44*8cc087a1SEmmanuel Vadot
45*8cc087a1SEmmanuel Vadotrequired:
46*8cc087a1SEmmanuel Vadot  - compatible
47*8cc087a1SEmmanuel Vadot  - reg
48*8cc087a1SEmmanuel Vadot  - interrupt-controller
49*8cc087a1SEmmanuel Vadot  - '#interrupt-cells'
50*8cc087a1SEmmanuel Vadot  - interrupts
51*8cc087a1SEmmanuel Vadot  - clocks
52*8cc087a1SEmmanuel Vadot  - clock-names
53*8cc087a1SEmmanuel Vadot
54*8cc087a1SEmmanuel VadotadditionalProperties: false
55*8cc087a1SEmmanuel Vadot
56*8cc087a1SEmmanuel Vadotexamples:
57*8cc087a1SEmmanuel Vadot  - |
58*8cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/at91.h>
59*8cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
60*8cc087a1SEmmanuel Vadot
61*8cc087a1SEmmanuel Vadot    eic: interrupt-controller@e1628000 {
62*8cc087a1SEmmanuel Vadot      compatible = "microchip,sama7g5-eic";
63*8cc087a1SEmmanuel Vadot      reg = <0xe1628000 0x100>;
64*8cc087a1SEmmanuel Vadot      interrupt-parent = <&gic>;
65*8cc087a1SEmmanuel Vadot      interrupt-controller;
66*8cc087a1SEmmanuel Vadot      #interrupt-cells = <2>;
67*8cc087a1SEmmanuel Vadot      interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
68*8cc087a1SEmmanuel Vadot                   <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
69*8cc087a1SEmmanuel Vadot      clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
70*8cc087a1SEmmanuel Vadot      clock-names = "pclk";
71*8cc087a1SEmmanuel Vadot    };
72*8cc087a1SEmmanuel Vadot
73*8cc087a1SEmmanuel Vadot...
74