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

title: Aspeed Vectored Interrupt Controller

maintainers:
  - Andrew Jeffery <andrew@codeconstruct.com.au>

description:
  The AST2400 and AST2500 SoC families include a legacy register layout before
  a redesigned layout, but the bindings do not prescribe the use of one or the
  other.

properties:
  compatible:
    enum:
      - aspeed,ast2400-vic
      - aspeed,ast2500-vic

  reg:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 1
    description:
      Specifies the number of cells needed to encode an interrupt source. It
      must be 1 as the VIC has no configuration options for interrupt sources.
      The single cell defines the interrupt number.

  valid-sources:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    maxItems: 2
    description:
      A bitmap of supported sources for the implementation.

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

allOf:
  - $ref: /schemas/interrupt-controller.yaml

additionalProperties: false

examples:
  - |
    interrupt-controller@1e6c0080 {
         compatible = "aspeed,ast2400-vic";
         reg = <0x1e6c0080 0x80>;
         interrupt-controller;
         #interrupt-cells = <1>;
         valid-sources = <0xffffffff 0x0007ffff>;
    };

...
