The BCM2711 has a BCM54213 Gigabit Ethernet block mapped in the PCIe range.
Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- FIXME: create the bcm54213-geth in raspi.c? --- hw/arm/bcm2836.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index d89d7cd71d..39190a108f 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -15,6 +15,7 @@ #include "hw/arm/bcm2836.h" #include "hw/arm/raspi_platform.h" #include "hw/sysbus.h" +#include "hw/misc/unimp.h" struct BCM283XInfo { const char *name; @@ -60,6 +61,8 @@ static const BCM283XInfo bcm283x_socs[] = { #define GIC_VIFACE_OTHER_OFS(cpu) (0x5000 + (cpu) * 0x200) #define GIC_VCPU_OFS 0x6000 +#define PCIE_BASE 0x7d500000 + static void bcm2836_init(Object *obj) { BCM283XState *s = BCM283X(obj); @@ -238,6 +241,13 @@ static void bcm2836_realize(DeviceState *dev, Error **errp) qdev_connect_gpio_out(DEVICE(&s->cpus[n]), GTIMER_SEC, qdev_get_gpio_in_named(DEVICE(&s->control), "cntpsirq", n)); } + + /* bcm2838 kludge to easily create PCIe */ + if (info->gic_base) { + create_unimplemented_device("bcm2838-pcie", PCIE_BASE, 0x100000); + create_unimplemented_device("bcm54213-geth", + PCIE_BASE + 0x80000, 0x10000); + } } static Property bcm2836_props[] = { -- 2.20.1