Hi Thomas, On 4/18/19 8:00 PM, Thomas Huth wrote: > This patch is slightly based on earlier work by Ákos Kovács (i.e. > his "hw/arm/Kconfig: Add ARM Kconfig" patch). > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > default-configs/arm-softmmu.mak | 24 ++++------------- > hw/arm/Kconfig | 48 +++++++++++++++++++++++++++++++++ > hw/arm/Makefile.objs | 3 ++- > hw/display/Kconfig | 1 + > hw/i2c/Kconfig | 2 +- > 5 files changed, 57 insertions(+), 21 deletions(-) > > diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak > index 3f82d635e4..df7d9421e0 100644 > --- a/default-configs/arm-softmmu.mak > +++ b/default-configs/arm-softmmu.mak > @@ -3,9 +3,8 @@ > # TODO: ARM_V7M is currently always required - make this more flexible! > CONFIG_ARM_V7M=y > > -CONFIG_PCI=y > -CONFIG_PCI_DEVICES=y > -CONFIG_PCI_TESTDEV=y > +# CONFIG_PCI_DEVICES=n > +# CONFIG_TEST_DEVICES=n > > CONFIG_EXYNOS4=y > CONFIG_HIGHBANK=y > @@ -17,6 +16,9 @@ CONFIG_CHEETAH=y > CONFIG_SX1=y > CONFIG_NSERIES=y > CONFIG_STELLARIS=y > +CONFIG_REALVIEW=y > +CONFIG_VERSATILE=y > +CONFIG_VEXPRESS=y > > CONFIG_VGA=y > CONFIG_NAND=y > @@ -25,8 +27,6 @@ CONFIG_SERIAL=y > CONFIG_MAX7310=y > CONFIG_TMP421=y > CONFIG_PCA9552=y > -CONFIG_DDC=y > -CONFIG_SII9022=y > CONFIG_ADS7846=y > CONFIG_MAX111X=y > CONFIG_SSI_M25P80=y > @@ -38,13 +38,8 @@ CONFIG_MICRODRIVE=y > CONFIG_PLATFORM_BUS=y > CONFIG_VIRTIO_MMIO=y > > -CONFIG_ARM11MPCORE=y > - > CONFIG_NETDUINO2=y > > -CONFIG_PL041=y > -CONFIG_PL080=y > -CONFIG_PL190=y > CONFIG_PL330=y > CONFIG_CADENCE=y > CONFIG_PXA2XX=y > @@ -52,12 +47,10 @@ CONFIG_FRAMEBUFFER=y > CONFIG_XILINX_SPIPS=y > CONFIG_ZYNQ_DEVCFG=y > > -CONFIG_ARM11SCU=y > CONFIG_DIGIC=y > CONFIG_MAINSTONE=y > CONFIG_MPS2=y > CONFIG_RASPI=y > -CONFIG_REALVIEW=y > CONFIG_ZAURUS=y > CONFIG_ZYNQ=y > CONFIG_STM32F2XX_TIMER=y > @@ -86,10 +79,6 @@ CONFIG_IOTKIT_SYSINFO=y > CONFIG_ARMSSE_CPUID=y > CONFIG_ARMSSE_MHU=y > > -CONFIG_VERSATILE=y > -CONFIG_VERSATILE_PCI=y > -CONFIG_VERSATILE_I2C=y > - > CONFIG_PCI_EXPRESS=y > CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y > > @@ -120,6 +109,3 @@ CONFIG_XILINX_AXI=y > CONFIG_PCI_EXPRESS_DESIGNWARE=y > > CONFIG_STRONGARM=y > - > -# for realview and versatilepb > -CONFIG_LSI_SCSI_PCI=y > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index b91503f5a6..b786cfc5bd 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -88,6 +88,30 @@ config PXA2XX > > config REALVIEW > bool > + imply PCI_DEVICES > + imply PCI_TESTDEV > + select SMC91C111 > + select LAN9118 > + select A9MPCORE > + select A15MPCORE > + select ARM11MPCORE > + select ARM_TIMER > + select VERSATILE_PCI
REALVIEW selects VERSATILE_PCI/I2C ... > + select WM8750 # audio codec > + select LSI_SCSI_PCI > + select PCI > + select PL011 # UART > + select PL031 # RTC > + select PL041 # audio codec > + select PL050 # keyboard/mouse > + select PL061 # GPIO > + select PL080 # DMA controller > + select PL110 > + select PL181 # display > + select PL310 # cache controller > + select VERSATILE_I2C > + select DS1338 # I2C RTC+NVRAM > + select USB_OHCI > > config STELLARIS > bool > @@ -111,6 +135,29 @@ config SX1 > > config VERSATILE > bool > + select ARM_TIMER # sp804 > + select PFLASH_CFI01 > + select LSI_SCSI_PCI > + select PL050 # keyboard/mouse > + select PL080 # DMA controller > + select PL190 # Vector PIC > + select REALVIEW VERSATILE selects REALVIEW... > + select USB_OHCI > + > +config VEXPRESS > + bool > + select A9MPCORE > + select A15MPCORE > + select ARM_MPTIMER > + select ARM_TIMER # sp804 > + select LAN9118 > + select PFLASH_CFI01 > + select PL011 # UART > + select PL041 # audio codec > + select PL181 # display > + select REALVIEW Ditto. I'd prefer to have a clearer boards/soc separation, but this works, so we can improve this later: Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > + select SII9022 > + select VIRTIO_MMIO > > config ZYNQ > bool > @@ -183,6 +230,7 @@ config A15MPCORE > > config ARM11MPCORE > bool > + select ARM11SCU > > config ARMSSE > bool > diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs > index 8302b8df1d..bd0b45a799 100644 > --- a/hw/arm/Makefile.objs > +++ b/hw/arm/Makefile.objs > @@ -15,7 +15,8 @@ obj-$(CONFIG_PXA2XX) += gumstix.o spitz.o tosa.o z2.o > obj-$(CONFIG_REALVIEW) += realview.o > obj-$(CONFIG_STELLARIS) += stellaris.o > obj-$(CONFIG_STRONGARM) += collie.o > -obj-$(CONFIG_VERSATILE) += vexpress.o versatilepb.o > +obj-$(CONFIG_VERSATILE) += versatilepb.o > +obj-$(CONFIG_VEXPRESS) += vexpress.o > obj-$(CONFIG_ZYNQ) += xilinx_zynq.o > > obj-$(CONFIG_ARM_V7M) += armv7m.o > diff --git a/hw/display/Kconfig b/hw/display/Kconfig > index a11815c9af..0577e68c8e 100644 > --- a/hw/display/Kconfig > +++ b/hw/display/Kconfig > @@ -26,6 +26,7 @@ config PL110 > config SII9022 > bool > depends on I2C > + select DDC > > config SSD0303 > bool > diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig > index 820b24de5b..aee961541c 100644 > --- a/hw/i2c/Kconfig > +++ b/hw/i2c/Kconfig > @@ -12,7 +12,7 @@ config DDC > > config VERSATILE_I2C > bool > - select I2C > + select BITBANG_I2C > > config ACPI_SMBUS > bool >