doc: board: Move j721e document to doc/board/ti/ directory
Move j721e document from board/ti/j721e/README to doc/board/ti/j721e_evm.rst after converting it to RST format. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Link: https://lore.kernel.org/r/20210721155849.20994-20-kishon@ti.com
This commit is contained in:
		
							parent
							
								
									8fa3286408
								
							
						
					
					
						commit
						8baeeecbe3
					
				|  | @ -1,277 +0,0 @@ | ||||||
| Introduction: |  | ||||||
| ------------- |  | ||||||
| The J721e family of SoCs are part of K3 Multicore SoC architecture platform |  | ||||||
| targeting automotive applications. They are designed as a low power, high |  | ||||||
| performance and highly integrated device architecture, adding significant |  | ||||||
| enhancement on processing power, graphics capability, video and imaging |  | ||||||
| processing, virtualization and coherent memory support. |  | ||||||
| 
 |  | ||||||
| The device is partitioned into three functional domains, each containing |  | ||||||
| specific processing cores and peripherals: |  | ||||||
| 1. Wake-up (WKUP) domain: |  | ||||||
| 	- Device Management and Security Controller (DMSC) |  | ||||||
| 2. Microcontroller (MCU) domain: |  | ||||||
| 	- Dual Core ARM Cortex-R5F processor |  | ||||||
| 3. MAIN domain: |  | ||||||
| 	- Dual core 64-bit ARM Cortex-A72 |  | ||||||
| 	- 2 x Dual cortex ARM Cortex-R5 subsystem |  | ||||||
| 	- 2 x C66x Digital signal processor sub system |  | ||||||
| 	- C71x Digital signal processor sub-system with MMA. |  | ||||||
| 
 |  | ||||||
| More info can be found in TRM: http://www.ti.com/lit/pdf/spruil1 |  | ||||||
| 
 |  | ||||||
| Boot Flow: |  | ||||||
| ---------- |  | ||||||
| Boot flow is similar to that of AM65x SoC and extending it with remoteproc |  | ||||||
| support. Below is the pictorial representation of boot flow: |  | ||||||
| 
 |  | ||||||
