linux-stable/Documentation/devicetree/bindings/mmc/aspeed,sdhci.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

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