qemu-e2k/hw/arm/Kconfig
Hongbo Zhang 64580903c2 hw/arm: Add arm SBSA reference machine, skeleton part
For AArch64, the existing "virt" machine is primarily meant to
run on KVM and execute virtualization workloads, but we need an
environment as faithful as possible to physical hardware, for supporting
firmware and OS development for physical Aarch64 machines.

This patch introduces new machine type 'sbsa-ref' with main features:
 - Based on 'virt' machine type.
 - A new memory map.
 - CPU type cortex-a57.
 - EL2 and EL3 are enabled.
 - GIC version 3.
 - System bus AHCI controller.
 - System bus EHCI controller.
 - CDROM and hard disc on AHCI bus.
 - E1000E ethernet card on PCIE bus.
 - VGA display adaptor on PCIE bus.
 - No virtio devices.
 - No fw_cfg device.
 - No ACPI table supplied.
 - Only minimal device tree nodes.

Arm Trusted Firmware and UEFI porting to this are done accordingly,
and the firmware should supply ACPI tables to the guest OS.  The
minimal device tree nodes supplied by QEMU for this platform are only
to pass the dynamic info reflecting command line input to firmware,
not for loading the guest OS.

To make the review easier, this task is split into two patches, the
fundamental skeleton part and the peripheral devices part; this patch is
the first part.

Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org>
Message-id: 1561890034-15921-2-git-send-email-hongbo.zhang@linaro.org
[PMM: commit message tweaks; moved some bits between patch 1 and 2
 to ensure patch 1 builds cleanly; removed unneeded lines from
 Kconfig stanza; only provide board for qemu-system-aarch64, not
 qemu-system-arm; added MAINTAINERS entry]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-07-01 17:29:00 +01:00

451 lines
7.9 KiB
Plaintext

