2018-09-10 12:04:40

by Lubomir Rintel

[permalink] [raw]
Subject: [PATCH] DT: marvell,mmp2: add MMC controllers

There's apparently four of them on a MMP2.

Signed-off-by: Lubomir Rintel <[email protected]>
---
arch/arm/boot/dts/mmp2.dtsi | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 766bbb8495b6..51d4a2d70db9 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -18,6 +18,10 @@
serial3 = &uart4;
i2c0 = &twsi1;
i2c1 = &twsi2;
+ sdhci0 = &mmc1;
+ sdhci1 = &mmc2;
+ sdhci2 = &mmc3;
+ sdhci3 = &mmc4;
};

soc {
@@ -239,6 +243,42 @@
resets = <&soc_clocks MMP2_CLK_RTC>;
status = "disabled";
};
+
+ mmc1: mmc@d4280000 {
+ compatible = "mrvl,pxav3-mmc";
+ reg = <0xd4280000 0x120>;
+ clocks = <&soc_clocks MMP2_CLK_SDH0>;
+ clock-names = "io";
+ interrupts = <39>;
+ status = "disabled";
+ };
+
+ mmc2: mmc@d4280800 {
+ compatible = "mrvl,pxav3-mmc";
+ reg = <0xd4280800 0x120>;
+ clocks = <&soc_clocks MMP2_CLK_SDH1>;
+ clock-names = "io";
+ interrupts = <52>;
+ status = "disabled";
+ };
+
+ mmc3: mmc@d4281000 {
+ compatible = "mrvl,pxav3-mmc";
+ reg = <0xd4281000 0x120>;
+ clocks = <&soc_clocks MMP2_CLK_SDH2>;
+ clock-names = "io";
+ interrupts = <53>;
+ status = "disabled";
+ };
+
+ mmc4: mmc@d4288000 {
+ compatible = "mrvl,pxav3-mmc";
+ reg = <0xd4281800 0x120>;
+ clocks = <&soc_clocks MMP2_CLK_SDH3>;
+ clock-names = "io";
+ interrupts = <54>;
+ status = "disabled";
+ };
};

soc_clocks: clocks{
--
2.17.1



2018-09-10 15:17:49

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] DT: marvell,mmp2: add MMC controllers

On Mon, Sep 10, 2018 at 7:02 AM Lubomir Rintel <[email protected]> wrote:
>
> There's apparently four of them on a MMP2.
>
> Signed-off-by: Lubomir Rintel <[email protected]>
> ---
> arch/arm/boot/dts/mmp2.dtsi | 40 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 40 insertions(+)
>
> diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
> index 766bbb8495b6..51d4a2d70db9 100644
> --- a/arch/arm/boot/dts/mmp2.dtsi
> +++ b/arch/arm/boot/dts/mmp2.dtsi
> @@ -18,6 +18,10 @@
> serial3 = &uart4;
> i2c0 = &twsi1;
> i2c1 = &twsi2;
> + sdhci0 = &mmc1;
> + sdhci1 = &mmc2;
> + sdhci2 = &mmc3;
> + sdhci3 = &mmc4;

Please drop this. MMC nodes don't need an alias and if they did,
"sdhci" wouldn't be the name.

Rob

2018-09-11 12:57:19

by Lubomir Rintel

[permalink] [raw]
Subject: Re: [PATCH] DT: marvell,mmp2: add MMC controllers

On Mon, 2018-09-10 at 10:14 -0500, Rob Herring wrote:
> On Mon, Sep 10, 2018 at 7:02 AM Lubomir Rintel <[email protected]>
> wrote:
> >
> > There's apparently four of them on a MMP2.
> >
> > Signed-off-by: Lubomir Rintel <[email protected]>
> > ---
> > arch/arm/boot/dts/mmp2.dtsi | 40
> > +++++++++++++++++++++++++++++++++++++
> > 1 file changed, 40 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/mmp2.dtsi
> > b/arch/arm/boot/dts/mmp2.dtsi
> > index 766bbb8495b6..51d4a2d70db9 100644
> > --- a/arch/arm/boot/dts/mmp2.dtsi
> > +++ b/arch/arm/boot/dts/mmp2.dtsi
> > @@ -18,6 +18,10 @@
> > serial3 = &uart4;
> > i2c0 = &twsi1;
> > i2c1 = &twsi2;
> > + sdhci0 = &mmc1;
> > + sdhci1 = &mmc2;
> > + sdhci2 = &mmc3;
> > + sdhci3 = &mmc4;
>
> Please drop this. MMC nodes don't need an alias and if they did,
> "sdhci" wouldn't be the name.

Will do. I essentially just cargo-culted this, because I had no idea
which devices need aliases. How do I decide whether an alias is needed?

>
> Rob

Thank you,
Lubo


2018-09-11 13:24:24

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] DT: marvell,mmp2: add MMC controllers

On Tue, Sep 11, 2018 at 7:55 AM Lubomir Rintel <[email protected]> wrote:
>
> On Mon, 2018-09-10 at 10:14 -0500, Rob Herring wrote:
> > On Mon, Sep 10, 2018 at 7:02 AM Lubomir Rintel <[email protected]>
> > wrote:
> > >
> > > There's apparently four of them on a MMP2.
> > >
> > > Signed-off-by: Lubomir Rintel <[email protected]>
> > > ---
> > > arch/arm/boot/dts/mmp2.dtsi | 40
> > > +++++++++++++++++++++++++++++++++++++
> > > 1 file changed, 40 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/mmp2.dtsi
> > > b/arch/arm/boot/dts/mmp2.dtsi
> > > index 766bbb8495b6..51d4a2d70db9 100644
> > > --- a/arch/arm/boot/dts/mmp2.dtsi
> > > +++ b/arch/arm/boot/dts/mmp2.dtsi
> > > @@ -18,6 +18,10 @@
> > > serial3 = &uart4;
> > > i2c0 = &twsi1;
> > > i2c1 = &twsi2;
> > > + sdhci0 = &mmc1;
> > > + sdhci1 = &mmc2;
> > > + sdhci2 = &mmc3;
> > > + sdhci3 = &mmc4;
> >
> > Please drop this. MMC nodes don't need an alias and if they did,
> > "sdhci" wouldn't be the name.
>
> Will do. I essentially just cargo-culted this, because I had no idea
> which devices need aliases. How do I decide whether an alias is needed?

Add them when you find that you actually need them.

Serial to get stable tty names. It used to be for the console too, but
stdout-path property should be used instead.
ethernet for u-boot to determine which interface to net boot from (IIRC).
i2c and spi are also for stable /dev names, but that should be handled
another way IMO. You can find discussions about it in the archives.

Anything else is probably questionable.

Rob