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: My CPU SOM is not being programmed using the microSD boot mode option

Part Number: AM625
Other Parts Discussed in Thread: SK-AM62

Tool/software:

I have designed a CPU-based system using the AM625 IC by referring to the BeaglePlay Development Board(/resized-image/__size/640x480/__key/communityserver-discussions-components-files/791/Screenshot-2024_2D00_10_2D00_22-133927.png). But when I tried to boot the device from my microSD card I got the text through the UART as shown in the attached image(/resized-image/__size/640x220/__key/communityserver-discussions-components-files/791/Screenshot-2024_2D00_10_2D00_22-141523.png). Is this because the device is not being booted from the uSD card? How should i debug this issue? Kindly help me fix this issue.

  • Hello,

    But when I tried to boot the device from my microSD card I got the text through the UART as shown in the attached image

    Can you clarify the bootmode pin settings you have on your board for SD card boot?

    Thanks!

  • Hello Prashant,
    The Bootstrap configuration is very similar to the BeeglePlay Board. BOOTMODE1, BOOTMODE3, BOOTMODE11 and BOOTMODE13 pins are connected to a common pin(/resized-image/__size/1165x696/__key/communityserver-discussions-components-files/791/Screenshot-2024_2D00_10_2D00_22-151752.png) and that is controlled through a user button on the programming board. While the button is pressed the Boot should start from the SD card(/resized-image/__size/1701x596/__key/communityserver-discussions-components-files/791/Screenshot-2024_2D00_10_2D00_22-152232.png)

  • Hi Vinayak,

    How are you preparing the SD card for boot?

    And can you confirm if the bootmode pins [B15:B0] are getting set to [0000111001000011] for SD card primary boot & UART backup boot?

    Thanks!

  • Hello Prashant,
    I have been following the same configuration as in the BeaglePlay design. As shown here( /resized-image/__size/1899x1677/__key/communityserver-discussions-components-files/791/Screenshot-2024_2D00_10_2D00_28-115730.png) the BOOTMODE3, BOOTMODE11, and BOOTMODE13 are connected to a user button to switch between the boot modes(/resized-image/__size/1701x240/__key/communityserver-discussions-components-files/791/0820.Screenshot-2024_2D00_10_2D00_22-152232.png). I am pressing the switch to get it into the SD FS boot mode.
    Could you please share me a bootable image to debug the process? I doubt the iso i am running is not correct. Please help me with it.

  • Could you please share me a bootable image to debug the process? I doubt the iso i am running is not correct.

    What image are you using & how are you flashing it to SD card?

  • Hi Prashant,

    I have used the BeaglePlay Debian, which was flashed with the BeaglePlay Debian flasher. Do you have any other suggestions that should be tried?

    Thanks

  • Hello,

    I have used the BeaglePlay Debian, which was flashed with the BeaglePlay Debian flasher.

    I have checked the Image File attached in that BeaglePlay page & see that it contains the `tiboot3.bin` for GP device. And you seem to be using HSFS device.

    I would recommend you to once try out the following TI SK-AM62 EVM WIC image where the default `tiboot3.bin` is for HSFS device & see if your board boots.

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/10.00.07.04/tisdk-default-image-am62xx-evm.rootfs.wic.xz

    More artifacts are available here:

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM62X/10.00.07.04

    Regards,

    Prashant

  • Thank you so much for the information, Prashant. I will get back once we complete these steps and test it out.

  • Hello Prashant, We have tried the steps you have suggested and the result is still the same. The UART console still outputs  CCC.... May I know where should i specifically concentrate and debug this issue?

  • Hi All, 

    Please refer my quick inputs based on the review of the 5 page som board schematics:

    In case there is some power-up issued being faces, customer will have to add a 2.2 uF for the VSYSY pin of the PMIC similar to VDD1P8. This is a must have capacitor.

    If eMMC access is a concern, a 10K pulldown is recommended for the emmc_clk and DNI D1..D7 pullups

    In case there is issue with the SD card, customer needs to connect a pullup (VSEL_SD) to drive the PMIC LDO output to 3.3V during power-up and switch to 1.8V to support UHS-I speed

    The SD card power should be connected through a load switch that could be reset – refer SK schematics

    The SD card implementation is on carrier board and no pulls are added on the SOM board.

    I will need information on the carrier board to review and suggest possible changes.

    Regards,

    Sreenivasa

  • Hi Vinayak,

    Since you have at least the UART bootmode working, could you please boot the following image over XMODEM using your preferred UART console application:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/6136.sbl_5F00_null.release.hs_5F00_fs.tiimage

    In case the image boots successfully, it would print the current DEVSTAT register, modifies it to the value of the SD card bootmode pins logic, and resets the SoC.

    If the ROM is then able to boot successfully from SD card then there is an issue with the bootmode schematics otherwise there is an issue with the SD card schematics.

    Attaching the successful logs captured by booting the above image on the TI EVM:

    02000000011a0000616d3632780000000000000048534653010001000100010002a6000000000000d68ecb2c055dff11ade95bd927e837d2a53bc23b0a2800cebce4f106bcf309df2213912d77a157a8b7c2df40672a06a918034aa4c7d603e462481475225d49b8ad0bc40b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082fe8800bbfd09fcff0e9018ce47e04ffbf323a1371e088f41e48f32f9b14037C
    Starting NULL Bootloader ...
    
    SYSFW Firmware Version 10.0.8--v10.00.08 (Fiery Fox)
    SYSFW Firmware revision 0xa
    SYSFW ABI revision 4.0
    
    DEVSTAT: 0x3b
    Changing DEVSTAT to: 0x243
    Resetting...
    
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    Error (-2): cannot determine file size
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    
    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 -121
    DRAM:  2 GiB
    Core:  81 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
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    =>

    Regards,

    Prashant

  • Hello Prashant,

    Thank you so much for the reply!

    We tried the sbl_null image uploaded via UART to picocom, but it is blank, nothing printed on the UART console after the upload. Please advise on the next steps here.
    /resized-image/__size/1867x1412/__key/communityserver-discussions-components-files/791/6428.image-_2800_5_2900_.png


    Regards,

    Vinayak

  • but it is blank, nothing printed on the UART console after the upload.

    Assuming that the UART prints came too fast before picocom was ready to receive, could you try the following one:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/2018.sbl_5F00_null.release.hs_5F00_fs.tiimage

    This adds a 2s delay before the first UART print.

    If this also doesn't work then please clarify if you have the JTAG available for debugging.

  • Hello Prashant,

    We have tried out the image file you have shared and found that it just reset back to UART mode without printing anything new.

    No JTAG is available with us now, could you please guide me on what to do?
    /resized-image/__size/1808x1461/__key/communityserver-discussions-components-files/791/3835.image-_2800_6_2900_.png

  • Hello Prashant,

    We have retried the image again and the transfer was completed. Could you please take a look at the attached image for more details?

    /resized-image/__size/1813x1545/__key/communityserver-discussions-components-files/791/3312.image-_2800_7_2900_.png

    Please suggest us what to do next.

    Regards,

    Vinayak

  • Hello,

    After booting, the DEVSTAT register value is 0x2E4B (B15-B8: 00101110, B7-B0: 01001011) which means the primary bootmode is eMMC alternate & backup bootmode is UART.

    For primary boot from SD card and backup boot from UART, the DEVSTAT register should read 0xE43.

    So, you would need to rectify your bootmode schematics design.

    Additionally since changing the DEVSTAT register to the SD card bootmode programatically didn't result in ROM booting from the SD card (assuming the SD card is well prepared as discussed earlier) so you may need to review the SD card schematics as well.

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

    Please note if you have the working DDR configuration available for your custom DDR part, you may get started with your development using the following SBL_UART which doesn't require any storage media & just boots the images over UART directly.

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/10_01_00_33/exports/docs/api_guide_am62x/EXAMPLES_DRIVERS_SBL_UART.html

    You may find the following screen capture useful for SBL_UART boot.

    Regards,

    Prashant