config ARM_VIRT
bool
imply PCI_DEVICES
imply TEST_DEVICES
imply VFIO_AMD_XGBE
imply VFIO_PLATFORM
imply VFIO_XGMAC
select A15MPCORE
select ACPI
select ARM_SMMUV3
select GPIO_KEY
select FW_CFG_DMA
select PCI_EXPRESS
select PCI_EXPRESS_GENERIC_BRIDGE
select PFLASH_CFI01
select PL011 # UART
select PL031 # RTC
select PL061 # GPIO
select PLATFORM_BUS
select SMBIOS
select VIRTIO_MMIO
select ACPI_PCI
config CHEETAH
bool
select OMAP
select TSC210X
config CUBIEBOARD
bool
select ALLWINNER_A10
config DIGIC
bool
select PTIMER
select PFLASH_CFI02
config EXYNOS4
bool
select A9MPCORE
select I2C
select LAN9118
select PL310 # cache controller
select PTIMER
select SDHCI
select USB_EHCI_SYSBUS
config HIGHBANK
bool
select A9MPCORE
select A15MPCORE
select AHCI
select ARM_TIMER # sp804
select ARM_V7M
select PL011 # UART
select PL022 # Serial port
select PL031 # RTC
select PL061 # GPIO
select PL310 # cache controller
select XGMAC # ethernet
config INTEGRATOR
bool
select ARM_TIMER
select INTEGRATOR_DEBUG
select PL011 # UART
select PL031 # RTC
select PL050 # keyboard/mouse
select PL110 # pl111 LCD controller
select PL181 # display
select SMC91C111
config MAINSTONE
bool
select PXA2XX
select PFLASH_CFI01
select SMC91C111
config MUSCA
bool
select ARMSSE
select PL011
select PL031
config MUSICPAL
bool
select BITBANG_I2C
select MARVELL_88W8618
select PTIMER
select PFLASH_CFI02
select SERIAL
select WM8750
config NETDUINO2
bool
select STM32F205_SOC
config NSERIES
bool
select OMAP
select TMP105 # tempature sensor
select BLIZZARD # LCD/TV controller
select ONENAND
select TSC210X # touchscreen/sensors/audio
select TSC2005 # touchscreen/sensors/keypad
select LM832X # GPIO keyboard chip
select TWL92230 # energy-management
select TUSB6010
config OMAP
bool
select FRAMEBUFFER
select I2C
select ECC
select NAND
select PFLASH_CFI01
select SD
select SERIAL
config PXA2XX
bool
select FRAMEBUFFER
select I2C
select SERIAL
select SD
select SSI
select USB_OHCI
config GUMSTIX
bool
select PFLASH_CFI01
select SMC91C111
select PXA2XX
config TOSA
bool
select ZAURUS # scoop
select MICRODRIVE
select PXA2XX
config SPITZ
bool
select ADS7846 # display
select MAX111X # A/D converter
select WM8750 # audio codec
select MAX7310 # GPIO expander
select ZAURUS # scoop
select NAND # memory
select ECC # Error-correcting for NAND
select MICRODRIVE
select PXA2XX
config Z2
bool
select PFLASH_CFI01
select WM8750
select PL011 # UART
select 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 SBSA_REF
bool
imply PCI_DEVICES
select AHCI
select ARM_SMMUV3
select GPIO_KEY
select PCI_EXPRESS
select PCI_EXPRESS_GENERIC_BRIDGE
select PFLASH_CFI01
select PL011 # UART
select PL031 # RTC
select PL061 # GPIO
select USB_EHCI_SYSBUS
config SABRELITE
bool
select FSL_IMX6
select SSI_M25P80
config STELLARIS
bool
select ARM_V7M
select CMSDK_APB_WATCHDOG
select I2C
select PL011 # UART
select PL022 # Serial port
select PL061 # GPIO
select SSD0303 # OLED display
select SSD0323 # OLED display
select SSI_SD
select STELLARIS_INPUT
select STELLARIS_ENET # ethernet
config STRONGARM
bool
select PXA2XX
config COLLIE
bool
select PFLASH_CFI01
select ZAURUS # scoop
select STRONGARM
config SX1
bool
select OMAP
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
select A9MPCORE
select CADENCE # UART
select PFLASH_CFI02
select PL330
select SDHCI
select SSI_M25P80
select USB_EHCI_SYSBUS
select XILINX # UART
select XILINX_AXI
select XILINX_SPI
select XILINX_SPIPS
select ZYNQ_DEVCFG
config ARM_V7M
bool
config ALLWINNER_A10
bool
select AHCI
select ALLWINNER_A10_PIT
select ALLWINNER_A10_PIC
select ALLWINNER_EMAC
select SERIAL
config RASPI
bool
select FRAMEBUFFER
select PL011 # UART
select SDHCI
config STM32F205_SOC
bool
select ARM_V7M
select STM32F2XX_TIMER
select STM32F2XX_USART
select STM32F2XX_SYSCFG
select STM32F2XX_ADC
select STM32F2XX_SPI
config XLNX_ZYNQMP_ARM
bool
select AHCI
select ARM_GIC
select CADENCE
select DDC
select DPCD
select SDHCI
select SSI
select SSI_M25P80
select XILINX_AXI
select XILINX_SPIPS
select XLNX_ZYNQMP
config XLNX_VERSAL
bool
select ARM_GIC
select PL011
select CADENCE
select VIRTIO_MMIO
config FSL_IMX25
bool
select IMX
select IMX_FEC
select IMX_I2C
select DS1338
config FSL_IMX31
bool
select SERIAL
select IMX
select IMX_I2C
select LAN9118
config FSL_IMX6
bool
select A9MPCORE
select IMX
select IMX_FEC
select IMX_I2C
select SDHCI
config ASPEED_SOC
bool
select DS1338
select FTGMAC100
select I2C
select PCA9552
select SERIAL
select SMBUS_EEPROM
select SSI
select SSI_M25P80
select TMP105
select TMP421
config MPS2
bool
select ARMSSE
select LAN9118
select MPS2_FPGAIO
select MPS2_SCC
select PL022 # Serial port
select PL080 # DMA controller
config FSL_IMX7
bool
imply PCI_DEVICES
imply TEST_DEVICES
select A15MPCORE
select PCI
select IMX
select IMX_FEC
select IMX_I2C
select PCI_EXPRESS_DESIGNWARE
select SDHCI
config ARM_SMMUV3
bool
config FSL_IMX6UL
bool
select A15MPCORE
select IMX
select IMX_FEC
select IMX_I2C
select SDHCI
config MICROBIT
bool
select NRF51_SOC
config NRF51_SOC
bool
select I2C
select ARM_V7M
config EMCRAFT_SF2
bool
select MSF2
select SSI_M25P80
config MSF2
bool
select ARM_V7M
select PTIMER
select SERIAL
select SSI
config ZAURUS
bool
select NAND
select ECC
config A9MPCORE
bool
select A9_GTIMER
select A9SCU # snoop control unit
select ARM_GIC
select ARM_MPTIMER
config A15MPCORE
bool
select ARM_GIC
config ARM11MPCORE
bool
select ARM11SCU
config ARMSSE
bool
select ARM_V7M
select ARMSSE_CPUID
select ARMSSE_MHU
select CMSDK_APB_TIMER
select CMSDK_APB_DUALTIMER
select CMSDK_APB_UART
select CMSDK_APB_WATCHDOG
select IOTKIT_SECCTL
select IOTKIT_SYSCTL
select IOTKIT_SYSINFO
select TZ_MPC
select TZ_MSC
select TZ_PPC
config ARMSSE_CPUID
bool
config ARMSSE_MHU
bool