SK-AM64B: UBOOT 2025 SPL Unable To Start UBOOT When Configure UBOOT to Load Environment from SPI Flash

Part Number: SK-AM64B


Hi TI Guru,

   I tried to reconfigure both the UBOOT R5 loader (ti-k3-r5-loader) and uboot to load the enviornment from SPI Flash By Using the enviornment in UBOOT configure menu. For SPI Parameters, I use 0 for Mode and BUS, 25 MHZ for Speed, and configure with reductant enviornment. All the offsets and size are according to my flash layout, and here is the DTS portion:

    flash@0 {
          compatible = "jedec,spi-nor";
        reg = <0x0>;
        spi-tx-bus-width = <8>;
        spi-rx-bus-width = <8>;
        spi-max-frequency = <25000000>;
        cdns,tshsl-ns = <60>;
        cdns,tsd2d-ns = <60>;
        cdns,tchsh-ns = <60>;
        cdns,tslch-ns = <60>;
        cdns,read-delay = <4>;
        cdns,phy-mode;
        bootph-all;
        
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;
            bootph-all;

                partition@0 {
                label = "ospi.tiboot3";
                reg = <0x0 0x100000>;  /* 1 MB */
            };

            partition@100000 {
                label = "ospi.tispl";
                reg = <0x100000 0x200000>;  /* 2 MB */
            };

            partition@300000 {
                label = "ospi.u-boot";        /* 2 MB */
                reg = <0x300000 0x200000>;
            };

            partition@500000 {
                label = "ospi.env";        /* 256 KB */
                reg = <0x500000 0x40000>;
            };

            partition@540000 {
                label = "ospi.env.backup";    /* 256 KB */
                reg = <0x540000 0x40000>;
            };

            partition@580000 {
                label = "ospi.fpga.default";  /* 4 MB */
                reg = <0x580000 0x400000>;
            };

            partition@980000 {
                label = "ospi.fw.default"; /* 25 MB */
                reg = <0x980000 0x01900000>;
            };

            partition@2280000 {
                label = "ospi.fw.selector"; /* 256 KB */
                reg = <0x02280000 0x40000>;
            };

            partition@22c0000 {
                label = "ospi.fpga.update";  /* 4 MB */
                reg = <0x22c0000 0x400000>;
            };

            partition@26c0000 {
                label = "ospi.fw.update"; /* 25 MB */
                reg = <0x026c0000 0x01900000>;
            };

            partition@3fc0000 {
                label = "ospi.phypattern";  /* 256 KB */
                reg = <0x03fc0000 0x40000>;
                bootph-all;
            };

        };
    };

 

