Skip to content

Commit a466e06

Browse files
feat(linux): u-boot: Add USB DFU documentation for AM62LX
The AM62LX SoC supports USB DFU boot via USB0 instance of USB. The AM62L3-EVM's Type-C DRP port can be used for booting via USB DFU boot. Document this. Signed-off-by: Siddharth Vadapalli <[email protected]>
1 parent 8496782 commit a466e06

File tree

1 file changed

+48
-4
lines changed
  • source/linux/Foundational_Components/U-Boot

1 file changed

+48
-4
lines changed

source/linux/Foundational_Components/U-Boot/UG-DFU.rst

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,17 @@ platform that support USB Peripheral boot mode.
155155
binary images from the Host PC (using dfu-utils tool) to the eMMC, QSPI
156156
or OSPI to fresh/factory boards.
157157

158+
.. ifconfig:: CONFIG_part_family in ('AM62LX_family')
159+
160+
#. Build :program:`tiboot3.bin`, :program:`tispl.bin` and :program:`u-boot.img`
161+
using :file:`am62lx_evm_defconfig`. For instructions to build the bootloader
162+
images please refer to :ref:`Build-U-Boot-label`.
163+
#. Load the bootloader images :program:`tiboot3.bin`, :program:`tispl.bin`
164+
and :program:`u-boot.img` using the dfu-util tool on the Host PC.
165+
#. Once U-Boot is up, use the DFU command at U-Boot prompt to flash the
166+
binary images from the Host PC (using dfu-utils tool) to the eMMC, QSPI
167+
or OSPI to fresh/factory boards.
168+
158169

159170
.. ifconfig:: CONFIG_part_family in ('AM62PX_family')
160171

@@ -233,14 +244,19 @@ platform that support USB Peripheral boot mode.
233244
- Connect USB Type C DRD Port (J15) on SK board to PC through USB cable
234245
- Power on the board
235246

247+
.. ifconfig:: CONFIG_part_family in ('AM62LX_family')
248+
249+
- Set SYSBOOT switches to USB DFU boot mode (Refer to **Initialization** chapter of AM62L TRM for boot switch details)
250+
- Connect USB Type C DRD Port (J19) on EVM board to PC through USB cable
251+
- Power on the board
236252

237253
.. ifconfig:: CONFIG_part_family in ('AM62PX_family')
238254

239255
- Set SYSBOOT switches to USB DFU boot mode (Refer to **Initialization** chapter of AM62P TRM for boot switch details)
240256
- Connect USB Type C DRD Port (J19) on SK board to PC through USB cable
241257
- Power on the board
242258

243-
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family')
259+
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family', 'AM62LX_family')
244260

245261
.. rubric:: On Linux host
246262

@@ -304,7 +320,7 @@ platform that support USB Peripheral boot mode.
304320

305321
Send boot images in this order: tiboot3.bin -> tispl.bin -> u-boot.img
306322

307-
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family')
323+
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family', 'AM62LX_family')
308324

309325
.. code-block:: text
310326
@@ -315,7 +331,7 @@ platform that support USB Peripheral boot mode.
315331

316332
.. note:: On Windows, if you face any issues while listing the available DFU Interfaces, try installing/updating the Generic USB DFU Drivers using `Zadig <https://zadig.akeo.ie/>`_.
317333

318-
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family')
334+
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family', 'AM62LX_family')
319335

320336
Move to directory containing the images and give the following commands
321337

@@ -414,7 +430,35 @@ platform that support USB Peripheral boot mode.
414430
415431
.. note:: On Windows host, if `name` of the DFU Interface doesn't work, use `alt` number instead.
416432

417-
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family')
433+
.. ifconfig:: CONFIG_part_family in ('AM62LX_family')
434+
435+
.. rubric:: On Linux host
436+
437+
.. code-block:: text
438+
439+
host$ sudo dfu-util -R -a bootloader -D tiboot3.bin
440+
host$ sudo dfu-util -l
441+
Found DFU: [0451:6165] ver=0200, devnum=45, cfg=1, intf=0, path="1-4.2", alt=1, name="SocId", serial="01.00.00.00"
442+
Found DFU: [0451:6165] ver=0200, devnum=45, cfg=1, intf=0, path="1-4.2", alt=0, name="bootloader", serial="01.00.00.00"
443+
444+
host$ sudo dfu-util -R -a bootloader -D tispl.bin
445+
host$ sudo dfu-util -R -a u-boot.img -D u-boot.img
446+
447+
.. rubric:: On Windows host
448+
449+
.. code-block:: text
450+
451+
host> dfu-util.exe -R -a 0 -D tiboot3.bin
452+
host> dfu-util.exe -l
453+
Found DFU: [0451:6165] devnum=0, cfg=1, intf=0, alt=0, name="bootloader"
454+
Found DFU: [0451:6165] devnum=0, cfg=1, intf=0, alt=1, name="SocId"
455+
456+
host> dfu-util.exe -R -a 0 -D tispl.bin
457+
host> dfu-util.exe -R -a 1 -D u-boot.img
458+
459+
.. note:: On Windows host, if `name` of the DFU Interface doesn't work, use `alt` number instead.
460+
461+
.. ifconfig:: CONFIG_part_family in ('AM64X_family', 'J7_family', 'AM62X_family', 'AM62AX_family', 'AM62PX_family', 'AM62LX_family')
418462

419463
At this point, the board should boot to the U-Boot prompt.
420464

0 commit comments

Comments
 (0)