xref: /openbmc/u-boot/arch/x86/include/asm/post.h (revision d1cd0459)
1*d1cd0459SSimon Glass /*
2*d1cd0459SSimon Glass  * Copyright (c) 2014 Google, Inc
3*d1cd0459SSimon Glass  *
4*d1cd0459SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
5*d1cd0459SSimon Glass  */
6*d1cd0459SSimon Glass 
7*d1cd0459SSimon Glass #ifndef _post_h
8*d1cd0459SSimon Glass #define _post_h
9*d1cd0459SSimon Glass 
10*d1cd0459SSimon Glass /* port to use for post codes */
11*d1cd0459SSimon Glass #define POST_PORT		0x80
12*d1cd0459SSimon Glass 
13*d1cd0459SSimon Glass /* post codes which represent various stages of init */
14*d1cd0459SSimon Glass #define POST_START		0x1e
15*d1cd0459SSimon Glass #define POST_CAR_START		0x1f
16*d1cd0459SSimon Glass 
17*d1cd0459SSimon Glass #define POST_START_STACK	0x29
18*d1cd0459SSimon Glass #define POST_START_DONE		0x2a
19*d1cd0459SSimon Glass 
20*d1cd0459SSimon Glass /* Output a post code using al - value must be 0 to 0xff */
21*d1cd0459SSimon Glass #ifdef __ASSEMBLY__
22*d1cd0459SSimon Glass #define post_code(value) \
23*d1cd0459SSimon Glass 	movb	$value, %al; \
24*d1cd0459SSimon Glass 	outb	%al, $POST_PORT
25*d1cd0459SSimon Glass #else
26*d1cd0459SSimon Glass static inline void post_code(int code)
27*d1cd0459SSimon Glass {
28*d1cd0459SSimon Glass 	outb(code, POST_PORT);
29*d1cd0459SSimon Glass }
30*d1cd0459SSimon Glass #endif
31*d1cd0459SSimon Glass 
32*d1cd0459SSimon Glass #endif
33