18c2ecf20Sopenharmony_ci* Xtensa built-in Programmable Interrupt Controller (PIC) 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: Should be "cdns,xtensa-pic". 58c2ecf20Sopenharmony_ci- interrupt-controller: Identifies the node as an interrupt controller. 68c2ecf20Sopenharmony_ci- #interrupt-cells: The number of cells to define the interrupts. 78c2ecf20Sopenharmony_ci It may be either 1 or 2. 88c2ecf20Sopenharmony_ci When it's 1, the first cell is the internal IRQ number. 98c2ecf20Sopenharmony_ci When it's 2, the first cell is the IRQ number, and the second cell 108c2ecf20Sopenharmony_ci specifies whether it's internal (0) or external (1). 118c2ecf20Sopenharmony_ci Periferals are usually connected to a fixed external IRQ, but for different 128c2ecf20Sopenharmony_ci core variants it may be mapped to different internal IRQ. 138c2ecf20Sopenharmony_ci IRQ sensitivity and priority are fixed for each core variant and may not be 148c2ecf20Sopenharmony_ci changed at runtime. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciExamples: 178c2ecf20Sopenharmony_ci pic: pic { 188c2ecf20Sopenharmony_ci compatible = "cdns,xtensa-pic"; 198c2ecf20Sopenharmony_ci /* one cell: internal irq number, 208c2ecf20Sopenharmony_ci * two cells: second cell == 0: internal irq number 218c2ecf20Sopenharmony_ci * second cell == 1: external irq number 228c2ecf20Sopenharmony_ci */ 238c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 248c2ecf20Sopenharmony_ci interrupt-controller; 258c2ecf20Sopenharmony_ci }; 26