Commit graph

38 commits

Author SHA1 Message Date
Matthias Fuchs
5bd7fe9aeb Fix do_div() usage in nand process output
Fix usage of do_div() in nand erase|read|write process output.

The last patch to nand_util.c introduced do_div() instead of libgcc's
implementation. But do_div() returns the quotient in its first
macro parameter and not as result.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-09-15 21:38:38 +02:00
Stefan Roese
b706d63559 Merge with git://www.denx.de/git/u-boot.git 2007-08-15 21:06:27 +02:00
Wolfgang Denk
be5d72d10d Minor coding style cleanup. Update CHANGELOG.
Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-08-13 21:57:53 +02:00
Dirk Behme
3a6d56c209 Make use of generic 64bit division in nand_util.c
Use generic 64bit division in nand_util.c. This makes nand_util.c
independent of any toolchain 64bit division.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
2007-08-10 10:33:43 +02:00
Jon Loeliger
cb51c0bf88 drivers/[n-z]*: Remove obsolete references to CONFIG_COMMANDS
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-09 17:39:42 -05:00
Jon Loeliger
d5be43de93 drivers/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).
This is a compatibility step that allows both the older form
and the new form to co-exist for a while until the older can
be removed entirely.

All transformations are of the form:
Before:
    #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
After:
    #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT)

Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-04 00:23:11 +02:00
Stefan Roese
e08e6453fc Merge with git://www.denx.de/git/u-boot.git 2007-06-22 10:28:26 +02:00
Stefan Roese
f3679aa13d Merge with /home/stefan/git/u-boot/bamboo-nand 2007-06-01 16:15:34 +02:00
Stefan Roese
17b5e86228 NAND: Update nand_ecc.c to latest Linux version
This patch updates the nand_ecc code to the latest Linux version.
The main reason for this is the more compact code. This makes
it possible to include the ECC code into the NAND bootloader
image (NAND_SPL) for PPC4xx.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-06-01 15:12:15 +02:00
Ulf Samuelsson
7ebb4479b0 [PATCH][NAND] Define the Vendor Id for Micron NAND Flash
Signed-off-by: Ulf Samuelsson <ulf@atmel.com>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Stefan Roese <sr@denx.de>
2007-05-24 12:12:47 +02:00
Thomas Knobloch
a798865905 NAND: Wrong calculation of page number in nand_block_bad()
In case that there is no memory based bad block table available the
function nand_block_checkbad() in drivers/mtd/nand/nand_base.c will call
nand_block_bad() directly. When parameter 'getchip' is set to zero,
nand_block_bad() will not right shift the offset to calculate the
correct page number.

Signed-off-by: Thomas Knobloch <knobloch@siemens.com>
Signed-off-by: Stefan Roese <sr@denx.de>
2007-05-05 07:04:42 +02:00
Stefan Roese
cd1d937f90 [PATCH] nand: Fix problem with oobsize calculation
Here the description from Brian Brelsford <Brian_Brelsford@dell.com>:

The Hynix part returns a 0x1d in the 4th ID byte. The Samsung part
returns a 0x15. In the code fragment below bits [1:0] determine the
page size, it is ANDed via "(extid & 0x3)" then shifted out. The
next field is also ANDed with 0x3. However this is a one bit field
as defined in the Hynix and Samsung parts in the 4th ID byte that
determins the oobsize, not a two bit field. It works on Samsung as
bits[3:2] are 01. However for the Hynix there is a 11 in these two
bits, so the oob size gets messed up.

I checked the correct linux code and the suggested fix from Brian is
also available in the linux nand mtd driver.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-01-05 11:46:05 +01:00
Wolfgang Denk
bc5556d62b Merge with /home/hs/TQ/u-boot-dev 2006-12-24 01:30:04 +01:00
Heiko Schocher
fa23044564 Added support for the TQM8272 board from TQ
Signed-off-by: Heiko Schocher <hs@denx.de>
2006-12-21 17:17:02 +01:00
Wolfgang Denk
ab07b6c221 Merge with http://opensource.freescale.com/pub/scm/u-boot-83xx.git 2006-11-30 02:01:32 +01:00
Kim Phillips
32081125a0 Merge http://www.denx.de/git/u-boot 2006-11-28 23:35:49 -06:00
Stefan Roese
e7f3e9ff01 [PATCH] nand: Fix patch merge problem
Signed-off-by: Stefan Roese <sr@denx.de>
2006-11-28 11:05:49 +01:00
Wolfgang Denk
d2c83f5493 Merge with /home/sr/git/u-boot/denx-alpr-merge-test 2006-11-27 23:11:18 +01:00
Stefan Roese
1578486285 [PATCH] nand_wait() timeout fixes
Two fixes for the nand_wait() function in
drivers/nand/nand_base.c:

1. Use correct timeouts. The original timeouts in Linux
source are 400ms and 20ms not 40s and 20s

2. Return correct error value in case of timeout. 0 is
interpreted as OK.

