diff options
Diffstat (limited to 'hw/microblaze')
-rw-r--r-- | hw/microblaze/petalogix_ml605_mmu.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index 75ff2acbdc..334046808f 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -79,7 +79,7 @@ petalogix_ml605_init(QEMUMachineInitArgs *args) const char *cpu_model = args->cpu_model; MemoryRegion *address_space_mem = get_system_memory(); DeviceState *dev, *dma, *eth0; - Object *peer; + Object *ds, *cs; MicroBlazeCPU *cpu; SysBusDevice *busdev; CPUMBState *env; @@ -140,15 +140,20 @@ petalogix_ml605_init(QEMUMachineInitArgs *args) object_property_add_child(qdev_get_machine(), "xilinx-dma", OBJECT(dma), NULL); - peer = object_property_get_link(OBJECT(dma), - "axistream-connected-target", NULL); - xilinx_axiethernet_init(eth0, &nd_table[0], STREAM_SLAVE(peer), - 0x82780000, irq[3], 0x1000, 0x1000); - - peer = object_property_get_link(OBJECT(eth0), - "axistream-connected-target", NULL); - xilinx_axidma_init(dma, STREAM_SLAVE(peer), 0x84600000, irq[1], irq[0], - 100 * 1000000); + ds = object_property_get_link(OBJECT(dma), + "axistream-connected-target", NULL); + cs = object_property_get_link(OBJECT(dma), + "axistream-control-connected-target", NULL); + xilinx_axiethernet_init(eth0, &nd_table[0], STREAM_SLAVE(ds), + STREAM_SLAVE(cs), 0x82780000, irq[3], 0x1000, + 0x1000); + + ds = object_property_get_link(OBJECT(eth0), + "axistream-connected-target", NULL); + cs = object_property_get_link(OBJECT(eth0), + "axistream-control-connected-target", NULL); + xilinx_axidma_init(dma, STREAM_SLAVE(ds), STREAM_SLAVE(cs), 0x84600000, + irq[1], irq[0], 100 * 1000000); { SSIBus *spi; |