xref: /freebsd-src/sys/contrib/device-tree/Bindings/interrupt-controller/renesas,intc-irqpin.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c66ec88fSEmmanuel Vadot%YAML 1.2
3*c66ec88fSEmmanuel Vadot---
4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/renesas,intc-irqpin.yaml#
5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadottitle: Renesas Interrupt Controller (INTC) for external pins
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadotmaintainers:
10*c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadotproperties:
13*c66ec88fSEmmanuel Vadot  compatible:
14*c66ec88fSEmmanuel Vadot    items:
15*c66ec88fSEmmanuel Vadot      - enum:
16*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-r8a7740  # R-Mobile A1
17*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-r8a7778  # R-Car M1A
18*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-r8a7779  # R-Car H1
19*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-sh73a0   # SH-Mobile AG5
20*c66ec88fSEmmanuel Vadot      - const: renesas,intc-irqpin
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot  reg:
23*c66ec88fSEmmanuel Vadot    minItems: 5
24*c66ec88fSEmmanuel Vadot    items:
25*c66ec88fSEmmanuel Vadot      - description: Interrupt control register
26*c66ec88fSEmmanuel Vadot      - description: Interrupt priority register
27*c66ec88fSEmmanuel Vadot      - description: Interrupt source register
28*c66ec88fSEmmanuel Vadot      - description: Interrupt mask register
29*c66ec88fSEmmanuel Vadot      - description: Interrupt mask clear register
30*c66ec88fSEmmanuel Vadot      - description: Interrupt control register for ICR0 with IRLM0 bit
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot  interrupt-controller: true
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel Vadot  '#interrupt-cells':
35*c66ec88fSEmmanuel Vadot    const: 2
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot  interrupts:
38*c66ec88fSEmmanuel Vadot    minItems: 1
39*c66ec88fSEmmanuel Vadot    maxItems: 8
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot  sense-bitfield-width:
42*c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
43*c66ec88fSEmmanuel Vadot    enum: [2, 4]
44*c66ec88fSEmmanuel Vadot    default: 4
45*c66ec88fSEmmanuel Vadot    description:
46*c66ec88fSEmmanuel Vadot      Width of a single sense bitfield in the SENSE register, if different from the
47*c66ec88fSEmmanuel Vadot      default.
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadot  control-parent:
50*c66ec88fSEmmanuel Vadot    type: boolean
51*c66ec88fSEmmanuel Vadot    description:
52*c66ec88fSEmmanuel Vadot      Disable and enable interrupts on the parent interrupt controller, needed for some
53*c66ec88fSEmmanuel Vadot      broken implementations.
54*c66ec88fSEmmanuel Vadot
55*c66ec88fSEmmanuel Vadot  clocks:
56*c66ec88fSEmmanuel Vadot    maxItems: 1
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadot  power-domains:
59*c66ec88fSEmmanuel Vadot    maxItems: 1
60*c66ec88fSEmmanuel Vadot
61*c66ec88fSEmmanuel Vadotrequired:
62*c66ec88fSEmmanuel Vadot  - compatible
63*c66ec88fSEmmanuel Vadot  - reg
64*c66ec88fSEmmanuel Vadot  - interrupt-controller
65*c66ec88fSEmmanuel Vadot  - '#interrupt-cells'
66*c66ec88fSEmmanuel Vadot  - interrupts
67*c66ec88fSEmmanuel Vadot
68*c66ec88fSEmmanuel Vadotif:
69*c66ec88fSEmmanuel Vadot  properties:
70*c66ec88fSEmmanuel Vadot    compatible:
71*c66ec88fSEmmanuel Vadot      contains:
72*c66ec88fSEmmanuel Vadot        enum:
73*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-r8a7740
74*c66ec88fSEmmanuel Vadot          - renesas,intc-irqpin-sh73a0
75*c66ec88fSEmmanuel Vadotthen:
76*c66ec88fSEmmanuel Vadot  required:
77*c66ec88fSEmmanuel Vadot    - clocks
78*c66ec88fSEmmanuel Vadot    - power-domains
79*c66ec88fSEmmanuel Vadot
80*c66ec88fSEmmanuel VadotadditionalProperties: false
81*c66ec88fSEmmanuel Vadot
82*c66ec88fSEmmanuel Vadotexamples:
83*c66ec88fSEmmanuel Vadot  - |
84*c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7740-clock.h>
85*c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
86*c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
87*c66ec88fSEmmanuel Vadot
88*c66ec88fSEmmanuel Vadot    irqpin1: interrupt-controller@e6900004 {
89*c66ec88fSEmmanuel Vadot        compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
90*c66ec88fSEmmanuel Vadot        reg = <0xe6900004 4>,
91*c66ec88fSEmmanuel Vadot              <0xe6900014 4>,
92*c66ec88fSEmmanuel Vadot              <0xe6900024 1>,
93*c66ec88fSEmmanuel Vadot              <0xe6900044 1>,
94*c66ec88fSEmmanuel Vadot              <0xe6900064 1>;
95*c66ec88fSEmmanuel Vadot        interrupt-controller;
96*c66ec88fSEmmanuel Vadot        #interrupt-cells = <2>;
97*c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
98*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
99*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
100*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
101*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
102*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
103*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
104*c66ec88fSEmmanuel Vadot                     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
105*c66ec88fSEmmanuel Vadot        clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
106*c66ec88fSEmmanuel Vadot        power-domains = <&pd_a4s>;
107*c66ec88fSEmmanuel Vadot    };
108