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.

AM6411: Booting AM6411

Part Number: AM6411
Other Parts Discussed in Thread: SK-AM64B, , SYSCONFIG, AM6442, SK-AM62B

Tool/software:

I've a custom AM6411 board derived from SK-AM64B.  I've got a few questions.

I've got the debian trixie 11.00.09.04 (Apr 4, 2025) image burned and am trying to boot.  Not working, you can see the log below.  I'm not terribly surprised because...

  • I presume I need to build a new dtb file to boot
  • Do I also need to re-build U-boot stuff too?

Can you help me with a high level overview of what needs to be done?

I was hoping to generate the dts file using the SysConfig tool, but I'm a bit confused about this.  Seems there are multiple ways to run the SysConfig tool.

(1) I don't seem to be able to configure the DDR memory here.
https://dev.ti.com/sysconfig

Note in this first method to run the SysConfig, I do not select a software product.  I've used this in the past to configure different hardware with AM6442 (with AM6442 selected instead).

But it seems I'm unable to get the ddr to actually configure?  Is this something I need to worry about?  I imagine I need to specify the size?

However, I see I can run this tool in a different fashion, with Software Product selected for DDR.

Now I get stuff for ddr config... how am I supposed to use this?  I see you link to the README: https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/README.html

However I think my memory may be the same from the AM6442 --> AM6411, so ideally I don't need to bother with this, but I'm confused a bit how running the SysConfig in these different methods should be used.

(2) Is there a way I'm supposed to be able to disable the other cores since I'm using AM6411?

  • Like SDK hit has k3-am642-sk.dts which includes k3-am642.dtsi
    • Do I need to create a new k3-am641.dtsi that doesn't include the second core?
    • And make myself a k3-am641-myboard.dts?
    • Anything with U-boot?

For the record, here's the log of what I've got now:

U-Boot SPL 2025.01-00406-gcd91d7360181 (Mar 25 2025 - 16:14:37 +0000)
Resetting on cold boot to workaround ErrataID:i2331
Please resend tiboot3.bin in case of UART/DFU boot
resetting ...

U-Boot SPL 2025.01-00406-gcd91d7360181 (Mar 25 2025 - 16:14:37 +0000)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -121
SPL initial stack usage: 13392 bytes

U-Boot SPL 2025.01-00406-gcd91d7360181 (Mar 25 2025 - 16:14:37 +0000)
Resetting on cold boot to workaround ErrataID:i2331
Please resend tiboot3.bin in case of UART/DFU boot
resetting ...

