Revision d91a68a7
b/hw/microblaze/petalogix_ml605_mmu.c | ||
---|---|---|
156 | 156 |
"axistream-connected-target", NULL); |
157 | 157 |
cs = object_property_get_link(OBJECT(dma), |
158 | 158 |
"axistream-control-connected-target", NULL); |
159 |
xilinx_axiethernet_init(eth0, &nd_table[0], STREAM_SLAVE(ds), |
|
160 |
STREAM_SLAVE(cs), 0x82780000, irq[3], 0x1000, |
|
161 |
0x1000); |
|
159 |
qdev_set_nic_properties(eth0, &nd_table[0]); |
|
160 |
qdev_prop_set_uint32(eth0, "rxmem", 0x1000); |
|
161 |
qdev_prop_set_uint32(eth0, "txmem", 0x1000); |
|
162 |
object_property_set_link(OBJECT(eth0), OBJECT(ds), |
|
163 |
"axistream-connected", &error_abort); |
|
164 |
object_property_set_link(OBJECT(eth0), OBJECT(cs), |
|
165 |
"axistream-control-connected", &error_abort); |
|
166 |
qdev_init_nofail(eth0); |
|
167 |
sysbus_mmio_map(SYS_BUS_DEVICE(eth0), 0, AXIENET_BASEADDR); |
|
168 |
sysbus_connect_irq(SYS_BUS_DEVICE(eth0), 0, irq[AXIENET_IRQ]); |
|
162 | 169 |
|
163 | 170 |
ds = object_property_get_link(OBJECT(eth0), |
164 | 171 |
"axistream-connected-target", NULL); |
165 | 172 |
cs = object_property_get_link(OBJECT(eth0), |
166 | 173 |
"axistream-control-connected-target", NULL); |
167 |
xilinx_axidma_init(dma, STREAM_SLAVE(ds), STREAM_SLAVE(cs), 0x84600000, |
|
168 |
irq[1], irq[0], 100 * 1000000); |
|
174 |
qdev_prop_set_uint32(dma, "freqhz", 100 * 1000000); |
|
175 |
object_property_set_link(OBJECT(dma), OBJECT(ds), |
|
176 |
"axistream-connected", &error_abort); |
|
177 |
object_property_set_link(OBJECT(dma), OBJECT(cs), |
|
178 |
"axistream-control-connected", &error_abort); |
|
179 |
qdev_init_nofail(dma); |
|
180 |
sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, AXIDMA_BASEADDR); |
|
181 |
sysbus_connect_irq(SYS_BUS_DEVICE(dma), 0, irq[AXIDMA_IRQ0]); |
|
182 |
sysbus_connect_irq(SYS_BUS_DEVICE(dma), 1, irq[AXIDMA_IRQ1]); |
|
169 | 183 |
|
170 | 184 |
{ |
171 | 185 |
SSIBus *spi; |
b/include/hw/xilinx.h | ||
---|---|---|
7 | 7 |
#include "hw/stream.h" |
8 | 8 |
#include "net/net.h" |
9 | 9 |
|
10 |
static inline void |
|
11 |
xilinx_axiethernet_init(DeviceState *dev, NICInfo *nd, StreamSlave *ds, |
|
12 |
StreamSlave *cs, hwaddr base, qemu_irq irq, int txmem, |
|
13 |
int rxmem) |
|
14 |
{ |
|
15 |
qdev_set_nic_properties(dev, nd); |
|
16 |
qdev_prop_set_uint32(dev, "rxmem", rxmem); |
|
17 |
qdev_prop_set_uint32(dev, "txmem", txmem); |
|
18 |
object_property_set_link(OBJECT(dev), OBJECT(ds), |
|
19 |
"axistream-connected", &error_abort); |
|
20 |
object_property_set_link(OBJECT(dev), OBJECT(cs), |
|
21 |
"axistream-control-connected", &error_abort); |
|
22 |
qdev_init_nofail(dev); |
|
23 |
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); |
|
24 |
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq); |
|
25 |
} |
|
26 |
|
|
27 |
static inline void |
|
28 |
xilinx_axidma_init(DeviceState *dev, StreamSlave *ds, StreamSlave *cs, |
|
29 |
hwaddr base, qemu_irq irq, qemu_irq irq2, int freqhz) |
|
30 |
{ |
|
31 |
qdev_prop_set_uint32(dev, "freqhz", freqhz); |
|
32 |
object_property_set_link(OBJECT(dev), OBJECT(ds), |
|
33 |
"axistream-connected", &error_abort); |
|
34 |
object_property_set_link(OBJECT(dev), OBJECT(cs), |
|
35 |
"axistream-control-connected", &error_abort); |
|
36 |
qdev_init_nofail(dev); |
|
37 |
|
|
38 |
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); |
|
39 |
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq); |
|
40 |
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 1, irq2); |
|
41 |
} |
|
42 |
|
|
43 | 10 |
#endif |
Also available in: Unified diff