coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
spi.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef CONSOLE_SPI_H
4 #define CONSOLE_SPI_H 1
5 
6 #include <stdint.h>
7 
8 void spiconsole_init(void);
9 void spiconsole_tx_byte(unsigned char c);
10 
11 #define __CONSOLE_SPI_ENABLE__ (CONFIG(EM100PRO_SPI_CONSOLE) && \
12  (ENV_RAMSTAGE || (ENV_SMM && CONFIG(DEBUG_SMI))))
13 
14 #if __CONSOLE_SPI_ENABLE__
15 static inline void __spiconsole_init(void) { spiconsole_init(); }
16 static inline void __spiconsole_tx_byte(u8 data)
17 {
18  spiconsole_tx_byte(data);
19 }
20 #else
21 static inline void __spiconsole_init(void) {}
22 static inline void __spiconsole_tx_byte(u8 data) {}
23 #endif /* __CONSOLE_SPI_ENABLE__ */
24 
25 #define MAX_MSG_LENGTH 128
26 
27 #define EM100_DEDICATED_CMD 0x11
28 #define EM100_UFIFO_CMD 0xC0
29 #define EM100_MSG_SIGNATURE 0x47364440
30 
39 };
40 
49 
50 struct em100_msg {
51  struct em100_msg_header header;
53 } __packed;
54 
55 #endif /* CONSOLE_SPI_H */
em100_message_types
Definition: spi.h:31
@ EM100_MSG_CHECKPOINT_1B
Definition: spi.h:32
@ EM100_MSG_TIMESTAMP
Definition: spi.h:37
@ EM100_MSG_ASCII
Definition: spi.h:36
@ EM100_MSG_CHECKPOINT_4B
Definition: spi.h:34
@ EM100_MSG_CHECKPOINT_2B
Definition: spi.h:33
@ EM100_MSG_LOOKUP
Definition: spi.h:38
@ EM100_MSG_HEX
Definition: spi.h:35
static void __spiconsole_tx_byte(u8 data)
Definition: spi.h:22
struct em100_msg_header __packed
static void __spiconsole_init(void)
Definition: spi.h:21
#define MAX_MSG_LENGTH
Definition: spi.h:25
void spiconsole_tx_byte(unsigned char c)
Definition: spiconsole.c:25
void spiconsole_init(void)
Definition: spiconsole.c:9
unsigned int uint32_t
Definition: stdint.h:14
uint8_t u8
Definition: stdint.h:45
unsigned char uint8_t
Definition: stdint.h:8
uint32_t msg_signature
Definition: spi.h:45
uint8_t msg_length
Definition: spi.h:47
uint8_t msg_type
Definition: spi.h:46
uint8_t reserved
Definition: spi.h:43
uint8_t em100_command
Definition: spi.h:44
uint8_t spi_command
Definition: spi.h:42
Definition: spi.h:50
char data[MAX_MSG_LENGTH]
Definition: spi.h:52
struct em100_msg_header header
Definition: spi.h:51
#define c(value, pmcreg, dst_bits)