Skip to content

Commit afe6bdf

Browse files
docs(linux): J7: adas/edgeai: Add How to guide to load and boot firmwares
Since we are not packaging all firmwares OOB in ADAS and EdgeAI SDK, this guide add some basic instructions for customers to load and boot their custom firmwares Signed-off-by: Shreyash Sinha <s-sinha@ti.com>
1 parent 357a968 commit afe6bdf

11 files changed

Lines changed: 114 additions & 0 deletions

File tree

configs/AM67A/AM67A_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
118118
linux/How_to_Guides/Target/How_to_visualize_statistics_data
119119
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
120120
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
121+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
121122
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
122123
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
123124
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/AM68A/AM68A_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ linux/How_to_Guides/Target/How_to_Change_dtb_File
120120
linux/How_to_Guides/Target/How_to_enable_DT_overlays_in_linux
121121
linux/How_to_Guides/Target/How_to_visualize_statistics_data
122122
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
123+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
123124
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
124125
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
125126
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/AM69A/AM69A_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ linux/How_to_Guides/Target/How_to_emmc_boot
123123
linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
124124
linux/How_to_Guides/Target/How_to_visualize_statistics_data
125125
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
126+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
126127
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
127128
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
128129
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/J721E/J721E_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ linux/How_to_Guides/Target/How_to_emmc_boot
125125
linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
126126
linux/How_to_Guides/Target/How_to_visualize_statistics_data
127127
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
128+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares.rst
128129
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
129130
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
130131
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory

configs/J721S2/J721S2_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
126126
linux/How_to_Guides/Target/How_to_visualize_statistics_data
127127
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
128128
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
129+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
129130
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
130131
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
131132
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/J722S/J722S_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
123123
linux/How_to_Guides/Target/How_to_visualize_statistics_data
124124
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
125125
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
126+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
126127
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
127128
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
128129
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/J742S2/J742S2_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
125125
linux/How_to_Guides/Target/How_to_visualize_statistics_data
126126
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
127127
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
128+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
128129
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
129130
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
130131
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info

configs/J784S4/J784S4_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ linux/How_to_Guides/Target/How_to_emmc_boot
125125
linux/How_to_Guides/Target/How_to_mmcsd_boot_emmc_uda
126126
linux/How_to_Guides/Target/How_to_visualize_statistics_data
127127
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
128+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
128129
linux/How_to_Guides/Target/How_to_Tune_Real_Time_Linux
129130
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
130131
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory

configs/TDA4VM/TDA4VM_linux_toc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ linux/How_to_Guides/Target/How_to_enable_DT_overlays_in_linux
114114
linux/How_to_Guides/Target/How_to_flash_emmc_device
115115
linux/How_to_Guides/Target/How_to_visualize_statistics_data
116116
linux/How_to_Guides/Target/How_to_Use_K3Conf_Tool
117+
linux/How_to_Guides/Target/Load_and_Boot_Firmwares
117118
linux/How_to_Guides/FAQ/How_to_Verify_Ipc_Linux_R5
118119
linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory
119120
linux/How_to_Guides/FAQ/How_to_Check_Device_Tree_Info
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
Load and Boot Firmwares
2+
==================================================================
3+
4+
You might need to load Firmwares which are not packaged out of the box
5+
in the SDK. U-boot and Linux rproc drivers expect a particular name as
6+
soft link pointing to the intended executable FW files in target filesystem
7+
for it to load and boot the firmware.
8+
9+
Generally on a target file system below files are soft linked
10+
to the intended executable FW files
11+
12+
.. ifconfig:: CONFIG_part_variant in ('J784S4')
13+
14+
.. code-block:: console
15+
16+
root@j784s4-evm:~# ls -l /lib/firmware/
17+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j784s4-c71_0-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_c7x_1_release_strip.xe71
18+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j784s4-c71_1-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_c7x_2_release_strip.xe71
19+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j784s4-c71_2-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_c7x_3_release_strip.xe71
20+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j784s4-c71_3-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_c7x_4_release_strip.xe71
21+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu2_0_release_strip.xer5f
22+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu2_1_release_strip.xer5f
23+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu3_0_release_strip.xer5f
24+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu3_1_release_strip.xer5f
25+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f2_0-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu4_0_release_strip.xer5f
26+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-main-r5f2_1-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu4_1_release_strip.xer5f
27+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j784s4-mcu-r5f0_0-fw -> /lib/firmware/ti-eth/j784s4/app_remoteswitchcfg_server_strip.xer5f
28+
lrwxrwxrwx 1 root root 73 Mar 9 2025 j784s4-mcu-r5f0_0-fw-sec -> /lib/firmware/ti-eth/j784s4/app_remoteswitchcfg_server_strip.xer5f.signed
29+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j784s4-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j784s4/ipc_echo_test_mcu1_1_release_strip.xer5f
30+
31+
.. ifconfig:: CONFIG_part_variant in ('J742S2')
32+
33+
.. code-block:: console
34+
35+
root@j742s2-evm:~# ls -l /lib/firmware/
36+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j742s2-c71_0-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_c7x_1_release_strip.xe71
37+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j742s2-c71_1-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_c7x_2_release_strip.xe71
38+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j742s2-c71_2-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_c7x_3_release_strip.xe71
39+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu2_0_release_strip.xer5f
40+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu2_1_release_strip.xer5f
41+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu3_0_release_strip.xer5f
42+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu3_1_release_strip.xer5f
43+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f2_0-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu4_0_release_strip.xer5f
44+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-main-r5f2_1-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu4_1_release_strip.xer5f
45+
lrwxrwxrwx 1 root root 66 Mar 9 2025 j742s2-mcu-r5f0_0-fw -> /lib/firmware/ti-eth/j742s2/app_remoteswitchcfg_server_strip.xer5f
46+
lrwxrwxrwx 1 root root 73 Mar 9 2025 j742s2-mcu-r5f0_0-fw-sec -> /lib/firmware/ti-eth/j742s2/app_remoteswitchcfg_server_strip.xer5f.signed
47+
lrwxrwxrwx 1 root root 68 Mar 9 2025 j742s2-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j742s2/ipc_echo_test_mcu1_1_release_strip.xer5f
48+
49+
.. ifconfig:: CONFIG_part_variant in ('J722S')
50+
51+
.. code-block:: console
52+
53+
root@j722s-evm::~# ls -l /lib/firmware/
54+
lrwxrwxrwx 1 root root 72 Dec 7 15:36 j722s-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_mcu3_0_release_strip.xer5f
55+
lrwxrwxrwx 1 root root 67 Dec 7 15:37 j722s-mcu-r5f0_0-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_mcu2_0_release_strip.xer5f
56+
lrwxrwxrwx 1 root root 65 Dec 7 15:39 j722s-c71_0-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_c7x_1_release_strip.xe71
57+
lrwxrwxrwx 1 root root 65 Dec 7 15:40 j722s-c71_1-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_c7x_2_release_strip.xe71
58+
59+
.. ifconfig:: CONFIG_part_variant in ('J721E')
60+
61+
.. code-block:: console
62+
63+
root@j721e-evm:~# ls -l /lib/firmware/
64+
lrwxrwxrwx 1 root root 69 Mar 9 2025 j7-c66_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_1_release_strip.xe66
65+
lrwxrwxrwx 1 root root 76 Mar 9 2025 j7-c66_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_1_release_strip.xe66.signed
66+
lrwxrwxrwx 1 root root 69 Mar 9 2025 j7-c66_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_2_release_strip.xe66
67+
lrwxrwxrwx 1 root root 76 Mar 9 2025 j7-c66_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_2_release_strip.xe66.signed
68+
lrwxrwxrwx 1 root root 65 Mar 9 2025 j7-c71_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c7x_1_release_strip.xe71
69+
lrwxrwxrwx 1 root root 72 Mar 9 2025 j7-c71_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c7x_1_release_strip.xe71.signed
70+
lrwxrwxrwx 1 root root 65 Mar 9 2025 j7-main-r5f0_0-fw -> /lib/firmware/ti-eth/j721e/app_remoteswitchcfg_server_strip.xer5f
71+
lrwxrwxrwx 1 root root 72 Mar 9 2025 j7-main-r5f0_0-fw-sec -> /lib/firmware/ti-eth/j721e/app_remoteswitchcfg_server_strip.xer5f.signed
72+
lrwxrwxrwx 1 root root 67 Mar 9 2025 j7-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu2_1_release_strip.xer5f
73+
lrwxrwxrwx 1 root root 74 Mar 9 2025 j7-main-r5f0_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu2_1_release_strip.xer5f.signed
74+
lrwxrwxrwx 1 root root 67 Mar 9 2025 j7-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_0_release_strip.xer5f
75+
lrwxrwxrwx 1 root root 74 Mar 9 2025 j7-main-r5f1_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_0_release_strip.xer5f.signed
76+
lrwxrwxrwx 1 root root 67 Mar 9 2025 j7-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_1_release_strip.xer5f
77+
lrwxrwxrwx 1 root root 74 Mar 9 2025 j7-main-r5f1_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_1_release_strip.xer5f.signed
78+
lrwxrwxrwx 1 root root 67 Mar 9 2025 j7-mcu-r5f0_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f
79+
lrwxrwxrwx 1 root root 67 Mar 9 2025 j7-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu1_1_release_strip.xer5f
80+
81+
.. ifconfig:: CONFIG_part_variant in ('J721S2')
82+
83+
.. code-block:: console
84+
85+
root@j721s2-evm:~# ls -l /lib/firmware/
86+
lrwxrwxrwx 1 root root 60 Feb 24 2025 j721s2-c71_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_1_release_strip.xe71
87+
lrwxrwxrwx 1 root root 60 Feb 24 2025 j721s2-c71_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_2_release_strip.xe71
88+
lrwxrwxrwx 1 root root 62 Feb 24 2025 j721s2-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_0_release_strip.xer5f
89+
lrwxrwxrwx 1 root root 62 Feb 24 2025 j721s2-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_1_release_strip.xer5f
90+
lrwxrwxrwx 1 root root 62 Feb 24 2025 j721s2-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_0_release_strip.xer5f
91+
lrwxrwxrwx 1 root root 62 Feb 24 2025 j721s2-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_1_release_strip.xer5f
92+
lrwxrwxrwx 1 root root 63 Feb 24 2025 j721s2-mcu-r5f0_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_testb_mcu1_0_release_strip.xer5f
93+
lrwxrwxrwx 1 root root 62 Feb 24 2025 j721s2-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu1_1_release_strip.xer5f
94+
95+
96+
You should be creating a soft-link for the firmware you need to boot and
97+
reboot the EVM to see the changes in effect
98+
99+
You can create a symbolic link to the Firmware using below command as a reference
100+
101+
::
102+
103+
ln -sf /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_1_release_strip.xe71 j721s2-c71_0-fw
104+

0 commit comments

Comments
 (0)