[U-Boot] Non standard CFI detection tweaks
Rogan Dawes
rogan at dawes.za.net
Thu Aug 12 14:07:03 CEST 2010
On 2010/07/20 9:58 AM, Stefan Roese wrote:
>
> OK, so the width is definitely 8 bit and not 16 bit:
>
> static struct physmap_flash_data dns323_nor_flash_data = {
> .width = 1,
> ...
>
> But the base address is listed here as 0xf4000000:
>
> #define DNS323_NOR_BOOT_BASE 0xf4000000
>
> Are you sure you got this right? Nevertheless, now we know for sure, that the
> NOR chip is connected as an 8bit device and the chip is operated in byte mode.
> So all tests from the U-Boot prompt should be done with ".b" extension.
Hi Stefan,
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.
Also, the flash address is still 0xff800000, even though the kernel has
it as 0xf4000000. I guess this is because only a certain number of
address lines are actually connected through to the flash chip, and so
the chip can appear in multiple places?
Does that make any more sense? Is it possible that the CFI code in
U-Boot doesn't consider the case when bus_width == 2?
Regards,
Rogan
More information about the U-Boot
mailing list