xref: /linux/Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml (revision 167c6b5ecee1c91867b4a92fcd472e3ddeaeffdc)
1*167c6b5eSLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*167c6b5eSLinus Walleij# Copyright 2018 Linaro Ltd.
3*167c6b5eSLinus Walleij%YAML 1.2
4*167c6b5eSLinus Walleij---
5*167c6b5eSLinus Walleij$id: "http://devicetree.org/schemas/interrupt/intel-ixp4xx-interrupt.yaml#"
6*167c6b5eSLinus Walleij$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7*167c6b5eSLinus Walleij
8*167c6b5eSLinus Walleijtitle: Intel IXP4xx XScale Networking Processors Interrupt Controller
9*167c6b5eSLinus Walleij
10*167c6b5eSLinus Walleijmaintainers:
11*167c6b5eSLinus Walleij  - Linus Walleij <linus.walleij@linaro.org>
12*167c6b5eSLinus Walleij
13*167c6b5eSLinus Walleijdescription: |
14*167c6b5eSLinus Walleij  This interrupt controller is found in the Intel IXP4xx processors.
15*167c6b5eSLinus Walleij  Some processors have 32 interrupts, some have up to 64 interrupts.
16*167c6b5eSLinus Walleij  The exact number of interrupts is determined from the compatible
17*167c6b5eSLinus Walleij  string.
18*167c6b5eSLinus Walleij
19*167c6b5eSLinus Walleij  The distinct IXP4xx families with different interrupt controller
20*167c6b5eSLinus Walleij  variations are IXP42x, IXP43x, IXP45x and IXP46x. Those four
21*167c6b5eSLinus Walleij  families were the only ones to reach the developer and consumer
22*167c6b5eSLinus Walleij  market.
23*167c6b5eSLinus Walleij
24*167c6b5eSLinus Walleijproperties:
25*167c6b5eSLinus Walleij  compatible:
26*167c6b5eSLinus Walleij    items:
27*167c6b5eSLinus Walleij      - enum:
28*167c6b5eSLinus Walleij        - intel,ixp42x-interrupt
29*167c6b5eSLinus Walleij        - intel,ixp43x-interrupt
30*167c6b5eSLinus Walleij        - intel,ixp45x-interrupt
31*167c6b5eSLinus Walleij        - intel,ixp46x-interrupt
32*167c6b5eSLinus Walleij
33*167c6b5eSLinus Walleij  reg:
34*167c6b5eSLinus Walleij    maxItems: 1
35*167c6b5eSLinus Walleij
36*167c6b5eSLinus Walleij  interrupt-controller: true
37*167c6b5eSLinus Walleij
38*167c6b5eSLinus Walleij  '#interrupt-cells':
39*167c6b5eSLinus Walleij    const: 2
40*167c6b5eSLinus Walleij
41*167c6b5eSLinus Walleijrequired:
42*167c6b5eSLinus Walleij  - compatible
43*167c6b5eSLinus Walleij  - reg
44*167c6b5eSLinus Walleij  - interrupt-controller
45*167c6b5eSLinus Walleij  - '#interrupt-cells'
46*167c6b5eSLinus Walleij
47*167c6b5eSLinus Walleijexamples:
48*167c6b5eSLinus Walleij  - |
49*167c6b5eSLinus Walleij    intcon: interrupt-controller@c8003000 {
50*167c6b5eSLinus Walleij        compatible = "intel,ixp43x-interrupt";
51*167c6b5eSLinus Walleij        reg = <0xc8003000 0x100>;
52*167c6b5eSLinus Walleij        interrupt-controller;
53*167c6b5eSLinus Walleij        #interrupt-cells = <2>;
54*167c6b5eSLinus Walleij    };
55