blob: 0a2342061cf3a4e7ebaf1b42238f79a28200e757 [file] [log] [blame]
Semen Protsenko334f5bb2017-06-14 21:34:23 +03001/*
2 * Boot related environment variable definitions on TI boards.
3 *
4 * (C) Copyright 2017 Linaro Ltd.
5 * Sam Protsenko <semen.protsenko@linaro.org>
6 *
7 * SPDX-License-Identifier: GPL-2.0+
8 */
9
10#ifndef __TI_BOOT_H
11#define __TI_BOOT_H
12
13#ifndef CONSOLEDEV
14#define CONSOLEDEV "ttyO2"
15#endif
16
17#ifndef PARTS_DEFAULT
18#define PARTS_DEFAULT
19#endif
20
21#define DEFAULT_COMMON_BOOT_TI_ARGS \
22 "console=" CONSOLEDEV ",115200n8\0" \
23 "fdtfile=undefined\0" \
24 "bootpart=0:2\0" \
25 "bootdir=/boot\0" \
26 "bootfile=zImage\0" \
27 "usbtty=cdc_acm\0" \
28 "vram=16M\0" \
29 "partitions=" PARTS_DEFAULT "\0" \
30 "optargs=\0" \
Semen Protsenko93003172017-08-16 15:55:48 +030031 "dofastboot=0\0" \
Sam Protsenko7e43edc2017-09-21 22:37:58 +030032 "emmc_linux_boot=" \
Sam Protsenkobfd9f7c2017-09-21 22:37:59 +030033 "echo Trying to boot Linux from eMMC ...; " \
Sam Protsenko7e43edc2017-09-21 22:37:58 +030034 "setenv mmcdev 1; " \
35 "setenv bootpart 1:2; " \
36 "setenv mmcroot /dev/mmcblk0p2 rw; " \
37 "run mmcboot;\0" \
Semen Protsenko93003172017-08-16 15:55:48 +030038 "emmc_android_boot=" \
Sam Protsenkobfd9f7c2017-09-21 22:37:59 +030039 "echo Trying to boot Android from eMMC ...; " \
Semen Protsenko93003172017-08-16 15:55:48 +030040 "setenv eval_bootargs setenv bootargs $bootargs; " \
41 "run eval_bootargs; " \
42 "setenv mmcdev 1; " \
43 "setenv fdt_part 3; " \
44 "setenv boot_part 9; " \
45 "setenv machid fe6; " \
46 "mmc dev $mmcdev; " \
47 "mmc rescan; " \
48 "part start mmc ${mmcdev} ${fdt_part} fdt_start; " \
49 "part size mmc ${mmcdev} ${fdt_part} fdt_size; " \
50 "part start mmc ${mmcdev} ${boot_part} boot_start; " \
51 "part size mmc ${mmcdev} ${boot_part} boot_size; " \
52 "mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; " \
53 "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \
Semen Protsenko93003172017-08-16 15:55:48 +030054 "bootm $loadaddr $loadaddr $fdtaddr;\0"
Semen Protsenko334f5bb2017-06-14 21:34:23 +030055
56#ifdef CONFIG_OMAP54XX
57
58#define DEFAULT_FDT_TI_ARGS \
59 "findfdt="\
60 "if test $board_name = omap5_uevm; then " \
61 "setenv fdtfile omap5-uevm.dtb; fi; " \
62 "if test $board_name = dra7xx; then " \
63 "setenv fdtfile dra7-evm.dtb; fi;" \
64 "if test $board_name = dra72x-revc; then " \
65 "setenv fdtfile dra72-evm-revc.dtb; fi;" \
66 "if test $board_name = dra72x; then " \
67 "setenv fdtfile dra72-evm.dtb; fi;" \
68 "if test $board_name = dra71x; then " \
69 "setenv fdtfile dra71-evm.dtb; fi;" \
Lokesh Vutla7b8b6f72017-12-29 11:47:58 +053070 "if test $board_name = dra76x_acd; then " \
Lokesh Vutla066f5782017-08-21 12:50:58 +053071 "setenv fdtfile dra76-evm.dtb; fi;" \
Semen Protsenko334f5bb2017-06-14 21:34:23 +030072 "if test $board_name = beagle_x15; then " \
73 "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
74 "if test $board_name = beagle_x15_revb1; then " \
75 "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \
Lokesh Vutla473d8162017-08-23 11:39:07 +053076 "if test $board_name = beagle_x15_revc; then " \
77 "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \
Semen Protsenko334f5bb2017-06-14 21:34:23 +030078 "if test $board_name = am572x_idk; then " \
79 "setenv fdtfile am572x-idk.dtb; fi;" \
Lokesh Vutla7b8b6f72017-12-29 11:47:58 +053080 "if test $board_name = am574x_idk; then " \
81 "setenv fdtfile am574x-idk.dtb; fi;" \
Semen Protsenko334f5bb2017-06-14 21:34:23 +030082 "if test $board_name = am57xx_evm; then " \
83 "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
84 "if test $board_name = am57xx_evm_reva3; then " \
85 "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
86 "if test $board_name = am571x_idk; then " \
87 "setenv fdtfile am571x-idk.dtb; fi;" \
88 "if test $fdtfile = undefined; then " \
89 "echo WARNING: Could not determine device tree to use; fi; \0"
90
91#define CONFIG_BOOTCOMMAND \
92 "if test ${dofastboot} -eq 1; then " \
93 "echo Boot fastboot requested, resetting dofastboot ...;" \
94 "setenv dofastboot 0; saveenv;" \
95 "echo Booting into fastboot ...; " \
96 "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \
97 "fi;" \
98 "if test ${boot_fit} -eq 1; then " \
99 "run update_to_fit;" \
100 "fi;" \
101 "run findfdt; " \
102 "run envboot; " \
103 "run mmcboot;" \
Sam Protsenko7e43edc2017-09-21 22:37:58 +0300104 "run emmc_linux_boot; " \
Semen Protsenko93003172017-08-16 15:55:48 +0300105 "run emmc_android_boot; " \
Semen Protsenko334f5bb2017-06-14 21:34:23 +0300106 ""
107
108#endif /* CONFIG_OMAP54XX */
109
110#endif /* __TI_BOOT_H */