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 virtual void Barrier(); 39 }; 40 41 42 DebugUART8250* arch_get_uart_8250(addr_t base, int64 clock); 43 44 45 #endif /* _KERNEL_ARCH_DEBUG_UART_8250_H */ 46