xref: /freebsd-src/sys/contrib/device-tree/Bindings/interrupt-controller/arm,vic.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* ARM Vectored Interrupt Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotOne or more Vectored Interrupt Controllers (VIC's) can be connected in an ARM
4*c66ec88fSEmmanuel Vadotsystem for interrupt routing.  For multiple controllers they can either be
5*c66ec88fSEmmanuel Vadotnested or have the outputs wire-OR'd together.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot- compatible : should be one of
10*c66ec88fSEmmanuel Vadot	"arm,pl190-vic"
11*c66ec88fSEmmanuel Vadot	"arm,pl192-vic"
12*c66ec88fSEmmanuel Vadot- interrupt-controller : Identifies the node as an interrupt controller
13*c66ec88fSEmmanuel Vadot- #interrupt-cells : The number of cells to define the interrupts.  Must be 1 as
14*c66ec88fSEmmanuel Vadot  the VIC has no configuration options for interrupt sources.  The cell is a u32
15*c66ec88fSEmmanuel Vadot  and defines the interrupt number.
16*c66ec88fSEmmanuel Vadot- reg : The register bank for the VIC.
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotOptional properties:
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadot- interrupts : Interrupt source for parent controllers if the VIC is nested.
21*c66ec88fSEmmanuel Vadot- valid-mask : A one cell big bit mask of valid interrupt sources. Each bit
22*c66ec88fSEmmanuel Vadot  represents single interrupt source, starting from source 0 at LSb and ending
23*c66ec88fSEmmanuel Vadot  at source 31 at MSb. A bit that is set means that the source is wired and
24*c66ec88fSEmmanuel Vadot  clear means otherwise. If unspecified, defaults to all valid.
25*c66ec88fSEmmanuel Vadot- valid-wakeup-mask : A one cell big bit mask of interrupt sources that can be
26*c66ec88fSEmmanuel Vadot  configured as wake up source for the system. Order of bits is the same as for
27*c66ec88fSEmmanuel Vadot  valid-mask property. A set bit means that this interrupt source can be
28*c66ec88fSEmmanuel Vadot  configured as a wake up source for the system. If unspecied, defaults to all
29*c66ec88fSEmmanuel Vadot  interrupt sources configurable as wake up sources.
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotExample:
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadot	vic0: interrupt-controller@60000 {
34*c66ec88fSEmmanuel Vadot		compatible = "arm,pl192-vic";
35*c66ec88fSEmmanuel Vadot		interrupt-controller;
36*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
37*c66ec88fSEmmanuel Vadot		reg = <0x60000 0x1000>;
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot		valid-mask = <0xffffff7f>;
40*c66ec88fSEmmanuel Vadot		valid-wakeup-mask = <0x0000ff7f>;
41*c66ec88fSEmmanuel Vadot	};
42