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

Rob Herring
2024-09-26T14:15:42Z

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@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