xref: /rk3399_rockchip-uboot/include/configs/tegra-common-post.h (revision 29f3e3f24832fccdd7ce5fa961bc4d4005b07381)
1*29f3e3f2STom Warren /*
2*29f3e3f2STom Warren  * (C) Copyright 2010-2012
3*29f3e3f2STom Warren  * NVIDIA Corporation <www.nvidia.com>
4*29f3e3f2STom Warren  *
5*29f3e3f2STom Warren  * See file CREDITS for list of people who contributed to this
6*29f3e3f2STom Warren  * project.
7*29f3e3f2STom Warren  *
8*29f3e3f2STom Warren  * This program is free software; you can redistribute it and/or
9*29f3e3f2STom Warren  * modify it under the terms of the GNU General Public License as
10*29f3e3f2STom Warren  * published by the Free Software Foundation; either version 2 of
11*29f3e3f2STom Warren  * the License, or (at your option) any later version.
12*29f3e3f2STom Warren  *
13*29f3e3f2STom Warren  * This program is distributed in the hope that it will be useful,
14*29f3e3f2STom Warren  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15*29f3e3f2STom Warren  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*29f3e3f2STom Warren  * GNU General Public License for more details.
17*29f3e3f2STom Warren  *
18*29f3e3f2STom Warren  * You should have received a copy of the GNU General Public License
19*29f3e3f2STom Warren  * along with this program; if not, write to the Free Software
20*29f3e3f2STom Warren  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21*29f3e3f2STom Warren  * MA 02111-1307 USA
22*29f3e3f2STom Warren  */
23*29f3e3f2STom Warren 
24*29f3e3f2STom Warren #ifndef __TEGRA_COMMON_POST_H
25*29f3e3f2STom Warren #define __TEGRA_COMMON_POST_H
26*29f3e3f2STom Warren 
27*29f3e3f2STom Warren #ifdef CONFIG_BOOTCOMMAND
28*29f3e3f2STom Warren 
29*29f3e3f2STom Warren #define BOOTCMDS_COMMON ""
30*29f3e3f2STom Warren 
31*29f3e3f2STom Warren #else
32*29f3e3f2STom Warren 
33*29f3e3f2STom Warren #ifdef CONFIG_CMD_EXT2
34*29f3e3f2STom Warren #define BOOT_FSTYPE_EXT2 "ext2 "
35*29f3e3f2STom Warren #else
36*29f3e3f2STom Warren #define BOOT_FSTYPE_EXT2 ""
37*29f3e3f2STom Warren #endif
38*29f3e3f2STom Warren 
39*29f3e3f2STom Warren #ifdef CONFIG_CMD_FAT
40*29f3e3f2STom Warren #define BOOT_FSTYPE_FAT "fat"
41*29f3e3f2STom Warren #else
42*29f3e3f2STom Warren #define BOOT_FSTYPE_FAT ""
43*29f3e3f2STom Warren #endif
44*29f3e3f2STom Warren 
45*29f3e3f2STom Warren #ifdef CONFIG_CMD_MMC
46*29f3e3f2STom Warren #define BOOTCMDS_MMC \
47*29f3e3f2STom Warren 	"mmc_boot=" \
48*29f3e3f2STom Warren 		"setenv devtype mmc; " \
49*29f3e3f2STom Warren 		"if mmc dev ${devnum}; then " \
50*29f3e3f2STom Warren 			"run scan_boot; " \
51*29f3e3f2STom Warren 		"fi\0" \
52*29f3e3f2STom Warren 	"bootcmd_mmc0=setenv devnum 0; run mmc_boot;\0" \
53*29f3e3f2STom Warren 	"bootcmd_mmc1=setenv devnum 1; run mmc_boot;\0"
54*29f3e3f2STom Warren #define BOOT_TARGETS_MMC "mmc1 mmc0"
55*29f3e3f2STom Warren #else
56*29f3e3f2STom Warren #define BOOTCMDS_MMC ""
57*29f3e3f2STom Warren #define BOOT_TARGETS_MMC ""
58*29f3e3f2STom Warren #endif
59*29f3e3f2STom Warren 
60*29f3e3f2STom Warren #ifdef CONFIG_CMD_USB
61*29f3e3f2STom Warren #define BOOTCMD_INIT_USB "run usb_init; "
62*29f3e3f2STom Warren #define BOOTCMDS_USB \
63*29f3e3f2STom Warren 	"usb_init=" \
64*29f3e3f2STom Warren 		"if ${usb_need_init}; then " \
65*29f3e3f2STom Warren 			"set usb_need_init false; " \
66*29f3e3f2STom Warren 			"usb start 0; " \
67*29f3e3f2STom Warren 		"fi\0" \
68*29f3e3f2STom Warren 	\
69*29f3e3f2STom Warren 	"usb_boot=" \
70*29f3e3f2STom Warren 		"setenv devtype usb; " \
71*29f3e3f2STom Warren 		BOOTCMD_INIT_USB \
72*29f3e3f2STom Warren 		"if usb dev ${devnum}; then " \
73*29f3e3f2STom Warren 			"run scan_boot; " \
74*29f3e3f2STom Warren 		"fi\0" \
75*29f3e3f2STom Warren 	\
76*29f3e3f2STom Warren 	"bootcmd_usb0=setenv devnum 0; run usb_boot;\0"
77*29f3e3f2STom Warren #define BOOT_TARGETS_USB "usb0"
78*29f3e3f2STom Warren #else
79*29f3e3f2STom Warren #define BOOTCMD_INIT_USB ""
80*29f3e3f2STom Warren #define BOOTCMDS_USB ""
81*29f3e3f2STom Warren #define BOOT_TARGETS_USB ""
82*29f3e3f2STom Warren #endif
83*29f3e3f2STom Warren 
84*29f3e3f2STom Warren #ifdef CONFIG_CMD_DHCP
85*29f3e3f2STom Warren #define BOOTCMDS_DHCP \
86*29f3e3f2STom Warren 	"bootcmd_dhcp=" \
87*29f3e3f2STom Warren 		BOOTCMD_INIT_USB \
88*29f3e3f2STom Warren 		"if dhcp ${scriptaddr} boot.scr.uimg; then "\
89*29f3e3f2STom Warren 			"source ${scriptaddr}; " \
90*29f3e3f2STom Warren 		"fi\0"
91*29f3e3f2STom Warren #define BOOT_TARGETS_DHCP "dhcp"
92*29f3e3f2STom Warren #else
93*29f3e3f2STom Warren #define BOOTCMDS_DHCP ""
94*29f3e3f2STom Warren #define BOOT_TARGETS_DHCP ""
95*29f3e3f2STom Warren #endif
96*29f3e3f2STom Warren 
97*29f3e3f2STom Warren #define BOOTCMDS_COMMON \
98*29f3e3f2STom Warren 	"scriptaddr=0x400000\0" \
99*29f3e3f2STom Warren 	\
100*29f3e3f2STom Warren 	"rootpart=1\0" \
101*29f3e3f2STom Warren 	\
102*29f3e3f2STom Warren 	"script_boot="                                                    \
103*29f3e3f2STom Warren 		"if ${fs}load ${devtype} ${devnum}:${rootpart} "          \
104*29f3e3f2STom Warren 				"${scriptaddr} ${prefix}${script}; then " \
105*29f3e3f2STom Warren 			"echo ${script} found! Executing ...;"            \
106*29f3e3f2STom Warren 			"source ${scriptaddr};"                           \
107*29f3e3f2STom Warren 		"fi;\0"                                                   \
108*29f3e3f2STom Warren 	\
109*29f3e3f2STom Warren 	"scan_boot="                                                      \
110*29f3e3f2STom Warren 		"echo Scanning ${devtype} ${devnum}...; "                 \
111*29f3e3f2STom Warren 		"for fs in ${boot_fstypes}; do "                          \
112*29f3e3f2STom Warren 			"for prefix in ${boot_prefixes}; do "             \
113*29f3e3f2STom Warren 				"for script in ${boot_scripts}; do "      \
114*29f3e3f2STom Warren 					"run script_boot; "               \
115*29f3e3f2STom Warren 				"done; "                                  \
116*29f3e3f2STom Warren 			"done; "                                          \
117*29f3e3f2STom Warren 		"done;\0"                                                 \
118*29f3e3f2STom Warren 	\
119*29f3e3f2STom Warren 	"boot_targets=" \
120*29f3e3f2STom Warren 		BOOT_TARGETS_MMC " " \
121*29f3e3f2STom Warren 		BOOT_TARGETS_USB " " \
122*29f3e3f2STom Warren 		BOOT_TARGETS_DHCP " " \
123*29f3e3f2STom Warren 		"\0" \
124*29f3e3f2STom Warren 	\
125*29f3e3f2STom Warren 	"boot_fstypes=" \
126*29f3e3f2STom Warren 		BOOT_FSTYPE_EXT2 " " \
127*29f3e3f2STom Warren 		BOOT_FSTYPE_FAT " " \
128*29f3e3f2STom Warren 		"\0" \
129*29f3e3f2STom Warren 	\
130*29f3e3f2STom Warren 	"boot_prefixes=/ /boot/\0" \
131*29f3e3f2STom Warren 	\
132*29f3e3f2STom Warren 	"boot_scripts=boot.scr.uimg boot.scr\0" \
133*29f3e3f2STom Warren 	\
134*29f3e3f2STom Warren 	BOOTCMDS_MMC \
135*29f3e3f2STom Warren 	BOOTCMDS_USB \
136*29f3e3f2STom Warren 	BOOTCMDS_DHCP
137*29f3e3f2STom Warren 
138*29f3e3f2STom Warren #define CONFIG_BOOTCOMMAND \
139*29f3e3f2STom Warren 	"for target in ${boot_targets}; do run bootcmd_${target}; done"
140*29f3e3f2STom Warren 
141*29f3e3f2STom Warren #endif
142*29f3e3f2STom Warren 
143*29f3e3f2STom Warren #define CONFIG_EXTRA_ENV_SETTINGS \
144*29f3e3f2STom Warren 	TEGRA_DEVICE_SETTINGS \
145*29f3e3f2STom Warren 	"fdt_load=0x01000000\0" \
146*29f3e3f2STom Warren 	"fdt_high=01100000\0" \
147*29f3e3f2STom Warren 	BOOTCMDS_COMMON
148*29f3e3f2STom Warren 
149*29f3e3f2STom Warren /* overrides for SPL build here */
150*29f3e3f2STom Warren #ifdef CONFIG_SPL_BUILD
151*29f3e3f2STom Warren 
152*29f3e3f2STom Warren /* remove devicetree support */
153*29f3e3f2STom Warren #ifdef CONFIG_OF_CONTROL
154*29f3e3f2STom Warren #undef CONFIG_OF_CONTROL
155*29f3e3f2STom Warren #endif
156*29f3e3f2STom Warren 
157*29f3e3f2STom Warren /* remove SERIAL_MULTI */
158*29f3e3f2STom Warren #ifdef CONFIG_SERIAL_MULTI
159*29f3e3f2STom Warren #undef CONFIG_SERIAL_MULTI
160*29f3e3f2STom Warren #endif
161*29f3e3f2STom Warren 
162*29f3e3f2STom Warren /* remove I2C support */
163*29f3e3f2STom Warren #ifdef CONFIG_TEGRA_I2C
164*29f3e3f2STom Warren #undef CONFIG_TEGRA_I2C
165*29f3e3f2STom Warren #endif
166*29f3e3f2STom Warren #ifdef CONFIG_CMD_I2C
167*29f3e3f2STom Warren #undef CONFIG_CMD_I2C
168*29f3e3f2STom Warren #endif
169*29f3e3f2STom Warren 
170*29f3e3f2STom Warren /* remove MMC support */
171*29f3e3f2STom Warren #ifdef CONFIG_MMC
172*29f3e3f2STom Warren #undef CONFIG_MMC
173*29f3e3f2STom Warren #endif
174*29f3e3f2STom Warren #ifdef CONFIG_GENERIC_MMC
175*29f3e3f2STom Warren #undef CONFIG_GENERIC_MMC
176*29f3e3f2STom Warren #endif
177*29f3e3f2STom Warren #ifdef CONFIG_TEGRA_MMC
178*29f3e3f2STom Warren #undef CONFIG_TEGRA_MMC
179*29f3e3f2STom Warren #endif
180*29f3e3f2STom Warren #ifdef CONFIG_CMD_MMC
181*29f3e3f2STom Warren #undef CONFIG_CMD_MMC
182*29f3e3f2STom Warren #endif
183*29f3e3f2STom Warren 
184*29f3e3f2STom Warren /* remove partitions/filesystems */
185*29f3e3f2STom Warren #ifdef CONFIG_DOS_PARTITION
186*29f3e3f2STom Warren #undef CONFIG_DOS_PARTITION
187*29f3e3f2STom Warren #endif
188*29f3e3f2STom Warren #ifdef CONFIG_EFI_PARTITION
189*29f3e3f2STom Warren #undef CONFIG_EFI_PARTITION
190*29f3e3f2STom Warren #endif
191*29f3e3f2STom Warren #ifdef CONFIG_CMD_EXT2
192*29f3e3f2STom Warren #undef CONFIG_CMD_EXT2
193*29f3e3f2STom Warren #endif
194*29f3e3f2STom Warren #ifdef CONFIG_CMD_FAT
195*29f3e3f2STom Warren #undef CONFIG_CMD_FAT
196*29f3e3f2STom Warren #endif
197*29f3e3f2STom Warren 
198*29f3e3f2STom Warren /* remove USB */
199*29f3e3f2STom Warren #ifdef CONFIG_USB_EHCI
200*29f3e3f2STom Warren #undef CONFIG_USB_EHCI
201*29f3e3f2STom Warren #endif
202*29f3e3f2STom Warren #ifdef CONFIG_USB_EHCI_TEGRA
203*29f3e3f2STom Warren #undef CONFIG_USB_EHCI_TEGRA
204*29f3e3f2STom Warren #endif
205*29f3e3f2STom Warren #ifdef CONFIG_USB_STORAGE
206*29f3e3f2STom Warren #undef CONFIG_USB_STORAGE
207*29f3e3f2STom Warren #endif
208*29f3e3f2STom Warren #ifdef CONFIG_CMD_USB
209*29f3e3f2STom Warren #undef CONFIG_CMD_USB
210*29f3e3f2STom Warren #endif
211*29f3e3f2STom Warren 
212*29f3e3f2STom Warren #endif /* CONFIG_SPL_BUILD */
213*29f3e3f2STom Warren 
214*29f3e3f2STom Warren #endif /* __TEGRA_COMMON_POST_H */
215