• J
    cfi_flash: Fix detection of 8-bit bus flash devices via address shift · 53879b17
    Jagannadha Sutradharudu Teki 提交于
    We had a problem detecting 8/16bit flash devices connected only via
    8bits to the SoC for quite a while. Commit 239cb9d9
    [mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support] finally
    fixed this 8-bit bus support. But also broke some other boards using
    this cfi driver. So this patch had to be reverted.
    
    I spotted a different, simpler approach for this 8-bit bus support
    on the barebox mailing list posted by
    Oleksij Rempel <bug-track@fisher-privat.net>:
    
    http://www.spinics.net/lists/u-boot-v2/msg14687.html
    
    Here the commit text:
    
    "
    Many cfi chips support 16 and 8 bit modes. Most important
    difference is use of so called "Q15/A-1" pin. In 16bit mode this
    pin is used for data IO. In 8bit mode, it is an address input
    which add one more least significant bit (LSB). In this case
    we should shift all adresses by one:
    For example 0xaa << 1 = 0x154
    "
    
    This patch now is a port of this barebox patch to U-Boot.
    
    Along with the change w.r.t from barebox,
    Some flash chips can support multiple bus widths, override the
    interface width and limit it to the port width.
    
    Tested on 16-bit Spansion flash on sequoia.
    Tested 8-bit flashes like 256M29EW, 512M29EW.
    Signed-off-by: NStefan Roese <sr@denx.de>
    Tested-by: NJagannadha Sutradharudu Teki <jaganna@xilinx.com>
    Cc: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
    Cc: Aaron Williams <awilliams@marvell.com>
    Cc: Chandrakala Chavva <cchavva@marvell.com>
    Cc: Andre Przywara <andre.przywara@arm.com>
    Cc: Vignesh Raghavendra <vigneshr@ti.com>
    Cc: Simon Glass <sjg@chromium.org>
    Cc: Mario Six <mario.six@gdsys.cc>
    Cc: York Sun <york.sun@nxp.com>
    Cc: Marek Vasut <marek.vasut+renesas@gmail.com>
    53879b17
flash.h 23.9 KB