xref: /qemu/include/hw/misc/aspeed_sdmc.h (revision c2da8a8b90faf0b77417e08fa942af1ff0f7cdc3)
1*c2da8a8bSCédric Le Goater /*
2*c2da8a8bSCédric Le Goater  * ASPEED SDRAM Memory Controller
3*c2da8a8bSCédric Le Goater  *
4*c2da8a8bSCédric Le Goater  * Copyright (C) 2016 IBM Corp.
5*c2da8a8bSCédric Le Goater  *
6*c2da8a8bSCédric Le Goater  * This code is licensed under the GPL version 2 or later. See the
7*c2da8a8bSCédric Le Goater  * COPYING file in the top-level directory.
8*c2da8a8bSCédric Le Goater  */
9*c2da8a8bSCédric Le Goater #ifndef ASPEED_SDMC_H
10*c2da8a8bSCédric Le Goater #define ASPEED_SDMC_H
11*c2da8a8bSCédric Le Goater 
12*c2da8a8bSCédric Le Goater #include "hw/sysbus.h"
13*c2da8a8bSCédric Le Goater 
14*c2da8a8bSCédric Le Goater #define TYPE_ASPEED_SDMC "aspeed.sdmc"
15*c2da8a8bSCédric Le Goater #define ASPEED_SDMC(obj) OBJECT_CHECK(AspeedSDMCState, (obj), TYPE_ASPEED_SDMC)
16*c2da8a8bSCédric Le Goater 
17*c2da8a8bSCédric Le Goater #define ASPEED_SDMC_NR_REGS (0x8 >> 2)
18*c2da8a8bSCédric Le Goater 
19*c2da8a8bSCédric Le Goater typedef struct AspeedSDMCState {
20*c2da8a8bSCédric Le Goater     /*< private >*/
21*c2da8a8bSCédric Le Goater     SysBusDevice parent_obj;
22*c2da8a8bSCédric Le Goater 
23*c2da8a8bSCédric Le Goater     /*< public >*/
24*c2da8a8bSCédric Le Goater     MemoryRegion iomem;
25*c2da8a8bSCédric Le Goater 
26*c2da8a8bSCédric Le Goater     uint32_t regs[ASPEED_SDMC_NR_REGS];
27*c2da8a8bSCédric Le Goater     uint32_t silicon_rev;
28*c2da8a8bSCédric Le Goater 
29*c2da8a8bSCédric Le Goater } AspeedSDMCState;
30*c2da8a8bSCédric Le Goater 
31*c2da8a8bSCédric Le Goater #endif /* ASPEED_SDMC_H */
32