Hi Geert, Thank you for the review. On Tue, Jun 25, 2024 at 7:57 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > 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? For cases where the status is okay for the regulator but still the user has phandle for the GPIO regulator or shall I drop this case? > The status of the regulator subnode already indicates this. You mean to use of_device_is_available() ? > > > + > > + 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. > Here is the experiment which I tried and the checker didnt complain, &sdhi1 { status = "okay"; }; &vqmmc_sdhi1 { status = "disabled"; }; But the above is still a valid case where the user wants to use a GPIO regulator? Cheers, Prabhakar