Re: [PATCH v3 1/3] dt-bindings: mmc: renesas,sdhi: Document RZ/V2H(P) support

From: Lad, Prabhakar
Date: Tue Jun 25 2024 - 06:36:38 EST


On Tue, Jun 25, 2024 at 10:47 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
>
<snip>
> > > > v1->v2
> > > > - Moved vqmmc object in the if block
> > > > - Updated commit message
> > > > ---
> > > > .../devicetree/bindings/mmc/renesas,sdhi.yaml | 30
> > > > ++++++++++++++++++-
> > > > 1 file changed, 29 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
> > > > b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
> > > > index 3d0e61e59856..20769434a422 100644
> > > > --- a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
> > > > +++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
> > > > @@ -18,6 +18,7 @@ properties:
> > > > - renesas,sdhi-r7s9210 # SH-Mobile AG5
> > > > - renesas,sdhi-r8a73a4 # R-Mobile APE6
> > > > - renesas,sdhi-r8a7740 # R-Mobile A1
> > > > + - renesas,sdhi-r9a09g057 # RZ/V2H(P)
> > > > - renesas,sdhi-sh73a0 # R-Mobile APE6
> > > > - items:
> > > > - enum:
> > > > @@ -118,7 +119,9 @@ allOf:
> > > > properties:
> > > > compatible:
> > > > contains:
> > > > - const: renesas,rzg2l-sdhi
> > > > + enum:
> > > > + - renesas,sdhi-r9a09g057
> > > > + - renesas,rzg2l-sdhi
> > > > then:
> > > > properties:
> > > > clocks:
> > > > @@ -204,6 +207,31 @@ allOf:
> > > > sectioned off to be run by a separate second clock source to allow
> > > > the main core clock to be turned off to save power.
> > > >
> > > > + - if:
> > > > + properties:
> > > > + compatible:
> > > > + contains:
> > > > + const: renesas,sdhi-r9a09g057
> > > > + then:
> > > > + properties:
> > > > + renesas,sdhi-use-internal-regulator:
> > > > + $ref: /schemas/types.yaml#/definitions/flag
> > > > + description:
> > > > + Flag to indicate internal regulator is being used instead of GPIO regulator.
> > > > +
> > > > + vqmmc-regulator:
> > > > + type: object
> > > > + description: VQMMC SD regulator
> > > > + $ref: /schemas/regulator/regulator.yaml#
> > > > + unevaluatedProperties: false
> > > > +
> > > > + properties:
> > > > + regulator-compatible:
> > > > + pattern: "^vqmmc-r9a09g057-regulator"
> > > > +
> > > > + required:
> > > > + - vqmmc-regulator
> > >
> > > Maybe we can drop required to make it optional, so that one has the
> > > option to select between { vqmmc-regulator, gpio regulator}??
> > >
> > I think making the regulator node optional isn't correct here as this internal regulator is always
> > present in the SoC and this has to be described in the DT no matter if it's being used or not.
>
> Agreed, but user can make it optional by setting pinmux as gpio and
> the internal regulator is valid only if we make it as a function.
>
> From, SoC point vqmmc-regulator is always available. So, it needs to be described
> as above. But required property and disabled in the node somewhat confusing??
>
'required' here is mainly to enforce validation for the checkers.
Maybe the DT maintainers can better explain here...

Cheers,
Prabhakar