"Das U-Boot" Source Tree
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

doc: board: ti: Add AM62D documentation

Add info of boot flow and build steps for AM62Dx EVM.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>

authored by

Paresh Bhagat and committed by
Heinrich Schuchardt
8e16fbfd b9d88490

+257
+256
doc/board/ti/am62dx_evm.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2 + .. sectionauthor:: Paresh Bhagat <p-bhagat@ti.com> 3 + 4 + AM62D Platforms 5 + =============== 6 + 7 + Introduction: 8 + ------------- 9 + The AM62D2 SoC belongs to the K3 Multicore SoC architecture with DSP core 10 + targeted for applications needing high-performance Digital Signal 11 + Processing. It is used in applications like automotive audio systems, 12 + professional sound equipment, radar and radio for aerospace, sonar in 13 + marine devices, and ultrasound in medical imaging. It also supports 14 + precise signal analysis in test and measurement tools. 15 + 16 + Some highlights of AM62D2 SoC are: 17 + 18 + * Quad-Cortex-A53s (running up to 1.4GHz) in a single cluster. Dual/Single 19 + core variants are provided in the same package to allow HW compatible 20 + designs. 21 + * One Device manager Cortex-R5F for system power and resource management, 22 + and one Cortex-R5F for Functional Safety or general-purpose usage. 23 + * DSP with Matrix Multiplication Accelerator(MMA) (up to 2 TOPS) based on 24 + single core C7x. 25 + * 3x Multichannel Audio Serial Ports (McASP) Up to 4/6/16 Serial Data Pins 26 + which can Transmit and Receive Clocks up to 50MHz, with multi-channel I2S 27 + and TDM Audio inputs and outputs. 28 + * Integrated Giga-bit Ethernet switch supporting up to a total of two 29 + external ports with TSN capable to enable audio networking features such 30 + as, Ethernet Audio Video Bridging (eAVB) and Dante. 31 + * 9xUARTs, 5xSPI, 6xI2C, 2xUSB2, 3xCAN-FD, 3x eMMC and SD, OSPI memory 32 + controller, 1x CSI-RX-4L for Camera, eCAP/eQEP, ePWM, among other 33 + peripherals. 34 + * Dedicated Centralized Hardware Security Module with support for secure 35 + boot, debug security and crypto acceleration and trusted execution 36 + environment. 37 + * One 32 bit DDR Subsystem that supports LPDDR4, DDR4 memory types. 38 + * Low power mode support: Partial IO support for CAN/GPIO/UART wakeup. 39 + 40 + This SoC is of part K3 AM62x family, which includes the AM62A and AM62P 41 + variants. While the AM62A and AM62D are largely similar, the AM62D is 42 + specifically targeted for general-purpose DSP applications, whereas the 43 + AM62A focuses on edge AI workloads. A key distinction is that the AM62D 44 + does not include multimedia components such as the video encoder/decoder, 45 + MJPEG encoder, Vision Processing Accelerator (VPAC) for image signal 46 + processing, or the display subsystem. Additionally, the AM62D has a 47 + different pin configuration compared to the AM62A, which impacts 48 + embedded software development. 49 + 50 + More details can be found in the Technical Reference Manual: 51 + https://www.ti.com/lit/pdf/sprujd4 52 + 53 + Platform information: 54 + 55 + * https://www.ti.com/tool/AUDIO-AM62D-EVM 56 + 57 + Boot Flow: 58 + ---------- 59 + Below is the pictorial representation of boot flow: 60 + 61 + .. image:: img/boot_diagram_am62.svg 62 + :alt: Boot flow diagram 63 + 64 + - Here TIFS acts as master and provides all the critical services. R5/A53 65 + requests TIFS to get these services done as shown in the above diagram. 66 + 67 + Sources: 68 + -------- 69 + 70 + .. include:: ../ti/k3.rst 71 + :start-after: .. k3_rst_include_start_boot_sources 72 + :end-before: .. k3_rst_include_end_boot_sources 73 + 74 + .. include:: ../ti/k3.rst 75 + :start-after: .. k3_rst_include_start_boot_firmwares 76 + :end-before: .. k3_rst_include_end_tifsstub 77 + 78 + Build procedure: 79 + ---------------- 80 + 0. Setup the environment variables: 81 + 82 + .. include:: ../ti/k3.rst 83 + :start-after: .. k3_rst_include_start_common_env_vars_desc 84 + :end-before: .. k3_rst_include_end_common_env_vars_desc 85 + 86 + .. include:: ../ti/k3.rst 87 + :start-after: .. k3_rst_include_start_board_env_vars_desc 88 + :end-before: .. k3_rst_include_end_board_env_vars_desc 89 + 90 + Set the variables corresponding to this platform: 91 + 92 + .. include:: ../ti/k3.rst 93 + :start-after: .. k3_rst_include_start_common_env_vars_defn 94 + :end-before: .. k3_rst_include_end_common_env_vars_defn 95 + .. prompt:: bash 96 + 97 + export UBOOT_CFG_CORTEXR=am62dx_evm_r5_defconfig 98 + export UBOOT_CFG_CORTEXA=am62dx_evm_a53_defconfig 99 + export TFA_BOARD=lite 100 + # we dont use any extra TFA parameters 101 + unset TFA_EXTRA_ARGS 102 + export OPTEE_PLATFORM=k3-am62ax 103 + # we dont use any extra OPTEE parameters 104 + unset OPTEE_EXTRA_ARGS 105 + 106 + 1. Trusted Firmware-A: 107 + 108 + .. include:: ../ti/k3.rst 109 + :start-after: .. k3_rst_include_start_build_steps_tfa 110 + :end-before: .. k3_rst_include_end_build_steps_tfa 111 + 112 + 2. OP-TEE: 113 + 114 + .. include:: ../ti/k3.rst 115 + :start-after: .. k3_rst_include_start_build_steps_optee 116 + :end-before: .. k3_rst_include_end_build_steps_optee 117 + 118 + 3. U-Boot: 119 + 120 + * 3.1 R5: 121 + 122 + .. include:: ../ti/k3.rst 123 + :start-after: .. k3_rst_include_start_build_steps_spl_r5 124 + :end-before: .. k3_rst_include_end_build_steps_spl_r5 125 + 126 + * 3.2 A53: 127 + 128 + .. include:: ../ti/k3.rst 129 + :start-after: .. k3_rst_include_start_build_steps_uboot 130 + :end-before: .. k3_rst_include_end_build_steps_uboot 131 + 132 + Target Images 133 + -------------- 134 + In order to boot we need tiboot3.bin, tispl.bin and u-boot.img. Each SoC 135 + variant (HS-FS, HS-SE) requires a different source for these files. 136 + 137 + - HS-FS 138 + 139 + * tiboot3-am62ax-hs-fs-evm.bin from step 3.1 140 + * tispl.bin, u-boot.img from step 3.2 141 + 142 + - HS-SE 143 + 144 + * tiboot3-am62ax-hs-evm.bin from step 3.1 145 + * tispl.bin, u-boot.img from step 3.2 146 + 147 + Image formats: 148 + -------------- 149 + 150 + - tiboot3.bin 151 + 152 + .. image:: img/multi_cert_tiboot3.bin.svg 153 + :alt: tiboot3.bin image format 154 + 155 + - tispl.bin 156 + 157 + .. image:: img/tifsstub_dm_tispl.bin.svg 158 + :alt: tispl.bin image format 159 + 160 + Switch Setting for Boot Mode 161 + ---------------------------- 162 + 163 + Boot Mode pins provide means to select the boot mode and options before the 164 + device is powered up. After every POR, they are the main source to populate 165 + the Boot Parameter Tables. 166 + 167 + The following table shows some common boot modes used on AM62D platform. More 168 + details can be found in the Technical Reference Manual: 169 + https://www.ti.com/lit/pdf/sprujd4 under the `Boot Mode Pins` section. 170 + 171 + .. list-table:: Boot Modes 172 + :widths: 16 16 16 173 + :header-rows: 1 174 + 175 + * - Switch Label 176 + - SW2: 12345678 177 + - SW3: 12345678 178 + 179 + * - SD 180 + - 01000000 181 + - 11000010 182 + 183 + * - OSPI 184 + - 00000000 185 + - 11001110 186 + 187 + * - EMMC 188 + - 00000000 189 + - 11010010 190 + 191 + * - UART 192 + - 00000000 193 + - 11011100 194 + 195 + * - USB DFU 196 + - 00000000 197 + - 11001010 198 + 199 + For SW2 and SW1, the switch state in the "ON" position = 1. 200 + 201 + Falcon Mode 202 + ----------- 203 + 204 + Falcon Mode on AM62dx platforms bypasses the A53 SPL and U-Boot with the overall 205 + boot flow as below: 206 + 207 + .. include:: am62x_sk.rst 208 + :start-after: .. am62x_evm_falcon_start_boot_flow 209 + :end-before: .. am62x_evm_falcon_end_boot_flow 210 + 211 + Build Process 212 + ^^^^^^^^^^^^^ 213 + 214 + .. include:: am62x_sk.rst 215 + :start-after: .. am62x_evm_falcon_start_build_process 216 + :end-before: .. am62x_evm_falcon_end_build_process 217 + 218 + Usage 219 + ^^^^^ 220 + 221 + .. include:: am62x_sk.rst 222 + :start-after: .. am62x_evm_falcon_start_usage 223 + :end-before: .. am62x_evm_falcon_end_usage 224 + 225 + R5 SPL Memory Map 226 + ^^^^^^^^^^^^^^^^^ 227 + 228 + .. include:: am62x_sk.rst 229 + :start-after: .. am62x_evm_falcon_start_r5_memory_map 230 + :end-before: .. am62x_evm_falcon_end_r5_memory_map 231 + 232 + Debugging U-Boot 233 + ---------------- 234 + 235 + See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for 236 + detailed setup information. 237 + 238 + .. warning:: 239 + 240 + **AM62A**: OpenOCD support since August 2023 (git master) 241 + 242 + **AM62D**: Uses AM62A configuration (compatible due to same core architecture) 243 + 244 + Until the next stable release of OpenOCD is available in your development 245 + environment's distribution, it might be necessary to build OpenOCD `from the 246 + source <https://github.com/openocd-org/openocd>`_. 247 + 248 + .. include:: k3.rst 249 + :start-after: .. k3_rst_include_start_openocd_connect_XDS110 250 + :end-before: .. k3_rst_include_end_openocd_connect_XDS110 251 + 252 + To start OpenOCD and connect to the board 253 + 254 + .. prompt:: bash 255 + 256 + openocd -f board/ti/am62a7evm.cfg
+1
doc/board/ti/k3.rst
··· 31 31 :maxdepth: 1 32 32 33 33 am62ax_sk 34 + am62dx_evm 34 35 am62x_sk 35 36 am62px_sk 36 37 am6254atl_sk