6fdc6e23a7
This doesn't yet do anything in the tools, but make it explicit so we can check either 'unevaluatedProperties' or 'additionalProperties' is present in schemas. 'unevaluatedProperties' is appropriate when including another schema (via '$ref') and all possible properties and/or child nodes are not explicitly listed in the schema with the '$ref'. This is in preparation to add a meta-schema to check for missing 'unevaluatedProperties' or 'additionalProperties'. This has been a constant source of review issues. Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Wolfram Sang <wsa@kernel.org> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20201005183830.486085-2-robh@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
93 lines
2.2 KiB
YAML
93 lines
2.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: "http://devicetree.org/schemas/interrupt-controller/loongson,liointc.yaml#"
|
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
|
|
|
title: Loongson Local I/O Interrupt Controller
|
|
|
|
maintainers:
|
|
- Jiaxun Yang <jiaxun.yang@flygoat.com>
|
|
|
|
description: |
|
|
This interrupt controller is found in the Loongson-3 family of chips as the primary
|
|
package interrupt controller which can route local I/O interrupt to interrupt lines
|
|
of cores.
|
|
|
|
allOf:
|
|
- $ref: /schemas/interrupt-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: loongson,liointc-1.0
|
|
- const: loongson,liointc-1.0a
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
interrupts:
|
|
description:
|
|
Interrupt source of the CPU interrupts.
|
|
minItems: 1
|
|
maxItems: 4
|
|
|
|
interrupt-names:
|
|
description: List of names for the parent interrupts.
|
|
items:
|
|
- const: int0
|
|
- const: int1
|
|
- const: int2
|
|
- const: int3
|
|
minItems: 1
|
|
maxItems: 4
|
|
|
|
'#interrupt-cells':
|
|
const: 2
|
|
|
|
'loongson,parent_int_map':
|
|
description: |
|
|
This property points how the children interrupts will be mapped into CPU
|
|
interrupt lines. Each cell refers to a parent interrupt line from 0 to 3
|
|
and each bit in the cell refers to a child interrupt from 0 to 31.
|
|
If a CPU interrupt line didn't connect with liointc, then keep its
|
|
cell with zero.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 4
|
|
maxItems: 4
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
- 'loongson,parent_int_map'
|
|
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
iointc: interrupt-controller@3ff01400 {
|
|
compatible = "loongson,liointc-1.0";
|
|
reg = <0x3ff01400 0x64>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&cpuintc>;
|
|
interrupts = <2>, <3>;
|
|
interrupt-names = "int0", "int1";
|
|
|
|
loongson,parent_int_map = <0xf0ffffff>, /* int0 */
|
|
<0x0f000000>, /* int1 */
|
|
<0x00000000>, /* int2 */
|
|
<0x00000000>; /* int3 */
|
|
|
|
};
|
|
|
|
...
|