[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdUkcJFv3JRUSpgEd4_zTd9dxD9e96JjxSco4tNU-rv6wA@mail.gmail.com>
Date: Tue, 25 Jun 2024 11:02:13 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: "Lad, Prabhakar" <prabhakar.csengg@...il.com>
Cc: Ulf Hansson <ulf.hansson@...aro.org>, Wolfram Sang <wsa+renesas@...g-engineering.com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Magnus Damm <magnus.damm@...il.com>, linux-mmc@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org, Biju Das <biju.das.jz@...renesas.com>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: Re: [PATCH v3 1/3] dt-bindings: mmc: renesas,sdhi: Document RZ/V2H(P) support
Hi Prabhakar,
On Tue, Jun 25, 2024 at 10:47 AM Lad, Prabhakar
<prabhakar.csengg@...il.com> wrote:
> On Tue, Jun 25, 2024 at 7:57 AM Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> > On Mon, Jun 24, 2024 at 5:33 PM Prabhakar <prabhakar.csengg@...il.com> wrote:
> > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
> > >
> > > 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@...renesas.com>
> > > ---
> > > 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?
I think that case can be ignored.
The regulator subnode would be disabled by default in the .dtsi, right?
> > The status of the regulator subnode already indicates this.
> You mean to use of_device_is_available() ?
Exactly. I.e. only register the regulator when it is enabled.
> > > +
> > > + 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";
> };
OK, thanks for checking!
> But the above is still a valid case where the user wants to use a GPIO
> regulator?
Yes it is.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
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
Powered by blists - more mailing lists