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: Unable to boot from eMMC memory

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

Hello, we are in process of testing our custom hardware with AM625 SoC and managed to flashed eMMC using the USB DFU and on booting system is getting stuck as PSCI.

Any idea what's the reason and how to fix this?

Attahced boot log. 

Thanks 

emmc-boot-failed.txt
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Jul 24 2023 - 03:04:18 -0700)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
SPL initial stack usage: 13424 bytes
Trying to boot from MMC1
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Loading Environment from MMC... OK
init_env from device 9 not supported!
Starting ATF on ARM64 core...
NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE: BL31: Built : 05:06:58, Feb 24 2023
U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Jul 24 2023 - 03:08:58 -0700)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
Trying to boot from MMC1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Mitesh,

    The kernel log seems indicating communicating with DM firmware failed.

    Does the issue only happen in eMMC boot mode? Does the board have other boot methods to check if the PSCI issue also happens?

  • Hi Bin Liu, as of now, this is the only method I can do. 

    We tried boot from SD Card but there we got mmc init comms failed error and we think, it was due to the IO voltage on the SoC Bank 5 was 3.3v and not 1.8v as per the eval SK-AM62 board. 

  • Hi Mitesh,

    If the board doesn't have 1.8v for SD card slot, you can add "no-1-8-v;" device tree property to the '&sdhci1' node in your board DTS, assuming your use SD card on MMC1 interface. This DT setting prevents SD card witch to 1.8v.

  • Hi Bin, we tired that and outcome was the same. On eval board there is GPIO (GPIO0_30 or GPIO0_31) that is set to 1 or 0, and on that basis of that the IO bank 5 of the SoC is powered with 3.3V or 1.8V and on our custom board we don't have the GPIO nor the 1.8V but during u-boot it complains cannot set to 1.8v or 3.3v for the mmc interface. This exact thing happens on the SK-AM62 eval board. and Andreas, would debug this tomorrow. 

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1268592/am625-i2c-write-error-while-booting-from-sd-card

    But we have waiting couple of weeks now and we are beyond our deadline for the project and decided to look into booting from eMMC but then now we are getting error of PSCI FW missing. Can you help to debug this for us, please? Is this something to do with hardware or file missing? 

    We used exactly the same sets of files on SK-AM62 and it worked fine but not on our custom hardware. 

    Thanks 

  • After booting from DFU and before programming eMMC with u-boot and Linux Kernel, I tried the following on u-boot prompt: 

    Hit any key to stop autoboot: 0
    => bdinfo
    boot_params = 0x0000000000000000
    DRAM bank = 0x0000000000000000
    -> start = 0x0000000080000000
    -> size = 0x0000000080000000
    flashstart = 0x0000000000000000
    flashsize = 0x0000000000000000
    flashoffset = 0x0000000000000000
    baudrate = 115200 bps
    relocaddr = 0x00000000fff11000
    reloc off = 0x000000007f711000
    Build = 64-bit
    current eth = ethernet@8000000port@1
    ethaddr = 1c:63:49:22:f1:2a
    IP addr = <NULL>
    fdt_blob = 0x00000000f7ee6880
    new_fdt = 0x00000000f7ee6880
    fdt_size = 0x000000000000a560
    multi_dtb_fit= 0x0000000000000000
    lmb_dump_all:
    memory.cnt = 0x1
    memory.size = 0x0
    memory.reg[0x0].base = 0x80000000
    .size = 0x80000000

    reserved.cnt = 0x4
    reserved.size = 0x0
    reserved.reg[0x0].base = 0x9cb00000
    .size = 0xf00000
    reserved.reg[0x1].base = 0x9db00000
    .size = 0xc00000
    reserved.reg[0x2].base = 0x9e780000
    .size = 0x1880000
    reserved.reg[0x3].base = 0xf7ee5480
    .size = 0x811ab80
    arch_number = 0x0000000000000000
    TLB addr = 0x00000000ffff0000
    irq_sp = 0x00000000f7ee6870
    sp start = 0x00000000f7ee6870
    Early malloc usage: 36c0 / 8000
    =>

  • This is when booting via DFU the eval SK-AM62 board:

  • And this is when booting DFU on our custom board:

    We don't have the I2C Board IO EEPROM, would this cause an issue? (can this be why PSCI is missing?)

  • This is the entire log of programming using DFU and flashing the emmc. Thanks

    customeBoardDFU.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00002-gf9a28a523e (Jul 27 2023 - 12:58:50 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    ##############################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from MMC... MMC Device 0 not found
    *** Warning - No MMC card found, using default environment
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    NOTICE: BL31: v2.7(release):v2.7.0-359-g1309c6c80
    NOTICE: BL31: Built : 12:58:55, Jul 27 2023
    I/TC:
    I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Thu Jul 27 17:59:00 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     

  • HI Mitesh,

    > NOTICE: BL31: v2.7(release):v2.7.0-359-g1309c6c80
    > NOTICE: BL31: Built : 12:58:55, Jul 27 2023

    I see the version number doesn't match that on the EVM; v2.7 vs. v2.8. If you use SDK8.6, It seems you didn't build the uboot correctly, which likely makes the SYSFW API mismatch with kernel.

  • Hi Bin, I will review that, however, this v2.7 works fine on Eval board so why wouldn't it work on our custom board? 

    And do you think any issue with not having EEPROM for reading board ID? 

    Thanks 

  • Here is the updated log of running BL31: v2.8 but still the same issue. 

    Thanks 

    8446.emmc-boot-failed.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00002-gf9d7ece89f (Jul 19 2023 - 14:40:19 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC1
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from MMC... OK
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb
    NOTICE: BL31: Built : 14:40:24, Jul 19 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0-rc1 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Wed Jul 19 19:40:29 UTC 2023 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: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • This is log of Linux Kernel used from SDK filesystem:

    emmc-testing.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Sep 28 2023 - 07:10:30 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC1
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from MMC... OK
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE: BL31: Built : 05:06:58, Feb 24 2023
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Sep 28 2023 - 02:56:32 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC1
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • This is the log for compiling u-boot from top level of the SDK:


    miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$ sudo make u-boot
    ===================================
    Building U-boot for A53
    ===================================
    make -j 1 -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-* CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
       am62x_evm_a53_defconfig O=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53'
      GEN     ./Makefile
    #
    # configuration written to .config
    #
    make[2]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53'
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    if [ am62xx-evm = am62xx-evm ] || [ am62xx-evm = am62axx-evm ] || [ am62xx-evm = am62xx-lp-evm ]; then \
      make -j 1 -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-* CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
        CONFIG_MKIMAGE_DTC_PATH=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53/scripts/dtc/dtc \
        ATF=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl31.bin TEE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl32.bin DM=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f \
        O=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53; \
    else \
      make -j 1 -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-* CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
        CONFIG_MKIMAGE_DTC_PATH=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53/scripts/dtc/dtc \
        ATF=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl31.bin TEE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/bl32.bin \
        O=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53; \
    fi
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53'
      GEN     ./Makefile
    scripts/kconfig/conf  --syncconfig Kconfig
      CFG     u-boot.cfg
      GEN     include/autoconf.mk
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      GEN     spl/include/autoconf.mk
    ===================== WARNING ======================
    This board uses CONFIG_SPL_FIT_GENERATOR. Please migrate
    to binman instead, to avoid the proliferation of
    arch-specific scripts with no tests.
    ====================================================
      CFGCHK  u-boot.cfg
      Using /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654 as source for U-Boot
      GEN     ./Makefile
      UPD     include/generated/timestamp_autogenerated.h
      HOSTCC  tools/mkenvimage.o
      HOSTLD  tools/mkenvimage
      HOSTCC  tools/fit_image.o
      HOSTCC  tools/image-host.o
      HOSTCC  tools/dumpimage.o
      HOSTLD  tools/dumpimage
      HOSTCC  tools/mkimage.o
      HOSTLD  tools/mkimage
      CC      arch/arm/cpu/armv8/fwcall.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/arch/arm/cpu/armv8/fwcall.c:9:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      arch/arm/cpu/armv8/built-in.o
      CC      cmd/version.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/cmd/version.c:7:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      cmd/built-in.o
      CC      common/main.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/common/main.c:9:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      common/built-in.o
      CC      drivers/fastboot/fb_getvar.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/drivers/fastboot/fb_getvar.c:6:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      drivers/fastboot/built-in.o
      LD      drivers/built-in.o
      CC      lib/smbios.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/lib/smbios.c:8:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      CC      lib/display_options.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/lib/display_options.c:7:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      lib/built-in.o
      LD      u-boot
      OBJCOPY u-boot-nodtb.bin
      RELOC   u-boot-nodtb.bin
      SECURE  u-boot-nodtb.bin_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. u-boot-nodtb.bin_HS was NOT secured!
      DTC     arch/arm/dts/k3-am625-sk.dtb
      DTC     arch/arm/dts/k3-am625-r5-sk.dtb
      DTC     arch/arm/dts/k3-am62x-lp-sk.dtb
      DTC     arch/arm/dts/k3-am62x-r5-lp-sk.dtb
      SHIPPED dts/dt.dtb
      FDTGREP dts/dt-spl.dtb
      MKIMAGE u-boot.img
      SECURE  arch/arm/dts/k3-am625-sk.dtb_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. arch/arm/dts/k3-am625-sk.dtb_HS was NOT secured!
      MKIMAGE u-boot.img_HS
      OBJCOPY u-boot.srec
      MKIMAGE fit-dtb.blob
      CAT     u-boot-fit-dtb.bin
      COPY    u-boot.bin
      SYM     u-boot.sym
    arch/arm/mach-k3//config.mk:24: "WARNING: signing key not found. Random key will NOT work on HS hardware!"
    arch/arm/mach-k3//config.mk:38: "WARNING: Software revision file not found. Default may not work on HS hardware."
      CC      spl/arch/arm/cpu/armv8/fwcall.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/arch/arm/cpu/armv8/fwcall.c:9:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      spl/arch/arm/cpu/armv8/built-in.o
      CC      spl/common/spl/spl.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/common/spl/spl.c:9:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      spl/common/spl/built-in.o
      CC      spl/lib/display_options.o
    In file included from include/config.h:4,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/common.h:16,
                     from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/lib/display_options.c:7:
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/configs/am62x_evm.h:539: warning: "CONFIG_SYS_MMC_ENV_PART" redefined
      539 | #define CONFIG_SYS_MMC_ENV_PART  1
          |
    In file included from /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/include/linux/kconfig.h:4,
                     from <command-line>:
    include/generated/autoconf.h:85: note: this is the location of the previous definition
       85 | #define CONFIG_SYS_MMC_ENV_PART 2
          |
      LD      spl/lib/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SECURE  spl/u-boot-spl-nodtb.bin_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. spl/u-boot-spl-nodtb.bin_HS was NOT secured!
      DTC     arch/arm/dts/k3-am625-sk.dtb
      DTC     arch/arm/dts/k3-am625-r5-sk.dtb
      DTC     arch/arm/dts/k3-am62x-lp-sk.dtb
      DTC     arch/arm/dts/k3-am62x-r5-lp-sk.dtb
      SHIPPED dts/dt.dtb
      FDTGREP dts/dt-spl.dtb
      FDTGREP spl/dts/k3-am625-sk.dtb
      SECURE  spl/dts/k3-am625-sk.dtb_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. spl/dts/k3-am625-sk.dtb_HS was NOT secured!
      MKITS   u-boot-spl-k3_HS.its
      MKIMAGE tispl.bin_HS
    FIT description: Configuration to load ATF and SPL
    Created:         Fri Sep 29 04:36:12 2023
     Image 0 (atf)
      Description:  ARM Trusted Firmware
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    45801 Bytes = 44.73 KiB = 0.04 MiB
      Architecture: AArch64
      OS:           ARM Trusted Firmware
      Load Address: 0x9e780000
     Image 1 (tee)
      Description:  OPTEE
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Trusted Execution Environment Image
      Compression:  uncompressed
      Data Size:    421601 Bytes = 411.72 KiB = 0.40 MiB
     Image 2 (dm)
      Description:  DM binary
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    154169 Bytes = 150.56 KiB = 0.15 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x89000000
     Image 3 (spl)
      Description:  SPL (64-bit)
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Standalone Program
      Compression:  uncompressed
      Data Size:    316448 Bytes = 309.03 KiB = 0.30 MiB
      Architecture: AArch64
      Load Address: 0x80080000
      Entry Point:  0x80080000
     Image 4 (k3-am625-sk.dtb)
      Description:  k3-am625-sk
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    16942 Bytes = 16.54 KiB = 0.02 MiB
      Architecture: ARM
     Default Configuration: 'k3-am625-sk.dtb'
     Configuration 0 (k3-am625-sk.dtb)
      Description:  k3-am625-sk
      Kernel:       unavailable
      Firmware:     atf
      FDT:          k3-am625-sk.dtb
      Loadables:    tee
                    dm
                    spl
      MKIMAGE tispl.bin
    FIT description: Configuration to load ATF and SPL
    Created:         Fri Sep 29 04:36:12 2023
     Image 0 (atf)
      Description:  ARM Trusted Firmware
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    45801 Bytes = 44.73 KiB = 0.04 MiB
      Architecture: AArch64
      OS:           ARM Trusted Firmware
      Load Address: 0x9e780000
     Image 1 (tee)
      Description:  OPTEE
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Trusted Execution Environment Image
      Compression:  uncompressed
      Data Size:    421601 Bytes = 411.72 KiB = 0.40 MiB
     Image 2 (dm)
      Description:  DM binary
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    154169 Bytes = 150.56 KiB = 0.15 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x89000000
     Image 3 (spl)
      Description:  SPL (64-bit)
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Standalone Program
      Compression:  uncompressed
      Data Size:    316448 Bytes = 309.03 KiB = 0.30 MiB
      Architecture: AArch64
      Load Address: 0x80080000
      Entry Point:  0x80080000
     Image 4 (k3-am625-sk.dtb)
      Description:  k3-am625-sk
      Created:      Fri Sep 29 04:36:12 2023
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    16942 Bytes = 16.54 KiB = 0.02 MiB
      Architecture: ARM
     Default Configuration: 'k3-am625-sk.dtb'
     Configuration 0 (k3-am625-sk.dtb)
      Description:  k3-am625-sk
      Kernel:       unavailable
      Firmware:     atf
      FDT:          k3-am625-sk.dtb
      Loadables:    tee
                    dm
                    spl
      MKIMAGE spl/u-boot-spl.multidtb.fit
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      SYM     spl/u-boot-spl.sym
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
    make[2]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/a53'
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    ===================================
    Building U-boot for R5
    ===================================
    make -j 1 -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-* CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf- \
       am62x_evm_r5_config O=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5'
      GEN     ./Makefile
    #
    # configuration written to .config
    #
    make[2]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5'
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make -j 1 -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-* CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf- \
      O=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5'
      GEN     ./Makefile
    scripts/kconfig/conf  --syncconfig Kconfig
      CFG     u-boot.cfg
      GEN     include/autoconf.mk
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      GEN     spl/include/autoconf.mk
    ===================== WARNING ======================
    This board does not use CONFIG_DM_ETH (Driver Model
    for Ethernet drivers). Please update the board to use
    CONFIG_DM_ETH before the v2020.07 release. Failure to
    update by the deadline may result in board removal.
    See doc/driver-model/migration.rst for more info.
    ====================================================
    ===================== WARNING ======================
    This board uses CONFIG_SPL_FIT_GENERATOR. Please migrate
    to binman instead, to avoid the proliferation of
    arch-specific scripts with no tests.
    ====================================================
      CFGCHK  u-boot.cfg
      Using /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654 as source for U-Boot
      GEN     ./Makefile
      UPD     include/generated/timestamp_autogenerated.h
      HOSTCC  tools/mkenvimage.o
      HOSTLD  tools/mkenvimage
      HOSTCC  tools/fit_image.o
      HOSTCC  tools/image-host.o
      HOSTCC  tools/dumpimage.o
      HOSTLD  tools/dumpimage
      HOSTCC  tools/mkimage.o
      HOSTLD  tools/mkimage
      CC      cmd/version.o
      LD      cmd/built-in.o
      CC      common/main.o
      LD      common/built-in.o
      CC      lib/smbios.o
      CC      lib/display_options.o
      LD      lib/built-in.o
      LD      u-boot
      OBJCOPY u-boot-nodtb.bin
      SECURE  u-boot-nodtb.bin_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. u-boot-nodtb.bin_HS was NOT secured!
      DTC     arch/arm/dts/k3-am625-sk.dtb
      DTC     arch/arm/dts/k3-am625-r5-sk.dtb
      DTC     arch/arm/dts/k3-am62x-lp-sk.dtb
      DTC     arch/arm/dts/k3-am62x-r5-lp-sk.dtb
      SHIPPED dts/dt.dtb
      FDTGREP dts/dt-spl.dtb
      MKIMAGE u-boot.img
      SECURE  arch/arm/dts/k3-am625-r5-sk.dtb_HS
    WARNING: TI_SECURE_DEV_PKG environment variable must be defined for TI secure devices. arch/arm/dts/k3-am625-r5-sk.dtb_HS was NOT secured!
      MKIMAGE u-boot.img_HS
      OBJCOPY u-boot.srec
      CAT     u-boot-dtb.bin
      COPY    u-boot.bin
      SYM     u-boot.sym
    arch/arm/mach-k3//config.mk:24: "WARNING: signing key not found. Random key will NOT work on HS hardware!"
    arch/arm/mach-k3//config.mk:38: "WARNING: Software revision file not found. Default may not work on HS hardware."
      CC      spl/common/spl/spl.o
      LD      spl/common/spl/built-in.o
      CC      spl/lib/display_options.o
      LD      spl/lib/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      DTC     arch/arm/dts/k3-am625-sk.dtb
      DTC     arch/arm/dts/k3-am625-r5-sk.dtb
      DTC     arch/arm/dts/k3-am62x-lp-sk.dtb
      DTC     arch/arm/dts/k3-am62x-r5-lp-sk.dtb
      SHIPPED dts/dt.dtb
      FDTGREP dts/dt-spl.dtb
      FDTGREP spl/dts/k3-am625-r5-sk.dtb
      MKIMAGE spl/u-boot-spl.multidtb.fit
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/tools/k3_gen_x509_cert.sh -c 16 -b spl/u-boot-spl.bin \
          -o tiboot3.bin -l 0x43c00000 -r 1 -k ""
     SWRV = 1
      SYM     spl/u-boot-spl.sym
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
    make[2]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5'
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$
  • When I try to completely remove the GPIO logic for IO voltage select for MMC (SD Card) this is the log:

    6562.emmc-testing.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Sep 29 2023 - 04:36:16 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    Starting ATF on ARM64 core...
    NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE: BL31: Built : 05:06:58, Feb 24 2023
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Sep 29 2023 - 04:36:06 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC2
    failed to set vqmmc-voltage to 3.3V
    failed to set vqmmc-voltage to 3.3V
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Bin, when I look at the drivers mmc and sdhci in u-boot it doesn't have anything to do with "no-1-8-v"

  • HI Bin, please let  us know if you could help us in any way on this. Would you be able to give us some indication on what could be wrong? 

    If I load exact same set of files on eval all works fine. but not on our custom board. 

    Only different I see is that we don't use the EEPROM Board ID memory, and nothing else. 

    Thanks 

  • Hi Mitesh,

    when I look at the drivers mmc and sdhci in u-boot it doesn't have anything to do with "no-1-8-v"

    Fullscreen
    1
    2
    dev@ula:ti-u-boot.git$ git grep -n no-1-8-v drivers/mmc
    drivers/mmc/mmc-uclass.c:269: if (dev_read_bool(dev, "no-1-8-v")) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Would you be able to give us some indication on what could be wrong? 

    If I load exact same set of files on eval all works fine. but not on our custom board. 

    Only different I see is that we don't use the EEPROM Board ID memory, and nothing else. 

    Do you mean your custom board design is exactly the same as the EVM except the EEPROM? The EEPROM won't causes such issue.

  • Hi Bin, thanks for your reply. 

    We don't have regulator to switch SD Card IO Bank power to 1.8V or 3.3V;

    We have fixed regulator of 3.3V and removed the EEPROM and entire I2C1 device. 

    How should this be changed to address our custom board where we don't have GPIO- regulator? 

    vdd_sd_dv: gpio-regulator-TLV71033 {
    /* Output of TLV71033 */
    compatible = "regulator-gpio";
    regulator-name = "tlv71033";
    pinctrl-names = "default";
    pinctrl-0 = <&vdd_sd_dv_pins_default>;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;
    regulator-boot-on;
    vin-supply = <&vcc_5v0>;
    gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
    states = <1800000 0x1>,
                 <3300000 0x0>;
    };

  • Can I disable "CONFIG_MMC_IO_VOLTAGE" from u-boot config file to avoid changing IO voltage of SD Card? 

    For some reason, it is always getting set to 1.8V on Eval board. 

  • Hi Mitesh,

    I think we are deviating from the original issue. I don't believe the original 'psci probe' issue is related to your eMMC regulator issue. I see you have another e2e thread with Andreas working on your eMMC issue, do you want to close that U-boot issue first before this kernel issue? I am not an U-Boot expert to comment on U-Boot modifications.

  • Hi Bin, sure.

    Would you be able to help us with eMMC boot issue. When we boot we are stuck after PSCI and seems like the FW is missing. How can we fix this please? 

    What could cause this issue? 

    Exact files when flashed on Eval board works fine but not on our custom board.

    Thanks 

  • Hi Mitesh,

    This is the log for compiling u-boot from top level of the SDK:


    miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$ sudo make u-boot

    It seems you missed the step of "make sysfw-image"? Here are the steps to compile u-boot in SDK8.6 for DFU:

    - modify 'UBOOT_MACHINE_R5=' from am62x_evm_r5_config to am62x_evm_r5_usbdfu_defconfig in file Rules.make

    - run command 'make u-boot sysfw-image' to compile uboot

    - the uboot binary tiboot3.bin is under SDK board-support/k3-image-gen-2022.01/ folder

    - the uboot binary tispl.bin and u-boot.img is under SDK board-support/u-boot_build/a53/ folder

  • HI Bin,

     I was doing the sysfw using the following command after make u-boot:

    sudo make sysfw-image DEVICE_TYPE=gp

  • So to clarify:

    We do the following steps for booting from DFU

    - modify 'UBOOT_MACHINE_R5=' from am62x_evm_r5_config to am62x_evm_r5_usbdfu_defconfig in file Rules.make

    - run command 'make u-boot sysfw-image' to compile uboot

    - the uboot binary tiboot3.bin is under SDK board-support/k3-image-gen-2022.01/ folder

    - the uboot binary tispl.bin and u-boot.img is under SDK board-support/u-boot_build/a53/ folder

    and then program eMMC with following: 

    - modify 'UBOOT_MACHINE_R5=' from am62x_evm_r5_usbdfu_defconfig to am62x_evm_r5_config in file Rules.make

    - run command 'make u-boot sysfw-image' to compile uboot

    - the uboot binary tiboot3.bin is under SDK board-support/k3-image-gen-2022.01/ folder

    - the uboot binary tispl.bin and u-boot.img is under SDK board-support/u-boot_build/a53/ folder

    Are these steps correct? 

    This is what I am doing and still it get stuck at PSCI. 

  • And here is the log from compiling:

    miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$ sudo make sysfw-image DEVICE_TYPE=gp
    =====================================
    Building the Linux Kernel DTBs
    =====================================
    make -C /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538 ARCH=arm64 CROSS_COMPILE=/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- tisdk_am62xx-evm_defconfig
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    HOSTCC scripts/kconfig/confdata.o
    HOSTCC scripts/kconfig/expr.o
    LEX scripts/kconfig/lexer.lex.c
    YACC scripts/kconfig/parser.tab.[ch]
    HOSTCC scripts/kconfig/lexer.lex.o
    HOSTCC scripts/kconfig/parser.tab.o
    HOSTCC scripts/kconfig/preprocess.o
    HOSTCC scripts/kconfig/symbol.o
    HOSTCC scripts/kconfig/util.o
    HOSTLD scripts/kconfig/conf
    #
    # configuration written to .config
    #
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    HOSTCC scripts/dtc/dtc.o
    HOSTCC scripts/dtc/flattree.o
    HOSTCC scripts/dtc/fstree.o
    HOSTCC scripts/dtc/data.o
    HOSTCC scripts/dtc/livetree.o
    HOSTCC scripts/dtc/treesource.o
    HOSTCC scripts/dtc/srcpos.o
    HOSTCC scripts/dtc/checks.o
    HOSTCC scripts/dtc/util.o
    LEX scripts/dtc/dtc-lexer.lex.c
    YACC scripts/dtc/dtc-parser.tab.[ch]
    HOSTCC scripts/dtc/dtc-lexer.lex.o
    HOSTCC scripts/dtc/dtc-parser.tab.o
    HOSTLD scripts/dtc/dtc
    HOSTCC scripts/dtc/libfdt/fdt.o
    HOSTCC scripts/dtc/libfdt/fdt_ro.o
    HOSTCC scripts/dtc/libfdt/fdt_wip.o
    HOSTCC scripts/dtc/libfdt/fdt_sw.o
    HOSTCC scripts/dtc/libfdt/fdt_rw.o
    HOSTCC scripts/dtc/libfdt/fdt_strerror.o
    HOSTCC scripts/dtc/libfdt/fdt_empty_tree.o
    HOSTCC scripts/dtc/libfdt/fdt_addresses.o
    HOSTCC scripts/dtc/libfdt/fdt_overlay.o
    HOSTCC scripts/dtc/fdtoverlay.o
    HOSTLD scripts/dtc/fdtoverlay
    UPD include/config/kernel.release
    DTC arch/arm64/boot/dts/ti/k3-am625-sk.dtb
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-skeleton.dtb
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-lpmdemo.dtb
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-csi2-ov5640.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-csi2-tevi-ov5640.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-ecap-capture.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-hdmi-audio.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-mcan.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    DTC arch/arm64/boot/dts/ti/k3-am625-sk-oldi-panel.dtbo
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/linux-5.10.168+gitAUTOINC+2c23e6c538-g2c23e6c538'
    =============================
    Building SYSFW Image
    =============================
    make[1]: Entering directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/k3-image-gen-2022.01'
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-gcc -fno-builtin -Wall -Iinclude/soc/am62x -Isoc/am62x/evm -Iinclude -c -o out/soc/am62x/evm/board-cfg.o-pre-validated ./soc/am62x/evm/board-cfg.c
    python3 ./scripts/sysfw_boardcfg_validator.py -b out/soc/am62x/evm/board-cfg.o-pre-validated -i -o out/soc/am62x/evm/board-cfg.o -s am62x -l out/soc/am62x/evm/board-cfg.o.log
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-objcopy -S -O binary out/soc/am62x/evm/board-cfg.o out/soc/am62x/evm/board-cfg.bin
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-gcc -fno-builtin -Wall -Iinclude/soc/am62x -Isoc/am62x/evm -Iinclude -c -o out/soc/am62x/evm/sec-cfg.o-pre-validated ./soc/am62x/evm/sec-cfg.c
    python3 ./scripts/sysfw_boardcfg_validator.py -b out/soc/am62x/evm/sec-cfg.o-pre-validated -i -o out/soc/am62x/evm/sec-cfg.o -s am62x -l out/soc/am62x/evm/sec-cfg.o.log
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-objcopy -S -O binary out/soc/am62x/evm/sec-cfg.o out/soc/am62x/evm/sec-cfg.bin
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-gcc -fno-builtin -Wall -Iinclude/soc/am62x -Isoc/am62x/evm -Iinclude -c -o out/soc/am62x/evm/pm-cfg.o-pre-validated ./soc/am62x/evm/pm-cfg.c
    python3 ./scripts/sysfw_boardcfg_validator.py -b out/soc/am62x/evm/pm-cfg.o-pre-validated -i -o out/soc/am62x/evm/pm-cfg.o -s am62x -l out/soc/am62x/evm/pm-cfg.o.log
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-objcopy -S -O binary out/soc/am62x/evm/pm-cfg.o out/soc/am62x/evm/pm-cfg.bin
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-gcc -fno-builtin -Wall -Iinclude/soc/am62x -Isoc/am62x/evm -Iinclude -c -o out/soc/am62x/evm/rm-cfg.o-pre-validated ./soc/am62x/evm/rm-cfg.c
    python3 ./scripts/sysfw_boardcfg_validator.py -b out/soc/am62x/evm/rm-cfg.o-pre-validated -i -o out/soc/am62x/evm/rm-cfg.o -s am62x -l out/soc/am62x/evm/rm-cfg.o.log
    /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-objcopy -S -O binary out/soc/am62x/evm/rm-cfg.o out/soc/am62x/evm/rm-cfg.bin
    python3 ./scripts/sysfw_boardcfg_blob_creator.py -b out/soc/am62x/evm/board-cfg.bin -s out/soc/am62x/evm/sec-cfg.bin -p out/soc/am62x/evm/pm-cfg.bin -r out/soc/am62x/evm/rm-cfg.bin -o out/soc/am62x/evm/combined-tifs-cfg.bin
    INFO:root:#### Creating SYSFW data blob - out/soc/am62x/evm/combined-tifs-cfg.bin ####
    INFO:root:#### SW Rev = 1
    INFO:root:#### Device Group = 0
    INFO:root:#### Board config binary - out/soc/am62x/evm/board-cfg.bin
    INFO:root:#### Board config security binary - out/soc/am62x/evm/sec-cfg.bin
    INFO:root:#### Board config PM binary - out/soc/am62x/evm/pm-cfg.bin
    INFO:root:#### Board config RM binary - out/soc/am62x/evm/rm-cfg.bin
    python3 ./scripts/sysfw_boardcfg_blob_creator.py -p out/soc/am62x/evm/pm-cfg.bin -r out/soc/am62x/evm/rm-cfg.bin -o out/soc/am62x/evm/combined-dm-cfg.bin
    INFO:root:#### Creating SYSFW data blob - out/soc/am62x/evm/combined-dm-cfg.bin ####
    INFO:root:#### SW Rev = 1
    INFO:root:#### Device Group = 0
    INFO:root:#### Board config PM binary - out/soc/am62x/evm/pm-cfg.bin
    INFO:root:#### Board config RM binary - out/soc/am62x/evm/rm-cfg.bin
    ./scripts/gen_x509_combined_cert.sh -b /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/u-boot_build/r5/spl/u-boot-spl.bin -l 0x43c00000 -s /home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/prebuilt-images/ti-fs-firmware-am62x-gp.bin -m 0x40000 -c "" -d out/soc/am62x/evm/combined-tifs-cfg.bin -n 0x67000 -t out/soc/am62x/evm/combined-dm-cfg.bin -y 0x43c3a800 -k ti-degenerate-key.pem -r 1 -o tiboot3-am62x-gp-evm.bin
    Certificate being generated :
    SUCCESS: Image tiboot3-am62x-gp-evm.bin generated.
    rm out/soc/am62x/evm/sec-cfg.o out/soc/am62x/evm/pm-cfg.o out/soc/am62x/evm/rm-cfg.o out/soc/am62x/evm/board-cfg.o
    make[1]: Leaving directory '/home/miteshhiran/ti-processor-sdk-linux-am62xx-evm-08.06.00.42/board-support/k3-image-gen-2022.01'
    miteshhiran@ubuntu:~/ti-processor-sdk-linux-am62xx-evm-08.06.00.42$

  • HI Bin, could this issue of PSCI be due to different data pins swapped for DDR memory? 

    I am trying to change this to test, but not sure where to change these in device tree.

    Thanks 

  • Hi Mitesh,

    Are these steps correct? 

    Yes.

    This is what I am doing and still it get stuck at PSCI. 

    Yeah it seems the issue is not about how U-Boot was compiled.

    could this issue of PSCI be due to different data pins swapped for DDR memory? 

    It shouldn't be. If DDR config had issue, it would get stuck in U-Boot when initializing DDR.

    But this does bring up another question - have you tested on multiple boards and they are all failed at the same kernel SCI message?

  • Hi Bin, good to know this is nothing to do with u-boot compilation and DDR. Exact files works fine on eval board but not on our custom board. 

    Has to be with some differences in hardware. 

    Would you be able to point out what logic is used for reading PSCI FW version, it seems to get stuck at this call: 

    psci_get_version in the psci driver

    PS: I have tested this on 2 different boards and fails in the same manner. 

  • Could it be to do with any of this #define?? 

    CONFIG_HAVE_ARM_SMCCC

  • Hi Mitesh,

    CONFIG_HAVE_ARM_SMCCC should be enabled on AM62x anyway.

    Would you be able to point out what logic is used for reading PSCI FW version, it seems to get stuck at this call: 

    psci_get_version in the psci driver

    Yes, I think so too. I will look into it and get back to you.

    I came across from another e2e thread which also had a strange kernel boot issue, which turned out that the board power supply wasn't sufficient. What power supply do you use for your board? Please ensure it is at least 5V 3A.

  • Thanks Bin, I will check the power supply and get back to you. 

    Could it be to do with MCU or WKUP cores? I haven't connected any of these.

    or can this be any GPIO or VPP. (VPP pin is NC on our board)

    Just trying to see what difference are there on Eval and our board. 

    Thanks

  • In terms of power we tried up to 48W and still fails the same way. 

    We are using 'LM61460-Q1' and feeding 24V 2A and this is for 3.3V 6A output from the regulator. (similar to Eval board)

    I don't know if there is a way to test power sequencing but maybe when you give some info on what can cause PSCI SMC call to hang, we may be debug better.

    Thanks 

  • Hi Mitesh,

    Could it be to do with MCU or WKUP cores? I haven't connected any of these.

    or can this be any GPIO or VPP. (VPP pin is NC on our board)

    No this should be only about A53, and nothing to do with GPIO or VPP.

    Would you be able to point out what logic is used for reading PSCI FW version, it seems to get stuck at this call: 

    psci_get_version in the psci driver

    It basically tells the ATF FW is crashed somehow.

    NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb
    NOTICE: BL31: Built : 14:40:24, Jul 19 2023

    This is the log in your DFU boot. Did you rebuild BL31? The default BL31 should have the follow message:

    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 05:06:58, Feb 24 2023

    Also did you change the ATF firmware location in both U-Boot and kernel configuration?

  • Hi Bin, good, I just wanted to run out the issues. So yes we also think it is something to do with the loading of the ATF. 

    I haven't change ATF location in u-boot and Kernel, but could you share what it should be by default? 

    But again, if it was to do with the ATF FW location in U-boot or Linux, we would notice it to crash on eval SK-AM62 board as well. 

    Attached log of booting.

     

    4442.uboot-failed.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Oct 04 2023 - 05:16:39 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    Starting ATF on ARM64 core...
    NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE: BL31: Built : 05:06:58, Feb 24 2023
    U-Boot SPL 2021.01-00002-g27f28e9f8f-dirty (Oct 04 2023 - 05:16:21 -0700)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from MMC2
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • I have all this U-boot and Linux loaded in a uSD Card and Seems to work fine on eval board but not on custom board. 

  • Hi Bin,

    I have seen couple of article online about this and seems like if the DDR size is different to FW or bootloader then this can happen. 

    Can you please let me know how to confirm these? 

    community.nxp.com/.../750075

  • Hi Bin, I noticed one difference. 

    The VSYS_VMON (H10) pin/ball of the SoC we have left is open where as the datasheet recommends to be connected to VSS when supply monitor is not used. Not sure if this can cause the issue we are seeing. 

    Thanks  

  • To test, I removed the voltage divider resistor (R108 and R375) and left the VSYS_VMON Open and it still worked so it's not this!

    Thanks  

  • Hi Mitesh,

    But again, if it was to do with the ATF FW location in U-boot or Linux, we would notice it to crash on eval SK-AM62 board as well. 

    It is true if the uboot build for both boards uses the same dtb and defconfig.

    I have seen couple of article online about this and seems like if the DDR size is different to FW or bootloader then this can happen. 

    Yes, this is what I am going to ask you.

    Your uboot log shows your board has 2GB DDR which is the same size as on SK-AM62. So you do have 2GB DDR? Is it the same DDR part number as that used on SK-AM62? If not, we have to ensure you have done DDR config correctly.

  • HI Bin, yes, using the same chip as used on the eval board for the DDR4. 

  • Hi again Bin, any update on this please? 

  • No, I run out of ideas... this is the first time we had this type of issue report, but am trying to think of what else to check. Please give me some time.

  • Oh. I think, it has to be something with hardware. but just can't see what.

    I have reviewed power sequence again and looks sensible. The supply monitor was left open but this didn't make any difference on the eval board when I re-created.

    Would you be able to tell me how can I power the eval board SK-AM62 with externa power? May be that will give us some more info? 

    But please see if you think, there could be something else.

    Thanks 

  • I first suspect this could related to DDR, but you use the same DDR part as the EVM, so the U-Boot DDR config shouldn't be an issue.

    Insufficient power supply would cause instability, but you use 3.3v 6A which should be sufficient.

    Would you be able to tell me how can I power the eval board SK-AM62 with externa power? May be that will give us some more info? 

    Do you mean to bypass the type-C PD controller on SK-AM62? I am an sw guy and don't know if it is easy to do so.

  • Yes, wanted to bypass the type-c PD and power 24V directly to the board. 

    In terms of the ATF FW, we are able to comms with it when we set call methods in the device tree to hvc instead of smc so this tells the FW is not crashed, correct? 

    Can we find out why would hvc calls work but not smc?

    Thanks 

  • Dear Bin, we found the issue!

    Our custom board has wrong DDR chip, it's 512MB instead of 2GB we were expecting. 

    After making the change in the Device tree for u-boot we can log on the system now. 

    Thanks for all the support on this.

  • Thanks for the update. Glad the issue is resolved.