| Message ID | 20221011115012.6181-7-rogerq@kernel.org |
|---|---|
| State | Changes Requested, archived |
| Delegated to: | Dario Binacchi |
| Headers | show |
| Series | rawnand: omap_gpmc: driver model support | expand |
Hi On Tue, Oct 11, 2022 at 1:50 PM Roger Quadros <rogerq@kernel.org> wrote: > > nand_bbt.c is not being built with the nand_base driver during SPL > build. This results in build failures if we try to access any nand_bbt > related functions. > > Don't use any nand_bbt functions for SPL build. > > Signed-off-by: Roger Quadros <rogerq@kernel.org> > --- > drivers/mtd/nand/raw/nand_base.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c > index 4b09a11288..826ae633ce 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c > @@ -447,7 +447,10 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) > static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) > { > struct nand_chip *chip = mtd_to_nand(mtd); > - int res, ret = 0; > + int ret = 0; > +#ifndef CONFIG_SPL_BUILD > + int res; > +#endif > > if (!(chip->bbt_options & NAND_BBT_NO_OOB_BBM)) { > struct erase_info einfo; > @@ -465,12 +468,14 @@ static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) > nand_release_device(mtd); > } > > +#ifndef CONFIG_SPL_BUILD > /* Mark block bad in BBT */ > if (chip->bbt) { > res = nand_markbad_bbt(mtd, ofs); > if (!ret) > ret = res; > } > +#endif > > if (!ret) > mtd->ecc_stats.badblocks++; > @@ -517,7 +522,11 @@ static int nand_block_isreserved(struct mtd_info *mtd, loff_t ofs) > if (!chip->bbt) > return 0; > /* Return info from the table */ > +#ifndef CONFIG_SPL_BUILD > return nand_isreserved_bbt(mtd, ofs); > +#else > + return 0; > +#endif > } > > /** > @@ -543,7 +552,11 @@ static int nand_block_checkbad(struct mtd_info *mtd, loff_t ofs, int allowbbt) > return chip->block_bad(mtd, ofs); > > /* Return info from the table */ > +#ifndef CONFIG_SPL_BUILD > return nand_isbad_bbt(mtd, ofs, allowbbt); > +#else > + return 0; > +#endif > } Can you please send me the config that let this fail? Michael > > /** > @@ -3752,8 +3765,11 @@ static void nand_set_defaults(struct nand_chip *chip, int busw) > chip->write_byte = busw ? nand_write_byte16 : nand_write_byte; > if (!chip->read_buf || chip->read_buf == nand_read_buf) > chip->read_buf = busw ? nand_read_buf16 : nand_read_buf; > + > +#ifndef CONFIG_SPL_BUILD > if (!chip->scan_bbt) > chip->scan_bbt = nand_default_bbt; > +#endif > > if (!chip->controller) { > chip->controller = &chip->hwcontrol; > -- > 2.17.1 >
Hi Michael, On 28/11/2022 16:27, Michael Nazzareno Trimarchi wrote: > Hi > > On Tue, Oct 11, 2022 at 1:50 PM Roger Quadros <rogerq@kernel.org> wrote: >> >> nand_bbt.c is not being built with the nand_base driver during SPL >> build. This results in build failures if we try to access any nand_bbt >> related functions. >> >> Don't use any nand_bbt functions for SPL build. >> >> Signed-off-by: Roger Quadros <rogerq@kernel.org> >> --- >> drivers/mtd/nand/raw/nand_base.c | 18 +++++++++++++++++- >> 1 file changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c >> index 4b09a11288..826ae633ce 100644 >> --- a/drivers/mtd/nand/raw/nand_base.c >> +++ b/drivers/mtd/nand/raw/nand_base.c >> @@ -447,7 +447,10 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) >> static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) >> { >> struct nand_chip *chip = mtd_to_nand(mtd); >> - int res, ret = 0; >> + int ret = 0; >> +#ifndef CONFIG_SPL_BUILD >> + int res; >> +#endif >> >> if (!(chip->bbt_options & NAND_BBT_NO_OOB_BBM)) { >> struct erase_info einfo; >> @@ -465,12 +468,14 @@ static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) >> nand_release_device(mtd); >> } >> >> +#ifndef CONFIG_SPL_BUILD >> /* Mark block bad in BBT */ >> if (chip->bbt) { >> res = nand_markbad_bbt(mtd, ofs); >> if (!ret) >> ret = res; >> } >> +#endif >> >> if (!ret) >> mtd->ecc_stats.badblocks++; >> @@ -517,7 +522,11 @@ static int nand_block_isreserved(struct mtd_info *mtd, loff_t ofs) >> if (!chip->bbt) >> return 0; >> /* Return info from the table */ >> +#ifndef CONFIG_SPL_BUILD >> return nand_isreserved_bbt(mtd, ofs); >> +#else >> + return 0; >> +#endif >> } >> >> /** >> @@ -543,7 +552,11 @@ static int nand_block_checkbad(struct mtd_info *mtd, loff_t ofs, int allowbbt) >> return chip->block_bad(mtd, ofs); >> >> /* Return info from the table */ >> +#ifndef CONFIG_SPL_BUILD >> return nand_isbad_bbt(mtd, ofs, allowbbt); >> +#else >> + return 0; >> +#endif >> } > > Can you please send me the config that let this fail? I've pushed a test branch here where relevant changes are done to am64x_evm_a53_defconfig https://github.com/rogerq/u-boot/commits/for-v2023.01/am64-nand-base-1.0-test Attaching the resulting spl/u-boot.cfg that causes the failure > > Michael >> >> /** >> @@ -3752,8 +3765,11 @@ static void nand_set_defaults(struct nand_chip *chip, int busw) >> chip->write_byte = busw ? nand_write_byte16 : nand_write_byte; >> if (!chip->read_buf || chip->read_buf == nand_read_buf) >> chip->read_buf = busw ? nand_read_buf16 : nand_read_buf; >> + >> +#ifndef CONFIG_SPL_BUILD >> if (!chip->scan_bbt) >> chip->scan_bbt = nand_default_bbt; >> +#endif >> >> if (!chip->controller) { >> chip->controller = &chip->hwcontrol; >> -- >> 2.17.1 >> > > -- cheers, -roger #define CONFIG_CMD_MTD 1 #define CONFIG_ETH 1 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 #define CONFIG_SPL_FIT_SOURCE "" #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x280000 #define CONFIG_CMD_FAT 1 #define CONFIG_TI_K3_PSIL 1 #define CONFIG_SPL_DM_SERIAL 1 #define CONFIG_TOOLS_SHA1 1 #define CONFIG_EFI_DEVICE_PATH_UTIL 1 #define CONFIG_BOOTM_NETBSD 1 #define CONFIG_OF_SPL_REMOVE_PROPS "interrupt-parent interrupts" #define CONFIG_CMD_FDT 1 #define CONFIG_SPL_DFU 1 #define CONFIG_OMAP_SERIAL 1 #define CONFIG_NAND_OMAP_GPMC 1 #define CONFIG_USB_GADGET_DOWNLOAD 1 #define CONFIG_SYS_CLK_FREQ 0 #define CONFIG_BOOTMETH_VBE_SIMPLE 1 #define CONFIG_CMD_ITEST 1 #define CONFIG_SPL_POWER_DOMAIN 1 #define CONFIG_REMOTEPROC_TI_K3_ARM64 1 #define CONFIG_BOOTM_VXWORKS 1 #define CONFIG_ERR_PTR_OFFSET 0x0 #define CONFIG_CMD_EDITENV 1 #define CONFIG_OF_OVERLAY_LIST "" #define CONFIG_SPL_SPRINTF 1 #define CONFIG_SPL_DMA 1 #define CONFIG_CMD_MTDPARTS 1 #define CONFIG_EFI_PLATFORM_LANG_CODES "en-US" #define CONFIG_SPL_NAND_SUPPORT 1 #define CONFIG_ARM_PSCI_FW 1 #define CONFIG_CMD_SETEXPR 1 #define CONFIG_TOOLS_SHA384 1 #define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_TOOLS_OF_LIBFDT 1 #define CONFIG_CMD_BOOTP 1 #define CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION 1 #define CONFIG_SYS_MEM_TOP_HIDE 0x0 #define CONFIG_CMD_PART 1 #define CONFIG_MISC 1 #define CONFIG_DFU_OVER_USB 1 #define CONFIG_ENV_SUPPORT 1 #define CONFIG_SPL_LOGLEVEL 4 #define CONFIG_CMD_ENV_EXISTS 1 #define CONFIG_SF_DEFAULT_MODE 0x0 #define CONFIG_SYS_LONGHELP 1 #define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_GCC_VERSION 90201 #define CONFIG_DM_MAILBOX 1 #define CONFIG_SYS_LOAD_ADDR 0x82000000 #define CONFIG_HASH 1 #define CONFIG_DISPLAY_BOARDINFO 1 #define CONFIG_CMD_XIMG 1 #define CONFIG_EXPERT 1 #define CONFIG_PXE_UTILS 1 #define CONFIG_CMDLINE 1 #define CONFIG_SYS_SPL_MALLOC 1 #define CONFIG_BOOTDELAY 2 #define CONFIG_SYS_NAND_BASE 0x51000000 #define CONFIG_SPL_SYS_NAND_SELF_INIT 1 #define CONFIG_CMD_BOOTEFI 1 #define CONFIG_SPI_FLASH 1 #define CONFIG_BOOTP_BOOTPATH 1 #define CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY 1 #define CONFIG_SPL_CLK_CCF 1 #define CONFIG_SPL_FS_FAT 1 #define CONFIG_SPL_SPI 1 #define CONFIG_NR_DRAM_BANKS 2 #define CONFIG_EFI_PARTITION 1 #define CONFIG_DM_PMIC 1 #define CONFIG_SPL_BSS_LIMIT 1 #define CONFIG_SPL_DM_I2C 1 #define CONFIG_SPL_SEPARATE_BSS 1 #define CONFIG_FS_FAT 1 #define CONFIG_BOOTM_RTEMS 1 #define CONFIG_SYS_CBSIZE 1024 #define CONFIG_SKIP_LOWLEVEL_INIT 1 #define CONFIG_CMD_UBI 1 #define CONFIG_DM_I2C 1 #define CONFIG_SYS_NAND_ONFI_DETECTION 1 #define CONFIG_MD5 1 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x1400 #define CONFIG_BOOTM_LINUX 1 #define CONFIG_SPL_NAND_BASE 1 #define CONFIG_BOARD_LATE_INIT 1 #define CONFIG_MULTI_DTB_FIT_NO_COMPRESSION 1 #define CONFIG_CREATE_ARCH_SYMLINK 1 #define CONFIG_CMD_CONSOLE 1 #define CONFIG_SUPPORT_OF_CONTROL 1 #define CONFIG_SPL_STRTO 1 #define CONFIG_PINCTRL_FULL 1 #define CONFIG_BLK 1 #define CONFIG_SYS_CPU "armv8" #define CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR 1 #define CONFIG_SPL_BOARD_INIT 1 #define CONFIG_SPL_STACK_R_ADDR 0x82000000 #define CONFIG_BOOTP_PXE_CLIENTARCH 0x16 #define CONFIG_SPL_YMODEM_SUPPORT 1 #define CONFIG_BOOTP_GATEWAY 1 #define CONFIG_SPL_NAND_INIT 1 #define CONFIG_SUPPORT_ACPI 1 #define CONFIG_SYS_K3_BOOT_CORE_ID 16 #define CONFIG_PINCTRL 1 #define CONFIG_SYS_NAND_ECCSIZE 512 #define CONFIG_SYS_CACHELINE_SIZE 64 #define CONFIG_MMC 1 #define CONFIG_DM_ETH 1 #define CONFIG_SYS_SPL_MALLOC_SIZE 0x800000 #define CONFIG_SPL_OF_CONTROL 1 #define CONFIG_MTD_PARTITIONS 1 #define CONFIG_BOOTMETH_GLOBAL 1 #define CONFIG_NFS_TIMEOUT 2000 #define CONFIG_CMD_PINMUX 1 #define CONFIG_SYS_ARM_CACHE_WRITEBACK 1 #define CONFIG_CLK_TI_SCI 1 #define CONFIG_TOOLS_MD5 1 #define CONFIG_ARM_SMCCC 1 #define CONFIG_SYS_XTRACE 1 #define CONFIG_FIT 1 #define CONFIG_MTD 1 #define CONFIG_TI_I2C_BOARD_DETECT 1 #define CONFIG_SPL_LIBCOMMON_SUPPORT 1 #define CONFIG_TOOLS_FIT_SIGNATURE 1 #define CONFIG_SYS_DFU_MAX_FILE_SIZE 0x800000 #define CONFIG_MISC_INIT_R 1 #define CONFIG_ENV_OFFSET 0x680000 #define CONFIG_DISTRO_DEFAULTS 1 #define CONFIG_DM_DEVICE_REMOVE 1 #define CONFIG_SOC_K3_AM642 1 #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #define CONFIG_SYS_NAND_BLOCK_SIZE 0x40000 #define CONFIG_USB_CDNS3_HOST 1 #define CONFIG_MMC_WRITE 1 #define CONFIG_SYS_SRAM_BASE 0x0 #define CONFIG_CMD_NET 1 #define CONFIG_SPL_SIZE_LIMIT 0x0 #define CONFIG_CMD_LZMADEC 1 #define CONFIG_USB_GADGET_VBUS_DRAW 2 #define CONFIG_CMD_NFS 1 #define CONFIG_DFU_SF 1 #define CONFIG_ENV_SIZE 0x20000 #define CONFIG_TOOLS_CRC32 1 #define CONFIG_VPL_LZMA 1 #define CONFIG_SUPPORT_RAW_INITRD 1 #define CONFIG_NAND_OMAP_GPMC_PREFETCH 1 #define CONFIG_K3_SEC_PROXY 1 #define CONFIG_CMD_FS_GENERIC 1 #define CONFIG_CMD_PING 1 #define CONFIG_SPL_GPIO 1 #define CONFIG_SPL_BUILD 1 #define CONFIG_SPL_PARTITIONS 1 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET 0x0 #define CONFIG_SPL_MMC_SDHCI_ADMA 1 #define CONFIG_SPL_DM_GPIO 1 #define CONFIG_SYS_MALLOC_LEN 0x2000000 #define CONFIG_EFI_VARIABLE_FILE_STORE 1 #define CONFIG_ARCH_K3 1 #define CONFIG_EFI_VAR_BUF_SIZE 16384 #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_NAND_ECCBYTES 14 #define CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS 100 #define CONFIG_MUX_MMIO 1 #define CONFIG_SPL_LIBDISK_SUPPORT 1 #define CONFIG_SPI_FLASH_SPANSION 1 #define CONFIG_SPL_PINCONF_RECURSIVE 1 #define CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX 0x701bebfc #define CONFIG_LOCALVERSION "" #define CONFIG_EEPROM_CHIP_ADDRESS 0x50 #define CONFIG_CUSTOM_SYS_INIT_SP_ADDR 0x80480000 #define CONFIG_SYS_BOOTM_LEN 0x800000 #define CONFIG_SYS_TEXT_BASE 0x80800000 #define CONFIG_ARCH_SUPPORTS_LTO 1 #define CONFIG_CC_OPTIMIZE_FOR_SIZE 1 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR 1 #define CONFIG_SPL_MMC_HS400_SUPPORT 1 #define CONFIG_TFTP_WINDOWSIZE 1 #define CONFIG_REGEX 1 #define CONFIG_EFI_PARTITION_ENTRIES_NUMBERS 128 #define CONFIG_SYS_CONFIG_NAME "am64x_evm" #define CONFIG_MMC_SDHCI 1 #define CONFIG_TOOLS_FIT 1 #define CONFIG_SPL_SYS_MALLOC_SIMPLE 1 #define CONFIG_SYS_NAND_OOBSIZE 0x100 #define CONFIG_CMD_FLASH 1 #define CONFIG_USB_FUNCTION_MASS_STORAGE 1 #define CONFIG_SPL_SHA1 1 #define CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE 0x10000000 #define CONFIG_CMD_SAVEENV 1 #define CONFIG_PMIC_CHILDREN 1 #define CONFIG_MKIMAGE_DTC_PATH "dtc" #define CONFIG_SPL_I2C 1 #define CONFIG_SPL_RAM_SUPPORT 1 #define CONFIG_OF_REAL 1 #define CONFIG_BOOTM_PLAN9 1 #define CONFIG_MULTI_DTB_FIT 1 #define CONFIG_SPL_TEXT_BASE 0x80080000 #define CONFIG_SPL_PHY 1 #define CONFIG_SYSRESET_TI_SCI 1 #define CONFIG_SPL_DM_MMC 1 #define CONFIG_DFU_SF_PART 1 #define CONFIG_K3_X509_SWRV 1 #define CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2 1 #define CONFIG_SERIAL_PRESENT 1 #define CONFIG_TOOLS_FIT_PRINT 1 #define CONFIG_SYS_NAND_PAGE_COUNT 0x40 #define CONFIG_SPL_PINCTRL_FULL 1 #define CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN 0x2000000 #define CONFIG_DM_MMC 1 #define CONFIG_SPL_NAND_DRIVERS 1 #define CONFIG_CMD_NAND 1 #define CONFIG_SPL_EFI_PARTITION 1 #define CONFIG_TARGET_AM642_A53_EVM 1 #define CONFIG_LZMA 1 #define CONFIG_BUILD_TARGET "" #define CONFIG_OF_LIST "k3-am642-evm k3-am642-sk" #define CONFIG_CMD_GPT 1 #define CONFIG_SPL_SHARES_INIT_SP_ADDR 1 #define CONFIG_PHY_FIXED 1 #define CONFIG_PHY_TI_DP83867 1 #define CONFIG_SPL_ETH 1 #define CONFIG_SPL_CRC32 1 #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, } #define CONFIG_DM_DEV_READ_INLINE 1 #define CONFIG_DM_MTD 1 #define CONFIG_PHY_J721E_WIZ 1 #define CONFIG_SF_DEFAULT_BUS 0 #define CONFIG_DM_WARN 1 #define CONFIG_EFI_ECPT 1 #define CONFIG_BOOTP_DNS 1 #define CONFIG_TOOLS_FIT_FULL_CHECK 1 #define CONFIG_CMD_MEMORY 1 #define CONFIG_SYS_MAXARGS 64 #define CONFIG_MMC_SDHCI_AM654 1 #define CONFIG_SYSRESET 1 #define CONFIG_DM_USB_GADGET 1 #define CONFIG_MMC_HW_PARTITIONING 1 #define CONFIG_SPL_MTD_SUPPORT 1 #define CONFIG_SUPPORT_SPL 1 #define CONFIG_CMD_RUN 1 #define CONFIG_LMB_USE_MAX_REGIONS 1 #define CONFIG_SYS_PBSIZE 1044 #define CONFIG_ENV_VARS_UBOOT_CONFIG 1 #define CONFIG_SPL_SYS_STACK_F_CHECK_BYTE 0xaa #define CONFIG_CMD_CRC32 1 #define CONFIG_DM_SPI_FLASH 1 #define CONFIG_USB 1 #define CONFIG_USB_CDNS3_GADGET 1 #define CONFIG_BOOTP_HOSTNAME 1 #define CONFIG_CMD_SLEEP 1 #define CONFIG_LMB_MAX_REGIONS 8 #define CONFIG_BOARDDIR board/ti/am64x #define CONFIG_SPL_DFU_RAM 1 #define CONFIG_POWER 1 #define CONFIG_SPL_LOAD_FIT_ADDRESS 0x81000000 #define CONFIG_DM_RESET 1 #define CONFIG_TI_GPMC 1 #define CONFIG_ENV_MIN_ENTRIES 64 #define CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ 0x10000 #define CONFIG_NET 1 #define CONFIG_BLOCK_CACHE 1 #define CONFIG_REMOTEPROC 1 #define CONFIG_SPI_FLASH_STMICRO 1 #define CONFIG_OF_LIBFDT 1 #define CONFIG_TFTP_BLOCKSIZE 1468 #define CONFIG_PSCI_RESET 1 #define CONFIG_MMC_HS200_SUPPORT 1 #define CONFIG_CLK 1 #define CONFIG_TI_SCI_POWER_DOMAIN 1 #define CONFIG_PHYLIB 1 #define CONFIG_GENERATE_SMBIOS_TABLE 1 #define CONFIG_SPL_DRIVERS_MISC 1 #define CONFIG_CMDLINE_EDITING 1 #define CONFIG_CMD_USB 1 #define CONFIG_SPL_TARGET "" #define CONFIG_DM_SERIAL 1 #define CONFIG_PHYS_64BIT 1 #define CONFIG_PHY_CADENCE_TORRENT 1 #define CONFIG_PHY 1 #define CONFIG_CMD_EXT2 1 #define CONFIG_CMD_EXT4 1 #define CONFIG_BOOTCOMMAND "run findfdt; run envboot; run init_${boot}; run get_kern_${boot}; run get_fdt_${boot}; run run_kern" #define CONFIG_ARCH_FIXUP_FDT_MEMORY 1 #define CONFIG_USB_GADGET_VENDOR_NUM 0x0451 #define CONFIG_SPL_USB_GADGET 1 #define CONFIG_SPL_SIMPLE_BUS 1 #define CONFIG_EFI_DT_FIXUP 1 #define CONFIG_SOC_DEVICE_TI_K3 1 #define CONFIG_SOC_DEVICE 1 #define CONFIG_ISO_PARTITION 1 #define CONFIG_ARM64_CRC32 1 #define CONFIG_NET_RETRY_COUNT 5 #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x600000 #define CONFIG_CMD_RANDOM 1 #define CONFIG_SYS_NAND_MAX_CHIPS 1 #define CONFIG_SYS_BOOT_RAMDISK_HIGH 1 #define CONFIG_CMD_DFU 1 #define CONFIG_EEPROM_BUS_ADDRESS 0 #define CONFIG_CMD_BOOTEFI_HELLO_COMPILE 1 #define CONFIG_CAAM_64BIT 1 #define CONFIG_HUSH_PARSER 1 #define CONFIG_DEFAULT_FDT_FILE "" #define CONFIG_CMD_DM 1 #define CONFIG_BOOTP_VCI_STRING "U-Boot.armv8" #define CONFIG_DM 1 #define CONFIG_PMIC_TPS65219 1 #define CONFIG_EFI_EBBR_2_0_CONFORMANCE 1 #define CONFIG_ZLIB 1 #define CONFIG_OF_LIBFDT_ASSUME_MASK 0x0 #define CONFIG_USB_GADGET_DUALSPEED 1 #define CONFIG_LIB_UUID 1 #define CONFIG_SYS_I2C_OMAP24XX 1 #define CONFIG_CMD_GO 1 #define CONFIG_SPL_BLK 1 #define CONFIG_SDP_LOADADDR 0x0 #define CONFIG_USB_HOST 1 #define CONFIG_CMD_BOOTD 1 #define CONFIG_CMD_BOOTI 1 #define CONFIG_CMD_BOOTM 1 #define CONFIG_EFI_LOADER_HII 1 #define CONFIG_SPL_SPI_FLASH_SUPPORT 1 #define CONFIG_SYS_NS16550 1 #define CONFIG_SPL_MISC 1 #define CONFIG_SYS_MALLOC_F 1 #define CONFIG_CADENCE_QSPI 1 #define CONFIG_SYS_SRAM_SIZE 0x0 #define CONFIG_CMD_BOOTFLOW 1 #define CONFIG_SPL_MMC 1 #define CONFIG_SYS_RX_ETH_BUFFER 4 #define CONFIG_AUTO_COMPLETE 1 #define CONFIG_EFI_LOAD_FILE2_INITRD 1 #define CONFIG_SPI_FLASH_USE_4K_SECTORS 1 #define CONFIG_SPL_SPI_FLASH_TINY 1 #define CONFIG_SPRINTF 1 #define CONFIG_DM_REGULATOR 1 #define CONFIG_CMD_SYSBOOT 1 #define CONFIG_SYS_SOC "k3" #define CONFIG_SPL_PMIC_CHILDREN 1 #define CONFIG_SPL_HASH 1 #define CONFIG_ENV_IS_IN_MMC 1 #define CONFIG_SYS_HZ 1000 #define CONFIG_SYS_MALLOC_F_LEN 0x8000 #define CONFIG_BOOTMETH_DISTRO 1 #define CONFIG_SPL_MULTI_DTB_FIT 1 #define CONFIG_SPL_DM_USB 1 #define CONFIG_DOS_PARTITION 1 #define CONFIG_USB_CDNS3 1 #define CONFIG_GZIP 1 #define CONFIG_SYS_VENDOR "ti" #define CONFIG_DFU_MMC 1 #define CONFIG_CLANG_VERSION 0 #define CONFIG_SYS_DFU_DATA_BUF_SIZE 0x40000 #define CONFIG_IMX_DCD_ADDR 0x00910000 #define CONFIG_DM_USB 1 #define CONFIG_CMD_SF 1 #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 0 #define CONFIG_REQUIRE_SERIAL_CONSOLE 1 #define CONFIG_TOOLS_LIBCRYPTO 1 #define CONFIG_SYS_NAND_SELF_INIT 1 #define CONFIG_IDENT_STRING "" #define CONFIG_SYSRESET_CMD_RESET 1 #define CONFIG_SPL_DM_SPI_FLASH 1 #define CONFIG_SPL_PRINTF 1 #define CONFIG_MTDIDS_DEFAULT "nand0=omap2-nand.0" #define CONFIG_ENV_SOURCE_FILE "" #define CONFIG_PRINTF 1 #define CONFIG_PINCTRL_GENERIC 1 #define CONFIG_SPL_SERIAL 1 #define CONFIG_TOOLS_SHA512 1 #define CONFIG_MMC_SDHCI_ADMA 1 #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } #define CONFIG_SPL_DM_MAILBOX 1 #define CONFIG_SERIAL 1 #define CONFIG_PINCTRL_SINGLE 1 #define CONFIG_SPL_FIT 1 #define CONFIG_CLK_CCF 1 #define CONFIG_PHY_RESET_DELAY 0 #define CONFIG_SPL_LIBGENERIC_SUPPORT 1 #define CONFIG_SPL_SYSRESET 1 #define CONFIG_LOCALVERSION_AUTO 1 #define CONFIG_SPL_DM_USB_GADGET 1 #define CONFIG_CMD_TFTPBOOT 1 #define CONFIG_SUPPORT_EMMC_BOOT 1 #define CONFIG_SOC_TI 1 #define CONFIG_SPL_USB_STORAGE 1 #define CONFIG_SYS_SDRAM_BASE 0x80000000 #define CONFIG_MMC_VERBOSE 1 #define CONFIG_BOOTSTD 1 #define CONFIG_COUNTER_FREQUENCY 0 #define CONFIG_EFI_SETUP_EARLY 1 #define CONFIG_TI_AM65_CPSW_NUSS 1 #define CONFIG_DM_EVENT 1 #define CONFIG_NET_TFTP_VARS 1 #define CONFIG_K3_SYSTEM_CONTROLLER 1 #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv8/u-boot-spl.lds" #define CONFIG_STACK_SIZE 0x1000000 #define CONFIG_SPL_DFU_NO_RESET 1 #define CONFIG_CC_IS_GCC 1 #define CONFIG_K3_ATF_LOAD_ADDR 0x701c0000 #define CONFIG_CMD_DHCP 1 #define CONFIG_SPL_PINCTRL_GENERIC 1 #define CONFIG_LEGACY_IMAGE_FORMAT 1 #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " #define CONFIG_SPL_DM_PMIC 1 #define CONFIG_CMD_ECHO 1 #define CONFIG_TOOLS_FIT_RSASSA_PSS 1 #define CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE 0x1c0000 #define CONFIG_SPL_REGMAP 1 #define CONFIG_DMA_CHANNELS 1 #define CONFIG_SPL_SPI_LOAD 1 #define CONFIG_STRTO 1 #define CONFIG_REGMAP 1 #define CONFIG_PLATFORM_ELFENTRY "_start" #define CONFIG_FAT_WRITE 1 #define CONFIG_SYS_CACHE_SHIFT_6 1 #define CONFIG_SYS_FDT_PAD 0x3000 #define CONFIG_SPL_IMAGE "spl/u-boot-spl.bin" #define CONFIG_CMD_TIME 1 #define CONFIG_SPL_FIT_GENERATOR "" #define CONFIG_CMD_PMIC 1 #define CONFIG_DFU 1 #define CONFIG_SPL_DM 1 #define CONFIG_PHY_TI 1 #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 #define CONFIG_CHARSET 1 #define CONFIG_SPL_BSS_START_ADDR 0x80a00000 #define CONFIG_SPL_PAD_TO 0x180000 #define CONFIG_FIT_PRINT 1 #define CONFIG_LINKER_LIST_ALIGN 8 #define CONFIG_OF_CONTROL 1 #define CONFIG_EXTRA_ENV_SETTINGS DEFAULT_LINUX_BOOT_ENV DEFAULT_MMC_TI_ARGS EXTRA_ENV_AM642_BOARD_SETTINGS EXTRA_ENV_AM642_BOARD_SETTINGS_MMC EXTRA_ENV_DFUARGS EXTRA_ENV_AM642_BOARD_SETTING_USBMSC EXTRA_ENV_AM642_BOARD_SETTINGS_NAND #define CONFIG_EFI_PARTITION_ENTRIES_OFF 0 #define CONFIG_SPL_OF_LIBFDT_ASSUME_MASK 0xff #define CONFIG_SPL_PINCTRL 1 #define CONFIG_BOOTP_PXE 1 #define CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE 0x180000 #define CONFIG_INPUT 1 #define CONFIG_MTD_UBI 1 #define CONFIG_SPL_USE_TINY_PRINTF 1 #define CONFIG_DMA 1 #define CONFIG_FIT_EXTERNAL_OFFSET 0x0 #define CONFIG_SPI_MEM 1 #define CONFIG_TFTP_TSIZE 1 #define CONFIG_BOOTSTAGE_STASH_SIZE 0x1000 #define CONFIG_SYS_ARCH "arm" #define CONFIG_NAND_OMAP_ECCSCHEME 6 #define CONFIG_CMD_ASKENV 1 #define CONFIG_MTD_UBI_WL_THRESHOLD 4096 #define CONFIG_SPL_PARTITION_UUIDS 1 #define CONFIG_SYS_BOARD "am64x" #define CONFIG_SPL_USB_HOST 1 #define CONFIG_SPL_USB_CDNS3_GADGET 1 #define CONFIG_PARTITION_UUIDS 1 #define CONFIG_DM_GPIO 1 #define CONFIG_MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system)" #define CONFIG_CMD_UNZIP 1 #define CONFIG_BOOTMETH_DISTRO_PXE 1 #define CONFIG_SPL_NAND_ECC 1 #define CONFIG_DEVICE_TREE_INCLUDES "" #define CONFIG_FIRMWARE 1 #define CONFIG_SYS_ARM_ARCH 8 #define CONFIG_NET_RANDOM_ETHADDR 1 #define CONFIG_MTD_UBI_BEB_LIMIT 20 #define CONFIG_OF_LIBFDT_OVERLAY 1 #define CONFIG_SPL_PINMUX 1 #define CONFIG_SYS_K3_KEY "" #define CONFIG_ARM64_SUPPORT_AARCH32 1 #define CONFIG_CMD_IMPORTENV 1 #define CONFIG_MMC_QUIRKS 1 #define CONFIG_PINMUX 1 #define CONFIG_SPL_ENV_IS_IN_MMC 1 #define CONFIG_IMX_CONTAINER_CFG "" #define CONFIG_CMD_EXPORTENV 1 #define CONFIG_PARTITIONS 1 #define CONFIG_SPL_NET 1 #define CONFIG_SPL_DOS_PARTITION 1 #define CONFIG_ARM64 1 #define CONFIG_OF_TRANSLATE 1 #define CONFIG_SPL_STACK_R 1 #define CONFIG_CMD_I2C 1 #define CONFIG_TOOLS_SHA256 1 #define CONFIG_CMD_UBIFS 1 #define CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ 0x8000 #define CONFIG_SPI_FLASH_SMART_HWCAPS 1 #define CONFIG_SPL_CLK 1 #define CONFIG_SYS_MMC_ENV_PART 1 #define CONFIG_SPL_NET_VCI_STRING "AM64X U-Boot A53 SPL" #define CONFIG_CMD_ELF 1 #define CONFIG_CMD_MDIO 1 #define CONFIG_NAND_OMAP_ELM 1 #define CONFIG_SYS_NAND_PAGE_SIZE 0x1000 #define CONFIG_WATCHDOG_TIMEOUT_MSECS 60000 #define CONFIG_BOOTP_MAX_ROOT_PATH_LEN 64 #define CONFIG_EFI_LOADER 1 #define CONFIG_TI_K3_NAVSS_UDMA 1 #define CONFIG_DM_MEMORY 1 #define CONFIG_USB_CDNS3_TI 1 #define CONFIG_RANDOM_UUID 1 #define CONFIG_CMD_BOOTEFI_BOOTMGR 1 #define CONFIG_ARP_TIMEOUT 5000 #define CONFIG_DM_SEQ_ALIAS 1 #define CONFIG_RESET_TI_SCI 1 #define CONFIG_GPIO 1 #define CONFIG_EVENT_DYNAMIC 1 #define CONFIG_EVENT 1 #define CONFIG_FS_EXT4 1 #define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1 #define CONFIG_SPL_MAX_SIZE 0x180000 #define CONFIG_SPL_FRAMEWORK 1 #define CONFIG_SPL_HAS_BSS_LINKER_SECTION 1 #define CONFIG_MTD_RAW_NAND 1 #define CONFIG_BOOTSTAGE_STASH_ADDR 0x0 #define CONFIG_SPI 1 #define CONFIG_EFI_DEVICE_PATH_TO_TEXT 1 #define CONFIG_SPL 1 #define CONFIG_BOOTM_EFI 1 #define CONFIG_SPL_NAND_IDENT 1 #define CONFIG_SPL_ENV_SUPPORT 1 #define CONFIG_MULTIPLEXER 1 #define CONFIG_CMD_SOURCE 1 #define CONFIG_SYS_PROMPT "=> " #define CONFIG_TI_K3_NAVSS_RINGACC 1 #define CONFIG_MMC_SDHCI_ADMA_HELPERS 1 #define CONFIG_SPL_RAM_DEVICE 1 #define CONFIG_TI_SCI_PROTOCOL 1 #define CONFIG_MMC_SDHCI_IO_ACCESSORS 1 #define CONFIG_USB_STORAGE 1 #define CONFIG_SPL_OF_REAL 1 #define CONFIG_CMD_PXE 1 #define CONFIG_SPL_MMC_HS200_SUPPORT 1 #define CONFIG_CMD_REGULATOR 1 #define CONFIG_PINCONF_RECURSIVE 1 #define CONFIG_DISPLAY_CPUINFO 1 #define CONFIG_LOGLEVEL 4 #define CONFIG_POWER_DOMAIN 1 #define CONFIG_BOOTDEV_ETH 1 #define CONFIG_BAUDRATE 115200 #define CONFIG_SHA1 1 #define CONFIG_SAVEENV 1 #define CONFIG_CRC32 1 #define CONFIG_MMC_HS400_SUPPORT 1 #define CONFIG_DFU_RAM 1 #define CONFIG_SPL_DM_INLINE_OFNODE 1 #define CONFIG_SPL_SYS_MALLOC_F_LEN 0x8000 #define CONFIG_SPL_OF_LIST "k3-am642-evm k3-am642-sk" #define CONFIG_CMD_LOADB 1 #define CONFIG_HAVE_SYS_TEXT_BASE 1 #define CONFIG_CMD_LOADS 1 #define CONFIG_FS_FAT_MAX_CLUSTSIZE 16384 #define CONFIG_USE_BOOTCOMMAND 1 #define CONFIG_CMD_IMI 1 #define CONFIG_TOOLS_FIT_VERBOSE 1 #define CONFIG_DM_REGULATOR_TPS65219 1 #define CONFIG_SPL_SYSCON 1 #define CONFIG_SPL_PAYLOAD "u-boot.bin" #define CONFIG_SPL_USB_CDNS3_HOST 1 #define CONFIG_SPL_POWER 1 #define CONFIG_BOOTMETH_EFILOADER 1 #define CONFIG_SF_DEFAULT_SPEED 1000000 #define CONFIG_SYSCON 1 #define CONFIG_EFI_HAVE_RUNTIME_RESET 1 #define CONFIG_LMB 1 #define CONFIG_AUTOBOOT 1 #define CONFIG_SPL_BANNER_PRINT 1 #define CONFIG_ARM 1 #define CONFIG_RBTREE 1 #define CONFIG_HAVE_BLOCK_DEVICE 1 #define CONFIG_SYS_SDRAM_BASE1 0x880000000 #define CONFIG_EFI_UNICODE_CAPITALIZATION 1 #define CONFIG_USB_XHCI_HCD 1 #define CONFIG_CMD_BLOCK_CACHE 1 #define CONFIG_OF_SEPARATE 1 #define CONFIG_CMD_BDI 1 #define CONFIG_STATIC_RELA 1 #define CONFIG_SPL_SHA256 1 #define CONFIG_SHA256 1 #define CONFIG_BOOTP_SUBNETMASK 1 #define CONFIG_CC_HAS_ASM_INLINE 1 #define CONFIG_SPL_OF_TRANSLATE 1 #define CONFIG_LZ4 1 #define CONFIG_LIB_ELF 1 #define CONFIG_LZO 1 #define CONFIG_SPL_FIRMWARE 1 #define CONFIG_ENV_MAX_ENTRIES 512 #define CONFIG_MENU 1 #define CONFIG_NETDEVICES 1 #define CONFIG_DEFAULT_DEVICE_TREE "k3-am642-evm" #define CONFIG_SPL_RAW_IMAGE_SUPPORT 1 #define CONFIG_CMD_UNLZ4 1 #define CONFIG_USB_GADGET_MANUFACTURER "Texas Instruments" #define CONFIG_CMD_MII 1 #define CONFIG_USB_GADGET 1 #define CONFIG_I2C 1 #define CONFIG_LIB_RAND 1 #define CONFIG_SIMPLE_BUS 1 #define CONFIG_USB_GADGET_PRODUCT_NUM 0x6165 #define CONFIG_ARM_ASM_UNIFIED 1 #define CONFIG_CMD_MMC 1 #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS #define CONFIG_SYS_ARCH_TIMER 1 #define CONFIG_DMA_ADDR_T_64BIT 1 #define CONFIG_SPL_DM_SPI 1 #define CONFIG_SPL_DM_SEQ_ALIAS 1 #define CONFIG_FIT_FULL_CHECK 1 #define CONFIG_SF_DEFAULT_CS 0 #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE #define CONFIG_BOOTMETH_VBE 1 #define CONFIG_SPI_FLASH_UNLOCK_ALL 1 #define CONFIG_DM_SPI 1 #define CONFIG_SPL_OF_LIBFDT 1 #define CONFIG_SPL_LOAD_FIT 1 #define CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW 1 #define CONFIG_USE_SPL_FIT_GENERATOR 1 #define CONFIG_SPL_SERIAL_PRESENT 1 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 4b09a11288..826ae633ce 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -447,7 +447,10 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) { struct nand_chip *chip = mtd_to_nand(mtd); - int res, ret = 0; + int ret = 0; +#ifndef CONFIG_SPL_BUILD + int res; +#endif if (!(chip->bbt_options & NAND_BBT_NO_OOB_BBM)) { struct erase_info einfo; @@ -465,12 +468,14 @@ static int nand_block_markbad_lowlevel(struct mtd_info *mtd, loff_t ofs) nand_release_device(mtd); } +#ifndef CONFIG_SPL_BUILD /* Mark block bad in BBT */ if (chip->bbt) { res = nand_markbad_bbt(mtd, ofs); if (!ret) ret = res; } +#endif if (!ret) mtd->ecc_stats.badblocks++; @@ -517,7 +522,11 @@ static int nand_block_isreserved(struct mtd_info *mtd, loff_t ofs) if (!chip->bbt) return 0; /* Return info from the table */ +#ifndef CONFIG_SPL_BUILD return nand_isreserved_bbt(mtd, ofs); +#else + return 0; +#endif } /** @@ -543,7 +552,11 @@ static int nand_block_checkbad(struct mtd_info *mtd, loff_t ofs, int allowbbt) return chip->block_bad(mtd, ofs); /* Return info from the table */ +#ifndef CONFIG_SPL_BUILD return nand_isbad_bbt(mtd, ofs, allowbbt); +#else + return 0; +#endif } /** @@ -3752,8 +3765,11 @@ static void nand_set_defaults(struct nand_chip *chip, int busw) chip->write_byte = busw ? nand_write_byte16 : nand_write_byte; if (!chip->read_buf || chip->read_buf == nand_read_buf) chip->read_buf = busw ? nand_read_buf16 : nand_read_buf; + +#ifndef CONFIG_SPL_BUILD if (!chip->scan_bbt) chip->scan_bbt = nand_default_bbt; +#endif if (!chip->controller) { chip->controller = &chip->hwcontrol;
nand_bbt.c is not being built with the nand_base driver during SPL build. This results in build failures if we try to access any nand_bbt related functions. Don't use any nand_bbt functions for SPL build. Signed-off-by: Roger Quadros <rogerq@kernel.org> --- drivers/mtd/nand/raw/nand_base.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)