18c2ecf20Sopenharmony_ciTB10x Top Level Interrupt Controller
28c2ecf20Sopenharmony_ci====================================
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe Abilis TB10x SOC contains a custom interrupt controller. It performs
58c2ecf20Sopenharmony_cione-to-one mapping of external interrupt sources to CPU interrupts and
68c2ecf20Sopenharmony_ciprovides support for reconfigurable trigger modes.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciRequired properties
98c2ecf20Sopenharmony_ci-------------------
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci- compatible: Should be "abilis,tb10x-ictl"
128c2ecf20Sopenharmony_ci- reg: specifies physical base address and size of register range.
138c2ecf20Sopenharmony_ci- interrupt-congroller: Identifies the node as an interrupt controller.
148c2ecf20Sopenharmony_ci- #interrupt cells: Specifies the number of cells used to encode an interrupt
158c2ecf20Sopenharmony_ci  source connected to this controller. The value shall be 2.
168c2ecf20Sopenharmony_ci- interrupts: Specifies the list of interrupt lines which are handled by
178c2ecf20Sopenharmony_ci  the interrupt controller in the parent controller's notation. Interrupts
188c2ecf20Sopenharmony_ci  are mapped one-to-one to parent interrupts.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciExample
218c2ecf20Sopenharmony_ci-------
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciintc: interrupt-controller {	/* Parent interrupt controller */
248c2ecf20Sopenharmony_ci	interrupt-controller;
258c2ecf20Sopenharmony_ci	#interrupt-cells = <1>;	/* For example below */
268c2ecf20Sopenharmony_ci	/* ... */
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_citb10x_ictl: pic@2000 {		/* TB10x interrupt controller */
308c2ecf20Sopenharmony_ci	compatible = "abilis,tb10x-ictl";
318c2ecf20Sopenharmony_ci	reg = <0x2000 0x20>;
328c2ecf20Sopenharmony_ci	interrupt-controller;
338c2ecf20Sopenharmony_ci	#interrupt-cells = <2>;
348c2ecf20Sopenharmony_ci	interrupt-parent = <&intc>;
358c2ecf20Sopenharmony_ci	interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
368c2ecf20Sopenharmony_ci			20 21 22 23 24 25 26 27 28 29 30 31>;
378c2ecf20Sopenharmony_ci};
38