blob: e8d90273288303b2cd06e39cbdb15f2e34afa149 [file] [log] [blame]
Marcel Ziswiler315deb32023-08-04 12:08:08 +02001.. SPDX-License-Identifier: GPL-2.0-or-later
2.. sectionauthor:: Marcel Ziswiler <marcel.ziswiler@toradex.com>
3
4Verdin AM62 Module
5==================
6
Marcel Ziswiler712d6242023-08-07 01:44:46 +02007- SoM: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
8- Carrier board: https://www.toradex.com/products/carrier-board/verdin-development-board-kit
9
Marcel Ziswiler315deb32023-08-04 12:08:08 +020010Quick Start
11-----------
12
13- Get the binary-only SYSFW
14- Get binary-only TI Linux firmware
15- Build the ARM trusted firmware binary
16- Build the OPTEE binary
17- Build U-Boot for the R5
18- Build U-Boot for the A53
19- Flash to eMMC
20- Boot
21
22For an overview of the TI AM62 SoC boot flow please head over to:
23:doc:`../ti/am62x_sk`
24
25Sources:
26--------
Marcel Ziswiler813070a2023-08-29 00:01:53 +020027
Marcel Ziswiler315deb32023-08-04 12:08:08 +020028.. include:: ../ti/k3.rst
29 :start-after: .. k3_rst_include_start_boot_sources
30 :end-before: .. k3_rst_include_end_boot_sources
31
32Build procedure:
33----------------
Marcel Ziswiler813070a2023-08-29 00:01:53 +020034
Marcel Ziswiler315deb32023-08-04 12:08:08 +0200350. Setup the environment variables:
36
37.. include:: ../ti/k3.rst
38 :start-after: .. k3_rst_include_start_common_env_vars_desc
39 :end-before: .. k3_rst_include_end_common_env_vars_desc
40
41.. include:: ../ti/k3.rst
42 :start-after: .. k3_rst_include_start_board_env_vars_desc
43 :end-before: .. k3_rst_include_end_board_env_vars_desc
44
45Set the variables corresponding to this platform:
46
47.. include:: ../ti/k3.rst
48 :start-after: .. k3_rst_include_start_common_env_vars_defn
49 :end-before: .. k3_rst_include_end_common_env_vars_defn
50.. code-block:: bash
51
52 $ export UBOOT_CFG_CORTEXR=verdin-am62_r5_defconfig
53 $ export UBOOT_CFG_CORTEXA=verdin-am62_a53_defconfig
54 $ export TFA_BOARD=lite
Marcel Ziswiler813070a2023-08-29 00:01:53 +020055 $ # we don't use any extra TFA parameters
Marcel Ziswiler315deb32023-08-04 12:08:08 +020056 $ unset TFA_EXTRA_ARGS
57 $ export OPTEE_PLATFORM=k3-am62x
58 $ export OPTEE_EXTRA_ARGS="CFG_WITH_SOFTWARE_PRNG=y"
59
60.. include:: ../ti/am62x_sk.rst
61 :start-after: .. am62x_evm_rst_include_start_build_steps
62 :end-before: .. am62x_evm_rst_include_end_build_steps
63
64Flash to eMMC
65-------------
66
67.. code-block:: bash
68
69 => mmc dev 0 1
70 => fatload mmc 1 ${loadaddr} tiboot3.bin
71 => mmc write ${loadaddr} 0x0 0x400
72 => fatload mmc 1 ${loadaddr} tispl.bin
73 => mmc write ${loadaddr} 0x400 0x1000
74 => fatload mmc 1 ${loadaddr} u-boot.img
75 => mmc write ${loadaddr} 0x1400 0x2000
76
Marcel Ziswileref002e52023-08-29 00:01:54 +020077As a convenience, instead of having to remember all those addresses and sizes,
78one may also use the update U-Boot wrappers:
79
80.. code-block:: bash
81
82 > tftpboot ${loadaddr} tiboot3-am62x-gp-verdin.bin
83 > run update_tiboot3
84
85 > tftpboot ${loadaddr} tispl.bin
86 > run update_tispl
87
88 > tftpboot ${loadaddr} u-boot.img
89 > run update_uboot
90
Marcel Ziswiler315deb32023-08-04 12:08:08 +020091Boot
92----
93
Marcel Ziswiler813070a2023-08-29 00:01:53 +020094Output::
Marcel Ziswiler315deb32023-08-04 12:08:08 +020095
Marcel Ziswiler712d6242023-08-07 01:44:46 +020096 U-Boot SPL 2023.10-rc1-00210-gb678170a34c (Aug 03 2023 - 00:09:14 +0200)
97 SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.1--v09.00.01 (Kool Koala)')
98 SPL initial stack usage: 13368 bytes
99 Trying to boot from MMC1
100 Authentication passed
101 Authentication passed
102 Authentication passed
103 Authentication passed
104 Authentication passed
105 Starting ATF on ARM64 core...
Marcel Ziswiler315deb32023-08-04 12:08:08 +0200106
Marcel Ziswiler712d6242023-08-07 01:44:46 +0200107 NOTICE: BL31: v2.9(release):v2.9.0-73-g463655cc8
108 NOTICE: BL31: Built : 14:51:42, Jun 5 2023
109 I/TC:
110 I/TC: OP-TEE version: 3.21.0-168-g322cf9e33 (gcc version 12.2.1 20221205 (Arm GNU Toolchain 12.2.Rel1 (Build arm-12.24))) #2 Mon Jun 5 13:04:15 UTC 2023 aarch64
111 I/TC: WARNING: This OP-TEE configuration might be insecure!
112 I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
113 I/TC: Primary CPU initializing
114 I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.1--v09.00.01 (Kool Koala)')
115 I/TC: HUK Initialized
116 I/TC: Primary CPU switching to normal world boot
Marcel Ziswiler315deb32023-08-04 12:08:08 +0200117
Marcel Ziswiler712d6242023-08-07 01:44:46 +0200118 U-Boot SPL 2023.10-rc1-00210-gb678170a34c (Aug 03 2023 - 00:09:41 +0200)
119 SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.1--v09.00.01 (Kool Koala)')
120 SPL initial stack usage: 1840 bytes
121 Trying to boot from MMC1
122 Authentication passed
123 Authentication passed
Marcel Ziswiler315deb32023-08-04 12:08:08 +0200124
125
Marcel Ziswiler712d6242023-08-07 01:44:46 +0200126 U-Boot 2023.10-rc1-00210-gb678170a34c (Aug 03 2023 - 00:09:41 +0200)
Marcel Ziswiler315deb32023-08-04 12:08:08 +0200127
Marcel Ziswiler712d6242023-08-07 01:44:46 +0200128 SoC: AM62X SR1.0 HS-FS
129 DRAM: 2 GiB
130 Core: 136 devices, 28 uclasses, devicetree: separate
131 MMC: mmc@fa10000: 0, mmc@fa00000: 1
132 Loading Environment from MMC... OK
133 In: serial@2800000
134 Out: serial@2800000
135 Err: serial@2800000
136 Model: Toradex 0076 Verdin AM62 Quad 2GB WB IT V1.0A
137 Serial#: 15037380
138 Carrier: Toradex Verdin Development Board V1.1A, Serial# 10754333
139 am65_cpsw_nuss ethernet@8000000: K3 CPSW: nuss_ver: 0x6BA01103 cpsw_ver: 0x6BA81103 ale_ver: 0x00290105 Ports:2 mdio_freq:1000000
140 Setting variant to wifi
141 Net:
142 Warning: ethernet@8000000port@1 MAC addresses don't match:
143 Address in ROM is 1c:63:49:22:5f:f9
144 Address in environment is 00:14:2d:e5:73:c4
145 eth0: ethernet@8000000port@1 [PRIME], eth1: ethernet@8000000port@2
146 Hit any key to stop autoboot: 0
147 Verdin AM62 #