RE: [PATCH v2 01/11] dt-bindings: mmc: arasan: Update documentation for SD Card Clock

From: Manish Narani
Date: Mon Aug 19 2019 - 05:21:23 EST


Hi Uffe,


> -----Original Message-----
> From: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Sent: Thursday, July 25, 2019 6:31 PM
> To: Manish Narani <MNARANI@xxxxxxxxxx>
> Cc: Rob Herring <robh@xxxxxxxxxx>; mark.rutland@xxxxxxx;
> heiko@xxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>;
> adrian.hunter@xxxxxxxxx; christoph.muellner@xxxxxxxxxxxxxxxxxxxxx;
> philipp.tomsich@xxxxxxxxxxxxxxxxxxxxx; viresh.kumar@xxxxxxxxxx;
> scott.branden@xxxxxxxxxxxx; ayaka@xxxxxxxxxxx; kernel@xxxxxxxx;
> tony.xie@xxxxxxxxxxxxxx; Rajan Vaja <RAJANV@xxxxxxxxxx>; Jolly Shah
> <JOLLYS@xxxxxxxxxx>; Nava kishore Manne <navam@xxxxxxxxxx>;
> mdf@xxxxxxxxxx; olof@xxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-rockchip@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH v2 01/11] dt-bindings: mmc: arasan: Update
> documentation for SD Card Clock
>
> On Tue, 23 Jul 2019 at 10:23, Manish Narani <MNARANI@xxxxxxxxxx> wrote:
> >
> > Hi Rob,
> >
> > Thanks a lot for the review!
> >
> >
> > > -----Original Message-----
> > > From: Rob Herring <robh@xxxxxxxxxx>
> > > Sent: Tuesday, July 23, 2019 3:24 AM
> > > To: Manish Narani <MNARANI@xxxxxxxxxx>
> > > Cc: ulf.hansson@xxxxxxxxxx; mark.rutland@xxxxxxx; heiko@xxxxxxxxx;
> Michal
> > > Simek <michals@xxxxxxxxxx>; adrian.hunter@xxxxxxxxx;
> > > christoph.muellner@xxxxxxxxxxxxxxxxxxxxx; philipp.tomsich@theobroma-
> > > systems.com; viresh.kumar@xxxxxxxxxx; scott.branden@xxxxxxxxxxxx;
> > > ayaka@xxxxxxxxxxx; kernel@xxxxxxxx; tony.xie@xxxxxxxxxxxxxx; Rajan Vaja
> > > <RAJANV@xxxxxxxxxx>; Jolly Shah <JOLLYS@xxxxxxxxxx>; Nava kishore
> Manne
> > > <navam@xxxxxxxxxx>; mdf@xxxxxxxxxx; olof@xxxxxxxxx; linux-
> > > mmc@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
> > > kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> > > rockchip@xxxxxxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH v2 01/11] dt-bindings: mmc: arasan: Update
> > > documentation for SD Card Clock
> > >
> > > On Mon, Jul 01, 2019 at 10:59:41AM +0530, Manish Narani wrote:
> > > > The clock handling is to be updated in the Arasan SDHCI. As the
> > > > 'devm_clk_register' is deprecated in the clock framework, this needs to
> > > > specify one more clock named 'clk_sdcard' to get the clock in the driver
> > > > via 'devm_clk_get()'. This clock represents the clock from controller to
> > > > the card.
> > >
> > > Please explain why in terms of the binding, not some driver calls.
> > Okay.
> >
> > >
> > >
> > > > Signed-off-by: Manish Narani <manish.narani@xxxxxxxxxx>
> > > > ---
> > > > Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 15
> ++++++++++-
> > > ----
> > > > 1 file changed, 10 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
> > > b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
> > > > index 1edbb04..15c6397 100644
> > > > --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
> > > > +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
> > > > @@ -23,6 +23,10 @@ Required Properties:
> > > > - reg: From mmc bindings: Register location and length.
> > > > - clocks: From clock bindings: Handles to clock inputs.
> > > > - clock-names: From clock bindings: Tuple including "clk_xin" and
> "clk_ahb"
> > > > + Apart from these two there is one more optional clock which
> > > > + is "clk_sdcard". This clock represents output clock from
> > > > + controller and card. This must be specified when #clock-cells
> > > > + is specified.
> > > > - interrupts: Interrupt specifier
> > > >
> > > > Required Properties for "arasan,sdhci-5.1":
> > > > @@ -36,9 +40,10 @@ Optional Properties:
> > > > - clock-output-names: If specified, this will be the name of the card
> clock
> > > > which will be exposed by this device. Required if #clock-cells is
> > > > specified.
> > > > - - #clock-cells: If specified this should be the value <0>. With this
> property
> > > > - in place we will export a clock representing the Card Clock. This clock
> > > > - is expected to be consumed by our PHY. You must also specify
> > > > + - #clock-cells: If specified this should be the value <0>. With this
> > > > + property in place we will export one clock representing the Card
> > > > + Clock. This clock is expected to be consumed by our PHY. You must
> also
> > > > + specify
> > >
> > > specify what?
> > I think this line was already there, I missed to correct it, Will update in v3.
> >
> > >
> > > The 3rd clock input I assume? This statement means any existing users
> > > with 2 clock inputs and #clock-cells are in error now. Is that correct?
> > Yes, this is correct. So far there was only one vendor using '#clock-cells'
> which is Rockchip. I have sent DT patch (02/11) for that also.
> > Here this is needed as earlier implementation isn't correct as suggested by
> Uffe. (https://lkml.org/lkml/2019/6/20/486) .
>
> I am not sure how big of a problem the backwards compatible thingy
> with DT is, in general we must not break it. What do you say Manish?

Though I agree with Uffe on this, there is no other way from my understanding. Please suggest.

>
> As a workaround, would it be possible to use
> of_clk_get_from_provider() somehow to address the compatibility issue?

For this to be used we have to parse 'clkspec' from the DT node and pass the same as an argument to this function. In this case also the DT node needs to be updated, which is same as we have done in this series.



Thanks,
Manish