xref: /haiku/headers/private/kernel/arch/generic/debug_uart_8250.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /*
2  * Copyright 2012-2021 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		François Revol, revol@free.fr
7  *		Alexander von Gluck IV, kallisti5@unixzen.com
8  */
9 #ifndef _KERNEL_ARCH_DEBUG_UART_8250_H
10 #define _KERNEL_ARCH_DEBUG_UART_8250_H
11 
12 
13 #include <sys/types.h>
14 
15 #include <SupportDefs.h>
16 
17 #include "debug_uart.h"
18 
19 
20 #define UART_KIND_8250 "8250"
21 
22 
23 class DebugUART8250 : public DebugUART {
24 public:
25 							DebugUART8250(addr_t base, int64 clock);
26 							~DebugUART8250();
27 
28 			void			InitEarly();
29 			void			Init();
30 			void			InitPort(uint32 baud);
31 
32 			int				PutChar(char c);
33 			int				GetChar(bool wait);
34 
35 			void			FlushTx();
36 			void			FlushRx();
37 };
38 
39 
40 DebugUART8250* arch_get_uart_8250(addr_t base, int64 clock);
41 
42 
43 #endif /* _KERNEL_ARCH_DEBUG_UART_8250_H */
44