mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-14 06:26:13 -04:00
cfi_flash: Add weak default for cfi_flash_bank_addr()
cfi_flash_bank_addr(int bank_nr) returns the base addresses of the requested bank. Introducing this weak default enables boards to override this functions with a board specific version when required. This feature will be used in the lwmon5 board update, supporting runtime detection of 2 board revisions with different flash layouts. Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
cba34aafde
commit
b00e19cc6b
@ -85,6 +85,13 @@ flash_info_t flash_info[CFI_MAX_FLASH_BANKS]; /* FLASH chips info */
|
|||||||
#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_8BIT
|
#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_8BIT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static phys_addr_t __cfi_flash_bank_addr(int i)
|
||||||
|
{
|
||||||
|
return ((phys_addr_t [])CONFIG_SYS_FLASH_BANKS_LIST)[i];
|
||||||
|
}
|
||||||
|
phys_addr_t cfi_flash_bank_addr(int i)
|
||||||
|
__attribute__((weak, alias("__cfi_flash_bank_addr")));
|
||||||
|
|
||||||
static void __flash_write8(u8 value, void *addr)
|
static void __flash_write8(u8 value, void *addr)
|
||||||
{
|
{
|
||||||
__raw_writeb(value, addr);
|
__raw_writeb(value, addr);
|
||||||
@ -2021,14 +2028,12 @@ unsigned long flash_init (void)
|
|||||||
getenv_f("unlock", s, sizeof(s));
|
getenv_f("unlock", s, sizeof(s));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BANK_BASE(i) (((phys_addr_t [CFI_MAX_FLASH_BANKS])CONFIG_SYS_FLASH_BANKS_LIST)[i])
|
|
||||||
|
|
||||||
/* Init: no FLASHes known */
|
/* Init: no FLASHes known */
|
||||||
for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
|
for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
|
||||||
flash_info[i].flash_id = FLASH_UNKNOWN;
|
flash_info[i].flash_id = FLASH_UNKNOWN;
|
||||||
|
|
||||||
if (!flash_detect_legacy (BANK_BASE(i), i))
|
if (!flash_detect_legacy(cfi_flash_bank_addr(i), i))
|
||||||
flash_get_size (BANK_BASE(i), i);
|
flash_get_size(cfi_flash_bank_addr(i), i);
|
||||||
size += flash_info[i].size;
|
size += flash_info[i].size;
|
||||||
if (flash_info[i].flash_id == FLASH_UNKNOWN) {
|
if (flash_info[i].flash_id == FLASH_UNKNOWN) {
|
||||||
#ifndef CONFIG_SYS_FLASH_QUIET_TEST
|
#ifndef CONFIG_SYS_FLASH_QUIET_TEST
|
||||||
|
Loading…
x
Reference in New Issue
Block a user