mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
hw/riscv: microchip_pfsoc: Connect the IOSCB module
Previously IOSCB_CFG was created as an unimplemented device. With the new IOSCB model, its memory range is already covered by the IOSCB hence remove the previous unimplemented device creation in the SoC codes. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 1603863010-15807-6-git-send-email-bmeng.cn@gmail.com Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
a937b30283
commit
e35d617919
@ -5,6 +5,7 @@ config MICROCHIP_PFSOC
|
||||
bool
|
||||
select CADENCE_SDHCI
|
||||
select MCHP_PFSOC_DMC
|
||||
select MCHP_PFSOC_IOSCB
|
||||
select MCHP_PFSOC_MMUART
|
||||
select MSI_NONBROKEN
|
||||
select SIFIVE_CLINT
|
||||
|
@ -16,6 +16,7 @@
|
||||
* 5) SiFive Platform DMA (Direct Memory Access Controller)
|
||||
* 6) GEM (Gigabit Ethernet MAC Controller)
|
||||
* 7) DMC (DDR Memory Controller)
|
||||
* 8) IOSCB modules
|
||||
*
|
||||
* This board currently generates devicetree dynamically that indicates at least
|
||||
* two harts and up to five harts.
|
||||
@ -118,7 +119,7 @@ static const struct MemmapEntry {
|
||||
[MICROCHIP_PFSOC_GPIO2] = { 0x20122000, 0x1000 },
|
||||
[MICROCHIP_PFSOC_ENVM_CFG] = { 0x20200000, 0x1000 },
|
||||
[MICROCHIP_PFSOC_ENVM_DATA] = { 0x20220000, 0x20000 },
|
||||
[MICROCHIP_PFSOC_IOSCB_CFG] = { 0x37080000, 0x1000 },
|
||||
[MICROCHIP_PFSOC_IOSCB] = { 0x30000000, 0x10000000 },
|
||||
[MICROCHIP_PFSOC_DRAM] = { 0x80000000, 0x0 },
|
||||
};
|
||||
|
||||
@ -162,6 +163,8 @@ static void microchip_pfsoc_soc_instance_init(Object *obj)
|
||||
|
||||
object_initialize_child(obj, "sd-controller", &s->sdhci,
|
||||
TYPE_CADENCE_SDHCI);
|
||||
|
||||
object_initialize_child(obj, "ioscb", &s->ioscb, TYPE_MCHP_PFSOC_IOSCB);
|
||||
}
|
||||
|
||||
static void microchip_pfsoc_soc_realize(DeviceState *dev, Error **errp)
|
||||
@ -373,10 +376,10 @@ static void microchip_pfsoc_soc_realize(DeviceState *dev, Error **errp)
|
||||
memmap[MICROCHIP_PFSOC_ENVM_DATA].base,
|
||||
envm_data);
|
||||
|
||||
/* IOSCBCFG */
|
||||
create_unimplemented_device("microchip.pfsoc.ioscb.cfg",
|
||||
memmap[MICROCHIP_PFSOC_IOSCB_CFG].base,
|
||||
memmap[MICROCHIP_PFSOC_IOSCB_CFG].size);
|
||||
/* IOSCB */
|
||||
sysbus_realize(SYS_BUS_DEVICE(&s->ioscb), errp);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(&s->ioscb), 0,
|
||||
memmap[MICROCHIP_PFSOC_IOSCB].base);
|
||||
}
|
||||
|
||||
static void microchip_pfsoc_soc_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "hw/char/mchp_pfsoc_mmuart.h"
|
||||
#include "hw/dma/sifive_pdma.h"
|
||||
#include "hw/misc/mchp_pfsoc_dmc.h"
|
||||
#include "hw/misc/mchp_pfsoc_ioscb.h"
|
||||
#include "hw/net/cadence_gem.h"
|
||||
#include "hw/sd/cadence_sdhci.h"
|
||||
|
||||
@ -40,6 +41,7 @@ typedef struct MicrochipPFSoCState {
|
||||
DeviceState *plic;
|
||||
MchpPfSoCDdrSgmiiPhyState ddr_sgmii_phy;
|
||||
MchpPfSoCDdrCfgState ddr_cfg;
|
||||
MchpPfSoCIoscbState ioscb;
|
||||
MchpPfSoCMMUartState *serial0;
|
||||
MchpPfSoCMMUartState *serial1;
|
||||
MchpPfSoCMMUartState *serial2;
|
||||
@ -99,7 +101,7 @@ enum {
|
||||
MICROCHIP_PFSOC_GPIO2,
|
||||
MICROCHIP_PFSOC_ENVM_CFG,
|
||||
MICROCHIP_PFSOC_ENVM_DATA,
|
||||
MICROCHIP_PFSOC_IOSCB_CFG,
|
||||
MICROCHIP_PFSOC_IOSCB,
|
||||
MICROCHIP_PFSOC_DRAM,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user