xref: /freebsd/sys/contrib/device-tree/Bindings/misc/aspeed,ast2400-cvic.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/misc/aspeed,ast2400-cvic.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: Aspeed Coprocessor Vectored Interrupt Controller
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotmaintainers:
10*b2d2a78aSEmmanuel Vadot  - Andrew Jeffery <andrew@codeconstruct.com.au>
11*b2d2a78aSEmmanuel Vadot
12*b2d2a78aSEmmanuel Vadotdescription:
13*b2d2a78aSEmmanuel Vadot  The Aspeed AST2400 and AST2500 SoCs have a controller that provides interrupts
14*b2d2a78aSEmmanuel Vadot  to the ColdFire coprocessor. It's not a normal interrupt controller and it
15*b2d2a78aSEmmanuel Vadot  would be rather inconvenient to create an interrupt tree for it, as it
16*b2d2a78aSEmmanuel Vadot  somewhat shares some of the same sources as the main ARM interrupt controller
17*b2d2a78aSEmmanuel Vadot  but with different numbers.
18*b2d2a78aSEmmanuel Vadot
19*b2d2a78aSEmmanuel Vadot  The AST2500 also supports a software generated interrupt.
20*b2d2a78aSEmmanuel Vadot
21*b2d2a78aSEmmanuel Vadotproperties:
22*b2d2a78aSEmmanuel Vadot  compatible:
23*b2d2a78aSEmmanuel Vadot    items:
24*b2d2a78aSEmmanuel Vadot      - enum:
25*b2d2a78aSEmmanuel Vadot          - aspeed,ast2400-cvic
26*b2d2a78aSEmmanuel Vadot          - aspeed,ast2500-cvic
27*b2d2a78aSEmmanuel Vadot      - const: aspeed,cvic
28*b2d2a78aSEmmanuel Vadot
29*b2d2a78aSEmmanuel Vadot  reg:
30*b2d2a78aSEmmanuel Vadot    maxItems: 1
31*b2d2a78aSEmmanuel Vadot
32*b2d2a78aSEmmanuel Vadot  valid-sources:
33*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
34*b2d2a78aSEmmanuel Vadot    maxItems: 1
35*b2d2a78aSEmmanuel Vadot    description:
36*b2d2a78aSEmmanuel Vadot      A bitmap of supported sources for the implementation.
37*b2d2a78aSEmmanuel Vadot
38*b2d2a78aSEmmanuel Vadot  copro-sw-interrupts:
39*b2d2a78aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
40*b2d2a78aSEmmanuel Vadot    minItems: 1
41*b2d2a78aSEmmanuel Vadot    maxItems: 32
42*b2d2a78aSEmmanuel Vadot    description:
43*b2d2a78aSEmmanuel Vadot      A list of interrupt numbers that can be used as software interrupts from
44*b2d2a78aSEmmanuel Vadot      the ARM to the coprocessor.
45*b2d2a78aSEmmanuel Vadot
46*b2d2a78aSEmmanuel Vadotrequired:
47*b2d2a78aSEmmanuel Vadot  - compatible
48*b2d2a78aSEmmanuel Vadot  - reg
49*b2d2a78aSEmmanuel Vadot  - valid-sources
50*b2d2a78aSEmmanuel Vadot
51*b2d2a78aSEmmanuel VadotadditionalProperties: false
52*b2d2a78aSEmmanuel Vadot
53*b2d2a78aSEmmanuel Vadotexamples:
54*b2d2a78aSEmmanuel Vadot  - |
55*b2d2a78aSEmmanuel Vadot    interrupt-controller@1e6c2000 {
56*b2d2a78aSEmmanuel Vadot        compatible = "aspeed,ast2500-cvic", "aspeed,cvic";
57*b2d2a78aSEmmanuel Vadot        reg = <0x1e6c2000 0x80>;
58*b2d2a78aSEmmanuel Vadot        valid-sources = <0xffffffff>;
59*b2d2a78aSEmmanuel Vadot        copro-sw-interrupts = <1>;
60*b2d2a78aSEmmanuel Vadot    };
61