mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
arm: xlnx-versal: Connect usb to virt-versal
Connect VersalUsb2 subsystem to xlnx-versal SOC, its placed in iou of lpd domain and configure it as dual port host controller. Add the respective guest dts nodes for "xlnx-versal-virt" machine. Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com> Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1607023357-5096-5-git-send-email-sai.pavan.boddu@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
e29c7db19d
commit
144677d41b
3 changed files with 90 additions and 0 deletions
|
@ -145,6 +145,31 @@ static void versal_create_uarts(Versal *s, qemu_irq *pic)
|
|||
}
|
||||
}
|
||||
|
||||
static void versal_create_usbs(Versal *s, qemu_irq *pic)
|
||||
{
|
||||
DeviceState *dev;
|
||||
MemoryRegion *mr;
|
||||
|
||||
object_initialize_child(OBJECT(s), "usb2", &s->lpd.iou.usb,
|
||||
TYPE_XILINX_VERSAL_USB2);
|
||||
dev = DEVICE(&s->lpd.iou.usb);
|
||||
|
||||
object_property_set_link(OBJECT(dev), "dma", OBJECT(&s->mr_ps),
|
||||
&error_abort);
|
||||
qdev_prop_set_uint32(dev, "intrs", 1);
|
||||
qdev_prop_set_uint32(dev, "slots", 2);
|
||||
|
||||
sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
||||
mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
|
||||
memory_region_add_subregion(&s->mr_ps, MM_USB_0, mr);
|
||||
|
||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[VERSAL_USB0_IRQ_0]);
|
||||
|
||||
mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
|
||||
memory_region_add_subregion(&s->mr_ps, MM_USB2_CTRL_REGS, mr);
|
||||
}
|
||||
|
||||
static void versal_create_gems(Versal *s, qemu_irq *pic)
|
||||
{
|
||||
int i;
|
||||
|
@ -333,6 +358,7 @@ static void versal_realize(DeviceState *dev, Error **errp)
|
|||
versal_create_apu_cpus(s);
|
||||
versal_create_apu_gic(s, pic);
|
||||
versal_create_uarts(s, pic);
|
||||
versal_create_usbs(s, pic);
|
||||
versal_create_gems(s, pic);
|
||||
versal_create_admas(s, pic);
|
||||
versal_create_sds(s, pic);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue