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