From: LiuShuo <b35362@freescale.com> To: Scott Wood <scottwood@freescale.com> Cc: linuxppc-dev@ozlabs.org, dwmw2@infradead.org, Li Yang-R58472 <r58472@freescale.com>, linux-mtd@lists.infradead.org Subject: Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip Date: Tue, 23 Aug 2011 16:37:03 +0800 [thread overview] Message-ID: <4E5366AF.7040108@freescale.com> (raw) In-Reply-To: <4E4D3CE0.7020602@freescale.com> =E4=BA=8E 2011=E5=B9=B408=E6=9C=8819=E6=97=A5 00:25, Scott Wood =E5=86=99= =E9=81=93: > On 08/17/2011 09:33 PM, b35362@freescale.com wrote: >> 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. >> >> NOTE: Due to there is a limitation of 'Number of Partial Program Cycle= s in >> the Same Page (NOP)', the flash chip which is supported by this workar= ound >> have to meet below conditions. >> 1. page size is not greater than 4KB >> 2. 1) if main area and spare area have independent NOPs: >> main area NOP :>=3D3 >> spare area NOP :>=3D2? > How often are the NOPs split like this? > >> 2) if main area and spare area have a common NOP: >> NOP :>=3D4 > This depends on how the flash is used. If you treat it as a NOP1 flash > (e.g. run ubifs rather than jffs2), then you need NOP2 for a 4K chip an= d > NOP4 for an 8K chip. OTOH, if you would be making full use of NOP4 on = a > real 2K chip, you'll need NOP8 for a 4K chip. > > The NOP restrictions should be documented in the code itself, not just > in the git changelog. Maybe print it to the console when this hack is > used, along with the NOP value read from the ID. We can't read the NOP from the ID on any chip. Some chips don't give this infomation.(e.g. Micron MT29F4G08BAC) So it is hard to determine whether the probe() should fail in the code. Maybe we will always print the NOP restrictions when this hack is used, let the customers select how to use the flash on their board. -LiuShuo > If it's less than 4 > for 4K or 8 for 8K, also print a message saying not to use jffs2 (does > yaffs2 do similar things?). If it's less than 2 for 4K or 4 for 8K, th= e > probe should fail. > > -Scott
WARNING: multiple messages have this Message-ID (diff)
From: LiuShuo <b35362@freescale.com> To: Scott Wood <scottwood@freescale.com> Cc: linuxppc-dev@ozlabs.org, dwmw2@infradead.org, Li Yang-R58472 <r58472@freescale.com>, linux-mtd@lists.infradead.org Subject: Re: [PATCH v3] mtd/nand : workaround for Freescale FCM to support large-page Nand chip Date: Tue, 23 Aug 2011 16:37:03 +0800 [thread overview] Message-ID: <4E5366AF.7040108@freescale.com> (raw) In-Reply-To: <4E4D3CE0.7020602@freescale.com> 于 2011年08月19日 00:25, Scott Wood 写道: > On 08/17/2011 09:33 PM, b35362@freescale.com wrote: >> 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. >> >> NOTE: Due to there is a limitation of 'Number of Partial Program Cycles in >> the Same Page (NOP)', the flash chip which is supported by this workaround >> have to meet below conditions. >> 1. page size is not greater than 4KB >> 2. 1) if main area and spare area have independent NOPs: >> main area NOP :>=3 >> spare area NOP :>=2? > How often are the NOPs split like this? > >> 2) if main area and spare area have a common NOP: >> NOP :>=4 > This depends on how the flash is used. If you treat it as a NOP1 flash > (e.g. run ubifs rather than jffs2), then you need NOP2 for a 4K chip and > NOP4 for an 8K chip. OTOH, if you would be making full use of NOP4 on a > real 2K chip, you'll need NOP8 for a 4K chip. > > The NOP restrictions should be documented in the code itself, not just > in the git changelog. Maybe print it to the console when this hack is > used, along with the NOP value read from the ID. We can't read the NOP from the ID on any chip. Some chips don't give this infomation.(e.g. Micron MT29F4G08BAC) So it is hard to determine whether the probe() should fail in the code. Maybe we will always print the NOP restrictions when this hack is used, let the customers select how to use the flash on their board. -LiuShuo > If it's less than 4 > for 4K or 8 for 8K, also print a message saying not to use jffs2 (does > yaffs2 do similar things?). If it's less than 2 for 4K or 4 for 8K, the > probe should fail. > > -Scott
next prev parent reply other threads:[~2011-08-23 8:30 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 [this message] 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 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=4E5366AF.7040108@freescale.com \ --to=b35362@freescale.com \ --cc=dwmw2@infradead.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linuxppc-dev@ozlabs.org \ --cc=r58472@freescale.com \ --cc=scottwood@freescale.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.