Signed-off-by: Rui Sousa <rui.sousa@laposte.net>
Signed-off-by: Stefan Roese <sr@denx.de>
2006-11-27 17:24:40 +01:00
Stefan Roese
dfc8a9ee00 Merge with /home/stefan/git/u-boot/denx 2006-11-10 07:48:47 +01:00
Nick Spence
04f899fc46 NAND Flash verify across block boundaries
This patch addresses a problem when CONFIG_MTD_NAND_VERIFY_WRITE is
defined
and the write crosses a block boundary. The pointer to the verification
buffer (bufstart) is not being updated to reflect the starting of the
new
block so the verification of the second block fails.

CHANGELOG:

* Fix NAND FLASH page verification across block boundaries
2006-11-03 19:42:17 -06:00
Stefan Roese
856f054410 [PATCH] NAND: Partition name support added to NAND subsystem
chpart, nboot and NAND subsystem related commands now accept also partition
name to specify offset.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Stefan Roese <sr@denx.de>
2006-10-28 17:11:10 +02:00
Stefan Roese
43a2b0e76a Add board/cpu specific NAND chip select function to 440 NDFC
Based on idea and implementation from Jeff Mann
Patch by Stefan Roese, 20 Oct 2006
2006-10-20 15:17:55 +02:00
Wolfgang Denk
87621bc247 Fix spelling; minor code cleanup. 2006-10-12 11:43:47 +02:00
Stefan Roese
2255b2d204 * Several improvements to the new NAND subsystem:
- JFFS2 related commands implemented in mtd-utils style
  - Support for bad blocks
  - Bad block testing commands
  - NAND lock commands
  Please take a look at doc/README.nand for more details
  Patch by Guido Classen, 10 Oct 2006
2006-10-10 12:38:50 +02:00
Wolfgang Denk
2b208f5308 Move "ar" flags to config.mk to allow for silent "make -s"
Based on patch by Mike Frysinger, 20 Jun 2006
2006-10-09 01:02:05 +02:00
Stefan Roese
5c912cb1c3 CFG_NAND_QUIET_TEST added to not warn upon missing NAND device
Patch by Stefan Roese, 07 Oct 2006
2006-10-07 11:36:51 +02:00
Marian Balakowicz
f93286397e Add support for a saving build objects in a separate directory.
Modifications are based on the linux kernel approach and
support two use cases:

  1) Add O= to the make command line
  'make O=/tmp/build all'

  2) Set environement variable BUILD_DIR to point to the desired location
  'export BUILD_DIR=/tmp/build'
  'make'

The second approach can also be used with a MAKEALL script
'export BUILD_DIR=/tmp/build'
'./MAKEALL'

Command line 'O=' setting overrides BUILD_DIR environent variable.

When none of the above methods is used the local build is performed and
the object files are placed in the source directory.
2006-09-01 19:49:50 +02:00
Marian Balakowicz
6db3970811 Fix JFFS2 support for legacy NAND driver.
Some more NAND cleanup and small fixes.
2006-04-08 19:08:06 +02:00
Wolfgang Denk
d52fb7e3d1 Some code cleanup for GCC 4.x 2006-03-11 22:53:33 +01:00
Wolfgang Denk
951a954b77 Merge with /home/wd/git/u-boot/master
Code cleanup.
2006-03-06 23:18:48 +01:00
Markus Klotzbücher
43638c674a Cleanup of NAND support of delta board using the Monahans Data Flash
Controller.
2006-03-06 15:04:25 +01:00
Markus Klotzbücher
f9e029184b NAND finally working. Two bugs fixed:
* For READ_STATUS and READID commands always 8 bytes need to be read from
   NDDB. Otherwise they stay there and get send to flash as the first data
   word when writing.

 * In nand_base.c the oob variable is not reset so this->oob_buf is
   overwritten what eventually screws up the bad block descriptor table.
2006-03-06 13:45:42 +01:00
Bartlomiej Sieka
addb2e1650 Re-factoring the legacy NAND code (legacy NAND now only in board-specific
code and in SoC code). Boards using the old way have CFG_NAND_LEGACY and
BOARDLIBS = drivers/nand_legacy/libnand_legacy.a added. Build breakage for
NETTA.ERR and NETTA_ISDN - will go away when the new NAND support is
implemented for these boards.
2006-03-05 18:57:33 +01:00
Bartlomiej Sieka
038ccac511 Merge with /home/wd/git/u-boot/testing-NAND/ to add new NAND handling. 2006-02-24 09:37:22 +01:00
Wolfgang Denk
8e9655f863 * Add hook to NAND erase and implement nand_wait function.
Patch by Mike Rapoport, 01 Nov 2005

  Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
2005-11-02 14:29:12 +01:00
Wolfgang Denk
ac7eb8a315 Update of new NAND code
Patch by Ladislav Michl, 13 Sep 2005
2005-09-14 23:53:32 +02:00
Wolfgang Denk
932394ac43 Rewrite of NAND code based on what is in 2.6.12 Linux kernel
Patch by Ladislav Michl, 29 Jun 2005
2005-08-17 12:55:25 +02:00