]> git.ipfire.org Git - people/ms/u-boot.git/blob - post/tests.c
Merge git://git.denx.de/u-boot-mmc
[people/ms/u-boot.git] / post / tests.c
1 /*
2 * (C) Copyright 2002
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8 #include <common.h>
9
10 #include <post.h>
11
12 extern int ocm_post_test (int flags);
13 extern int cache_post_test (int flags);
14 extern int watchdog_post_test (int flags);
15 extern int i2c_post_test (int flags);
16 extern int rtc_post_test (int flags);
17 extern int memory_post_test (int flags);
18 extern int cpu_post_test (int flags);
19 extern int fpu_post_test (int flags);
20 extern int uart_post_test (int flags);
21 extern int ether_post_test (int flags);
22 extern int spi_post_test (int flags);
23 extern int usb_post_test (int flags);
24 extern int spr_post_test (int flags);
25 extern int sysmon_post_test (int flags);
26 extern int dsp_post_test (int flags);
27 extern int codec_post_test (int flags);
28 extern int ecc_post_test (int flags);
29 extern int flash_post_test(int flags);
30
31 extern int dspic_init_post_test (int flags);
32 extern int dspic_post_test (int flags);
33 extern int gdc_post_test (int flags);
34 extern int fpga_post_test (int flags);
35 extern int lwmon5_watchdog_post_test(int flags);
36 extern int sysmon1_post_test(int flags);
37 extern int coprocessor_post_test(int flags);
38 extern int led_post_test(int flags);
39 extern int button_post_test(int flags);
40 extern int memory_regions_post_test(int flags);
41
42 extern int sysmon_init_f (void);
43
44 extern void sysmon_reloc (void);
45
46
47 struct post_test post_list[] =
48 {
49 #if CONFIG_POST & CONFIG_SYS_POST_OCM
50 {
51 "OCM test",
52 "ocm",
53 "This test checks on chip memory (OCM).",
54 POST_ROM | POST_ALWAYS | POST_PREREL | POST_CRITICAL | POST_STOP,
55 &ocm_post_test,
56 NULL,
57 NULL,
58 CONFIG_SYS_POST_OCM
59 },
60 #endif
61 #if CONFIG_POST & CONFIG_SYS_POST_CACHE
62 {
63 "Cache test",
64 "cache",
65 "This test verifies the CPU cache operation.",
66 POST_RAM | POST_ALWAYS,
67 &cache_post_test,
68 NULL,
69 NULL,
70 CONFIG_SYS_POST_CACHE
71 },
72 #endif
73 #if CONFIG_POST & CONFIG_SYS_POST_WATCHDOG
74 #if defined(CONFIG_POST_WATCHDOG)
75 CONFIG_POST_WATCHDOG,
76 #else
77 {
78 "Watchdog timer test",
79 "watchdog",
80 "This test checks the watchdog timer.",
81 POST_RAM | POST_POWERON | POST_SLOWTEST | POST_MANUAL | POST_REBOOT,
82 &watchdog_post_test,
83 NULL,
84 NULL,
85 CONFIG_SYS_POST_WATCHDOG
86 },
87 #endif
88 #endif
89 #if CONFIG_POST & CONFIG_SYS_POST_I2C
90 {
91 "I2C test",
92 "i2c",
93 "This test verifies the I2C operation.",
94 POST_RAM | POST_ALWAYS,
95 &i2c_post_test,
96 NULL,
97 NULL,
98 CONFIG_SYS_POST_I2C
99 },
100 #endif
101 #if CONFIG_POST & CONFIG_SYS_POST_RTC
102 {
103 "RTC test",
104 "rtc",
105 "This test verifies the RTC operation.",
106 POST_RAM | POST_SLOWTEST | POST_MANUAL,
107 &rtc_post_test,
108 NULL,
109 NULL,
110 CONFIG_SYS_POST_RTC
111 },
112 #endif
113 #if CONFIG_POST & CONFIG_SYS_POST_MEMORY
114 {
115 "Memory test",
116 "memory",
117 "This test checks RAM.",
118 POST_ROM | POST_POWERON | POST_SLOWTEST | POST_PREREL,
119 &memory_post_test,
120 NULL,
121 NULL,
122 CONFIG_SYS_POST_MEMORY
123 },
124 #endif
125 #if CONFIG_POST & CONFIG_SYS_POST_CPU
126 {
127 "CPU test",
128 "cpu",
129 "This test verifies the arithmetic logic unit of"
130 " CPU.",
131 POST_RAM | POST_ALWAYS,
132 &cpu_post_test,
133 NULL,
134 NULL,
135 CONFIG_SYS_POST_CPU
136 },
137 #endif
138 #if CONFIG_POST & CONFIG_SYS_POST_FPU
139 {
140 "FPU test",
141 "fpu",
142 "This test verifies the arithmetic logic unit of"
143 " FPU.",
144 POST_RAM | POST_ALWAYS,
145 &fpu_post_test,
146 NULL,
147 NULL,
148 CONFIG_SYS_POST_FPU
149 },
150 #endif
151 #if CONFIG_POST & CONFIG_SYS_POST_UART
152 #if defined(CONFIG_POST_UART)
153 CONFIG_POST_UART,
154 #else
155 {
156 "UART test",
157 "uart",
158 "This test verifies the UART operation.",
159 POST_RAM | POST_SLOWTEST | POST_MANUAL,
160 &uart_post_test,
161 NULL,
162 NULL,
163 CONFIG_SYS_POST_UART
164 },
165 #endif /* CONFIG_POST_UART */
166 #endif
167 #if CONFIG_POST & CONFIG_SYS_POST_ETHER
168 {
169 "ETHERNET test",
170 "ethernet",
171 "This test verifies the ETHERNET operation.",
172 POST_RAM | POST_ALWAYS,
173 &ether_post_test,
174 NULL,
175 NULL,
176 CONFIG_SYS_POST_ETHER
177 },
178 #endif
179 #if CONFIG_POST & CONFIG_SYS_POST_USB
180 {
181 "USB test",
182 "usb",
183 "This test verifies the USB operation.",
184 POST_RAM | POST_ALWAYS,
185 &usb_post_test,
186 NULL,
187 NULL,
188 CONFIG_SYS_POST_USB
189 },
190 #endif
191 #if CONFIG_POST & CONFIG_SYS_POST_SPR
192 {
193 "SPR test",
194 "spr",
195 "This test checks SPR contents.",
196 POST_RAM | POST_ALWAYS,
197 &spr_post_test,
198 NULL,
199 NULL,
200 CONFIG_SYS_POST_SPR
201 },
202 #endif
203 #if CONFIG_POST & CONFIG_SYS_POST_SYSMON
204 {
205 "SYSMON test",
206 "sysmon",
207 "This test monitors system hardware.",
208 POST_RAM | POST_ALWAYS,
209 &sysmon_post_test,
210 &sysmon_init_f,
211 &sysmon_reloc,
212 CONFIG_SYS_POST_SYSMON
213 },
214 #endif
215 #if CONFIG_POST & CONFIG_SYS_POST_DSP
216 {
217 "DSP test",
218 "dsp",
219 "This test checks any connected DSP(s).",
220 POST_RAM | POST_ALWAYS,
221 &dsp_post_test,
222 NULL,
223 NULL,
224 CONFIG_SYS_POST_DSP
225 },
226 #endif
227 #if CONFIG_POST & CONFIG_SYS_POST_CODEC
228 {
229 "CODEC test",
230 "codec",
231 "This test checks any connected codec(s).",
232 POST_RAM | POST_MANUAL,
233 &codec_post_test,
234 NULL,
235 NULL,
236 CONFIG_SYS_POST_CODEC
237 },
238 #endif
239 #if CONFIG_POST & CONFIG_SYS_POST_ECC
240 {
241 "ECC test",
242 "ecc",
243 "This test checks the ECC facility of memory.",
244 POST_ROM | POST_ALWAYS | POST_PREREL,
245 &ecc_post_test,
246 NULL,
247 NULL,
248 CONFIG_SYS_POST_ECC
249 },
250 #endif
251 #if CONFIG_POST & CONFIG_SYS_POST_BSPEC1
252 CONFIG_POST_BSPEC1,
253 #endif
254 #if CONFIG_POST & CONFIG_SYS_POST_BSPEC2
255 CONFIG_POST_BSPEC2,
256 #endif
257 #if CONFIG_POST & CONFIG_SYS_POST_BSPEC3
258 CONFIG_POST_BSPEC3,
259 #endif
260 #if CONFIG_POST & CONFIG_SYS_POST_BSPEC4
261 CONFIG_POST_BSPEC4,
262 #endif
263 #if CONFIG_POST & CONFIG_SYS_POST_BSPEC5
264 CONFIG_POST_BSPEC5,
265 #endif
266 #if CONFIG_POST & CONFIG_SYS_POST_COPROC
267 {
268 "Coprocessors communication test",
269 "coproc_com",
270 "This test checks communication with coprocessors.",
271 POST_RAM | POST_ALWAYS | POST_CRITICAL,
272 &coprocessor_post_test,
273 NULL,
274 NULL,
275 CONFIG_SYS_POST_COPROC
276 },
277 #endif
278 #if CONFIG_POST & CONFIG_SYS_POST_FLASH
279 {
280 "Parallel NOR flash test",
281 "flash",
282 "This test verifies parallel flash operations.",
283 POST_RAM | POST_SLOWTEST | POST_MANUAL,
284 &flash_post_test,
285 NULL,
286 NULL,
287 CONFIG_SYS_POST_FLASH
288 },
289 #endif
290 #if CONFIG_POST & CONFIG_SYS_POST_MEM_REGIONS
291 {
292 "Memory regions test",
293 "mem_regions",
294 "This test checks regularly placed regions of the RAM.",
295 POST_ROM | POST_SLOWTEST | POST_PREREL,
296 &memory_regions_post_test,
297 NULL,
298 NULL,
299 CONFIG_SYS_POST_MEM_REGIONS
300 },
301 #endif
302 };
303
304 unsigned int post_list_size = ARRAY_SIZE(post_list);