# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/cirrus,ep7209-intc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic CLPS711X Interrupt Controller

maintainers:
  - Alexander Shiyan <shc_work@mail.ru>

description: >
  Cirrus Logic CLPS711X Interrupt Controller

  The interrupt sources are as follows:
    ID	Name	Description
    ---------------------------
    1:	BLINT	Battery low (FIQ)
    3:	MCINT	Media changed (FIQ)
    4:	CSINT	CODEC sound
    5:	EINT1	External 1
    6:	EINT2	External 2
    7:	EINT3	External 3
    8:	TC1OI	TC1 under flow
    9:	TC2OI	TC2 under flow
    10:	RTCMI	RTC compare match
    11:	TINT	64Hz tick
    12:	UTXINT1	UART1 transmit FIFO half empty
    13:	URXINT1	UART1 receive FIFO half full
    14:	UMSINT	UART1 modem status changed
    15:	SSEOTI	SSI1 end of transfer
    16:	KBDINT	Keyboard
    17:	SS2RX	SSI2 receive FIFO half or greater full
    18:	SS2TX	SSI2 transmit FIFO less than half empty
    28:	UTXINT2	UART2 transmit FIFO half empty
    29:	URXINT2	UART2 receive FIFO half full
    32:	DAIINT	DAI interface (FIQ)

properties:
  compatible:
    oneOf:
      - items:
          - const: cirrus,ep7312-intc
          - const: cirrus,ep7209-intc
      - items:
          - const: cirrus,ep7209-intc

  reg:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 1

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

additionalProperties: false

examples:
  - |
    interrupt-controller@80000000 {
        compatible = "cirrus,ep7312-intc", "cirrus,ep7209-intc";
        reg = <0x80000000 0x4000>;
        interrupt-controller;
        #interrupt-cells = <1>;
    };
