URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 1358 |
Rev 1359 |
Line 121... |
Line 121... |
/* Break shift? */
|
/* Break shift? */
|
if (scan_table[c].shift) kbd_put (0xaa);
|
if (scan_table[c].shift) kbd_put (0xaa);
|
}
|
}
|
|
|
/* Write a register */
|
/* Write a register */
|
void kbd_write8 (oraddr_t addr, uint32_t value)
|
void kbd_write8 (oraddr_t addr, uint32_t value, void *dat)
|
{
|
{
|
int a = (addr - config.kbd.baseaddr);
|
int a = (addr - config.kbd.baseaddr);
|
switch (a) {
|
switch (a) {
|
case KBD_CTRL:
|
case KBD_CTRL:
|
kbd_ccmd = value & 0xff;
|
kbd_ccmd = value & 0xff;
|
Line 163... |
Line 163... |
break;
|
break;
|
}
|
}
|
}
|
}
|
|
|
/* Read a register */
|
/* Read a register */
|
uint32_t kbd_read8 (oraddr_t addr)
|
uint32_t kbd_read8 (oraddr_t addr, void *dat)
|
{
|
{
|
int a = (addr - config.kbd.baseaddr);
|
int a = (addr - config.kbd.baseaddr);
|
switch (a) {
|
switch (a) {
|
case KBD_CTRL: {
|
case KBD_CTRL: {
|
unsigned long c = 0x0;
|
unsigned long c = 0x0;
|
Line 259... |
Line 259... |
kbd_buf_count = 0;
|
kbd_buf_count = 0;
|
kbd_buf_head = 0;
|
kbd_buf_head = 0;
|
kbd_buf_tail = 0;
|
kbd_buf_tail = 0;
|
kbd_kresp = 0x0;
|
kbd_kresp = 0x0;
|
kbd_ccmdbyte = 0x65; /* We reset into default normal operation. */
|
kbd_ccmdbyte = 0x65; /* We reset into default normal operation. */
|
register_memoryarea(config.kbd.baseaddr, KBD_SPACE, 1, 0, kbd_read8, kbd_write8);
|
register_memoryarea(config.kbd.baseaddr, KBD_SPACE, 1, 0, kbd_read8, kbd_write8, NULL);
|
|
|
if (!(kbd_rxfs = fopen(config.kbd.rxfile, "r"))
|
if (!(kbd_rxfs = fopen(config.kbd.rxfile, "r"))
|
&& !(kbd_rxfs = fopen(config.kbd.rxfile, "r+"))) {
|
&& !(kbd_rxfs = fopen(config.kbd.rxfile, "r+"))) {
|
fprintf (stderr, "WARNING: Keyboard has problems with RX file stream.\n");
|
fprintf (stderr, "WARNING: Keyboard has problems with RX file stream.\n");
|
config.kbd.enabled = 0;
|
config.kbd.enabled = 0;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.