# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2025 Max Filippov <jcmvbkbc@gmail.com>

%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/cdns,xtensa-pic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xtensa Interrupt Controllers

maintainers:
  - Max Filippov <jcmvbkbc@gmail.com>

description:
  Xtensa Interrupt Distributor and Programmable Interrupt Controller (MX) and
  Xtensa built-in Programmable Interrupt Controller (PIC)

properties:
  compatible:
    enum:
      - cdns,xtensa-mx
      - cdns,xtensa-pic

  '#interrupt-cells':
    enum: [ 1, 2 ]
    description:
      Number of cells to define the interrupts. When 1, the first cell is the
      internal IRQ number; when 2, the second cell specifies internal (0) or
      external (1).

  interrupt-controller: true

required:
  - compatible
  - '#interrupt-cells'
  - interrupt-controller

additionalProperties: false

examples:
  - |
    interrupt-controller {
        compatible = "cdns,xtensa-pic";
        /* one cell: internal irq number,
         * two cells: second cell == 0: internal irq number
         *            second cell == 1: external irq number
         */
        #interrupt-cells = <2>;
        interrupt-controller;
    };
