18c2ecf20Sopenharmony_ci* ARM Vectored Interrupt Controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciOne or more Vectored Interrupt Controllers (VIC's) can be connected in an ARM
48c2ecf20Sopenharmony_cisystem for interrupt routing.  For multiple controllers they can either be
58c2ecf20Sopenharmony_cinested or have the outputs wire-OR'd together.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci- compatible : should be one of
108c2ecf20Sopenharmony_ci	"arm,pl190-vic"
118c2ecf20Sopenharmony_ci	"arm,pl192-vic"
128c2ecf20Sopenharmony_ci- interrupt-controller : Identifies the node as an interrupt controller
138c2ecf20Sopenharmony_ci- #interrupt-cells : The number of cells to define the interrupts.  Must be 1 as
148c2ecf20Sopenharmony_ci  the VIC has no configuration options for interrupt sources.  The cell is a u32
158c2ecf20Sopenharmony_ci  and defines the interrupt number.
168c2ecf20Sopenharmony_ci- reg : The register bank for the VIC.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciOptional properties:
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci- interrupts : Interrupt source for parent controllers if the VIC is nested.
218c2ecf20Sopenharmony_ci- valid-mask : A one cell big bit mask of valid interrupt sources. Each bit
228c2ecf20Sopenharmony_ci  represents single interrupt source, starting from source 0 at LSb and ending
238c2ecf20Sopenharmony_ci  at source 31 at MSb. A bit that is set means that the source is wired and
248c2ecf20Sopenharmony_ci  clear means otherwise. If unspecified, defaults to all valid.
258c2ecf20Sopenharmony_ci- valid-wakeup-mask : A one cell big bit mask of interrupt sources that can be
268c2ecf20Sopenharmony_ci  configured as wake up source for the system. Order of bits is the same as for
278c2ecf20Sopenharmony_ci  valid-mask property. A set bit means that this interrupt source can be
288c2ecf20Sopenharmony_ci  configured as a wake up source for the system. If unspecied, defaults to all
298c2ecf20Sopenharmony_ci  interrupt sources configurable as wake up sources.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciExample:
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	vic0: interrupt-controller@60000 {
348c2ecf20Sopenharmony_ci		compatible = "arm,pl192-vic";
358c2ecf20Sopenharmony_ci		interrupt-controller;
368c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
378c2ecf20Sopenharmony_ci		reg = <0x60000 0x1000>;
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci		valid-mask = <0xffffff7f>;
408c2ecf20Sopenharmony_ci		valid-wakeup-mask = <0x0000ff7f>;
418c2ecf20Sopenharmony_ci	};
42