| +------------------------------------------------------------------------+-----------------------+ |  | ||||||
| |        DMSC            |      MCU R5           |        A72            |  MAIN R5/C66x/C7x     | |  | ||||||
| +------------------------------------------------------------------------+-----------------------+ |  | ||||||
| |    +--------+          |                       |                       |                       | |  | ||||||
| |    |  Reset |          |                       |                       |                       | |  | ||||||
| |    +--------+          |                       |                       |                       | |  | ||||||
| |         :              |                       |                       |                       | |  | ||||||
| |    +--------+          |   +-----------+       |                       |                       | |  | ||||||
| |    | *ROM*  |----------|-->| Reset rls |       |                       |                       | |  | ||||||
| |    +--------+          |   +-----------+       |                       |                       | |  | ||||||
| |    |        |          |         :             |                       |                       | |  | ||||||
| |    |  ROM   |          |         :             |                       |                       | |  | ||||||
| |    |services|          |         :             |                       |                       | |  | ||||||
| |    |        |          |   +-------------+     |                       |                       | |  | ||||||
| |    |        |          |   |  *R5 ROM*   |     |                       |                       | |  | ||||||
| |    |        |          |   +-------------+     |                       |                       | |  | ||||||
| |    |        |<---------|---|Load and auth|     |                       |                       | |  | ||||||
| |    |        |          |   | tiboot3.bin |     |                       |                       | |  | ||||||
| |    |        |          |   +-------------+     |                       |                       | |  | ||||||
| |    |        |          |         :             |                       |                       | |  | ||||||
| |    |        |          |         :             |                       |                       | |  | ||||||
| |    |        |          |         :             |                       |                       | |  | ||||||
| |    |        |          |   +-------------+     |                       |                       | |  | ||||||
| |    |        |          |   |  *R5 SPL*   |     |                       |                       | |  | ||||||
| |    |        |          |   +-------------+     |                       |                       | |  | ||||||
| |    |        |          |   |    Load     |     |                       |                       | |  | ||||||
| |    |        |          |   |  sysfw.itb  |     |                       |                       | |  | ||||||
| |    | Start  |          |   +-------------+     |                       |                       | |  | ||||||
| |    | System |<---------|---|    Start    |     |                       |                       | |  | ||||||
| |    |Firmware|          |   |    SYSFW    |     |                       |                       | |  | ||||||
| |    +--------+          |   +-------------+     |                       |                       | |  | ||||||
| |        :               |   |             |     |                       |                       | |  | ||||||
| |    +---------+         |   |   Load      |     |                       |                       | |  | ||||||
| |    | *SYSFW* |         |   |   system    |     |                       |                       | |  | ||||||
| |    +---------+         |   | Config data |     |                       |                       | |  | ||||||
| |    |         |<--------|---|             |     |                       |                       | |  | ||||||
| |    |         |         |   +-------------+     |                       |                       | |  | ||||||
| |    |         |         |   |    DDR      |     |                       |                       | |  | ||||||
| |    |         |         |   |   config    |     |                       |                       | |  | ||||||
| |    |         |         |   +-------------+     |                       |                       | |  | ||||||
| |    |         |         |   |    Load     |     |                       |                       | |  | ||||||
| |    |         |         |   |  tispl.bin  |     |                       |                       | |  | ||||||
| |    |         |         |   +-------------+     |                       |                       | |  | ||||||
| |    |         |         |   |   Load R5   |     |                       |                       | |  | ||||||
| |    |         |         |   |   firmware  |     |                       |                       | |  | ||||||
| |    |         |         |   +-------------+     |                       |                       | |  | ||||||
| |    |         |<--------|---| Start A72   |     |                       |                       | |  | ||||||
| |    |         |         |   | and jump to |     |                       |                       | |  | ||||||
| |    |         |         |   | DM fw image |     |                       |                       | |  | ||||||
| |    |         |         |   +-------------+     |                       |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |---------|-----------------------|---->| Reset rls |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |  TIFS   |         |                       |          :            |                       | |  | ||||||
| |    |Services |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|---->|*ATF/OPTEE*|     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |         |                       |          :            |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|---->| *A72 SPL* |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |         |                       |     |   Load    |     |                       | |  | ||||||
| |    |         |         |                       |     | u-boot.img|     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |         |                       |          :            |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|---->| *U-Boot*  |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |         |                       |     |  prompt   |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |         |                       |     |  Load R5  |     |                       | |  | ||||||
| |    |         |         |                       |     |  Firmware |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|-----|  Start R5 |     |      +-----------+    | |  | ||||||
| |    |         |---------|-----------------------|-----+-----------+-----|----->| R5 starts |    | |  | ||||||
| |    |         |         |                       |     |  Load C6  |     |      +-----------+    | |  | ||||||
| |    |         |         |                       |     |  Firmware |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|-----|  Start C6 |     |      +-----------+    | |  | ||||||
| |    |         |---------|-----------------------|-----+-----------+-----|----->| C6 starts |    | |  | ||||||
| |    |         |         |                       |     |  Load C7  |     |      +-----------+    | |  | ||||||
| |    |         |         |                       |     |  Firmware |     |                       | |  | ||||||
| |    |         |         |                       |     +-----------+     |                       | |  | ||||||
| |    |         |<--------|-----------------------|-----|  Start C7 |     |      +-----------+    | |  | ||||||
| |    |         |---------|-----------------------|-----+-----------+-----|----->| C7 starts |    | |  | ||||||
| |    +---------+         |                       |                       |      +-----------+    | |  | ||||||
| |                        |                       |                       |                       | |  | ||||||
| +------------------------------------------------------------------------+-----------------------+ |  | ||||||
| 
 |  | ||||||
| - Here DMSC acts as master and provides all the critical services. R5/A72 |  | ||||||
| requests DMSC to get these services done as shown in the above diagram. |  | ||||||
| 
 |  | ||||||
| Sources: |  | ||||||
| -------- |  | ||||||
| 1. SYSFW: |  | ||||||
| 	Tree: git://git.ti.com/k3-image-gen/k3-image-gen.git |  | ||||||
| 	Branch: master |  | ||||||
| 
 |  | ||||||
| 2. ATF: |  | ||||||
| 	Tree: https://github.com/ARM-software/arm-trusted-firmware.git |  | ||||||
| 	Branch: master |  | ||||||
| 
 |  | ||||||
| 3. OPTEE: |  | ||||||
| 	Tree: https://github.com/OP-TEE/optee_os.git |  | ||||||
| 	Branch: master |  | ||||||
| 
 |  | ||||||
| 4. U-Boot: |  | ||||||
| 	Tree: https://source.denx.de/u-boot/u-boot |  | ||||||
| 	Branch: master |  | ||||||
| 
 |  | ||||||
| Build procedure: |  | ||||||
| ---------------- |  | ||||||
| 1. SYSFW: |  | ||||||
| $ make CROSS_COMPILE=arm-linux-gnueabihf- |  | ||||||
| 
 |  | ||||||
| 2. ATF: |  | ||||||
| $ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed |  | ||||||
| 
 |  | ||||||
| 3. OPTEE: |  | ||||||
| $ make PLATFORM=k3-j721e CFG_ARM64_core=y |  | ||||||
| 
 |  | ||||||
| 4. U-Boot: |  | ||||||
| 
 |  | ||||||
| 4.1. R5: |  | ||||||
| $ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5 |  | ||||||
| $ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5 |  | ||||||
| 
 |  | ||||||
| 4.2. A72: |  | ||||||
| $ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72 |  | ||||||
| $ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin DM=<path to DM firmware image> O=/tmp/a72 |  | ||||||
| 
 |  | ||||||
| Target Images |  | ||||||
| -------------- |  | ||||||
| Copy the below images to an SD card and boot: |  | ||||||
| - sysfw.itb from step 1 |  | ||||||
| - tiboot3.bin from step 4.1 |  | ||||||
| - tispl.bin, u-boot.img from 4.2 |  | ||||||
| 
 |  | ||||||
| Image formats: |  | ||||||
| -------------- |  | ||||||
| 
 |  | ||||||
| - tiboot3.bin: |  | ||||||
|                 +-----------------------+ |  | ||||||
|                 |        X.509          | |  | ||||||
|                 |      Certificate      | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |        R5         | | |  | ||||||
|                 | |   u-boot-spl.bin  | | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |     FIT header    | | |  | ||||||
|                 | | +---------------+ | | |  | ||||||
|                 | | |               | | | |  | ||||||
|                 | | |   DTB 1...N   | | | |  | ||||||
|                 | | +---------------+ | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 +-----------------------+ |  | ||||||
| 
 |  | ||||||
| - tispl.bin |  | ||||||
|                 +-----------------------+ |  | ||||||
|                 |                       | |  | ||||||
|                 |       FIT HEADER      | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |      A72 ATF      | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |     A72 OPTEE     | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |      R5 DM FW     | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |      A72 SPL      | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |   SPL DTB 1...N   | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 +-----------------------+ |  | ||||||
| 
 |  | ||||||
| - sysfw.itb |  | ||||||
|                 +-----------------------+ |  | ||||||
|                 |                       | |  | ||||||
|                 |       FIT HEADER      | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |     sysfw.bin     | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |    board config   | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |     PM config     | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |     RM config     | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 | |                   | | |  | ||||||
|                 | |    Secure config  | | |  | ||||||
|                 | +-------------------+ | |  | ||||||
|                 +-----------------------+ |  | ||||||
| 
 |  | ||||||
| OSPI: |  | ||||||
| ----- |  | ||||||
| ROM supports booting from OSPI from offset 0x0. |  | ||||||
| 
 |  | ||||||
| Flashing images to OSPI: |  | ||||||
| 
 |  | ||||||
| Below commands can be used to download tiboot3.bin, tispl.bin, u-boot.img, |  | ||||||
| and sysfw.itb over tftp and then flash those to OSPI at their respective |  | ||||||
| addresses. |  | ||||||
| 
 |  | ||||||
| => sf probe |  | ||||||
| => tftp ${loadaddr} tiboot3.bin |  | ||||||
| => sf update $loadaddr 0x0 $filesize |  | ||||||
| => tftp ${loadaddr} tispl.bin |  | ||||||
| => sf update $loadaddr 0x80000 $filesize |  | ||||||
| => tftp ${loadaddr} u-boot.img |  | ||||||
| => sf update $loadaddr 0x280000 $filesize |  | ||||||
| => tftp ${loadaddr} sysfw.itb |  | ||||||
| => sf update $loadaddr 0x6C0000 $filesize |  | ||||||
| 
 |  | ||||||
