xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/cdns,xtensa-pic.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Xtensa built-in Programmable Interrupt Controller (PIC)
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: Should be "cdns,xtensa-pic".
5*c66ec88fSEmmanuel Vadot- interrupt-controller: Identifies the node as an interrupt controller.
6*c66ec88fSEmmanuel Vadot- #interrupt-cells: The number of cells to define the interrupts.
7*c66ec88fSEmmanuel Vadot  It may be either 1 or 2.
8*c66ec88fSEmmanuel Vadot  When it's 1, the first cell is the internal IRQ number.
9*c66ec88fSEmmanuel Vadot  When it's 2, the first cell is the IRQ number, and the second cell
10*c66ec88fSEmmanuel Vadot  specifies whether it's internal (0) or external (1).
11*c66ec88fSEmmanuel Vadot  Periferals are usually connected to a fixed external IRQ, but for different
12*c66ec88fSEmmanuel Vadot  core variants it may be mapped to different internal IRQ.
13*c66ec88fSEmmanuel Vadot  IRQ sensitivity and priority are fixed for each core variant and may not be
14*c66ec88fSEmmanuel Vadot  changed at runtime.
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel VadotExamples:
17*c66ec88fSEmmanuel Vadot	pic: pic {
18*c66ec88fSEmmanuel Vadot		compatible = "cdns,xtensa-pic";
19*c66ec88fSEmmanuel Vadot		/* one cell: internal irq number,
20*c66ec88fSEmmanuel Vadot		 * two cells: second cell == 0: internal irq number
21*c66ec88fSEmmanuel Vadot		 *            second cell == 1: external irq number
22*c66ec88fSEmmanuel Vadot		 */
23*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
24*c66ec88fSEmmanuel Vadot		interrupt-controller;
25*c66ec88fSEmmanuel Vadot	};
26