1*c66ec88fSEmmanuel Vadot* NXP LPC32xx MIC, SIC1 and SIC2 Interrupt Controllers 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- compatible: "nxp,lpc3220-mic" or "nxp,lpc3220-sic". 5*c66ec88fSEmmanuel Vadot- reg: should contain IC registers location and length. 6*c66ec88fSEmmanuel Vadot- interrupt-controller: identifies the node as an interrupt controller. 7*c66ec88fSEmmanuel Vadot- #interrupt-cells: the number of cells to define an interrupt, should be 2. 8*c66ec88fSEmmanuel Vadot The first cell is the IRQ number, the second cell is used to specify 9*c66ec88fSEmmanuel Vadot one of the supported IRQ types: 10*c66ec88fSEmmanuel Vadot IRQ_TYPE_EDGE_RISING = low-to-high edge triggered, 11*c66ec88fSEmmanuel Vadot IRQ_TYPE_EDGE_FALLING = high-to-low edge triggered, 12*c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH = active high level-sensitive, 13*c66ec88fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW = active low level-sensitive. 14*c66ec88fSEmmanuel Vadot Reset value is IRQ_TYPE_LEVEL_LOW. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotOptional properties: 17*c66ec88fSEmmanuel Vadot- interrupts: empty for MIC interrupt controller, cascaded MIC 18*c66ec88fSEmmanuel Vadot hardware interrupts for SIC1 and SIC2 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel VadotExamples: 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel Vadot /* LPC32xx MIC, SIC1 and SIC2 interrupt controllers */ 23*c66ec88fSEmmanuel Vadot mic: interrupt-controller@40008000 { 24*c66ec88fSEmmanuel Vadot compatible = "nxp,lpc3220-mic"; 25*c66ec88fSEmmanuel Vadot reg = <0x40008000 0x4000>; 26*c66ec88fSEmmanuel Vadot interrupt-controller; 27*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 28*c66ec88fSEmmanuel Vadot }; 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot sic1: interrupt-controller@4000c000 { 31*c66ec88fSEmmanuel Vadot compatible = "nxp,lpc3220-sic"; 32*c66ec88fSEmmanuel Vadot reg = <0x4000c000 0x4000>; 33*c66ec88fSEmmanuel Vadot interrupt-controller; 34*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 35*c66ec88fSEmmanuel Vadot 36*c66ec88fSEmmanuel Vadot interrupt-parent = <&mic>; 37*c66ec88fSEmmanuel Vadot interrupts = <0 IRQ_TYPE_LEVEL_LOW>, 38*c66ec88fSEmmanuel Vadot <30 IRQ_TYPE_LEVEL_LOW>; 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot sic2: interrupt-controller@40010000 { 42*c66ec88fSEmmanuel Vadot compatible = "nxp,lpc3220-sic"; 43*c66ec88fSEmmanuel Vadot reg = <0x40010000 0x4000>; 44*c66ec88fSEmmanuel Vadot interrupt-controller; 45*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot interrupt-parent = <&mic>; 48*c66ec88fSEmmanuel Vadot interrupts = <1 IRQ_TYPE_LEVEL_LOW>, 49*c66ec88fSEmmanuel Vadot <31 IRQ_TYPE_LEVEL_LOW>; 50*c66ec88fSEmmanuel Vadot }; 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot /* ADC */ 53*c66ec88fSEmmanuel Vadot adc@40048000 { 54*c66ec88fSEmmanuel Vadot compatible = "nxp,lpc3220-adc"; 55*c66ec88fSEmmanuel Vadot reg = <0x40048000 0x1000>; 56*c66ec88fSEmmanuel Vadot interrupt-parent = <&sic1>; 57*c66ec88fSEmmanuel Vadot interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 58*c66ec88fSEmmanuel Vadot }; 59