26 Aug, 2010

1 commit


23 Aug, 2010

3 commits


19 Aug, 2010

2 commits


18 Aug, 2010

4 commits

  • I have "ported" U-boot to a in house made board with Numonyx Axcell P33/P30
    256-Mbit 65nm flash chips.

    After some time :( searching for bugs in our board or soft, we have
    discovered that those chips have a small but annoying bug, documented in
    "Numonyx Axcell P33/P30 256-Mbit Specification Update"

    It states :
    When customer uses [...] block unlock, the block lock status might be
    altered inadvertently. Lock status might be set to either 01h or 03h
    unexpectedly (00h as expected data), which leads to program/erase failure
    on certain blocks.

    A working workaround is given, which I have applied and tested with success :

    Workaround: If the interval between 60h and its subsequent command
    can be guaranteed within 20us, Option I is recommended,
    otherwise Option II (involves hardware) should be selected.
    Option I: The table below lists the detail command sequences:
    Command
    Data bus Address bus Remarks
    Sequence
    1 90h Block Address
    Read Lock Status
    2 Read Block Address + 02h
    (2)(3) (1)
    3 60h Block Address
    (2)(3) (1) Lock/Unlock/RCR Configuration
    4 D0h/01h/03h Block Address
    Notes:
    (1) Block Address refers to RCR configuration data only when the 60h
    command sequence is used to set RCR register combined with 03h
    subsequent command.
    (2) For the third and fourth command sequences, the Block Address must
    be the same.
    (3) The interval between 60h command and its subsequent D0h/01h/2Fh/03h
    commands should be less than 20us.

    And here is a log comparison of a simple (destructive) flash test without
    and with the workaround.

    diff without-numonyx-workaround.log with-numonyx-workaround.log
    -U-Boot 2010.06-00696-g22b002c-dirty (Aug 16 2010 - 15:07:47)
    +U-Boot 2010.06-00696-g22b002c-dirty (Aug 16 2010 - 15:25:19)

    CPU: Freescale MCF5484
    CPU CLK 200 MHz BUS CLK 100 MHz
    Board: Macq Electronique ME2060
    I2C: ready
    DRAM: 64 MiB
    FLASH: 32 MiB
    In: serial
    Out: serial
    Err: serial
    Net: FEC0, FEC1
    -> flinfo

    Bank # 1: CFI conformant FLASH (16 x 16) Size: 32 MB in 259 Sectors
    Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x8922
    Erase timeout: 4096 ms, write timeout: 1 ms
    Buffer write timeout: 5 ms, buffer size: 1024 bytes

    Sector Start Addresses:
    FE000000 RO FE008000 RO FE010000 RO FE018000 RO FE020000 RO
    FE040000 RO FE060000 RO FE080000 RO FE0A0000 RO FE0C0000 RO
    ...
    FFF80000 RO FFFA0000 RO FFFC0000 RO FFFE0000 RO
    -> protect off all
    Un-Protect Flash Bank # 1
    ................... done
    -> erase all
    Erase Flash Bank # 1
    ................... done
    -> cp.b 1000000 fe000000 2000000
    -Copy to Flash... Flash not Erased
    +Copy to Flash... done
    ->

    Signed-off-by: Philippe De Muyter
    Signed-off-by: Stefan Roese

    Philippe De Muyter
     
  • This patch does the following:

    - Extract code to detect if sector is erased into function
    sector_erased().
    - Because of this, we don't have variable declarations inside the
    sector loop in flash_print_info()
    - Change "return" to "break" in the "if (ctrlc()) statement:
    This fixes a problem with the resulting output. Before this
    patch the output was:

    Sector Start Addresses:
    FC000000 FC020000 FC040000 =>

    With this patch it is now:

    Sector Start Addresses:
    FC000000 FC020000 FC040000
    =>

    Signed-off-by: Stefan Roese
    Cc: Kim Phillips
    Cc: Wolfgang Denk

    Stefan Roese
     
  • Fix reading and printing of CFI flashes 16-bit devices identifiers

    Nowadays CFI flashes have a 16-bit device identifier. U-boot still
    print them and read them as if they were only 8-bit wide. Fix that.
    Before:
    Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x1B
    After:
    Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x881B

    Signed-off-by: Philippe De Muyter
    Signed-off-by: Stefan Roese

    Philippe De Muyter
     
  • flashes getting larger, users more impatient.

    Signed-off-by: Kim Phillips
    Signed-off-by: Stefan Roese

    Kim Phillips
     

14 Aug, 2010

1 commit

  • Currently, if there is an error probing the NAND chip and the env is based
    in NAND, the readenv() function will use a NULL function pointer and thus
    jump to address 0.

    Here I just check for a non-zero value of blocksize as that shouldn't be
    zero when a valid device is found, but perhaps there is a better way for
    someone familiar with the NAND internals to suggest.

    Signed-off-by: Mike Frysinger
    Tested-by: Ben Gardiner

    Mike Frysinger
     

13 Aug, 2010

1 commit


12 Aug, 2010

5 commits

  • The "usb help" doesn't format the output correctly:

    => help usb
    usb - USB sub-system

    Usage:
    usb reset - reset (rescan) USB controller
    usb stop [f] - stop USB [f]=force stop
    usb tree - show USB device tree
    usb info [dev] - show available USB devices
    usb storage - show details of USB storage devices
    usb dev [dev] - show or set current USB storage device
    usb part [dev] - print partition table of one or all USB storage devices
    usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'
    to memory address `addr'usb write addr blk# cnt - write `cnt'
    blocks starting at block `blk#' from memory address `addr'
    =>

    With fix below applied, the output is correct:

    => help usb
    usb - USB sub-system

    Usage:
    usb reset - reset (rescan) USB controller
    usb stop [f] - stop USB [f]=force stop
    usb tree - show USB device tree
    usb info [dev] - show available USB devices
    usb storage - show details of USB storage devices
    usb dev [dev] - show or set current USB storage device
    usb part [dev] - print partition table of one or all USB storage devices
    usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'
    to memory address `addr'
    usb write addr blk# cnt - write `cnt' blocks starting at block `blk#'
    from memory address `addr'
    =>

    Signed-off-by: Sergei Poselenov

    Sergei Poselenov
     
  • Enabling USB HOST in defconfig.

    Signed-off-by: Ajay Kumar Gupta

    Ajay Kumar Gupta
     
  • AM35x supports only 32bit read operations so we need to have
    workaround for 8bit and 16bit read operations.

    Signed-off-by: Ajay Kumar Gupta

    Ajay Kumar Gupta
     
  • Tested MSC Host on AM3517EVM.

    Signed-off-by: Ajay Kumar Gupta

    Ajay Kumar Gupta
     
  • Adding general register structure of system control module (SCM)
    of AM35x. This would be required to access devconf2 and ip_sw_reset
    register in musb module.

    Signed-off-by: Ajay Kumar Gupta

    Ajay Kumar Gupta
     

11 Aug, 2010

11 commits


10 Aug, 2010

9 commits

  • get_timer_masked() should return current timestamp,
    not current ticks from hardware register.

    Tested on one custom board with NAND flash.
    Without this patch, NAND write always TIMEOUT
    because get_timer(0) return a big value.

    This patch applies for u-boot-2010.06

    Signed-off-by: Li Haibo

    Li Haibo
     
  • Remove warning for missing " at the end of line 136

    Signed-off-by: Reinhard Meyer

    Reinhard Meyer
     
  • Commit 6e37b1a3a25004d3df5867de49fff6b3fc9c4f04 modifies several net calls
    to take a (const char *) parameter instead of (char *), but in some cases
    the modified functions call other functions taking (char *). The end result
    is warnings about discarding the const qualifier.

    This patch fixes these other function signatures.

    Signed-off-by: Ben Warren

    Ben Warren
     
  • For code that uses miiphy_{read,write}, every call invokes a full look up
    of the mii list. There is already a "current_mii" cache that is used by
    some code, but have the miiphy_{read,write} function use it as well. This
    does increase the code size slightly, but I think it's worth it.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Ben Warren

    Mike Frysinger
     
  • Rather than have every func re-implement the list walking code, do it one
    local function. This shrinks the resulting object code a little while
    making the source much more manageable.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Ben Warren

    Mike Frysinger
     
  • The driver name does not need to be writable, so constify it.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Ben Warren

    Mike Frysinger
     
  • continuation of commit 2ecc2262d66a286e3aac79005bcb5f461312dea8
    "net ppc: fix ethernet device names with spaces" (currently in
    u-boot-net.git) for QE based parts.

    Signed-off-by: Kim Phillips
    Acked-by: Dave Liu
    Signed-off-by: Ben Warren

    Kim Phillips
     
  • since commit 1384f3bb8a4f9066805b70c1418eda78ecb73fdd ethernet names
    with spaces drop a

    Warning: eth device name has a space!

    message. This patch fix it for:

    - "FEC ETHERNET" devices found on
    mpc512x, mpc5xxx, mpc8xx and mpc8220 boards.
    renamed to "FEC".
    - "SCC ETHERNET" devices found on
    mpc8xx, mpc82xx based boards. Renamed to "SCC".
    - "HDLC ETHERNET" devices found on mpc8xx boards
    Renamed to "HDLC"
    - "FCC ETHERNET" devices found on mpc8260 and mpc85xx based
    boards. Renamed to "FCC"

    Tested on the kup4k board.

    Signed-off-by: Heiko Schocher
    Signed-off-by: Ben Warren

    Heiko Schocher
     
  • After discussion on the ML it is suggested to drop unrequired
    and not useful characters from the device name.
    This patch changes the name for the fec_mxc driver from
    "FEC_MXC" to "FEC".

    Signed-off-by: Stefano Babic
    Signed-off-by: Ben Warren

    Stefano Babic
     

09 Aug, 2010

3 commits