| Flash layout for OSPI: |  | ||||||
| 
 |  | ||||||
|          0x0 +----------------------------+ |  | ||||||
|              |     ospi.tiboot3(512K)     | |  | ||||||
|              |                            | |  | ||||||
|      0x80000 +----------------------------+ |  | ||||||
|              |     ospi.tispl(2M)         | |  | ||||||
|              |                            | |  | ||||||
|     0x280000 +----------------------------+ |  | ||||||
|              |     ospi.u-boot(4M)        | |  | ||||||
|              |                            | |  | ||||||
|     0x680000 +----------------------------+ |  | ||||||
|              |     ospi.env(128K)         | |  | ||||||
|              |                            | |  | ||||||
|     0x6A0000 +----------------------------+ |  | ||||||
| 	     |	 ospi.env.backup (128K)   | |  | ||||||
| 	     |                            | |  | ||||||
|     0x6C0000 +----------------------------+ |  | ||||||
|              |      ospi.sysfw(1M)        | |  | ||||||
|              |                            | |  | ||||||
|     0x7C0000 +----------------------------+ |  | ||||||
| 	     |      padding (256k)        | |  | ||||||
|     0x800000 +----------------------------+ |  | ||||||
|              |     ospi.rootfs(UBIFS)     | |  | ||||||
|              |                            | |  | ||||||
|              +----------------------------+ |  | ||||||
|  | @ -27,6 +27,7 @@ Board-specific doc | ||||||
|    socionext/index |    socionext/index | ||||||
|    st/index |    st/index | ||||||
|    tbs/index |    tbs/index | ||||||
|  |    ti/index | ||||||
|    toradex/index |    toradex/index | ||||||
|    xen/index |    xen/index | ||||||
|    xilinx/index |    xilinx/index | ||||||
|  |  | ||||||
|  | @ -0,0 +1,316 @@ | ||||||
|  | .. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause | ||||||
|  | .. sectionauthor:: Lokesh Vutla <lokeshvutla@ti.com> | ||||||
|  | 
 | ||||||
|  | Texas Instruments K3 Platforms | ||||||
|  | ============================== | ||||||
|  | 
 | ||||||
|  | Introduction: | ||||||
|  | ------------- | ||||||
|  | The J721e family of SoCs are part of K3 Multicore SoC architecture platform | ||||||
|  | targeting automotive applications. They are designed as a low power, high | ||||||
|  | performance and highly integrated device architecture, adding significant | ||||||
|  | enhancement on processing power, graphics capability, video and imaging | ||||||
|  | processing, virtualization and coherent memory support. | ||||||
|  | 
 | ||||||
|  | The device is partitioned into three functional domains, each containing | ||||||
|  | specific processing cores and peripherals: | ||||||
|  | 
 | ||||||
|  | 1. Wake-up (WKUP) domain: | ||||||
|  |         * Device Management and Security Controller (DMSC) | ||||||
|  | 
 | ||||||
|  | 2. Microcontroller (MCU) domain: | ||||||
|  |         * Dual Core ARM Cortex-R5F processor | ||||||
|  | 
 | ||||||
|  | 3. MAIN domain: | ||||||
|  |         * Dual core 64-bit ARM Cortex-A72 | ||||||
|  |         * 2 x Dual cortex ARM Cortex-R5 subsystem | ||||||
|  |         * 2 x C66x Digital signal processor sub system | ||||||
|  |         * C71x Digital signal processor sub-system with MMA. | ||||||
|  | 
 | ||||||
|  | More info can be found in TRM: http://www.ti.com/lit/pdf/spruil1 | ||||||
|  | 
 | ||||||
