]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge patch series "nand: Add sandbox tests"
authorTom Rini <trini@konsulko.com>
Thu, 16 Nov 2023 17:46:09 +0000 (12:46 -0500)
committerTom Rini <trini@konsulko.com>
Thu, 16 Nov 2023 18:49:13 +0000 (13:49 -0500)
To quote the author:

This series tests raw nand flash in sandbox and fixes various bugs discovered in
the process. I've tried to do things in a contemporary manner, avoiding the
(numerous) variations present on only a few boards. The test is pretty minimal.
Future work could test the rest of the nand API as well as the MTD API.

Bloat (for v1) at [1] (for boards with SPL_NAND_SUPPORT enabled). Almost
everything grows by a few bytes due to nand_page_size. A few boards grow more,
mostly those using nand_spl_loaders.c. CI at [2].

[1] https://gist.github.com/Forty-Bot/9694f3401893c9e706ccc374922de6c2
[2] https://source.denx.de/u-boot/custodians/u-boot-clk/-/pipelines/18443

1  2 
configs/sandbox64_defconfig
configs/sandbox_defconfig
configs/sandbox_noinst_defconfig
configs/socfpga_secu1_defconfig

index 6e8078052800964a9ec7c5ac9d34629238fde7a2,d4e5eb3000b441711ba446b9e258a1c2cef258ba..e3f7f11a21425015e3bd5a48062b0b3ed4c18872
@@@ -1,4 -1,5 +1,5 @@@
  CONFIG_TEXT_BASE=0
+ CONFIG_SYS_MALLOC_LEN=0x6000000
  CONFIG_NR_DRAM_BANKS=1
  CONFIG_ENV_SIZE=0x2000
  CONFIG_DEFAULT_DEVICE_TREE="sandbox64"
@@@ -14,6 -15,7 +15,6 @@@ CONFIG_FIT=
  CONFIG_FIT_SIGNATURE=y
  CONFIG_FIT_VERBOSE=y
  CONFIG_LEGACY_IMAGE_FORMAT=y
 -CONFIG_DISTRO_DEFAULTS=y
  CONFIG_BOOTSTAGE=y
  CONFIG_BOOTSTAGE_REPORT=y
  CONFIG_BOOTSTAGE_FDT=y
@@@ -49,6 -51,7 +50,7 @@@ CONFIG_CMD_GPT_RENAME=
  CONFIG_CMD_IDE=y
  CONFIG_CMD_I2C=y
  CONFIG_CMD_LOADM=y
+ CONFIG_CMD_MTD=y
  CONFIG_CMD_OSD=y
  CONFIG_CMD_PCI=y
  CONFIG_CMD_READ=y
@@@ -166,6 -169,13 +168,13 @@@ CONFIG_PWRSEQ=
  CONFIG_I2C_EEPROM=y
  CONFIG_MMC_SANDBOX=y
  CONFIG_MTD=y
+ CONFIG_DM_MTD=y
+ CONFIG_MTD_RAW_NAND=y
+ CONFIG_SYS_MAX_NAND_DEVICE=8
+ CONFIG_SYS_NAND_USE_FLASH_BBT=y
+ CONFIG_NAND_SANDBOX=y
+ CONFIG_SYS_NAND_ONFI_DETECTION=y
+ CONFIG_SYS_NAND_PAGE_SIZE=0x200
  CONFIG_SPI_FLASH_SANDBOX=y
  CONFIG_BOOTDEV_SPI_FLASH=y
  CONFIG_SPI_FLASH_ATMEL=y
index e615656886a47286e61871d94620e60ef676d497,04b8376bb026d00f4c158426640f8a21334a866a..b7ae1f07c71561e87442b255ff821fa1074b3ec2
@@@ -1,4 -1,5 +1,5 @@@
  CONFIG_TEXT_BASE=0
+ CONFIG_SYS_MALLOC_LEN=0x6000000
  CONFIG_NR_DRAM_BANKS=1
  CONFIG_ENV_SIZE=0x2000
  CONFIG_DEFAULT_DEVICE_TREE="sandbox"
@@@ -15,6 -16,7 +16,6 @@@ CONFIG_FIT_CIPHER=
  CONFIG_FIT_VERBOSE=y
  CONFIG_LEGACY_IMAGE_FORMAT=y
  CONFIG_MEASURED_BOOT=y
 -CONFIG_DISTRO_DEFAULTS=y
  CONFIG_BOOTSTAGE=y
  CONFIG_BOOTSTAGE_REPORT=y
  CONFIG_BOOTSTAGE_FDT=y
@@@ -73,6 -75,7 +74,7 @@@ CONFIG_CMD_IDE=
  CONFIG_CMD_I2C=y
  CONFIG_CMD_LOADM=y
  CONFIG_CMD_LSBLK=y
+ CONFIG_CMD_MTD=y
  CONFIG_CMD_MUX=y
  CONFIG_CMD_OSD=y
  CONFIG_CMD_PCI=y
@@@ -215,6 -218,13 +217,13 @@@ CONFIG_MMC_PCI=
  CONFIG_MMC_SANDBOX=y
  CONFIG_MMC_SDHCI=y
  CONFIG_MTD=y
