[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH 2/2] arm: allwinner-a10: Add OHCI/EHCI
From: |
Icenowy Zheng |
Subject: |
[Qemu-arm] [PATCH 2/2] arm: allwinner-a10: Add OHCI/EHCI |
Date: |
Sun, 29 Jan 2017 09:00:13 +0800 |
Add the Allwinner OHCI/EHCI controller modules to the SoC.
Signed-off-by: Icenowy Zheng <address@hidden>
---
hw/arm/allwinner-a10.c | 6 ++++++
include/hw/arm/allwinner-a10.h | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c
index ca15d1c8cc..e3417ca2cf 100644
--- a/hw/arm/allwinner-a10.c
+++ b/hw/arm/allwinner-a10.c
@@ -46,6 +46,12 @@ static void aw_a10_init(Object *obj)
object_initialize(&s->sata, sizeof(s->sata), TYPE_ALLWINNER_AHCI);
qdev_set_parent_bus(DEVICE(&s->sata), sysbus_get_default());
+
+ sysbus_create_simple(TYPE_ALLWINNER_EHCI, AW_A10_EHCI0_BASE, s->irq[39]);
+ sysbus_create_simple(TYPE_ALLWINNER_EHCI, AW_A10_EHCI1_BASE, s->irq[40]);
+
+ sysbus_create_simple("sysbus-ohci", AW_A10_OHCI0_BASE, s->irq[64]);
+ sysbus_create_simple("sysbus-ohci", AW_A10_OHCI1_BASE, s->irq[65]);
}
static void aw_a10_realize(DeviceState *dev, Error **errp)
diff --git a/include/hw/arm/allwinner-a10.h b/include/hw/arm/allwinner-a10.h
index 6b32a99e21..1ea5f18b51 100644
--- a/include/hw/arm/allwinner-a10.h
+++ b/include/hw/arm/allwinner-a10.h
@@ -9,6 +9,7 @@
#include "hw/net/allwinner_emac.h"
#include "hw/ide/pci.h"
#include "hw/ide/ahci.h"
+#include "hw/usb/hcd-ehci.h"
#include "sysemu/sysemu.h"
#include "exec/address-spaces.h"
@@ -19,6 +20,10 @@
#define AW_A10_UART0_REG_BASE 0x01c28000
#define AW_A10_EMAC_BASE 0x01c0b000
#define AW_A10_SATA_BASE 0x01c18000
+#define AW_A10_EHCI0_BASE 0x01c14000
+#define AW_A10_EHCI1_BASE 0x01c1c000
+#define AW_A10_OHCI0_BASE 0x01c14400
+#define AW_A10_OHCI1_BASE 0x01c1c400
#define AW_A10_SDRAM_BASE 0x40000000
--
2.11.0