Skip to content

Commit 199fd62

Browse files
amboarlegoater
authored andcommitted
hw/arm: Integrate ADC model into Aspeed SoC
Signed-off-by: Andrew Jeffery <[email protected]> Signed-off-by: Cédric Le Goater <[email protected]> Signed-off-by: Peter Delevoryas <[email protected]> Message-Id: <[email protected]> Signed-off-by: Cédric Le Goater <[email protected]>
1 parent 5857974 commit 199fd62

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

hw/arm/aspeed_ast2600.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ static void aspeed_soc_ast2600_init(Object *obj)
148148
snprintf(typename, sizeof(typename), "aspeed.timer-%s", socname);
149149
object_initialize_child(obj, "timerctrl", &s->timerctrl, typename);
150150

151+
snprintf(typename, sizeof(typename), "aspeed.adc-%s", socname);
152+
object_initialize_child(obj, "adc", &s->adc, typename);
153+
151154
snprintf(typename, sizeof(typename), "aspeed.i2c-%s", socname);
152155
object_initialize_child(obj, "i2c", &s->i2c, typename);
153156

@@ -322,6 +325,14 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
322325
sysbus_connect_irq(SYS_BUS_DEVICE(&s->timerctrl), i, irq);
323326
}
324327

328+
/* ADC */
329+
if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc), errp)) {
330+
return;
331+
}
332+
sysbus_mmio_map(SYS_BUS_DEVICE(&s->adc), 0, sc->memmap[ASPEED_DEV_ADC]);
333+
sysbus_connect_irq(SYS_BUS_DEVICE(&s->adc), 0,
334+
aspeed_soc_get_irq(s, ASPEED_DEV_ADC));
335+
325336
/* UART - attach an 8250 to the IO space as our UART */
326337
serial_mm_init(get_system_memory(), sc->memmap[s->uart_default], 2,
327338
aspeed_soc_get_irq(s, s->uart_default), 38400,

hw/arm/aspeed_soc.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ static void aspeed_soc_init(Object *obj)
162162
snprintf(typename, sizeof(typename), "aspeed.timer-%s", socname);
163163
object_initialize_child(obj, "timerctrl", &s->timerctrl, typename);
164164

165+
snprintf(typename, sizeof(typename), "aspeed.adc-%s", socname);
166+
object_initialize_child(obj, "adc", &s->adc, typename);
167+
165168
snprintf(typename, sizeof(typename), "aspeed.i2c-%s", socname);
166169
object_initialize_child(obj, "i2c", &s->i2c, typename);
167170

@@ -287,6 +290,14 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp)
287290
sysbus_connect_irq(SYS_BUS_DEVICE(&s->timerctrl), i, irq);
288291
}
289292

293+
/* ADC */
294+
if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc), errp)) {
295+
return;
296+
}
297+
sysbus_mmio_map(SYS_BUS_DEVICE(&s->adc), 0, sc->memmap[ASPEED_DEV_ADC]);
298+
sysbus_connect_irq(SYS_BUS_DEVICE(&s->adc), 0,
299+
aspeed_soc_get_irq(s, ASPEED_DEV_ADC));
300+
290301
/* UART - attach an 8250 to the IO space as our UART */
291302
serial_mm_init(get_system_memory(), sc->memmap[s->uart_default], 2,
292303
aspeed_soc_get_irq(s, s->uart_default), 38400,

include/hw/arm/aspeed_soc.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "hw/cpu/a15mpcore.h"
1616
#include "hw/intc/aspeed_vic.h"
1717
#include "hw/misc/aspeed_scu.h"
18+
#include "hw/adc/aspeed_adc.h"
1819
#include "hw/misc/aspeed_sdmc.h"
1920
#include "hw/misc/aspeed_xdma.h"
2021
#include "hw/timer/aspeed_timer.h"
@@ -53,6 +54,7 @@ struct AspeedSoCState {
5354
AspeedSCUState scu;
5455
AspeedHACEState hace;
5556
AspeedXDMAState xdma;
57+
AspeedADCState adc;
5658
AspeedSMCState fmc;
5759
AspeedSMCState spi[ASPEED_SPIS_NUM];
5860
EHCISysBusState ehci[ASPEED_EHCIS_NUM];

0 commit comments

Comments
 (0)