|
@@ -303,10 +303,8 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
|
|
|
sysbus_connect_irq(SYS_BUS_DEVICE(&s->adc), 0,
|
|
|
aspeed_soc_get_irq(s, ASPEED_DEV_ADC));
|
|
|
|
|
|
- /* UART - attach an 8250 to the IO space as our UART */
|
|
|
- serial_mm_init(get_system_memory(), sc->memmap[s->uart_default], 2,
|
|
|
- aspeed_soc_get_irq(s, s->uart_default), 38400,
|
|
|
- serial_hd(0), DEVICE_LITTLE_ENDIAN);
|
|
|
+ /* UART */
|
|
|
+ aspeed_soc_uart_init(s);
|
|
|
|
|
|
/* I2C */
|
|
|
object_property_set_link(OBJECT(&s->i2c), "dram", OBJECT(s->dram_mr),
|
|
@@ -544,3 +542,13 @@ qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev)
|
|
|
{
|
|
|
return ASPEED_SOC_GET_CLASS(s)->get_irq(s, dev);
|
|
|
}
|
|
|
+
|
|
|
+void aspeed_soc_uart_init(AspeedSoCState *s)
|
|
|
+{
|
|
|
+ AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
|
|
|
+
|
|
|
+ /* Attach an 8250 to the IO space as our UART */
|
|
|
+ serial_mm_init(get_system_memory(), sc->memmap[s->uart_default], 2,
|
|
|
+ aspeed_soc_get_irq(s, s->uart_default), 38400,
|
|
|
+ serial_hd(0), DEVICE_LITTLE_ENDIAN);
|
|
|
+}
|