Lines Matching +full:cortex +full:- +full:a8

20 #include "qemu/error-report.h"
22 #include "hw/char/serial-mm.h"
24 #include "hw/arm/allwinner-a10.h"
28 #include "hw/usb/hcd-ohci.h"
30 #include "target/arm/cpu-qom.h"
58 rom_add_blob("allwinner-a10.bootrom", buffer, rom_size, in allwinner_a10_bootrom_setup()
67 object_initialize_child(obj, "cpu", &s->cpu, in aw_a10_init()
68 ARM_CPU_TYPE_NAME("cortex-a8")); in aw_a10_init()
70 object_initialize_child(obj, "intc", &s->intc, TYPE_AW_A10_PIC); in aw_a10_init()
72 object_initialize_child(obj, "timer", &s->timer, TYPE_AW_A10_PIT); in aw_a10_init()
74 object_initialize_child(obj, "ccm", &s->ccm, TYPE_AW_A10_CCM); in aw_a10_init()
76 object_initialize_child(obj, "dramc", &s->dramc, TYPE_AW_A10_DRAMC); in aw_a10_init()
78 object_initialize_child(obj, "emac", &s->emac, TYPE_AW_EMAC); in aw_a10_init()
80 object_initialize_child(obj, "sata", &s->sata, TYPE_ALLWINNER_AHCI); in aw_a10_init()
82 object_initialize_child(obj, "i2c0", &s->i2c0, TYPE_AW_I2C); in aw_a10_init()
84 object_initialize_child(obj, "spi0", &s->spi0, TYPE_AW_A10_SPI); in aw_a10_init()
87 object_initialize_child(obj, "ehci[*]", &s->ehci[i], in aw_a10_init()
89 object_initialize_child(obj, "ohci[*]", &s->ohci[i], TYPE_SYSBUS_OHCI); in aw_a10_init()
92 object_initialize_child(obj, "mmc0", &s->mmc0, TYPE_AW_SDHOST_SUN4I); in aw_a10_init()
94 object_initialize_child(obj, "rtc", &s->rtc, TYPE_AW_RTC_SUN4I); in aw_a10_init()
96 object_initialize_child(obj, "wdt", &s->wdt, TYPE_AW_WDT_SUN4I); in aw_a10_init()
104 if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { in aw_a10_realize()
108 if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), errp)) { in aw_a10_realize()
111 sysbusdev = SYS_BUS_DEVICE(&s->intc); in aw_a10_realize()
114 qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_IRQ)); in aw_a10_realize()
116 qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); in aw_a10_realize()
117 qdev_pass_gpios(DEVICE(&s->intc), dev, NULL); in aw_a10_realize()
119 if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer), errp)) { in aw_a10_realize()
122 sysbusdev = SYS_BUS_DEVICE(&s->timer); in aw_a10_realize()
131 memory_region_init_ram(&s->sram_a, OBJECT(dev), "sram A", 48 * KiB, in aw_a10_realize()
133 memory_region_add_subregion(get_system_memory(), 0x00000000, &s->sram_a); in aw_a10_realize()
134 create_unimplemented_device("a10-sram-ctrl", 0x01c00000, 4 * KiB); in aw_a10_realize()
137 sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &error_fatal); in aw_a10_realize()
138 sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, AW_A10_CCM_BASE); in aw_a10_realize()
141 sysbus_realize(SYS_BUS_DEVICE(&s->dramc), &error_fatal); in aw_a10_realize()
142 sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 0, AW_A10_DRAMC_BASE); in aw_a10_realize()
144 qemu_configure_nic_device(DEVICE(&s->emac), true, NULL); in aw_a10_realize()
145 if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) { in aw_a10_realize()
148 sysbusdev = SYS_BUS_DEVICE(&s->emac); in aw_a10_realize()
152 if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), errp)) { in aw_a10_realize()
155 sysbus_mmio_map(SYS_BUS_DEVICE(&s->sata), 0, AW_A10_SATA_BASE); in aw_a10_realize()
156 sysbus_connect_irq(SYS_BUS_DEVICE(&s->sata), 0, qdev_get_gpio_in(dev, 56)); in aw_a10_realize()
164 g_autofree char *bus = g_strdup_printf("usb-bus.%zu", i); in aw_a10_realize()
166 object_property_set_bool(OBJECT(&s->ehci[i]), "companion-enable", in aw_a10_realize()
168 sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &error_fatal); in aw_a10_realize()
169 sysbus_mmio_map(SYS_BUS_DEVICE(&s->ehci[i]), 0, in aw_a10_realize()
171 sysbus_connect_irq(SYS_BUS_DEVICE(&s->ehci[i]), 0, in aw_a10_realize()
174 object_property_set_str(OBJECT(&s->ohci[i]), "masterbus", bus, in aw_a10_realize()
176 sysbus_realize(SYS_BUS_DEVICE(&s->ohci[i]), &error_fatal); in aw_a10_realize()
177 sysbus_mmio_map(SYS_BUS_DEVICE(&s->ohci[i]), 0, in aw_a10_realize()
179 sysbus_connect_irq(SYS_BUS_DEVICE(&s->ohci[i]), 0, in aw_a10_realize()
184 object_property_set_link(OBJECT(&s->mmc0), "dma-memory", in aw_a10_realize()
186 sysbus_realize(SYS_BUS_DEVICE(&s->mmc0), &error_fatal); in aw_a10_realize()
187 sysbus_mmio_map(SYS_BUS_DEVICE(&s->mmc0), 0, AW_A10_MMC0_BASE); in aw_a10_realize()
188 sysbus_connect_irq(SYS_BUS_DEVICE(&s->mmc0), 0, qdev_get_gpio_in(dev, 32)); in aw_a10_realize()
189 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->mmc0), in aw_a10_realize()
190 "sd-bus"); in aw_a10_realize()
193 sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &error_fatal); in aw_a10_realize()
194 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->rtc), 0, AW_A10_RTC_BASE, 10); in aw_a10_realize()
197 sysbus_realize(SYS_BUS_DEVICE(&s->i2c0), &error_fatal); in aw_a10_realize()
198 sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c0), 0, AW_A10_I2C0_BASE); in aw_a10_realize()
199 sysbus_connect_irq(SYS_BUS_DEVICE(&s->i2c0), 0, qdev_get_gpio_in(dev, 7)); in aw_a10_realize()
202 sysbus_realize(SYS_BUS_DEVICE(&s->spi0), &error_fatal); in aw_a10_realize()
203 sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi0), 0, AW_A10_SPI0_BASE); in aw_a10_realize()
204 sysbus_connect_irq(SYS_BUS_DEVICE(&s->spi0), 0, qdev_get_gpio_in(dev, 10)); in aw_a10_realize()
207 sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &error_fatal); in aw_a10_realize()
208 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->wdt), 0, AW_A10_WDT_BASE, 1); in aw_a10_realize()
215 dc->realize = aw_a10_realize; in aw_a10_class_init()
217 dc->user_creatable = false; in aw_a10_class_init()