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.
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
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 U-Boot 2021.01-00002-g27f28e9f8f-dirty (Jul 24 2023 - 03:08:58 -0700) SoC: AM62X SR1.0 GP Model: Texas Instruments AM625 SK EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed 1 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... 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 1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 2 1 0 switch to partitions #0, OK mmc0(part 0) is current device SD/MMC found on device 0 Failed to load 'boot.scr' ** Unrecognized filesystem type ** 19147264 bytes read in 115 ms (158.8 MiB/s) 46171 bytes read in 5 ms (8.8 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008fef1000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168-g2c23e6c538 (root@ubuntu) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Thu Jul 13 09:33:25 PDT 2023 [ 0.000000] Machine model: Coda Octopus Dive - Voice Processor [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT.
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.
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
=>
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
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! 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 I/TC: Activated SA2UL device I/TC: Fixing SA2UL firewall owner for GP device I/TC: Enabled firewalls for SA2UL TRNG device I/TC: SA2UL TRNG initialized I/TC: SA2UL Drivers initialized I/TC: Primary CPU switching to normal world boot U-Boot SPL 2021.01-00002-gf9a28a523e (Jul 27 2023 - 12:59:05 -0500) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') Trying to boot from DFU ####DOWNLOAD ... OK Ctrl+C to exit ... U-Boot 2021.01-00002-gf9a28a523e (Jul 27 2023 - 12:59:05 -0500) SoC: AM62X SR1.0 GP Model: Texas Instruments AM625 SK EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed 1 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... 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 1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 2 0 => mmc part mmmmmmc part Unknown command 'mmmmmmmc' - try 'help' => mmc part Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x01da3fde "rootfs" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 8d4546ac-58e4-974a-8f63-404e3be91d07 => gpt write mmc 0 $partitions Writing GPT: success! => setenv dfu_alt_info ${dfu_alt_info_emmc} => dfu 0 mmc 0 ##DOWNLOAD ... OK Ctrl+C to exit ... ####DOWNLOAD ... OK Ctrl+C to exit ... ####DOWNLOAD ... OK Ctrl+C to exit ... ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################DOWNLOAD ... OK Ctrl+C to exit ... => mmc partconf 0 1 1 1 => mmc bootbus 0 2 0 0 => ssetenv mmcdev 0 Unknown command 'ssetenv' - try 'help' => setenv mmcdev 0 => setenv mmcdev 0 => setenv bootpart 0 => saveenv Saving Environment to MMC... Writing to MMC(0)... OK => boot switch to partitions #0, OK mmc0(part 0) is current device SD/MMC found on device 0 Failed to load 'boot.scr' ** Unrecognized filesystem type ** 19147264 bytes read in 229 ms (79.7 MiB/s) 55666 bytes read in 6 ms (8.8 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008feef000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Fri Feb 24 05:59:04 UTC 2023 [ 0.000000] Machine model: Texas Instruments AM625 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT.
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
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 I/TC: Activated SA2UL device I/TC: Fixing SA2UL firewall owner for GP device I/TC: Enabled firewalls for SA2UL TRNG device I/TC: SA2UL TRNG initialized I/TC: SA2UL Drivers initialized I/TC: Primary CPU switching to normal world boot U-Boot SPL 2021.01-00002-gf9d7ece89f (Jul 19 2023 - 14:40:33 -0500) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') Trying to boot from MMC1 U-Boot 2021.01-00002-gf9d7ece89f (Jul 19 2023 - 14:40:33 -0500) SoC: AM62X SR1.0 GP Model: Texas Instruments AM625 SK EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed 1 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... 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 1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 2 1 0 switch to partitions #0, OK mmc0(part 0) is current device SD/MMC found on device 0 Failed to load 'boot.scr' ** Unrecognized filesystem type ** 18862592 bytes read in 109 ms (165 MiB/s) 55666 bytes read in 4 ms (13.3 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008feef000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168-rt83-gc1a1291911 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT_RT Fri Feb 24 05:50:07 UTC 2023 [ 0.000000] Machine model: Texas Instruments AM625 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] On node 0 totalpages: 524288 [ 0.000000] DMA zone: 8192 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 524288 pages, LIFO batch:63 [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT.
This is log of Linux Kernel used from SDK filesystem:
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 U-Boot 2021.01-00002-g27f28e9f8f-dirty (Sep 28 2023 - 02:56:32 -0700) SoC: AM62X SR1.0 GP Model: Coda Octopus Dive - Voice Processor EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed 1 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... 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 1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 2 1 0 switch to partitions #0, OK mmc0(part 0) is current device SD/MMC found on device 0 Failed to load 'boot.scr' ** Unrecognized filesystem type ** 19147264 bytes read in 229 ms (79.7 MiB/s) 55666 bytes read in 5 ms (10.6 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008feef000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168-g2c23e6c538 (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #1 SMP PREEMPT Fri Feb 24 05:59:04 UTC 2023 [ 0.000000] Machine model: Texas Instruments AM625 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT. 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 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
This is the log for compiling u-boot from top level of the SDK:
When I try to completely remove the GPIO logic for IO voltage select for MMC (SD Card) this is the log:
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 failed to set vqmmc-voltage to 3.3V failed to set vqmmc-voltage to 3.3V failed to set vqmmc-voltage to 1.8V failed to set vqmmc-voltage to 1.8V spl: mmc init failed with error: -70 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
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"
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")) {
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.
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.
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 U-Boot 2021.01-00002-g27f28e9f8f-dirty (Oct 04 2023 - 05:16:21 -0700) SoC: AM62X SR1.0 GP Model: Coda Octopus Dive - Voice Processor 29/09/2023 12:45PM EEPROM not available at 0x50, trying to read at 0x51 Reading on-board EEPROM at 0x51 failed 1 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... *** Warning - bad CRC, using default environment 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 1 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 2 1 0 switch to partitions #0, OK mmc1 is current device SD/MMC found on device 1 Failed to load 'boot.scr' 1490 bytes read in 2 ms (727.5 KiB/s) Loaded env from uEnv.txt Importing environment from mmc1 ... Running uenvcmd ... 1 bytes read in 3 ms (0 Bytes/s) Already setup. 19147264 bytes read in 786 ms (23.2 MiB/s) 45070 bytes read in 5 ms (8.6 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008fef1000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168-g2c23e6c538 (root@ubuntu) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #18 SMP PREEMPT Wed Oct 4 07:04:23 PDT 2023 [ 0.000000] Machine model: Coda Octopus Dive - Voice Processor 03/10/2023 10:30 AM [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: PSCI -> Starting [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: set_conduit -> SMCCC_CONDUIT_SMC [ 0.000000] psci: PSCI -> smc method property [ 0.000000] psci: psci_probe -> Reading PSCI Version... [ 0.000000] psci: psci_get_version -> reading version from 0x84000000 [ 0.000000] psci: PSCI -> ARM SMC
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?
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.
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.