1 /*
2  * (C) Copyright 2010-2012
3  * NVIDIA Corporation <www.nvidia.com>
4  *
5  * SPDX-License-Identifier:	GPL-2.0+
6  */
7 
8 #ifndef __TEGRA_COMMON_POST_H
9 #define __TEGRA_COMMON_POST_H
10 
11 #ifndef CONFIG_SPL_BUILD
12 #define BOOT_TARGET_DEVICES(func) \
13 	func(MMC, mmc, 1) \
14 	func(MMC, mmc, 0) \
15 	func(USB, usb, 0) \
16 	func(PXE, pxe, na) \
17 	func(DHCP, dhcp, na)
18 #include <config_distro_bootcmd.h>
19 #else
20 #define BOOTENV
21 #endif
22 
23 #ifdef CONFIG_TEGRA_KEYBOARD
24 #define STDIN_KBD_KBC ",tegra-kbc"
25 #else
26 #define STDIN_KBD_KBC ""
27 #endif
28 
29 #ifdef CONFIG_USB_KEYBOARD
30 #define STDIN_KBD_USB ",usbkbd"
31 #define CONFIG_SYS_USB_EVENT_POLL
32 #define CONFIG_PREBOOT			"usb start"
33 #else
34 #define STDIN_KBD_USB ""
35 #endif
36 
37 #ifdef CONFIG_LCD
38 #define STDOUT_LCD ",lcd"
39 #else
40 #define STDOUT_LCD ""
41 #endif
42 
43 #ifdef CONFIG_CROS_EC_KEYB
44 #define STDOUT_CROS_EC	",cros-ec-keyb"
45 #else
46 #define STDOUT_CROS_EC	""
47 #endif
48 
49 #define TEGRA_DEVICE_SETTINGS \
50 	"stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
51 	"stdout=serial" STDOUT_LCD "\0" \
52 	"stderr=serial" STDOUT_LCD "\0" \
53 	""
54 
55 #ifndef BOARD_EXTRA_ENV_SETTINGS
56 #define BOARD_EXTRA_ENV_SETTINGS
57 #endif
58 
59 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
60 
61 #ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
62 #define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
63 #endif
64 
65 #define CONFIG_EXTRA_ENV_SETTINGS \
66 	TEGRA_DEVICE_SETTINGS \
67 	MEM_LAYOUT_ENV_SETTINGS \
68 	"fdt_high=ffffffff\0" \
69 	"initrd_high=ffffffff\0" \
70 	BOOTENV \
71 	BOARD_EXTRA_ENV_SETTINGS \
72 	CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
73 
74 #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)
75 #define CONFIG_TEGRA_SPI
76 #endif
77 
78 /* overrides for SPL build here */
79 #ifdef CONFIG_SPL_BUILD
80 
81 #define CONFIG_SKIP_LOWLEVEL_INIT
82 
83 /* remove I2C support */
84 #ifdef CONFIG_SYS_I2C_TEGRA
85 #undef CONFIG_SYS_I2C_TEGRA
86 #endif
87 #ifdef CONFIG_CMD_I2C
88 #undef CONFIG_CMD_I2C
89 #endif
90 
91 /* remove MMC support */
92 #ifdef CONFIG_MMC
93 #undef CONFIG_MMC
94 #endif
95 #ifdef CONFIG_GENERIC_MMC
96 #undef CONFIG_GENERIC_MMC
97 #endif
98 #ifdef CONFIG_TEGRA_MMC
99 #undef CONFIG_TEGRA_MMC
100 #endif
101 #ifdef CONFIG_CMD_MMC
102 #undef CONFIG_CMD_MMC
103 #endif
104 
105 /* remove partitions/filesystems */
106 #ifdef CONFIG_DOS_PARTITION
107 #undef CONFIG_DOS_PARTITION
108 #endif
109 #ifdef CONFIG_EFI_PARTITION
110 #undef CONFIG_EFI_PARTITION
111 #endif
112 #ifdef CONFIG_CMD_FS_GENERIC
113 #undef CONFIG_CMD_FS_GENERIC
114 #endif
115 #ifdef CONFIG_CMD_EXT4
116 #undef CONFIG_CMD_EXT4
117 #endif
118 #ifdef CONFIG_CMD_EXT2
119 #undef CONFIG_CMD_EXT2
120 #endif
121 #ifdef CONFIG_CMD_FAT
122 #undef CONFIG_CMD_FAT
123 #endif
124 #ifdef CONFIG_FS_EXT4
125 #undef CONFIG_FS_EXT4
126 #endif
127 #ifdef CONFIG_FS_FAT
128 #undef CONFIG_FS_FAT
129 #endif
130 
131 /* remove USB */
132 #ifdef CONFIG_USB_EHCI
133 #undef CONFIG_USB_EHCI
134 #endif
135 #ifdef CONFIG_USB_EHCI_TEGRA
136 #undef CONFIG_USB_EHCI_TEGRA
137 #endif
138 #ifdef CONFIG_USB_STORAGE
139 #undef CONFIG_USB_STORAGE
140 #endif
141 #ifdef CONFIG_CMD_USB
142 #undef CONFIG_CMD_USB
143 #endif
144 
145 /* remove part command support */
146 #ifdef CONFIG_PARTITION_UUIDS
147 #undef CONFIG_PARTITION_UUIDS
148 #endif
149 
150 #ifdef CONFIG_CMD_PART
151 #undef CONFIG_CMD_PART
152 #endif
153 
154 #endif /* CONFIG_SPL_BUILD */
155 
156 #endif /* __TEGRA_COMMON_POST_H */
157