U-Boot SPL 2025.01-00406-gcd91d7360181 (Mar 25 2025 - 16:14:37 +0000)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -121
SPL initial stack usage: 13392 bytes

  • Hi Timothy,

    First of all, I modified your post to put the console log into a code block so that we have line numbers for communication.

    In the console log, line 12 repeats line 1. Did you power cycle or warm reset the board causing line 12 messages? or is it automatically printed without you touching the board?

    I was hoping to generate the dts file using the SysConfig tool, but I'm a bit confused about this.  Seems there are multiple ways to run the SysConfig tool.

    Let's put the SysConfig tool aside for now. We will come back on it later if necessary.

    However I think my memory may be the same from the AM6442 --> AM6411,

    Do you mean you use the exact same DDR memory (type and size) as that the SK-AM62B EVM?

    (2) Is there a way I'm supposed to be able to disable the other cores since I'm using AM6411?

    It is only relevant in kernel, the number of A53 cores doesn't matter in U-Boot. Let's first ensure you can boot into U-Boot command line prompt first.

  • Hi Bin, 

    I'm working with Timothy on this project. I can confirm that I power cycled the device after line 10 was printed, which is why the console log repeats. 

  • Hi Connor,

    Thanks for confirming it.

    I assume your board doesn't have EEPROM? Please apply the two U-Boot patches I posted in the link below, to see if it can make U-Boot print more message on your board.

     AM6412: Is it possible to skip read eeprom for board id? 

  • Hi Bin,

    So I sort of made progress.  I was able to recompile U-Boot, but I had to cheat and take the bl31.bin and bl32.bin from the prebuilt directory because I couldn't get optee or trusted-firmware built --> is this ok?  I also show my other updates to attempt to match the two updates in the other post.  Have yet to try this.

    So I've found CONFIG_SPL_OF_LIST, but no CONFIG_OF_LIST.  Made the update to:

    ./ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/configs/am64x_evm_r5_defconfig
    -CONFIG_SPL_OF_LIST="k3-am642-r5-evm k3-am642-r5-sk"
    +CONFIG_SPL_OF_LIST="k3-am642-r5-sk"


    Here's the other update...

    # This Kconfig path seen didn't seem right as seemed to be from other post, however...
    ./ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/am64x/Kconfig
    
    # This Kconfig matches what you gave...
    ./ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/arch/arm/mach-k3/am64x/Kconfig
    Now I've got...
    ...
    config TARGET_AM642_R5_EVM
    	bool "TI K3 based AM642 EVM running on R5"
    	select CPU_V7R
    	select SYS_THUMB_BUILD
    	select K3_LOAD_SYSFW
    	select RAM
    	select SPL_RAM
    	select K3_DDRSS
    	select BINMAN
    	imply SYS_K3_SPL_ATF
    #	imply TI_I2C_BOARD_DETECT
    

    Here you can see where I took bl31.bin and bl32.bin and stuck into "output" directories so U-Boot would build.  I ended up taking them from the prebuilt-images directory and was able to fully compile.  I think that's ok to use these prebuilt files for the purposes here?

    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support$ find . | grep bl31.bin$
    ./prebuilt-images/am64xx-evm/bl31.bin
    ./trusted-firmware-a-2.12+git/build/k3/lite/release/bl31.bin
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support$ find . | grep bl32.bin$
    ./optee-os-4.5.0+git/out/arm-plat-k3/core/bl32.bin
    ./prebuilt-images/am64xx-evm/bl32.bin
    

    I would like to understand why I couldn't build optee and trusted-formware.  I had an issue with libgcc.a not being found.

    * I was able to eliminate this error by running linux-devkit/environment-setup-aarch64-oe-linux
       * But then had to unset ARCH which was set to arm64, and there was no arm64 directory.

    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/optee-os-4.5.0+git$ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=k3-am64x CF
    ...
      CC      out/arm-plat-k3/ldelf-lib/libutils/ext/qsort_helpers.o
      CC      out/arm-plat-k3/ldelf-lib/libutils/ext/array.o
      CC      out/arm-plat-k3/ldelf-lib/libutils/ext/base64.o
      AS      out/arm-plat-k3/ldelf-lib/libutils/ext/arch/arm/atomic_a64.o
      CC      out/arm-plat-k3/ldelf-lib/libutils/ext/arch/arm/auxval.o
      AR      out/arm-plat-k3/ldelf-lib/libutils/libutils.a
      CPP     out/arm-plat-k3/ldelf/ldelf.lds
      LD      out/arm-plat-k3/ldelf/ldelf.elf
    ~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-ld.bfd: cannot find libgcc.a: No such file or directory
    make: *** [ldelf/link.mk:60: out/arm-plat-k3/ldelf/ldelf.elf] Error 1
    

    I also tried ti-processor-sdk-linux-rt-am64xx-evm-11.01.05.03, but then I had issues with the python cryptography library missing?

    The output of this command shows the same files in both 11.00... and 11.01..; I guess this is not complete? user@box:~$ find . | grep crypt | grep python

    /licenses/native/python3-cryptography-native
    /licenses/native/python3-cryptography-native/generic_BSD-3-Clause
    /licenses/native/python3-cryptography-native/recipeinfo
    /licenses/native/python3-cryptography-native/LICENSE.BSD
    /licenses/native/python3-cryptography-native/LICENSE
    /licenses/native/python3-cryptography-native/LICENSE.APACHE
    /licenses/native/python3-cryptography-native/generic_Apache-2.0
    /licenses/native/python3-pycryptodome-native
    /licenses/native/python3-pycryptodome-native/recipeinfo
    /licenses/native/python3-pycryptodome-native/generic_BSD-2-Clause
    /licenses/native/python3-pycryptodome-native/LICENSE.rst
    /licenses/native/python3-pycryptodome-native/generic_PD
    /linux-devkit/sysroots/aarch64-oe-linux/usr/lib/python3.12/crypt.py
    /linux-devkit/sysroots/aarch64-oe-linux/usr/lib/python3.12/lib-dynload/_crypt.cpython-312-aarch64-linux-gnu.so
    /linux-devkit/sysroots/aarch64-oe-linux/usr/lib/python3.12/__pycache__/crypt.cpython-312.pyc
    /linux-devkit/sysroots/aarch64-oe-linux/var/lib/opkg/info/python3-crypt.control
    /linux-devkit/sysroots/aarch64-oe-linux/var/lib/opkg/info/python3-crypt.list
    /linux-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/crypt.py
    /linux-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/lib-dynload/_crypt.cpython-312-x86_64-linux-gnu.so
    /linux-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/__pycache__/crypt.cpython-312.pyc
    /linux-devkit/sysroots/x86_64-arago-linux/var/lib/opkg/info/nativesdk-python3-crypt.list
    /linux-devkit/sysroots/x86_64-arago-linux/var/lib/opkg/info/nativesdk-python3-crypt.control
    /k3r5-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/crypt.py
    /k3r5-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/lib-dynload/_crypt.cpython-312-x86_64-linux-gnu.so
    /k3r5-devkit/sysroots/x86_64-arago-linux/usr/lib/python3.12/__pycache__/crypt.cpython-312.pyc
    /k3r5-devkit/sysroots/x86_64-arago-linux/var/lib/opkg/info/nativesdk-python3-crypt.list
    /k3r5-devkit/sysroots/x86_64-arago-linux/var/lib/opkg/info/nativesdk-python3-crypt.control
    

    My understanding is to stick these files on the first partition of sdcard in and see how things go?

    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git$ find . -printf "%s %TY-%Tm-%Td %TH:%TM %p\n" | grep tiboot3.bin$
    33 2025-10-02 16:29 ./out/r5/tiboot3.bin
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git$ find . -printf "%s %TY-%Tm-%Td %TH:%TM %p\n" | grep tispl.bin$
    943711 2025-10-02 16:42 ./out/a53/tispl.bin
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git$ find . -printf "%s %TY-%Tm-%Td %TH:%TM %p\n" | grep u-boot.img$
    645472 2025-10-02 16:29 ./out/r5/u-boot.img
    1443139 2025-10-02 16:42 ./out/a53/u-boot.img
    

    I mounted the Debian image and checked the target files:

    timothy@box:~/Downloads$ ls -al
    total 3322181
    drwxr-xr-x  4 timothy timothy       4096 Oct  3 00:58 .
    drwxr-x--- 20 timothy timothy       4096 Oct  2 17:32 ..
    drwxr-xr-x  2 root    root           512 Dec 31  1969 m1
    drwxr-xr-x 18 root    root          4096 Apr  3  2025 m2
    -rwxr-xr-x  1 timothy timothy 2077415982 Oct  2 16:49 ti-processor-sdk-linux-rt-am64xx-evm-11.01.05.03-Linux-x86-Install.bin
    -rw-rw-r--  1 timothy timothy 5368709120 Oct  3 00:59 tisdk-debian-trixie-rt-am64xx-evm-11.00.09.04.wic
    timothy@box:~/Downloads$ ls -al m1
    total 2848
    drwxr-xr-x 2 root    root        512 Dec 31  1969 .
    drwxr-xr-x 4 timothy timothy    4096 Oct  3 00:58 ..
    -rwxr-xr-x 1 root    root     528270 Apr  3  2025 tiboot3.bin
    -rwxr-xr-x 1 root    root     939599 Apr  3  2025 tispl.bin
    -rwxr-xr-x 1 root    root    1442643 Apr  3  2025 u-boot.img
    timothy@box:~/Downloads$ 

    Seems the tiboot3.bin filesize above is just the link, here are the files in proper:

    timothy@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/out/r5$ ls -al tiboot3*
    -rw-rw-r-- 1 timothy timothy 501145 Oct  2 16:29 tiboot3-am64x-gp-evm.bin
    -rw-rw-r-- 1 timothy timothy    279 Oct  2 16:29 tiboot3-am64x-gp-evm.bin.map
    -rw-rw-r-- 1 timothy timothy 503734 Oct  2 16:29 tiboot3-am64x_sr2-hs-evm.bin
    -rw-rw-r-- 1 timothy timothy    328 Oct  2 16:29 tiboot3-am64x_sr2-hs-evm.bin.map
    -rw-rw-r-- 1 timothy timothy 503734 Oct  2 16:29 tiboot3-am64x_sr2-hs-fs-evm.bin
    -rw-rw-r-- 1 timothy timothy    331 Oct  2 16:29 tiboot3-am64x_sr2-hs-fs-evm.bin.map
    lrwxrwxrwx 1 timothy timothy     33 Oct  2 16:29 tiboot3.bin -> ./tiboot3-am64x_sr2-hs-fs-evm.bin
    -rw-rw-r-- 1 timothy timothy 506242 Oct  2 16:29 tiboot3-capsule.bin

    I am concerned if I've getting the write files, there are several as illustrated in the linking of tiboot3.bin above.  Also, do I need to boot fit images?

    73,
    Timothy

  • Hi Timothy,

    I was able to recompile U-Boot, but I had to cheat and take the bl31.bin and bl32.bin from the prebuilt directory because I couldn't get optee or trusted-firmware built --> is this ok?

    Yes, the SDK prebuilt bl31.bin and bl32.bin are okay to use for re-compiling U-Boot. You don't need to rebuild them unless you modified their source code.

    BTY, I am not sure how you rebuilt the SDK U-Boot, the simplest way is to use command 'make u-boot' at the SDK top level directory, and output binaries are under <SDK>/board-support/u-boot-build/ directory.

    So I've found CONFIG_SPL_OF_LIST, but no CONFIG_OF_LIST.  Made the update to:

    CONFIG_OF_LIST is defined in configs/am64x_evm_a53_defconfig. You need to modify it there.

    > # This Kconfig path seen didn't seem right as seemed to be from other post, however...
    > ./ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/am64x/Kconfig

    > # This Kconfig matches what you gave...
    > ./ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/arch/arm/mach-k3/am64x/Kconfig

    Correct, the EVM board Kconfig options have been re-structured in newer U-Boot versions.

    > Now I've got...
    > ...
    > config TARGET_AM642_R5_EVM
    >     bool "TI K3 based AM642 EVM running on R5"
    >     ...
    >     #    imply TI_I2C_BOARD_DETECT

    You also need to remove "imply TI_I2C_BOARD_DETECT" in the "config TARGET_AM642_A53_EVM" entry too.

    I would like to understand why I couldn't build optee and trusted-formware.  I had an issue with libgcc.a not being found.

    I believe this is a bug in the trusted-firmware code, which fails to build in the SDK environment. But you can ignore this error and directly use the prebuilt binaries in the SDK.

    My understanding is to stick these files on the first partition of sdcard in and see how things go?

    Yes, update the 3 U-Boot binaries in the SDcard boot partition.

    Seems the tiboot3.bin filesize above is just the link, here are the files in proper:

    > tiboot3.bin -> ./tiboot3-am64x_sr2-hs-fs-evm.bin

    Yes, this is the tiboot3.bin binary for SK-AM62B.

  • Thanks, I made those updates and tried to build from top level, received this error:

    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04$ make clean
    
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04$ make u-boot
    ##snip##
      CC      spl/drivers/usb/host/xhci-ring.o
      AR      spl/drivers/usb/host/built-in.o
      AR      spl/drivers/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SYM     spl/u-boot-spl.sym
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      BINMAN  .binman_stamp
    Image 'ti-spl' is missing external blobs and is non-functional: blob-ext
    
    /binman/ti-spl/fit/images/fdt-0/blob-ext (spl/dts/ti/k3-am642-evm.dtb):
       Missing blob
    
    Image 'ti-spl' has faked external blobs and is non-functional: k3-am642-evm.dtb
    
    binman: Filename 'spl/dts/ti/k3-am642-evm.dtb' not found in input path (.,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/am64x,dts/upstream/src/arm64,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/prebuilt-images/am64xx-evm) (cwd='/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/u-boot-build/a53')
    make[2]: *** [/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/Makefile:1135: .binman_stamp] Error 1
    make[2]: Leaving directory '/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/u-boot-build/a53'
    make[1]: *** [Makefile:177: sub-make] Error 2
    make[1]: Leaving directory '/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git'
    make: *** [makerules/Makefile_u-boot:11: u-boot-a53] Error 2
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04$ 
    

    Before I was following instructions at link below to build U-Boot:

    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM64X/11_00_09_04/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html#build-u-boot

    I'm getting a similar error to above doing this now:

    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git$ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" BL31=$TFA_DIR/build/k3/lite/release/bl31.bin TEE=$OPTEE_DIR/out/arm-plat-k3/core/bl32.bin O=$UBOOT_DIR/out/a53 BINMAN_INDIRS=$TI_LINUX_FW_DIR
    ##SNIP##
      CC      spl/net/net-common.o
      AR      spl/net/built-in.o
      LDS     spl/u-boot-spl.lds
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      FDTGREP spl/dts/ti/k3-am642-sk.dtb
      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
      MKIMAGE u-boot.img
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
      BINMAN  .binman_stamp
    Image 'ti-spl' is missing external blobs and is non-functional: blob-ext
    
    /binman/ti-spl/fit/images/fdt-0/blob-ext (spl/dts/ti/k3-am642-evm.dtb):
       Missing blob
    
    Image 'ti-spl' has faked external blobs and is non-functional: k3-am642-evm.dtb
    
    binman: Filename 'spl/dts/ti/k3-am642-evm.dtb' not found in input path (.,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/am64x,dts/upstream/src/arm64,/home/timothy/workgit/ti-linux-firmware) (cwd='/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/out/a53')
    make[1]: *** [/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/Makefile:1135: .binman_stamp] Error 1
    make[1]: Leaving directory '/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/out/a53'
    make: *** [Makefile:177: sub-make] Error 2
    user@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git$
    

    73,
    Timothy

  • Ok,

    I renamed the sdk install dir, re-installed sdk.  Sucessfully built using: make u-boot from top level.

    I applied the changes (I used # to comment out, I presume that's right):

    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/arch/arm/mach-k3/am64x/Kconfig
    two removals of "imply TI_I2C_BOARD_DETECT"
    
    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/common/Kconfig
    two removals of "depends on TI_I2C_BOARD_DETECT"
    
    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/configs/am64x_evm_a53_defconfig
    #CONFIG_OF_LIST="ti/k3-am642-evm ti/k3-am642-sk"
    CONFIG_OF_LIST="ti/k3-am642-sk"
    
    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/configs/am64x_evm_r5_defconfig
    #CONFIG_SPL_OF_LIST="k3-am642-r5-evm k3-am642-r5-sk"
    CONFIG_SPL_OF_LIST="k3-am642-r5-sk"
    
    

    I ran make u-boot (didn't do a clean)... got same error...

      CC      spl/drivers/usb/host/xhci-ring.o
      AR      spl/drivers/usb/host/built-in.o
      AR      spl/drivers/built-in.o
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      SYM     spl/u-boot-spl.sym
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      BINMAN  .binman_stamp
    Image 'ti-spl' is missing external blobs and is non-functional: blob-ext
    
    /binman/ti-spl/fit/images/fdt-0/blob-ext (spl/dts/ti/k3-am642-evm.dtb):
       Missing blob
    
    Image 'ti-spl' has faked external blobs and is non-functional: k3-am642-evm.dtb
    
    binman: Filename 'spl/dts/ti/k3-am642-evm.dtb' not found in input path (.,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/board/ti/am64x,dts/upstream/src/arm64,/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/prebuilt-images/am64xx-evm) (cwd='/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/u-boot-build/a53')
    make[2]: *** [/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/Makefile:1135: .binman_stamp] Error 1
    make[2]: Leaving directory '/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/u-boot-build/a53'
    make[1]: *** [Makefile:177: sub-make] Error 2
    make[1]: Leaving directory '/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git'
    make: *** [makerules/Makefile_u-boot:11: u-boot-a53] Error 2
    timothy@box:~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04$ 

    Also tried again with a make clean first, same issue.

    ----

    I will try messing around a bit.  For instance, if I'm removing other evm stuff, I wonder if the changes below should be made.
    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/configs/am64x_evm_a53_defconfig
    CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am642-evm"    -?-> "ti/k3-am642-sk"
    CONFIG_TARGET_AM642_A53_EVM=y   -?-> n


    /home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git/configs/am64x_evm_r5_defconfig
    CONFIG_DEFAULT_DEVICE_TREE="k3-am642-r5-evm"  -?-> "k3-am642-r5-sk"
    CONFIG_TARGET_AM642_R5_EVM=y    -?-> n

    73,
    Timothy

  • Didn't have success with the above items.  What I ended up doing only applying the 2nd fix from the other email... to remove the 

    • imply TI_I2C_BOARD_DETECT
    • depends on TI_I2C_BOARD_DETECT

    We'll try that.

  • Hi Timothy,

    I just tried to disable EEPROM detect in SDK11.01 U-Boot and tested on SK-AM64B. Following is the U-Boot patch I used:

    diff --git a/arch/arm/mach-k3/am64x/Kconfig b/arch/arm/mach-k3/am64x/Kconfig
    index e8b7d54d7ac3..f2cc927b5204 100644
    --- a/arch/arm/mach-k3/am64x/Kconfig
    +++ b/arch/arm/mach-k3/am64x/Kconfig
    @@ -15,7 +15,6 @@ config TARGET_AM642_A53_EVM
            select BINMAN
            imply BOARD
            imply SPL_BOARD
    -       imply TI_I2C_BOARD_DETECT
     
     config TARGET_AM642_R5_EVM
            bool "TI K3 based AM642 EVM running on R5"
    @@ -27,7 +26,6 @@ config TARGET_AM642_R5_EVM
            select K3_DDRSS
            select BINMAN
            imply SYS_K3_SPL_ATF
    -       imply TI_I2C_BOARD_DETECT
     
     config TARGET_PHYCORE_AM64X_A53
            bool "PHYTEC phyCORE-AM64x running on A53"
    diff --git a/configs/am64x_evm_a53_defconfig b/configs/am64x_evm_a53_defconfig
    index 7b6720caa82c..2f3f87ed305b 100644
    --- a/configs/am64x_evm_a53_defconfig
    +++ b/configs/am64x_evm_a53_defconfig
    @@ -75,7 +75,7 @@ CONFIG_MMC_SPEED_MODE_SET=y
     CONFIG_OF_CONTROL=y
     CONFIG_SPL_OF_CONTROL=y
     CONFIG_OF_UPSTREAM=y
    -CONFIG_OF_LIST="ti/k3-am642-evm ti/k3-am642-sk"
    +CONFIG_OF_LIST="ti/k3-am642-sk"
     CONFIG_MULTI_DTB_FIT=y
     CONFIG_SPL_MULTI_DTB_FIT=y
     CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    diff --git a/configs/am64x_evm_r5_defconfig b/configs/am64x_evm_r5_defconfig
    index 5c342abbeb97..7fe0ea662722 100644
    --- a/configs/am64x_evm_r5_defconfig
    +++ b/configs/am64x_evm_r5_defconfig
    @@ -81,7 +81,7 @@ CONFIG_CMD_FAT=y
     CONFIG_OF_CONTROL=y
     CONFIG_SPL_OF_CONTROL=y
     CONFIG_SPL_MULTI_DTB_FIT=y
    -CONFIG_SPL_OF_LIST="k3-am642-r5-evm k3-am642-r5-sk"
    +CONFIG_SPL_OF_LIST="k3-am642-r5-sk"
     CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
     CONFIG_SYS_RELOC_GD_ENV_ADDR=y
     CONFIG_SPL_DM=y

  • Hi Bin, 

    Here are the logs after I try to boot from the updated u-boot: 

    U-Boot SPL 2025.01-gcd91d7360181-dirty (Oct 03 2025 - 09:12:52 -0700)

    Resetting on cold boot to workaround ErrataID:i2331

    Please resend tiboot3.bin in case of UART/DFU boot

    resetting ...

     

    U-Boot SPL 2025.01-gcd91d7360181-dirty (Oct 03 2025 - 09:12:52 -0700)

    SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')

    SPL initial stack usage: 13392 bytes

  • Hi Connor,

    From the log, it is possible U-Boot gets stuck in DDR initialization.

    Does your board use the exact same DDR as that on SK-AM64B EVM? If not, you would have to use SysConfig tool to generate the proper DDR config data for the DDR device on your board, and integrate the DDR config data in U-Boot. So far we have only disabled board EEPROM detect in U-Boot.

  • Ok, we finally got U-Boot built.  I'm a little confused though...  I originally had the environment variables set according to the build instructions.  I was using:

    export SDK_INSTALL_DIR=/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04
    #export SDK_INSTALL_DIR=/home/timothy/ti-processor-sdk-linux-rt-am64xx-evm-11.01.05.03
    
    export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
    export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
    export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
    export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
    
    export UBOOT_DIR="${SDK_INSTALL_DIR}"/board-support/ti-u-boot-2025.01+git
    export TI_LINUX_FW_DIR=~/workgit/ti-linux-firmware
    export TFA_DIR="${SDK_INSTALL_DIR}"/board-support/trusted-firmware-a-2.12+git
    export OPTEE_DIR="${SDK_INSTALL_DIR}"/board-support/optee-os-4.5.0+git
    

    And I thought that running the build from SDK root (make u-boot) without setting these variables caused it to work.

    However given that it couldn't find the evm.dtb as per error I struggled with:

      BINMAN  .binman_stamp
    Image 'ti-spl' is missing external blobs and is non-functional: blob-ext
    
    /binman/ti-spl/fit/images/fdt-0/blob-ext (spl/dts/ti/k3-am642-evm.dtb):
       Missing blob
    
    Image 'ti-spl' has faked external blobs and is non-functional: k3-am642-evm.dtb
    
    binman: Filename 'spl/dts/ti/k3-am642-evm.dtb' 

    I ended up copying the k3-am642-sk.dtb to this k3-am642-evm.dtb and was able to complete the build.

    ~/ti-processor-sdk-linux-rt-am64xx-evm-11.00.09.04/board-support/u-boot-build/a53/spl/dts/ti$ cp k3-am642-sk.dtb k3-am642-evm.dtb

    (or under 11.01 ---> Note below we compiled U-Boot with 11.01 and are using 11.01 SDK images for Yocto & Debian)

    However with this we are getting a boot failure.  We've tried with both the:

    Processor SDK LINUX RT AM64x Yocto - SD card image: here's the log...
    /cfs-file/__key/communityserver-discussions-components-files/791/Processor-SDK-LINUX-RT-AM64x-Yocto-_2D00_-SD-card-image.txt

    Here are the last few lines.. where it just hangs.

    [    2.204466] Waiting for root device PARTUUID=076c4a2a-02...
    [   12.270412] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready
    [   12.270432] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready
    [   12.270439] platform led-controller: deferred probe pending: leds-gpio: Failed to get GPIO '/led-controller/led-0'

    and

    Processor SDK LINUX RT AM64x Debian Trixie - SD card image: here's the log... note this loops and will go forever vs. the hang we see with Yocto.
    /cfs-file/__key/communityserver-discussions-components-files/791/Processor-SDK-LINUX-RT-AM64x-Debian-Trixie-_2D00_-SD-card-image.txt

    Here are the last few lines....

    Hit any key to stop autoboot:  0
    __omap24_i2c_xfer_msg: error waiting for ACK (status=0x116)
    omap_i2c_xfer: errored out at msg 0: -121
    pca953x gpio@70: Error reading output register
    switch to partitions #0, OK
    mmc1 is current device
    __omap24_i2c_xfer_msg: error waiting for ACK (status=0x116)
    omap_i2c_xfer: errored out at msg 0: -121
    pca953x gpio@70: Error reading output register
    SD/MMC found on device 1
    256 bytes read in 0 ms
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    12406604 bytes read in 516 ms (22.9 MiB/s)
    ## Error: variable "fdtfile" not defined
    22626816 bytes read in 934 ms (23.1 MiB/s)
    Failed to load '/dtb/'
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    ERROR: Did not find a cmdline Flattened Device Tree
    Could not find a valid device tree
    22626816 bytes read in 934 ms (23.1 MiB/s)
    Failed to load '/dtb/'
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    ERROR: Did not find a cmdline Flattened Device Tree
    Could not find a valid device tree
    Scanning for bootflows in all bootdevs
    Seq  Method       State   Uclass    Part  Name                      Filename
    ---  -----------  ------  --------  ----  ------------------------  ----------------
    Scanning bootdev 'mmc@fa00000.bootdev':
    No bootdevs for 'mmc0'
    Bus usb@f400000: Register 2000840 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus usb@f400000 for devices... 1

    --end--

    So I think the next step is to compile the dtb specific for our board and try that unless you have any other guidance at this point.  Thanks.

    73,
    Timothy

  • Hi Timothy,

    Here are the last few lines.. where it just hangs.

    [    2.204466] Waiting for root device PARTUUID=076c4a2a-02...
    [   12.270412] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready
    [   12.270432] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready

    I believe the reason is that the custom board has different design in the SD card power supply. The SK EVM uses a GPIO pin from an I/O expander.

    For a quick fix, please try the following kernel patch to see if you can boot into Linux login prompt.

    diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
    index 1deaa0be0085..b518dc14bb4f 100644
    --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
    +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
    @@ -149,9 +149,8 @@ vdd_mmc1: regulator-2 {
                    regulator-min-microvolt = <3300000>;
                    regulator-max-microvolt = <3300000>;
                    regulator-boot-on;
    -               enable-active-high;
                    vin-supply = <&vcc_3v3_sys>;
    -               gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
    +               regulator-always-on;
            };
     
            com8_ls_en: regulator-3 {

  • Hi Bin, 

    After making that update to k3-am642-sk.dts, on the Debian image I'm seeing it still loops forever same as before. On the Yocto image we get a few more lines on the console before it hangs: 


    [ 12.269602] platform led-controller: deferred probe pending: leds-gpio: Failed to get GPIO '/led-controller/led-0'
    [ 12.269623] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready
    [ 12.269628] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready

    Do you have any recommendations for how we should handle this? Is there a way we can force enable all LDOs or something along those lines? 

  • Hi Connor,

    [ 12.269623] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready
    [ 12.269628] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready

    Can you please show the patch to the k3-am642-sk.dts change you made? The patch I provided above should fix this error.

    Please note this patch is for the kernel devicetree, not the U-Boot.

  • Hi Bin

    Here is the update.  Note, my mileage has not been as expected, for instance I was only able to create the u-boot files by copying the k3-am642-sk.dtb --> k3-am642-evm.dtb in the u-boot-build directory so it wouldn't stop because of faked blobs.

    	vdd_mmc1: regulator-2 {
    		/* TPS2051BD */
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		// enable-active-high;
    		vin-supply = <&vcc_3v3_sys>;
    		// gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
    		regulator-always-on;
    	};
    

    For your reference, here is the entire dts from ~/ti-processor-sdk-linux-rt-am64xx-evm-11.01.05.03/board-support/ti-linux-kernel-6.12.35+git-ti-rt/arch/arm64/boot/dts/ti/k3-am642-sk.dts

    /cfs-file/__key/communityserver-discussions-components-files/791/7711.k3_2D00_am642_2D00_sk.dts

    73,
    Timothy

  • Hi Connor and Timothy,

    [ 12.269623] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready
    [ 12.269628] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready

    I checked on the SK-AM64B EVM again, these message should not happen if my kernel devicetree patch is applied.

    Can you please provide the details of the steps that how you compiled the kernel and update the device tree file to the SD card? The list of commands you ran would be helpful.

    Please note this kernel boot issue should not be related to u-boot.

  • Hi Bin,

    My latest tests show that the compiled dtb is not the problem because we are never getting to that stage.  I confirmed this by deleting all the dtb, I even deleted the linux images files, no change.

    Ok, we're using an SD card created with from tisdk-default-image-rt-am64xx-evm-11.01.05.03.rootfs.wic.xz — 624681 K Processor SDK LINUX RT AM64x Yocto - SD card image.

    I note that this image contains two partitions.  Here I'm showing you from a locally mounted copy of the disk image:

    I'll start with the second partition (mounted to yocto-m2).

    • Here you can see where I expect to replace the k3-am642-sk.dtb.  --> however I can delete all these dtb files and no impact.
    • You can also see the yocto-m2/Image fitImage which I've also deleted --> and it has no impact to boot.
    • So we never appear to be getting to this point.  What's being done with my compile is not a concern at this point.

    user@box:~/Downloads$ find yocto-m2/boot
    yocto-m2/boot
    yocto-m2/boot/Image
    yocto-m2/boot/dtb
    yocto-m2/boot/dtb/ti
    yocto-m2/boot/dtb/ti/k3-am642-evm.dtb
    yocto-m2/boot/dtb/ti/k3-am642-phyboard-electra-gpio-fan.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-phyboard-electra-rdk.dtb
    yocto-m2/boot/dtb/ti/k3-am642-evm-nand.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-evm-icssg1-dualemac.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-tqma64xxl-mbax4xxl.dtb
    yocto-m2/boot/dtb/ti/k3-am642-evm-icssg1-dualemac-mii.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-hummingboard-t.dtb
    yocto-m2/boot/dtb/ti/k3-am642-sk-pwm.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-evm-pcie0-ep.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-sk.dtb
    yocto-m2/boot/dtb/ti/k3-am642-phyboard-electra-pcie-usb2.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-evm-sk-cpsw3g-pps.dtbo
    yocto-m2/boot/dtb/ti/k3-am642-hummingboard-t-usb3.dtb
    yocto-m2/boot/dtb/ti/k3-am642-hummingboard-t-pcie.dtb
    yocto-m2/boot/fitImage
    yocto-m2/boot/Image-6.12.35-ti-rt-00915-ge3e551586dfa
    yocto-m2/boot/EFI
    yocto-m2/boot/EFI/BOOT
    yocto-m2/boot/EFI/BOOT/bootaa64.efi
    yocto-m2/boot/EFI/BOOT/grub.cfg
    yocto-m2/boot/fitImage-6.12.35-ti-rt-00915-ge3e551586dfa

    In the first partition where I placed updated U-Boot output to, we can also see an Image file.

    • This is ~17 MB and it is the Linux kernel.
    • I believe this is what is being booted, and I guess it contains whatever hardware description that is being used.
    • Changing the name of Image here results in linux not booting!

    user@box:~/Downloads$ find yocto-m1
    yocto-m1
    yocto-m1/EFI
    yocto-m1/EFI/BOOT
    yocto-m1/EFI/BOOT/bootaa64.efi
    yocto-m1/EFI/BOOT/grub.cfg
    yocto-m1/Image
    yocto-m1/tiboot3-am64x-gp-evm.bin
    yocto-m1/tiboot3-am64x_sr2-hs-evm.bin
    yocto-m1/tiboot3-am64x_sr2-hs-fs-evm.bin
    yocto-m1/tiboot3.bin
    yocto-m1/tispl.bin
    yocto-m1/u-boot.img
    yocto-m1/uEnv.txt

    -----------

    For the record, placing the updated sd card (with both uboot on partition 1 and dtb on partition 2 into the AM64B-SK evm and booting I get these results:

    In both cases, we get this text... (which I believe to match the boot log of our board).  I also just did a diff vs. our custom boot.  These lines are the same also for our customer board to boot.  Only thing different between different boots/devices is the time time to read the 17000960 linux Image on partition 1.

    574 bytes read in 1 ms (560.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    17000960 bytes read in 657 ms (24.7 MiB/s)
    Failed to load '/boot/dtb/'
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    ERROR: Did not find a cmdline Flattened Device Tree
    Could not find a valid device tree
    Scanning for bootflows in all bootdevs
    Seq  Method       State   Uclass    Part  Name                      Filename
    ---  -----------  ------  --------  ----  ------------------------  ----------------
    Scanning bootdev 'mmc@fa00000.bootdev':
      0  efi          ready   mmc          1  mmc@fa00000.bootdev.part_ /EFI/BOOT/BOOTAA64.EFI
    ** Booting bootflow 'mmc@fa00000.bootdev.part_1' with efi
    Cannot persist EFI variables without system partition
    Booting /\EFI\BOOT\BOOTAA64.EFI
    error: no such device: ((hd0,msdos1)/EFI/BOOT)/EFI/BOOT/grub.cfg.
    error: serial port `com0' isn't found.
    
    
                                 GNU GRUB  version 2.12
    
     ┌────────────────────────────────────────────────────────────────────────────┐
     │*boot                                                                       │
    

    So I'm thinking:

    • Perhaps I can go to command prompt in GNU GRUB and point to images on partition 2.
    • Add options to uEnv.txt to point to the proper dtb file. and/or copy dtb files to partition 1.
      • Just confirmed, the Image on partition 1 is exactly the same as Image-6.12.35-ti-rt-00915-ge3e551586dfa on parition2/boot (which is pointed to by Image).
      • You gave me some advice earlier today that adding to uEnv.txt the line below, and then I think placing the dtb in parition1 /boot/dtb/ti/k3-am642-sk.dtb   ; may do the trick.
        • fdtfile=ti/k3-am642-sk.dtb
    • I understood from earlier debug that without the EEPROM, U-Boot may not be determining the correct location for the dtb.

    I don't know if you can provide recommendations for re-compiling U-Boot so that even without EEPROM, it does the right thing?

    Thanks.

    73,
    Timothy

  • Hi Timothy,

    As discussed on Friday, the console log message

            Failed to load '/boot/dtb/'

    shows the u-Boot ENV "fdtfile" is not defined, which causes the boot flow falls back to EFI boot mode which is not setup properly for the custom board either.

    You gave me some advice earlier today that adding to uEnv.txt the line below, and then I think placing the dtb in parition1 /boot/dtb/ti/k3-am642-sk.dtb   ; may do the trick.
    • fdtfile=ti/k3-am642-sk.dtb

    Yes, this should be the solution:

    - flash the WIC image "tisdk-default-image-rt-am64xx-evm-11.01.05.03.rootfs.wic.xz" to the sdcard;

    - copy the 3 U-Boot binaries you compiled with the removing-EEPROM-detect patch to overwrite the prebuilt U-Boot binaries in the sdcard partition 1;

    - add the following line to file .txt in sdcard partition 1:

            fdtfile=ti/k3-am642-sk.dtb

    You don't need to change anything else on the sdcard.

    [ 12.269623] platform regulator-2: deferred probe pending: platform: supplier 1-0070 not ready
    [ 12.269628] platform fa00000.mmc: deferred probe pending: platform: supplier regulator-2 not ready

    Once you are able to see this kernel messages again on your custom board, we will work on resolving it.

  • Hi Bin, 

    We made the change you suggested to the fdtfile and made some good progress. I've attached the updated log below. We're now getting stuck at the line "[ 13.598633] remoteproc remoteproc1: Booting fw image am64-main-r5f1_0-fw, size 93260"

    /cfs-file/__key/communityserver-discussions-components-files/791/boot_2D00_after_2D00_udev_2D00_fix.txt

    Here are the last few lines: 

    [  OK  ] Reached target Socket Units.
    [  OK  ] Finished Reboot and dump vmcore via kexec.
    [  OK  ] Started D-Bus System Message Bus.
    [   12.614594] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [   12.631064] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [   12.631343] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [   12.725454] at24 0-0051: supply vcc not found, using dummy regulator
    [   13.350942] platform 78000000.r5f: configured R5F for remoteproc mode
    [   13.359701] k3_r5_rproc bus@f4000:r5fss@78000000: split-mode not permitted, force configuring for single-cpu mode
    [   13.360406] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [   13.389193] remoteproc remoteproc0: 78000000.r5f is available
    [   13.414346] remoteproc remoteproc0: powering up 78000000.r5f
    [   13.414415] remoteproc remoteproc0: Booting fw image am64-main-r5f0_0-fw, size 86352
    [   13.451871] rproc-virtio rproc-virtio.0.auto: assigned reserved memory node r5f-dma-memory@a0000000
    [   13.473319] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   13.473378] rproc-virtio rproc-virtio.0.auto: registered virtio0 (type 7)
    [   13.473389] remoteproc remoteproc0: remote processor 78000000.r5f is now up
    [   13.474261] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [   13.514308] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [   13.527984] k3-m4-rproc 5000000.m4fss: configured M4F for remoteproc mode
    [   13.528072] platform 78400000.r5f: configured R5F for remoteproc mode
    [   13.528185] k3_r5_rproc bus@f4000:r5fss@78400000: split-mode not permitted, force configuring for single-cpu mode
    [   13.528561] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [   13.560432] remoteproc remoteproc1: 78400000.r5f is available
    [   13.572734] remoteproc remoteproc2: 5000000.m4fss is available
    [   13.598598] remoteproc remoteproc1: powering up 78400000.r5f
    [   13.598633] remoteproc remoteproc1: Booting fw image am64-main-r5f1_0-fw, size 93260
    

  • Hi Connor,

    I am working with Timothy offline today on this.

  • Hi Bin,

    Thanks for your help!  Attached are the working dts/dtb.  For the record, we basically removed/disabled/commented out everything that related to the extra cores and that did the trick.

    As for U-Boot, I'll post the diffs needed later.

    Feature AM6442 AM6411
    Arm Cortex-A53 Microprocessor Subsystem Dual Core Single Core
    Arm Cortex-R5F

    2 × Dual Core
    R5FSS0_CORE0
    R5FSS0_CORE1
    R5FSS1_CORE0
    R5FSS1_CORE1

    Single Core
    R5FSS0_CORE0

    Arm Cortex-M4F

    Single Core
    Functional Safety Optional(4)

    Single Core

    Here is the dts/dtb.

    /cfs-file/__key/communityserver-discussions-components-files/791/5822.k3_2D00_am642_2D00_sk.dts

    /cfs-file/__key/communityserver-discussions-components-files/791/8535.k3_2D00_am642_2D00_sk.dtb

    73,
    Timothy