RE: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-26 Thread Fabrizio Castro
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
>  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
> > >  wrote:
> > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
> > > >
> > > > Signed-off-by: Fabrizio Castro 
> > > > Reviewed-by: Biju Das 
>
> > > > --- 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 -- 
> ge...@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.


RE: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Fabrizio Castro
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
>  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  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 -- 
> ge...@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.


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Geert Uytterhoeven
Hi Fabrizio,

On Tue, Sep 25, 2018 at 2:45 PM Fabrizio Castro
 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  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

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


RE: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Fabrizio Castro
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  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 -- 
> ge...@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.


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Geert Uytterhoeven
Hi Wolfram,

On Tue, Sep 25, 2018 at 10:22 AM Wolfram Sang  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

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Wolfram Sang

> > 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.



signature.asc
Description: PGP signature


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Geert Uytterhoeven
Hi Simon,

On Tue, Sep 25, 2018 at 9:47 AM Simon Horman  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
> >  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
> > > >  wrote:
> > > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
> > > > >
> > > > > Signed-off-by: Fabrizio Castro 
> > > > > Reviewed-by: Biju Das 
> >
> > > > > --- 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

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Simon Horman
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
>  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
> > >  wrote:
> > > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
> > > >
> > > > Signed-off-by: Fabrizio Castro 
> > > > Reviewed-by: Biju Das 
> 
> > > > --- 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.


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-25 Thread Geert Uytterhoeven
Hi Fabrizio,

On Mon, Sep 24, 2018 at 8:34 PM Fabrizio Castro
 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
> >  wrote:
> > > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
> > >
> > > Signed-off-by: Fabrizio Castro 
> > > Reviewed-by: Biju Das 

> > > --- 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

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


RE: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-24 Thread Fabrizio Castro
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
>  wrote:
> > Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
> >
> > Signed-off-by: Fabrizio Castro 
> > Reviewed-by: Biju Das 
> > ---
> >  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 -- 
> ge...@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.


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-24 Thread Geert Uytterhoeven
Hi Wolfram,

On Mon, Sep 24, 2018 at 2:26 PM Wolfram Sang  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 .sdhi, like how
whitelisting is implemented in the IPMMU driver.

Gr{oetje,eeting}s,

Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-24 Thread Wolfram Sang

> 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?



signature.asc
Description: PGP signature


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-24 Thread Geert Uytterhoeven
Hi Fabrizio,

On Fri, Sep 21, 2018 at 1:55 PM Fabrizio Castro
 wrote:
> Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.
>
> Signed-off-by: Fabrizio Castro 
> Reviewed-by: Biju Das 
> ---
>  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

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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


Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-24 Thread Simon Horman
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 
> Reviewed-by: Biju Das 

Reviewed-by: Simon Horman 



Re: [PATCH 1/4] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support

2018-09-22 Thread Wolfram Sang
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 
> Reviewed-by: Biju Das 

Acked-by: Wolfram Sang 



signature.asc
Description: PGP signature


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

2018-09-21 Thread Fabrizio Castro
Document SDHI support for the RZ/G1C (a.k.a. R8A77470) SoC.

Signed-off-by: Fabrizio Castro 
Reviewed-by: Biju Das 
---
 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
-- 
2.7.4