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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 23, 2024 at 12:59:33PM +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.

What if the partition table is written? What does one use? One of them 
or both and merge them?

> eMMC provide a generic disk for user data and if supported also provide
> one or 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@xxxxxxxxx>
> ---
>  .../devicetree/bindings/mmc/mmc-card.yaml     | 75 +++++++++++++++++++
>  1 file changed, 75 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> index fd347126449a..fab9fa5c170a 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,48 @@ properties:
>        Use this to indicate that the mmc-card has a broken hpi
>        implementation, and that hpi should not be used.
>  
> +  "#address-cells": true
> +
> +  "#size-cells": true
> +
> +patternProperties:
> +  "^partitions(-boot[01])?$":
> +    type: object

You don't define this is fixed partitions with a fixed-partitions 
compatible. Why not reuse that? Then this all goes away with a 
reference to it.

> +
> +    properties:
> +      "#address-cells": true
> +
> +      "#size-cells": true
> +
> +    patternProperties:
> +      "@[0-9a-f]+$":
> +        type: object
> +
> +        properties:
> +          reg:
> +            description: partition's offset and size within the flash (in sector
> +              block, 512byte)

Units are sectors? Use bytes instead because everything else does in DT. 

> +            maxItems: 1
> +
> +
> +          label:
> +            description: The label / name for this partition.
> +
> +          read-only:
> +            description: This parameter, if present, is a hint that this partition
> +              should only be mounted read-only. This is usually used for flash
> +              partitions containing early-boot firmware images or data which should
> +              not be clobbered.
> +            type: boolean
> +
> +        required:
> +          - reg
> +          - label
> +
> +        additionalProperties: false
> +
> +    additionalProperties: false

Put the indented cases of additionalProperties/unevaluatedProperties 
before 'properties'. Easier to see what they apply to that way.

Rob




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux