xref: /haiku/headers/private/kernel/arch/arm/arch_uart_8250_omap.h (revision 4c8e85b316c35a9161f5a1c50ad70bc91c83a76f)
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_OMAP_H
10 #define _KERNEL_ARCH_DEBUG_UART_8250_OMAP_H
11 
12 
13 #include <sys/types.h>
14 
15 #include <SupportDefs.h>
16 #include <arch/generic/debug_uart_8250.h>
17 #include <arch/generic/debug_uart.h>
18 
19 
20 #define UART_KIND_8250_OMAP "8250-omap"
21 
22 
23 class ArchUART8250Omap : public DebugUART8250 {
24 public:
25 							ArchUART8250Omap(addr_t base, int64 clock);
26 							~ArchUART8250Omap();
27 	void					InitEarly();
28 
29 	// ARM MMIO: on ARM the UART regs are aligned on 32bit
30 	virtual void			Out8(int reg, uint8 value);
31 	virtual uint8			In8(int reg);
32 };
33 
34 
35 DebugUART8250* arch_get_uart_8250_omap(addr_t base, int64 clock);
36 
37 
38 #endif /* _KERNEL_ARCH_DEBUG_UART_8250_OMAP_H */
39