fee5328735135d609e5bc3881a47dbf827ddfd78
[glsdk/host-tools.git] / k3-bootswitch / README.rst
1 K3-bootswitch tool
2 ==================
4 This tool allows to boot the board in any boot mode from command line.
5 This is useful for controlling the board remotely for individual developers
6 as well as test farm.
8 Hardware setup
9 --------------
11 * USB cable should be connected from the board to the Linux PC
12 * Note that on am65xx-evm, there is an adapter board for PCIe / USB.
13   This should be used for connecting the USB cable.
14   DFU boot is only supported from this port.
15 * UART cable should be connected from the main_uart to Linux PC
16 * Default switch settings should be for DFU boot mode
17 * Power supply to the board should be connected via phidget USB relay
20 Switch settings for DFU boot mode
21 ---------------------------------
23 * j721e-evm settings  => SW8 = 1000 0000      SW9 = 0010 0000      SW3 = 0101 00 1010
24 * j7200-evm settings  => SW8 = 1000 0000      SW9 = 0010 0000      SW3 = 0101 00 1010
25 * am65xx-evm settings => SW2 = 0000 0000 00   SW3 = 0001 0000 00   SW4 = 11
26 * am64xx-evm settings => SW2 = 1100 1010      SW3 = 0011 0000
28 Phidget setup
29 -------------
31 This script uses phidget to control power for restarting the boards.
32 Since everyone has different configuration, the script parses the data from a
33 config file. You can copy the template as follows and then customize as required.
35     cp k3bootswitch.conf ~/HOME/.config/
37 Usage
38 -----
40 * Install dfu-util package on the Linux PC with
41     ``sudo apt-get install dfu-util``
42 * To boot the j721e-evm board in MMC bootmode, run following
43     ``sudo ./dfu-boot.sh --j721e-evm --bootmode mmc``
45   Currently supported bootmodes are: **mmc, emmc, ospi, uart, noboot**
47 * To mount the emmc from j721e-evm board to the Linux PC, run following
48     ``sudo ./dfu-boot.sh --j721e-evm --mount 0``
49 * To mount the SD card from am65xx-evm board to the Linux PC, run following
50     ``sudo ./dfu-boot.sh --am65xx-evm --mount 1``
52 Customization
53 -------------
55 Default setup assumes most common setup for Keystone3 EVM. In case you are using
56 differnent mechanism, update the **dfu-boot.sh** script with following:
58 * Update the **uart_dev** variable to reflect the correct tty device
59   for main uart. (The one where all u-boot/SBL/kernel logs appear)
60 * Update the **switch** variable to reflect the correct switch number  which
61   controls the power via phidget
62 * If you have a different mechanism to power the board, write your own implementation
63   for **toggle_power** function instead of the default phidget commands
65 Limitatinos
66 -----------
68 * Do not use this mechanism to measure any boot time numbers
69 * The bootloader images are specific to TI EVMs. Different images are required
70   to be able to mount the SD/eMMC from custom boards
71 * The u-boot will try to import the environment from eMMC. If that is broken,
72   it will cause issues in mounting the devices using UMS