| cb2fc338 | 30-May-2015 |
Jeroen Hofstee <jeroen@myspectrum.nl> |
mtd: OMAP: Enable GPMC prefetch mode for 16 bit access
commit c316f57 "mtd: OMAP: Enable GPMC prefetch mode" only enabled prefetch mode for 8 bit nand access, this adds 16 bit as well.
Cc: Scott Wo
mtd: OMAP: Enable GPMC prefetch mode for 16 bit access
commit c316f57 "mtd: OMAP: Enable GPMC prefetch mode" only enabled prefetch mode for 8 bit nand access, this adds 16 bit as well.
Cc: Scott Wood <scottwood@freescale.com> Cc: Tom Rini <trini@konsulko.com> Cc: Daniel Mack <zonque@gmail.com>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Reviewed-by: Tom Rini <trini@konsulko.com>
show more ...
|
| 8fca2d8c | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: enable ONFI detection
This changes enable ONFI detection. The Read ID command now allows one address byte which is needed for ONFI detection. To read the ONFI parameter page, the NAN
mtd: vf610_nfc: enable ONFI detection
This changes enable ONFI detection. The Read ID command now allows one address byte which is needed for ONFI detection. To read the ONFI parameter page, the NAND_CMD_PARAM need to be supported. The CMD code enables one command and one address byte along with reading data from flash using R/B#, as specified by ONFI.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| 080a71e8 | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: add 32-error correction option for HW ECC
Add option to choose between current 24-error correction and 32-error correction through Kconfig. 32-error correction allow to use NAND chip
mtd: vf610_nfc: add 32-error correction option for HW ECC
Add option to choose between current 24-error correction and 32-error correction through Kconfig. 32-error correction allow to use NAND chips which require up to 8-bit error correction per 512 byte (when using 2K pages).
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| 5519194d | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: add Freescale NFC controller configs to Kconfig
This commit allows users to enable/disable the Freescale NFC controller found in systems like Vybrid (VF610), MPC5125, MCF54418 or Kin
mtd: vf610_nfc: add Freescale NFC controller configs to Kconfig
This commit allows users to enable/disable the Freescale NFC controller found in systems like Vybrid (VF610), MPC5125, MCF54418 or Kinetis K70 via Kconfig with more detailed help docs.
Signed-off-by: Stefan Agner <stefan@agner.ch> Acked-by: Stefano Babic <sbabic@denx.de> [scottwood: updated vf610twr_nand_defconfig] Signed-off-by: Scott Wood <scottwood@freescale.com>
show more ...
|
| 84d656a2 | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: use in-band bad block table
Use in-band bad block table (NAND_BBT_NO_OOB) which allows to use the full OOB for hardare ECC purposes. Since there is no ECC correction on the OOB it is
mtd: vf610_nfc: use in-band bad block table
Use in-band bad block table (NAND_BBT_NO_OOB) which allows to use the full OOB for hardare ECC purposes. Since there is no ECC correction on the OOB it is also safer to use in-band area to store the bad block table marker.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| 5dec286b | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: implement OOB only read
Implement read of OOB area only. When using column and sector size properties, only parts of the page can be read. However, this works only when hardware ECC
mtd: vf610_nfc: implement OOB only read
Implement read of OOB area only. When using column and sector size properties, only parts of the page can be read. However, this works only when hardware ECC is disabled, otherwise the ECC engine would ruin the data in the buffer. To allow OOB only reads, three points had to be addressed: - Set ECC mode per command. - Handle NAND_CMD_READOOB seperate. Make sure column and sector size is correctly set up, while disabling ECC. - Now, the OOB data end up at the beginning of the buffer. Remove the special handling of OOB (spareonly).
Especially bad block scans benefit from this change. On a 512MiB SLC NAND device, the bad block scan took 1.5s less than before.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| 6fcfd1e8 | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: remove read on SEQIN
Since we do not support sub-page writes anyway, reading the page back to the controller on SEQIN command is not required. Remove the page read on SEQIN.
However
mtd: vf610_nfc: remove read on SEQIN
Since we do not support sub-page writes anyway, reading the page back to the controller on SEQIN command is not required. Remove the page read on SEQIN.
However, the column/page values relevant to the SEQIN command, hence set the column/row address on SEQIN command.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| f55bc296 | 08-May-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: remove caching of page in buffer
To improve performance we remember the current page in the buffer and avoid reading it twice. This implicit page cache increases complexity while doe
mtd: vf610_nfc: remove caching of page in buffer
To improve performance we remember the current page in the buffer and avoid reading it twice. This implicit page cache increases complexity while does not increase performance in real world cases. This patch removes that feature.
Acked-by: Bill Pringlemeir <bpringlemeir@nbsps.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| bd38da1a | 15-Apr-2015 |
Peng Fan <Peng.Fan@freescale.com> |
mtd:mxs:nand calculate ecc strength dynamically
Calculate ecc strength according oobsize, but not hardcoded which is not aligned with kernel driver
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
mtd:mxs:nand calculate ecc strength dynamically
Calculate ecc strength according oobsize, but not hardcoded which is not aligned with kernel driver
Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Ye.Li <b37916@freescale.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
show more ...
|
| 6b8583b0 | 20-May-2015 |
Raghav Dogra <raghav@freescale.com> |
nand/elbc: Memory leak fix
Freeing allocated memory to priv before returning from the function
Signed-off-by: Raghav Dogra <raghav@freescale.com> [scottwood: removed unnecessary cast] Signed-off-by
nand/elbc: Memory leak fix
Freeing allocated memory to priv before returning from the function
Signed-off-by: Raghav Dogra <raghav@freescale.com> [scottwood: removed unnecessary cast] Signed-off-by: Scott Wood <scottwood@freescale.com>
show more ...
|
| 55765b18 | 24-Mar-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: specify transfer size before each transfer
Testing showed, that commands like STATUS made the buffer dirty when executed with NFC_SECSZ set to the page size. It looks like the contro
mtd: vf610_nfc: specify transfer size before each transfer
Testing showed, that commands like STATUS made the buffer dirty when executed with NFC_SECSZ set to the page size. It looks like the controller transfers bogus data when this register is configured. When setting it to 0, the buffer does not get altered while the status command still seems to work flawless.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|
| 7653fc28 | 24-Mar-2015 |
Stefan Agner <stefan@agner.ch> |
mtd: vf610_nfc: mark page as dirty on block erase
The driver tries to re-use the page buffer by storing the page number of the current page in the buffer. The page is only read if the requested page
mtd: vf610_nfc: mark page as dirty on block erase
The driver tries to re-use the page buffer by storing the page number of the current page in the buffer. The page is only read if the requested page number is not currently in the buffer. When a block is erased, the page number is marked as invalid if the erased page equals the one currently in the cache. However, since a erase block consists of multiple pages, also other page numbers could be affected.
The commands to reproduce this issue (on a written page): > nand dump 0x800 > nand erase 0x0 0x20000 > nand dump 0x800
The second nand dump command returns the data from the buffer, while in fact the page is erased (0xff).
Avoid the hassle to calculate whether the page is affected or not, but set the page buffer unconditionally to invalid instead.
Signed-off-by: Stefan Agner <stefan@agner.ch>
show more ...
|