From 93f3362762f049c63517a73ebbbf6dd8c0e26244 Mon Sep 17 00:00:00 2001 From: Adam Ford Date: Wed, 15 Aug 2018 13:22:03 -0500 Subject: [PATCH] ARM: configs: Add da850evm_nand to boot from NAND The DA850-EVM supports booting from NAND when used with the UI expander board. da850evm_nand will create an ais file that can be burned to NAND and booted while storing the env in NAND along with some partitions tables for storing kernel, dtb and rootfs in NAND. Signed-off-by: Adam Ford --- board/davinci/da8xxevm/MAINTAINERS | 1 + configs/da850evm_nand_defconfig | 60 ++++++++++++++++++++++++++++++++++++++ include/configs/da850evm.h | 11 +++++-- 3 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 configs/da850evm_nand_defconfig diff --git a/board/davinci/da8xxevm/MAINTAINERS b/board/davinci/da8xxevm/MAINTAINERS index 99b4786..5958986 100644 --- a/board/davinci/da8xxevm/MAINTAINERS +++ b/board/davinci/da8xxevm/MAINTAINERS @@ -5,6 +5,7 @@ F: board/davinci/da8xxevm/ F: include/configs/da850evm.h F: configs/da850_am18xxevm_defconfig F: configs/da850evm_defconfig +F: configs/da850evm_nand_defconfig F: configs/da850evm_direct_nor_defconfig OMAPL138_LCDK BOARD diff --git a/configs/da850evm_nand_defconfig b/configs/da850evm_nand_defconfig new file mode 100644 index 0000000..11d6a2b --- /dev/null +++ b/configs/da850evm_nand_defconfig @@ -0,0 +1,60 @@ +CONFIG_ARM=y +CONFIG_ARCH_DAVINCI=y +CONFIG_SYS_TEXT_BASE=0xc1080000 +CONFIG_TARGET_DA850EVM=y +CONFIG_TI_COMMON_CMD_OPTIONS=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL=y +CONFIG_SPL_SPI_FLASH_SUPPORT=y +CONFIG_SPL_SPI_SUPPORT=y +CONFIG_DEFAULT_DEVICE_TREE="da850-evm" +CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH" +CONFIG_BOOTDELAY=3 +CONFIG_VERSION_VARIABLE=y +# CONFIG_DISPLAY_CPUINFO is not set +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_BOARD_EARLY_INIT_F=y +CONFIG_SPL_BOARD_INIT=y +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_NAND_SUPPORT=y +CONFIG_SPL_SPI_LOAD=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="U-Boot > " +CONFIG_CRC32_VERIFY=y +# CONFIG_CMD_EEPROM is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_GPT is not set +CONFIG_CMD_NAND=y +# CONFIG_CMD_SETEXPR is not set +# CONFIG_CMD_TIME is not set +# CONFIG_CMD_EXT4 is not set +CONFIG_CMD_MTDPARTS=y +CONFIG_MTDIDS_DEFAULT="nand0=nand512" +CONFIG_MTDPARTS_DEFAULT="mtdparts=nand512:128k(u-boot env),512k(u-boot),128k(spl-os),8m(kernel),-(rootfs)" +CONFIG_CMD_DIAG=y +CONFIG_OF_CONTROL=y +CONFIG_ENV_IS_IN_NAND=y +CONFIG_DM=y +CONFIG_DM_GPIO=y +CONFIG_DA8XX_GPIO=y +CONFIG_DM_I2C=y +CONFIG_MTD_PARTITIONS=y +CONFIG_NAND=y +CONFIG_NAND_DAVINCI=y +CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y +CONFIG_SYS_NAND_U_BOOT_OFFS=0x28000 +CONFIG_SPL_NAND_SIMPLE=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_SPI_FLASH_MTD=y +CONFIG_DM_SERIAL=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_DAVINCI_SPI=y +# CONFIG_FAT_WRITE is not set +CONFIG_USE_TINY_PRINTF=y diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h index 7e52fea..14a6b9e 100644 --- a/include/configs/da850evm.h +++ b/include/configs/da850evm.h @@ -36,6 +36,7 @@ #define CONFIG_SYS_OSCIN_FREQ 24000000 #define CONFIG_SYS_TIMERBASE DAVINCI_TIMER0_BASE #define CONFIG_SYS_HZ_CLOCK clk_get(DAVINCI_AUXCLK_CLKID) +#define CONFIG_SKIP_LOWLEVEL_INIT #ifdef CONFIG_DIRECT_NOR_BOOT #define CONFIG_ARCH_CPU_INIT @@ -145,8 +146,11 @@ * Flash & Environment */ #ifdef CONFIG_NAND +#ifdef CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */ #define CONFIG_ENV_SIZE (128 << 10) +#define CONFIG_ENV_SECT_SIZE (128 << 10) +#endif #define CONFIG_SYS_NAND_USE_FLASH_BBT #define CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST #define CONFIG_SYS_NAND_PAGE_2K @@ -160,8 +164,7 @@ #define CONFIG_SYS_NAND_5_ADDR_CYCLE #define CONFIG_SYS_NAND_PAGE_SIZE (2 << 10) #define CONFIG_SYS_NAND_BLOCK_SIZE (128 << 10) -#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x28000 -#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x60000 +#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x40000 #define CONFIG_SYS_NAND_U_BOOT_DST 0xc1080000 #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST #define CONFIG_SYS_NAND_U_BOOT_RELOC_SP (CONFIG_SYS_NAND_U_BOOT_DST - \ @@ -210,9 +213,11 @@ #endif #ifdef CONFIG_USE_SPIFLASH +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH #define CONFIG_ENV_SIZE (64 << 10) #define CONFIG_ENV_OFFSET (512 << 10) -#define CONFIG_ENV_SECT_SIZE (64 << 10) +#define CONFIG_ENV_SECT_SIZE (64 << 10) +#endif #ifdef CONFIG_SPL_BUILD #undef CONFIG_SPI_FLASH_MTD #endif