public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] NAND: mxc_nand reads/writes only first 512 bytes of each page
@ 2011-01-09 14:30 Stefano Babic
  2011-01-09 14:40 ` Jason Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Stefano Babic @ 2011-01-09 14:30 UTC (permalink / raw)
  To: u-boot

Hi,

My target is a mx35 board (not yet in mainline). According to the manual
and checking the register set and their functionality, the MX.35 has the
same nand controller as the i.MX25 processor (MXC_NFC_V1_1 in the
mxc_nand driver). Probably there is the same issue with the i.MX25, too.

The storage is a Samsung 2GiB (8-bit), 2KB page, sector size 256KiB, and
CONFIG_SYS_NAND_LARGEPAGE is set.

The flash is recognized correctly. However, after reading/writing, only
the first 512 bytes of each page are correct. The rest is filled with
random bytes. Under Linux (2.6.37) everything works flawlessy, however
the driver in Linux is quite different as what we have in u-boot, and
this makes a comparison quite difficult. Any hint how can I better
investigate this issue ?

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

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

* [U-Boot] NAND: mxc_nand reads/writes only first 512 bytes of each page
  2011-01-09 14:30 [U-Boot] NAND: mxc_nand reads/writes only first 512 bytes of each page Stefano Babic
@ 2011-01-09 14:40 ` Jason Liu
  2011-01-10 10:07   ` Stefano Babic
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Liu @ 2011-01-09 14:40 UTC (permalink / raw)
  To: u-boot

Hi, Stefano,

2011/1/9 Stefano Babic <sbabic@denx.de>:
> Hi,
>
> My target is a mx35 board (not yet in mainline). According to the manual
> and checking the register set and their functionality, the MX.35 has the
> same nand controller as the i.MX25 processor (MXC_NFC_V1_1 in the
> mxc_nand driver). Probably there is the same issue with the i.MX25, too.
>
> The storage is a Samsung 2GiB (8-bit), 2KB page, sector size 256KiB, and
> CONFIG_SYS_NAND_LARGEPAGE is set.
>
> The flash is recognized correctly. However, after reading/writing, only
> the first 512 bytes of each page are correct. The rest is filled with
> random bytes. Under Linux (2.6.37) everything works flawlessy, however
> the driver in Linux is quite different as what we have in u-boot, and
> this makes a comparison quite difficult. Any hint how can I better
> investigate this issue ?

Have you set the page_size correctly with the following register?

49.4.3.7 Reset Control and Sourse Register - RCSR:

NFC_4K
This bit is used to config the NandFlash page size. It is defined by
PAGE_SIZE while boot up, and it can be
configured by software after boot up.
0 not 4k page
1 4k page
8
NFC_FMS
This bit is used to config the NandFlash page size.It is defined by
PAGE_SIZE while boot up,and it can be
configured by software after boot up.
0 not 2k page
1 2k page



>
> Best regards,
> Stefano Babic
>
> --
> =====================================================================
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 ?Email: office at denx.de
> =====================================================================
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

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

* [U-Boot] NAND: mxc_nand reads/writes only first 512 bytes of each page
  2011-01-09 14:40 ` Jason Liu
@ 2011-01-10 10:07   ` Stefano Babic
  0 siblings, 0 replies; 3+ messages in thread
From: Stefano Babic @ 2011-01-10 10:07 UTC (permalink / raw)
  To: u-boot

On 01/09/2011 03:40 PM, Jason Liu wrote:
> Hi, Stefano,
> 

Hi Jason,

> Have you set the page_size correctly with the following register?

Let's see...

> 
> 49.4.3.7 Reset Control and Sourse Register - RCSR:
> 
> NFC_4K
> This bit is used to config the NandFlash page size. It is defined by
> PAGE_SIZE while boot up, and it can be
> configured by software after boot up.
> 0 not 4k page
> 1 4k page
> 8

This seems ok.

> NFC_FMS
> This bit is used to config the NandFlash page size.It is defined by
> PAGE_SIZE while boot up,and it can be
> configured by software after boot up.
> 0 not 2k page
> 1 2k page

That's it ! This was wrong on my board. I set the NFC_FMS bit and the
whole page is now read correctly.

Many thanks,

Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

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

end of thread, other threads:[~2011-01-10 10:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-09 14:30 [U-Boot] NAND: mxc_nand reads/writes only first 512 bytes of each page Stefano Babic
2011-01-09 14:40 ` Jason Liu
2011-01-10 10:07   ` Stefano Babic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox