Part Number: TDA4VM
Other Parts Discussed in Thread: AM68
Tool/software:
TDA4VM
SDK 0900
freertos+linux
For some reason, we want ATF to boot uboot directly, Is this possible? and if so, what should we do about it?
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.
Hi,
A reference example on AM68:
You will have to do something very similar on TDA4VM.
Best Regards,
Keerthy
hi
1. Our current boot flow is R5 SBL -> ATF -> OPTEE -> uboot-spl -> uboot -> linux , and then we want to change it to R5 SBL -> ATF -> OPTEE -> uboot -> linux.
2. From the reference example above, we found that ATF did not make any changes, is this OK? we load uboot to 0x80800000 in SBL, and then the default ATF can boot uboot directly?
3. We found that the above example only changed linux, but we loaded linux through uboot, so I don't think we need to make any changes, is that true?
4. We tried to remove the uboot-spl, and the SBL boot seemed fine, but the A72 stuck after booting to the OPTEE. log as follows
R5 SBL
[2025-01-17 10:44:38] (Jan 17 2025 - 10:40:00)
[2025-01-17 10:58:13] TIFS ver: 9.0.6--v09.00.06 (Kool Koala)
[2025-01-17 10:58:14] SCISERVER Board Configuration header population... PASSED
[2025-01-17 10:58:14] Sciclient_setBoardConfigHeader... PASSED
[2025-01-17 10:58:14] Efuse xlated: VD 2 to 850 mV (OppVid: 0x41, Slave:0x48, Res:0x0)
[2025-01-17 10:58:14] Successfully set voltage to 850 mV for Slave:0x48, Res:0x0
[2025-01-17 10:58:14] Initlialzing PLLs ...done.
[2025-01-17 10:58:14] InitlialzingClocks ...done.
[2025-01-17 10:58:14] Initlialzing DDR ...done.
[2025-01-17 10:58:14] Initializing SERDES ...done.
[2025-01-17 10:58:14] Initializing GTC ...Copying EEPROM content to DDR ...
[2025-01-17 10:58:14] EEPROM Data Copy Done.
[2025-01-17 10:58:14] Begin parsing user application
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x20...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x21...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x1...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x2...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x6...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x7...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x8...
[2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x9...
[2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x3...
[2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x4...
[2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x30...
[2025-01-17 10:58:15]
[2025-01-17 10:58:15] If you don't get the logs of the application while booting from boot0 partition then you might need to pass the MAX_APP_SIZE_EMMC (=<size of you application>) while building your appimage
[2025-01-17 10:58:15] Searching for X509 certificate ...found @0x41c7fc60, size = 1746 bytes
[2025-01-17 10:58:15] SBL reserved memory Found: Start = @ 0xc1800000, Size = 0x800000
[2025-01-17 10:58:15] Copying 1748 bytes from app to 0xc1800002
[2025-01-17 10:58:15] Found seq @ 0xc180043d
[2025-01-17 10:58:15] image length = 2060324 bytes
[2025-01-17 10:58:15] Copying 2060328 bytes from offset 0xc20006d0 to 0xc18006d2...
[2025-01-17 10:58:15] succeeded to verify signature!
[2025-01-17 10:58:15] Detected lockstep for core_id 8, proc_id 0x1...
[2025-01-17 10:58:16] Calling Sciclient_procBootGetProcessorState, ProcId 0x1...
[2025-01-17 10:58:16] Sciclient_procBootSetProcessorCfg, ProcId 0x1, enabling Lockstep mode...
[2025-01-17 10:58:16] Calling Sciclient_procBootGetProcessorState, ProcId 0x1...
[2025-01-17 10:58:16] Enabling MCU TCMs after reset for core 8
[2025-01-17 10:58:16] Sciclient_procBootSetProcessorCfg update TCM enable/disable settings...
[2025-01-17 10:58:16] Copying 0x40 bytes to 0x41010000
[2025-01-17 10:58:16] Copying 0xf20 bytes to 0x41010040
[2025-01-17 10:58:16] Copying 0x480 bytes to 0x41010f60
[2025-01-17 10:58:16] Copying 0x318 bytes to 0x410113e0
[2025-01-17 10:58:16] Copying 0x2c0 bytes to 0x410116f8
[2025-01-17 10:58:16] Copying 0x118 bytes to 0x410119b8
[2025-01-17 10:58:16] Copying 0x8c bytes to 0xa0100000
[2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180400
[2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180600
[2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180800
[2025-01-17 10:58:16] Copying 0x33fe0 bytes to 0xa01f7430
[2025-01-17 10:58:16] Copying 0xf120 bytes to 0xa022b410
[2025-01-17 10:58:17] Copying 0xa2b8 bytes to 0xa023a530
[2025-01-17 10:58:17] Copying 0x4738 bytes to 0xa0256200
[2025-01-17 10:58:17] Copying 0x1600 bytes to 0xa025e4c4
[2025-01-17 10:58:17] Copying 0x1500 bytes to 0xa025fb00
[2025-01-17 10:58:17] Copying 0x2ea8 bytes to 0xa0262200
[2025-01-17 10:58:17] Copying 0x4000 bytes to 0xa0ffc000
[2025-01-17 10:58:17] Setting Lockstep entry point for MCU1 @0x41010000
[2025-01-17 10:58:17] Copying 0x6c878 bytes to 0x9e800000
[2025-01-17 10:58:17] Only load (not execute) image @0x9e800000
[2025-01-17 10:58:17] Copying 0x1223dc bytes to 0x80800000
[2025-01-17 10:58:17] Only load (not execute) image @0x80800000
[2025-01-17 10:58:17] Sciclient_pmSetModuleState On, DevId 0x4...
[2025-01-17 10:58:17] Copying 0xabb0 bytes to 0x70000000
[2025-01-17 10:58:17] Setting entry point for core 0 @0x70000000
[2025-01-17 10:58:17] Sciclient_procBootSetProcessorCfg, ProcId 0x20, EntryPoint 0x70000000...
[2025-01-17 10:58:17] Sciclient_pmSetModuleClkFreq, DevId 0xca @ 2000000000Hz...
[2025-01-17 10:58:17] Sciclient_pmSetModuleState Off, DevId 0xca...
[2025-01-17 10:58:17] Sciclient_pmSetModuleState On, DevId 0xca...
[2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x20...
[2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x21...
[2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x1...
[2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x2...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x6...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x7...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x8...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x9...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x3...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x4...
[2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x30...
[2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x1...
[2025-01-17 10:58:18] Sciclient_procBootSetProcessorCfg, ProcId 0x1, EntryPoint 0x41010000...
[2025-01-17 10:58:18] Sciclient_pmSetModuleClkFreq, DevId 0xfa @ 1000000000Hz...
[2025-01-17 10:58:18] Copying first 128 bytes from app to MCU ATCM @ 0x0 for core 8
[2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x2...
[2025-01-17 10:58:18] Skipping Sciclient_procBootSetProcessorCfg for ProcId 0x2, EntryPoint 0xffffffff...
[2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x1...
[2025-01-17 10:58:18] : Building Interrupt List !!!
[2025-01-17 10:58:18] : Variant - Post Build being used !!!
[2025-01-17 10:58:18] : Interrupt List Completed !!!
[2025-01-17 10:58:18]
A72 ATF
[2025-01-17 11:08:57] => NOTICE: BL31: v2.9(release):v2.9.0-dirty
[2025-01-17 11:09:08] NOTICE: BL31: Built : 14:12:59, May 22 2023
[2025-01-17 11:09:08] I/TC:
[2025-01-17 11:09:08] I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.0 (GCC)) #1 Fri Jan 20 15:42:54 UTC 2023 aarch64
[2025-01-17 11:09:08] I/TC: WARNING: This OP-TEE configuration might be insecure!
[2025-01-17 11:09:08] I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
[2025-01-17 11:09:08] I/TC: Primary CPU initializing
[2025-01-17 11:09:08] I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)')
[2025-01-17 11:09:08] I/TC: HUK Initialized
[2025-01-17 11:09:08] I/TC: Activated SA2UL device
[2025-01-17 11:09:08] I/TC: Fixing SA2UL firewall owner for GP device
[2025-01-17 11:09:08] I/TC: Enabled firewalls for SA2UL TRNG device
[2025-01-17 11:09:08] I/TC: SA2UL TRNG initialized
[2025-01-17 11:09:08] I/TC: SA2UL Drivers initialized
[2025-01-17 11:09:08] I/TC: Primary CPU switching to normal world boot
[2025-01-17 11:09:08]
Hello,
We tried to remove the uboot-spl, and the SBL boot seemed fine, but the A72 stuck after booting to the OPTEE. log as follows
SPL aka A72 spl in tispl is loaded at 0x80080000
& By default U-Boot is at 0x80800000
Have you changed the plat/ti/k3/platform.mk in ATF - board-support/trusted-firmware-a-2.11+git
PRELOADED_BL33_BASE ?= 0x80080000
Basically ATF assumes that next booting image is loaded at 0x80080000 but U-Boot is loaded at 0x80800000.
- Keerthy