[PATCH v1 3/5] mtd: cfi: change CONFIG_SYS_MAX_FLASH_BANKS_DETECT as boolean

Stefan Roese sr at denx.de
Wed Jan 5 09:43:21 CET 2022


On 1/4/22 14:23, Patrick Delaunay wrote:
> Prepare migration to Kconfig.
> 
> CONFIG_SYS_MAX_FLASH_BANKS_DETECT becomes boolean and
> CONFIG_SYS_MAX_FLASH_BANKS define the MAX size, also used
> for detection when CONFIG_SYS_MAX_FLASH_BANKS_DETECT=y
> (CFI_MAX_FLASH_BANKS = CONFIG_SYS_MAX_FLASH_BANKS).
> 
> CONFIG_SYS_MAX_FLASH_BANKS become mandatory when
> CONFIG_SYS_MAX_FLASH_BANKS_DETECT is activated.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
> 
> Changes in v1:
> - solve issue in cfi_flash.h, with
>    CFI_FLASH_BANKS=CONFIG_SYS_MAX_FLASH_BANKS_DETECT
> 
>   drivers/mtd/cfi_flash.c          |  2 +-
>   include/configs/3c120_devboard.h |  3 ++-
>   include/configs/adp-ae3xx.h      |  4 +---
>   include/configs/adp-ag101p.h     |  2 --
>   include/configs/ax25-ae350.h     |  4 +---
>   include/configs/bmips_bcm6338.h  |  3 ++-
>   include/configs/bmips_bcm6348.h  |  3 ++-
>   include/configs/bmips_bcm6358.h  |  3 ++-
>   include/configs/bmips_bcm6368.h  |  3 ++-
>   include/configs/boston.h         |  4 +++-
>   include/configs/draak.h          |  3 ++-
>   include/configs/ebisu.h          |  3 ++-
>   include/configs/j721e_evm.h      |  3 ++-
>   include/configs/mccmon6.h        |  3 ++-
>   include/configs/qemu-arm.h       |  3 ++-
>   include/configs/salvator-x.h     |  3 ++-
>   include/configs/ulcb.h           |  3 ++-
>   include/mtd/cfi_flash.h          | 10 +++++-----
>   18 files changed, 35 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
> index 71cefc125f..aae3ea0d1b 100644
> --- a/drivers/mtd/cfi_flash.c
> +++ b/drivers/mtd/cfi_flash.c
> @@ -96,7 +96,7 @@ static u16 cfi_flash_config_reg(int i)
>   }
>   
>   #if defined(CONFIG_SYS_MAX_FLASH_BANKS_DETECT)
> -int cfi_flash_num_flash_banks = CONFIG_SYS_MAX_FLASH_BANKS_DETECT;
> +int cfi_flash_num_flash_banks = CFI_MAX_FLASH_BANKS;
>   #else
>   int cfi_flash_num_flash_banks;
>   #endif
> diff --git a/include/configs/3c120_devboard.h b/include/configs/3c120_devboard.h
> index f7ad7efb0d..e52fedcf39 100644
> --- a/include/configs/3c120_devboard.h
> +++ b/include/configs/3c120_devboard.h
> @@ -20,7 +20,8 @@
>    * CFI Flash
>    */
>   #define CONFIG_SYS_CFI_FLASH_STATUS_POLL /* fix amd flash issue */
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	512
>   
>   /*
> diff --git a/include/configs/adp-ae3xx.h b/include/configs/adp-ae3xx.h
> index 58e8526048..11eff3852d 100644
> --- a/include/configs/adp-ae3xx.h
> +++ b/include/configs/adp-ae3xx.h
> @@ -156,7 +156,7 @@
>   
>   /* support JEDEC */
>   #ifdef CONFIG_CFI_FLASH
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #endif
>   
>   /* Do not use CONFIG_FLASH_CFI_LEGACY to detect on board flash */
> @@ -173,9 +173,7 @@
>    * There are 4 banks supported for this Controller,
>    * but we have only 1 bank connected to flash on board
>    */
> -#ifndef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_BANKS	1
> -#endif
>   #define CONFIG_SYS_FLASH_BANKS_SIZES {0x4000000}
>   
>   /* max number of sectors on one chip */
> diff --git a/include/configs/adp-ag101p.h b/include/configs/adp-ag101p.h
> index 1022764985..31ef30adc6 100644
> --- a/include/configs/adp-ag101p.h
> +++ b/include/configs/adp-ag101p.h
> @@ -286,9 +286,7 @@
>    * There are 4 banks supported for this Controller,
>    * but we have only 1 bank connected to flash on board
>    */
> -#ifndef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_BANKS	1
> -#endif
>   #define CONFIG_SYS_FLASH_BANKS_SIZES {0x4000000}
>   
>   /* max number of sectors on one chip */
> diff --git a/include/configs/ax25-ae350.h b/include/configs/ax25-ae350.h
> index 1c3f957d32..2ad0d1589c 100644
> --- a/include/configs/ax25-ae350.h
> +++ b/include/configs/ax25-ae350.h
> @@ -80,7 +80,7 @@
>   
>   /* support JEDEC */
>   #ifdef CONFIG_CFI_FLASH
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #endif/* Do not use CONFIG_FLASH_CFI_LEGACY to detect on board flash */
>   #define PHYS_FLASH_1			0x88000000	/* BANK 0 */
>   #define CONFIG_SYS_FLASH_BASE		PHYS_FLASH_1
> @@ -95,9 +95,7 @@
>    * There are 4 banks supported for this Controller,
>    * but we have only 1 bank connected to flash on board
>   */
> -#ifndef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_BANKS	1
> -#endif
>   #define CONFIG_SYS_FLASH_BANKS_SIZES {0x4000000}
>   
>   /* max number of sectors on one chip */
> diff --git a/include/configs/bmips_bcm6338.h b/include/configs/bmips_bcm6338.h
> index 6eaca1c31b..b7de3f4058 100644
> --- a/include/configs/bmips_bcm6338.h
> +++ b/include/configs/bmips_bcm6338.h
> @@ -22,6 +22,7 @@
>   
>   #define CONFIG_SYS_FLASH_BASE			0xbfc00000
>   #define CONFIG_SYS_FLASH_EMPTY_INFO
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS		1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   
>   #endif /* __CONFIG_BMIPS_BCM6338_H */
> diff --git a/include/configs/bmips_bcm6348.h b/include/configs/bmips_bcm6348.h
> index 5bfbcb779b..5ed0eebce4 100644
> --- a/include/configs/bmips_bcm6348.h
> +++ b/include/configs/bmips_bcm6348.h
> @@ -29,6 +29,7 @@
>   
>   #define CONFIG_SYS_FLASH_BASE			0xbfc00000
>   #define CONFIG_SYS_FLASH_EMPTY_INFO
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS		1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   
>   #endif /* __CONFIG_BMIPS_BCM6348_H */
> diff --git a/include/configs/bmips_bcm6358.h b/include/configs/bmips_bcm6358.h
> index f8c81f698d..829e9f6b17 100644
> --- a/include/configs/bmips_bcm6358.h
> +++ b/include/configs/bmips_bcm6358.h
> @@ -31,6 +31,7 @@
>   
>   #define CONFIG_SYS_FLASH_BASE			0xbe000000
>   #define CONFIG_SYS_FLASH_EMPTY_INFO
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   
>   #endif /* __CONFIG_BMIPS_BCM6358_H */
> diff --git a/include/configs/bmips_bcm6368.h b/include/configs/bmips_bcm6368.h
> index 7d321e14ff..0952b98473 100644
> --- a/include/configs/bmips_bcm6368.h
> +++ b/include/configs/bmips_bcm6368.h
> @@ -31,6 +31,7 @@
>   
>   #define CONFIG_SYS_FLASH_BASE			0xb8000000
>   #define CONFIG_SYS_FLASH_EMPTY_INFO
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   
>   #endif /* __CONFIG_BMIPS_BCM6368_H */
> diff --git a/include/configs/boston.h b/include/configs/boston.h
> index cd70e7bd32..7ac044e929 100644
> --- a/include/configs/boston.h
> +++ b/include/configs/boston.h
> @@ -40,7 +40,9 @@
>   /*
>    * Flash
>    */
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT		1024
>   
>   /*
> diff --git a/include/configs/draak.h b/include/configs/draak.h
> index d28cc9d336..412c57f150 100644
> --- a/include/configs/draak.h
> +++ b/include/configs/draak.h
> @@ -23,7 +23,8 @@
>   #define CONFIG_FLASH_SHOW_PROGRESS	45
>   #define CONFIG_SYS_FLASH_BANKS_LIST	{ 0x08000000 }
>   #define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	256
>   #define CONFIG_SYS_WRITE_SWAPPED_DATA
>   
> diff --git a/include/configs/ebisu.h b/include/configs/ebisu.h
> index 081d5e9aaa..87053760e2 100644
> --- a/include/configs/ebisu.h
> +++ b/include/configs/ebisu.h
> @@ -26,7 +26,8 @@
>   #define CONFIG_SYS_FLASH_QUIET_TEST
>   #define CONFIG_SYS_FLASH_BANKS_LIST	{ 0x08000000 }
>   #define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	256
>   #define CONFIG_SYS_WRITE_SWAPPED_DATA
>   
> diff --git a/include/configs/j721e_evm.h b/include/configs/j721e_evm.h
> index 10555d1a6c..acac81ad68 100644
> --- a/include/configs/j721e_evm.h
> +++ b/include/configs/j721e_evm.h
> @@ -60,7 +60,8 @@
>   #define CONFIG_CQSPI_REF_CLK		133333333
>   
>   /* HyperFlash related configuration */
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   
>   /* U-Boot general configuration */
>   #define EXTRA_ENV_J721E_BOARD_SETTINGS					\
> diff --git a/include/configs/mccmon6.h b/include/configs/mccmon6.h
> index 11b9ceb547..aa95864516 100644
> --- a/include/configs/mccmon6.h
> +++ b/include/configs/mccmon6.h
> @@ -37,7 +37,8 @@
>   #define CONFIG_FLASH_VERIFY
>   
>   /* NOR Flash MTD */
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_FLASH_BANKS_LIST	{ (CONFIG_SYS_FLASH_BASE) }
>   #define CONFIG_SYS_FLASH_BANKS_SIZES	{ (32 * SZ_1M) }
>   
> diff --git a/include/configs/qemu-arm.h b/include/configs/qemu-arm.h
> index 1287fd1671..fe958ef3c5 100644
> --- a/include/configs/qemu-arm.h
> +++ b/include/configs/qemu-arm.h
> @@ -42,7 +42,8 @@
>   #define CONFIG_SYS_CBSIZE 512
>   
>   #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	2
> +#define CONFIG_SYS_MAX_FLASH_BANKS	2
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	256 /* Sector: 256K, Bank: 64M */
>   #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
>   
> diff --git a/include/configs/salvator-x.h b/include/configs/salvator-x.h
> index c29b34e231..da3e2c8856 100644
> --- a/include/configs/salvator-x.h
> +++ b/include/configs/salvator-x.h
> @@ -24,7 +24,8 @@
>   #define CONFIG_SYS_FLASH_QUIET_TEST
>   #define CONFIG_SYS_FLASH_BANKS_LIST	{ 0x08000000 }
>   #define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	256
>   #define CONFIG_SYS_WRITE_SWAPPED_DATA
>   
> diff --git a/include/configs/ulcb.h b/include/configs/ulcb.h
> index bdd6b4b0d9..c22c30c86f 100644
> --- a/include/configs/ulcb.h
> +++ b/include/configs/ulcb.h
> @@ -24,7 +24,8 @@
>   #define CONFIG_SYS_FLASH_QUIET_TEST
>   #define CONFIG_SYS_FLASH_BANKS_LIST	{ 0x08000000 }
>   #define CONFIG_SYS_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
> -#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS	1
> +#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #define CONFIG_SYS_MAX_FLASH_SECT	256
>   #define CONFIG_SYS_WRITE_SWAPPED_DATA
>   
> diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h
> index d62c8f18fc..d4aeea7e46 100644
> --- a/include/mtd/cfi_flash.h
> +++ b/include/mtd/cfi_flash.h
> @@ -158,19 +158,19 @@ struct cfi_pri_hdr {
>    * cfi_flash_num_flash_banks when CONFIG_SYS_MAX_FLASH_BANKS_DETECT is defined
>    * or CONFIG_SYS_MAX_FLASH_BANKS
>    */
> +#define CFI_MAX_FLASH_BANKS	CONFIG_SYS_MAX_FLASH_BANKS
> +
>   #if defined(CONFIG_SYS_MAX_FLASH_BANKS_DETECT)
> -#define CFI_MAX_FLASH_BANKS	CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   /* map to cfi_flash_num_flash_banks only when supported */
>   #if IS_ENABLED(CONFIG_FLASH_CFI_DRIVER) && \
>       (!IS_ENABLED(CONFIG_SPL_BUILD) || IS_ENABLED(CONFIG_SPL_MTD_SUPPORT))
>   #define CFI_FLASH_BANKS		(cfi_flash_num_flash_banks)
>   /* board code can update this variable before CFI detection */
>   extern int cfi_flash_num_flash_banks;
> -#else
> -#define CFI_FLASH_BANKS		CONFIG_SYS_MAX_FLASH_BANKS_DETECT
>   #endif
> -#else
> -#define CFI_MAX_FLASH_BANKS	CONFIG_SYS_MAX_FLASH_BANKS
> +#endif
> +/* default when bank detection is not supported */
> +#ifndef CFI_FLASH_BANKS
>   #define CFI_FLASH_BANKS		CONFIG_SYS_MAX_FLASH_BANKS
>   #endif
>   
> 

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list