linux/Documentation/devicetree/bindings/sram/allwinner,sun4i-a10-system-control.yaml
Rob Herring e62fc18213 dt-bindings: Add missing (unevaluated|additional)Properties on child node schemas
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>
2023-04-05 15:38:38 -05:00

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>;
};
};
};