diff mbox series

[1/6] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

Message ID 1538564744-15590-2-git-send-email-fabrizio.castro@bp.renesas.com (mailing list archive)
State New, archived
Headers show
Series Add uSD and eMMC to iwg23s | expand

Commit Message

Fabrizio Castro Oct. 3, 2018, 11:05 a.m. UTC
The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
internal DMAC, therefore SDHI1 is fully compatible with driver
renesas_sdhi_internal_dmac driver. As a result, the compatible
strings for the R8A77470 SDHI interfaces are a little bit special.
Document SDHI support for the RZ/G1C SoC.

Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: Biju Das <biju.das@bp.renesas.com>

---
v1->v2:
* Added "renesas,sdhi-mmc-r8a77470"
* Using generic/fallback compatibilty only for SDHI[02]
* Reworked changelog
---
 Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Simon Horman Oct. 4, 2018, 9:59 a.m. UTC | #1
On Wed, Oct 03, 2018 at 12:05:39PM +0100, Fabrizio Castro wrote:
> The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
> SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
> SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
> internal DMAC, therefore SDHI1 is fully compatible with driver
> renesas_sdhi_internal_dmac driver. As a result, the compatible
> strings for the R8A77470 SDHI interfaces are a little bit special.
> Document SDHI support for the RZ/G1C SoC.
> 
> Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> 
> ---
> v1->v2:
> * Added "renesas,sdhi-mmc-r8a77470"
> * Using generic/fallback compatibilty only for SDHI[02]
> * Reworked changelog
> ---
>  Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> index d39d5e4..247abee 100644
> --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> @@ -19,6 +19,8 @@ Required properties:
>  		"renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
>  		"renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
>  		"renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
> +		"renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
> +		"renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)

I understand that SDHI[02] is different to SDHI1 on this SoC.
But I'm not clear on why SDHI1 is more "mmc" than SDHI[02].

>  		"renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
>  		"renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
>  		"renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
> @@ -35,8 +37,8 @@ Required properties:
>  		"renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
>  		"renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
>  		"renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
> -		"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
> -					   SDHI controller
> +		"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
> +					   not RZ/G1C SDHI1) SDHI controller
>  		"renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
>  					   SDHI controller

renesas,rcar-gen3-sdhi can be used with RZ/G1C SDHI1, right?
The naming is starting to break down at this point :(

>  
> -- 
> 2.7.4
>
Fabrizio Castro Oct. 4, 2018, 10:37 a.m. UTC | #2
Hello Simon,

Thank you for your feedback!

> Subject: Re: [PATCH 1/6] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support
>
> On Wed, Oct 03, 2018 at 12:05:39PM +0100, Fabrizio Castro wrote:
> > The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
> > SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
> > SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
> > internal DMAC, therefore SDHI1 is fully compatible with driver
> > renesas_sdhi_internal_dmac driver. As a result, the compatible
> > strings for the R8A77470 SDHI interfaces are a little bit special.
> > Document SDHI support for the RZ/G1C SoC.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> > Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> >
> > ---
> > v1->v2:
> > * Added "renesas,sdhi-mmc-r8a77470"
> > * Using generic/fallback compatibilty only for SDHI[02]
> > * Reworked changelog
> > ---
> >  Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > index d39d5e4..247abee 100644
> > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > @@ -19,6 +19,8 @@ Required properties:
> >  "renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
> >  "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
> >  "renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
> > +"renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
> > +"renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)
>
> I understand that SDHI[02] is different to SDHI1 on this SoC.
> But I'm not clear on why SDHI1 is more "mmc" than SDHI[02].

Only SDHI1 can be used as MMC interface, from Section 40.1.1 of the SD Card
manual: " This LSI has three SD card interfaces (SDHI0 to SDHI2), one of which
can also be used as MMC interfaces (SDHI1)."

>
> >  "renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
> >  "renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
> >  "renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
> > @@ -35,8 +37,8 @@ Required properties:
> >  "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
> >  "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
> >  "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
> > -"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
> > -   SDHI controller
> > +"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
> > +   not RZ/G1C SDHI1) SDHI controller
> >  "renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
> >     SDHI controller
>
> renesas,rcar-gen3-sdhi can be used with RZ/G1C SDHI1, right?

