]> git.proxmox.com Git - mirror_edk2.git/blame - Omap35xxPkg/Library/GdbSerialLib/GdbSerialLib.c
ARM Packages: Fixed line endings
[mirror_edk2.git] / Omap35xxPkg / 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
5 \r
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 VOID\r
28 )\r
29{\r
30 return RETURN_SUCCESS;\r
31}\r
32\r
33RETURN_STATUS\r
34EFIAPI\r
35GdbSerialInit (\r
36 IN UINT64 BaudRate, \r
37 IN UINT8 Parity, \r
38 IN UINT8 DataBits, \r
39 IN UINT8 StopBits \r
40 )\r
41{\r
42 return RETURN_SUCCESS;\r
43}\r
44\r
45BOOLEAN\r
46EFIAPI\r
47GdbIsCharAvailable (\r
48 VOID\r
49 ) \r
50{\r
51 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
52\r
53 if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {\r
54 return TRUE;\r
55 } else {\r
56 return FALSE;\r
57 }\r
58}\r
59\r
60CHAR8\r
61EFIAPI\r
62GdbGetChar (\r
63 VOID\r
64 )\r
65{\r
66 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
67 UINT32 RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;\r
68 CHAR8 Char;\r
69 \r
70 while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);\r
71 Char = MmioRead8(RBR);\r
72\r
73 return Char;\r
74}\r
75\r
76VOID\r
77EFIAPI\r
78GdbPutChar (\r
79 IN CHAR8 Char\r
80 )\r
81{\r
82 UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;\r
83 UINT32 THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;\r
84 \r
85 while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);\r
86 MmioWrite8(THR, Char);\r
87}\r
88\r
89VOID\r
90GdbPutString (\r
91 IN CHAR8 *String\r
92 )\r
93{\r
94 while (*String != '\0') {\r
95 GdbPutChar (*String);\r
96 String++;\r
97 }\r
98}\r
99\r
100\r
101\r
102\r