Commit 295c894c authored by Maxime Ripard's avatar Maxime Ripard Committed by Ulf Hansson
Browse files

dt-bindings: mmc: Convert MMC Card binding to a schema



MMC Cards can have an optional Device Tree binding to add
non-discoverable properties.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Some of these properties were already described in the MMC controller
binding, even though they are not generic and do not apply to any
device, so we took the occasion to fix this.

Cc: linux-mmc@vger.kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210901091852.479202-31-maxime@cerno.tech


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 9c1aaec4
Loading
Loading
Loading
Loading
+0 −30
Original line number Diff line number Diff line
mmc-card / eMMC bindings
------------------------

This documents describes the devicetree bindings for a mmc-host controller
child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
in mmc.txt

Required properties:
-compatible : Must be "mmc-card"
-reg        : Must be <0>

Optional properties:
-broken-hpi : Use this to indicate that the mmc-card has a broken hpi
              implementation, and that hpi should not be used

Example:

&mmc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc2_pins_a>;
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <8>;
	non-removable;

	mmccard: mmccard@0 {
		reg = <0>;
		compatible = "mmc-card";
		broken-hpi;
	};
};
+48 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MMC Card / eMMC Generic Device Tree Bindings

maintainers:
  - Ulf Hansson <ulf.hansson@linaro.org>

description: |
  This documents describes the devicetree bindings for a mmc-host controller
  child node describing a mmc-card / an eMMC.

properties:
  compatible:
    const: mmc-card

  reg:
    const: 0

  broken-hpi:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Use this to indicate that the mmc-card has a broken hpi
      implementation, and that hpi should not be used.

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    mmc {
        #address-cells = <1>;
        #size-cells = <0>;

        card@0 {
            compatible = "mmc-card";
            reg = <0>;
            broken-hpi;
        };
    };

...
+0 −6
Original line number Diff line number Diff line
@@ -333,12 +333,6 @@ patternProperties:
              subnode describes. A value of 0 denotes the memory SD
              function, values from 1 to 7 denote the SDIO functions.

      broken-hpi:
        $ref: /schemas/types.yaml#/definitions/flag
        description:
          Use this to indicate that the mmc-card has a broken hpi
          implementation, and that hpi should not be used.

    required:
      - reg