It can be used, but when we previously discussed about this I have received bad
feedbacks from both yourself and Geert:
Geert: "I'm a bit reluctant to add "renesas,rcar-gen3-sdhi", though"
You: "I am also reluctant to add "renesas,rcar-gen3-sdhi", because as we are
seeing things are not so simple wrt to compatible."

We need to make a final decision here, but automatically detecting the IP doesn't
seem to be great, so the final solution has to rely on compatible strings.

> The naming is starting to break down at this point :(

Personally, I am not too bothered about using "renesas,rcar-gen3-sdhi"
for this specific IP, as this chip "borrows" Gen3 implementation, but of course it
exposes some cross compatibility with other families of products which could result in
some confusion to the final user. Anyway, as long as we document things properly
there should be no confusion.

Thanks,
Fab

>
> >
> > --
> > 2.7.4
> >



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
Geert Uytterhoeven Oct. 4, 2018, 10:58 a.m. UTC | #3
Hi Fabrizio,

On Wed, Oct 3, 2018 at 1:06 PM Fabrizio Castro
<fabrizio.castro@bp.renesas.com> wrote:
> The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
> SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
> SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
> internal DMAC, therefore SDHI1 is fully compatible with driver
> renesas_sdhi_internal_dmac driver. As a result, the compatible
> strings for the R8A77470 SDHI interfaces are a little bit special.
> Document SDHI support for the RZ/G1C SoC.
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> Reviewed-by: Biju Das <biju.das@bp.renesas.com>
>
> ---
> v1->v2:
> * Added "renesas,sdhi-mmc-r8a77470"
> * Using generic/fallback compatibilty only for SDHI[02]
> * Reworked changelog

Thanks for the update!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> @@ -19,6 +19,8 @@ Required properties:
>                 "renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
>                 "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
>                 "renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
> +               "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
> +               "renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)

I'm wondering if this would be clearer:

               "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC
               "renesas,sdhi-mmc-r8a77470" - SDHI/MMC IP on R8A77470 SoC

>                 "renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
>                 "renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
>                 "renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
> @@ -35,8 +37,8 @@ Required properties:
>                 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
>                 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
>                 "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
> -               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
> -                                          SDHI controller
> +               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
> +                                          not RZ/G1C SDHI1) SDHI controller

And:

               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 SDHI
                                          (not SDHI/MMC) controller

as it not only applies to RZ/G1C, but also to R-Car E2X (which is not yet
supported upstream).

>                 "renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
>                                            SDHI controller

What do you think?

Gr{oetje,eeting}s,

                        Geert
Fabrizio Castro Oct. 4, 2018, 11:08 a.m. UTC | #4
Hello Geert,

Thank you for your feedback!

> Subject: Re: [PATCH 1/6] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support
>
> Hi Fabrizio,
>
> On Wed, Oct 3, 2018 at 1:06 PM Fabrizio Castro
> <fabrizio.castro@bp.renesas.com> wrote:
> > The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
> > SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
> > SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
> > internal DMAC, therefore SDHI1 is fully compatible with driver
> > renesas_sdhi_internal_dmac driver. As a result, the compatible
> > strings for the R8A77470 SDHI interfaces are a little bit special.
> > Document SDHI support for the RZ/G1C SoC.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> > Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> >
> > ---
> > v1->v2:
> > * Added "renesas,sdhi-mmc-r8a77470"
> > * Using generic/fallback compatibilty only for SDHI[02]
> > * Reworked changelog
>
> Thanks for the update!
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > @@ -19,6 +19,8 @@ Required properties:
> >                 "renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
> >                 "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
> >                 "renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
> > +               "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
> > +               "renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)
>
> I'm wondering if this would be clearer:
>
>                "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC
>                "renesas,sdhi-mmc-r8a77470" - SDHI/MMC IP on R8A77470 SoC
>
> >                 "renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
> >                 "renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
> >                 "renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
> > @@ -35,8 +37,8 @@ Required properties:
> >                 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
> >                 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
> >                 "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
> > -               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
> > -                                          SDHI controller
> > +               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
> > +                                          not RZ/G1C SDHI1) SDHI controller
>
> And:
>
>                "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 SDHI
>                                           (not SDHI/MMC) controller
>
> as it not only applies to RZ/G1C, but also to R-Car E2X (which is not yet
> supported upstream).
>
> >                 "renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
> >                                            SDHI controller
>
> What do you think?

