- Refactor keyboard support to match serial. Now reading a key and waiting for a key are two things.

- Implement KbHit Firmware routine.
- It is now possible to interact with FreeLDR using the keyboard.


svn path=/trunk/; revision=45416
This commit is contained in:
evb
2010-02-04 08:02:30 +00:00
parent 57a1c9dbbf
commit ff14d245dd
3 changed files with 15 additions and 11 deletions
+2 -2
View File
@@ -21,8 +21,8 @@ LlbFwPutChar(INT Ch)
BOOLEAN
LlbFwKbHit(VOID)
{
/* Not yet implemented */
return FALSE;
/* Check RX buffer */
return LlbHwKbdReady();
}
INT
+7 -9
View File
@@ -115,19 +115,17 @@ LlbHwKbdSend(IN ULONG Value)
WRITE_REGISTER_UCHAR(PL050_KMIDATA, Value);
}
BOOLEAN
NTAPI
LlbHwKbdReady(VOID)
{
return READ_REGISTER_UCHAR(PL050_KMISTAT) & KMISTAT_RXFULL;
}
INT
NTAPI
LlbHwKbdRead(VOID)
{
ULONG Status;
/* Wait for ready signal */
do
{
/* Read TX buffer state */
Status = READ_REGISTER_UCHAR(PL050_KMISTAT);
} while (!(Status & KMISTAT_RXFULL));
/* Read current data on keyboard */
return READ_REGISTER_UCHAR(PL050_KMIDATA);
}
+6
View File
@@ -92,6 +92,12 @@ LlbHwKbdSend(
IN ULONG Value
);
BOOLEAN
NTAPI
LlbHwKbdReady(
VOID
);
INT
NTAPI
LlbHwKbdRead(