dfu-boot: Support using RPS instead of phidget
[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,
18   or a UART Remote Power Switch.
21 Switch settings for DFU boot mode
22 ---------------------------------
24 * j721e-evm settings  => SW8 = 1000 0000      SW9 = 0010 0000      SW3 = 0101 00 1010
25 * j7200-evm settings  => SW8 = 1000 0000      SW9 = 0010 0000      SW3 = 0101 00 1010
26 * am65xx-evm settings => SW2 = 0000 0000 00   SW3 = 0001 0000 00   SW4 = 11
27 * am64xx-evm settings => SW2 = 1100 1010      SW3 = 0011 0000
29 Power toggling setup
30 --------------------
32 This script uses phidget or RPS to control power for restarting the boards.
33 Since everyone has different configuration, the script parses the data from a
34 config file. You can copy the template as follows and then customize as required.
36     cp k3bootswitch.conf ~/HOME/.config/
38 Usage
39 -----
41 * Install dfu-util package on the Linux PC with
42     ``sudo apt-get install dfu-util``
43 * To boot the j721e-evm board in MMC bootmode, run following
44     ``sudo ./dfu-boot.sh --j721e-evm --bootmode mmc``
46   Currently supported bootmodes are: **mmc, emmc, ospi, uart, noboot**
48 * To mount the emmc from j721e-evm board to the Linux PC, run following
49     ``sudo ./dfu-boot.sh --j721e-evm --mount 0``
50 * To mount the SD card from am65xx-evm board to the Linux PC, run following
51     ``sudo ./dfu-boot.sh --am65xx-evm --mount 1``
53 Customization
54 -------------
56 Default setup assumes most common setup for Keystone3 EVM. In case you are using
57 differnent mechanism, update the **dfu-boot.sh** script with following:
59 * Update the **uart_dev** variable to reflect the correct tty device
60   for main uart. (The one where all u-boot/SBL/kernel logs appear)
61 * Update the **switch** variable to reflect the correct switch number  which
62   controls the power via phidget
63 * Update the **switch_type** variable to select the mechanism for toggling
64   power of the board (phidget/rps)
65 * If using RPS instead of phidget, also update the **rps_dev** variable with
66   the UART device of RPS.
67 * If you have a different mechanism to power the board, write your own
68   implementation and update **toggle_util** variable in the script.
70 Limitations
71 -----------
73 * Do not use this mechanism to measure any boot time numbers
74 * The bootloader images are specific to TI EVMs. Different images are required
75   to be able to mount the SD/eMMC from custom boards
76 * The u-boot will try to import the environment from eMMC. If that is broken,
77   it will cause issues in mounting the devices using UMS