xref: /openbmc/u-boot/arch/x86/include/asm/post.h (revision fc9b0b80)
1 /*
2  * Copyright (c) 2014 Google, Inc
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #ifndef _post_h
8 #define _post_h
9 
10 /* port to use for post codes */
11 #define POST_PORT		0x80
12 
13 /* post codes which represent various stages of init */
14 #define POST_START		0x1e
15 #define POST_CAR_START		0x1f
16 #define POST_CAR_SIPI		0x20
17 #define POST_CAR_MTRR		0x21
18 #define POST_CAR_UNCACHEABLE	0x22
19 #define POST_CAR_BASE_ADDRESS	0x23
20 #define POST_CAR_MASK		0x24
21 #define POST_CAR_FILL		0x25
22 #define POST_CAR_ROM_CACHE	0x26
23 #define POST_CAR_MRC_CACHE	0x27
24 #define POST_CAR_CPU_CACHE	0x28
25 #define POST_START_STACK	0x29
26 #define POST_START_DONE		0x2a
27 #define POST_CPU_INIT		0x2b
28 #define POST_EARLY_INIT		0x2c
29 #define POST_CPU_INFO		0x2d
30 #define POST_PRE_MRC		0x2e
31 #define POST_MRC		0x2f
32 #define POST_DRAM		0x2f
33 #define POST_LAPIC		0x30
34 
35 #define POST_RAM_FAILURE	0xea
36 
37 /* Output a post code using al - value must be 0 to 0xff */
38 #ifdef __ASSEMBLY__
39 #define post_code(value) \
40 	movb	$value, %al; \
41 	outb	%al, $POST_PORT
42 #else
43 #include <asm/io.h>
44 
45 static inline void post_code(int code)
46 {
47 	outb(code, POST_PORT);
48 }
49 #endif
50 
51 #endif
52