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