The SYS_NAND_U_BOOT_OFFS is quite generic, but the Kconfig entry is forced to explicitly depend on platforms that are not already defining it in their include/configs/<board>.h header.
Rename this Kconfig option into SPL_NAND_U_BOOT_OFFS, remove the dependency on NAND_SUNXI and make it dependent on SPL selection. common/spl/spl_nand.c now sets CONFIG_SYS_NAND_U_BOOT_OFFS to CONFIG_SPL_NAND_U_BOOT_OFFS only when it's undefined. This way we stay compatible with the existing behavior. Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com> Acked-by: Hans de Goede <hdego...@redhat.com> --- common/spl/spl_nand.c | 4 ++++ drivers/mtd/nand/Kconfig | 9 +++++---- drivers/mtd/nand/sunxi_nand_spl.c | 8 ++++---- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c index bbd9546..612bd4a 100644 --- a/common/spl/spl_nand.c +++ b/common/spl/spl_nand.c @@ -10,6 +10,10 @@ #include <asm/io.h> #include <nand.h> +#ifndef CONFIG_SYS_NAND_U_BOOT_OFFS +#define CONFIG_SYS_NAND_U_BOOT_OFFS CONFIG_SPL_NAND_U_BOOT_OFFS +#endif + #if defined(CONFIG_SPL_NAND_RAW_ONLY) int spl_nand_load_image(void) { diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 2fc73ef..4b0f92c 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -99,16 +99,17 @@ config SYS_NAND_BUSWIDTH_16BIT not available while configuring controller. So a static CONFIG_NAND_xx is needed to know the device's bus-width in advance. -# Enhance depends when converting drivers to Kconfig which use this config -config SYS_NAND_U_BOOT_OFFS +if SPL + +# This option should be used in replacement of CONFIG_SYS_NAND_U_BOOT_OFFS. +# CONFIG_SYS_NAND_U_BOOT_OFFS is still preferred if defined. +config SPL_NAND_U_BOOT_OFFS hex "Location in NAND to read U-Boot from" default 0x8000 if NAND_SUNXI - depends on NAND_SUNXI help Set the offset from the start of the nand where u-boot should be loaded from. -if SPL config SPL_NAND_DENALI bool "Support Denali NAND controller for SPL" diff --git a/drivers/mtd/nand/sunxi_nand_spl.c b/drivers/mtd/nand/sunxi_nand_spl.c index 1739da2..85cb127 100644 --- a/drivers/mtd/nand/sunxi_nand_spl.c +++ b/drivers/mtd/nand/sunxi_nand_spl.c @@ -348,14 +348,14 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *dest) * u-boot partition sits after 2 eraseblocks (spl, spl-backup), look * for backup u-boot 1 erase block further. */ - const uint32_t eraseblock_size = CONFIG_SYS_NAND_U_BOOT_OFFS / 2; + const uint32_t eraseblock_size = CONFIG_SPL_NAND_U_BOOT_OFFS / 2; const uint32_t boot_offsets[] = { - CONFIG_SYS_NAND_U_BOOT_OFFS, - CONFIG_SYS_NAND_U_BOOT_OFFS + eraseblock_size, + CONFIG_SPL_NAND_U_BOOT_OFFS, + CONFIG_SPL_NAND_U_BOOT_OFFS + eraseblock_size, }; int i; - if (offs == CONFIG_SYS_NAND_U_BOOT_OFFS) { + if (offs == CONFIG_SPL_NAND_U_BOOT_OFFS) { for (i = 0; i < ARRAY_SIZE(boot_offsets); i++) { if (nand_read_buffer(boot_offsets[i], size, dest) == 0) -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot