xilinx: Inline usages of xilinx_timer_create()
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Wed, 26 Feb 2014 00:40:39 +0000 (16:40 -0800)
committerEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Wed, 26 Feb 2014 04:54:45 +0000 (14:54 +1000)
Inline these usages. Converts these init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
hw/microblaze/petalogix_ml605_mmu.c
hw/microblaze/petalogix_s3adsp1800_mmu.c
hw/ppc/virtex_ml507.c
include/hw/xilinx.h

index 0dee46c12ca2702496b7284e5448a9382177df3c..39f91dd9bc4cbab32044ca186af48e5e8fcae95c 100644 (file)
@@ -134,7 +134,12 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
                    DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 100 Mhz.  */
-    xilinx_timer_create(TIMER_BASEADDR, irq[2], 0, 100 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 100 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
     /* axi ethernet and dma initialization. */
     qemu_check_nic_model(&nd_table[0], "xlnx.axi-ethernet");
index cb8e334984edaa4d62102fba0b16182209753912..a85dbb72a0f28f70f13fe8f4602e8205f747abb8 100644 (file)
@@ -110,8 +110,15 @@ petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 
     sysbus_create_simple("xlnx.xps-uartlite", UARTLITE_BASEADDR,
                          irq[UARTLITE_IRQ]);
+
     /* 2 timers at irq 2 @ 62 Mhz.  */
-    xilinx_timer_create(TIMER_BASEADDR, irq[0], 0, 62 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
+
     xilinx_ethlite_create(&nd_table[0], ETHLITE_BASEADDR, irq[1], 0, 0);
 
     microblaze_load_kernel(cpu, ddr_base, ram_size,
index 1e2f532a7d1b6c23579b8dfbbd880fba1be82447..4dffb961c148377392a8a2d00a6b3a8cb4f63962 100644 (file)
@@ -231,7 +231,12 @@ static void virtex_init(QEMUMachineInitArgs *args)
                    115200, serial_hds[0], DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 62 Mhz.  */
-    xilinx_timer_create(0x83c00000, irq[3], 0, 62 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
     if (kernel_filename) {
         uint64_t entry, low, high;
index 02400cd854845e1894d1a62953977be9c3033e41..a454cee6479d54dba9c845371c80ce5f1505677b 100644 (file)
@@ -7,21 +7,6 @@
 #include "hw/stream.h"
 #include "net/net.h"
 
-/* OPB Timer/Counter.  */
-static inline DeviceState *
-xilinx_timer_create(hwaddr base, qemu_irq irq, int oto, int freq)
-{
-    DeviceState *dev;
-
-    dev = qdev_create(NULL, "xlnx.xps-timer");
-    qdev_prop_set_uint32(dev, "one-timer-only", oto);
-    qdev_prop_set_uint32(dev, "clock-frequency", freq);
-    qdev_init_nofail(dev);
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-    return dev;
-}
-
 /* XPS Ethernet Lite MAC.  */
 static inline DeviceState *
 xilinx_ethlite_create(NICInfo *nd, hwaddr base, qemu_irq irq,