Finish conversion CONFIG_SYS_NAND_SELF_INIT to Kconfig

In order to finish this conversion we need to add a symbols for
SPL_SYS_NAND_SELF_INIT and TPL_SYS_NAND_SELF_INIT as there are cases
there where we need to, or need to not, use that framework as things
stand.

Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tom Rini 2021-12-12 22:12:36 -05:00
parent bfb5387fe9
commit 068c41f1cc
12 changed files with 31 additions and 32 deletions

View File

@ -9,6 +9,20 @@ config SYS_NAND_SELF_INIT
This option, if enabled, provides more flexible and linux-like This option, if enabled, provides more flexible and linux-like
NAND initialization process. NAND initialization process.
config SPL_SYS_NAND_SELF_INIT
bool
depends on !SPL_NAND_SIMPLE
help
This option, if enabled, provides more flexible and linux-like
NAND initialization process, in SPL.
config TPL_SYS_NAND_SELF_INIT
bool
depends on TPL_NAND_SUPPORT
help
This option, if enabled, provides more flexible and linux-like
NAND initialization process, in SPL.
config SYS_NAND_DRIVER_ECC_LAYOUT config SYS_NAND_DRIVER_ECC_LAYOUT
bool "Omit standard ECC layouts to save space" bool "Omit standard ECC layouts to save space"
help help
@ -22,6 +36,7 @@ config SYS_NAND_USE_FLASH_BBT
config NAND_ATMEL config NAND_ATMEL
bool "Support Atmel NAND controller" bool "Support Atmel NAND controller"
select SYS_NAND_SELF_INIT
imply SYS_NAND_USE_FLASH_BBT imply SYS_NAND_USE_FLASH_BBT
help help
Enable this driver for NAND flash platforms using an Atmel NAND Enable this driver for NAND flash platforms using an Atmel NAND
@ -65,6 +80,7 @@ endif
config NAND_BRCMNAND config NAND_BRCMNAND
bool "Support Broadcom NAND controller" bool "Support Broadcom NAND controller"
depends on OF_CONTROL && DM && DM_MTD depends on OF_CONTROL && DM && DM_MTD
select SYS_NAND_SELF_INIT
help help
Enable the driver for NAND flash on platforms using a Broadcom NAND Enable the driver for NAND flash on platforms using a Broadcom NAND
controller. controller.
@ -101,6 +117,7 @@ config NAND_BRCMNAND_63158
config NAND_DAVINCI config NAND_DAVINCI
bool "Support TI Davinci NAND controller" bool "Support TI Davinci NAND controller"
select SYS_NAND_SELF_INIT if TARGET_DA850EVM
help help
Enable this driver for NAND flash controllers available in TI Davinci Enable this driver for NAND flash controllers available in TI Davinci
and Keystone2 platforms and Keystone2 platforms
@ -128,18 +145,25 @@ config NAND_DENALI_DT
config NAND_FSL_ELBC config NAND_FSL_ELBC
bool "Support Freescale Enhanced Local Bus Controller FCM NAND driver" bool "Support Freescale Enhanced Local Bus Controller FCM NAND driver"
select TPL_SYS_NAND_SELF_INIT if TPL_NAND_SUPPORT
select SPL_SYS_NAND_SELF_INIT
select SYS_NAND_SELF_INIT
depends on FSL_ELBC depends on FSL_ELBC
help help
Enable the Freescale Enhanced Local Bus Controller FCM NAND driver. Enable the Freescale Enhanced Local Bus Controller FCM NAND driver.
config NAND_FSL_IFC config NAND_FSL_IFC
bool "Support Freescale Integrated Flash Controller NAND driver" bool "Support Freescale Integrated Flash Controller NAND driver"
select TPL_SYS_NAND_SELF_INIT if TPL_NAND_SUPPORT
select SPL_SYS_NAND_SELF_INIT
select SYS_NAND_SELF_INIT
select FSL_IFC select FSL_IFC
help help
Enable the Freescale Integrated Flash Controller NAND driver. Enable the Freescale Integrated Flash Controller NAND driver.
config NAND_LPC32XX_MLC config NAND_LPC32XX_MLC
bool "Support LPC32XX_MLC controller" bool "Support LPC32XX_MLC controller"
select SYS_NAND_SELF_INIT
help help
Enable the LPC32XX MLC NAND controller. Enable the LPC32XX MLC NAND controller.
@ -331,6 +355,7 @@ config NAND_SUNXI
select SYS_NAND_SELF_INIT select SYS_NAND_SELF_INIT
select SYS_NAND_U_BOOT_LOCATIONS select SYS_NAND_U_BOOT_LOCATIONS
select SPL_NAND_SUPPORT select SPL_NAND_SUPPORT
select SPL_SYS_NAND_SELF_INIT
imply CMD_NAND imply CMD_NAND
---help--- ---help---
Enable support for NAND. This option enables the standard and Enable support for NAND. This option enables the standard and
@ -375,6 +400,7 @@ config NAND_MXC
config NAND_MXS config NAND_MXS
bool "MXS NAND support" bool "MXS NAND support"
depends on MX23 || MX28 || MX6 || MX7 || IMX8 || IMX8M depends on MX23 || MX28 || MX6 || MX7 || IMX8 || IMX8M
select SPL_SYS_NAND_SELF_INIT
select SYS_NAND_SELF_INIT select SYS_NAND_SELF_INIT
imply CMD_NAND imply CMD_NAND
select APBH_DMA select APBH_DMA
@ -407,6 +433,7 @@ config NAND_MXIC
config NAND_ZYNQ config NAND_ZYNQ
bool "Support for Zynq Nand controller" bool "Support for Zynq Nand controller"
select SPL_SYS_NAND_SELF_INIT
select SYS_NAND_SELF_INIT select SYS_NAND_SELF_INIT
select DM_MTD select DM_MTD
imply CMD_NAND imply CMD_NAND

View File

@ -788,7 +788,7 @@ static void davinci_nand_init(struct nand_chip *nand)
nand->dev_ready = nand_davinci_dev_ready; nand->dev_ready = nand_davinci_dev_ready;
} }
#ifdef CONFIG_SYS_NAND_SELF_INIT #if CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
static int davinci_nand_probe(struct udevice *dev) static int davinci_nand_probe(struct udevice *dev)
{ {
struct nand_chip *nand = dev_get_priv(dev); struct nand_chip *nand = dev_get_priv(dev);

View File

@ -76,7 +76,7 @@ int nand_register(int devnum, struct mtd_info *mtd)
return 0; return 0;
} }
#ifndef CONFIG_SYS_NAND_SELF_INIT #if !CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
static void nand_init_chip(int i) static void nand_init_chip(int i)
{ {
struct nand_chip *nand = &nand_chip[i]; struct nand_chip *nand = &nand_chip[i];
@ -155,7 +155,7 @@ void nand_init(void)
return; return;
initialized = 1; initialized = 1;
#ifdef CONFIG_SYS_NAND_SELF_INIT #if CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
board_nand_init(); board_nand_init();
#else #else
int i; int i;

View File

@ -28,7 +28,6 @@
#ifdef CONFIG_MTD_RAW_NAND #ifdef CONFIG_MTD_RAW_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* CONFIG_MTD_RAW_NAND */ #endif /* CONFIG_MTD_RAW_NAND */
/* /*

View File

@ -27,7 +27,6 @@
#ifdef CONFIG_MTD_RAW_NAND #ifdef CONFIG_MTD_RAW_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* CONFIG_MTD_RAW_NAND */ #endif /* CONFIG_MTD_RAW_NAND */
/* /*

View File

@ -8,5 +8,4 @@
#ifdef CONFIG_MTD_RAW_NAND #ifdef CONFIG_MTD_RAW_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* CONFIG_MTD_RAW_NAND */ #endif /* CONFIG_MTD_RAW_NAND */

View File

@ -27,7 +27,6 @@
#ifdef CONFIG_MTD_RAW_NAND #ifdef CONFIG_MTD_RAW_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* CONFIG_MTD_RAW_NAND */ #endif /* CONFIG_MTD_RAW_NAND */
/* /*

View File

@ -10,5 +10,4 @@
#ifdef CONFIG_MTD_RAW_NAND #ifdef CONFIG_MTD_RAW_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* CONFIG_MTD_RAW_NAND */ #endif /* CONFIG_MTD_RAW_NAND */

View File

@ -136,10 +136,6 @@
59, 60, 61, 62, 63 } 59, 60, 61, 62, 63 }
#define CONFIG_SYS_NAND_ECCSIZE 512 #define CONFIG_SYS_NAND_ECCSIZE 512
#define CONFIG_SYS_NAND_ECCBYTES 10 #define CONFIG_SYS_NAND_ECCBYTES 10
#ifndef CONFIG_SPL_BUILD
#define CONFIG_SYS_NAND_SELF_INIT
#endif
#endif #endif
/* /*

View File

@ -79,6 +79,4 @@
*/ */
#define CONFIG_USB_EHCI_TXFIFO_THRESH 0x10 #define CONFIG_USB_EHCI_TXFIFO_THRESH 0x10
#define CONFIG_SYS_NAND_SELF_INIT
#endif /* _TEGRA20_COMMON_H_ */ #endif /* _TEGRA20_COMMON_H_ */

View File

@ -55,7 +55,6 @@
*/ */
/* driver configuration */ /* driver configuration */
#define CONFIG_SYS_NAND_SELF_INIT
#define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_MAX_NAND_CHIPS 1 #define CONFIG_SYS_MAX_NAND_CHIPS 1
#define CONFIG_SYS_NAND_BASE MLC_NAND_BASE #define CONFIG_SYS_NAND_BASE MLC_NAND_BASE

View File

@ -10,22 +10,6 @@
#include <config.h> #include <config.h>
/*
* All boards using a given driver must convert to self-init
* at the same time, so do it here. When all drivers are
* converted, this will go away.
*/
#ifdef CONFIG_SPL_BUILD
#if defined(CONFIG_NAND_FSL_ELBC) || defined(CONFIG_NAND_FSL_IFC)
#define CONFIG_SYS_NAND_SELF_INIT
#endif
#else
#if defined(CONFIG_NAND_FSL_ELBC) || defined(CONFIG_NAND_ATMEL)\
|| defined(CONFIG_NAND_FSL_IFC)
#define CONFIG_SYS_NAND_SELF_INIT
#endif
#endif
extern void nand_init(void); extern void nand_init(void);
unsigned long nand_size(void); unsigned long nand_size(void);
@ -34,7 +18,7 @@ unsigned long nand_size(void);
int nand_mtd_to_devnum(struct mtd_info *mtd); int nand_mtd_to_devnum(struct mtd_info *mtd);
#ifdef CONFIG_SYS_NAND_SELF_INIT #if CONFIG_IS_ENABLED(SYS_NAND_SELF_INIT)
void board_nand_init(void); void board_nand_init(void);
int nand_register(int devnum, struct mtd_info *mtd); int nand_register(int devnum, struct mtd_info *mtd);
#else #else