[U-Boot] Non standard CFI detection tweaks

Reinhard Meyer u-boot at emk-elektronik.de
Thu Aug 12 15:14:20 CEST 2010


Stefan Roese wrote:
> Hi Rogan,
> 
> On Thursday 12 August 2010 14:07:03 Rogan Dawes wrote:
>> I found the following configuration snippet for OpenOCD for the DNS323
>> at http://wiki.dns323.info/hardware:jtag:
>>
>> #          driver   addr       size     chip_width  bus_width  options
>> flash bank cfi      0xff800000 0x800000 1           2          0
>>
>> It seems that the key here is that the bus_width is set to 2, even
>> though the chip_width is only 1.
> 
> Seems not to be so uncommon: 8bit device on a 16bit external bus.

It is mostly likely a 8/16 bit wide device in 8 bit mode on an 8 bit
external bus. Then all CFI data appears twice.

Reason: the chip presents CFI data correctly (from the flash point of view)
in 16 bit mode (flash A0 connected to CPU A1). If connected in 8 bit mode
(flash A0 connected to CPU A1, flash A-1 connected to CPU A0) it still
presents the data at the same adresses but the CFI driver gets misled
because its told to try for 8 bit wide flash.

Since that was an issue long ago, I made the board/emk/common/flash.c
(CFI) driver. Anyone is welcome to add that special handling for 16 bit
flash connected in 8 bit mode to the general CFI driver :)

Best Regards,
Reinhard


More information about the U-Boot mailing list