env: ti: android: boot with FIT Image
[oweals/u-boot.git] / include / environment / ti / boot.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Boot related environment variable definitions on TI boards.
4  *
5  * (C) Copyright 2017 Linaro Ltd.
6  * Sam Protsenko <semen.protsenko@linaro.org>
7  */
8
9 #ifndef __TI_BOOT_H
10 #define __TI_BOOT_H
11
12 #ifndef CONSOLEDEV
13 #define CONSOLEDEV "ttyO2"
14 #endif
15
16 #ifndef PARTS_DEFAULT
17 #define PARTS_DEFAULT
18 #endif
19
20 #define DEFAULT_COMMON_BOOT_TI_ARGS \
21         "console=" CONSOLEDEV ",115200n8\0" \
22         "fdtfile=undefined\0" \
23         "bootpart=0:2\0" \
24         "bootdir=/boot\0" \
25         "bootfile=zImage\0" \
26         "usbtty=cdc_acm\0" \
27         "vram=16M\0" \
28         "partitions=" PARTS_DEFAULT "\0" \
29         "optargs=\0" \
30         "dofastboot=0\0" \
31         "emmc_linux_boot=" \
32                 "echo Trying to boot Linux from eMMC ...; " \
33                 "setenv mmcdev 1; " \
34                 "setenv bootpart 1:2; " \
35                 "setenv mmcroot /dev/mmcblk0p2 rw; " \
36                 "run mmcboot;\0" \
37         "emmc_android_boot=" \
38                 "echo Trying to boot Android from eMMC ...; " \
39                 "run update_to_fit; " \
40                 "setenv eval_bootargs setenv bootargs $bootargs; " \
41                 "run eval_bootargs; " \
42                 "setenv mmcdev 1; " \
43                 "setenv machid fe6; " \
44                 "mmc dev $mmcdev; " \
45                 "mmc rescan; " \
46                 "part start mmc ${mmcdev} environment fdt_start; " \
47                 "part size mmc ${mmcdev} environment fdt_size; " \
48                 "part start mmc ${mmcdev} boot boot_start; " \
49                 "part size mmc ${mmcdev} boot boot_size; " \
50                 "mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; " \
51                 "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \
52                 "bootm ${loadaddr}#${fdtfile};\0 "
53
54 #ifdef CONFIG_OMAP54XX
55
56 #define DEFAULT_FDT_TI_ARGS \
57         "findfdt="\
58                 "if test $board_name = omap5_uevm; then " \
59                         "setenv fdtfile omap5-uevm.dtb; fi; " \
60                 "if test $board_name = dra7xx; then " \
61                         "setenv fdtfile dra7-evm.dtb; fi;" \
62                 "if test $board_name = dra72x-revc; then " \
63                         "setenv fdtfile dra72-evm-revc.dtb; fi;" \
64                 "if test $board_name = dra72x; then " \
65                         "setenv fdtfile dra72-evm.dtb; fi;" \
66                 "if test $board_name = dra71x; then " \
67                         "setenv fdtfile dra71-evm.dtb; fi;" \
68                 "if test $board_name = dra76x_acd; then " \
69                         "setenv fdtfile dra76-evm.dtb; fi;" \
70                 "if test $board_name = beagle_x15; then " \
71                         "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
72                 "if test $board_name = beagle_x15_revb1; then " \
73                         "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \
74                 "if test $board_name = beagle_x15_revc; then " \
75                         "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \
76                 "if test $board_name = am572x_idk; then " \
77                         "setenv fdtfile am572x-idk.dtb; fi;" \
78                 "if test $board_name = am574x_idk; then " \
79                         "setenv fdtfile am574x-idk.dtb; fi;" \
80                 "if test $board_name = am57xx_evm; then " \
81                         "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
82                 "if test $board_name = am57xx_evm_reva3; then " \
83                         "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
84                 "if test $board_name = am571x_idk; then " \
85                         "setenv fdtfile am571x-idk.dtb; fi;" \
86                 "if test $fdtfile = undefined; then " \
87                         "echo WARNING: Could not determine device tree to use; fi; \0"
88
89 #define CONFIG_BOOTCOMMAND \
90         "if test ${dofastboot} -eq 1; then " \
91                 "echo Boot fastboot requested, resetting dofastboot ...;" \
92                 "setenv dofastboot 0; saveenv;" \
93                 "echo Booting into fastboot ...; " \
94                 "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \
95         "fi;" \
96         "if test ${boot_fit} -eq 1; then "      \
97                 "run update_to_fit;"    \
98         "fi;"   \
99         "run findfdt; " \
100         "run envboot; " \
101         "run mmcboot;" \
102         "run emmc_linux_boot; " \
103         "run emmc_android_boot; " \
104         ""
105
106 #endif /* CONFIG_OMAP54XX */
107
108 #endif /* __TI_BOOT_H */