Message ID | 20190418180057.3593-12-thuth@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Kconfig dependencies for ARM machines | expand |
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 <thuth@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é <philmd@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 >
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 + 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 + 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 + 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
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 <thuth@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(-)