xref: /linux/Documentation/devicetree/bindings/mmc/mmc-card.yaml (revision be1ca3ee8f97067fee87fda73ea5959d5ab75bbf)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MMC Card / eMMC Generic
8
9maintainers:
10  - Ulf Hansson <ulf.hansson@linaro.org>
11
12description: |
13  This documents describes the devicetree bindings for a mmc-host controller
14  child node describing a mmc-card / an eMMC.
15
16  It's possible to define a fixed partition table for an eMMC for the user
17  partition, the 2 BOOT partition (boot1/2) and the 4 GP (gp1/2/3/4) if supported
18  by the eMMC.
19
20properties:
21  compatible:
22    const: mmc-card
23
24  reg:
25    const: 0
26
27  broken-hpi:
28    $ref: /schemas/types.yaml#/definitions/flag
29    description:
30      Use this to indicate that the mmc-card has a broken hpi
31      implementation, and that hpi should not be used.
32
33patternProperties:
34  "^partitions(-boot[12]|-gp[14])?$":
35    type: object
36    additionalProperties: true
37
38    properties:
39      compatible:
40        contains:
41          const: fixed-partitions
42
43required:
44  - compatible
45  - reg
46
47additionalProperties: false
48
49examples:
50  - |
51    mmc {
52        #address-cells = <1>;
53        #size-cells = <0>;
54
55        card@0 {
56            compatible = "mmc-card";
57            reg = <0>;
58            broken-hpi;
59
60            partitions {
61                compatible = "fixed-partitions";
62
63                #address-cells = <1>;
64                #size-cells = <1>;
65
66                partition@0 {
67                    label = "kernel"; /* Kernel */
68                    reg = <0x0 0x2000000>; /* 32 MB */
69                };
70
71                partition@2000000 {
72                    label = "rootfs";
73                    reg = <0x2000000 0x40000000>; /* 1GB */
74                };
75            };
76
77            partitions-boot1 {
78                compatible = "fixed-partitions";
79
80                #address-cells = <1>;
81                #size-cells = <1>;
82
83                partition@0 {
84                    label = "bl";
85                    reg = <0x0 0x2000000>; /* 32MB */
86                    read-only;
87                };
88            };
89        };
90    };
91
92...
93