Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present. Add unevaluatedProperties or additionalProperties as appropriate, and then add any missing properties flagged by the addition. Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Lee Jones <lee@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230124230228.372305-1-robh@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
133 lines
3.9 KiB
YAML
133 lines
3.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0+
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sram/allwinner,sun4i-a10-system-control.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A10 System Control
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
description:
|
|
The SRAM controller found on most Allwinner devices is represented
|
|
by a regular node for the SRAM controller itself, with sub-nodes
|
|
representing the SRAM handled by the SRAM controller.
|
|
|
|
properties:
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 1
|
|
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- allwinner,sun4i-a10-sram-controller
|
|
- allwinner,sun50i-a64-sram-controller
|
|
deprecated: true
|
|
- enum:
|
|
- allwinner,sun4i-a10-system-control
|
|
- allwinner,sun5i-a13-system-control
|
|
- allwinner,sun8i-a23-system-control
|
|
- allwinner,sun8i-h3-system-control
|
|
- allwinner,sun20i-d1-system-control
|
|
- allwinner,sun50i-a64-system-control
|
|
- allwinner,sun50i-h5-system-control
|
|
- allwinner,sun50i-h616-system-control
|
|
- items:
|
|
- enum:
|
|
- allwinner,suniv-f1c100s-system-control
|
|
- allwinner,sun7i-a20-system-control
|
|
- allwinner,sun8i-r40-system-control
|
|
- const: allwinner,sun4i-a10-system-control
|
|
- items:
|
|
- const: allwinner,sun8i-v3s-system-control
|
|
- const: allwinner,sun8i-h3-system-control
|
|
- items:
|
|
- const: allwinner,sun50i-h6-system-control
|
|
- const: allwinner,sun50i-a64-system-control
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
ranges: true
|
|
|
|
patternProperties:
|
|
"^sram@[a-z0-9]+":
|
|
$ref: /schemas/sram/sram.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
patternProperties:
|
|
"^sram-section?@[a-f0-9]+$":
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
reg: true
|
|
|
|
compatible:
|
|
oneOf:
|
|
- const: allwinner,sun4i-a10-sram-a3-a4
|
|
- const: allwinner,sun4i-a10-sram-c1
|
|
- const: allwinner,sun4i-a10-sram-d
|
|
- const: allwinner,sun50i-a64-sram-c
|
|
- items:
|
|
- enum:
|
|
- allwinner,sun5i-a13-sram-a3-a4
|
|
- allwinner,sun7i-a20-sram-a3-a4
|
|
- const: allwinner,sun4i-a10-sram-a3-a4
|
|
- items:
|
|
- enum:
|
|
- allwinner,sun5i-a13-sram-c1
|
|
- allwinner,sun7i-a20-sram-c1
|
|
- allwinner,sun8i-a23-sram-c1
|
|
- allwinner,sun8i-h3-sram-c1
|
|
- allwinner,sun8i-r40-sram-c1
|
|
- allwinner,sun50i-a64-sram-c1
|
|
- allwinner,sun50i-h5-sram-c1
|
|
- allwinner,sun50i-h6-sram-c1
|
|
- const: allwinner,sun4i-a10-sram-c1
|
|
- items:
|
|
- enum:
|
|
- allwinner,suniv-f1c100s-sram-d
|
|
- allwinner,sun5i-a13-sram-d
|
|
- allwinner,sun7i-a20-sram-d
|
|
- const: allwinner,sun4i-a10-sram-d
|
|
- items:
|
|
- const: allwinner,sun50i-h6-sram-c
|
|
- const: allwinner,sun50i-a64-sram-c
|
|
|
|
required:
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
system-control@1c00000 {
|
|
compatible = "allwinner,sun4i-a10-system-control";
|
|
reg = <0x01c00000 0x30>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
sram_a: sram@0 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x00000000 0xc000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0x00000000 0xc000>;
|
|
|
|
emac_sram: sram-section@8000 {
|
|
compatible = "allwinner,sun4i-a10-sram-a3-a4";
|
|
reg = <0x8000 0x4000>;
|
|
};
|
|
};
|
|
};
|