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.

AM625: SR1.1 boot fail

Part Number: AM625

Tool/software:

Hi Expert,

Customer just built their B1 sample board using the new version XAM62xB(SR1.1). And they feedback the board will boot fail, the log as attach, I want to double check with you, is there any change in boot rom? Any SW change need to be implement to B version AM62x?

 

SYSFW Firmware Version 10.1.8--v10.01.08 (Fiery Fox)
SYSFW Firmware revision 0xa
SYSFW ABI revision 4.0

[BOOTLOADER_PROFILE] Boot Media       : SD Card
[BOOTLOADER_PROFILE] Boot Image Size  : 566 KB
[BOOTLOADER_PROFILE] Cores present    :
m4f0-0
r5f0-0
a530-0
[BOOTLOADER PROFILE] System_init                      :      21766us
[BOOTLOADER PROFILE] Board_init                       :          0us
[BOOTLOADER PROFILE] Drivers_open                     :      12008us
[BOOTLOADER PROFILE] Board_driversOpen                :          0us
[BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_M4FSS0_0) :     150195us
[BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_R5FSS0_0) :     176014us
[BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_A53SS0_0) :     228640us
[BOOTLOADER PROFILE] SBL End                          :          0us
[BOOTLOADER_PROFILE] SBL Total Time Taken             :     588627us

Image loading done, switching to application ...
NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
NOTICE:  BL31: Built : 04:20:32, Nov  1 2024

