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