From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TRK2j-0000mD-29 for qemu-devel@nongnu.org; Thu, 25 Oct 2012 05:48:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TRK2e-0006Ya-OI for qemu-devel@nongnu.org; Thu, 25 Oct 2012 05:48:00 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:37568) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TRK2e-0006RV-HT for qemu-devel@nongnu.org; Thu, 25 Oct 2012 05:47:56 -0400 Received: by mail-pb0-f45.google.com with SMTP id rp2so1799391pbb.4 for ; Thu, 25 Oct 2012 02:47:56 -0700 (PDT) Sender: Peter Crosthwaite From: Peter Crosthwaite Date: Thu, 25 Oct 2012 19:47:16 +1000 Message-Id: In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH v1 5/8] xilinx_zynq: add USB controllers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: vineshp@xilinx.com, peter.maydell@linaro.org, Peter Crosthwaite , john.williams@xilinx.com, kraxel@redhat.com, edgar.iglesias@gmail.com Add the two usb controllers in Zynq. Signed-off-by: Peter Crosthwaite --- hw/xilinx_zynq.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c index c55dafb..ed6934f 100644 --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -77,6 +77,19 @@ static inline void zynq_init_spi_flashes(uint32_t base_addr, qemu_irq irq) } +static inline void zynq_init_usb(uint32_t base_addr, qemu_irq irq) +{ + DeviceState *dev = qdev_create(NULL, "ehci-sysbus"); + SysBusDevice *busdev; + + qdev_prop_set_uint16(dev, "capabase", 0x100); + qdev_prop_set_uint32(dev, "opregbase", 0x140); + qdev_init_nofail(dev); + busdev = sysbus_from_qdev(dev); + sysbus_mmio_map(busdev, 0, base_addr); + sysbus_connect_irq(busdev, 0, irq); +} + static void zynq_init(QEMUMachineInitArgs *args) { ram_addr_t ram_size = args->ram_size; @@ -150,6 +163,9 @@ static void zynq_init(QEMUMachineInitArgs *args) zynq_init_spi_flashes(0xE0006000, pic[58-IRQ_OFFSET]); zynq_init_spi_flashes(0xE0007000, pic[81-IRQ_OFFSET]); + zynq_init_usb(0xE0002000, pic[53-IRQ_OFFSET]); + zynq_init_usb(0xE0003000, pic[75-IRQ_OFFSET]); + sysbus_create_simple("cadence_uart", 0xE0000000, pic[59-IRQ_OFFSET]); sysbus_create_simple("cadence_uart", 0xE0001000, pic[82-IRQ_OFFSET]); -- 1.7.0.4