Message ID | 1537530911-443-2-git-send-email-fabrizio.castro@bp.renesas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add SDHI2 support to iwg23s | expand |
On Fri, Sep 21, 2018 at 12:55:08PM +0100, Fabrizio Castro wrote: > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > Reviewed-by: Biju Das <biju.das@bp.renesas.com> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
On Fri, Sep 21, 2018 at 12:55:08PM +0100, Fabrizio Castro wrote: > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > Reviewed-by: Biju Das <biju.das@bp.renesas.com> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Hi Fabrizio, On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro <fabrizio.castro@bp.renesas.com> wrote: > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > --- > Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > index c434200..8f3a113 100644 > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > @@ -17,6 +17,7 @@ Required properties: > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > + "renesas,sdhi-r8a77470" - SDHI 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 It seems RZ/G1C has two slighty different types of SD card interfaces: 1. SDHI0 and SDHI2 use SYS-DMAC, 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. Do we need to distinguish between them using the compatible value, or are there other ways? Gr{oetje,eeting}s, Geert
> It seems RZ/G1C has two slighty different types of SD card interfaces: > 1. SDHI0 and SDHI2 use SYS-DMAC, > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > Do we need to distinguish between them using the compatible value, or > are there other ways? Yes, that seems to need an update to our current implementation which is per-SoC only. One idea from my side would be to whitelist SYS-DMAC for this compatible and then check if dma-properties are present, otherwise fall back to internal DMAC? Fabrizio, did you have any plans how to handle that?
Hi Wolfram, On Mon, Sep 24, 2018 at 2:26 PM Wolfram Sang <wsa@the-dreams.de> wrote: > > It seems RZ/G1C has two slighty different types of SD card interfaces: > > 1. SDHI0 and SDHI2 use SYS-DMAC, > > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > > > Do we need to distinguish between them using the compatible value, or > > are there other ways? > > Yes, that seems to need an update to our current implementation which is > per-SoC only. One idea from my side would be to whitelist SYS-DMAC for > this compatible and then check if dma-properties are present, otherwise > fall back to internal DMAC? I'm afraid that won't work, as the "dmas" properties are optional. So you cannot distinguish between optional properties missing and internal DMA present. A dirty hack would be checking the device name for xxxxxxxx.sdhi, like how whitelisting is implemented in the IPMMU driver. Gr{oetje,eeting}s, Geert
Hello Geert, > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > Hi Fabrizio, > > On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro > <fabrizio.castro@bp.renesas.com> wrote: > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > > --- > > Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > index c434200..8f3a113 100644 > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > @@ -17,6 +17,7 @@ Required properties: > > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > > + "renesas,sdhi-r8a77470" - SDHI 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 > > It seems RZ/G1C has two slighty different types of SD card interfaces: > 1. SDHI0 and SDHI2 use SYS-DMAC, > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > Do we need to distinguish between them using the compatible value, or > are there other ways? The most sensible thing to do here is probably to distinguish between them using the compatible value, we were thinking about using the following for SDHI1: compatible = "renesas,sdhi-mmc-r8a77470", "renesas,rcar-gen3-sdhi"; What do you guys think? I have a prototype for this and it seems to be working fine, but I have only run some basic checks at run time on the MMC, that's why I haven't sent anything just yet. 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.
Hi Fabrizio, On Mon, Sep 24, 2018 at 8:34 PM Fabrizio Castro <fabrizio.castro@bp.renesas.com> wrote: > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro > > <fabrizio.castro@bp.renesas.com> wrote: > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > @@ -17,6 +17,7 @@ Required properties: > > > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > > > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > > > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > > > + "renesas,sdhi-r8a77470" - SDHI 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 > > > > It seems RZ/G1C has two slighty different types of SD card interfaces: > > 1. SDHI0 and SDHI2 use SYS-DMAC, > > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > > > Do we need to distinguish between them using the compatible value, or > > are there other ways? > > The most sensible thing to do here is probably to distinguish between them using > the compatible value, we were thinking about using the following for SDHI1: > compatible = "renesas,sdhi-mmc-r8a77470", "renesas,rcar-gen3-sdhi"; > > What do you guys think? Oh, so it's identical (or "sufficiently compatible") with the SD card interface on R-Car Gen3? "renesas,sdhi-mmc-r8a77470" may be a good way to distinguish. I'm a bit reluctant to add "renesas,rcar-gen3-sdhi", though. Gr{oetje,eeting}s, Geert
On Tue, Sep 25, 2018 at 08:47:38AM +0200, Geert Uytterhoeven wrote: > Hi Fabrizio, > > On Mon, Sep 24, 2018 at 8:34 PM Fabrizio Castro > <fabrizio.castro@bp.renesas.com> wrote: > > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > > On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro > > > <fabrizio.castro@bp.renesas.com> wrote: > > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > > > > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > > > > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > @@ -17,6 +17,7 @@ Required properties: > > > > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > > > > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > > > > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > > > > + "renesas,sdhi-r8a77470" - SDHI 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 > > > > > > It seems RZ/G1C has two slighty different types of SD card interfaces: > > > 1. SDHI0 and SDHI2 use SYS-DMAC, > > > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > > > > > Do we need to distinguish between them using the compatible value, or > > > are there other ways? > > > > The most sensible thing to do here is probably to distinguish between them using > > the compatible value, we were thinking about using the following for SDHI1: > > compatible = "renesas,sdhi-mmc-r8a77470", "renesas,rcar-gen3-sdhi"; > > > > What do you guys think? > > Oh, so it's identical (or "sufficiently compatible") with the SD card > interface on R-Car Gen3? > "renesas,sdhi-mmc-r8a77470" may be a good way to distinguish. > I'm a bit reluctant to add "renesas,rcar-gen3-sdhi", though. I am also reluctant to add "renesas,rcar-gen3-sdhi", because as we are seeing things are not so simple wrt to compatible. Can I clarify the proposal regarding "renesas,sdhi-mmc-r8a77470", would it be as well as or instead of "renesas,sdhi-r8a77470" ? And what is signified by "mmc" that is not implied by (some of the) existing compat strings? Perhaps stating the obvious: this feels a lot like the problem we thought we had with different Gen-3 SoCs/ES versions. And in that case we decided against using compat strings to differentiate. The main difference here seems to be that we need to differentiate between different ports on the same SoC.
Hi Simon, On Tue, Sep 25, 2018 at 9:47 AM Simon Horman <horms@verge.net.au> wrote: > On Tue, Sep 25, 2018 at 08:47:38AM +0200, Geert Uytterhoeven wrote: > > On Mon, Sep 24, 2018 at 8:34 PM Fabrizio Castro > > <fabrizio.castro@bp.renesas.com> wrote: > > > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > > > On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro > > > > <fabrizio.castro@bp.renesas.com> wrote: > > > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > > > > > > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > > > > > > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > > @@ -17,6 +17,7 @@ Required properties: > > > > > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > > > > > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > > > > > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > > > > > + "renesas,sdhi-r8a77470" - SDHI 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 > > > > > > > > It seems RZ/G1C has two slighty different types of SD card interfaces: > > > > 1. SDHI0 and SDHI2 use SYS-DMAC, > > > > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > > > > > > > Do we need to distinguish between them using the compatible value, or > > > > are there other ways? > > > > > > The most sensible thing to do here is probably to distinguish between them using > > > the compatible value, we were thinking about using the following for SDHI1: > > > compatible = "renesas,sdhi-mmc-r8a77470", "renesas,rcar-gen3-sdhi"; > > > > > > What do you guys think? > > > > Oh, so it's identical (or "sufficiently compatible") with the SD card > > interface on R-Car Gen3? > > "renesas,sdhi-mmc-r8a77470" may be a good way to distinguish. > > I'm a bit reluctant to add "renesas,rcar-gen3-sdhi", though. > > I am also reluctant to add "renesas,rcar-gen3-sdhi", because as we are > seeing things are not so simple wrt to compatible. > > Can I clarify the proposal regarding "renesas,sdhi-mmc-r8a77470", > would it be as well as or instead of "renesas,sdhi-r8a77470" ? AFAIU, "renesas,sdhi-r8a77470" would be still used for SDHI0 and SDHI2. > And what is signified by "mmc" that is not implied by (some of the) > existing compat strings? "SDHI1 can also be used as an MMC interface". Note that this (can also be used as an MMC interface) seems to be true for the SD card interfaces in R-Car Gen3, too. > Perhaps stating the obvious: this feels a lot like the problem we thought > we had with different Gen-3 SoCs/ES versions. And in that case we decided > against using compat strings to differentiate. The main difference here > seems to be that we need to differentiate between different ports on the > same SoC. So either a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same compatible value, but one or more additional properties describing the different wiring. Wolfram's proposal for b) was looking at the (lack of) dmas properties, but that's not sufficient, as they are optional anyway. Gr{oetje,eeting}s, Geert
> > Perhaps stating the obvious: this feels a lot like the problem we thought > > we had with different Gen-3 SoCs/ES versions. And in that case we decided > > against using compat strings to differentiate. The main difference here > > seems to be that we need to differentiate between different ports on the > > same SoC. Yes, I agree. Our so far agreed solution didn't take into account that there are different SDHI versions on the same SoC. Adding a compatible might be the easiest solution, but then we have a mix of compatibles, soc_device_match, and even version register (deeper in the driver). My gut feeling is we should take the time to rethink all this? > So either > a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or > b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same > compatible value, but one or more additional properties describing the > different wiring. Actually, SDHI2 seems different, too. It doesn't support SDR104. I don't have the SDHI specific docs, but from the main docs, all SDHI instances are different.
Hi Wolfram, On Tue, Sep 25, 2018 at 10:22 AM Wolfram Sang <wsa@the-dreams.de> wrote: > > > Perhaps stating the obvious: this feels a lot like the problem we thought > > > we had with different Gen-3 SoCs/ES versions. And in that case we decided > > > against using compat strings to differentiate. The main difference here > > > seems to be that we need to differentiate between different ports on the > > > same SoC. > > Yes, I agree. Our so far agreed solution didn't take into account that > there are different SDHI versions on the same SoC. Adding a compatible > might be the easiest solution, but then we have a mix of compatibles, > soc_device_match, and even version register (deeper in the driver). My > gut feeling is we should take the time to rethink all this? > > > So either > > a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or > > b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same > > compatible value, but one or more additional properties describing the > > different wiring. > > Actually, SDHI2 seems different, too. It doesn't support SDR104. I don't > have the SDHI specific docs, but from the main docs, all SDHI instances > are different. I forgot about the version register. Fabrizio: can you please check what the 3 instances report in their version registers? Thanks! Gr{oetje,eeting}s, Geert
Hi Geert, > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > Hi Wolfram, > > On Tue, Sep 25, 2018 at 10:22 AM Wolfram Sang <wsa@the-dreams.de> wrote: > > > > Perhaps stating the obvious: this feels a lot like the problem we thought > > > > we had with different Gen-3 SoCs/ES versions. And in that case we decided > > > > against using compat strings to differentiate. The main difference here > > > > seems to be that we need to differentiate between different ports on the > > > > same SoC. > > > > Yes, I agree. Our so far agreed solution didn't take into account that > > there are different SDHI versions on the same SoC. Adding a compatible > > might be the easiest solution, but then we have a mix of compatibles, > > soc_device_match, and even version register (deeper in the driver). My > > gut feeling is we should take the time to rethink all this? > > > > > So either > > > a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or > > > b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same > > > compatible value, but one or more additional properties describing the > > > different wiring. > > > > Actually, SDHI2 seems different, too. It doesn't support SDR104. I don't > > have the SDHI specific docs, but from the main docs, all SDHI instances > > are different. > > I forgot about the version register. > > Fabrizio: can you please check what the 3 instances report in their version > registers? Thanks! SDHI0: 0xcc0d SDHI1: 0xcc10 SDHI2: 0xcc0d Cheers, 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.
Hi Fabrizio, On Tue, Sep 25, 2018 at 2:45 PM Fabrizio Castro <fabrizio.castro@bp.renesas.com> wrote: > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > On Tue, Sep 25, 2018 at 10:22 AM Wolfram Sang <wsa@the-dreams.de> wrote: > > > > > Perhaps stating the obvious: this feels a lot like the problem we thought > > > > > we had with different Gen-3 SoCs/ES versions. And in that case we decided > > > > > against using compat strings to differentiate. The main difference here > > > > > seems to be that we need to differentiate between different ports on the > > > > > same SoC. > > > > > > Yes, I agree. Our so far agreed solution didn't take into account that > > > there are different SDHI versions on the same SoC. Adding a compatible > > > might be the easiest solution, but then we have a mix of compatibles, > > > soc_device_match, and even version register (deeper in the driver). My > > > gut feeling is we should take the time to rethink all this? > > > > > > > So either > > > > a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or > > > > b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same > > > > compatible value, but one or more additional properties describing the > > > > different wiring. > > > > > > Actually, SDHI2 seems different, too. It doesn't support SDR104. I don't > > > have the SDHI specific docs, but from the main docs, all SDHI instances > > > are different. > > > > I forgot about the version register. > > > > Fabrizio: can you please check what the 3 instances report in their version > > registers? Thanks! > > SDHI0: 0xcc0d > SDHI1: 0xcc10 > SDHI2: 0xcc0d Thank you. So SDHI1 differs from SDH0/2. SDHI2 probably doesn't support SDR104 because its parent clock is a div6 clock, while the others have SDCKCR parents. Plus we don't describe the relation to the SDH clock yet. Gr{oetje,eeting}s, Geert
Hello Geert, > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > Hi Fabrizio, > > On Tue, Sep 25, 2018 at 2:45 PM Fabrizio Castro > <fabrizio.castro@bp.renesas.com> wrote: > > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > > On Tue, Sep 25, 2018 at 10:22 AM Wolfram Sang <wsa@the-dreams.de> wrote: > > > > > > Perhaps stating the obvious: this feels a lot like the problem we thought > > > > > > we had with different Gen-3 SoCs/ES versions. And in that case we decided > > > > > > against using compat strings to differentiate. The main difference here > > > > > > seems to be that we need to differentiate between different ports on the > > > > > > same SoC. > > > > > > > > Yes, I agree. Our so far agreed solution didn't take into account that > > > > there are different SDHI versions on the same SoC. Adding a compatible > > > > might be the easiest solution, but then we have a mix of compatibles, > > > > soc_device_match, and even version register (deeper in the driver). My > > > > gut feeling is we should take the time to rethink all this? > > > > > > > > > So either > > > > > a) SDHI0/2 vs. SDHI1 are different, deserving different compatible values, or > > > > > b) SDHI0/1/2 are identical, but SDHI1 is wired different, deserving the same > > > > > compatible value, but one or more additional properties describing the > > > > > different wiring. > > > > > > > > Actually, SDHI2 seems different, too. It doesn't support SDR104. I don't > > > > have the SDHI specific docs, but from the main docs, all SDHI instances > > > > are different. > > > > > > I forgot about the version register. > > > > > > Fabrizio: can you please check what the 3 instances report in their version > > > registers? Thanks! > > > > SDHI0: 0xcc0d > > SDHI1: 0xcc10 > > SDHI2: 0xcc0d > > Thank you. So SDHI1 differs from SDH0/2. > SDHI2 probably doesn't support SDR104 because its parent clock is a div6 > clock, while the others have SDCKCR parents. > > Plus we don't describe the relation to the SDH clock yet. I am looking into the remaining SDHI interfaces now, how do you want me to handle SDHI1? 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.
Hello Geert, > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > Hi Fabrizio, > > On Mon, Sep 24, 2018 at 8:34 PM Fabrizio Castro > <fabrizio.castro@bp.renesas.com> wrote: > > > Subject: Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support > > > On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro > > > <fabrizio.castro@bp.renesas.com> wrote: > > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC. > > > > > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > Reviewed-by: Biju Das <biju.das@bp.renesas.com> > > > > > --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt > > > > @@ -17,6 +17,7 @@ Required properties: > > > > "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC > > > > "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC > > > > "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC > > > > + "renesas,sdhi-r8a77470" - SDHI 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 > > > > > > It seems RZ/G1C has two slighty different types of SD card interfaces: > > > 1. SDHI0 and SDHI2 use SYS-DMAC, > > > 2. SDHI1 can also be used as an MMC interface, and has an internal DMAC. > > > > > > Do we need to distinguish between them using the compatible value, or > > > are there other ways? > > > > The most sensible thing to do here is probably to distinguish between them using > > the compatible value, we were thinking about using the following for SDHI1: > > compatible = "renesas,sdhi-mmc-r8a77470", "renesas,rcar-gen3-sdhi"; > > > > What do you guys think? > > Oh, so it's identical (or "sufficiently compatible") with the SD card > interface on R-Car Gen3? It seems identical to R-Car Gen3. I have done proper testing now and everything seems to be working as expected. > "renesas,sdhi-mmc-r8a77470" may be a good way to distinguish. > I'm a bit reluctant to add "renesas,rcar-gen3-sdhi", though. We could just use "renesas,sdhi-mmc-r8a77470" for SDHI1 and "renesas,sdhi- r8a77470" for SDHI0 and SDHI2 then, without generic compatible strings, or maybe we could use "renesas,rcar-gen2-sdhi" for both even though that would be incorrect as per the current implementation of the drivers. Today I have given some thought on how to distinguish the two types of IP from the two different drivers without having driver specific compatible strings, and unfortunately we would still need to take into account some information coming from the device tree (like the memory address of the interface) in order to decide if we need to fail the probing. I can't use the VERSION register to make any decision as to read the registers in a meaningful way we still need to know bus_shift, and then the DMA properties are optional, therefore using different compatible strings for the two types of IP still feels like the best option to me. I am dropping all of the patches from this series and I am going to send another version to address the comments on the implementation of r8a77470_pin_to_pocctrl, but also to address both SD card and eMMC, so that we can reason about what's the best thing to do by looking at the implementation of a working example. Cheers, 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.
diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt index c434200..8f3a113 100644 --- a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt @@ -17,6 +17,7 @@ Required properties: "renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC "renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC "renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC + "renesas,sdhi-r8a77470" - SDHI 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