Hi Prabhakar, On Mon, Jun 24, 2024 at 5:33 PM Prabhakar <prabhakar.csengg@xxxxxxxxx> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > The SD/MMC block on the RZ/V2H(P) ("R9A09G057") SoC is similar to that > of the R-Car Gen3, but it has some differences: > - HS400 is not supported. > - It supports the SD_IOVS bit to control the IO voltage level. > - It supports fixed address mode. > > To accommodate these differences, a SoC-specific 'renesas,sdhi-r9a09g057' > compatible string is added. > > A 'vqmmc-regulator' object is introduced to handle the power enable (PWEN) > and voltage level switching for the SD/MMC. > > Additionally, the 'renesas,sdhi-use-internal-regulator' flag is introduced > to indicate that an internal regulator is used instead of a > GPIO-controlled regulator. This flag will help configure the internal > regulator and avoid special handling when GPIO is used for voltage > regulation instead of the SD_(IOVS/PWEN) pins. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > --- > v2->v3 > - Renamed vqmmc-r9a09g057-regulator object to vqmmc-regulator > - Added regulator-compatible property for vqmmc-regulator > - Added 'renesas,sdhi-use-internal-regulator' property Thanks for the update! > --- a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml > +++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml > @@ -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. Do you really need this? The status of the regulator subnode already indicates this. > + > + 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 I'm not 100% sure this works correctly: does the checker complain if a required subnode is disabled? Note that I haven't checked that. > + > required: > - compatible > - reg Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds