1*c66ec88fSEmmanuel VadotMarvell Orion SoC interrupt controllers 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel Vadot* Main interrupt controller 4*c66ec88fSEmmanuel Vadot 5*c66ec88fSEmmanuel VadotRequired properties: 6*c66ec88fSEmmanuel Vadot- compatible: shall be "marvell,orion-intc" 7*c66ec88fSEmmanuel Vadot- reg: base address(es) of interrupt registers starting with CAUSE register 8*c66ec88fSEmmanuel Vadot- interrupt-controller: identifies the node as an interrupt controller 9*c66ec88fSEmmanuel Vadot- #interrupt-cells: number of cells to encode an interrupt source, shall be 1 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel VadotThe interrupt sources map to the corresponding bits in the interrupt 12*c66ec88fSEmmanuel Vadotregisters, i.e. 13*c66ec88fSEmmanuel Vadot- 0 maps to bit 0 of first base address, 14*c66ec88fSEmmanuel Vadot- 1 maps to bit 1 of first base address, 15*c66ec88fSEmmanuel Vadot- 32 maps to bit 0 of second base address, and so on. 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel VadotExample: 18*c66ec88fSEmmanuel Vadot intc: interrupt-controller { 19*c66ec88fSEmmanuel Vadot compatible = "marvell,orion-intc"; 20*c66ec88fSEmmanuel Vadot interrupt-controller; 21*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 22*c66ec88fSEmmanuel Vadot /* Dove has 64 first level interrupts */ 23*c66ec88fSEmmanuel Vadot reg = <0x20200 0x10>, <0x20210 0x10>; 24*c66ec88fSEmmanuel Vadot }; 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel Vadot* Bridge interrupt controller 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel VadotRequired properties: 29*c66ec88fSEmmanuel Vadot- compatible: shall be "marvell,orion-bridge-intc" 30*c66ec88fSEmmanuel Vadot- reg: base address of bridge interrupt registers starting with CAUSE register 31*c66ec88fSEmmanuel Vadot- interrupts: bridge interrupt of the main interrupt controller 32*c66ec88fSEmmanuel Vadot- interrupt-controller: identifies the node as an interrupt controller 33*c66ec88fSEmmanuel Vadot- #interrupt-cells: number of cells to encode an interrupt source, shall be 1 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel VadotOptional properties: 36*c66ec88fSEmmanuel Vadot- marvell,#interrupts: number of interrupts provided by bridge interrupt 37*c66ec88fSEmmanuel Vadot controller, defaults to 32 if not set 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel VadotExample: 40*c66ec88fSEmmanuel Vadot bridge_intc: interrupt-controller { 41*c66ec88fSEmmanuel Vadot compatible = "marvell,orion-bridge-intc"; 42*c66ec88fSEmmanuel Vadot interrupt-controller; 43*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 44*c66ec88fSEmmanuel Vadot reg = <0x20110 0x8>; 45*c66ec88fSEmmanuel Vadot interrupts = <0>; 46*c66ec88fSEmmanuel Vadot /* Dove bridge provides 5 interrupts */ 47*c66ec88fSEmmanuel Vadot marvell,#interrupts = <5>; 48*c66ec88fSEmmanuel Vadot }; 49