1 /*
2  * Copyright 2014, General Dynamics C4 Systems
3  *
4  * SPDX-License-Identifier: GPL-2.0-only
5  */
6 
7 #pragma once
8 
9 #include <config.h>
10 #include <linker.h>
11 #include <types.h>
12 
13 /** MODIFIES: phantom_machine_state */
14 void out8(uint16_t port, uint8_t value);
15 /** MODIFIES: phantom_machine_state */
16 void out16(uint16_t port, uint16_t value);
17 /** MODIFIES: phantom_machine_state */
18 void out32(uint16_t port, uint32_t value);
19 /** MODIFIES: */
20 uint8_t in8(uint16_t port);
21 /** MODIFIES: */
22 uint16_t in16(uint16_t port);
23 /** MODIFIES: */
24 uint32_t in32(uint16_t port);
25 
26 #if defined(CONFIG_DEBUG_BUILD) || defined(CONFIG_PRINTING)
27 void serial_init(uint16_t port);
28 #endif
29 
30