162306a36Sopenharmony_ciTB10x Top Level Interrupt Controller
262306a36Sopenharmony_ci====================================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciThe Abilis TB10x SOC contains a custom interrupt controller. It performs
562306a36Sopenharmony_cione-to-one mapping of external interrupt sources to CPU interrupts and
662306a36Sopenharmony_ciprovides support for reconfigurable trigger modes.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciRequired properties
962306a36Sopenharmony_ci-------------------
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci- compatible: Should be "abilis,tb10x-ictl"
1262306a36Sopenharmony_ci- reg: specifies physical base address and size of register range.
1362306a36Sopenharmony_ci- interrupt-congroller: Identifies the node as an interrupt controller.
1462306a36Sopenharmony_ci- #interrupt cells: Specifies the number of cells used to encode an interrupt
1562306a36Sopenharmony_ci  source connected to this controller. The value shall be 2.
1662306a36Sopenharmony_ci- interrupts: Specifies the list of interrupt lines which are handled by
1762306a36Sopenharmony_ci  the interrupt controller in the parent controller's notation. Interrupts
1862306a36Sopenharmony_ci  are mapped one-to-one to parent interrupts.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciExample
2162306a36Sopenharmony_ci-------
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciintc: interrupt-controller {	/* Parent interrupt controller */
2462306a36Sopenharmony_ci	interrupt-controller;
2562306a36Sopenharmony_ci	#interrupt-cells = <1>;	/* For example below */
2662306a36Sopenharmony_ci	/* ... */
2762306a36Sopenharmony_ci};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_citb10x_ictl: pic@2000 {		/* TB10x interrupt controller */
3062306a36Sopenharmony_ci	compatible = "abilis,tb10x-ictl";
3162306a36Sopenharmony_ci	reg = <0x2000 0x20>;
3262306a36Sopenharmony_ci	interrupt-controller;
3362306a36Sopenharmony_ci	#interrupt-cells = <2>;
3462306a36Sopenharmony_ci	interrupt-parent = <&intc>;
3562306a36Sopenharmony_ci	interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
3662306a36Sopenharmony_ci			20 21 22 23 24 25 26 27 28 29 30 31>;
3762306a36Sopenharmony_ci};
38