Thread (29 messages) flat view 29 messages, 5 authors, 2011-09-01

Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip

From: LiuShuo <hidden>
Date: 2011-08-19 03:13:32

=E4=BA=8E 2011=E5=B9=B408=E6=9C=8819=E6=97=A5 01:00, Matthieu CASTET =E5=86=
=99=E9=81=93:
b35362@freescale.com a =C3=A9crit :
quoted
From: Liu Shuo<redacted>

Freescale FCM controller has a 2K size limitation of buffer RAM. In or=
der
quoted
to support the Nand flash chip whose page size is larger than 2K bytes=
,
quoted
we divide a page into multi-2K pages for MTD layer driver. In that cas=
e,
quoted
we force to set the page size to 2K bytes. We convert the page address=
 of
quoted
MTD layer driver to a real page address in flash chips and a column in=
dex
quoted
in fsl_elbc driver. We can issue any column address by UA instruction =
of
quoted
elbc controller.
Why do you need to do that ?

When mtd send you a 4k page, why can't you write it by 2*2k pages write=
 ?
1. It's easy to implement.
2. We don't need to move the data in buffer more times, because we
want to use the HW_ECC.

In flash chip per Page:
----------------------------------------------------------------
| first data | first oob | second data | second oob |
----------------------------------------------------------------
Even better send the first 2K and then if your controller allow it send=
 the
remaining 2K without command/address phase.
The elbc controller don't allow that.
I have to send twice Program CMD for writing the whole 4KB data.
Matthieu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help