Merge commit 'gnu/master' into test
[qemu] / hw / beagle.c
index 3e91935..d422114 100644 (file)
 struct beagle_s {
     struct omap_mpu_state_s *cpu;
     
-    struct nand_flash_s *nand;
+    NANDFlashState *nand;
     struct omap3_lcd_panel_s *lcd_panel;
     i2c_bus *i2c;
-    struct twl4030_s *twl4030;
+    void *twl4030;
 };
 
-static void beagle_init(ram_addr_t ram_size, int vga_ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void beagle_init(ram_addr_t ram_size,
+                        const char *boot_device,
+                        const char *kernel_filename,
+                        const char *kernel_cmdline,
+                        const char *initrd_filename,
+                        const char *cpu_model)
 {
     struct beagle_s *s = (struct beagle_s *) qemu_mallocz(sizeof(*s));
     int sdindex = drive_get_index(IF_SD, 0, 0);
@@ -67,10 +69,10 @@ static void beagle_init(ram_addr_t ram_size, int vga_ram_size,
 
     s->i2c = omap_i2c_bus(s->cpu->i2c[0]);
     s->twl4030 = twl4030_init(s->i2c, s->cpu->irq[0][OMAP_INT_3XXX_SYS_NIRQ]);
-    opaque = smc91c111_init(&nd_table[0], 0x08000000,
-                    omap2_gpio_in_get(s->cpu->gpif, 54)[0], 0);
+    opaque = smc91c111_init_lite(&nd_table[0], /*0x08000000,*/
+                    omap2_gpio_in_get(s->cpu->gpif, 54)[0]);
     omap_gpmc_attach(s->cpu->gpmc, BEAGLE_SMC_CS, smc91c111_iomemtype(opaque),
-                     0, 0, opaque, 0);
+                     NULL, NULL, opaque, 0);
 
        s->lcd_panel = omap3_lcd_panel_init();
        omap3_lcd_panel_attach(s->cpu->dss, 0, s->lcd_panel);
@@ -82,6 +84,11 @@ QEMUMachine beagle_machine = {
     .name =        "beagle",
     .desc =        "Beagle board (OMAP3530)",
     .init =        beagle_init,
-/*    .ram_require = OMAP3XXX_SRAM_SIZE + OMAP3XXX_BOOTROM_SIZE, */
 };
 
+static void beagle_machine_init(void)
+{
+    qemu_register_machine(&beagle_machine);
+}
+
+machine_init(beagle_machine_init);