However, when booting up, UBOOT Hangs after Two "Authentications Passed" Print outs from SPL. So what are the correct SPI Parameters to set, and What UBOOT Configuration MACROS for the correct setup? Any UBOOT Source Code patches needed?

  • Hi,

                partition@500000 {
                    label = "ospi.env";        /* 256 KB */
                    reg = <0x500000 0x40000>;
                };

                partition@540000 {
                    label = "ospi.env.backup";    /* 256 KB */
                    reg = <0x540000 0x40000>;
                };

    Which SDK version do you use?

    According to the following instruction (section Flash layout for OSPI NOR) for SDK 11.1, the ospi.env is located as 0x740000, instead of 0x500000.

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/11_01_05_03/exports/docs/linux/Foundational_Components/U-Boot/UG-QSPI.html

  • Hi Bin,

        Does it matter? I customized the flash partitions because we are going to have both Update and Default firmware on the 64MB Flash as my flash layout shows. Also, I am not using SDK directly, but use Buildroot to compile it from the TI git repository and it is 11.02.08 as the git tag shows.  on UBOOT Configure menu, I also change set the flash offsets and size accordingly. 

  • Hi,

    I am routing your query to our OSPI expert for comments. He is currently traveling internationally, please expect delayed response.

  • Thanks, Bin. 

    Paul

  • Will you attach the full boot log?
    Best,
    -Hong

  • CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_SYS_MALLOC_F_LEN=0x80000
    CONFIG_SPL_GPIO=y
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SOC_K3_AM642=y
    CONFIG_TARGET_AM642_R5_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x7019b800
    CONFIG_ENV_SIZE=0x40000
    CONFIG_ENV_OFFSET=0x500000
    CONFIG_ENV_SECT_SIZE=0x40000
    CONFIG_DM_GPIO=y
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="k3-am642-r5-sk"
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_DRIVERS_MISC=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_TEXT_BASE=0x70000000
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x7019b800
    CONFIG_SPL_BSS_MAX_SIZE=0x4000
    CONFIG_SPL_STACK_R=y
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x400000
    CONFIG_SPL_SIZE_LIMIT=0x190000
    CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x4000
    CONFIG_ENV_OFFSET_REDUND=0x540000
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI_FLASH_SUPPORT=y
    CONFIG_SPL_SPI=y
    CONFIG_ENV_ADDR=0x500000
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
    # CONFIG_DISPLAY_CPUINFO is not set
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
    CONFIG_SPL_MAX_SIZE=0x180000
    CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
    CONFIG_SPL_BOARD_INIT=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_SEPARATE_BSS=y
    CONFIG_SPL_SYS_MALLOC=y
    CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
    CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x84000000
    CONFIG_SPL_SYS_MALLOC_SIZE=0x1000000
    CONFIG_SPL_EARLY_BSS=y
    CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x800
    CONFIG_SPL_DMA=y
    CONFIG_SPL_ENV_SUPPORT=y
    CONFIG_SPL_ETH=y
    CONFIG_SPL_I2C=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_NET=y
    CONFIG_SPL_NET_VCI_STRING="AM64X U-Boot R5 SPL"
    CONFIG_SPL_DM_RESET=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_DEVICE=y
    CONFIG_SPL_REMOTEPROC=y
    # CONFIG_SPL_SPI_FLASH_TINY is not set
    CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
    CONFIG_SPL_SPI_LOAD=y
    CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
    CONFIG_SPL_THERMAL=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_HUSH_PARSER=y
    CONFIG_CMD_ASKENV=y
    CONFIG_CMD_DFU=y
    CONFIG_CMD_GPT=y
    CONFIG_CMD_MMC=y
    CONFIG_CMD_REMOTEPROC=y
    CONFIG_CMD_USB=y
    CONFIG_CMD_USB_MASS_STORAGE=y
    # CONFIG_CMD_SETEXPR is not set
    CONFIG_CMD_DHCP=y
    CONFIG_CMD_TIME=y
    CONFIG_CMD_FAT=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_OF_LIST="k3-am642-r5-sk k3-am642-r5-evm"
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    CONFIG_ENV_OVERWRITE=y
    CONFIG_ENV_IS_IN_SPI_FLASH=y
    CONFIG_ENV_SPI_MAX_HZ=25000000
    CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
    CONFIG_SYS_RELOC_GD_ENV_ADDR=y
    CONFIG_SPL_ENV_IS_NOWHERE=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    CONFIG_SPL_REGMAP=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_CLK=y
    CONFIG_SPL_CLK=y
    CONFIG_SPL_CLK_CCF=y
    CONFIG_CLK_CCF=y
    CONFIG_CLK_TI_SCI=y
    CONFIG_DFU_MMC=y
    CONFIG_DFU_RAM=y
    CONFIG_DFU_SF=y
    CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
    CONFIG_DMA_CHANNELS=y
    CONFIG_TI_K3_NAVSS_UDMA=y
    CONFIG_TI_SCI_PROTOCOL=y
    CONFIG_DA8XX_GPIO=y
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_ESM_K3=y
    CONFIG_MMC_SDHCI=y
    CONFIG_MMC_SDHCI_ADMA=y
    CONFIG_SPL_MMC_SDHCI_ADMA=y
    CONFIG_MMC_SDHCI_AM654=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_DM_SPI_FLASH=y
    CONFIG_SPI_FLASH_SFDP_SUPPORT=y
    CONFIG_SPI_FLASH_SOFT_RESET=y
    CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
    CONFIG_SPI_FLASH_SPANSION=y
    CONFIG_SPI_FLASH_S28HX_T=y
    CONFIG_PHY_TI_DP83867=y
    CONFIG_TI_AM65_CPSW_NUSS=y
    CONFIG_PHY=y
    CONFIG_SPL_PHY=y
    CONFIG_PHY_CADENCE_SIERRA=y
    CONFIG_PHY_CADENCE_TORRENT=y
    CONFIG_PHY_J721E_WIZ=y
    CONFIG_PINCTRL=y
    # CONFIG_PINCTRL_GENERIC is not set
    CONFIG_SPL_PINCTRL=y
    # CONFIG_SPL_PINCTRL_GENERIC is not set
    CONFIG_PINCTRL_SINGLE=y
    CONFIG_POWER_DOMAIN=y
    CONFIG_TI_SCI_POWER_DOMAIN=y
    CONFIG_DM_REGULATOR=y
    CONFIG_SPL_DM_REGULATOR=y
    CONFIG_DM_REGULATOR_GPIO=y
    CONFIG_SPL_DM_REGULATOR_GPIO=y
    CONFIG_K3_SYSTEM_CONTROLLER=y
    CONFIG_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_RESET_TI_SCI=y
    CONFIG_SPECIFY_CONSOLE_INDEX=y
    CONFIG_DM_SERIAL=y
    CONFIG_SOC_DEVICE=y
    CONFIG_SOC_DEVICE_TI_K3=y
    CONFIG_SOC_TI=y
    CONFIG_SPI=y
    CONFIG_DM_SPI=y
    CONFIG_CADENCE_QSPI=y
    CONFIG_CADENCE_QSPI_PHY=y
    CONFIG_SYSRESET=y
    CONFIG_SPL_SYSRESET=y
    CONFIG_SYSRESET_TI_SCI=y
    CONFIG_DM_THERMAL=y
    CONFIG_TIMER=y
    CONFIG_SPL_TIMER=y
    CONFIG_OMAP_TIMER=y
    CONFIG_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y
    CONFIG_SPL_USB_HOST=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_CDNS3=y
    CONFIG_USB_CDNS3_GADGET=y
    CONFIG_USB_CDNS3_HOST=y
    CONFIG_SPL_USB_CDNS3_GADGET=y
    CONFIG_SPL_USB_CDNS3_HOST=y
    CONFIG_USB_STORAGE=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_GADGET=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_GADGET_DOWNLOAD=y
    CONFIG_SPL_DFU=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    
    CONFIG_ARM=y
    CONFIG_SKIP_LOWLEVEL_INIT=y
    CONFIG_ARCH_K3=y
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_TI_COMMON_CMD_OPTIONS=y
    CONFIG_SPL_GPIO=y
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SOC_K3_AM642=y
    CONFIG_K3_ATF_LOAD_ADDR=0x701c0000
    CONFIG_TARGET_AM642_A53_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
    CONFIG_ENV_SIZE=0x40000
    CONFIG_ENV_OFFSET=0x500000
    CONFIG_ENV_SECT_SIZE=0x40000
    CONFIG_DM_GPIO=y
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am642-sk"
    CONFIG_OF_LIBFDT_OVERLAY=y
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_DRIVERS_MISC=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_TEXT_BASE=0x80080000
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x80a00000
    CONFIG_SPL_BSS_MAX_SIZE=0x80000
    CONFIG_SPL_STACK_R=y
    CONFIG_ENV_OFFSET_REDUND=0x540000
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI_FLASH_SUPPORT=y
    CONFIG_SPL_SPI=y
    CONFIG_ENV_ADDR=0x500000
    # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
    CONFIG_EFI_SET_TIME=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
    CONFIG_BOOTSTD_FULL=y
    CONFIG_BOARD_LATE_INIT=y
    CONFIG_SPL_MAX_SIZE=0x180000
    CONFIG_SPL_BOARD_INIT=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_SYS_MALLOC=y
    CONFIG_SPL_SYS_MALLOC_SIZE=0x800000
    CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1800
    CONFIG_SPL_DMA=y
    CONFIG_SPL_ENV_SUPPORT=y
    CONFIG_SPL_ETH=y
    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
    CONFIG_SPL_I2C=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_NET=y
    CONFIG_SPL_NET_VCI_STRING="AM64X U-Boot A53 SPL"
    CONFIG_SPL_PCI_ENDPOINT=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_DEVICE=y
    # CONFIG_SPL_SPI_FLASH_TINY is not set
    CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
    CONFIG_SPL_SPI_LOAD=y
    CONFIG_SYS_SPI_U_BOOT_OFFS=0x300000
    CONFIG_SPL_THERMAL=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_CMD_BOOTEFI_SELFTEST=y
    CONFIG_CMD_NVEDIT_EFI=y
    CONFIG_MMC_SPEED_MODE_SET=y
    CONFIG_CMD_MTD=y
    CONFIG_CMD_REMOTEPROC=y
    CONFIG_CMD_USB_MASS_STORAGE=y
    CONFIG_CMD_EFIDEBUG=y
    CONFIG_CMD_MTDPARTS=y
    CONFIG_CMD_UBI=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_OF_UPSTREAM=y
    CONFIG_OF_LIST="ti/k3-am642-sk ti/k3-am642-evm"
    CONFIG_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    CONFIG_ENV_OVERWRITE=y
    CONFIG_ENV_IS_IN_SPI_FLASH=y
    CONFIG_ENV_SPI_MAX_HZ=25000000
    CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
    CONFIG_SPL_ENV_IS_NOWHERE=y
    CONFIG_NET_RANDOM_ETHADDR=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    CONFIG_SPL_REGMAP=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_CLK=y
    CONFIG_SPL_CLK=y
    CONFIG_SPL_CLK_CCF=y
    CONFIG_CLK_CCF=y
    CONFIG_CLK_TI_SCI=y
    CONFIG_DFU_MMC=y
    CONFIG_DFU_RAM=y
    CONFIG_DFU_SF=y
    CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000
    CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
    CONFIG_DMA_CHANNELS=y
    CONFIG_TI_K3_NAVSS_UDMA=y
    CONFIG_TI_SCI_PROTOCOL=y
    CONFIG_GPIO_HOG=y
    CONFIG_SPL_GPIO_HOG=y
    CONFIG_DM_GPIO_LOOKUP_LABEL=y
    CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
    CONFIG_DM_PCA953X=y
    CONFIG_SPL_DM_PCA953X=y
    CONFIG_DM_I2C=y
    CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
    CONFIG_DM_I2C_GPIO=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    CONFIG_MMC_IO_VOLTAGE=y
    CONFIG_SPL_MMC_IO_VOLTAGE=y
    CONFIG_MMC_UHS_SUPPORT=y
    CONFIG_SPL_MMC_UHS_SUPPORT=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_MMC_SDHCI=y
    CONFIG_MMC_SDHCI_ADMA=y
    CONFIG_SPL_MMC_SDHCI_ADMA=y
    CONFIG_MMC_SDHCI_AM654=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_DM_SPI_FLASH=y
    CONFIG_SPI_FLASH_SFDP_SUPPORT=y
    CONFIG_SPI_FLASH_SOFT_RESET=y
    CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
    CONFIG_SPI_FLASH_SPANSION=y
    CONFIG_SPI_FLASH_S28HX_T=y
    # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
    CONFIG_SPI_FLASH_MTD=y
    CONFIG_MULTIPLEXER=y
    CONFIG_MUX_MMIO=y
    CONFIG_PHY_TI_DP83867=y
    CONFIG_PHY_TI_DP83869=y
    CONFIG_PHY_FIXED=y
    CONFIG_TI_AM65_CPSW_NUSS=y
    CONFIG_TI_ICSSG_PRUETH=y
    CONFIG_PCI_ENDPOINT=y
    CONFIG_PCIE_CDNS_TI_EP=y
    CONFIG_PHY=y
    CONFIG_SPL_PHY=y
    CONFIG_PHY_CADENCE_TORRENT=y
    CONFIG_PHY_J721E_WIZ=y
    CONFIG_PINCTRL=y
    CONFIG_SPL_PINCTRL=y
    CONFIG_PINCTRL_SINGLE=y
    CONFIG_POWER_DOMAIN=y
    CONFIG_TI_SCI_POWER_DOMAIN=y
    CONFIG_DM_PMIC=y
    CONFIG_PMIC_TPS65219=y
    CONFIG_DM_REGULATOR=y
    CONFIG_SPL_DM_REGULATOR=y
    CONFIG_DM_REGULATOR_FIXED=y
    CONFIG_SPL_DM_REGULATOR_FIXED=y
    CONFIG_DM_REGULATOR_GPIO=y
    CONFIG_SPL_DM_REGULATOR_GPIO=y
    CONFIG_DM_REGULATOR_TPS65219=y
    CONFIG_K3_SYSTEM_CONTROLLER=y
    CONFIG_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_REMOTEPROC_TI_K3_R5F=y
    CONFIG_REMOTEPROC_TI_K3_M4F=y
    CONFIG_REMOTEPROC_TI_PRU=y
    CONFIG_RESET_TI_SCI=y
    CONFIG_DM_RTC=y
    CONFIG_RTC_EMULATION=y
    CONFIG_DM_SERIAL=y
    CONFIG_SOC_DEVICE=y
    CONFIG_SOC_DEVICE_TI_K3=y
    CONFIG_SOC_TI=y
    CONFIG_TI_PRUSS=y
    CONFIG_SPI=y
    CONFIG_DM_SPI=y
    CONFIG_CADENCE_QSPI=y
    CONFIG_CADENCE_QSPI_PHY=y
    CONFIG_SYSRESET=y
    CONFIG_SPL_SYSRESET=y
    CONFIG_SYSRESET_TI_SCI=y
    CONFIG_DM_THERMAL=y
    CONFIG_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y
    CONFIG_SPL_USB_HOST=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_CDNS3=y
    CONFIG_USB_CDNS3_GADGET=y
    CONFIG_USB_CDNS3_HOST=y
    CONFIG_SPL_USB_CDNS3_GADGET=y
    CONFIG_SPL_USB_CDNS3_HOST=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_GADGET=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_GADGET_DOWNLOAD=y
    CONFIG_SPL_DFU=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    CONFIG_ZSTD=y
    
    U-Boot SPL 2025.01 (Dec 10 2025 - 10:28:49 -0800)
    Resetting on cold boot to workaround ErrataID:i2331
    Please resend tiboot3.bin in case of UART/DFU boot
    resetting ...
    
    U-Boot SPL 2025.01 (Dec 10 2025 - 10:28:49 -0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    EEPROM not available at 0x50, trying to read at 0x51
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13536 bytes
    Trying to boot from SPI
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.14.0(release):custom
    NOTICE:  BL31: Built : 10:28:40, Dec 10 2025
    I/TC: 
    I/TC: OP-TEE version: Unknown_4.8 (gcc version 14.2.1 20241119 (Arm GNU Toolchain 14.2.Rel1 (Build arm-14.52))) #2 Wed Dec 10 18:28:36 UTC 2025 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: EIP76D TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: HUK Initialized
    I/TC: Disabling output console
    
    U-Boot SPL 2025.01 (Dec 10 2025 - 10:58:22 -0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Trying to boot from SPI
    Authentication passed
    Authentication passed
    
    

    Hi Hong,

       I have Attached My UBOOT R5 (SPL) Config and UBOOT (A53) Config and Also the Boot Log in the three attached text files.

        Thanks for helping!

    Paul

  • Hi Paul,
    It looks like u-boot.img (u-boot.bin/dtb) authentication passed, but u-boot failed to boot...
    1/. what is HW under test? TI EVM or the customer board?
    2/. Linux SDK 11.1.5.3 is the latest release package with u-boot tag 11.01.05. have we tested this u-boot tag?
    Best,
    -Hong

  • Hi Hong,

        As my Tag shows, this is a TI Starter Kit Board (SK AM64B) not a custom board. Only the flash layout is custom that will be applied in my future custom board. This is newest UBOOT with Tag 11.02.08. I did not test the 11.01.05 because I always use the latest tag from TI UBOOT Repository.

    Thanks,

    Paul

  • Hi Paul,
    The u-boot tag 11.01.05 is the latest released version of Linux SDK, and the tag 11.02.08 is under active development.
    Have we tested booting u-boot from OSPI-NOR with the Linux SDK (the default configuration w/o customer OSPI memory layout change) on SK-AM64B?
    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/11_01_05_03/exports/docs/linux/Foundational_Components/U-Boot/UG-QSPI.html
    Best,
    -Hong

  • Yes. It boots when I do not reconfigure UBOOT to Load Environment from SPI Flash but from NoWhere.  Also the 11.02.08, I build the Image with my local Docker Container and Buildroot and flash to OSPI, both are working fine. Just not able to configure to load Environment From SPI, I have to keep the environment Loading from NoWhere.  I could show you the success boot log on SK if you want to see, but I have to unconfigure getting environment from SPI.

    Below is the Boot Log:

    U-Boot SPL 2025.01 (Dec 10 2025 - 12:23:19 -0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    EEPROM not available at 0x50, trying to read at 0x51
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13536 bytes
    Trying to boot from SPI
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...

    NOTICE: BL31: v2.14.0(release):custom
    NOTICE: BL31: Built : 12:22:29, Dec 10 2025
    I/TC:
    I/TC: OP-TEE version: Unknown_4.8 (gcc version 14.2.1 20241119 (Arm GNU Toolchain 14.2.Rel1 (Build arm-14.52))) #1 Wed Dec 10 20:16:36 UTC 2025 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: EIP76D TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: HUK Initialized
    I/TC: Disabling output console

    U-Boot SPL 2025.01 (Dec 10 2025 - 12:27:23 -0800)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Trying to boot from SPI
    Authentication passed
    Authentication passed


    U-Boot 2025.01 (Dec 10 2025 - 12:27:23 -0800)

    SoC: AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 SK
    Board: AM64B-SKEVM rev A
    DRAM: 2 GiB
    Core: 100 devices, 34 uclasses, devicetree: separate
    MMC: mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In: serial@2800000
    Out: serial@2800000
    Err: serial@2800000
    Failed to probe prueth driver
    Net: eth0: ethernet@8000000port@1, eth1: ethernet@8000000port@2
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    Booting Default Partition...
    Hit any key to stop autoboot: 0

  • Hi Paul,
    On loading environment from OSPI-NOR, here is one early e2e for your reference.
    RE: SK-AM64: Start U-Boot from OSPI with the SK-AM64 Starter Kit
    Best,
    -Hong

  • Thanks, now I understand I need to use the environment variables and commands.