|  | Boot Flow: | ||||||
|  | ---------- | ||||||
|  | Boot flow is similar to that of AM65x SoC and extending it with remoteproc | ||||||
|  | support. Below is the pictorial representation of boot flow: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  +------------------------------------------------------------------------+-----------------------+ | ||||||
|  |  |        DMSC            |      MCU R5           |        A72            |  MAIN R5/C66x/C7x     | | ||||||
|  |  +------------------------------------------------------------------------+-----------------------+ | ||||||
|  |  |    +--------+          |                       |                       |                       | | ||||||
|  |  |    |  Reset |          |                       |                       |                       | | ||||||
|  |  |    +--------+          |                       |                       |                       | | ||||||
|  |  |         :              |                       |                       |                       | | ||||||
|  |  |    +--------+          |   +-----------+       |                       |                       | | ||||||
|  |  |    | *ROM*  |----------|-->| Reset rls |       |                       |                       | | ||||||
|  |  |    +--------+          |   +-----------+       |                       |                       | | ||||||
|  |  |    |        |          |         :             |                       |                       | | ||||||
|  |  |    |  ROM   |          |         :             |                       |                       | | ||||||
|  |  |    |services|          |         :             |                       |                       | | ||||||
|  |  |    |        |          |   +-------------+     |                       |                       | | ||||||
|  |  |    |        |          |   |  *R5 ROM*   |     |                       |                       | | ||||||
|  |  |    |        |          |   +-------------+     |                       |                       | | ||||||
|  |  |    |        |<---------|---|Load and auth|     |                       |                       | | ||||||
|  |  |    |        |          |   | tiboot3.bin |     |                       |                       | | ||||||
|  |  |    |        |          |   +-------------+     |                       |                       | | ||||||
|  |  |    |        |          |         :             |                       |                       | | ||||||
|  |  |    |        |          |         :             |                       |                       | | ||||||
|  |  |    |        |          |         :             |                       |                       | | ||||||
|  |  |    |        |          |   +-------------+     |                       |                       | | ||||||
|  |  |    |        |          |   |  *R5 SPL*   |     |                       |                       | | ||||||
|  |  |    |        |          |   +-------------+     |                       |                       | | ||||||
|  |  |    |        |          |   |    Load     |     |                       |                       | | ||||||
|  |  |    |        |          |   |  sysfw.itb  |     |                       |                       | | ||||||
|  |  |    | Start  |          |   +-------------+     |                       |                       | | ||||||
|  |  |    | System |<---------|---|    Start    |     |                       |                       | | ||||||
|  |  |    |Firmware|          |   |    SYSFW    |     |                       |                       | | ||||||
|  |  |    +--------+          |   +-------------+     |                       |                       | | ||||||
|  |  |        :               |   |             |     |                       |                       | | ||||||
|  |  |    +---------+         |   |   Load      |     |                       |                       | | ||||||
|  |  |    | *SYSFW* |         |   |   system    |     |                       |                       | | ||||||
|  |  |    +---------+         |   | Config data |     |                       |                       | | ||||||
|  |  |    |         |<--------|---|             |     |                       |                       | | ||||||
|  |  |    |         |         |   +-------------+     |                       |                       | | ||||||
|  |  |    |         |         |   |    DDR      |     |                       |                       | | ||||||
|  |  |    |         |         |   |   config    |     |                       |                       | | ||||||
|  |  |    |         |         |   +-------------+     |                       |                       | | ||||||
|  |  |    |         |         |   |    Load     |     |                       |                       | | ||||||
|  |  |    |         |         |   |  tispl.bin  |     |                       |                       | | ||||||
|  |  |    |         |         |   +-------------+     |                       |                       | | ||||||
|  |  |    |         |         |   |   Load R5   |     |                       |                       | | ||||||
|  |  |    |         |         |   |   firmware  |     |                       |                       | | ||||||
|  |  |    |         |         |   +-------------+     |                       |                       | | ||||||
|  |  |    |         |<--------|---| Start A72   |     |                       |                       | | ||||||
|  |  |    |         |         |   | and jump to |     |                       |                       | | ||||||
|  |  |    |         |         |   | DM fw image |     |                       |                       | | ||||||
|  |  |    |         |         |   +-------------+     |                       |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |---------|-----------------------|---->| Reset rls |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |  TIFS   |         |                       |          :            |                       | | ||||||
|  |  |    |Services |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|---->|*ATF/OPTEE*|     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |         |                       |          :            |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|---->| *A72 SPL* |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |         |                       |     |   Load    |     |                       | | ||||||
|  |  |    |         |         |                       |     | u-boot.img|     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |         |                       |          :            |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|---->| *U-Boot*  |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |         |                       |     |  prompt   |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |         |                       |     |  Load R5  |     |                       | | ||||||
|  |  |    |         |         |                       |     |  Firmware |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|-----|  Start R5 |     |      +-----------+    | | ||||||
|  |  |    |         |---------|-----------------------|-----+-----------+-----|----->| R5 starts |    | | ||||||
|  |  |    |         |         |                       |     |  Load C6  |     |      +-----------+    | | ||||||
|  |  |    |         |         |                       |     |  Firmware |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|-----|  Start C6 |     |      +-----------+    | | ||||||
|  |  |    |         |---------|-----------------------|-----+-----------+-----|----->| C6 starts |    | | ||||||
|  |  |    |         |         |                       |     |  Load C7  |     |      +-----------+    | | ||||||
|  |  |    |         |         |                       |     |  Firmware |     |                       | | ||||||
|  |  |    |         |         |                       |     +-----------+     |                       | | ||||||
|  |  |    |         |<--------|-----------------------|-----|  Start C7 |     |      +-----------+    | | ||||||
|  |  |    |         |---------|-----------------------|-----+-----------+-----|----->| C7 starts |    | | ||||||
|  |  |    +---------+         |                       |                       |      +-----------+    | | ||||||
|  |  |                        |                       |                       |                       | | ||||||
|  |  +------------------------------------------------------------------------+-----------------------+ | ||||||
|  | 
 | ||||||