It makes sense to me, I will wait for Simon's reply and if he is happy as well I'll
send a new version incorporating your recommendations (and his, in case he
has any).

Thanks!

Fab

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
Simon Horman Oct. 8, 2018, 7:30 a.m. UTC | #5
On Thu, Oct 04, 2018 at 11:08:10AM +0000, Fabrizio Castro wrote:
> Hello Geert,
> 
> Thank you for your feedback!
> 
> > Subject: Re: [PATCH 1/6] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support
> >
> > Hi Fabrizio,
> >
> > On Wed, Oct 3, 2018 at 1:06 PM Fabrizio Castro
> > <fabrizio.castro@bp.renesas.com> wrote:
> > > The RZ/G1C (a.k.a. R8A77470) comes with three SDHI interfaces,
> > > SDHI0 and SDHI2 are compatible with R-Car Gen2 SDHIs, and
> > > SDHI1 is compatible with R-Car Gen3 SDHIs, as it comes with an
> > > internal DMAC, therefore SDHI1 is fully compatible with driver
> > > renesas_sdhi_internal_dmac driver. As a result, the compatible
> > > strings for the R8A77470 SDHI interfaces are a little bit special.
> > > Document SDHI support for the RZ/G1C SoC.
> > >
> > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> > > Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> > >
> > > ---
> > > v1->v2:
> > > * Added "renesas,sdhi-mmc-r8a77470"
> > > * Using generic/fallback compatibilty only for SDHI[02]
> > > * Reworked changelog
> >
> > Thanks for the update!
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
> > > @@ -19,6 +19,8 @@ Required properties:
> > >                 "renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
> > >                 "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
> > >                 "renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
> > > +               "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
> > > +               "renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)
> >
> > I'm wondering if this would be clearer:
> >
> >                "renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC
> >                "renesas,sdhi-mmc-r8a77470" - SDHI/MMC IP on R8A77470 SoC
> >
> > >                 "renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
> > >                 "renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
> > >                 "renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
> > > @@ -35,8 +37,8 @@ Required properties:
> > >                 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
> > >                 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
> > >                 "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
> > > -               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
> > > -                                          SDHI controller
> > > +               "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
> > > +                                          not RZ/G1C SDHI1) SDHI controller
> >
> > And:
> >
> >                "renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 SDHI
> >                                           (not SDHI/MMC) controller
> >
> > as it not only applies to RZ/G1C, but also to R-Car E2X (which is not yet
> > supported upstream).
> >
> > >                 "renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
> > >                                            SDHI controller
> >
> > What do you think?
> 
> It makes sense to me, I will wait for Simon's reply and if he is happy as well I'll
> send a new version incorporating your recommendations (and his, in case he
> has any).

Hi,

thanks for the feedback here and elsewhere in this thread.
I am happy with the proposed bindings and Geert's proposed
documentation enhancements.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
index d39d5e4..247abee 100644
--- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt
@@ -19,6 +19,8 @@  Required properties:
 		"renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
 		"renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC
 		"renesas,sdhi-r8a774a1" - SDHI IP on R8A774A1 SoC
+		"renesas,sdhi-r8a77470" - SDHI IP on R8A77470 SoC (SDHI[02])
+		"renesas,sdhi-mmc-r8a77470" - SDHI IP on R8A77470 SoC (SDHI1)
 		"renesas,sdhi-r8a7778" - SDHI IP on R8A7778 SoC
 		"renesas,sdhi-r8a7779" - SDHI IP on R8A7779 SoC
 		"renesas,sdhi-r8a7790" - SDHI IP on R8A7790 SoC
@@ -35,8 +37,8 @@  Required properties:
 		"renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
 		"renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
 		"renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
-		"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 or RZ/G1
-					   SDHI controller
+		"renesas,rcar-gen2-sdhi" - a generic R-Car Gen2 and RZ/G1 (but
+					   not RZ/G1C SDHI1) SDHI controller
 		"renesas,rcar-gen3-sdhi" - a generic R-Car Gen3 or RZ/G2
 					   SDHI controller