# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2018 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/intel,ixp4xx-interrupt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Intel IXP4xx XScale Networking Processors Interrupt Controller

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

description: |
  This interrupt controller is found in the Intel IXP4xx processors.
  Some processors have 32 interrupts, some have up to 64 interrupts.
  The exact number of interrupts is determined from the compatible
  string.

  The distinct IXP4xx families with different interrupt controller
  variations are IXP42x, IXP43x, IXP45x and IXP46x. Those four
  families were the only ones to reach the developer and consumer
  market.

properties:
  compatible:
    items:
      - enum:
          - intel,ixp42x-interrupt
          - intel,ixp43x-interrupt
          - intel,ixp45x-interrupt
          - intel,ixp46x-interrupt

  reg:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 2

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

additionalProperties: false

examples:
  - |
    intcon: interrupt-controller@c8003000 {
        compatible = "intel,ixp43x-interrupt";
        reg = <0xc8003000 0x100>;
        interrupt-controller;
        #interrupt-cells = <2>;
    };