From: LiuShuo <b35362@freescale.com> To: Matthieu CASTET <matthieu.castet@parrot.com> Cc: "linuxppc-dev@ozlabs.org" <linuxppc-dev@ozlabs.org>, "dwmw2@infradead.org" <dwmw2@infradead.org>, "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org> Subject: Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip Date: Fri, 19 Aug 2011 11:20:01 +0800 [thread overview] Message-ID: <4E4DD661.5080006@freescale.com> (raw) In-Reply-To: <4E4D452C.7050805@parrot.com> =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 : >> From: Liu Shuo<b35362@freescale.com> >> >> Freescale FCM controller has a 2K size limitation of buffer RAM. In or= der >> to support the Nand flash chip whose page size is larger than 2K bytes= , >> we divide a page into multi-2K pages for MTD layer driver. In that cas= e, >> we force to set the page size to 2K bytes. We convert the page address= of >> MTD layer driver to a real page address in flash chips and a column in= dex >> in fsl_elbc driver. We can issue any column address by UA instruction = of >> 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 >
WARNING: multiple messages have this Message-ID (diff)
From: LiuShuo <b35362@freescale.com> To: Matthieu CASTET <matthieu.castet@parrot.com> Cc: "linuxppc-dev@ozlabs.org" <linuxppc-dev@ozlabs.org>, Li Yang <leoli@freescale.com>, "dwmw2@infradead.org" <dwmw2@infradead.org>, "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org> Subject: Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip Date: Fri, 19 Aug 2011 11:20:01 +0800 [thread overview] Message-ID: <4E4DD661.5080006@freescale.com> (raw) In-Reply-To: <4E4D452C.7050805@parrot.com> 于 2011年08月19日 01:00, Matthieu CASTET 写道: > b35362@freescale.com a écrit : >> From: Liu Shuo<b35362@freescale.com> >> >> Freescale FCM controller has a 2K size limitation of buffer RAM. In order >> to support the Nand flash chip whose page size is larger than 2K bytes, >> we divide a page into multi-2K pages for MTD layer driver. In that case, >> we force to set the page size to 2K bytes. We convert the page address of >> MTD layer driver to a real page address in flash chips and a column index >> in fsl_elbc driver. We can issue any column address by UA instruction of >> 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 >
next prev parent reply other threads:[~2011-08-19 3:13 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-18 2:33 [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip b35362 2011-08-18 2:33 ` b35362 2011-08-18 16:25 ` Scott Wood 2011-08-18 18:27 ` Scott Wood 2011-08-23 8:37 ` LiuShuo 2011-08-23 8:37 ` LiuShuo 2011-08-23 10:02 ` Matthieu CASTET 2011-08-23 16:12 ` Scott Wood 2011-08-23 16:12 ` Scott Wood 2011-08-25 11:18 ` Artem Bityutskiy 2011-08-24 2:48 ` LiuShuo 2011-08-24 2:48 ` LiuShuo 2011-08-25 11:25 ` Matthieu CASTET 2011-09-01 9:41 ` LiuShuo 2011-09-01 9:41 ` LiuShuo 2011-09-01 22:30 ` Scott Wood 2011-08-18 17:00 ` Matthieu CASTET 2011-08-18 17:00 ` Matthieu CASTET 2011-08-18 18:24 ` Scott Wood 2011-08-18 18:24 ` Scott Wood 2011-08-19 3:20 ` LiuShuo [this message] 2011-08-19 3:20 ` LiuShuo 2011-08-19 8:57 ` Matthieu CASTET 2011-08-19 8:57 ` Matthieu CASTET 2011-08-19 18:10 ` Scott Wood 2011-08-19 18:10 ` Scott Wood 2011-08-22 10:58 ` Artem Bityutskiy 2011-08-22 15:25 ` Ivan Djelic 2011-08-22 16:04 ` Scott Wood 2011-08-22 16:13 ` Matthieu CASTET 2011-08-22 16:19 ` Scott Wood 2011-08-22 16:19 ` Scott Wood 2011-08-22 17:05 ` Matthieu CASTET 2011-08-23 3:09 ` LiuShuo 2011-08-23 3:09 ` LiuShuo 2011-08-23 8:14 ` Matthieu CASTET 2011-08-23 9:57 ` LiuShuo 2011-08-23 9:57 ` LiuShuo 2011-08-23 10:13 ` Matthieu CASTET 2011-08-22 15:58 ` Scott Wood 2011-08-25 11:06 ` Artem Bityutskiy 2011-08-22 10:53 ` Artem Bityutskiy 2011-08-22 10:53 ` Artem Bityutskiy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=4E4DD661.5080006@freescale.com \ --to=b35362@freescale.com \ --cc=dwmw2@infradead.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linuxppc-dev@ozlabs.org \ --cc=matthieu.castet@parrot.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.