U-Boot SPL 2024.04 (Apr 30 2025 - 00:34:14 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
SPL initial stack usage: 1904 bytes
--->>> tidss_drv_probe
GPIO0_33 L24 = 0x2
GPIO1_0 AC20 = 0x1
GPIO0_36 N20 = 0x12
GPIO1_3 AE23 = 0x9
GPIO1_4 AB20 = 0x19
GPIO0_37 U23 = 0x32
GPIO0_38 V25 = 0x72
am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
Trying to boot from MMC2
am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
Authentication passed
am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
Authentication passed


U-Boot 2024.04 (Apr 22 2025 - 23:54:33 +0800)

SoC:   AM62X SR1.0 HS-FS
Model: Texas Instruments AM625 SK
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
DRAM:  456 MiB (effective 512 MiB)
Core:  79 devices, 31 uclasses, devicetree: separate
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -121
Net:   Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000port@1: phy_connect() failed
No ethernet found.

Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
574 bytes read in 17 ms (32.2 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
21099008 bytes read in 239 ms (84.2 MiB/s)
59409 bytes read in 19 ms (3 MiB/s)
Working FDT set to 88000000
Bad Linux ARM64 Image magic!
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
No EFI system partition
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
  0  efi_mgr      ready   (none)       0  <NULL>
** Booting bootflow '<NULL>' with efi_mgr
Loading Boot0000 'mmc 1' failed
Loading Boot0001 'mmc 0' failed
EFI boot manager: Cannot load any image
Boot failed (err=-14)
Scanning bootdev 'mmc@fa00000.bootdev':
Scanning bootdev 'mmc@fa10000.bootdev':
Bus usb@31100000: generic_phy_get_bulk : no phys property
Register 1000840 NbrPorts 1
Starting the controller
USB XHCI 1.10
scanning bus usb@31100000 for devices... 1 USB Device(s) found
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
No ethernet found.
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
No ethernet found.
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
Could not get PHY for mdio@f00: addr 0
am65_cpsw_nuss_port ethernet@8000000ethernet@800000: phy_connect() failed
No more bootdevs
---  -----------  ------  --------  ----  ------------------------  ----------------
(1 bootflow, 1 valid)
=>

A version can work normally:

 

B version can’t boot to linux:

BR,

Biao

  • Hello Biao

    As discussed internally from initial description does not look like there should be any software incomptability issue based on your customer use-case

    Additional information that will help

    1. Confirm the boot mode being used to test - I believe it is SD card boot
    2. Confirm how many boards working vs failing with the new rev 
    3.  Confirm that there are no hardware or software changes in customer's previous rev build vs this rev build. 
    4.  Please keep us posted , if customer is tryign ABA swap etc. 
    5. Are they using HS-FS or have they converted the unit to HS SE 

    Regards

    Mukul 

  • Hi Biao,

    The boot log shows the issue doesn't seem to be in ROM.

    21099008 bytes read in 239 ms (84.2 MiB/s)
    59409 bytes read in 19 ms (3 MiB/s)
    Working FDT set to 88000000
    Bad Linux ARM64 Image magic!

    The log shows the kernel Image is loaded to DDR, but is not recognized.

    Is this boot from SDcard or eMMC?

  • Hi Bin,

    customer is using SD Card boot mode.

    BR,

    Biao 

  • Hi Biao,

    If you take out the sdcard, which fails to boot on this new B1 sample board, and insert it to the old AM625 board, can it boot successfully?

  • Hi Bin,

    Yes, the same SD card can boot successfully on old AM625 board and will failed on new board.

    BR,

    Biao

  • Hi Biao,

    Please ask the customer to apply the following u-boot patch, rebuild u-boot, and update all the 3 u-boot binaries on the sdcard to see if it can boot into Linux.

    diff --git a/arch/arm/dts/k3-am62-main.dtsi b/arch/arm/dts/k3-am62-main.dtsi
    index 4d8ad7bd47e8..1bc0c52340e4 100644
    --- a/arch/arm/dts/k3-am62-main.dtsi
    +++ b/arch/arm/dts/k3-am62-main.dtsi
    @@ -607,11 +607,6 @@
                    ti,clkbuf-sel = <0x7>;
                    ti,otap-del-sel-legacy = <0x8>;
                    ti,otap-del-sel-sd-hs = <0x0>;
    -               ti,otap-del-sel-sdr12 = <0x0>;
    -               ti,otap-del-sel-sdr25 = <0x0>;
    -               ti,otap-del-sel-sdr50 = <0x8>;
    -               ti,otap-del-sel-sdr104 = <0x7>;
    -               ti,otap-del-sel-ddr50 = <0x4>;
                    ti,itap-del-sel-legacy = <0xa>;
                    ti,itap-del-sel-sd-hs = <0x1>;
                    ti,itap-del-sel-sdr12 = <0xa>;

  • Hi Bin,

    customer have tried this change, it will not work in new B1 board, they also tried on old board, it can work after this change.

    BR,

    Biao

  • Hi Biao,

    What is the content of file uEnv.txt on the sdcard? It should be empty in the SDK default.

    On both old passing board and new failure board, during boot when the U-Boot log shows

        Hit any key to stop autoboot:

    press any key to stop at the u-boot prompt, then run command  'print' and save its output to a file, and attach both files here. I'd like to see if there is any difference on both boards.

  • customer have tried this change, it will not work in new B1 board

    Is the error still the same as "Bad Linux ARM64 Image magic!" in line 73 in the log you attached in the first post?

  • Hi Bin,

    I think yes, let me double check with customer, customer told me the error log is same.

    BR,

    Biao 

  • Bad Linux ARM64 Image magic!" in line 73

    I have double confirmed with customer, this error still here.

    BR

    Biao

  • Okay.

    Please check the uEnv.txt content and get the print command output on both boards.

  • Hi Bin,

    uENV.txt is empty. pls see below two outputs from different boards.

    SYSFW Firmware Version 10.1.8--v10.01.08 (Fiery Fox)
    SYSFW Firmware revision 0xa
    SYSFW ABI revision 4.0
    
    [BOOTLOADER_PROFILE] Boot Media       : SD Card
    [BOOTLOADER_PROFILE] Boot Image Size  : 566 KB
    [BOOTLOADER_PROFILE] Cores present    :
    m4f0-0
    r5f0-0
    a530-0
    [BOOTLOADER PROFILE] System_init                      :      21522us
    [BOOTLOADER PROFILE] Board_init                       :          0us
    [BOOTLOADER PROFILE] Drivers_open                     :      12434us
    [BOOTLOADER PROFILE] Board_driversOpen                :          0us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_M4FSS0_0) :     149900us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_R5FSS0_0) :     175843us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_A53SS0_0) :     228055us
    [BOOTLOADER PROFILE] SBL End                          :          0us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     587757us
    
    Image loading done, switching to application ...
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    
    U-Boot SPL 2024.04 (Apr 30 2025 - 00:34:14 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    --->>> tidss_drv_probe
    GPIO0_33 L24 = 0x2
    GPIO1_0 AC20 = 0x1
    GPIO0_36 N20 = 0x12
    GPIO1_3 AE23 = 0x9
    GPIO1_4 AB20 = 0x19
    GPIO0_37 U23 = 0x32
    GPIO0_38 V25 = 0x72
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Trying to boot from MMC2
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Authentication passed
    
    
    U-Boot 2024.04 (Apr 22 2025 - 23:54:33 +0800)
    
    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    DRAM:  456 MiB (effective 512 MiB)
    Core:  79 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    Net:   Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_connect() failed
    No ethernet found.
    
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    =>
    => print
    addr_fit=0x90000000
    arch=arm
    args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    args_ospi_nand=setenv bootargs console=${console} ${optargs} ubi.mtd=${ospi_nand_bootpart} root=${ospi_nand_bootvolume} rootfstype=ubifs
    baudrate=115200
    board=am62x
    board_name=am62x_skevm
    board_rev=unknown
    board_serial=unknown
    board_software_revision=unknown
    boot=mmc
    boot_fdt=try
    boot_fit=0
    boot_rprocs=if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then rproc init; run boot_rprocs_mmc; fi;
    boot_rprocs_mmc=env set rproc_id; env set rproc_fw; env set secure_suffix; if test ${secure_rprocs} -eq 1; then env set secure_suffix -sec; fi; for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i; else env set rproc_fw $i${secure_suffix}; run rproc_load_and_boot_one; env set rproc_id; env set rproc_fw; fi; done
    boot_targets=mmc1 mmc0 usb pxe dhcp
    bootcmd=run envboot; run bootcmd_ti_mmc; bootflow scan -lb
    bootcmd_ti_mmc=run init_${boot}; run update_do_main_cpsw0_qsgmii_phyinit; if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1; then run main_cpsw0_qsgmii_phyinit; fi; run boot_rprocs; if test ${boot_fit} -eq 1; then run get_fit_${boot}; run get_fit_overlaystring; run run_fit; else; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern; fi;
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    console=ttyS2,115200n8
    cpu=armv8
    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
    dfu_alt_info_mmc=boot part 1 1; rootfs part 1 2; tiboot3.bin fat 1 1; tispl.bin fat 1 1; u-boot.img fat 1 1; uEnv.txt fat 1 1; sysfw.itb fat 1 1
    dfu_alt_info_nand=NAND.tiboot3 part 0 1; NAND.tispl part 0 2; NAND.tiboot3.backup part 0 3; NAND.u-boot part 0 4; NAND.u-boot-env part 0 5; NAND.u-boot-env.backup part 0 6; NAND.file-system part 0 7
    dfu_alt_info_ospi=tiboot3.bin raw 0x0 0x080000; tispl.bin raw 0x080000 0x200000; u-boot.img raw 0x280000 0x400000; u-boot-env raw 0x680000 0x020000; sysfw.itb raw 0x6c0000 0x100000; rootfs raw 0x800000 0x3800000
    dfu_alt_info_ospi_nand=ospi_nand.tiboot3 part 1; ospi_nand.tispl part 2; ospi_nand.u-boot part 3; ospi_nand.env part 4; ospi_nand.env.backup part 5; ospi_nand.rootfs part 6; ospi_nand.phypattern part 7
    dfu_alt_info_ram=tispl.bin ram 0x80080000 0x200000; u-boot.img ram 0x81000000 0x400000
    dorprocboot=0
    dtboaddr=0x89000000
    envboot=if mmc dev ${mmcdev}; then if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if test -n "${loadbootscript}" && run loadbootscript; then run bootscript; else if run loadbootenv; then echo Loaded env from ${bootenvfile}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi; fi; fi; fi;
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtcontroladdr=9a0d23a0
    fdtfile=ti/k3-am625-sk.dtb
    fdtoverlay_addr_r=0x89500000
    findfdt=echo WARN: fdtfile already set. Stop using findfdt in script
    finduuid=part uuid ${boot} ${bootpart} uuid
    get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
    get_fdt_ospi_nand=ubifsload ${fdtaddr} ${bootdir}/dtb/${fdtfile};
    get_fit_config=setexpr name_fit_config gsub / _ conf-${fdtfile}
    get_fit_mmc=load mmc ${bootpart} ${addr_fit} ${bootdir}/${name_fit}
    get_fit_ospi_nand=ubifsload ${addr_fit} ${bootdir}/${name_fit}
    get_fit_overlaystring=for overlay in $name_overlays; do; setexpr name_fit_overlay gsub / _ conf-${overlay}; setenv overlaystring ${overlaystring}'#'${name_fit_overlay}; done;
    get_kern_mmc=load mmc ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
    get_kern_ospi_nand=ubifsload ${loadaddr} ${bootdir}/${name_kern}
    get_overlay_mmc=fdt address ${fdtaddr}; fdt resize 0x100000; for overlay in $name_overlays; do; load mmc ${bootpart} ${dtboaddr} ${bootdir}/dtb/${overlay} && fdt apply ${dtboaddr}; done;
    get_overlay_ospi_nand=fdt address ${fdtaddr} fdt resize 0x100000; for overlay in $name_overlays; do; ubifsload ${dtboaddr} ${bootdir}/dtb/${overlay} && fdt apply ${dtboaddr}; done;
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    init_mmc=run args_all args_mmc
    init_ospi_nand=run args_all args_ospi_nand ospi_nand_ubi_init
    kernel_addr_r=0x82000000
    loadaddr=0x82000000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
    loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    mmcboot=if mmc dev ${mmcdev}; then devnum=${mmcdev}; devtype=mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if run loadimage; then run args_mmc; if test ${boot_fit} -eq 1; then run run_fit; else run mmcloados; fi; fi; fi; fi;
    mmcdev=1
    mmcloados=if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run get_fdt_mmc; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
    mmcrootfstype=ext4 rootwait
    mtdids=spi-nand0=spi-nand0
    mtdparts=mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern)
    name_fit=fitImage
    name_kern=Image
    ospi_nand_bootpart=ospi_nand.rootfs
    ospi_nand_bootvolume=ubi0:rootfs
    ospi_nand_ubi_init=ubi part ${ospi_nand_bootpart}; ubifsmount ${ospi_nand_bootvolume};
    partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    pxefile_addr_r=0x80100000
    ramdisk_addr_r=0x88080000
    rd_spec=-
    rdaddr=0x88080000
    rproc_fw_binaries= 0 /lib/firmware/am62-mcu-m4f0_0-fw
    rproc_load_and_boot_one=if load mmc ${bootpart} $loadaddr ${rproc_fw}; then if rproc load ${rproc_id} ${loadaddr} ${filesize}; then rproc start ${rproc_id}; fi; fi
    run_fit=run get_fit_config; bootm ${addr_fit}#${name_fit_config}${overlaystring}
    run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
    scriptaddr=0x80000000
    secure_rprocs=0
    serial#=0000000000000000
    soc=k3
    splashfile=ti_logo_414x97_32bpp.bmp.gz
    splashimage=0x80200000
    splashpos=m,m
    splashsource=mmc
    update_do_main_cpsw0_qsgmii_phyinit=setenv do_main_cpsw0_qsgmii_phyinit 0;
    update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
    vendor=ti
    
    Environment size: 6553/126972 bytes
    =>
    

    
    SYSFW Firmware Version 10.1.8--v10.01.08 (Fiery Fox)
    SYSFW Firmware revision 0xa
    SYSFW ABI revision 4.0
    
    [BOOTLOADER_PROFILE] Boot Media       : SD Card
    [BOOTLOADER_PROFILE] Boot Image Size  : 566 KB
    [BOOTLOADER_PROFILE] Cores present    :
    m4f0-0
    r5f0-0
    a530-0
    [BOOTLOADER PROFILE] System_init                      :      22015us
    [BOOTLOADER PROFILE] Board_init                       :          0us
    [BOOTLOADER PROFILE] Drivers_open                     :      11977us
    [BOOTLOADER PROFILE] Board_driversOpen                :          0us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_M4FSS0_0) :     149915us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_R5FSS0_0) :     175862us
    [BOOTLOADER PROFILE] App_loadImages(CSL_CORE_ID_A53SS0_0) :     228057us
    [BOOTLOADER PROFILE] SBL End                          :          0us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     587828us
    
    Image loading done, switching to application ...
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    
    U-Boot SPL 2024.04 (Apr 30 2025 - 00:34:14 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    --->>> tidss_drv_probe
    GPIO0_33 L24 = 0x2
    GPIO1_0 AC20 = 0x1
    GPIO0_36 N20 = 0x12
    GPIO1_3 AE23 = 0x9
    GPIO1_4 AB20 = 0x19
    GPIO0_37 U23 = 0x32
    GPIO0_38 V25 = 0x72
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Trying to boot from MMC2
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Authentication passed
    am625_init: spl_boot_device: devstat = 0x1643 bootmedia = 0x8 bootindex = 0
    Authentication passed
    
    
    U-Boot 2024.04 (Apr 22 2025 - 23:54:33 +0800)
    
    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    DRAM:  456 MiB (effective 512 MiB)
    Core:  79 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    Net:   Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_connect() failed
    No ethernet found.
    
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    => print
    addr_fit=0x90000000
    arch=arm
    args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    args_ospi_nand=setenv bootargs console=${console} ${optargs} ubi.mtd=${ospi_nand_bootpart} root=${ospi_nand_bootvolume} rootfstype=ubifs
    baudrate=115200
    board=am62x
    board_name=am62x_skevm
    board_rev=unknown
    board_serial=unknown
    board_software_revision=unknown
    boot=mmc
    boot_fdt=try
    boot_fit=0
    boot_rprocs=if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then rproc init; run boot_rprocs_mmc; fi;
    boot_rprocs_mmc=env set rproc_id; env set rproc_fw; env set secure_suffix; if test ${secure_rprocs} -eq 1; then env set secure_suffix -sec; fi; for i in ${rproc_fw_binaries} ; do if test -z "${rproc_id}" ; then env set rproc_id $i; else env set rproc_fw $i${secure_suffix}; run rproc_load_and_boot_one; env set rproc_id; env set rproc_fw; fi; done
    boot_targets=mmc1 mmc0 usb pxe dhcp
    bootcmd=run envboot; run bootcmd_ti_mmc; bootflow scan -lb
    bootcmd_ti_mmc=run init_${boot}; run update_do_main_cpsw0_qsgmii_phyinit; if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1; then run main_cpsw0_qsgmii_phyinit; fi; run boot_rprocs; if test ${boot_fit} -eq 1; then run get_fit_${boot}; run get_fit_overlaystring; run run_fit; else; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern; fi;
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    console=ttyS2,115200n8
    cpu=armv8
    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
    dfu_alt_info_mmc=boot part 1 1; rootfs part 1 2; tiboot3.bin fat 1 1; tispl.bin fat 1 1; u-boot.img fat 1 1; uEnv.txt fat 1 1; sysfw.itb fat 1 1
    dfu_alt_info_nand=NAND.tiboot3 part 0 1; NAND.tispl part 0 2; NAND.tiboot3.backup part 0 3; NAND.u-boot part 0 4; NAND.u-boot-env part 0 5; NAND.u-boot-env.backup part 0 6; NAND.file-system part 0 7
    dfu_alt_info_ospi=tiboot3.bin raw 0x0 0x080000; tispl.bin raw 0x080000 0x200000; u-boot.img raw 0x280000 0x400000; u-boot-env raw 0x680000 0x020000; sysfw.itb raw 0x6c0000 0x100000; rootfs raw 0x800000 0x3800000
    dfu_alt_info_ospi_nand=ospi_nand.tiboot3 part 1; ospi_nand.tispl part 2; ospi_nand.u-boot part 3; ospi_nand.env part 4; ospi_nand.env.backup part 5; ospi_nand.rootfs part 6; ospi_nand.phypattern part 7
    dfu_alt_info_ram=tispl.bin ram 0x80080000 0x200000; u-boot.img ram 0x81000000 0x400000
    dorprocboot=0
    dtboaddr=0x89000000
    envboot=if mmc dev ${mmcdev}; then if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if test -n "${loadbootscript}" && run loadbootscript; then run bootscript; else if run loadbootenv; then echo Loaded env from ${bootenvfile}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi; fi; fi; fi;
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtcontroladdr=9a0d23a0
    fdtfile=ti/k3-am625-sk.dtb
    fdtoverlay_addr_r=0x89500000
    findfdt=echo WARN: fdtfile already set. Stop using findfdt in script
    finduuid=part uuid ${boot} ${bootpart} uuid
    get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
    get_fdt_ospi_nand=ubifsload ${fdtaddr} ${bootdir}/dtb/${fdtfile};
    get_fit_config=setexpr name_fit_config gsub / _ conf-${fdtfile}
    get_fit_mmc=load mmc ${bootpart} ${addr_fit} ${bootdir}/${name_fit}
    get_fit_ospi_nand=ubifsload ${addr_fit} ${bootdir}/${name_fit}
    get_fit_overlaystring=for overlay in $name_overlays; do; setexpr name_fit_overlay gsub / _ conf-${overlay}; setenv overlaystring ${overlaystring}'#'${name_fit_overlay}; done;
    get_kern_mmc=load mmc ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
    get_kern_ospi_nand=ubifsload ${loadaddr} ${bootdir}/${name_kern}
    get_overlay_mmc=fdt address ${fdtaddr}; fdt resize 0x100000; for overlay in $name_overlays; do; load mmc ${bootpart} ${dtboaddr} ${bootdir}/dtb/${overlay} && fdt apply ${dtboaddr}; done;
    get_overlay_ospi_nand=fdt address ${fdtaddr} fdt resize 0x100000; for overlay in $name_overlays; do; ubifsload ${dtboaddr} ${bootdir}/dtb/${overlay} && fdt apply ${dtboaddr}; done;
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    init_mmc=run args_all args_mmc
    init_ospi_nand=run args_all args_ospi_nand ospi_nand_ubi_init
    kernel_addr_r=0x82000000
    loadaddr=0x82000000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
    loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    mmcboot=if mmc dev ${mmcdev}; then devnum=${mmcdev}; devtype=mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev}; if run loadimage; then run args_mmc; if test ${boot_fit} -eq 1; then run run_fit; else run mmcloados; fi; fi; fi; fi;
    mmcdev=1
    mmcloados=if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run get_fdt_mmc; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
    mmcrootfstype=ext4 rootwait
    mtdids=spi-nand0=spi-nand0
    mtdparts=mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern)
    name_fit=fitImage
    name_kern=Image
    ospi_nand_bootpart=ospi_nand.rootfs
    ospi_nand_bootvolume=ubi0:rootfs
    ospi_nand_ubi_init=ubi part ${ospi_nand_bootpart}; ubifsmount ${ospi_nand_bootvolume};
    partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    pxefile_addr_r=0x80100000
    ramdisk_addr_r=0x88080000
    rd_spec=-
    rdaddr=0x88080000
    rproc_fw_binaries= 0 /lib/firmware/am62-mcu-m4f0_0-fw
    rproc_load_and_boot_one=if load mmc ${bootpart} $loadaddr ${rproc_fw}; then if rproc load ${rproc_id} ${loadaddr} ${filesize}; then rproc start ${rproc_id}; fi; fi
    run_fit=run get_fit_config; bootm ${addr_fit}#${name_fit_config}${overlaystring}
    run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
    scriptaddr=0x80000000
    secure_rprocs=0
    serial#=0000000000000000
    soc=k3
    splashfile=ti_logo_414x97_32bpp.bmp.gz
    splashimage=0x80200000
    splashpos=m,m
    splashsource=mmc
    update_do_main_cpsw0_qsgmii_phyinit=setenv do_main_cpsw0_qsgmii_phyinit 0;
    update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
    vendor=ti
    
    Environment size: 6553/126972 bytes
    =>
    

    BR,

    Biao

  • Thanks Biao. I will review the log tomorrow.

    Please ask the customer do another test, remove SBL, just use the purely Linux boot flow (using tiboot3.bin from U-Boot) on the failure board to see if the problem still happens.

  • Hi Bin,

    customer B1 board can boot now, I am checking with customer for the change, their bootmode pin setting have some issue, I think.

    BR,

    Biao

  • Hi Biao,

    Glad to hear the issue is resolved. Please do share the details of the resolution once you have it. Thanks.

  • Hi Bin,

    customer said they change the Bootpart in am62x.env file as below. change it from emmc to SD card, but I am confusing, why SR1.0 SOC can boot from SD card successfully even it is setting emmc Bootpart in env file?

    BR,

    Biao

  • Hi Biao,

    If bootpart has been modified to "0:2", it seems the board is booting from eMMC but not from the SD card. Do you know if the customer has flashed Linux to eMMC on this board?