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

Christian Marangi ansuelsmth at gmail.com
Sun Sep 29 06:13:53 PDT 2024


On Thu, Sep 26, 2024 at 09:15:41AM -0500, Rob Herring wrote:
> 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.
>

While checking I was surprised for this multipleOf and was very happy to
have something like this but I also had some fear it didn't work due to
the 2 cell thing... Very sad. I will add a description to it.

The driver will validate the values anyway, at least on that part we are
on the safe side.

-- 
	Ansuel



More information about the linux-mtd mailing list