Message ID | 20220318092211.723938-1-joel@jms.id.au |
---|---|
State | New |
Headers | show |
Series | aspeed: Add eMMC Boot Controller stub | expand |
On 3/18/22 10:22, Joel Stanley wrote: > Guest code (u-boot) pokes at this on boot. No functionality is required > for guest code to work correctly, but it helps to document the region > being read from. > > Signed-off-by: Joel Stanley <joel@jms.id.au> > --- > include/hw/arm/aspeed_soc.h | 1 + > hw/arm/aspeed_ast2600.c | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h > index cf484eae0e60..b9cd51119608 100644 > --- a/include/hw/arm/aspeed_soc.h > +++ b/include/hw/arm/aspeed_soc.h > @@ -119,6 +119,7 @@ enum { > ASPEED_DEV_SCU, > ASPEED_DEV_ADC, > ASPEED_DEV_SBC, > + ASPEED_DEV_EMMC_BC, > ASPEED_DEV_VIDEO, > ASPEED_DEV_SRAM, > ASPEED_DEV_SDHCI, > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index 25ae916e31ae..11cb6cf86bd2 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -48,6 +48,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = { > [ASPEED_DEV_ADC] = 0x1E6E9000, > [ASPEED_DEV_DP] = 0x1E6EB000, > [ASPEED_DEV_SBC] = 0x1E6F2000, > + [ASPEED_DEV_EMMC_BC] = 0x1E6f5000, > [ASPEED_DEV_VIDEO] = 0x1E700000, > [ASPEED_DEV_SDHCI] = 0x1E740000, > [ASPEED_DEV_EMMC] = 0x1E750000, > @@ -267,6 +268,11 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > create_unimplemented_device("aspeed.video", sc->memmap[ASPEED_DEV_VIDEO], > 0x1000); > > + /* eMMC Boot Controller stub */ > + create_unimplemented_device("aspeed.emmc-boot-controller", > + sc->memmap[ASPEED_DEV_EMMC_BC], > + 0x1000); We should add more of these for the controllers that QEMU doesn't model. The "aspeed_soc.io" region is really too large to be useful. Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > + > /* CPU */ > for (i = 0; i < sc->num_cpus; i++) { > if (sc->num_cpus > 1) {
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index cf484eae0e60..b9cd51119608 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -119,6 +119,7 @@ enum { ASPEED_DEV_SCU, ASPEED_DEV_ADC, ASPEED_DEV_SBC, + ASPEED_DEV_EMMC_BC, ASPEED_DEV_VIDEO, ASPEED_DEV_SRAM, ASPEED_DEV_SDHCI, diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index 25ae916e31ae..11cb6cf86bd2 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -48,6 +48,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = { [ASPEED_DEV_ADC] = 0x1E6E9000, [ASPEED_DEV_DP] = 0x1E6EB000, [ASPEED_DEV_SBC] = 0x1E6F2000, + [ASPEED_DEV_EMMC_BC] = 0x1E6f5000, [ASPEED_DEV_VIDEO] = 0x1E700000, [ASPEED_DEV_SDHCI] = 0x1E740000, [ASPEED_DEV_EMMC] = 0x1E750000, @@ -267,6 +268,11 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) create_unimplemented_device("aspeed.video", sc->memmap[ASPEED_DEV_VIDEO], 0x1000); + /* eMMC Boot Controller stub */ + create_unimplemented_device("aspeed.emmc-boot-controller", + sc->memmap[ASPEED_DEV_EMMC_BC], + 0x1000); + /* CPU */ for (i = 0; i < sc->num_cpus; i++) { if (sc->num_cpus > 1) {
Guest code (u-boot) pokes at this on boot. No functionality is required for guest code to work correctly, but it helps to document the region being read from. Signed-off-by: Joel Stanley <joel@jms.id.au> --- include/hw/arm/aspeed_soc.h | 1 + hw/arm/aspeed_ast2600.c | 6 ++++++ 2 files changed, 7 insertions(+)