PROCESSOR-SDK-AM62A: Restore support of "saveenv" command

Part Number: PROCESSOR-SDK-AM62A

Tool/software:

Hi,

Yocto SDK: 09_01_00

EVM: AM62A SK EVM

I have booted the device from eMMC and realized that "saveenv" command is not working. I want to restore the "saveenv" command and for that I have also referred the patch: 

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1215936/tda4al-q1-there-is-no-saveenv-boot-cmd/4591095#4591095.

but the changes seem to be for FAT device and partition in the above patch.

So, which changes do I have to make to restore support of "saveenv" command for eMMC boot?

Let me know any clarification required in above query.

Regards,

Parikshit Patel

  • Hello Parikshit,

    CONFIG_ENV_IS_IN_MMC option should save your uEnv.txt file in eMMC.

    Please refer the patch:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/913291/am5718-saveenv-error-when-booting-emmc

    Regards,
    Aparna

  • Hi Aparna,

    I have followed your suggested changes in the defconfig file but am still encountering the same issue: "Unknown command 'saveenv'". I am attaching the defconfig files here for your reference.

    am62ax_evm_a53_defconfig.txt
    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_SPL_GPIO=y
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_NR_DRAM_BANKS=2
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_K3_ATF_LOAD_ADDR=0x9e780000
    CONFIG_TARGET_AM62A7_A53_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
    CONFIG_DM_GPIO=y
    CONFIG_SF_DEFAULT_SPEED=25000000
    CONFIG_ENV_SIZE=0x40000
    CONFIG_ENV_IS_IN_MMC=y
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="sick-k3-am62a7-sk"
    CONFIG_SPL_TEXT_BASE=0x80080000
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI=y
    # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
    CONFIG_DISTRO_DEFAULTS=y
    CONFIG_BOOTCOMMAND="run envboot; run distro_bootcmd;"
    CONFIG_SPL_MAX_SIZE=0x58000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x80a00000
    CONFIG_SPL_BSS_MAX_SIZE=0x80000
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_BOARD_INIT=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
    CONFIG_SPL_ENV_SUPPORT=y
    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
    CONFIG_SPL_I2C=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD_SUPPORT=y
    CONFIG_SPL_MTD_LOAD=y
    CONFIG_SYS_MTD_U_BOOT_OFFS=0x280000
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_SPL_DFU=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_SYS_MAXARGS=64
    CONFIG_CMD_MMC=y
    CONFIG_CMD_CLK=y
    CONFIG_CMD_DFU=y
    CONFIG_CMD_DM=y
    CONFIG_CMD_GPIO=y
    CONFIG_CMD_GPT=y
    CONFIG_CMD_I2C=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_CMD_MTD=y
    CONFIG_CMD_USB=y
    CONFIG_CMD_USB_MASS_STORAGE=y
    CONFIG_CMD_TIME=y
    CONFIG_CMD_EXT4_WRITE=y
    CONFIG_CMD_MTDPARTS=y
    CONFIG_CMD_UBI=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_DEVICE_REMOVE=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    CONFIG_SPL_REGMAP=y
    CONFIG_SYSCON=y
    CONFIG_SPL_SYSCON=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_CLK=y
    CONFIG_SPL_CLK=y
    CONFIG_CLK_TI_SCI=y
    CONFIG_DFU_MMC=y
    CONFIG_DFU_RAM=y
    CONFIG_DFU_SF=y
    CONFIG_DFU_MTD=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_USB_FUNCTION_FASTBOOT=y
    CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
    CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
    CONFIG_TI_SCI_PROTOCOL=y
    CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
    CONFIG_DA8XX_GPIO=y
    CONFIG_DM_PCA953X=y
    CONFIG_SPL_DM_PCA953X=y
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_SPL_MISC=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_MTD_SPI_NAND=y
    CONFIG_DM_SPI_FLASH=y
    CONFIG_PHY_TI_DP83867=y
    CONFIG_TI_AM65_CPSW_NUSS=y
    CONFIG_PINCTRL=y
    CONFIG_SPL_PINCTRL=y
    CONFIG_PINCTRL_SINGLE=y
    CONFIG_POWER_DOMAIN=y
    CONFIG_TI_SCI_POWER_DOMAIN=y
    CONFIG_K3_SYSTEM_CONTROLLER=y
    CONFIG_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_REMOTEPROC_TI_K3_R5F=y
    CONFIG_REMOTEPROC_TI_K3_DSP=y
    CONFIG_RESET_TI_SCI=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_SYSRESET=y
    CONFIG_SPL_SYSRESET=y
    CONFIG_SYSRESET_TI_SCI=y
    CONFIG_DM_THERMAL=y
    CONFIG_USB=y
    CONFIG_DM_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_DWC3=y
    CONFIG_SPL_USB_DWC3_GENERIC=y
    CONFIG_USB_DWC3_GENERIC=y
    CONFIG_SPL_USB_DWC3_AM62=y
    CONFIG_USB_DWC3_AM62=y
    CONFIG_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_FUNCTION_MASS_STORAGE=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    CONFIG_OF_LIBFDT_OVERLAY=y
    CONFIG_CMD_REMOTEPROC=y
    CONFIG_SPL_USB_HOST=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_HOST=y
    CONFIG_USB_STORAGE=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    
    am62ax_evm_r5_defconfig.txt
    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_TARGET_AM62A7_R5_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c3a7f0
    CONFIG_ENV_SIZE=0x20000
    CONFIG_ENV_OFFSET=0x680000
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="sick-k3-am62a7-r5-sk"
    CONFIG_SPL_TEXT_BASE=0x43c00000
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_SYS_MALLOC_F_LEN=0x7145
    CONFIG_SPL_SIZE_LIMIT=0x3A7F0
    CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x4400
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
    CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
    # CONFIG_DISPLAY_CPUINFO is not set
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
    CONFIG_SPL_MAX_SIZE=0x3B000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x43c3b000
    CONFIG_SPL_BSS_MAX_SIZE=0x3000
    CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SPL_SEPARATE_BSS=y
    CONFIG_SYS_SPL_MALLOC=y
    CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y
    CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x84000000
    CONFIG_SPL_EARLY_BSS=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
    CONFIG_SPL_DMA=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD_SUPPORT=y
    CONFIG_SPL_MTD_LOAD=y
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_DM_RESET=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_RAM_DEVICE=y
    CONFIG_SPL_REMOTEPROC=y
    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_SETEXPR is not set
    CONFIG_CMD_TIME=y
    CONFIG_CMD_FAT=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    #CONFIG_ENV_OVERWRITE=y
    #CONFIG_ENV_IS_NOWHERE=y
    CONFIG_ENV_IS_IN_MMC=y
    CONFIG_SYS_RELOC_GD_ENV_ADDR=y
    CONFIG_SYS_MMC_ENV_PART=1
    # CONFIG_NET is not set
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_DEVICE_REMOVE=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_SPL_CLK_K3_PLL=y
    CONFIG_SPL_CLK_K3=y
    CONFIG_DMA_CHANNELS=y
    CONFIG_TI_K3_NAVSS_UDMA=y
    CONFIG_TI_SCI_PROTOCOL=y
    # CONFIG_GPIO is not set
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_MMC_SDHCI=y
    CONFIG_MMC_SDHCI_ADMA=y
    CONFIG_MMC_SDHCI_AM654=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_MTD_SPI_NAND=y
    CONFIG_DM_SPI_FLASH=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_POWER_DOMAIN=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_TIMER=y
    CONFIG_SPL_TIMER=y
    CONFIG_OMAP_TIMER=y
    CONFIG_LIB_RATIONAL=y
    CONFIG_SPL_LIB_RATIONAL=y
    

    Additionally, we are flashing the u-env with a specific flash offset. Do we need to make any changes in the U-Boot code to specify the location from which it should find the u-env file?

  • Hi,

    Could you check the bootpart and mmcdev variables in the following location: /board-support/ti-u-boot-2023.04+gitAUTOINC+b0d717b732-gb0d717b732/board/ti/am62ax/

    --- a/board/ti/am62ax/am62ax.env
    +++ b/board/ti/am62ax/am62ax.env
    @@ -17,8 +17,8 @@ args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
    run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
    boot=mmc
    -mmcdev=1
    -bootpart=1:2
    +mmcdev=0
    +bootpart=0:1
    bootdir=/boot
    rd_spec=-
    rproc_fw_binaries= 0 /lib/firmware/am62a-mcu-r5f0_0-fw 1 /lib/firmware/am62a-c71_0-fw

    Regards,
    Aparna

  • I have verified the above configurations in my am62ax.env:

    mmcdev=0
    bootpart=0:1

    which are the same as what you have suggested, but it didn't work.

    Moreover, I have asked you about the u-env file. We are flashing the u-env with a specific flash offset (0x280000, raw) and it is same offset that we are using for u-boot.img. Will U-Boot be able to find the u-env file from that offset, or do we need to make changes in the U-Boot code specific for that?

    Regards,

    Parikshit

  • Hello Parikshit,

    You are using DFU to flash the U-boot binaries into eMMC as mentioned in the previous thread.

    So, can I assume you were successfully able to flash the u-env.txt into eMMC and use it?

    The specific offsets are mentioned in:

    dfu_alt_info_emmc=
    	rawemmc raw 0 0x800000 mmcpart 1;
    	rootfs part 0 1;
    	tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;
    	tispl.bin.raw raw 0x400 0x1000 mmcpart 1;
    	u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;
    	u-env.raw raw 0x3400 0x100 mmcpart 1;
    	sysfw.itb.raw raw 0x3600 0x800 mmcpart 1

    Could you share the output of the follwoing commands at U-boot prompt:

    => printenv mmcdev
    
    => printenv bootpart
    
    => run envboot

    Regards,
    Aparna

  • Hello,

    Below is the output of the commands from U-boot prompt:

    => printenv mmcdev
    mmcdev=0


    => printenv bootpart
    bootpart=0:1


    => run envboot
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    Can't set block device

    Regards,

    Parikshit

  • Thanks Parikshit! I will replicate this on my setup and let you know by EOD.

    Regards,
    Aparna

  • Hello Parikshit,

    I made the following config change and saveenv is restored:

    => saveenv                                                                      
    Saving Environment to MMC... Writing to MMC(0)... OK  

    Have you been able to enable it ?

    Regards,
    Aparna

  • Hi,

    I have enabled it and also shared the defconfigs with you. Could you please check if anything still needs to be removed or set in the defconfigs?

    Attaching same for your reference again.

    am62ax_evm_r5_defconfig.txt.txt
    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_TARGET_AM62A7_R5_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c3a7f0
    CONFIG_ENV_SIZE=0x100
    CONFIG_ENV_OFFSET=0x3400
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="sick-k3-am62a7-r5-sk"
    CONFIG_SPL_TEXT_BASE=0x43c00000
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_SYS_MALLOC_F_LEN=0x7145
    CONFIG_SPL_SIZE_LIMIT=0x3A7F0
    CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x4400
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
    CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
    # CONFIG_DISPLAY_CPUINFO is not set
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
    CONFIG_SPL_MAX_SIZE=0x3B000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x43c3b000
    CONFIG_SPL_BSS_MAX_SIZE=0x3000
    CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SPL_SEPARATE_BSS=y
    CONFIG_SYS_SPL_MALLOC=y
    CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y
    CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x84000000
    CONFIG_SPL_EARLY_BSS=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
    CONFIG_SPL_DMA=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD_SUPPORT=y
    CONFIG_SPL_MTD_LOAD=y
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_DM_RESET=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_RAM_DEVICE=y
    CONFIG_SPL_REMOTEPROC=y
    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_SETEXPR is not set
    CONFIG_CMD_TIME=y
    CONFIG_CMD_FAT=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    # CONFIG_ENV_IS_NOWHERE=y
    CONFIG_ENV_IS_IN_MMC=y
    CONFIG_SYS_RELOC_GD_ENV_ADDR=y
    CONFIG_SYS_MMC_ENV_PART=1
    # CONFIG_NET is not set
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_DEVICE_REMOVE=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_SPL_CLK_K3_PLL=y
    CONFIG_SPL_CLK_K3=y
    CONFIG_DMA_CHANNELS=y
    CONFIG_TI_K3_NAVSS_UDMA=y
    CONFIG_TI_SCI_PROTOCOL=y
    # CONFIG_GPIO is not set
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_MMC_SDHCI=y
    CONFIG_MMC_SDHCI_ADMA=y
    CONFIG_MMC_SDHCI_AM654=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_MTD_SPI_NAND=y
    CONFIG_DM_SPI_FLASH=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_POWER_DOMAIN=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_TIMER=y
    CONFIG_SPL_TIMER=y
    CONFIG_OMAP_TIMER=y
    CONFIG_LIB_RATIONAL=y
    CONFIG_SPL_LIB_RATIONAL=y
    
    am62ax_evm_a53_defconfig.txt.txt
    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_SPL_GPIO=y
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_NR_DRAM_BANKS=2
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_K3_ATF_LOAD_ADDR=0x9e780000
    CONFIG_TARGET_AM62A7_A53_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
    CONFIG_DM_GPIO=y
    CONFIG_SF_DEFAULT_SPEED=25000000
    CONFIG_ENV_SIZE=0x100
    CONFIG_ENV_OFFSET=0x3400
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="sick-k3-am62a7-sk"
    CONFIG_SPL_TEXT_BASE=0x80080000
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI=y
    # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
    CONFIG_DISTRO_DEFAULTS=y
    CONFIG_BOOTCOMMAND="run envboot; run distro_bootcmd;"
    CONFIG_SPL_MAX_SIZE=0x58000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x80a00000
    CONFIG_SPL_BSS_MAX_SIZE=0x80000
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_BOARD_INIT=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
    CONFIG_SPL_ENV_SUPPORT=y
    CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
    CONFIG_SPL_I2C=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_MTD_SUPPORT=y
    CONFIG_SPL_MTD_LOAD=y
    CONFIG_SYS_MTD_U_BOOT_OFFS=0x280000
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_SPL_DFU=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_SYS_MAXARGS=64
    CONFIG_CMD_MMC=y
    CONFIG_CMD_CLK=y
    CONFIG_CMD_DFU=y
    CONFIG_CMD_DM=y
    CONFIG_CMD_GPIO=y
    CONFIG_CMD_GPT=y
    CONFIG_CMD_I2C=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_CMD_MTD=y
    CONFIG_CMD_USB=y
    CONFIG_CMD_USB_MASS_STORAGE=y
    CONFIG_CMD_TIME=y
    CONFIG_CMD_EXT4_WRITE=y
    CONFIG_CMD_MTDPARTS=y
    CONFIG_CMD_UBI=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_DEVICE_REMOVE=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    CONFIG_SPL_REGMAP=y
    CONFIG_SYSCON=y
    CONFIG_SPL_SYSCON=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_CLK=y
    CONFIG_SPL_CLK=y
    CONFIG_CLK_TI_SCI=y
    CONFIG_DFU_MMC=y
    CONFIG_DFU_RAM=y
    CONFIG_DFU_SF=y
    CONFIG_DFU_MTD=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_USB_FUNCTION_FASTBOOT=y
    CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
    CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
    CONFIG_TI_SCI_PROTOCOL=y
    CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
    CONFIG_DA8XX_GPIO=y
    CONFIG_DM_PCA953X=y
    CONFIG_SPL_DM_PCA953X=y
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_SPL_MISC=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_MTD_SPI_NAND=y
    CONFIG_DM_SPI_FLASH=y
    CONFIG_PHY_TI_DP83867=y
    CONFIG_TI_AM65_CPSW_NUSS=y
    CONFIG_PINCTRL=y
    CONFIG_SPL_PINCTRL=y
    CONFIG_PINCTRL_SINGLE=y
    CONFIG_POWER_DOMAIN=y
    CONFIG_TI_SCI_POWER_DOMAIN=y
    CONFIG_K3_SYSTEM_CONTROLLER=y
    CONFIG_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_REMOTEPROC_TI_K3_R5F=y
    CONFIG_REMOTEPROC_TI_K3_DSP=y
    CONFIG_RESET_TI_SCI=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_SYSRESET=y
    CONFIG_SPL_SYSRESET=y
    CONFIG_SYSRESET_TI_SCI=y
    CONFIG_DM_THERMAL=y
    CONFIG_USB=y
    CONFIG_DM_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_DWC3=y
    CONFIG_SPL_USB_DWC3_GENERIC=y
    CONFIG_USB_DWC3_GENERIC=y
    CONFIG_SPL_USB_DWC3_AM62=y
    CONFIG_USB_DWC3_AM62=y
    CONFIG_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_FUNCTION_MASS_STORAGE=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    CONFIG_OF_LIBFDT_OVERLAY=y
    CONFIG_CMD_REMOTEPROC=y
    CONFIG_SPL_USB_HOST=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_HOST=y
    CONFIG_USB_STORAGE=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    CONFIG_ENV_IS_IN_MMC=y
    

    Regards,

    Parikshit

  • Hi Parikshit,

    From what I understand, you have the config option, but unable to restore the saveenv command. Please correct me if I am interpreting this wrongly.

    If the above is the case, do let me know, how are you building U-boot source code after making the CONFIG changes.

    Regards,
    Aparna

  • Hi,

    I am using below commands to build U-boot:

    bitbake u-boot-ti-staging -c compile -f
    bitbake u-boot-ti-staging -c deploy -f

    Then I am flashing tispl.bin and u-boot.img after successful build.

    Regards,

    Parikshit

  • Hi Parikshit,

    Aparna will be out of office for the next few days. Please expect a response by end of this week.

    Thank you for your patience.

    Regards,

    Nitika

  • Hi Aparna,

    Any update in the case?

  • Hello Parikshit, 

    Can we verify the config changes made is actually reflected in the built images? 
    Could you enable debug logs to check and check if the logs are coming up additionally?

    Regards,
    Aparna

  • Hi Aparna,

    Which changes are required to enable debug log at default?

  • Hello Parikshit,

    An example to add debug statements to bootlogs:

    Add the following to include debug statements in the UART console output:

    #define DEBUG

    to the very top (above all #include) of drivers/ram/k3-ddrss/k3_ddrss.c

    Build and replace U-boot binaries

    A successful boot with DEBUG messages and LPDDR4 memory will look something like this:

    U-Boot SPL 2023.04-dirty (Apr 03 2024 - 16:48:03 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
    k3_ddrss_probe(dev=43c34cdc)
    k3_ddrss_ofdata_to_priv(dev=43c34cdc)
    k3_ddrss memorycontroller@f300000: ddr freq0 not populated, using bypass frequency.
    k3_ddrss_power_on(ddrss=43c3a640)
    k3_ddrss memorycontroller@f300000: vtt-supply not found.
    k3_lpddr4_probe: PASS
    k3_lpddr4_init: PASS
    --->>> LPDDR4 Initialization is in progress ... <<<---
    k3_lpddr4_freq_update: received freq change req: req type = 1, req no. = 0, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 0, req no. = 1, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 1, req no. = 2, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 3, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 1, req no. = 4, instance = 0
    k3_lpddr4_freq_update: received freq change req: req type = 2, req no. = 5, instance = 0
    k3_lpddr4_start: Post start PASS
    SPL initial stack usage: 13384 bytes
    Trying to boot from MMC2

    <boot log continues...>

    Let me know if you see similar logs.

    FYI, adding a print statement to any file and obtaining it in UART console should also work. We just need to confirm if your changes are getting applied.

    Regards,
    Aparna

  • Hi Aparna,

    I have added the #define DEBUG to k3_ddrss.c

    then I have built and flashed "u-boot.img" and "tispl.bin" to board but not getting the logs that you have attached for reference. Infact getting similar logs as before. 

  • Hello Parikshit, 

    Looks like there is some issue with your build procedure. I will loop in Yocto build expert for further comments.

    Regards,
    Aparna