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>
108 lines
2.8 KiB
YAML
108 lines
2.8 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright 2019 IBM Corp.
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mmc/aspeed,sdhci.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ASPEED SD/SDIO/MMC Controller
|
|
|
|
maintainers:
|
|
- Andrew Jeffery <andrew@aj.id.au>
|
|
- Ryan Chen <ryanchen.aspeed@gmail.com>
|
|
|
|
description: |+
|
|
The ASPEED SD/SDIO/eMMC controller exposes two slots implementing the SDIO
|
|
Host Specification v2.00, with 1 or 4 bit data buses, or an 8 bit data bus if
|
|
only a single slot is enabled.
|
|
|
|
The two slots are supported by a common configuration area. As the SDHCIs for
|
|
the slots are dependent on the common configuration area, they are described
|
|
as child nodes.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- aspeed,ast2400-sd-controller
|
|
- aspeed,ast2500-sd-controller
|
|
- aspeed,ast2600-sd-controller
|
|
reg:
|
|
maxItems: 1
|
|
description: Common configuration registers
|
|
"#address-cells":
|
|
const: 1
|
|
"#size-cells":
|
|
const: 1
|
|
ranges: true
|
|
clocks:
|
|
maxItems: 1
|
|
description: The SD/SDIO controller clock gate
|
|
|
|
patternProperties:
|
|
"^sdhci@[0-9a-f]+$":
|
|
type: object
|
|
$ref: mmc-controller.yaml
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- aspeed,ast2400-sdhci
|
|
- aspeed,ast2500-sdhci
|
|
- aspeed,ast2600-sdhci
|
|
reg:
|
|
maxItems: 1
|
|
description: The SDHCI registers
|
|
clocks:
|
|
maxItems: 1
|
|
description: The SD bus clock
|
|
interrupts:
|
|
maxItems: 1
|
|
description: The SD interrupt shared between both slots
|
|
sdhci,auto-cmd12:
|
|
type: boolean
|
|
description: Specifies that controller should use auto CMD12
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
- ranges
|
|
- clocks
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/aspeed-clock.h>
|
|
sdc@1e740000 {
|
|
compatible = "aspeed,ast2500-sd-controller";
|
|
reg = <0x1e740000 0x100>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0x1e740000 0x20000>;
|
|
clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
|
|
|
|
sdhci0: sdhci@100 {
|
|
compatible = "aspeed,ast2500-sdhci";
|
|
reg = <0x100 0x100>;
|
|
interrupts = <26>;
|
|
sdhci,auto-cmd12;
|
|
clocks = <&syscon ASPEED_CLK_SDIO>;
|
|
};
|
|
|
|
sdhci1: sdhci@200 {
|
|
compatible = "aspeed,ast2500-sdhci";
|
|
reg = <0x200 0x100>;
|
|
interrupts = <26>;
|
|
sdhci,auto-cmd12;
|
|
clocks = <&syscon ASPEED_CLK_SDIO>;
|
|
};
|
|
};
|