]> git.proxmox.com Git - mirror_edk2.git/blame - BeagleBoardPkg/Library/GdbSerialLib/GdbSerialLib.c
Omap35xxPkg: enable -DDISABLE_NEW_DEPRECATED_INTERFACES
[mirror_edk2.git] / BeagleBoardPkg / Library / GdbSerialLib / GdbSerialLib.c
CommitLineData
1e57a462 1/** @file\r
2 Basic serial IO abstaction for GDB\r
3\r
4 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
3402aac7 5\r
1e57a462 6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16#include <Uefi.h>\r
17#include <Library/GdbSerialLib.h>\r
18#include <Library/PcdLib.h>\r
19#include <Library/IoLib.h>\r
20#include <Library/DebugLib.h>\r
21#include <Library/OmapLib.h>\r
22#include <Omap3530/Omap3530.h>\r
23\r
24RETURN_STATUS\r
25EFIAPI\r
26GdbSerialLibConstructor (\r
27 IN EFI_HANDLE ImageHandle,\r
28 IN EFI_SYSTEM_TABLE *SystemTable\r
29 )\r
30{\r
31 return RETURN_SUCCESS;\r
32}\r
33\r
34RETURN_STATUS\r
35EFIAPI\r
36GdbSerialInit (\r
3402aac7
RC
37 IN UINT64 BaudRate,\r
38 IN UINT8 Parity,\r
39 IN UINT8 DataBits,\r
40 IN UINT8 StopBits\r
1e57a462 41 )\r
42{\r
43 return RETURN_SUCCESS;\r
44}\r
45\r
46BOOLEAN\r
47EFIAPI\r
48GdbIsCharAvailable (\r
49 VOID\r
3402aac7 50 )\r
1e57a462 51{\r
52 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
53\r
54 if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {\r
55 return TRUE;\r
56 } else {\r
57 return FALSE;\r
58 }\r
59}\r
60\r
61CHAR8\r
62EFIAPI\r
63GdbGetChar (\r
64 VOID\r
65 )\r
66{\r
67 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
68 UINT32 RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;\r
69 CHAR8 Char;\r
3402aac7 70\r
1e57a462 71 while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);\r
72 Char = MmioRead8(RBR);\r
73\r
74 return Char;\r
75}\r
76\r
77VOID\r
78EFIAPI\r
79GdbPutChar (\r
80 IN CHAR8 Char\r
81 )\r
82{\r
83 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
84 UINT32 THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;\r
3402aac7 85\r
1e57a462 86 while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);\r
87 MmioWrite8(THR, Char);\r
88}\r
89\r
90VOID\r
91GdbPutString (\r
92 IN CHAR8 *String\r
93 )\r
94{\r
95 while (*String != '\0') {\r
96 GdbPutChar (*String);\r
97 String++;\r
98 }\r
99}\r
100\r
101\r
102\r
103\r