+ CONFIG_DM_MTD=y
+ CONFIG_MTD_RAW_NAND=y
+ CONFIG_SYS_MAX_NAND_DEVICE=8
+ CONFIG_SYS_NAND_USE_FLASH_BBT=y
+ CONFIG_NAND_SANDBOX=y
+ CONFIG_SYS_NAND_ONFI_DETECTION=y
+ CONFIG_SYS_NAND_PAGE_SIZE=0x200
  CONFIG_SPI_FLASH_SANDBOX=y
  CONFIG_BOOTDEV_SPI_FLASH=y
  CONFIG_SPI_FLASH_ATMEL=y
@@@ -337,6 -347,7 +346,6 @@@ CONFIG_CMD_DHRYSTONE=
  CONFIG_ECDSA=y
  CONFIG_ECDSA_VERIFY=y
  CONFIG_TPM=y
 -CONFIG_SHA384=y
  CONFIG_ERRNO_STR=y
  CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
  CONFIG_EFI_CAPSULE_ON_DISK=y
index 1fd074b7c770e960c765a035738cdff9e2b20402,0e5f84abbd895dd668dec871d133f90b9c4e1f36..8cfe30bd01bfaefab9c576ce7fcc9bbd4dfdbf1f
@@@ -25,6 -25,7 +25,6 @@@ CONFIG_FIT=
  CONFIG_FIT_SIGNATURE=y
  CONFIG_FIT_VERBOSE=y
  CONFIG_SPL_LOAD_FIT=y
 -CONFIG_DISTRO_DEFAULTS=y
  CONFIG_BOOTSTAGE=y
  CONFIG_BOOTSTAGE_REPORT=y
  CONFIG_BOOTSTAGE_FDT=y
@@@ -50,6 -51,13 +50,13 @@@ CONFIG_SPL_ETH=
  CONFIG_SPL_FS_EXT4=y
  CONFIG_SPL_I2C=y
  CONFIG_SPL_MMC_WRITE=y
+ CONFIG_SPL_MTD=y
+ CONFIG_SPL_NAND_SUPPORT=y
+ CONFIG_SPL_NAND_DRIVERS=y
+ CONFIG_SPL_NAND_ECC=y
+ CONFIG_SPL_NAND_SOFTECC=y
+ CONFIG_SPL_NAND_BASE=y
+ CONFIG_SPL_NAND_IDENT=y
  CONFIG_SPL_DM_SPI_FLASH=y
  CONFIG_SPL_NET=y
  CONFIG_SPL_NOR_SUPPORT=y
@@@ -79,6 -87,7 +86,7 @@@ CONFIG_CMD_GPIO=
  CONFIG_CMD_GPT=y
  CONFIG_CMD_IDE=y
  CONFIG_CMD_I2C=y
+ CONFIG_CMD_MTD=y
  CONFIG_CMD_OSD=y
  CONFIG_CMD_PCI=y
  CONFIG_CMD_REMOTEPROC=y
@@@ -179,6 -188,18 +187,18 @@@ CONFIG_PWRSEQ=
  CONFIG_SPL_PWRSEQ=y
  CONFIG_FS_LOADER=y
  CONFIG_MMC_SANDBOX=y
+ CONFIG_MTD=y
+ CONFIG_DM_MTD=y
+ CONFIG_MTD_CONCAT=y
+ CONFIG_MTD_RAW_NAND=y
+ CONFIG_SYS_MAX_NAND_DEVICE=8
+ CONFIG_SYS_NAND_USE_FLASH_BBT=y
+ CONFIG_NAND_SANDBOX=y
+ CONFIG_SYS_NAND_BLOCK_SIZE=0x2000
+ CONFIG_SYS_NAND_ONFI_DETECTION=y
+ CONFIG_SYS_NAND_PAGE_SIZE=0x200
+ CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
+ CONFIG_SYS_NAND_U_BOOT_OFFS=0x0
  CONFIG_SPI_FLASH_SANDBOX=y
  CONFIG_SPI_FLASH_ATMEL=y
  CONFIG_SPI_FLASH_EON=y
index b8052f1deea66ecaedb6ba279236f04143a7373c,09a7a3453e805311aa07246e0fbdcc2377921571..6a4106a559e2b79334318bb942ff7505f05f8429
@@@ -43,7 -43,7 +43,7 @@@ CONFIG_SPL_LEGACY_IMAGE_CRC_CHECK=
  # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
  CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x1
  # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE is not set
- CONFIG_SPL_MTD_SUPPORT=y
+ CONFIG_SPL_MTD=y
  CONFIG_SPL_NAND_SUPPORT=y
  CONFIG_SYS_MAXARGS=32
  CONFIG_SYS_BOOTM_LEN=0x4000000
@@@ -73,6 -73,7 +73,6 @@@ CONFIG_USE_BOOTFILE=
  CONFIG_BOOTFILE="zImage"
  CONFIG_VERSION_VARIABLE=y
  CONFIG_SPL_DM_SEQ_ALIAS=y
 -# CONFIG_SPL_BLK is not set
  CONFIG_BOOTCOUNT_LIMIT=y
  CONFIG_DM_BOOTCOUNT=y
  CONFIG_DM_BOOTCOUNT_RTC=y