mirror of https://github.com/xemu-project/xemu.git
Add i.MX7 missing TZ devices and memory regions
* Add TZASC as unimplemented device. - Allow bare metal application to access this (unimplemented) device * Add CSU as unimplemented device. - Allow bare metal application to access this (unimplemented) device * Add various memory segments - OCRAM - OCRAM EPDC - OCRAM PXP - OCRAM S - ROM - CAAM Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: f887a3483996ba06d40bd62ffdfb0ecf68621987.1692964892.git.jcd@tribudubois.net Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
45b8b34dfa
commit
736988a040
|
@ -664,6 +664,69 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp)
|
||||||
create_unimplemented_device("pcie-phy", FSL_IMX7_PCIE_PHY_ADDR,
|
create_unimplemented_device("pcie-phy", FSL_IMX7_PCIE_PHY_ADDR,
|
||||||
FSL_IMX7_PCIE_PHY_SIZE);
|
FSL_IMX7_PCIE_PHY_SIZE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CSU
|
||||||
|
*/
|
||||||
|
create_unimplemented_device("csu", FSL_IMX7_CSU_ADDR,
|
||||||
|
FSL_IMX7_CSU_SIZE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TZASC
|
||||||
|
*/
|
||||||
|
create_unimplemented_device("tzasc", FSL_IMX7_TZASC_ADDR,
|
||||||
|
FSL_IMX7_TZASC_SIZE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OCRAM memory
|
||||||
|
*/
|
||||||
|
memory_region_init_ram(&s->ocram, NULL, "imx7.ocram",
|
||||||
|
FSL_IMX7_OCRAM_MEM_SIZE,
|
||||||
|
&error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_OCRAM_MEM_ADDR,
|
||||||
|
&s->ocram);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OCRAM EPDC memory
|
||||||
|
*/
|
||||||
|
memory_region_init_ram(&s->ocram_epdc, NULL, "imx7.ocram_epdc",
|
||||||
|
FSL_IMX7_OCRAM_EPDC_SIZE,
|
||||||
|
&error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_OCRAM_EPDC_ADDR,
|
||||||
|
&s->ocram_epdc);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OCRAM PXP memory
|
||||||
|
*/
|
||||||
|
memory_region_init_ram(&s->ocram_pxp, NULL, "imx7.ocram_pxp",
|
||||||
|
FSL_IMX7_OCRAM_PXP_SIZE,
|
||||||
|
&error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_OCRAM_PXP_ADDR,
|
||||||
|
&s->ocram_pxp);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OCRAM_S memory
|
||||||
|
*/
|
||||||
|
memory_region_init_ram(&s->ocram_s, NULL, "imx7.ocram_s",
|
||||||
|
FSL_IMX7_OCRAM_S_SIZE,
|
||||||
|
&error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_OCRAM_S_ADDR,
|
||||||
|
&s->ocram_s);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ROM memory
|
||||||
|
*/
|
||||||
|
memory_region_init_rom(&s->rom, OBJECT(dev), "imx7.rom",
|
||||||
|
FSL_IMX7_ROM_SIZE, &error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_ROM_ADDR,
|
||||||
|
&s->rom);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CAAM memory
|
||||||
|
*/
|
||||||
|
memory_region_init_rom(&s->caam, OBJECT(dev), "imx7.caam",
|
||||||
|
FSL_IMX7_CAAM_MEM_SIZE, &error_abort);
|
||||||
|
memory_region_add_subregion(get_system_memory(), FSL_IMX7_CAAM_MEM_ADDR,
|
||||||
|
&s->caam);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Property fsl_imx7_properties[] = {
|
static Property fsl_imx7_properties[] = {
|
||||||
|
|
|
@ -84,6 +84,13 @@ struct FslIMX7State {
|
||||||
IMX7GPRState gpr;
|
IMX7GPRState gpr;
|
||||||
ChipideaState usb[FSL_IMX7_NUM_USBS];
|
ChipideaState usb[FSL_IMX7_NUM_USBS];
|
||||||
DesignwarePCIEHost pcie;
|
DesignwarePCIEHost pcie;
|
||||||
|
MemoryRegion rom;
|
||||||
|
MemoryRegion caam;
|
||||||
|
MemoryRegion ocram;
|
||||||
|
MemoryRegion ocram_epdc;
|
||||||
|
MemoryRegion ocram_pxp;
|
||||||
|
MemoryRegion ocram_s;
|
||||||
|
|
||||||
uint32_t phy_num[FSL_IMX7_NUM_ETHS];
|
uint32_t phy_num[FSL_IMX7_NUM_ETHS];
|
||||||
bool phy_connected[FSL_IMX7_NUM_ETHS];
|
bool phy_connected[FSL_IMX7_NUM_ETHS];
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue