1*b06eb017SChristian RuppertTB10x Top Level Interrupt Controller 2*b06eb017SChristian Ruppert==================================== 3*b06eb017SChristian Ruppert 4*b06eb017SChristian RuppertThe Abilis TB10x SOC contains a custom interrupt controller. It performs 5*b06eb017SChristian Ruppertone-to-one mapping of external interrupt sources to CPU interrupts and 6*b06eb017SChristian Ruppertprovides support for reconfigurable trigger modes. 7*b06eb017SChristian Ruppert 8*b06eb017SChristian RuppertRequired properties 9*b06eb017SChristian Ruppert------------------- 10*b06eb017SChristian Ruppert 11*b06eb017SChristian Ruppert- compatible: Should be "abilis,tb10x-ictl" 12*b06eb017SChristian Ruppert- reg: specifies physical base address and size of register range. 13*b06eb017SChristian Ruppert- interrupt-congroller: Identifies the node as an interrupt controller. 14*b06eb017SChristian Ruppert- #interrupt cells: Specifies the number of cells used to encode an interrupt 15*b06eb017SChristian Ruppert source connected to this controller. The value shall be 2. 16*b06eb017SChristian Ruppert- interrupt-parent: Specifies the parent interrupt controller. 17*b06eb017SChristian Ruppert- interrupts: Specifies the list of interrupt lines which are handled by 18*b06eb017SChristian Ruppert the interrupt controller in the parent controller's notation. Interrupts 19*b06eb017SChristian Ruppert are mapped one-to-one to parent interrupts. 20*b06eb017SChristian Ruppert 21*b06eb017SChristian RuppertExample 22*b06eb017SChristian Ruppert------- 23*b06eb017SChristian Ruppert 24*b06eb017SChristian Ruppertintc: interrupt-controller { /* Parent interrupt controller */ 25*b06eb017SChristian Ruppert interrupt-controller; 26*b06eb017SChristian Ruppert #interrupt-cells = <1>; /* For example below */ 27*b06eb017SChristian Ruppert /* ... */ 28*b06eb017SChristian Ruppert}; 29*b06eb017SChristian Ruppert 30*b06eb017SChristian Rupperttb10x_ictl: pic@2000 { /* TB10x interrupt controller */ 31*b06eb017SChristian Ruppert compatible = "abilis,tb10x-ictl"; 32*b06eb017SChristian Ruppert reg = <0x2000 0x20>; 33*b06eb017SChristian Ruppert interrupt-controller; 34*b06eb017SChristian Ruppert #interrupt-cells = <2>; 35*b06eb017SChristian Ruppert interrupt-parent = <&intc>; 36*b06eb017SChristian Ruppert interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 37*b06eb017SChristian Ruppert 20 21 22 23 24 25 26 27 28 29 30 31>; 38*b06eb017SChristian Ruppert}; 39