|  | - Here DMSC acts as master and provides all the critical services. R5/A72 | ||||||
|  |   requests DMSC to get these services done as shown in the above diagram. | ||||||
|  | 
 | ||||||
|  | Sources: | ||||||
|  | -------- | ||||||
|  | 1. SYSFW: | ||||||
|  | 	Tree: git://git.ti.com/k3-image-gen/k3-image-gen.git | ||||||
|  | 	Branch: master | ||||||
|  | 
 | ||||||
|  | 2. ATF: | ||||||
|  | 	Tree: https://github.com/ARM-software/arm-trusted-firmware.git | ||||||
|  | 	Branch: master | ||||||
|  | 
 | ||||||
|  | 3. OPTEE: | ||||||
|  | 	Tree: https://github.com/OP-TEE/optee_os.git | ||||||
|  | 	Branch: master | ||||||
|  | 
 | ||||||
|  | 4. U-Boot: | ||||||
|  | 	Tree: https://source.denx.de/u-boot/u-boot | ||||||
|  | 	Branch: master | ||||||
|  | 
 | ||||||
|  | Build procedure: | ||||||
|  | ---------------- | ||||||
|  | 1. SYSFW: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  $ make CROSS_COMPILE=arm-linux-gnueabihf- | ||||||
|  | 
 | ||||||
|  | 2. ATF: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  $ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=aarch64 PLAT=k3 TARGET_BOARD=generic SPD=opteed | ||||||
|  | 
 | ||||||
|  | 3. OPTEE: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  $ make PLATFORM=k3-j721e CFG_ARM64_core=y | ||||||
|  | 
 | ||||||
|  | 4. U-Boot: | ||||||
|  | 
 | ||||||
|  | * 4.1 R5: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  $ make CROSS_COMPILE=arm-linux-gnueabihf- j721e_evm_r5_defconfig O=/tmp/r5 | ||||||
|  |  $ make CROSS_COMPILE=arm-linux-gnueabihf- O=/tmp/r5 | ||||||
|  | 
 | ||||||
|  | * 4.2 A72: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  $ make CROSS_COMPILE=aarch64-linux-gnu- j721e_evm_a72_defconfig O=/tmp/a72 | ||||||
|  |  $ make CROSS_COMPILE=aarch64-linux-gnu- ATF=<path to ATF dir>/build/k3/generic/release/bl31.bin TEE=<path to OPTEE OS dir>/out/arm-plat-k3/core/tee-pager_v2.bin DM=<path to DM firmware image> O=/tmp/a72 | ||||||
|  | 
 | ||||||
|  | Target Images | ||||||
|  | -------------- | ||||||
|  | Copy the below images to an SD card and boot: | ||||||
|  |  - sysfw.itb from step 1 | ||||||
|  |  - tiboot3.bin from step 4.1 | ||||||
|  |  - tispl.bin, u-boot.img from 4.2 | ||||||
|  | 
 | ||||||
