[OpenBIOS] [PATCH 3/3] SPARC64: fix up PCI-EBus interrupt map and ino for PS/2 keyboard device
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sat Jul 8 21:19:41 CEST 2017
This allows the PS/2 keyboard device to be detected and used under *BSD
for SPARC64.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
drivers/pci.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/pci.c b/drivers/pci.c
index b533898..e803ab2 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -866,12 +866,21 @@ int ebus_config_cb(const pci_config_t *config)
ucell virt;
phys_addr_t io_phys_base = 0;
+ /* Serial */
props[0] = 0x14;
props[1] = 0x3f8;
props[2] = 1;
props[3] = find_dev("/");
props[4] = 0x2b;
- set_property(dev, "interrupt-map", (char *)props, 5 * sizeof(props[0]));
+
+ /* PS2 keyboard */
+ props[5] = 0x14;
+ props[6] = 0x60;
+ props[7] = 1;
+ props[8] = find_dev("/");
+ props[9] = 0x29;
+
+ set_property(dev, "interrupt-map", (char *)props, 10 * sizeof(props[0]));
props[0] = 0x000001ff;
props[1] = 0xffffffff;
@@ -940,7 +949,7 @@ int ebus_config_cb(const pci_config_t *config)
ob_pc_serial_init(config->path, "su", (PCI_BASE_ADDR_1 | 0ULL) << 32, 0x3f8ULL, 0);
#endif
#ifdef CONFIG_DRIVER_PC_KBD
- ob_pc_kbd_init(config->path, "kb_ps2", (PCI_BASE_ADDR_1 | 0ULL) << 32, 0x60ULL, 0);
+ ob_pc_kbd_init(config->path, "kb_ps2", (PCI_BASE_ADDR_1 | 0ULL) << 32, 0x60ULL, 1);
#endif
#endif
return 0;
--
1.7.10.4
More information about the OpenBIOS
mailing list