mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
ast2400: add a memory controller device model
The uboot in the previous release of the SDK was using a hardcoded value for memory size. This is not true anymore, the value is now retrieved from the memory controller. Below is a model for this device, only supporting unlock and configuration. Without it, we endup running a guest with 64MB, which is a bit low nowdays. It uses a 'silicon-rev' property and ram_size to build a default value. Some bits should be linked to SCU strapping registers but it seems a bit complex to add for the current need. The model is ready for the AST2500 SOC. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
2926375cff
commit
c2da8a8b90
5 changed files with 312 additions and 1 deletions
31
include/hw/misc/aspeed_sdmc.h
Normal file
31
include/hw/misc/aspeed_sdmc.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* ASPEED SDRAM Memory Controller
|
||||
*
|
||||
* Copyright (C) 2016 IBM Corp.
|
||||
*
|
||||
* This code is licensed under the GPL version 2 or later. See the
|
||||
* COPYING file in the top-level directory.
|
||||
*/
|
||||
#ifndef ASPEED_SDMC_H
|
||||
#define ASPEED_SDMC_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
#define TYPE_ASPEED_SDMC "aspeed.sdmc"
|
||||
#define ASPEED_SDMC(obj) OBJECT_CHECK(AspeedSDMCState, (obj), TYPE_ASPEED_SDMC)
|
||||
|
||||
#define ASPEED_SDMC_NR_REGS (0x8 >> 2)
|
||||
|
||||
typedef struct AspeedSDMCState {
|
||||
/*< private >*/
|
||||
SysBusDevice parent_obj;
|
||||
|
||||
/*< public >*/
|
||||
MemoryRegion iomem;
|
||||
|
||||
uint32_t regs[ASPEED_SDMC_NR_REGS];
|
||||
uint32_t silicon_rev;
|
||||
|
||||
} AspeedSDMCState;
|
||||
|
||||
#endif /* ASPEED_SDMC_H */
|
Loading…
Add table
Add a link
Reference in a new issue