[RFC PATCH v2 5/5] dt-bindings: mmc: Document support for partition table in mmc-card

Rob Herring robh at kernel.org
Thu Sep 26 07:15:41 PDT 2024


On Wed, Sep 25, 2024 at 11:45:25PM +0200, Christian Marangi wrote:
> Document support for defining a partition table in the mmc-card node.
> 
> This is needed if the eMMC doesn't have a partition table written and
> the bootloader of the device load data by using absolute offset of the
> block device. This is common on embedded device that have eMMC installed
> to save space and have non removable block devices.
> 
> If an OF partition table is detected, any partition table written in the
> eMMC will be ignored and won't be parsed.
> 
> eMMC provide a generic disk for user data and if supported (JEDEC 4.4+)
> also provide two additional disk ("boot0" and "boot1") for special usage
> of boot operation where normally is stored the bootloader or boot info.
> 
> Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
> ---
>  .../devicetree/bindings/mmc/mmc-card.yaml     | 57 +++++++++++++++++++
>  1 file changed, 57 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> index fd347126449a..58b6593a0f60 100644
> --- a/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> @@ -13,6 +13,10 @@ description: |
>    This documents describes the devicetree bindings for a mmc-host controller
>    child node describing a mmc-card / an eMMC.
>  
> +  It's possible to define a fixed partition table for an eMMC for the user
> +  partition and one of the 2 boot partition (boot0/boot1) if supported by the
> +  eMMC.
> +
>  properties:
>    compatible:
>      const: mmc-card
> @@ -26,6 +30,30 @@ properties:
>        Use this to indicate that the mmc-card has a broken hpi
>        implementation, and that hpi should not be used.
>  
> +  "#address-cells":
> +    const: 0
> +
> +  "#size-cells":
> +    const: 0

Don't need these properties.

> +
> +patternProperties:
> +  "^partitions(-boot[01])?$":
> +    $ref: /schemas/block/partitions/partitions.yaml
> +
> +    patternProperties:
> +      "^partition@[0-9a-f]+$":
> +        $ref: /schemas/block/partitions/partition.yaml
> +
> +        properties:
> +          reg:
> +            multipleOf: 512

I was going to suggest this, but I think it won't actually work because 
it could be 2 cells for address and/or size.

Rob



More information about the linux-mtd mailing list