aboutsummaryrefslogtreecommitdiff
path: root/hw/pxa.h
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-12-16 12:13:51 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-12-16 12:13:51 +0000
commit31b87f2eeb928657d8f5f9202d5f62ea55d7dd9c (patch)
tree92099cc96730f5e4d68362e22128c1564b732a34 /hw/pxa.h
parent76ea08f970e558a99b2c5fd05bc4f4da87dfbc93 (diff)
Initial PXA27x keypad support, by Armin Kuster.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3818 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/pxa.h')
-rw-r--r--hw/pxa.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/hw/pxa.h b/hw/pxa.h
index 101cfe0688..16a68d936c 100644
--- a/hw/pxa.h
+++ b/hw/pxa.h
@@ -13,6 +13,7 @@
# define PXA2XX_PIC_SSP3 0
# define PXA2XX_PIC_USBH2 2
# define PXA2XX_PIC_USBH1 3
+# define PXA2XX_PIC_KEYPAD 4
# define PXA2XX_PIC_PWRI2C 6
# define PXA25X_PIC_HWUART 7
# define PXA27X_PIC_OST_4_11 7
@@ -106,6 +107,17 @@ int pxa2xx_pcmcia_attach(void *opaque, struct pcmcia_card_s *card);
int pxa2xx_pcmcia_dettach(void *opaque);
void pxa2xx_pcmcia_set_irq_cb(void *opaque, qemu_irq irq, qemu_irq cd_irq);
+/* pxa2xx_keypad.c */
+struct keymap {
+ int column;
+ int row;
+};
+struct pxa2xx_keypad_s;
+struct pxa2xx_keypad_s *pxa27x_keypad_init(target_phys_addr_t base,
+ qemu_irq irq);
+void pxa27x_register_keypad(struct pxa2xx_keypad_s *kp, struct keymap *map,
+ int size);
+
/* pxa2xx.c */
struct pxa2xx_ssp_s;
void pxa2xx_ssp_attach(struct pxa2xx_ssp_s *port,
@@ -133,6 +145,7 @@ struct pxa2xx_state_s {
struct pxa2xx_pcmcia_s *pcmcia[2];
struct pxa2xx_i2s_s *i2s;
struct pxa2xx_fir_s *fir;
+ struct pxa2xx_keypad_s *kp;
/* Power management */
target_phys_addr_t pm_base;