Other Parts Discussed in Thread: AM67, DA8XX
Tool/software:
I am performing system boot verification for a custom board based on the AM67 (J722S) EVM using TI SDK 11.00.10.01
Currently, I am implementing the following boot sequence in UART boot mode and encountering an error:
1.Transfer tiboot3.bin via XMODEM
2.Transfer tispl.bin and u-boot.img via YMODEM
However, after executing tiboot3.bin, the system does not transition to YMODEM transfer wait state, and the boot sequence stops.
Upon tracing the operation of tiboot3.bin, I have confirmed the following:
-After executing k3_sysfw_loader(), UART output is functioning normally (System Firmware has already been loaded by ROM)
-Subsequently, when get_ti_sci_handle() is executed, it returns NULL
-Inside get_ti_sci_handle(), uclass_get_device_by_driver(UCLASS_FIRMWARE, DM_DRIVER_GET(ti_sci), &dev) is called, but dev cannot be obtained
-As a result, version display fails in k3_sysfw_print_ver() because ti_sci is NULL
As a workaround, I tried calling get_ti_sci_handle() within k3_sysfw_loader() to check the initialization state of ti_sci, but this did not resolve the issue.
This appears to be deeply dependent on the SPL implementation in u-boot-ti-staging included in the TI SDK and the TI System Firmware initialization.
The following causes are suspected:
-The ti_sci driver is not yet initialized during SPL execution
-In the SPL configuration, even when System Firmware has been loaded by ROM, get_ti_sci_handle() is being called before SPL-side initialization is complete
-The YMODEM transfer wait process in UART boot is not enabled at the SPL stage
Regarding the initialization process for k3_sysfw_loader() and ti_sci, I would like to know the following.
-In k3_sysfw_loader(), is it necessary to explicitly perform ti_sci client initialization (equivalent to ti_sci_initialize()) even in the ROM-loaded state?
-Is it by design that get_ti_sci_handle() returns NULL during SPL execution? If so, where should ti_sci be initialized?
-Regarding the issue where YMODEM reception of tispl.bin and subsequent files does not start in UART boot mode, what settings or code should be checked in the SPL?