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.

PROCESSOR-SDK-AM64X: custom device tree load failed at u-boot

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: AM6442

Tool/software:

Hi. I am Chan.

I need your help and here is my info.

Board : TI am64xx Custom Board

SDK version : 10.00.07.04

I am developing a custom board with am6442 and currently trying to run Linux. I successfully got Linux to run with version 09.02.01.09 before.

However, I am encountering issues with version 10. I added the following code to am64x.env (SDK/board-support/ti-u-boot-2024.04+git/board/ti/am64x) to change the fdtfile from k3-am642-evm.dtb to k3-am642-myb.dtb:

findfdt= setenv name_fdt ti/k3-am642-myb.dtb;
	 setenv fdtfile ${name_fdt}

The boot log looks like this:

U-Boot 2024.04-dirty (Nov 27 2024 - 10:23:21 +0900)
SoC:   AM64X SR2.0 HS-FS
Model: Texas Instruments AM642 MYB
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
DRAM:  2 GiB
Core:  84 devices, 29 uclasses, devicetree: separate
NAND:  0 MiB
MMC:   mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
ti_sci system-controller@44043000: Message not acknowledged
ti-sci-clk clock-controller: ti_sci_clk_enable: put_clock failed (-19)
Enable clock-controller failed
prueth icssg0-eth: clk_enable failed -19
Failed to probe prueth driver
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
Net:   eth0: ethernet@8000000port@1
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'uEnv.txt'
8831310 bytes read in 409 ms (20.6 MiB/s)
## Loading kernel from FIT Image at 90000000 ...
   Using 'conf-ti_k3-am642-evm.dtb' configuration
   Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x900000e0
     Data Size:    8502355 Bytes = 8.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    sha512
     Hash value:   b84ce756e15cd8d43d5663403188a682d75e5678104973a8c722272d962896208c15f99a28d209e65c04172b04ba88dcf7f26caa0cc6f0eeba6d784a8f949b0a
   Verifying Hash Integrity ... sha512+ OK
## Loading fdt from FIT Image at 90000000 ...
   Using 'conf-ti_k3-am642-evm.dtb' configuration
   Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
   Trying 'fdt-ti_k3-am642-evm.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x9082a7a4
     Data Size:    64278 Bytes = 62.8 KiB
     Architecture: AArch64
     Load Address: 0x83000000
     Hash algo:    sha512
     Hash value:   8daba83ac0badd6804fc3b1e43b72f936ea02817ca5413ab1bccad63c21911f389be217663f3207f3ff431be43c81ace362655cd919b93f5c7441fc43386e9c3
   Verifying Hash Integrity ... sha512+ OK
   Loading fdt from 0x9082a7a4 to 0x83000000
   Booting using the fdt blob at 0x83000000
Working FDT set to 83000000
   Uncompressing Kernel Image to 81000000
   Loading Device Tree to 000000008ffed000, end 000000008ffffb15 ... OK
Working FDT set to 8ffed000
Starting kernel ...

The successful boot log for version 09.02.01.09 is as follows:

U-Boot 2023.04-dirty (Nov 20 2024 - 15:14:43 +0900)
SoC:   AM64X SR2.0 HS-FS
Model: Texas Instruments AM642 MYB
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
DRAM:  2 GiB
Core:  59 devices, 30 uclasses, devicetree: separate
NAND:  0 MiB
MMC:   mmc@fa10000 - probe failed: -22
mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -121
Net:   eth0: ethernet@8000000port@1
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
Failed to load 'uEnv.txt'
## Error: "main_cpsw0_qsgmii_phyinit" not defined
8452086 bytes read in 384 ms (21 MiB/s)
name_fit_config=conf-ti_k3-am642-myb.dtb
## Loading kernel from FIT Image at 90000000 ...
   Using 'conf-ti_k3-am642-myb.dtb' configuration
   Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x900000f4
     Data Size:    8264744 Bytes = 7.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    sha512
     Hash value:   5a3fc75d5414363577e3a4d0b00101dc8b59e70b0fa565e1497564ef85fb44b853265ab7bcfc7930448b119452576b50c2e7f5256a41bdf88e1933338cee5e3b
   Verifying Hash Integrity ... sha512+ OK
## Loading fdt from FIT Image at 90000000 ...
   Using 'conf-ti_k3-am642-myb.dtb' configuration
   Verifying Hash Integrity ... sha512,rsa4096:custMpk+ OK
   Trying 'fdt-ti_k3-am642-myb.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x907fe4f4
     Data Size:    54978 Bytes = 53.7 KiB
     Architecture: AArch64
     Load Address: 0x83000000
     Hash algo:    sha512
     Hash value:   783457f5d15ffc91a5b55906ca1eaa3c1b22b66c097795bd818da3cac7646f0fb68eb8ff3007e991653f94ec11e37683470deae8673c0b13d39e922457160b08
   Verifying Hash Integrity ... sha512+ OK
   Loading fdt from 0x907fe4f4 to 0x83000000
   Booting using the fdt blob at 0x83000000
Working FDT set to 83000000
   Uncompressing Kernel Image
   Loading Device Tree to 000000008ffef000, end 000000008ffff6c1 ... OK
Working FDT set to 8ffef000
Starting kernel ...

How do I make my board to find the fdt file as k3-am642-myb.dtb?

Thanks in advance.

  • Hi,

    Could you check at the U-boot prompt if the env setttings done are applied or not?

    Check the output of printenv fdtfile

    You can also set the env variable at the U-boot prompt by using setenv fdtfile <name-of-dtb>.dtb

    Regards,
    Aparna