1. 11 6月, 2008 2 次提交
    • S
      248ae5cf
    • W
      NAND FSL UPM: driver re-write using the hwcontrol callback · a75a57ef
      Wolfgang Grandegger 提交于
      This is a re-write of the NAND FSL UPM driver using the more universal
      hwcontrol callback (instead of the cmdfunc callback). Here is a brief
      list of furher modifications:
      
      - For the time being, the UPM setup writing the UPM array has been
        removed from the driver and must now be done by the board specific
        code.
      
      - The bus width definition in "struct fsl_upm_nand" is now in bits to
        comply with the corresponding Linux driver and 8, 16 and 32 bit
        accesses are supported.
      
      - chip->dev_read is only set if fun->dev_ready != NULL, which is
        required for boards not connecting the R/B pin.
      
      - A few issue have been fixed with MxMR bit manipulation like in the
        corresponding Linux driver.
      
      Note: I think the "io_addr" field of "struct fsl_upm" could be removed
            as well, because the address is already determined by
            "nand->IO_ADDR_[RW]", but I'm not 100% sure.
      
      This patch has been tested on a TQM8548 modules with the NAND chip
      Micron MT29F8G08FABWP.
      
      This patch is based on the following patches posted to this list a few
      minutes ago:
      
        PPC: add accessor macros to clear and set bits in one shot
        83xx/85xx/86xx: add more MxMR local bus definitions
      Signed-off-by: NWolfgang Grandegger <wg@grandegger.com>
      Acked-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      a75a57ef
  2. 04 6月, 2008 2 次提交
  3. 29 5月, 2008 1 次提交
    • D
      nand: Correct NAND erase percentage output · 9723bbb4
      Dirk Behme 提交于
      For NAND erase sizes smaller than one NAND erase block, erase
      percentage output becomes grater than 100% e.g.
      
      -- cut --
        > nand info
      Device 0: NAND 64MiB 1,8V 8-bit, sector size 16 KiB
        > nand erase 0x100000 0x2000
      NAND erase: device 0 offset 0x100000, size 0x2000
      Erasing at 0x100000 -- 200% complete.
      OK
        >
      -- cut --
      
      Correct this and give user a warning that more is erased than specified:
      
      -- cut --
        > nand erase 0x100000 0x2000
      NAND erase: device 0 offset 0x100000, size 0x2000
      Warning: Erase size 0x00002000 smaller than one erase block 0x00004000
                 Erasing 0x00004000 instead
      Erasing at 0x100000 -- 100% complete.
      OK
        >
      -- cut --
      Signed-off-by: NDirk Behme <dirk.behme@gmail.com>
      9723bbb4
  4. 21 5月, 2008 1 次提交
    • W
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk 提交于
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      53677ef1
  5. 02 5月, 2008 1 次提交
  6. 25 4月, 2008 1 次提交
    • M
      cfi-flash: Add CFG_FLASH_AUTOPROTECT_LIST · c63ad632
      Matthias Fuchs 提交于
      This patch adds a configurable flash auto protection list that can be used
      to make U-Boot protect flash regions in flash_init().
      
      The idea has been discussed on the u-boot mailing list starting
      on Nov 18th, 2007.
      
      Even this patch brings a new feature it is used as a bugfix for 4xx
      platforms where flash_init() does not completely protect the
      monitor's flash range in all situations.
      
      U-Boot protects the flash range from CFG_MONITOR_BASE to
      (CFG_MONITOR_BASE + monitor_flash_len  - 1) by default. This does not
      include the reset vector at 0xfffffffc.
      
      Example:
      #define CFG_FLASH_AUTOPROTECT_LIST {{0xfff80000, 0x80000}}
      
      This config option will auto protect the last 512k of flash that
      contains the bootloader on board like APC405 and PMC405.
      Signed-off-by: NMatthias Fuchs <matthias.fuchs@esd-electronics.com>
      c63ad632
  7. 21 4月, 2008 1 次提交
    • T
      PATCH - Fix oob data copied into supplied buffer · 84c01d3a
      Troy Kisky 提交于
      This patch correctly sets the oobavail variable
      and fixes a bug where the oob data was not valid when
      there where multiple groups in oobfree.
      
      First segment fixes a typo
      Second segment fixes a bug where oob data may be copied incorrectly.
      Third segment adds an error message when exiting due to write protect.
      Forth segment fixes a bug where oobavail may be set incorrectly.
      Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com>
      84c01d3a
  8. 18 4月, 2008 2 次提交
  9. 14 4月, 2008 1 次提交
  10. 12 4月, 2008 1 次提交
  11. 01 4月, 2008 2 次提交
  12. 29 3月, 2008 1 次提交
    • D
      MTD/CFI: flash_read64 is defined a weak function (for SPARC) · 97bf85d7
      Daniel Hellstrom 提交于
      SPARC has implemented __raw_readq, it reads 64-bit from any 32-bit address.
      SPARC CPUs implement flash_read64 which calls __raw_readq.
      
      For current SPARC architectures (LEON2 and LEON3) each read from the
      FLASH must lead to a cache miss. This is because FLASH can not be set
      non-cacheable since program code resides there, and alternatively disabling
      cache is poor from performance view, or doing a cache flush between each
      read is even poorer.
      
      Forcing a cache miss on a SPARC is done by a special instruction "lda" -
      load alternative space, the alternative space number (ASI) is processor
      implementation spcific and can be found by including <asm/processor.h>.
      Signed-off-by: NDaniel Hellstrom <daniel@gaisler.com>
      97bf85d7
  13. 28 3月, 2008 1 次提交
  14. 26 3月, 2008 1 次提交
    • K
      Add Flex-OneNAND booting support · 1bb707c3
      Kyungmin Park 提交于
      Flex-OneNAND is a monolithic integrated circuit with a NAND Flash array
      using a NOR Flash interface. This on-chip integration enables system designers
      to reduce external system logic and use high-density NAND Flash
      in applications that would otherwise have to use more NOR components.
      
      Flex-OneNAND enables users to configure to partition it into SLC and MLC areas
      in more flexible way. While MLC area of Flex-OneNAND can be used to store data
      that require low reliability and high density, SLC area of Flex-OneNAND
      to store data that need high reliability and high performance. Flex-OneNAND
      can let users take advantage of storing these two different types of data
      into one chip, which is making Flex-OneNAND more cost- and space-effective.
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      1bb707c3
  15. 19 3月, 2008 2 次提交
  16. 22 2月, 2008 1 次提交
    • M
      CFI: Do not use uninitialized cmd_reset · 1ba639da
      Michael Schwingen 提交于
      Do not use uninitialized cmd_reset; issue both AMD and Intel reset
      commands instead
      
      From a short test, it looks like AMD-style flash roms treat *any* unknown
      command write as a reset, at least when in CFI Query mode, so issuing the
      Intel reset command to AMD-style flashs seems safe (from the small sample I
      have), plus the 3-cycle magic sequence should kick the state machine into
      the right state even without a reset command. Since the AMD-style flashs
      require the unlock sequence for real operation, I chose to try the AMD reset
      command first, so that Intel flashs do no see an invalid command prior to
      the CFI query.
      
      I have tested the patch on AM29LV320-style flashs from Fujitsu and Macronix,
      plus Intel StrataFlash.
      Signed-off-by: NMichael Schwingen <michael@schwingen.org>
      Signed-off-by: NStefan Roese <sr@denx.de>
      1ba639da
  17. 14 2月, 2008 4 次提交
  18. 16 1月, 2008 2 次提交
  19. 13 1月, 2008 1 次提交
  20. 10 1月, 2008 1 次提交
  21. 02 1月, 2008 2 次提交
  22. 27 12月, 2007 1 次提交
  23. 17 12月, 2007 3 次提交
    • H
      cfi_flash: Add manufacturer-specific fixups · 467bcee1
      Haavard Skinnemoen 提交于
      Run fixups based on the JEDEC manufacturer ID independent of the
      command set ID.
      
      This changes current behaviour: Previously, geometry reversal for AMD
      chips were done based on the command set ID, while they are now done
      based on the JEDEC manufacturer and device ID.
      
      Also add fixup for top-boot Atmel chips. A fixup is needed for
      AT49BV6416(T) too, but since u-boot currently only reads the low byte
      of the device ID, there's no way to tell it apart from AT49BV642D,
      which should not have this fixup. Since AT49BV642D support is
      necessary to get ATNGW100 board support into mainline, I've commented
      out the fixup for now.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      467bcee1
    • H
      cfi_flash: Add cmdset-specific init functions · 0ddf06dd
      Haavard Skinnemoen 提交于
      Move things like reading JEDEC IDs and fixing up geometry reversal
      into separate functions. The geometry reversal fixup is now performed
      by altering the qry structure directly, which makes the sector init
      code slightly cleaner.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      0ddf06dd
    • H
      cfi_flash: Read whole QRY structure in one go · e23741f4
      Haavard Skinnemoen 提交于
      Read out the whole CFI Standard Query structure after successful cfi
      identification. This allows subsequent code to access this information
      directly without having to go through flash_read_uchar() and friends.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      e23741f4
  24. 13 12月, 2007 5 次提交