aboutsummaryrefslogtreecommitdiff
path: root/hw/omap.h
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-29 01:50:05 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-29 01:50:05 +0000
commitd951f6ff3fff1121e8b20e7655cb88b2601b61e6 (patch)
treeb9c4c909c3615bf530bb01985652ac3222202287 /hw/omap.h
parent1b6fd0bc551969c61f94f13cbcb013269ee3a07c (diff)
downloadqemu-d951f6ff3fff1121e8b20e7655cb88b2601b61e6.zip
qemu-d951f6ff3fff1121e8b20e7655cb88b2601b61e6.tar.gz
qemu-d951f6ff3fff1121e8b20e7655cb88b2601b61e6.tar.bz2
Implement OMAP MicroWire controller.
Fix GPIO interrupt number. Reorder a couple of variables. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3477 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/omap.h')
-rw-r--r--hw/omap.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/hw/omap.h b/hw/omap.h
index caaca9e..e19f8ac 100644
--- a/hw/omap.h
+++ b/hw/omap.h
@@ -464,6 +464,17 @@ struct omap_gpio_s *omap_gpio_init(target_phys_addr_t base,
qemu_irq *omap_gpio_in_get(struct omap_gpio_s *s);
void omap_gpio_out_set(struct omap_gpio_s *s, int line, qemu_irq handler);
+struct uwire_slave_s {
+ uint16_t (*receive)(void *opaque);
+ void (*send)(void *opaque, uint16_t data);
+ void *opaque;
+};
+struct omap_uwire_s;
+struct omap_uwire_s *omap_uwire_init(target_phys_addr_t base,
+ qemu_irq *irq, qemu_irq dma, omap_clk clk);
+void omap_uwire_attach(struct omap_uwire_s *s,
+ struct uwire_slave_s *slave, int chipselect);
+
/* omap_lcdc.c */
struct omap_lcd_panel_s;
void omap_lcdc_reset(struct omap_lcd_panel_s *s);
@@ -510,16 +521,19 @@ struct omap_mpu_state_s {
unsigned long sram_size;
/* MPUI-TIPB peripherals */
- struct omap_uart_s *uart3;
+ struct omap_uart_s *uart[3];
+
+ struct omap_gpio_s *gpio;
/* MPU public TIPB peripherals */
struct omap_32khz_timer_s *os_timer;
- struct omap_uart_s *uart1;
- struct omap_uart_s *uart2;
-
struct omap_mmc_s *mmc;
+ struct omap_mpuio_s *mpuio;
+
+ struct omap_uwire_s *microwire;
+
/* MPU private TIPB peripherals */
struct omap_intr_handler_s *ih[2];
@@ -578,9 +592,6 @@ struct omap_mpu_state_s {
uint16_t dsp_idlect2;
uint16_t dsp_rstct2;
} clkm;
-
- struct omap_mpuio_s *mpuio;
- struct omap_gpio_s *gpio;
} *omap310_mpu_init(unsigned long sdram_size,
DisplayState *ds, const char *core);