0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ARM Vectored Interrupt Controller
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 description: |+
0013 One or more Vectored Interrupt Controllers (VIC's) can be connected in an
0014 ARM system for interrupt routing. For multiple controllers they can either
0015 be nested or have the outputs wire-OR'd together.
0016
0017 allOf:
0018 - $ref: /schemas/interrupt-controller.yaml#
0019
0020 properties:
0021 compatible:
0022 enum:
0023 - arm,pl190-vic
0024 - arm,pl192-vic
0025 - arm,versatile-vic
0026
0027 interrupt-controller: true
0028
0029 "#interrupt-cells":
0030 const: 1
0031 description:
0032 The number of cells to define the interrupts. It must be 1 as the
0033 VIC has no configuration options for interrupt sources. The single
0034 cell defines the interrupt number.
0035
0036 reg:
0037 maxItems: 1
0038
0039 interrupts:
0040 maxItems: 1
0041
0042 valid-mask:
0043 description:
0044 A one cell big bit mask of valid interrupt sources. Each bit
0045 represents single interrupt source, starting from source 0 at
0046 LSb and ending at source 31 at MSb. A bit that is set means
0047 that the source is wired and clear means otherwise. If unspecified,
0048 defaults to all valid.
0049 $ref: /schemas/types.yaml#/definitions/uint32
0050
0051 valid-wakeup-mask:
0052 description:
0053 A one cell big bit mask of interrupt sources that can be configured
0054 as wake up source for the system. Order of bits is the same as for
0055 valid-mask property. A set bit means that this interrupt source
0056 can be configured as a wake up source for the system. If unspecied,
0057 defaults to all interrupt sources configurable as wake up sources.
0058 $ref: /schemas/types.yaml#/definitions/uint32
0059
0060 required:
0061 - compatible
0062 - reg
0063 - interrupt-controller
0064 - "#interrupt-cells"
0065
0066 additionalProperties: false
0067
0068 examples:
0069 - |
0070 // PL192 VIC
0071 vic0: interrupt-controller@60000 {
0072 compatible = "arm,pl192-vic";
0073 interrupt-controller;
0074 #interrupt-cells = <1>;
0075 reg = <0x60000 0x1000>;
0076
0077 valid-mask = <0xffffff7f>;
0078 valid-wakeup-mask = <0x0000ff7f>;
0079 };
0080
0081 ...