]>
Commit | Line | Data |
---|---|---|
43e3346e | 1 | /* |
ff90606f | 2 | * ASPEED SoC family |
43e3346e AJ |
3 | * |
4 | * Andrew Jeffery <andrew@aj.id.au> | |
5 | * | |
6 | * Copyright 2016 IBM Corp. | |
7 | * | |
8 | * This code is licensed under the GPL version 2 or later. See | |
9 | * the COPYING file in the top-level directory. | |
10 | */ | |
11 | ||
ff90606f CLG |
12 | #ifndef ASPEED_SOC_H |
13 | #define ASPEED_SOC_H | |
43e3346e AJ |
14 | |
15 | #include "hw/arm/arm.h" | |
16 | #include "hw/intc/aspeed_vic.h" | |
334973bb | 17 | #include "hw/misc/aspeed_scu.h" |
c2da8a8b | 18 | #include "hw/misc/aspeed_sdmc.h" |
43e3346e | 19 | #include "hw/timer/aspeed_timer.h" |
16020011 | 20 | #include "hw/i2c/aspeed_i2c.h" |
7c1c69bc | 21 | #include "hw/ssi/aspeed_smc.h" |
43e3346e | 22 | |
ff90606f | 23 | typedef struct AspeedSoCState { |
43e3346e AJ |
24 | /*< private >*/ |
25 | DeviceState parent; | |
26 | ||
27 | /*< public >*/ | |
28 | ARMCPU *cpu; | |
29 | MemoryRegion iomem; | |
30 | AspeedVICState vic; | |
31 | AspeedTimerCtrlState timerctrl; | |
16020011 | 32 | AspeedI2CState i2c; |
334973bb | 33 | AspeedSCUState scu; |
7c1c69bc CLG |
34 | AspeedSMCState smc; |
35 | AspeedSMCState spi; | |
c2da8a8b | 36 | AspeedSDMCState sdmc; |
ff90606f | 37 | } AspeedSoCState; |
43e3346e | 38 | |
ff90606f CLG |
39 | #define TYPE_ASPEED_SOC "aspeed-soc" |
40 | #define ASPEED_SOC(obj) OBJECT_CHECK(AspeedSoCState, (obj), TYPE_ASPEED_SOC) | |
43e3346e | 41 | |
b033271f CLG |
42 | typedef struct AspeedSoCInfo { |
43 | const char *name; | |
44 | const char *cpu_model; | |
45 | uint32_t silicon_rev; | |
46 | hwaddr sdram_base; | |
47 | } AspeedSoCInfo; | |
48 | ||
49 | typedef struct AspeedSoCClass { | |
50 | DeviceClass parent_class; | |
51 | AspeedSoCInfo *info; | |
52 | } AspeedSoCClass; | |
53 | ||
54 | #define ASPEED_SOC_CLASS(klass) \ | |
55 | OBJECT_CLASS_CHECK(AspeedSoCClass, (klass), TYPE_ASPEED_SOC) | |
56 | #define ASPEED_SOC_GET_CLASS(obj) \ | |
57 | OBJECT_GET_CLASS(AspeedSoCClass, (obj), TYPE_ASPEED_SOC) | |
43e3346e | 58 | |
ff90606f | 59 | #endif /* ASPEED_SOC_H */ |