|  | Image formats: | ||||||
|  | -------------- | ||||||
|  | 
 | ||||||
|  | - tiboot3.bin: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |                 +-----------------------+ | ||||||
|  |                 |        X.509          | | ||||||
|  |                 |      Certificate      | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |        R5         | | | ||||||
|  |                 | |   u-boot-spl.bin  | | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |     FIT header    | | | ||||||
|  |                 | | +---------------+ | | | ||||||
|  |                 | | |               | | | | ||||||
|  |                 | | |   DTB 1...N   | | | | ||||||
|  |                 | | +---------------+ | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 +-----------------------+ | ||||||
|  | 
 | ||||||
|  | - tispl.bin | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |                 +-----------------------+ | ||||||
|  |                 |                       | | ||||||
|  |                 |       FIT HEADER      | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |      A72 ATF      | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |     A72 OPTEE     | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |      R5 DM FW     | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |      A72 SPL      | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |   SPL DTB 1...N   | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 +-----------------------+ | ||||||
|  | 
 | ||||||
|  | - sysfw.itb | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |                 +-----------------------+ | ||||||
|  |                 |                       | | ||||||
|  |                 |       FIT HEADER      | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |     sysfw.bin     | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |    board config   | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |     PM config     | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |     RM config     | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 | |                   | | | ||||||
|  |                 | |    Secure config  | | | ||||||
|  |                 | +-------------------+ | | ||||||
|  |                 +-----------------------+ | ||||||
|  | 
 | ||||||
|  | OSPI: | ||||||
|  | ----- | ||||||
|  | ROM supports booting from OSPI from offset 0x0. | ||||||
|  | 
 | ||||||
|  | Flashing images to OSPI: | ||||||
|  | 
 | ||||||
|  | Below commands can be used to download tiboot3.bin, tispl.bin, u-boot.img, | ||||||
|  | and sysfw.itb over tftp and then flash those to OSPI at their respective | ||||||
|  | addresses. | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |  => sf probe | ||||||
|  |  => tftp ${loadaddr} tiboot3.bin | ||||||
|  |  => sf update $loadaddr 0x0 $filesize | ||||||
|  |  => tftp ${loadaddr} tispl.bin | ||||||
|  |  => sf update $loadaddr 0x80000 $filesize | ||||||
|  |  => tftp ${loadaddr} u-boot.img | ||||||
|  |  => sf update $loadaddr 0x280000 $filesize | ||||||
|  |  => tftp ${loadaddr} sysfw.itb | ||||||
|  |  => sf update $loadaddr 0x6C0000 $filesize | ||||||
|  | 
 | ||||||
|  | Flash layout for OSPI: | ||||||
|  | 
 | ||||||
|  | .. code-block:: text | ||||||
|  | 
 | ||||||
|  |          0x0 +----------------------------+ | ||||||
|  |              |     ospi.tiboot3(512K)     | | ||||||
|  |              |                            | | ||||||
|  |      0x80000 +----------------------------+ | ||||||
|  |              |     ospi.tispl(2M)         | | ||||||
|  |              |                            | | ||||||
|  |     0x280000 +----------------------------+ | ||||||
|  |              |     ospi.u-boot(4M)        | | ||||||
|  |              |                            | | ||||||
|  |     0x680000 +----------------------------+ | ||||||
|  |              |     ospi.env(128K)         | | ||||||
|  |              |                            | | ||||||
|  |     0x6A0000 +----------------------------+ | ||||||
|  | 	     |	 ospi.env.backup (128K)   | | ||||||
|  | 	     |                            | | ||||||
|  |     0x6C0000 +----------------------------+ | ||||||
|  |              |      ospi.sysfw(1M)        | | ||||||
|  |              |                            | | ||||||
|  |     0x7C0000 +----------------------------+ | ||||||
|  | 	     |      padding (256k)        | | ||||||
|  |     0x800000 +----------------------------+ | ||||||
|  |              |     ospi.rootfs(UBIFS)     | | ||||||
|  |              |                            | | ||||||
|  |              +----------------------------+ | ||||||
		Loading…
	
		Reference in New Issue