u-boot/doc/README.cfi
Tom Rini 65cc0e2a65 global: Move remaining CONFIG_SYS_* to CFG_SYS_*
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do
not easily transition to Kconfig. In many cases they likely should come
from the device tree instead. Move these out of CONFIG namespace and in
to CFG namespace.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-12-05 16:06:08 -05:00

64 lines
1.8 KiB
Plaintext

The common CFI driver provides this weak default implementation for
flash_cmd_reset():
static void __flash_cmd_reset(flash_info_t *info)
{
/*
* We do not yet know what kind of commandset to use, so we issue
* the reset command in both Intel and AMD variants, in the hope
* that AMD flash roms ignore the Intel command.
*/
flash_write_cmd(info, 0, 0, AMD_CMD_RESET);
udelay(1);
flash_write_cmd(info, 0, 0, FLASH_CMD_RESET);
}
void flash_cmd_reset(flash_info_t *info)
__attribute__((weak,alias("__flash_cmd_reset")));
Some flash chips seem to have trouble with this reset sequence.
In this case, board-specific code can override this weak default
version with a board-specific function.
At the time of writing, there are two boards that define their own
routine for this.
First, the digsy_mtc board equipped with the M29W128GH from Numonyx
needs this version to function properly:
void flash_cmd_reset(flash_info_t *info)
{
flash_write_cmd(info, 0, 0, AMD_CMD_RESET);
}
In addition, the t3corp board defines the routine thusly:
void flash_cmd_reset(flash_info_t *info)
{
/*
* FLASH at address CFG_SYS_FLASH_BASE is a Spansion chip and
* needs the Spansion type reset commands. The other flash chip
* is located behind a FPGA (Xilinx DS617) and needs the Intel type
* reset command.
*/
if (info->start[0] == CFG_SYS_FLASH_BASE)
flash_write_cmd(info, 0, 0, AMD_CMD_RESET);
else
flash_write_cmd(info, 0, 0, FLASH_CMD_RESET);
}
see also:
http://www.mail-archive.com/u-boot@lists.denx.de/msg24368.html
Config Option
CONFIG_SYS_MAX_FLASH_SECT: Number of sectors available on Flash device
CONFIG_SYS_FLASH_CFI_WIDTH: Data-width of the flash device
CONFIG_CMD_FLASH: Enables Flash command library
CONFIG_FLASH_CFI_DRIVER: Enables CFI Flash driver
CONFIG_FLASH_CFI_MTD: Enables MTD frame work for NOR Flash devices