linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: nuvoton: Fix flash layout
@ 2021-02-18 12:25 gmouse
  2021-02-18 12:47 ` Paul Menzel
  2021-02-18 17:10 ` Benjamin Fair
  0 siblings, 2 replies; 8+ messages in thread
From: gmouse @ 2021-02-18 12:25 UTC (permalink / raw)
  To: Avi Fishman, Tomer Maimon, Tali Perry, Patrick Venture,
	Nancy Yuen, Benjamin Fair, Rob Herring
  Cc: Anton D. Kachalov, openbmc, devicetree, linux-kernel

From: "Anton D. Kachalov" <gmouse@google.com>

This change satisfy OpenBMC requirements for flash layout.

Signed-off-by: Anton D. Kachalov <gmouse@google.com>
---
 arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28 +++++++----------------
 1 file changed, 8 insertions(+), 20 deletions(-)

diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
index bd1eb6ee380f..741c1fee8552 100644
--- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
+++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
@@ -182,8 +182,8 @@ bbuboot2@80000 {
 				reg = <0x0080000 0x80000>;
 				read-only;
 				};
-			envparam@100000 {
-				label = "env-param";
+			ubootenv@100000 {
+				label = "u-boot-env";
 				reg = <0x0100000 0x40000>;
 				read-only;
 				};
@@ -195,25 +195,13 @@ kernel@200000 {
 				label = "kernel";
 				reg = <0x0200000 0x400000>;
 				};
-			rootfs@600000 {
-				label = "rootfs";
-				reg = <0x0600000 0x700000>;
+			rofs@780000 {
+				label = "rofs";
+				reg = <0x0780000 0x1680000>;
 				};
-			spare1@D00000 {
-				label = "spare1";
-				reg = <0x0D00000 0x200000>;
-				};
-			spare2@0F00000 {
-				label = "spare2";
-				reg = <0x0F00000 0x200000>;
-				};
-			spare3@1100000 {
-				label = "spare3";
-				reg = <0x1100000 0x200000>;
-				};
-			spare4@1300000 {
-				label = "spare4";
-				reg = <0x1300000 0x0>;
+			rwfs@1e00000 {
+				label = "rwfs";
+				reg = <0x1e00000 0x200000>;
 			};
 		};
 	};
-- 
2.30.0.478.g8a0d178c01-goog


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-18 12:25 [PATCH] ARM: dts: nuvoton: Fix flash layout gmouse
@ 2021-02-18 12:47 ` Paul Menzel
  2021-02-18 17:10 ` Benjamin Fair
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Menzel @ 2021-02-18 12:47 UTC (permalink / raw)
  To: Anton D. Kachalov",
	Avi Fishman, Tomer Maimon, Tali Perry, Patrick Venture,
	Nancy Yuen, Benjamin Fair, Rob Herring
  Cc: devicetree, openbmc, linux-kernel

Dear Anton,


Thank you for your patch.


Am 18.02.21 um 13:25 schrieb gmouse@google.com:
> From: "Anton D. Kachalov" <gmouse@google.com>
> 
> This change satisfy OpenBMC requirements for flash layout.

Can you please list these requirements in the commit message? Maybe, 
also add OpenBMC to the commit message summary.

> Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> ---
>   arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28 +++++++----------------
>   1 file changed, 8 insertions(+), 20 deletions(-)

[…]


Kind regards,

Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-18 12:25 [PATCH] ARM: dts: nuvoton: Fix flash layout gmouse
  2021-02-18 12:47 ` Paul Menzel
@ 2021-02-18 17:10 ` Benjamin Fair
       [not found]   ` <CAP6Zq1jf4-XAhLQxqNx3LM7-YzDr8zaVPb-jznn8o=frxTotdQ@mail.gmail.com>
  1 sibling, 1 reply; 8+ messages in thread
From: Benjamin Fair @ 2021-02-18 17:10 UTC (permalink / raw)
  To: Anton Kachalov
  Cc: Avi Fishman, Tomer Maimon, Tali Perry, Patrick Venture,
	Nancy Yuen, Rob Herring, OpenBMC Maillist, devicetree,
	linux-kernel

On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
>
> From: "Anton D. Kachalov" <gmouse@google.com>
>
> This change satisfy OpenBMC requirements for flash layout.
>
> Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> ---
>  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28 +++++++----------------
>  1 file changed, 8 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> index bd1eb6ee380f..741c1fee8552 100644
> --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> @@ -182,8 +182,8 @@ bbuboot2@80000 {
>                                 reg = <0x0080000 0x80000>;
>                                 read-only;
>                                 };
> -                       envparam@100000 {
> -                               label = "env-param";
> +                       ubootenv@100000 {
> +                               label = "u-boot-env";
>                                 reg = <0x0100000 0x40000>;
>                                 read-only;
>                                 };
> @@ -195,25 +195,13 @@ kernel@200000 {
>                                 label = "kernel";
>                                 reg = <0x0200000 0x400000>;
>                                 };
> -                       rootfs@600000 {
> -                               label = "rootfs";
> -                               reg = <0x0600000 0x700000>;
> +                       rofs@780000 {
> +                               label = "rofs";
> +                               reg = <0x0780000 0x1680000>;
>                                 };
> -                       spare1@D00000 {
> -                               label = "spare1";
> -                               reg = <0x0D00000 0x200000>;
> -                               };
> -                       spare2@0F00000 {
> -                               label = "spare2";
> -                               reg = <0x0F00000 0x200000>;
> -                               };
> -                       spare3@1100000 {
> -                               label = "spare3";
> -                               reg = <0x1100000 0x200000>;
> -                               };
> -                       spare4@1300000 {
> -                               label = "spare4";
> -                               reg = <0x1300000 0x0>;
> +                       rwfs@1e00000 {
> +                               label = "rwfs";
> +                               reg = <0x1e00000 0x200000>;
>                         };

I recommend just including the openbmc-flash-layout.dtsi file here
instead since that contains the common flash layout for most OpenBMC
systems.

>                 };
>         };
> --
> 2.30.0.478.g8a0d178c01-goog
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
       [not found]   ` <CAP6Zq1jf4-XAhLQxqNx3LM7-YzDr8zaVPb-jznn8o=frxTotdQ@mail.gmail.com>
@ 2021-02-22  9:26     ` Anton Kachalov
  2021-02-22 10:21       ` Avi Fishman
  0 siblings, 1 reply; 8+ messages in thread
From: Anton Kachalov @ 2021-02-22  9:26 UTC (permalink / raw)
  To: Tomer Maimon
  Cc: Benjamin Fair, Avi Fishman, Tali Perry, Patrick Venture,
	Nancy Yuen, Rob Herring, OpenBMC Maillist, devicetree,
	Linux Kernel Mailing List

Hi, Tom.

Yes, I'm using it for testing on real hardware.

BTW. Recent u-boot doesn't work with SD cards. The card doesn't
detect. The last working version was this one:

https://github.com/Nuvoton-Israel/nuvoton-info/tree/master/npcm7xx-poleg/evaluation-board/sw_deliverables/npcm7xx_v2.3

However, u-boot from igps repo:

https://github.com/Nuvoton-Israel/igps/tree/master/ImageGeneration/versions

Has issues too. It doesn't allow me to read more than 4k bytes once at
a time. Thus, to flash the stuff I have manually read chunks from the
SD-card: fat load doesn't work at all and I write that data in raw
partition.

On Sun, 21 Feb 2021 at 17:40, Tomer Maimon <tmaimon77@gmail.com> wrote:
>
> Hi Benjamin and Anton,
>
> Sorry for the late reply,
>
> The EVB FIU0-CS0 partitioning is used for testing the EVB and this is why it is different than the OpenBMC flash layout.
>
>
>
> Are you using the NPCM7XX EVB for OpenBMC? if yes we can consider to modify the flash partition to OpenBMC use.
>
>
> On Thu, 18 Feb 2021 at 19:11, Benjamin Fair <benjaminfair@google.com> wrote:
>>
>> On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
>> >
>> > From: "Anton D. Kachalov" <gmouse@google.com>
>> >
>> > This change satisfy OpenBMC requirements for flash layout.
>> >
>> > Signed-off-by: Anton D. Kachalov <gmouse@google.com>
>> > ---
>> >  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28 +++++++----------------
>> >  1 file changed, 8 insertions(+), 20 deletions(-)
>> >
>> > diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
>> > index bd1eb6ee380f..741c1fee8552 100644
>> > --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
>> > +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
>> > @@ -182,8 +182,8 @@ bbuboot2@80000 {
>> >                                 reg = <0x0080000 0x80000>;
>> >                                 read-only;
>> >                                 };
>> > -                       envparam@100000 {
>> > -                               label = "env-param";
>> > +                       ubootenv@100000 {
>> > +                               label = "u-boot-env";
>> >                                 reg = <0x0100000 0x40000>;
>> >                                 read-only;
>> >                                 };
>> > @@ -195,25 +195,13 @@ kernel@200000 {
>> >                                 label = "kernel";
>> >                                 reg = <0x0200000 0x400000>;
>> >                                 };
>> > -                       rootfs@600000 {
>> > -                               label = "rootfs";
>> > -                               reg = <0x0600000 0x700000>;
>> > +                       rofs@780000 {
>> > +                               label = "rofs";
>> > +                               reg = <0x0780000 0x1680000>;
>> >                                 };
>> > -                       spare1@D00000 {
>> > -                               label = "spare1";
>> > -                               reg = <0x0D00000 0x200000>;
>> > -                               };
>> > -                       spare2@0F00000 {
>> > -                               label = "spare2";
>> > -                               reg = <0x0F00000 0x200000>;
>> > -                               };
>> > -                       spare3@1100000 {
>> > -                               label = "spare3";
>> > -                               reg = <0x1100000 0x200000>;
>> > -                               };
>> > -                       spare4@1300000 {
>> > -                               label = "spare4";
>> > -                               reg = <0x1300000 0x0>;
>> > +                       rwfs@1e00000 {
>> > +                               label = "rwfs";
>> > +                               reg = <0x1e00000 0x200000>;
>> >                         };
>>
>> I recommend just including the openbmc-flash-layout.dtsi file here
>> instead since that contains the common flash layout for most OpenBMC
>> systems.
>>
> Good solution,
> Do you mean nuvoton-openbmc-flash-layout?
>>
>> >                 };
>> >         };
>> > --
>> > 2.30.0.478.g8a0d178c01-goog
>> >
>
>
> Thanks,
>
> Tomer

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-22  9:26     ` Anton Kachalov
@ 2021-02-22 10:21       ` Avi Fishman
  2021-02-22 14:10         ` IS20 Ofer Eilon
  0 siblings, 1 reply; 8+ messages in thread
From: Avi Fishman @ 2021-02-22 10:21 UTC (permalink / raw)
  To: Anton Kachalov
  Cc: Tomer Maimon, Benjamin Fair, Tali Perry, Patrick Venture,
	Nancy Yuen, Rob Herring, OpenBMC Maillist, devicetree,
	Linux Kernel Mailing List, ofer.eilon

Ofer,

Can you check why u-boot doesn't work with SD cards?

On Mon, Feb 22, 2021 at 11:27 AM Anton Kachalov <gmouse@google.com> wrote:
>
> Hi, Tom.
>
> Yes, I'm using it for testing on real hardware.
>
> BTW. Recent u-boot doesn't work with SD cards. The card doesn't
> detect. The last working version was this one:
>
> https://github.com/Nuvoton-Israel/nuvoton-info/tree/master/npcm7xx-poleg/evaluation-board/sw_deliverables/npcm7xx_v2.3
>
> However, u-boot from igps repo:
>
> https://github.com/Nuvoton-Israel/igps/tree/master/ImageGeneration/versions
>
> Has issues too. It doesn't allow me to read more than 4k bytes once at
> a time. Thus, to flash the stuff I have manually read chunks from the
> SD-card: fat load doesn't work at all and I write that data in raw
> partition.
>
> On Sun, 21 Feb 2021 at 17:40, Tomer Maimon <tmaimon77@gmail.com> wrote:
> >
> > Hi Benjamin and Anton,
> >
> > Sorry for the late reply,
> >
> > The EVB FIU0-CS0 partitioning is used for testing the EVB and this is why it is different than the OpenBMC flash layout.
> >
> >
> >
> > Are you using the NPCM7XX EVB for OpenBMC? if yes we can consider to modify the flash partition to OpenBMC use.
> >
> >
> > On Thu, 18 Feb 2021 at 19:11, Benjamin Fair <benjaminfair@google.com> wrote:
> >>
> >> On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
> >> >
> >> > From: "Anton D. Kachalov" <gmouse@google.com>
> >> >
> >> > This change satisfy OpenBMC requirements for flash layout.
> >> >
> >> > Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> >> > ---
> >> >  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28 +++++++----------------
> >> >  1 file changed, 8 insertions(+), 20 deletions(-)
> >> >
> >> > diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > index bd1eb6ee380f..741c1fee8552 100644
> >> > --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > @@ -182,8 +182,8 @@ bbuboot2@80000 {
> >> >                                 reg = <0x0080000 0x80000>;
> >> >                                 read-only;
> >> >                                 };
> >> > -                       envparam@100000 {
> >> > -                               label = "env-param";
> >> > +                       ubootenv@100000 {
> >> > +                               label = "u-boot-env";
> >> >                                 reg = <0x0100000 0x40000>;
> >> >                                 read-only;
> >> >                                 };
> >> > @@ -195,25 +195,13 @@ kernel@200000 {
> >> >                                 label = "kernel";
> >> >                                 reg = <0x0200000 0x400000>;
> >> >                                 };
> >> > -                       rootfs@600000 {
> >> > -                               label = "rootfs";
> >> > -                               reg = <0x0600000 0x700000>;
> >> > +                       rofs@780000 {
> >> > +                               label = "rofs";
> >> > +                               reg = <0x0780000 0x1680000>;
> >> >                                 };
> >> > -                       spare1@D00000 {
> >> > -                               label = "spare1";
> >> > -                               reg = <0x0D00000 0x200000>;
> >> > -                               };
> >> > -                       spare2@0F00000 {
> >> > -                               label = "spare2";
> >> > -                               reg = <0x0F00000 0x200000>;
> >> > -                               };
> >> > -                       spare3@1100000 {
> >> > -                               label = "spare3";
> >> > -                               reg = <0x1100000 0x200000>;
> >> > -                               };
> >> > -                       spare4@1300000 {
> >> > -                               label = "spare4";
> >> > -                               reg = <0x1300000 0x0>;
> >> > +                       rwfs@1e00000 {
> >> > +                               label = "rwfs";
> >> > +                               reg = <0x1e00000 0x200000>;
> >> >                         };
> >>
> >> I recommend just including the openbmc-flash-layout.dtsi file here
> >> instead since that contains the common flash layout for most OpenBMC
> >> systems.
> >>
> > Good solution,
> > Do you mean nuvoton-openbmc-flash-layout?
> >>
> >> >                 };
> >> >         };
> >> > --
> >> > 2.30.0.478.g8a0d178c01-goog
> >> >
> >
> >
> > Thanks,
> >
> > Tomer



-- 
Regards,
Avi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-22 10:21       ` Avi Fishman
@ 2021-02-22 14:10         ` IS20 Ofer Eilon
  2021-02-22 14:24           ` Anton Kachalov
  0 siblings, 1 reply; 8+ messages in thread
From: IS20 Ofer Eilon @ 2021-02-22 14:10 UTC (permalink / raw)
  To: Avi Fishman, Anton Kachalov
  Cc: Tomer Maimon, Benjamin Fair, Tali Perry, Patrick Venture,
	Nancy Yuen, Rob Herring, OpenBMC Maillist, devicetree,
	Linux Kernel Mailing List

Hi Avi,

It seems an old version of uboot  u-boot_2019.01.7.5.bin  from igps below:

> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fversions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0XumchRrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0

Please use latest from uboot.bin github.

Regards,
Ofer


-----Original Message-----
From: Avi Fishman <avifishman70@gmail.com>
Sent: Monday, February 22, 2021 12:21 PM
To: Anton Kachalov <gmouse@google.com>
Cc: Tomer Maimon <tmaimon77@gmail.com>; Benjamin Fair <benjaminfair@google.com>; Tali Perry <tali.perry1@gmail.com>; Patrick Venture <venture@google.com>; Nancy Yuen <yuenn@google.com>; Rob Herring <robh+dt@kernel.org>; OpenBMC Maillist <openbmc@lists.ozlabs.org>; devicetree <devicetree@vger.kernel.org>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; IS20 Ofer Eilon <ofer.eilon@nuvoton.com>
Subject: Re: [PATCH] ARM: dts: nuvoton: Fix flash layout

Ofer,

Can you check why u-boot doesn't work with SD cards?

On Mon, Feb 22, 2021 at 11:27 AM Anton Kachalov <gmouse@google.com> wrote:
>
> Hi, Tom.
>
> Yes, I'm using it for testing on real hardware.
>
> BTW. Recent u-boot doesn't work with SD cards. The card doesn't
> detect. The last working version was this one:
>
> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2FNuvoton-Israel%2Fnuvoton-info%2Ftree%2Fmaster%2Fnpcm7xx-poleg
> %2Fevaluation-board%2Fsw_deliverables%2Fnpcm7xx_v2.3&amp;data=04%7C01%
> 7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f249
> 31d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTW
> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3D%7C1000&amp;sdata=f4t41g3CQaFTQNfwwNVBrIwQScndIGcfRTms0yrTn5o%3D
> &amp;reserved=0
>
> However, u-boot from igps repo:
>
> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fver
> sions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee
> 4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C6374958611
> 62860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiL
> CJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0Xumch
> RrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0
>
> Has issues too. It doesn't allow me to read more than 4k bytes once at
> a time. Thus, to flash the stuff I have manually read chunks from the
> SD-card: fat load doesn't work at all and I write that data in raw
> partition.
>
> On Sun, 21 Feb 2021 at 17:40, Tomer Maimon <tmaimon77@gmail.com> wrote:
> >
> > Hi Benjamin and Anton,
> >
> > Sorry for the late reply,
> >
> > The EVB FIU0-CS0 partitioning is used for testing the EVB and this is why it is different than the OpenBMC flash layout.
> >
> >
> >
> > Are you using the NPCM7XX EVB for OpenBMC? if yes we can consider to modify the flash partition to OpenBMC use.
> >
> >
> > On Thu, 18 Feb 2021 at 19:11, Benjamin Fair <benjaminfair@google.com> wrote:
> >>
> >> On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
> >> >
> >> > From: "Anton D. Kachalov" <gmouse@google.com>
> >> >
> >> > This change satisfy OpenBMC requirements for flash layout.
> >> >
> >> > Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> >> > ---
> >> >  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28
> >> > +++++++----------------
> >> >  1 file changed, 8 insertions(+), 20 deletions(-)
> >> >
> >> > diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > index bd1eb6ee380f..741c1fee8552 100644
> >> > --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> >> > @@ -182,8 +182,8 @@ bbuboot2@80000 {
> >> >                                 reg = <0x0080000 0x80000>;
> >> >                                 read-only;
> >> >                                 };
> >> > -                       envparam@100000 {
> >> > -                               label = "env-param";
> >> > +                       ubootenv@100000 {
> >> > +                               label = "u-boot-env";
> >> >                                 reg = <0x0100000 0x40000>;
> >> >                                 read-only;
> >> >                                 }; @@ -195,25 +195,13 @@
> >> > kernel@200000 {
> >> >                                 label = "kernel";
> >> >                                 reg = <0x0200000 0x400000>;
> >> >                                 };
> >> > -                       rootfs@600000 {
> >> > -                               label = "rootfs";
> >> > -                               reg = <0x0600000 0x700000>;
> >> > +                       rofs@780000 {
> >> > +                               label = "rofs";
> >> > +                               reg = <0x0780000 0x1680000>;
> >> >                                 };
> >> > -                       spare1@D00000 {
> >> > -                               label = "spare1";
> >> > -                               reg = <0x0D00000 0x200000>;
> >> > -                               };
> >> > -                       spare2@0F00000 {
> >> > -                               label = "spare2";
> >> > -                               reg = <0x0F00000 0x200000>;
> >> > -                               };
> >> > -                       spare3@1100000 {
> >> > -                               label = "spare3";
> >> > -                               reg = <0x1100000 0x200000>;
> >> > -                               };
> >> > -                       spare4@1300000 {
> >> > -                               label = "spare4";
> >> > -                               reg = <0x1300000 0x0>;
> >> > +                       rwfs@1e00000 {
> >> > +                               label = "rwfs";
> >> > +                               reg = <0x1e00000 0x200000>;
> >> >                         };
> >>
> >> I recommend just including the openbmc-flash-layout.dtsi file here
> >> instead since that contains the common flash layout for most
> >> OpenBMC systems.
> >>
> > Good solution,
> > Do you mean nuvoton-openbmc-flash-layout?
> >>
> >> >                 };
> >> >         };
> >> > --
> >> > 2.30.0.478.g8a0d178c01-goog
> >> >
> >
> >
> > Thanks,
> >
> > Tomer



--
Regards,
Avi
________________________________
________________________________
 The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-22 14:10         ` IS20 Ofer Eilon
@ 2021-02-22 14:24           ` Anton Kachalov
  2021-02-23 13:14             ` Avi Fishman
  0 siblings, 1 reply; 8+ messages in thread
From: Anton Kachalov @ 2021-02-22 14:24 UTC (permalink / raw)
  To: IS20 Ofer Eilon
  Cc: Avi Fishman, Tomer Maimon, Benjamin Fair, Tali Perry,
	Patrick Venture, Nancy Yuen, Rob Herring, OpenBMC Maillist,
	devicetree, Linux Kernel Mailing List

Ofer,

The oldest version from igps doesn't work as well as the latest
version from u-boot github.

The only version that works for me is in software deliverables:

https://github.com/Nuvoton-Israel/nuvoton-info/tree/master/npcm7xx-poleg/evaluation-board/sw_deliverables/npcm7xx_v2.3

On Mon, 22 Feb 2021 at 15:10, IS20 Ofer Eilon <ofer.eilon@nuvoton.com> wrote:
>
> Hi Avi,
>
> It seems an old version of uboot  u-boot_2019.01.7.5.bin  from igps below:
>
> > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fversions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0XumchRrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0
>
> Please use latest from uboot.bin github.
>
> Regards,
> Ofer
>
>
> -----Original Message-----
> From: Avi Fishman <avifishman70@gmail.com>
> Sent: Monday, February 22, 2021 12:21 PM
> To: Anton Kachalov <gmouse@google.com>
> Cc: Tomer Maimon <tmaimon77@gmail.com>; Benjamin Fair <benjaminfair@google.com>; Tali Perry <tali.perry1@gmail.com>; Patrick Venture <venture@google.com>; Nancy Yuen <yuenn@google.com>; Rob Herring <robh+dt@kernel.org>; OpenBMC Maillist <openbmc@lists.ozlabs.org>; devicetree <devicetree@vger.kernel.org>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; IS20 Ofer Eilon <ofer.eilon@nuvoton.com>
> Subject: Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
>
> Ofer,
>
> Can you check why u-boot doesn't work with SD cards?
>
> On Mon, Feb 22, 2021 at 11:27 AM Anton Kachalov <gmouse@google.com> wrote:
> >
> > Hi, Tom.
> >
> > Yes, I'm using it for testing on real hardware.
> >
> > BTW. Recent u-boot doesn't work with SD cards. The card doesn't
> > detect. The last working version was this one:
> >
> > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > ub.com%2FNuvoton-Israel%2Fnuvoton-info%2Ftree%2Fmaster%2Fnpcm7xx-poleg
> > %2Fevaluation-board%2Fsw_deliverables%2Fnpcm7xx_v2.3&amp;data=04%7C01%
> > 7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f249
> > 31d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTW
> > FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> > Mn0%3D%7C1000&amp;sdata=f4t41g3CQaFTQNfwwNVBrIwQScndIGcfRTms0yrTn5o%3D
> > &amp;reserved=0
> >
> > However, u-boot from igps repo:
> >
> > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > ub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fver
> > sions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee
> > 4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C6374958611
> > 62860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiL
> > CJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0Xumch
> > RrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0
> >
> > Has issues too. It doesn't allow me to read more than 4k bytes once at
> > a time. Thus, to flash the stuff I have manually read chunks from the
> > SD-card: fat load doesn't work at all and I write that data in raw
> > partition.
> >
> > On Sun, 21 Feb 2021 at 17:40, Tomer Maimon <tmaimon77@gmail.com> wrote:
> > >
> > > Hi Benjamin and Anton,
> > >
> > > Sorry for the late reply,
> > >
> > > The EVB FIU0-CS0 partitioning is used for testing the EVB and this is why it is different than the OpenBMC flash layout.
> > >
> > >
> > >
> > > Are you using the NPCM7XX EVB for OpenBMC? if yes we can consider to modify the flash partition to OpenBMC use.
> > >
> > >
> > > On Thu, 18 Feb 2021 at 19:11, Benjamin Fair <benjaminfair@google.com> wrote:
> > >>
> > >> On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
> > >> >
> > >> > From: "Anton D. Kachalov" <gmouse@google.com>
> > >> >
> > >> > This change satisfy OpenBMC requirements for flash layout.
> > >> >
> > >> > Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> > >> > ---
> > >> >  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28
> > >> > +++++++----------------
> > >> >  1 file changed, 8 insertions(+), 20 deletions(-)
> > >> >
> > >> > diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > >> > b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > >> > index bd1eb6ee380f..741c1fee8552 100644
> > >> > --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > >> > +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > >> > @@ -182,8 +182,8 @@ bbuboot2@80000 {
> > >> >                                 reg = <0x0080000 0x80000>;
> > >> >                                 read-only;
> > >> >                                 };
> > >> > -                       envparam@100000 {
> > >> > -                               label = "env-param";
> > >> > +                       ubootenv@100000 {
> > >> > +                               label = "u-boot-env";
> > >> >                                 reg = <0x0100000 0x40000>;
> > >> >                                 read-only;
> > >> >                                 }; @@ -195,25 +195,13 @@
> > >> > kernel@200000 {
> > >> >                                 label = "kernel";
> > >> >                                 reg = <0x0200000 0x400000>;
> > >> >                                 };
> > >> > -                       rootfs@600000 {
> > >> > -                               label = "rootfs";
> > >> > -                               reg = <0x0600000 0x700000>;
> > >> > +                       rofs@780000 {
> > >> > +                               label = "rofs";
> > >> > +                               reg = <0x0780000 0x1680000>;
> > >> >                                 };
> > >> > -                       spare1@D00000 {
> > >> > -                               label = "spare1";
> > >> > -                               reg = <0x0D00000 0x200000>;
> > >> > -                               };
> > >> > -                       spare2@0F00000 {
> > >> > -                               label = "spare2";
> > >> > -                               reg = <0x0F00000 0x200000>;
> > >> > -                               };
> > >> > -                       spare3@1100000 {
> > >> > -                               label = "spare3";
> > >> > -                               reg = <0x1100000 0x200000>;
> > >> > -                               };
> > >> > -                       spare4@1300000 {
> > >> > -                               label = "spare4";
> > >> > -                               reg = <0x1300000 0x0>;
> > >> > +                       rwfs@1e00000 {
> > >> > +                               label = "rwfs";
> > >> > +                               reg = <0x1e00000 0x200000>;
> > >> >                         };
> > >>
> > >> I recommend just including the openbmc-flash-layout.dtsi file here
> > >> instead since that contains the common flash layout for most
> > >> OpenBMC systems.
> > >>
> > > Good solution,
> > > Do you mean nuvoton-openbmc-flash-layout?
> > >>
> > >> >                 };
> > >> >         };
> > >> > --
> > >> > 2.30.0.478.g8a0d178c01-goog
> > >> >
> > >
> > >
> > > Thanks,
> > >
> > > Tomer
>
>
>
> --
> Regards,
> Avi
> ________________________________
> ________________________________
>  The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
  2021-02-22 14:24           ` Anton Kachalov
@ 2021-02-23 13:14             ` Avi Fishman
  0 siblings, 0 replies; 8+ messages in thread
From: Avi Fishman @ 2021-02-23 13:14 UTC (permalink / raw)
  To: Anton Kachalov
  Cc: IS20 Ofer Eilon, Tomer Maimon, Benjamin Fair, Tali Perry,
	Patrick Venture, Nancy Yuen, Rob Herring, OpenBMC Maillist,
	devicetree, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 9045 bytes --]

Hi Anton,

At runtime do you get into the code inside npcmx50_sdhci.c, but it
doesn't work well or not access at all?
Can you check those registers (BootBlock should set them for you):
sd1irv1 at address 0xf0800054 value = 0xf5c80f80
sd1irv2 at address 0xf0800058 value = 0x52001132
sd2irv1 at address 0xf08000b4 value = 0xfdc80f80
sd2irv2 at address 0xf08000b8 value = 0x52003132

Also try to use attached file.

Thanks,
Avi

On Mon, Feb 22, 2021 at 4:25 PM Anton Kachalov <gmouse@google.com> wrote:
>
> Ofer,
>
> The oldest version from igps doesn't work as well as the latest
> version from u-boot github.
>
> The only version that works for me is in software deliverables:
>
> https://github.com/Nuvoton-Israel/nuvoton-info/tree/master/npcm7xx-poleg/evaluation-board/sw_deliverables/npcm7xx_v2.3
>
> On Mon, 22 Feb 2021 at 15:10, IS20 Ofer Eilon <ofer.eilon@nuvoton.com> wrote:
> >
> > Hi Avi,
> >
> > It seems an old version of uboot  u-boot_2019.01.7.5.bin  from igps below:
> >
> > > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fversions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0XumchRrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0
> >
> > Please use latest from uboot.bin github.
> >
> > Regards,
> > Ofer
> >
> >
> > -----Original Message-----
> > From: Avi Fishman <avifishman70@gmail.com>
> > Sent: Monday, February 22, 2021 12:21 PM
> > To: Anton Kachalov <gmouse@google.com>
> > Cc: Tomer Maimon <tmaimon77@gmail.com>; Benjamin Fair <benjaminfair@google.com>; Tali Perry <tali.perry1@gmail.com>; Patrick Venture <venture@google.com>; Nancy Yuen <yuenn@google.com>; Rob Herring <robh+dt@kernel.org>; OpenBMC Maillist <openbmc@lists.ozlabs.org>; devicetree <devicetree@vger.kernel.org>; Linux Kernel Mailing List <linux-kernel@vger.kernel.org>; IS20 Ofer Eilon <ofer.eilon@nuvoton.com>
> > Subject: Re: [PATCH] ARM: dts: nuvoton: Fix flash layout
> >
> > Ofer,
> >
> > Can you check why u-boot doesn't work with SD cards?
> >
> > On Mon, Feb 22, 2021 at 11:27 AM Anton Kachalov <gmouse@google.com> wrote:
> > >
> > > Hi, Tom.
> > >
> > > Yes, I'm using it for testing on real hardware.
> > >
> > > BTW. Recent u-boot doesn't work with SD cards. The card doesn't
> > > detect. The last working version was this one:
> > >
> > > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > > ub.com%2FNuvoton-Israel%2Fnuvoton-info%2Ftree%2Fmaster%2Fnpcm7xx-poleg
> > > %2Fevaluation-board%2Fsw_deliverables%2Fnpcm7xx_v2.3&amp;data=04%7C01%
> > > 7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee4c08d8d71bacd4%7Ca3f249
> > > 31d4034b4a94f17d83ac638e07%7C0%7C0%7C637495861162860437%7CUnknown%7CTW
> > > FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> > > Mn0%3D%7C1000&amp;sdata=f4t41g3CQaFTQNfwwNVBrIwQScndIGcfRTms0yrTn5o%3D
> > > &amp;reserved=0
> > >
> > > However, u-boot from igps repo:
> > >
> > > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > > ub.com%2FNuvoton-Israel%2Figps%2Ftree%2Fmaster%2FImageGeneration%2Fver
> > > sions&amp;data=04%7C01%7Cofer.eilon%40nuvoton.com%7Ce56881b8491d42e5ee
> > > 4c08d8d71bacd4%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C6374958611
> > > 62860437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiL
> > > CJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=0%2BNzEv%2FSX9QTg0Xumch
> > > RrU61uGbZ3CZXrtspXu2560I%3D&amp;reserved=0
> > >
> > > Has issues too. It doesn't allow me to read more than 4k bytes once at
> > > a time. Thus, to flash the stuff I have manually read chunks from the
> > > SD-card: fat load doesn't work at all and I write that data in raw
> > > partition.
> > >
> > > On Sun, 21 Feb 2021 at 17:40, Tomer Maimon <tmaimon77@gmail.com> wrote:
> > > >
> > > > Hi Benjamin and Anton,
> > > >
> > > > Sorry for the late reply,
> > > >
> > > > The EVB FIU0-CS0 partitioning is used for testing the EVB and this is why it is different than the OpenBMC flash layout.
> > > >
> > > >
> > > >
> > > > Are you using the NPCM7XX EVB for OpenBMC? if yes we can consider to modify the flash partition to OpenBMC use.
> > > >
> > > >
> > > > On Thu, 18 Feb 2021 at 19:11, Benjamin Fair <benjaminfair@google.com> wrote:
> > > >>
> > > >> On Thu, 18 Feb 2021 at 04:42, <gmouse@google.com> wrote:
> > > >> >
> > > >> > From: "Anton D. Kachalov" <gmouse@google.com>
> > > >> >
> > > >> > This change satisfy OpenBMC requirements for flash layout.
> > > >> >
> > > >> > Signed-off-by: Anton D. Kachalov <gmouse@google.com>
> > > >> > ---
> > > >> >  arch/arm/boot/dts/nuvoton-npcm750-evb.dts | 28
> > > >> > +++++++----------------
> > > >> >  1 file changed, 8 insertions(+), 20 deletions(-)
> > > >> >
> > > >> > diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > > >> > b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > > >> > index bd1eb6ee380f..741c1fee8552 100644
> > > >> > --- a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > > >> > +++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
> > > >> > @@ -182,8 +182,8 @@ bbuboot2@80000 {
> > > >> >                                 reg = <0x0080000 0x80000>;
> > > >> >                                 read-only;
> > > >> >                                 };
> > > >> > -                       envparam@100000 {
> > > >> > -                               label = "env-param";
> > > >> > +                       ubootenv@100000 {
> > > >> > +                               label = "u-boot-env";
> > > >> >                                 reg = <0x0100000 0x40000>;
> > > >> >                                 read-only;
> > > >> >                                 }; @@ -195,25 +195,13 @@
> > > >> > kernel@200000 {
> > > >> >                                 label = "kernel";
> > > >> >                                 reg = <0x0200000 0x400000>;
> > > >> >                                 };
> > > >> > -                       rootfs@600000 {
> > > >> > -                               label = "rootfs";
> > > >> > -                               reg = <0x0600000 0x700000>;
> > > >> > +                       rofs@780000 {
> > > >> > +                               label = "rofs";
> > > >> > +                               reg = <0x0780000 0x1680000>;
> > > >> >                                 };
> > > >> > -                       spare1@D00000 {
> > > >> > -                               label = "spare1";
> > > >> > -                               reg = <0x0D00000 0x200000>;
> > > >> > -                               };
> > > >> > -                       spare2@0F00000 {
> > > >> > -                               label = "spare2";
> > > >> > -                               reg = <0x0F00000 0x200000>;
> > > >> > -                               };
> > > >> > -                       spare3@1100000 {
> > > >> > -                               label = "spare3";
> > > >> > -                               reg = <0x1100000 0x200000>;
> > > >> > -                               };
> > > >> > -                       spare4@1300000 {
> > > >> > -                               label = "spare4";
> > > >> > -                               reg = <0x1300000 0x0>;
> > > >> > +                       rwfs@1e00000 {
> > > >> > +                               label = "rwfs";
> > > >> > +                               reg = <0x1e00000 0x200000>;
> > > >> >                         };
> > > >>
> > > >> I recommend just including the openbmc-flash-layout.dtsi file here
> > > >> instead since that contains the common flash layout for most
> > > >> OpenBMC systems.
> > > >>
> > > > Good solution,
> > > > Do you mean nuvoton-openbmc-flash-layout?
> > > >>
> > > >> >                 };
> > > >> >         };
> > > >> > --
> > > >> > 2.30.0.478.g8a0d178c01-goog
> > > >> >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Tomer
> >
> >
> >
> > --
> > Regards,
> > Avi
> > ________________________________
> > ________________________________
> >  The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.



-- 
Regards,
Avi

[-- Attachment #2: npcmx50_sdhci.c --]
[-- Type: application/octet-stream, Size: 3705 bytes --]

/*
 *copyright (c) 2017 Nuvoton Technology Corp.
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

#include <common.h>
#include <dm.h>
#include <sdhci.h>
#include <clk.h>
#include <asm/arch/cpu.h>
#include <asm/arch/gcr.h>
#include <asm/arch/clock.h>

#define NPCMX50_SD          0
#define NPCMX50_EMMC        1

#ifdef CONFIG_DM_MMC
struct npcmx50_sdhci_plat {
	struct mmc_config cfg;
	struct mmc mmc;
};

DECLARE_GLOBAL_DATA_PTR;
#endif

#ifdef CONFIG_DM_MMC
static int npcmx50_sdhci_probe(struct udevice *dev)
{
	struct npcmx50_sdhci_plat *plat = dev_get_platdata(dev);
	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
	struct sdhci_host *host = dev_get_priv(dev);
	int ret;

	host->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;

	if (host->index == NPCMX50_SD)
	{
		unsigned int status;

		sdhci_writeb(host, SDHCI_CTRL_CD_TEST_INS | SDHCI_CTRL_CD_TEST,
			SDHCI_HOST_CONTROL);

		status = sdhci_readl(host, SDHCI_PRESENT_STATE);
		while ((!(status & SDHCI_CARD_PRESENT)) ||
		    (!(status & SDHCI_CARD_STATE_STABLE)) ||
		    (!(status & SDHCI_CARD_DETECT_PIN_LEVEL)))
			status = sdhci_readl(host, SDHCI_PRESENT_STATE);
	}

	host->version = sdhci_readw(host, SDHCI_HOST_VERSION);
	if (host->bus_width == 4)
		host->host_caps |= MMC_MODE_4BIT;

	if (host->bus_width == 8)
		host->host_caps |= MMC_MODE_8BIT;

	ret = sdhci_setup_cfg(&plat->cfg, host, host->clock, 400000);
	if (ret)
		return ret;

	host->mmc = &plat->mmc;
	host->mmc->priv = host;
	host->mmc->dev = dev;
	upriv->mmc = host->mmc;

	host->clock = 0;

	return sdhci_probe(dev);
}

static int npcmx50_ofdata_to_platdata(struct udevice *dev)
{
	struct sdhci_host *host = dev_get_priv(dev);

	host->name = strdup(dev->name);
	host->ioaddr = (void *)dev_read_addr(dev);
	host->bus_width = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
			"bus-width", 4);
	host->index = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev), "index", 0);
	host->clock = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev),
			"clock-frequency", 400000);

	if (host->ioaddr == (void *)FDT_ADDR_T_NONE)
		return -EINVAL;

	return 0;
}

static int npcmx50_sdhci_bind(struct udevice *dev)
{
	struct npcmx50_sdhci_plat *plat = dev_get_platdata(dev);
	return sdhci_bind(dev, &plat->mmc, &plat->cfg);
}

static int npcmx50_sdhci_remove(struct udevice *dev)
{
	return 0;
}

static const struct udevice_id npcmx50_mmc_ids[] = {
	{ .compatible = "nuvoton,npcmx50-sdhci-SD" },
	{ .compatible = "nuvoton,npcmx50-sdhci-eMMC"},
	{ }
};

U_BOOT_DRIVER(npcmx50_sdc_drv) = {
	.name           = "npcmx50_sdhci",
	.id             = UCLASS_MMC,
	.of_match       = npcmx50_mmc_ids,
	.ofdata_to_platdata = npcmx50_ofdata_to_platdata,
	.ops            = &sdhci_ops,
	.bind           = npcmx50_sdhci_bind,
	.probe          = npcmx50_sdhci_probe,
	.remove         = npcmx50_sdhci_remove,
	.priv_auto_alloc_size = sizeof(struct sdhci_host),
	.platdata_auto_alloc_size = sizeof(struct npcmx50_sdhci_plat),
};
#endif

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-02-23 13:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-18 12:25 [PATCH] ARM: dts: nuvoton: Fix flash layout gmouse
2021-02-18 12:47 ` Paul Menzel
2021-02-18 17:10 ` Benjamin Fair
     [not found]   ` <CAP6Zq1jf4-XAhLQxqNx3LM7-YzDr8zaVPb-jznn8o=frxTotdQ@mail.gmail.com>
2021-02-22  9:26     ` Anton Kachalov
2021-02-22 10:21       ` Avi Fishman
2021-02-22 14:10         ` IS20 Ofer Eilon
2021-02-22 14:24           ` Anton Kachalov
2021-02-23 13:14             ` Avi Fishman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).