This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5718: NAND boot

Part Number: AM5718
Other Parts Discussed in Thread: DA8XX, PCF8575, TPS65090, TPS65910, TPS62360, TMDXEVM3358

SDK : ti-processor-sdk-linux-rt-am57xx-evm-06.01.00.08

-----------------------------------------------------------------------------------------

Hi

I am using am5718 custom board.

I want to boot SPL / U-BOOT KERNEL from NAND flash.

Can you tell me what needs to be fixed in the SDK?

NAND flash is connected to the GPMC pin.

  • Hi, Biser Gatchev-XID

    There is no modification to the boot loader in the am57xx-idk board above.

    I get the following output in u-boot window.

    =>mtdparts

    Device nand0 not found!

    I modified u-boot as follows:

    (u-boot*/arch/arm/dts/am57xx-idk-common.dtsi)

    &dra7_pmx_core {

    ...

    nandflash_pins_s0: nandflash_pins_s0 {
    pinctrl-single,pins = <
    #if 1
    DRA7XX_CORE_IOPAD(0x3400, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad0.gpmc_ad0 */
    DRA7XX_CORE_IOPAD(0x3404, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad1.gpmc_ad1 */
    DRA7XX_CORE_IOPAD(0x3408, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad2.gpmc_ad2 */
    DRA7XX_CORE_IOPAD(0x340c, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad3.gpmc_ad3 */
    DRA7XX_CORE_IOPAD(0x3410, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad4.gpmc_ad4 */
    DRA7XX_CORE_IOPAD(0x3414, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad5.gpmc_ad5 */
    DRA7XX_CORE_IOPAD(0x3418, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad6.gpmc_ad6 */
    DRA7XX_CORE_IOPAD(0x341c, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_ad7.gpmc_ad7 */
    DRA7XX_CORE_IOPAD(0x34d8, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpmc_wait0.gpmc_wait0 */
    DRA7XX_CORE_IOPAD(0x3690, MUX_MODE0 | PIN_INPUT_PULLUP) /* gpio6_16.gpio6_16 */
    DRA7XX_CORE_IOPAD(0x34b4, MUX_MODE0 | PIN_OUTPUT) /* gpmc_csn0.gpmc_csn0 */
    DRA7XX_CORE_IOPAD(0x34c4, MUX_MODE0 | PIN_OUTPUT) /* gpmc_advn_ale.gpmc_advn_ale */
    DRA7XX_CORE_IOPAD(0x34c8, MUX_MODE0 | PIN_OUTPUT) /* gpmc_oen_ren.gpmc_oen_ren */
    DRA7XX_CORE_IOPAD(0x34cc, MUX_MODE0 | PIN_OUTPUT) /* gpmc_wen.gpmc_wen */
    DRA7XX_CORE_IOPAD(0x34d0, MUX_MODE0 | PIN_OUTPUT) /* gpmc_be0n_cle.gpmc_be0n_cle */
    #else
    0x000 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
    0x004 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
    0x008 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
    0x00c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
    0x010 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
    0x014 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
    0x018 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
    0x01c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
    0x0d8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
    0x290 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpio6_16.gpio6_16 */
    0x0b4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
    0x0c4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
    0x0c8 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
    0x0cc (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
    0x0d0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
    #endif
    >;
    };

    ...

    };

    &elm {
    status = "okay";
    };


    &gpmc {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&nandflash_pins_s0>;
    ranges = <0 0 0x08000000>; /* CS0: 16MB for NAND */
    nand@0,0 {
    reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
    ti,nand-ecc-opt = "bch8";
    ti,elm-id = <&elm>;
    nand-bus-width = <8>;
    gpmc,device-width = <1>;
    gpmc,sync-clk-ps = <0>;
    gpmc,cs-on-ns = <0>;
    gpmc,cs-rd-off-ns = <44>;
    gpmc,cs-wr-off-ns = <44>;
    gpmc,adv-on-ns = <6>;
    gpmc,adv-rd-off-ns = <34>;
    gpmc,adv-wr-off-ns = <44>;
    gpmc,we-on-ns = <0>;
    gpmc,we-off-ns = <40>;
    gpmc,oe-on-ns = <0>;
    gpmc,oe-off-ns = <54>;
    gpmc,access-ns = <64>;
    gpmc,rd-cycle-ns = <82>;
    gpmc,wr-cycle-ns = <82>;
    gpmc,wait-on-read = "true";
    gpmc,wait-on-write = "true";
    gpmc,bus-turnaround-ns = <0>;
    gpmc,cycle2cycle-delay-ns = <0>;
    gpmc,clk-activation-ns = <0>;
    gpmc,wait-monitoring-ns = <0>;
    gpmc,wr-access-ns = <40>;
    gpmc,wr-data-mux-bus-ns = <0>;
    /* MTD partition table */
    /* All SPL-* partitions are sized to minimal length
    * which can be independently programmable. For
    * NAND flash this is equal to size of erase-block */
    #address-cells = <1>;
    #size-cells = <1>;
    partition@0 {
    label = "NAND.SPL";
    reg = <0x00000000 0x000020000>;
    };
    partition@1 {
    label = "NAND.SPL.backup1";
    reg = <0x00020000 0x00020000>;
    };
    partition@2 {
    label = "NAND.SPL.backup2";
    reg = <0x00040000 0x00020000>;
    };
    partition@3 {
    label = "NAND.SPL.backup3";
    reg = <0x00060000 0x00020000>;
    };
    partition@4 {
    label = "NAND.u-boot-spl-os";
    reg = <0x00080000 0x00040000>;
    };
    partition@5 {
    label = "NAND.u-boot";
    reg = <0x000C0000 0x00100000>;
    };
    partition@6 {
    label = "NAND.u-boot-env";
    reg = <0x001C0000 0x00020000>;
    };
    partition@7 {
    label = "NAND.u-boot-env.backup1";
    reg = <0x001E0000 0x00020000>;
    };
    partition@8 {
    label = "NAND.kernel";
    reg = <0x00200000 0x00800000>;
    };
    partition@9 {
    label = "NAND.file-system";
    reg = <0x00A00000 0x0F600000>;
    };
    };
    };

    (u-boot*/include/configs/am57xx_evm.h)

    ...

    #ifdef CONFIG_NAND
    /* NAND: device related configs */
    #define CONFIG_SYS_NAND_5_ADDR_CYCLE
    #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
    CONFIG_SYS_NAND_PAGE_SIZE)
    #define CONFIG_SYS_NAND_PAGE_SIZE 2048
    #define CONFIG_SYS_NAND_OOBSIZE 64
    #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
    /* NAND: driver related configs */
    #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
    #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_SYS_NAND_ECCSIZE 512
    #define CONFIG_SYS_NAND_ECCBYTES 14
    #define CONFIG_SYS_NAND_ONFI_DETECTION
    #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
    #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x000c0000
    /* NAND: SPL related configs */
    #ifdef CONFIG_SPL_OS_BOOT
    #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x00200000 /* kernel offset */
    #endif
    #endif /* !CONFIG_NAND */

    ...

    (u-boot*/board/ti/am57xx/mux_data.h)

    // NAND
    {GPMC_AD0, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad0.gpmc_ad0 */
    {GPMC_AD1, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad1.gpmc_ad1 */
    {GPMC_AD2, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad2.gpmc_ad2 */
    {GPMC_AD3, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad3.gpmc_ad3 */
    {GPMC_AD4, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad4.gpmc_ad4 */
    {GPMC_AD5, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad5.gpmc_ad5 */
    {GPMC_AD6, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad6.gpmc_ad6 */
    {GPMC_AD7, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_ad7.gpmc_ad7 */
    {GPMC_WAIT0, (M0 | PIN_INPUT_PULLUP)}, /* gpmc_wait0.gpio2_28 */
    {GPIO6_16, (M0 | PIN_INPUT_PULLUP)}, /* gpio6_16.gpio6_16 */
    {GPMC_CS0, (M0 | PIN_OUTPUT)}, /* gpmc_cs0.gpmc_cs0 */
    {GPMC_ADVN_ALE, (M0 | PIN_OUTPUT)}, /* gpmc_advn_ale.gpmc_advn_ale */
    {GPMC_OEN_REN, (M0 | PIN_OUTPUT)}, /* gpmc_oen_ren.gpmc_oen_ren */
    {GPMC_WEN, (M0 | PIN_OUTPUT)}, /* gpmc_wen.gpmc_wen */
    {GPMC_BEN0, (M0 | PIN_OUTPUT)}, /* gpmc_ben0.gpmc_ben0 */

    (u-boot*/configs/am57xx_evm_defconfig)

    #
    # Automatically generated file; DO NOT EDIT.
    # U-Boot 2019.01 Configuration
    #
    CONFIG_CREATE_ARCH_SYMLINK=y
    # CONFIG_ARC is not set
    CONFIG_ARM=y
    # CONFIG_M68K is not set
    # CONFIG_MICROBLAZE is not set
    # CONFIG_MIPS is not set
    # CONFIG_NDS32 is not set
    # CONFIG_NIOS2 is not set
    # CONFIG_PPC is not set
    # CONFIG_RISCV is not set
    # CONFIG_SANDBOX is not set
    # CONFIG_SH is not set
    # CONFIG_X86 is not set
    # CONFIG_XTENSA is not set
    CONFIG_SYS_ARCH="arm"
    CONFIG_SYS_CPU="armv7"
    CONFIG_SYS_SOC="omap5"
    CONFIG_SYS_VENDOR="ti"
    CONFIG_SYS_BOARD="am57xx"
    CONFIG_SYS_CONFIG_NAME="am57xx_evm"

    #
    # ARM architecture
    #
    CONFIG_HAS_VBAR=y
    CONFIG_HAS_THUMB2=y
    CONFIG_ARM_ASM_UNIFIED=y
    CONFIG_SYS_ARM_CACHE_CP15=y
    CONFIG_SYS_ARM_MMU=y
    # CONFIG_SYS_ARM_MPU is not set
    CONFIG_ARM_ERRATA_798870=y
    CONFIG_ARM_CORTEX_A15_CVE_2017_5715=y
    CONFIG_CPU_V7A=y
    CONFIG_SYS_ARM_ARCH=7
    CONFIG_SYS_CACHE_SHIFT_6=y
    CONFIG_SYS_CACHELINE_SIZE=64
    # CONFIG_SYS_ARCH_TIMER is not set
    # CONFIG_ARM_SMCCC is not set
    # CONFIG_SEMIHOSTING is not set
    CONFIG_SYS_THUMB_BUILD=y
    CONFIG_SPL_SYS_THUMB_BUILD=y
    # CONFIG_SYS_L2CACHE_OFF is not set
    # CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set
    CONFIG_USE_ARCH_MEMCPY=y
    CONFIG_SPL_USE_ARCH_MEMCPY=y
    CONFIG_USE_ARCH_MEMSET=y
    CONFIG_SPL_USE_ARCH_MEMSET=y
    # CONFIG_ARM64_SUPPORT_AARCH32 is not set
    # CONFIG_ARCH_AT91 is not set
    # CONFIG_TARGET_EDB93XX is not set
    # CONFIG_TARGET_ASPENITE is not set
    # CONFIG_TARGET_GPLUGD is not set
    # CONFIG_ARCH_DAVINCI is not set
    # CONFIG_KIRKWOOD is not set
    # CONFIG_ARCH_MVEBU is not set
    # CONFIG_TARGET_APF27 is not set
    # CONFIG_ORION5X is not set
    # CONFIG_TARGET_SPEAR300 is not set
    # CONFIG_TARGET_SPEAR310 is not set
    # CONFIG_TARGET_SPEAR320 is not set
    # CONFIG_TARGET_SPEAR600 is not set
    # CONFIG_TARGET_STV0991 is not set
    # CONFIG_TARGET_X600 is not set
    # CONFIG_TARGET_WOODBURN is not set
    # CONFIG_TARGET_WOODBURN_SD is not set
    # CONFIG_TARGET_FLEA3 is not set
    # CONFIG_TARGET_MX35PDK is not set
    # CONFIG_ARCH_BCM283X is not set
    # CONFIG_ARCH_BCM6858 is not set
    # CONFIG_TARGET_VEXPRESS_CA15_TC2 is not set
    # CONFIG_ARCH_BCMSTB is not set
    # CONFIG_TARGET_VEXPRESS_CA5X2 is not set
    # CONFIG_TARGET_VEXPRESS_CA9X4 is not set
    # CONFIG_TARGET_BCM23550_W1D is not set
    # CONFIG_TARGET_BCM28155_AP is not set
    # CONFIG_TARGET_BCMCYGNUS is not set
    # CONFIG_TARGET_BCMNSP is not set
    # CONFIG_TARGET_BCMNS2 is not set
    # CONFIG_ARCH_EXYNOS is not set
    # CONFIG_ARCH_S5PC1XX is not set
    # CONFIG_ARCH_HIGHBANK is not set
    # CONFIG_ARCH_INTEGRATOR is not set
    # CONFIG_ARCH_KEYSTONE is not set
    # CONFIG_ARCH_K3 is not set
    CONFIG_ARCH_OMAP2PLUS=y
    # CONFIG_ARCH_MESON is not set
    # CONFIG_ARCH_MEDIATEK is not set
    # CONFIG_ARCH_LPC32XX is not set
    # CONFIG_ARCH_IMX8 is not set
    # CONFIG_ARCH_IMX8M is not set
    # CONFIG_ARCH_MX23 is not set
    # CONFIG_ARCH_MX25 is not set
    # CONFIG_ARCH_MX28 is not set
    # CONFIG_ARCH_MX31 is not set
    # CONFIG_ARCH_MX7ULP is not set
    # CONFIG_ARCH_MX7 is not set
    # CONFIG_ARCH_MX6 is not set
    CONFIG_SPL_LDSCRIPT="arch/arm/mach-omap2/u-boot-spl.lds"
    # CONFIG_ARCH_MX5 is not set
    # CONFIG_ARCH_OWL is not set
    # CONFIG_ARCH_QEMU is not set
    # CONFIG_ARCH_RMOBILE is not set
    # CONFIG_TARGET_S32V234EVB is not set
    # CONFIG_ARCH_SNAPDRAGON is not set
    # CONFIG_ARCH_SOCFPGA is not set
    # CONFIG_ARCH_SUNXI is not set
    # CONFIG_ARCH_VERSAL is not set
    # CONFIG_ARCH_VF610 is not set
    # CONFIG_ARCH_ZYNQ is not set
    # CONFIG_ARCH_ZYNQMP_R5 is not set
    # CONFIG_ARCH_ZYNQMP is not set
    # CONFIG_TEGRA is not set
    # CONFIG_TARGET_VEXPRESS64_AEMV8A is not set
    # CONFIG_TARGET_VEXPRESS64_BASE_FVP is not set
    # CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM is not set
    # CONFIG_TARGET_VEXPRESS64_JUNO is not set
    # CONFIG_TARGET_LS2080A_EMU is not set
    # CONFIG_TARGET_LS2080A_SIMU is not set
    # CONFIG_TARGET_LS1088AQDS is not set
    # CONFIG_TARGET_LS2080AQDS is not set
    # CONFIG_TARGET_LS2080ARDB is not set
    # CONFIG_TARGET_LS2081ARDB is not set
    # CONFIG_TARGET_HIKEY is not set
    # CONFIG_TARGET_POPLAR is not set
    # CONFIG_TARGET_LS1012AQDS is not set
    # CONFIG_TARGET_LS1012ARDB is not set
    # CONFIG_TARGET_LS1012A2G5RDB is not set
    # CONFIG_TARGET_LS1012AFRWY is not set
    # CONFIG_TARGET_LS1012AFRDM is not set
    # CONFIG_TARGET_LS1088ARDB is not set
    # CONFIG_TARGET_LS1021AQDS is not set
    # CONFIG_TARGET_LS1021ATWR is not set
    # CONFIG_TARGET_LS1021AIOT is not set
    # CONFIG_TARGET_LS1043AQDS is not set
    # CONFIG_TARGET_LS1043ARDB is not set
    # CONFIG_TARGET_LS1046AQDS is not set
    # CONFIG_TARGET_LS1046ARDB is not set
    # CONFIG_TARGET_H2200 is not set
    # CONFIG_TARGET_ZIPITZ2 is not set
    # CONFIG_TARGET_COLIBRI_PXA270 is not set
    # CONFIG_ARCH_UNIPHIER is not set
    # CONFIG_STM32 is not set
    # CONFIG_ARCH_STI is not set
    # CONFIG_ARCH_STM32MP is not set
    # CONFIG_ARCH_ROCKCHIP is not set
    # CONFIG_TARGET_THUNDERX_88XX is not set
    # CONFIG_ARCH_ASPEED is not set
    # CONFIG_TI_SECURE_DEVICE is not set
    CONFIG_SYS_TEXT_BASE=0x80800000
    CONFIG_TI_I2C_BOARD_DETECT=y
    CONFIG_EEPROM_BUS_ADDRESS=0
    CONFIG_EEPROM_CHIP_ADDRESS=0x50
    CONFIG_TI_COMMON_CMD_OPTIONS=y
    CONFIG_SPL_GPIO_SUPPORT=y
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SYS_MALLOC_F_LEN=0x2000
    # CONFIG_OMAP34XX is not set
    # CONFIG_OMAP44XX is not set
    CONFIG_OMAP54XX=y
    # CONFIG_TI814X is not set
    # CONFIG_TI816X is not set
    # CONFIG_AM43XX is not set
    # CONFIG_AM33XX is not set
    CONFIG_ISW_ENTRY_ADDR=0x40301350
    CONFIG_DRA7XX=y
    # CONFIG_TARGET_CL_SOM_AM57X is not set
    # CONFIG_TARGET_CM_T54 is not set
    # CONFIG_TARGET_OMAP5_UEVM is not set
    # CONFIG_TARGET_DRA7XX_EVM is not set
    CONFIG_TARGET_AM57XX_EVM=y
    CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC=31219

    #
    # Voltage Domain OPP selections
    #
    CONFIG_DRA7_MPU_OPP_NOM=y
    # CONFIG_DRA7_DSPEVE_OPP_NOM is not set
    # CONFIG_DRA7_DSPEVE_OPP_OD is not set
    CONFIG_DRA7_DSPEVE_OPP_HIGH=y
    # CONFIG_DRA7_IVA_OPP_NOM is not set
    # CONFIG_DRA7_IVA_OPP_OD is not set
    CONFIG_DRA7_IVA_OPP_HIGH=y
    # CONFIG_DRA7_GPU_OPP_NOM is not set
    # CONFIG_DRA7_GPU_OPP_OD is not set
    CONFIG_DRA7_GPU_OPP_HIGH=y
    # CONFIG_TFABOOT is not set
    CONFIG_SPL_MMC_SUPPORT=y
    CONFIG_SPL_SERIAL_SUPPORT=y
    # CONFIG_SPL_DRIVERS_MISC_SUPPORT is not set
    CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000
    CONFIG_SPL=y
    CONFIG_IDENT_STRING=""
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_FAT_SUPPORT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI_FLASH_SUPPORT=y
    CONFIG_SPL_SPI_SUPPORT=y
    CONFIG_ARMV7_LPAE=y
    # CONFIG_CMD_DEKBLOB is not set
    # CONFIG_CMD_HDMIDETECT is not set

    #
    # ARM debug
    #
    # CONFIG_DEBUG_LL is not set
    CONFIG_SMBIOS_PRODUCT_NAME="am57xx"
    # CONFIG_DEBUG_UART is not set
    CONFIG_AHCI=y

    #
    # General setup
    #
    CONFIG_LOCALVERSION=""
    CONFIG_LOCALVERSION_AUTO=y
    CONFIG_CC_OPTIMIZE_FOR_SIZE=y
    CONFIG_DISTRO_DEFAULTS=y
    CONFIG_ENV_VARS_UBOOT_CONFIG=y
    CONFIG_NR_DRAM_BANKS=2
    # CONFIG_SYS_BOOT_GET_CMDLINE is not set
    # CONFIG_SYS_BOOT_GET_KBD is not set
    CONFIG_SYS_MALLOC_F=y
    CONFIG_TPL_SYS_MALLOC_F_LEN=0x2000
    CONFIG_EXPERT=y
    CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
    # CONFIG_TOOLS_DEBUG is not set
    # CONFIG_PHYS_64BIT is not set

    #
    # Boot images
    #
    CONFIG_ANDROID_BOOT_IMAGE=y
    CONFIG_FIT=y
    CONFIG_FIT_EXTERNAL_OFFSET=0x0
    CONFIG_FIT_ENABLE_SHA256_SUPPORT=y
    # CONFIG_FIT_SIGNATURE is not set
    # CONFIG_FIT_VERBOSE is not set
    # CONFIG_FIT_BEST_MATCH is not set
    CONFIG_SPL_FIT=y
    # CONFIG_SPL_FIT_PRINT is not set
    # CONFIG_SPL_FIT_SIGNATURE is not set
    CONFIG_SPL_LOAD_FIT=y
    # CONFIG_SPL_LOAD_FIT_FULL is not set
    # CONFIG_SPL_FIT_IMAGE_POST_PROCESS is not set
    CONFIG_SPL_FIT_SOURCE=""
    CONFIG_SPL_FIT_GENERATOR=""
    CONFIG_IMAGE_FORMAT_LEGACY=y
    CONFIG_OF_BOARD_SETUP=y
    # CONFIG_OF_SYSTEM_SETUP is not set
    # CONFIG_OF_STDOUT_VIA_ALIAS is not set
    CONFIG_SYS_EXTRA_OPTIONS=""
    CONFIG_ARCH_FIXUP_FDT_MEMORY=y

    #
    # API
    #
    # CONFIG_API is not set

    #
    # Boot timing
    #
    # CONFIG_BOOTSTAGE is not set
    CONFIG_BOOTSTAGE_RECORD_COUNT=30
    CONFIG_SPL_BOOTSTAGE_RECORD_COUNT=5
    CONFIG_BOOTSTAGE_STASH_ADDR=0
    CONFIG_BOOTSTAGE_STASH_SIZE=0x1000

    #
    # Boot media
    #
    # CONFIG_NAND_BOOT is not set
    # CONFIG_ONENAND_BOOT is not set
    # CONFIG_QSPI_BOOT is not set
    # CONFIG_SATA_BOOT is not set
    # CONFIG_SD_BOOT is not set
    # CONFIG_SPI_BOOT is not set
    CONFIG_BOOTDELAY=2
    CONFIG_USE_BOOTARGS=y
    CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board"
    # CONFIG_USE_BOOTCOMMAND is not set

    #
    # Console
    #
    CONFIG_MENU=y
    # CONFIG_CONSOLE_RECORD is not set
    # CONFIG_DISABLE_CONSOLE is not set
    CONFIG_LOGLEVEL=4
    CONFIG_SPL_LOGLEVEL=4
    CONFIG_TPL_LOGLEVEL=4
    # CONFIG_SILENT_CONSOLE is not set
    # CONFIG_PRE_CONSOLE_BUFFER is not set
    # CONFIG_CONSOLE_MUX is not set
    # CONFIG_SYS_CONSOLE_IS_IN_ENV is not set
    # CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
    # CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
    CONFIG_SYS_CONSOLE_INFO_QUIET=y
    # CONFIG_SYS_STDIO_DEREGISTER is not set

    #
    # Logging
    #
    # CONFIG_LOG is not set
    CONFIG_SUPPORT_RAW_INITRD=y
    CONFIG_DEFAULT_FDT_FILE=""
    # CONFIG_MISC_INIT_R is not set
    CONFIG_VERSION_VARIABLE=y
    CONFIG_BOARD_LATE_INIT=y
    CONFIG_DISPLAY_CPUINFO=y
    CONFIG_DISPLAY_BOARDINFO=y
    # CONFIG_DISPLAY_BOARDINFO_LATE is not set

    #
    # Start-up hooks
    #
    # CONFIG_ARCH_EARLY_INIT_R is not set
    # CONFIG_ARCH_MISC_INIT is not set
    CONFIG_BOARD_EARLY_INIT_F=y
    # CONFIG_BOARD_EARLY_INIT_R is not set
    # CONFIG_LAST_STAGE_INIT is not set

    #
    # Security support
    #
    CONFIG_HASH=y

    #
    # Update support
    #
    # CONFIG_UPDATE_TFTP is not set

    #
    # Blob list
    #
    # CONFIG_BLOBLIST is not set

    #
    # SPL / TPL
    #
    CONFIG_SUPPORT_SPL=y
    CONFIG_SPL_DFU_NO_RESET=y
    CONFIG_SPL_FRAMEWORK=y
    CONFIG_SPL_BOARD_INIT=y
    # CONFIG_SPL_BOOTROM_SUPPORT is not set
    # CONFIG_SPL_BOOTCOUNT_LIMIT is not set
    CONFIG_SPL_RAW_IMAGE_SUPPORT=y
    CONFIG_SPL_LEGACY_IMAGE_SUPPORT=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    # CONFIG_TPL_SYS_MALLOC_SIMPLE is not set
    CONFIG_SPL_STACK_R=y
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x100000
    CONFIG_SPL_SEPARATE_BSS=y
    CONFIG_SPL_BANNER_PRINT=y
    CONFIG_TPL_BANNER_PRINT=y
    # CONFIG_SPL_SKIP_CLEAR_BSS is not set
    CONFIG_SPL_DISPLAY_PRINT=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x300
    # CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set
    # CONFIG_SPL_CRC32_SUPPORT is not set
    # CONFIG_SPL_MD5_SUPPORT is not set
    # CONFIG_SPL_SHA1_SUPPORT is not set
    # CONFIG_SPL_SHA256_SUPPORT is not set
    # CONFIG_SPL_FIT_IMAGE_TINY is not set
    # CONFIG_SPL_CPU_SUPPORT is not set
    # CONFIG_SPL_CRYPTO_SUPPORT is not set
    CONFIG_SPL_HASH_SUPPORT=y
    # CONFIG_TPL_HASH_SUPPORT is not set
    CONFIG_SPL_DMA_SUPPORT=y
    CONFIG_SPL_ENV_SUPPORT=y
    # CONFIG_SPL_SAVEENV is not set
    # CONFIG_SPL_ETH_SUPPORT is not set
    CONFIG_SPL_EXT_SUPPORT=y
    # CONFIG_SPL_FPGA_SUPPORT is not set
    CONFIG_SPL_I2C_SUPPORT=y
    # CONFIG_SPL_DM_MAILBOX is not set
    # CONFIG_SPL_MMC_WRITE is not set
    # CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT is not set
    CONFIG_SPL_MTD_SUPPORT=y
    # CONFIG_SPL_MUSB_NEW_SUPPORT is not set
    # CONFIG_SPL_NAND_SUPPORT is not set
    # CONFIG_SPL_NET_SUPPORT is not set
    # CONFIG_SPL_NO_CPU_SUPPORT is not set
    # CONFIG_SPL_NOR_SUPPORT is not set
    # CONFIG_SPL_XIP_SUPPORT is not set
    # CONFIG_SPL_ONENAND_SUPPORT is not set
    CONFIG_SPL_OS_BOOT=y
    CONFIG_SPL_PAYLOAD="u-boot.bin"
    # CONFIG_SPL_PCI is not set
    # CONFIG_SPL_PCH_SUPPORT is not set
    # CONFIG_SPL_POST_MEM_SUPPORT is not set
    # CONFIG_SPL_DM_RESET is not set
    CONFIG_SPL_POWER_SUPPORT=y
    # CONFIG_SPL_POWER_DOMAIN is not set
    CONFIG_SPL_RAM_SUPPORT=y
    # CONFIG_SPL_RAM_DEVICE is not set
    # CONFIG_SPL_REMOTEPROC is not set
    # CONFIG_SPL_RTC_SUPPORT is not set
    # CONFIG_SPL_SATA_SUPPORT is not set
    CONFIG_SPL_SPI_FLASH_TINY=y
    CONFIG_SPL_SPI_LOAD=y
    CONFIG_SPL_THERMAL=y
    # CONFIG_SPL_USB_HOST_SUPPORT is not set
    CONFIG_SPL_USB_GADGET=y
    # CONFIG_SPL_USB_ETHER is not set
    CONFIG_SPL_DFU=y
    CONFIG_SPL_DFU_RAM=y
    # CONFIG_SPL_USB_SDP_SUPPORT is not set
    # CONFIG_SPL_WATCHDOG_SUPPORT is not set
    CONFIG_SPL_YMODEM_SUPPORT=y
    # CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC is not set
    # CONFIG_SPL_OPTEE is not set

    #
    # Command line interface
    #
    CONFIG_CMDLINE=y
    CONFIG_HUSH_PARSER=y
    CONFIG_CMDLINE_EDITING=y
    CONFIG_AUTO_COMPLETE=y
    CONFIG_SYS_LONGHELP=y
    CONFIG_SYS_PROMPT="SANION> "

    #
    # Autoboot options
    #
    CONFIG_AUTOBOOT=y
    # CONFIG_AUTOBOOT_KEYED is not set

    #
    # Commands
    #

    #
    # Info commands
    #
    CONFIG_CMD_BDI=y
    # CONFIG_CMD_CONFIG is not set
    CONFIG_CMD_CONSOLE=y
    # CONFIG_CMD_CPU is not set
    # CONFIG_CMD_LICENSE is not set

    #
    # Boot commands
    #
    CONFIG_CMD_BOOTD=y
    CONFIG_CMD_BOOTM=y
    CONFIG_CMD_BOOTZ=y
    CONFIG_CMD_BOOTEFI=y
    CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
    # CONFIG_CMD_BOOTEFI_HELLO is not set
    # CONFIG_CMD_BOOTEFI_SELFTEST is not set
    # CONFIG_CMD_BOOTMENU is not set
    # CONFIG_CMD_DTIMG is not set
    CONFIG_CMD_ELF=y
    CONFIG_CMD_FDT=y
    CONFIG_CMD_GO=y
    CONFIG_CMD_RUN=y
    CONFIG_CMD_IMI=y
    # CONFIG_CMD_IMLS is not set
    CONFIG_CMD_XIMG=y
    CONFIG_CMD_SPL=y
    CONFIG_CMD_SPL_NAND_OFS=0x00080000
    CONFIG_CMD_SPL_WRITE_SIZE=0x2000
    # CONFIG_CMD_FITUPD is not set
    # CONFIG_CMD_THOR_DOWNLOAD is not set
    # CONFIG_CMD_ZBOOT is not set

    #
    # Environment commands
    #
    CONFIG_CMD_ASKENV=y
    CONFIG_CMD_EXPORTENV=y
    CONFIG_CMD_IMPORTENV=y
    CONFIG_CMD_EDITENV=y
    # CONFIG_CMD_GREPENV is not set
    CONFIG_CMD_SAVEENV=y
    CONFIG_CMD_ENV_EXISTS=y
    # CONFIG_CMD_ENV_CALLBACK is not set
    # CONFIG_CMD_ENV_FLAGS is not set

    #
    # Memory commands
    #
    # CONFIG_CMD_BINOP is not set
    CONFIG_CMD_CRC32=y
    # CONFIG_CRC32_VERIFY is not set
    # CONFIG_LOOPW is not set
    # CONFIG_CMD_MD5SUM is not set
    # CONFIG_CMD_MEMINFO is not set
    CONFIG_CMD_MEMORY=y
    # CONFIG_CMD_MEMTEST is not set
    # CONFIG_CMD_MX_CYCLIC is not set
    # CONFIG_CMD_SHA1SUM is not set
    # CONFIG_CMD_STRINGS is not set

    #
    # Compression commands
    #
    # CONFIG_CMD_LZMADEC is not set
    # CONFIG_CMD_UNZIP is not set
    # CONFIG_CMD_ZIP is not set

    #
    # Device access commands
    #
    # CONFIG_CMD_ARMFLASH is not set
    # CONFIG_CMD_ADC is not set
    # CONFIG_CMD_BIND is not set
    # CONFIG_CMD_CLK is not set
    # CONFIG_CMD_DEMO is not set
    CONFIG_CMD_DFU=y
    # CONFIG_CMD_DM is not set
    CONFIG_CMD_FASTBOOT=y
    # CONFIG_CMD_FDC is not set
    # CONFIG_CMD_FLASH is not set
    # CONFIG_CMD_FPGAD is not set
    # CONFIG_CMD_FUSE is not set
    CONFIG_CMD_GPIO=y
    CONFIG_CMD_GPT=y
    CONFIG_RANDOM_UUID=y
    # CONFIG_CMD_GPT_RENAME is not set
    # CONFIG_CMD_IDE is not set
    # CONFIG_CMD_IO is not set
    # CONFIG_CMD_IOTRACE is not set
    CONFIG_CMD_I2C=y
    CONFIG_CMD_LOADB=y
    CONFIG_CMD_LOADS=y
    CONFIG_CMD_MMC=y
    # CONFIG_CMD_MMC_RPMB is not set
    # CONFIG_CMD_MMC_SWRITE is not set
    # CONFIG_CMD_MTD is not set
    CONFIG_CMD_NAND=y
    # CONFIG_CMD_MMC_SPI is not set
    # CONFIG_CMD_ONENAND is not set
    # CONFIG_CMD_OSD is not set
    CONFIG_CMD_PART=y
    # CONFIG_CMD_PCI is not set
    # CONFIG_CMD_PCMCIA is not set
    # CONFIG_CMD_PINMUX is not set
    # CONFIG_CMD_POWEROFF is not set
    # CONFIG_CMD_READ is not set
    # CONFIG_CMD_SATA is not set
    # CONFIG_CMD_SAVES is not set
    CONFIG_CMD_SCSI=y
    # CONFIG_CMD_SDRAM is not set
    CONFIG_CMD_SF=y
    # CONFIG_CMD_SF_TEST is not set
    CONFIG_CMD_SPI=y
    # CONFIG_CMD_TSI148 is not set
    # CONFIG_CMD_UNIVERSE is not set
    CONFIG_CMD_USB=y
    # CONFIG_CMD_USB_SDP is not set
    # CONFIG_CMD_USB_MASS_STORAGE is not set

    #
    # Shell scripting commands
    #
    CONFIG_CMD_ECHO=y
    CONFIG_CMD_ITEST=y
    CONFIG_CMD_SOURCE=y
    # CONFIG_CMD_SETEXPR is not set
    CONFIG_CMD_NET=y
    CONFIG_CMD_BOOTP=y
    CONFIG_CMD_DHCP=y
    CONFIG_BOOTP_BOOTPATH=y
    CONFIG_BOOTP_DNS=y
    # CONFIG_BOOTP_DNS2 is not set
    CONFIG_BOOTP_GATEWAY=y
    CONFIG_BOOTP_HOSTNAME=y
    # CONFIG_BOOTP_PREFER_SERVERIP is not set
    CONFIG_BOOTP_SUBNETMASK=y
    # CONFIG_BOOTP_NTPSERVER is not set
    CONFIG_BOOTP_PXE=y
    CONFIG_BOOTP_PXE_CLIENTARCH=0x15
    CONFIG_BOOTP_VCI_STRING="U-Boot.armv7"
    CONFIG_CMD_TFTPBOOT=y
    # CONFIG_CMD_TFTPPUT is not set
    # CONFIG_CMD_TFTPSRV is not set
    CONFIG_NET_TFTP_VARS=y
    # CONFIG_CMD_RARP is not set
    CONFIG_CMD_NFS=y
    CONFIG_CMD_MII=y
    CONFIG_CMD_PING=y
    # CONFIG_CMD_CDP is not set
    # CONFIG_CMD_SNTP is not set
    # CONFIG_CMD_DNS is not set
    # CONFIG_CMD_LINK_LOCAL is not set
    # CONFIG_CMD_ETHSW is not set
    CONFIG_CMD_PXE=y
    # CONFIG_CMD_WOL is not set

    #
    # Misc commands
    #
    # CONFIG_CMD_BSP is not set
    # CONFIG_CMD_BKOPS_ENABLE is not set
    CONFIG_CMD_BLOCK_CACHE=y
    # CONFIG_CMD_CACHE is not set
    # CONFIG_CMD_CONITRACE is not set
    # CONFIG_CMD_DISPLAY is not set
    # CONFIG_CMD_LED is not set
    # CONFIG_CMD_DATE is not set
    CONFIG_CMD_TIME=y
    # CONFIG_CMD_GETTIME is not set
    CONFIG_CMD_MISC=y
    # CONFIG_MP is not set
    # CONFIG_CMD_TIMER is not set
    # CONFIG_CMD_QFW is not set
    # CONFIG_CMD_TERMINAL is not set
    # CONFIG_CMD_UUID is not set

    #
    # TI specific command line interface
    #
    CONFIG_CMD_DDR3=y

    #
    # Power commands
    #
    # CONFIG_CMD_PMIC is not set
    CONFIG_CMD_REGULATOR=y

    #
    # Security commands
    #
    # CONFIG_CMD_AES is not set
    # CONFIG_CMD_BLOB is not set
    # CONFIG_CMD_HASH is not set

    #
    # Firmware commands
    #

    #
    # Filesystem commands
    #
    # CONFIG_CMD_BTRFS is not set
    CONFIG_CMD_EXT2=y
    CONFIG_CMD_EXT4=y
    CONFIG_CMD_EXT4_WRITE=y
    CONFIG_CMD_FAT=y
    CONFIG_CMD_FS_GENERIC=y
    # CONFIG_CMD_FS_UUID is not set
    # CONFIG_CMD_JFFS2 is not set
    CONFIG_CMD_MTDPARTS=y
    CONFIG_MTDIDS_DEFAULT="nand0=nand.0"
    CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
    # CONFIG_CMD_REISER is not set
    # CONFIG_CMD_ZFS is not set

    #
    # Debug commands
    #
    # CONFIG_CMD_BEDBUG is not set
    # CONFIG_CMD_DIAG is not set
    # CONFIG_CMD_LOG is not set
    # CONFIG_CMD_TRACE is not set
    # CONFIG_CMD_UBI is not set

    #
    # Partition Types
    #
    CONFIG_PARTITIONS=y
    # CONFIG_MAC_PARTITION is not set
    # CONFIG_SPL_MAC_PARTITION is not set
    CONFIG_DOS_PARTITION=y
    CONFIG_SPL_DOS_PARTITION=y
    CONFIG_ISO_PARTITION=y
    # CONFIG_SPL_ISO_PARTITION is not set
    # CONFIG_AMIGA_PARTITION is not set
    # CONFIG_SPL_AMIGA_PARTITION is not set
    CONFIG_EFI_PARTITION=y
    CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
    CONFIG_EFI_PARTITION_ENTRIES_OFF=0
    CONFIG_SPL_EFI_PARTITION=y
    CONFIG_PARTITION_UUIDS=y
    CONFIG_SPL_PARTITION_UUIDS=y
    # CONFIG_PARTITION_TYPE_GUID is not set
    CONFIG_SUPPORT_OF_CONTROL=y
    CONFIG_DTC=y

    #
    # Device Tree Control
    #
    CONFIG_OF_CONTROL=y
    # CONFIG_OF_BOARD_FIXUP is not set
    CONFIG_SPL_OF_CONTROL=y
    # CONFIG_OF_LIVE is not set
    CONFIG_OF_SEPARATE=y
    # CONFIG_OF_EMBED is not set
    # CONFIG_OF_BOARD is not set
    # CONFIG_OF_PRIOR_STAGE is not set
    CONFIG_DEFAULT_DEVICE_TREE="am572x-idk"
    CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-beagle-x15-revc am572x-idk am571x-idk am574x-idk"
    # CONFIG_MULTI_DTB_FIT is not set
    # CONFIG_SPL_MULTI_DTB_FIT is not set
    CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clocks clock-names interrupt-parent"
    # CONFIG_SPL_OF_PLATDATA is not set
    CONFIG_MKIMAGE_DTC_PATH="dtc"

    #
    # Environment
    #
    # CONFIG_ENV_IS_IN_EEPROM is not set
    CONFIG_ENV_IS_IN_FAT=y
    # CONFIG_ENV_IS_IN_EXT4 is not set
    # CONFIG_ENV_IS_IN_FLASH is not set
    CONFIG_ENV_IS_IN_MMC=y
    # CONFIG_ENV_IS_IN_NAND is not set
    # CONFIG_ENV_IS_IN_NVRAM is not set
    # CONFIG_ENV_IS_IN_ONENAND is not set
    # CONFIG_ENV_IS_IN_REMOTE is not set
    # CONFIG_ENV_IS_IN_SPI_FLASH is not set
    # CONFIG_ENV_IS_IN_UBI is not set
    CONFIG_ENV_FAT_INTERFACE="mmc"
    CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
    CONFIG_ENV_FAT_FILE="uboot.env"
    # CONFIG_USE_DEFAULT_ENV_FILE is not set
    CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
    CONFIG_SPL_ENV_IS_NOWHERE=y
    CONFIG_SPL_ENV_IS_IN_MMC=y
    CONFIG_SPL_ENV_IS_IN_FAT=y
    CONFIG_NET=y
    # CONFIG_NET_RANDOM_ETHADDR is not set
    # CONFIG_NETCONSOLE is not set

    #
    # Device Drivers
    #

    #
    # Generic Driver Options
    #
    CONFIG_DM=y
    CONFIG_SPL_DM=y
    CONFIG_DM_WARN=y
    # CONFIG_DM_DEBUG is not set
    CONFIG_DM_DEVICE_REMOVE=y
    # CONFIG_SPL_DM_DEVICE_REMOVE is not set
    CONFIG_DM_STDIO=y
    CONFIG_DM_SEQ_ALIAS=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    # CONFIG_SPL_REGMAP is not set
    CONFIG_SYSCON=y
    # CONFIG_DEVRES is not set
    CONFIG_SIMPLE_BUS=y
    CONFIG_SPL_SIMPLE_BUS=y
    CONFIG_OF_TRANSLATE=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_DM_DEV_READ_INLINE=y
    # CONFIG_ADC is not set
    # CONFIG_ADC_EXYNOS is not set
    # CONFIG_ADC_SANDBOX is not set
    # CONFIG_SARADC_MESON is not set
    # CONFIG_SARADC_ROCKCHIP is not set
    # CONFIG_SATA is not set
    CONFIG_LIBATA=y
    CONFIG_SCSI_AHCI=y

    #
    # SATA/SCSI device support
    #
    # CONFIG_AHCI_PCI is not set
    # CONFIG_SATA_CEVA is not set
    CONFIG_DWC_AHCI=y
    # CONFIG_DWC_AHSATA is not set
    # CONFIG_FSL_SATA is not set
    # CONFIG_MVSATA_IDE is not set
    # CONFIG_SATA_MV is not set
    # CONFIG_SATA_SIL is not set
    # CONFIG_SATA_SIL3114 is not set
    # CONFIG_AXI is not set
    CONFIG_BLK=y
    CONFIG_HAVE_BLOCK_DEVICE=y
    CONFIG_SPL_BLK=y
    CONFIG_BLOCK_CACHE=y
    # CONFIG_SPL_BLOCK_CACHE is not set
    # CONFIG_IDE is not set
    # CONFIG_BOOTCOUNT_LIMIT is not set

    #
    # Clock
    #
    # CONFIG_CLK is not set
    # CONFIG_CPU is not set

    #
    # Hardware crypto devices
    #
    # CONFIG_FSL_CAAM is not set
    # CONFIG_SYS_FSL_SEC_BE is not set
    # CONFIG_SYS_FSL_SEC_LE is not set
    # CONFIG_IMX8M_DRAM is not set
    # CONFIG_IMX8M_LPDDR4 is not set
    # CONFIG_IMX8M_DDR4 is not set
    CONFIG_SAVED_DRAM_TIMING_BASE=0x180000

    #
    # Demo for driver model
    #
    # CONFIG_DM_DEMO is not set
    # CONFIG_BOARD is not set

    #
    # DFU support
    #
    CONFIG_DFU=y
    CONFIG_DFU_OVER_USB=y
    # CONFIG_DFU_TFTP is not set
    CONFIG_DFU_MMC=y
    CONFIG_DFU_RAM=y
    CONFIG_DFU_SF=y

    #
    # DMA Support
    #
    # CONFIG_DMA is not set
    # CONFIG_TI_EDMA3 is not set

    #
    # Fastboot support
    #
    CONFIG_FASTBOOT=y
    CONFIG_USB_FUNCTION_FASTBOOT=y
    # CONFIG_UDP_FUNCTION_FASTBOOT is not set
    CONFIG_FASTBOOT_BUF_ADDR=0x82000000
    CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
    CONFIG_FASTBOOT_USB_DEV=1
    CONFIG_FASTBOOT_FLASH=y
    CONFIG_FASTBOOT_FLASH_MMC=y
    CONFIG_FASTBOOT_FLASH_MMC_DEV=1
    CONFIG_FASTBOOT_GPT_NAME="gpt"
    CONFIG_FASTBOOT_MBR_NAME="mbr"
    CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
    # CONFIG_FIRMWARE is not set

    #
    # FPGA support
    #
    # CONFIG_FPGA_ALTERA is not set
    # CONFIG_FPGA_SOCFPGA is not set
    # CONFIG_FPGA_XILINX is not set
    # CONFIG_FPGA_SPARTAN3 is not set

    #
    # GPIO Support
    #
    CONFIG_DM_GPIO=y
    # CONFIG_ALTERA_PIO is not set
    # CONFIG_DWAPB_GPIO is not set
    # CONFIG_AT91_GPIO is not set
    # CONFIG_ATMEL_PIO4 is not set
    # CONFIG_DA8XX_GPIO is not set
    # CONFIG_INTEL_BROADWELL_GPIO is not set
    # CONFIG_INTEL_ICH6_GPIO is not set
    # CONFIG_IMX_RGPIO2P is not set
    # CONFIG_HSDK_CREG_GPIO is not set
    # CONFIG_LPC32XX_GPIO is not set
    # CONFIG_MSM_GPIO is not set
    # CONFIG_MXC_GPIO is not set
    CONFIG_OMAP_GPIO=y
    # CONFIG_CMD_PCA953X is not set
    # CONFIG_PCF8575_GPIO is not set
    # CONFIG_ROCKCHIP_GPIO is not set
    # CONFIG_XILINX_GPIO is not set
    # CONFIG_CMD_TCA642X is not set
    # CONFIG_TEGRA_GPIO is not set
    # CONFIG_TEGRA186_GPIO is not set
    # CONFIG_VYBRID_GPIO is not set
    # CONFIG_DM_74X164 is not set
    # CONFIG_DM_PCA953X is not set
    # CONFIG_MPC8XXX_GPIO is not set

    #
    # Hardware Spinlock Support
    #
    # CONFIG_DM_HWSPINLOCK is not set

    #
    # I2C support
    #
    CONFIG_DM_I2C=y
    # CONFIG_DM_I2C_COMPAT is not set
    # CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set
    # CONFIG_DM_I2C_GPIO is not set
    # CONFIG_SYS_I2C_FSL is not set
    # CONFIG_SYS_I2C_DW is not set
    # CONFIG_SYS_I2C_INTEL is not set
    # CONFIG_SYS_I2C_IMX_LPI2C is not set
    # CONFIG_SYS_I2C_MXC is not set
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_SYS_OMAP24_I2C_SLAVE=1
    CONFIG_SYS_OMAP24_I2C_SPEED=100000
    # CONFIG_SYS_I2C_ROCKCHIP is not set
    # CONFIG_SYS_I2C_MVTWSI is not set
    CONFIG_SYS_I2C_BUS_MAX=5
    # CONFIG_SYS_I2C_IHS is not set
    # CONFIG_I2C_MUX is not set
    CONFIG_INPUT=y
    # CONFIG_SPL_INPUT is not set
    # CONFIG_DM_KEYBOARD is not set
    # CONFIG_SPL_DM_KEYBOARD is not set
    # CONFIG_CROS_EC_KEYB is not set
    # CONFIG_TWL4030_INPUT is not set

    #
    # LED Support
    #
    # CONFIG_LED is not set
    # CONFIG_SPL_LED is not set
    # CONFIG_LED_STATUS is not set

    #
    # Mailbox Controller Support
    #
    # CONFIG_DM_MAILBOX is not set

    #
    # Memory Controller drivers
    #

    #
    # Multifunction device drivers
    #
    CONFIG_MISC=y
    # CONFIG_ALTERA_SYSID is not set
    # CONFIG_ATSHA204A is not set
    # CONFIG_ROCKCHIP_EFUSE is not set
    # CONFIG_VEXPRESS_CONFIG is not set
    # CONFIG_CROS_EC is not set
    # CONFIG_DS4510 is not set
    # CONFIG_FSL_SEC_MON is not set
    # CONFIG_MXC_OCOTP is not set
    # CONFIG_NUVOTON_NCT6102D is not set
    # CONFIG_PWRSEQ is not set
    # CONFIG_PCA9551_LED is not set
    # CONFIG_TWL4030_LED is not set
    # CONFIG_WINBOND_W83627 is not set
    # CONFIG_I2C_EEPROM is not set
    # CONFIG_SPL_I2C_EEPROM is not set
    CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET=0x0
    # CONFIG_GDSYS_RXAUI_CTRL is not set
    # CONFIG_GDSYS_IOEP is not set
    # CONFIG_MPC83XX_SERDES is not set
    # CONFIG_FS_LOADER is not set
    # CONFIG_GDSYS_SOC is not set
    # CONFIG_IHS_FPGA is not set

    #
    # MMC Host controller Support
    #
    CONFIG_MMC=y
    CONFIG_MMC_WRITE=y
    # CONFIG_MMC_BROKEN_CD is not set
    CONFIG_DM_MMC=y
    CONFIG_SPL_DM_MMC=y
    # CONFIG_ARM_PL180_MMCI is not set
    CONFIG_MMC_QUIRKS=y
    CONFIG_MMC_HW_PARTITIONING=y
    # CONFIG_SUPPORT_EMMC_RPMB is not set
    # CONFIG_MMC_IO_VOLTAGE is not set
    # CONFIG_SPL_MMC_IO_VOLTAGE is not set
    # CONFIG_MMC_HS400_SUPPORT is not set
    # CONFIG_SPL_MMC_HS400_SUPPORT is not set
    # CONFIG_MMC_HS200_SUPPORT is not set
    # CONFIG_SPL_MMC_HS200_SUPPORT is not set
    CONFIG_MMC_VERBOSE=y
    # CONFIG_MMC_TRACE is not set
    # CONFIG_SPL_MMC_TINY is not set
    # CONFIG_MMC_DW is not set
    # CONFIG_MMC_MXC is not set
    # CONFIG_MMC_PCI is not set
    CONFIG_MMC_OMAP_HS=y
    CONFIG_MMC_OMAP_HS_ADMA=y
    # CONFIG_MMC_SDHCI is not set
    # CONFIG_STM32_SDMMC2 is not set
    # CONFIG_FTSDC010 is not set
    # CONFIG_FSL_ESDHC is not set

    #
    # MTD Support
    #
    # CONFIG_MTD is not set
    # CONFIG_MTD_NOR_FLASH is not set
    # CONFIG_MTD_DEVICE is not set
    # CONFIG_FLASH_CFI_DRIVER is not set
    CONFIG_NAND=y

    #
    # SPI Flash Support
    #
    CONFIG_DM_SPI_FLASH=y
    CONFIG_SPI_FLASH=y
    # CONFIG_SPI_FLASH_SFDP_SUPPORT is not set
    # CONFIG_SPI_FLASH_BAR is not set
    # CONFIG_SF_DUAL_FLASH is not set
    # CONFIG_SPI_FLASH_ATMEL is not set
    # CONFIG_SPI_FLASH_EON is not set
    # CONFIG_SPI_FLASH_GIGADEVICE is not set
    # CONFIG_SPI_FLASH_ISSI is not set
    # CONFIG_SPI_FLASH_MACRONIX is not set
    CONFIG_SPI_FLASH_SPANSION=y
    # CONFIG_SPI_FLASH_STMICRO is not set
    # CONFIG_SPI_FLASH_SST is not set
    CONFIG_SPI_FLASH_WINBOND=y
    # CONFIG_SPI_FLASH_XMC is not set
    CONFIG_SPI_FLASH_USE_4K_SECTORS=y
    # CONFIG_SPI_FLASH_DATAFLASH is not set
    # CONFIG_SPI_FLASH_MTD is not set

    #
    # UBI support
    #
    # CONFIG_CONFIG_UBI_SILENCE_MSG is not set
    # CONFIG_MTD_UBI is not set
    # CONFIG_BITBANGMII is not set
    # CONFIG_MV88E6352_SWITCH is not set
    CONFIG_PHYLIB=y
    # CONFIG_PHY_ADDR_ENABLE is not set
    # CONFIG_B53_SWITCH is not set
    # CONFIG_MV88E61XX_SWITCH is not set
    # CONFIG_PHYLIB_10G is not set
    # CONFIG_PHY_AQUANTIA is not set
    # CONFIG_PHY_ATHEROS is not set
    # CONFIG_PHY_BROADCOM is not set
    # CONFIG_PHY_CORTINA is not set
    # CONFIG_PHY_DAVICOM is not set
    # CONFIG_PHY_ET1011C is not set
    # CONFIG_PHY_LXT is not set
    # CONFIG_PHY_MARVELL is not set
    # CONFIG_PHY_MESON_GXL is not set
    CONFIG_PHY_MICREL=y
    CONFIG_PHY_MICREL_KSZ90X1=y
    # CONFIG_PHY_MICREL_KSZ8XXX is not set
    # CONFIG_PHY_MSCC is not set
    # CONFIG_PHY_NATSEMI is not set
    # CONFIG_PHY_REALTEK is not set
    # CONFIG_PHY_SMSC is not set
    # CONFIG_PHY_TERANETICS is not set
    # CONFIG_PHY_TI is not set
    # CONFIG_PHY_VITESSE is not set
    # CONFIG_PHY_XILINX is not set
    # CONFIG_PHY_FIXED is not set
    # CONFIG_FSL_PFE is not set
    CONFIG_DM_ETH=y
    CONFIG_NETDEVICES=y
    CONFIG_PHY_GIGE=y
    # CONFIG_ALTERA_TSE is not set
    # CONFIG_BCM_SF2_ETH is not set
    # CONFIG_DWC_ETH_QOS is not set
    # CONFIG_E1000 is not set
    # CONFIG_ETH_DESIGNWARE is not set
    # CONFIG_ETHOC is not set
    # CONFIG_FTMAC100 is not set
    # CONFIG_FTGMAC100 is not set
    # CONFIG_MACB is not set
    # CONFIG_RGMII is not set
    CONFIG_MII=y
    # CONFIG_RTL8139 is not set
    # CONFIG_RTL8169 is not set
    # CONFIG_SMC911X is not set
    # CONFIG_SUN7I_GMAC is not set
    # CONFIG_SUN4I_EMAC is not set
    # CONFIG_SUN8I_EMAC is not set
    # CONFIG_SH_ETHER is not set
    CONFIG_DRIVER_TI_CPSW=y
    # CONFIG_DRIVER_TI_EMAC is not set
    # CONFIG_DRIVER_TI_KEYSTONE_NET is not set
    # CONFIG_SYS_DPAA_QBMAN is not set
    # CONFIG_TSEC_ENET is not set
    # CONFIG_PCI is not set

    #
    # PHY Subsystem
    #
    CONFIG_PHY=y
    # CONFIG_SPL_PHY is not set
    # CONFIG_NOP_PHY is not set
    CONFIG_PIPE3_PHY=y
    # CONFIG_MSM8916_USB_PHY is not set
    CONFIG_OMAP_USB2_PHY=y
    # CONFIG_MVEBU_COMPHY_SUPPORT is not set

    #
    # Pin controllers
    #
    # CONFIG_PINCTRL is not set
    # CONFIG_SPL_PINCTRL is not set

    #
    # Power
    #

    #
    # Power Domain Support
    #
    # CONFIG_POWER_DOMAIN is not set
    CONFIG_DM_PMIC=y
    CONFIG_PMIC_CHILDREN=y
    CONFIG_SPL_PMIC_CHILDREN=y
    # CONFIG_PMIC_ACT8846 is not set
    # CONFIG_PMIC_AS3722 is not set
    # CONFIG_DM_PMIC_FAN53555 is not set
    # CONFIG_DM_PMIC_PFUZE100 is not set
    # CONFIG_DM_PMIC_MAX77686 is not set
    # CONFIG_DM_PMIC_MAX8998 is not set
    # CONFIG_DM_PMIC_MC34708 is not set
    # CONFIG_PMIC_MAX8997 is not set
    # CONFIG_PMIC_PM8916 is not set
    # CONFIG_PMIC_RK8XX is not set
    # CONFIG_PMIC_S2MPS11 is not set
    # CONFIG_DM_PMIC_SANDBOX is not set
    # CONFIG_PMIC_S5M8767 is not set
    # CONFIG_PMIC_RN5T567 is not set
    # CONFIG_PMIC_TPS65090 is not set
    CONFIG_PMIC_PALMAS=y
    # CONFIG_PMIC_LP873X is not set
    # CONFIG_PMIC_LP87565 is not set
    # CONFIG_POWER_MC34VR500 is not set
    # CONFIG_DM_PMIC_TPS65910 is not set
    # CONFIG_PMIC_STPMU1 is not set
    CONFIG_DM_REGULATOR=y
    # CONFIG_SPL_DM_REGULATOR is not set
    # CONFIG_REGULATOR_PWM is not set
    # CONFIG_DM_REGULATOR_FIXED is not set
    # CONFIG_DM_REGULATOR_GPIO is not set
    CONFIG_DM_REGULATOR_PALMAS=y
    CONFIG_DM_REGULATOR_PBIAS=y
    # CONFIG_DM_REGULATOR_TPS62360 is not set
    # CONFIG_DM_PWM is not set
    # CONFIG_PWM_SANDBOX is not set
    # CONFIG_U_QE is not set
    # CONFIG_RAM is not set

    #
    # Remote Processor drivers
    #

    #
    # Reset Controller Support
    #
    # CONFIG_DM_RESET is not set

    #
    # Real Time Clock
    #
    # CONFIG_DM_RTC is not set
    # CONFIG_SPL_DM_RTC is not set
    # CONFIG_RTC_PL031 is not set
    # CONFIG_RTC_S35392A is not set
    # CONFIG_RTC_MC146818 is not set
    # CONFIG_RTC_M41T62 is not set
    CONFIG_SCSI=y
    CONFIG_DM_SCSI=y

    #
    # Serial drivers
    #
    CONFIG_BAUDRATE=115200
    CONFIG_REQUIRE_SERIAL_CONSOLE=y
    # CONFIG_SPECIFY_CONSOLE_INDEX is not set
    CONFIG_SERIAL_PRESENT=y
    CONFIG_SPL_SERIAL_PRESENT=y
    CONFIG_TPL_SERIAL_PRESENT=y
    CONFIG_DM_SERIAL=y
    # CONFIG_SERIAL_RX_BUFFER is not set
    # CONFIG_SERIAL_SEARCH_ALL is not set
    CONFIG_SPL_DM_SERIAL=y
    # CONFIG_TPL_DM_SERIAL is not set
    # CONFIG_DEBUG_UART_SKIP_INIT is not set
    # CONFIG_ALTERA_JTAG_UART is not set
    # CONFIG_ALTERA_UART is not set
    # CONFIG_ARC_SERIAL is not set
    # CONFIG_ATMEL_USART is not set
    # CONFIG_BCM6345_SERIAL is not set
    # CONFIG_FSL_LINFLEXUART is not set
    # CONFIG_FSL_LPUART is not set
    # CONFIG_MVEBU_A3700_UART is not set
    # CONFIG_NULLDEV_SERIAL is not set
    CONFIG_SYS_NS16550=y
    # CONFIG_PL01X_SERIAL is not set
    # CONFIG_MSM_SERIAL is not set
    CONFIG_OMAP_SERIAL=y
    # CONFIG_PXA_SERIAL is not set
    # CONFIG_SIFIVE_SERIAL is not set
    # CONFIG_MTK_SERIAL is not set
    # CONFIG_SMEM is not set

    #
    # Sound support
    #
    # CONFIG_SOUND is not set

    #
    # SOC (System On Chip) specific Drivers
    #
    # CONFIG_SOC_TI is not set
    CONFIG_SPI=y
    CONFIG_DM_SPI=y
    CONFIG_SPI_MEM=y
    # CONFIG_ALTERA_SPI is not set
    # CONFIG_ATCSPI200_SPI is not set
    # CONFIG_ATMEL_SPI is not set
    # CONFIG_BCMSTB_SPI is not set
    # CONFIG_CADENCE_QSPI is not set
    # CONFIG_DESIGNWARE_SPI is not set
    # CONFIG_EXYNOS_SPI is not set
    # CONFIG_FSL_DSPI is not set
    # CONFIG_ICH_SPI is not set
    # CONFIG_MTK_QSPI is not set
    # CONFIG_MVEBU_A3700_SPI is not set
    # CONFIG_PL022_SPI is not set
    # CONFIG_ROCKCHIP_SPI is not set
    # CONFIG_SUN4I_SPI is not set
    # CONFIG_TEGRA114_SPI is not set
    # CONFIG_TEGRA20_SFLASH is not set
    # CONFIG_TEGRA20_SLINK is not set
    # CONFIG_TEGRA210_QSPI is not set
    CONFIG_TI_QSPI=y
    # CONFIG_XILINX_SPI is not set
    # CONFIG_SOFT_SPI is not set
    # CONFIG_CF_SPI is not set
    # CONFIG_FSL_ESPI is not set
    # CONFIG_FSL_QSPI is not set
    # CONFIG_SH_SPI is not set
    # CONFIG_SH_QSPI is not set
    # CONFIG_KIRKWOOD_SPI is not set
    # CONFIG_LPC32XX_SSP is not set
    # CONFIG_MPC8XXX_SPI is not set
    # CONFIG_MXC_SPI is not set
    # CONFIG_MXS_SPI is not set
    CONFIG_OMAP3_SPI=y

    #
    # SPMI support
    #
    # CONFIG_SPMI is not set

    #
    # System reset device drivers
    #
    # CONFIG_SYSRESET is not set
    # CONFIG_SYSRESET_SYSCON is not set
    # CONFIG_SYSRESET_WATCHDOG is not set
    # CONFIG_SYSRESET_MCP83XX is not set
    # CONFIG_TEE is not set
    # CONFIG_OPTEE is not set
    CONFIG_DM_THERMAL=y
    CONFIG_TI_DRA7_THERMAL=y

    #
    # Timer Support
    #
    # CONFIG_TIMER is not set

    #
    # TPM support
    #
    CONFIG_USB=y
    CONFIG_DM_USB=y
    CONFIG_SPL_DM_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y

    #
    # USB Host Controller Drivers
    #
    CONFIG_USB_HOST=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_XHCI_DWC3=y
    CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
    # CONFIG_USB_XHCI_PCI is not set
    CONFIG_USB_XHCI_DRA7XX_INDEX=0
    # CONFIG_USB_XHCI_FSL is not set
    # CONFIG_USB_EHCI_HCD is not set
    # CONFIG_USB_OHCI_HCD is not set
    # CONFIG_USB_UHCI_HCD is not set
    # CONFIG_USB_DWC2 is not set
    CONFIG_USB_DWC3=y
    CONFIG_USB_DWC3_GADGET=y

    #
    # Platform Glue Driver Support
    #
    # CONFIG_USB_DWC3_OMAP is not set
    CONFIG_USB_DWC3_GENERIC=y

    #
    # PHY Subsystem
    #
    # CONFIG_USB_DWC3_PHY_OMAP is not set
    # CONFIG_USB_DWC3_PHY_SAMSUNG is not set

    #
    # Legacy MUSB Support
    #
    # CONFIG_USB_MUSB_HCD is not set
    # CONFIG_USB_MUSB_UDC is not set
    # CONFIG_USB_OMAP3 is not set
    # CONFIG_USB_AM35X is not set

    #
    # MUSB Controller Driver
    #
    # CONFIG_USB_MUSB_HOST is not set
    # CONFIG_USB_MUSB_GADGET is not set
    # CONFIG_USB_MUSB_TI is not set
    # CONFIG_USB_MUSB_OMAP2PLUS is not set
    # CONFIG_USB_MUSB_AM35X is not set
    # CONFIG_USB_MUSB_DSPS is not set
    # CONFIG_USB_MUSB_PIO_ONLY is not set

    #
    # USB Phy
    #
    # CONFIG_TWL4030_USB is not set
    # CONFIG_OMAP_USB_PHY is not set
    # CONFIG_ROCKCHIP_USB2_PHY is not set

    #
    # ULPI drivers
    #

    #
    # USB peripherals
    #
    CONFIG_USB_STORAGE=y
    # CONFIG_USB_KEYBOARD is not set
    CONFIG_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0xd022
    # CONFIG_USB_GADGET_ATMEL_USBA is not set
    # CONFIG_USB_GADGET_BCM_UDC_OTG_PHY is not set
    # CONFIG_USB_GADGET_DWC2_OTG is not set
    # CONFIG_CI_UDC is not set
    CONFIG_USB_GADGET_VBUS_DRAW=2
    CONFIG_USB_GADGET_DUALSPEED=y
    CONFIG_USB_GADGET_DOWNLOAD=y
    # CONFIG_USB_FUNCTION_MASS_STORAGE is not set
    # CONFIG_USB_FUNCTION_ROCKUSB is not set
    # CONFIG_USB_FUNCTION_SDP is not set
    # CONFIG_USB_FUNCTION_THOR is not set
    # CONFIG_USB_ETHER is not set
    # CONFIG_USB_HOST_ETHER is not set

    #
    # Graphics support
    #
    # CONFIG_DM_VIDEO is not set
    # CONFIG_SYS_WHITE_ON_BLACK is not set
    # CONFIG_NO_FB_CLEAR is not set

    #
    # TrueType Fonts
    #
    # CONFIG_VIDEO_VESA is not set
    # CONFIG_VIDEO_LCD_ANX9804 is not set
    # CONFIG_VIDEO_LCD_SSD2828 is not set
    # CONFIG_VIDEO_MVEBU is not set
    # CONFIG_VIDEO_OMAP3 is not set
    # CONFIG_I2C_EDID is not set
    # CONFIG_DISPLAY is not set
    # CONFIG_VIDEO_TEGRA20 is not set
    # CONFIG_VIDEO_BRIDGE is not set
    # CONFIG_VIDEO is not set
    # CONFIG_LCD is not set
    # CONFIG_VIDEO_SIMPLE is not set
    # CONFIG_VIDEO_DT_SIMPLEFB is not set
    # CONFIG_OSD is not set

    #
    # VirtIO Drivers
    #
    # CONFIG_VIRTIO_MMIO is not set

    #
    # 1-Wire support
    #
    # CONFIG_W1 is not set

    #
    # 1-wire EEPROM support
    #
    # CONFIG_W1_EEPROM is not set

    #
    # Watchdog Timer Support
    #
    # CONFIG_WATCHDOG is not set
    # CONFIG_WATCHDOG_RESET_DISABLE is not set
    # CONFIG_BCM2835_WDT is not set
    # CONFIG_OMAP_WATCHDOG is not set
    # CONFIG_ULP_WATCHDOG is not set
    # CONFIG_WDT is not set
    # CONFIG_IMX_WATCHDOG is not set
    # CONFIG_PHYS_TO_BUS is not set

    #
    # File systems
    #
    # CONFIG_FS_BTRFS is not set
    # CONFIG_FS_CBFS is not set
    CONFIG_FS_EXT4=y
    CONFIG_EXT4_WRITE=y
    CONFIG_FS_FAT=y
    CONFIG_FAT_WRITE=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
    # CONFIG_FS_JFFS2 is not set
    # CONFIG_UBIFS_SILENCE_MSG is not set
    # CONFIG_FS_CRAMFS is not set
    # CONFIG_YAFFS2 is not set

    #
    # Library routines
    #
    # CONFIG_BCH is not set
    # CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
    # CONFIG_DYNAMIC_CRC_TABLE is not set
    CONFIG_HAVE_PRIVATE_LIBGCC=y
    CONFIG_LIB_UUID=y
    CONFIG_PRINTF=y
    CONFIG_SPL_PRINTF=y
    CONFIG_SPRINTF=y
    CONFIG_SPL_SPRINTF=y
    CONFIG_STRTO=y
    CONFIG_SPL_STRTO=y
    CONFIG_IMAGE_SPARSE=y
    CONFIG_IMAGE_SPARSE_FILLBUF_SIZE=0x80000
    CONFIG_USE_PRIVATE_LIBGCC=y
    CONFIG_SYS_HZ=1000
    # CONFIG_USE_TINY_PRINTF is not set
    # CONFIG_PANIC_HANG is not set
    CONFIG_REGEX=y
    CONFIG_LIB_RAND=y
    # CONFIG_LIB_HW_RAND is not set
    # CONFIG_SPL_TINY_MEMSET is not set
    # CONFIG_TPL_TINY_MEMSET is not set
    # CONFIG_BITREVERSE is not set
    # CONFIG_CMD_DHRYSTONE is not set

    #
    # Security support
    #
    # CONFIG_AES is not set
    # CONFIG_RSA is not set
    # CONFIG_TPM is not set
    # CONFIG_SPL_TPM is not set

    #
    # Android Verified Boot
    #
    # CONFIG_LIBAVB is not set

    #
    # Hashing Support
    #
    CONFIG_SHA1=y
    CONFIG_SHA256=y
    # CONFIG_SHA_HW_ACCEL is not set
    CONFIG_MD5=y

    #
    # Compression Support
    #
    # CONFIG_LZ4 is not set
    # CONFIG_LZMA is not set
    # CONFIG_LZO is not set
    # CONFIG_SPL_LZ4 is not set
    # CONFIG_SPL_LZO is not set
    # CONFIG_SPL_GZIP is not set
    # CONFIG_ERRNO_STR is not set
    # CONFIG_HEXDUMP is not set
    CONFIG_OF_LIBFDT=y
    CONFIG_OF_LIBFDT_OVERLAY=y
    CONFIG_SPL_OF_LIBFDT=y
    # CONFIG_TPL_OF_LIBFDT is not set

    #
    # System tables
    #
    CONFIG_GENERATE_SMBIOS_TABLE=y
    CONFIG_SMBIOS_MANUFACTURER="ti"
    CONFIG_EFI_LOADER=y
    CONFIG_EFI_UNICODE_CAPITALIZATION=y
    CONFIG_OPTEE_TZDRAM_SIZE=0x0000000
    CONFIG_OPTEE_TZDRAM_BASE=0x00000000
    # CONFIG_UNIT_TEST is not set

    ----------------------------------------------------------------------------

    Our nand flash configuration is the same as the TMDXEVM3358.

    Is there anything else I need to fix?

  • Sunmin,

    since you are using an AM57xx device, I suggest you look at the "DRA7" device implementation for NAND boot in U-Boot as a starting point, as those devices are based on the same silicon platform, so much of the software applies as-is (also as evident from the code sharing in U-Boot and Kernel between AM57xx and DRA7).

    Specifically, look at these files:

    • configs/dra7xx_evm_defconfig
    • arch/arm/dts/dra71-evm.dts
    • arch/arm/dts/dra72-evm.dts
    • arch/arm/dts/dra7-evm.dts

    Regards, Andreas

  • Hi , 

    Thank you for the reply.

    I found the problem while modifying and testing the above.

    --------------------------------------------------------------------------------

    &gpmc {

    ...

    compatible = "ti,omap2-nand";

    ...};

    --------------------------------------------------------------------------------

    I add the above to the device tree but the omap2-nand driver does not exist.

    Can you tell me what to do?

  • Hi , 

    I'm also using 8bit nand flash.

    Can you see if my settings are wrong?

    The chip is MT29F2G08ABAEAWP-IT.

    Is there an am57xx series nand flash porting guide?

    &gpmc {
    status = "okay";
    ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
    nand@0,0 {
    compatible = "ti,omap2-nand";
    reg = <0 0 4>; /* device IO registers */
    interrupt-parent = <&gpmc>;
    interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
    <1 IRQ_TYPE_NONE>; /* termcount */
    rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
    ti,nand-xfer-type = "prefetch-dma";
    ti,nand-ecc-opt = "bch8";
    ti,elm-id = <&elm>;
    nand-bus-width = <8>;
    gpmc,device-width = <1>;
    gpmc,sync-clk-ps = <0>;
    gpmc,cs-on-ns = <0>;
    gpmc,cs-rd-off-ns = <80>;
    gpmc,cs-wr-off-ns = <80>;
    gpmc,adv-on-ns = <0>;
    gpmc,adv-rd-off-ns = <60>;
    gpmc,adv-wr-off-ns = <60>;
    gpmc,we-on-ns = <10>;
    gpmc,we-off-ns = <50>;
    gpmc,oe-on-ns = <4>;
    gpmc,oe-off-ns = <40>;
    gpmc,access-ns = <40>;
    gpmc,wr-access-ns = <80>;
    gpmc,rd-cycle-ns = <80>;
    gpmc,wr-cycle-ns = <80>;
    gpmc,bus-turnaround-ns = <0>;
    gpmc,cycle2cycle-delay-ns = <0>;
    gpmc,clk-activation-ns = <0>;
    gpmc,wr-data-mux-bus-ns = <0>;
    /* MTD partition table */
    /* All SPL-* partitions are sized to minimal length
    * which can be independently programmable. For
    * NAND flash this is equal to size of erase-block */
    #address-cells = <1>;
    #size-cells = <1>;
    partition@0 {
    label = "NAND.SPL";
    reg = <0x00000000 0x000020000>;
    };
    partition@1 {
    label = "NAND.SPL.backup1";
    reg = <0x00020000 0x00020000>;
    };
    partition@2 {
    label = "NAND.SPL.backup2";
    reg = <0x00040000 0x00020000>;
    };
    partition@3 {
    label = "NAND.SPL.backup3";
    reg = <0x00060000 0x00020000>;
    };
    partition@4 {
    label = "NAND.u-boot-spl-os";
    reg = <0x00080000 0x00040000>;
    };
    partition@5 {
    label = "NAND.u-boot";
    reg = <0x000c0000 0x00100000>;
    };
    partition@6 {
    label = "NAND.u-boot-env";
    reg = <0x001c0000 0x00020000>;
    };
    partition@7 {
    label = "NAND.u-boot-env.backup1";
    reg = <0x001e0000 0x00020000>;
    };
    partition@8 {
    label = "NAND.kernel";
    reg = <0x00200000 0x00800000>;
    };
    partition@9 {
    label = "NAND.file-system";
    reg = <0x00a00000 0x0f600000>;
    };
    };
    };

  • I am waiting for a reply. Please.

  • Sunmin,

    as discussed in the other thread (https://e2e.ti.com/support/processors/f/791/t/874163), you will actually have to look at arch/arm/include/asm/arch-omap5/mem.h, as the U-Boot driver uses hard coded values and not what you define in the device tree (only Linux uses that). I missed this aspect the first time I looked at your question (if you "grep" the U-Boot source tree for the different NAND-related dts properties you will notice they do not link back into the actual driver). Also MTD partitions will be defined using the U-Boot environment, and not through DTS. Lastly, the offset were SPL ("MLO") loads U-Boot is controlled through CONFIG_SYS_NAND_U_BOOT_OFFS, so make sure to get this right too.

    Regards, Andreas