diff options
author | Stefan Roese <sr@denx.de> | 2010-08-31 10:00:10 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2010-09-20 15:08:51 +0200 |
commit | ca5def3f30860a97cc76453eb846fffbde997035 (patch) | |
tree | 132a5e8730901525b6d4eea0cda055a703eb5d84 /include/mtd/cfi_flash.h | |
parent | b00e19cc6b99fdd0a2b2760f225465d0998ef88f (diff) | |
download | u-boot-imx-ca5def3f30860a97cc76453eb846fffbde997035.zip u-boot-imx-ca5def3f30860a97cc76453eb846fffbde997035.tar.gz u-boot-imx-ca5def3f30860a97cc76453eb846fffbde997035.tar.bz2 |
cfi_flash: Simplify dynamic flash bank number detection
This patch simplifies the use of CONFIG_SYS_MAX_FLASH_BANKS_DETECT. By
moving these optional variables and defines into the common code, board
specific code is minimized. Currently only the following board use
this feature:
APC405, IDS8247, TQM834x
And IDS8247 doesn't seem to really need this feature, since its not
updating the bank number variable at all. So this patch removes the
definition of CONFIG_SYS_MAX_FLASH_BANKS_DETECT from this board port.
This new framework will be used by the upcoming lwmon5 update as well.
Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
Diffstat (limited to 'include/mtd/cfi_flash.h')
-rw-r--r-- | include/mtd/cfi_flash.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h index 2aa6911..2ff00f2 100644 --- a/include/mtd/cfi_flash.h +++ b/include/mtd/cfi_flash.h @@ -151,6 +151,24 @@ struct cfi_pri_hdr { u8 minor_version; } __attribute__((packed)); +#ifndef CONFIG_SYS_FLASH_BANKS_LIST +#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } +#endif + +/* + * CFI_MAX_FLASH_BANKS only used for flash_info struct declaration. + * + * Use CONFIG_SYS_MAX_FLASH_BANKS_DETECT if defined + */ +#if defined(CONFIG_SYS_MAX_FLASH_BANKS_DETECT) +#define CONFIG_SYS_MAX_FLASH_BANKS (cfi_flash_num_flash_banks) +#define CFI_MAX_FLASH_BANKS CONFIG_SYS_MAX_FLASH_BANKS_DETECT +/* board code can update this variable before CFI detection */ +extern int cfi_flash_num_flash_banks; +#else +#define CFI_MAX_FLASH_BANKS CONFIG_SYS_MAX_FLASH_BANKS +#endif + void flash_write_cmd(flash_info_t * info, flash_sect_t sect, uint offset, u32 cmd); |