qemu-e2k/hw/arm/Kconfig
Yuquan Wang 62c2b8760b hw/arm/sbsa-ref: use XHCI to replace EHCI
The current sbsa-ref cannot use EHCI controller which is only
able to do 32-bit DMA, since sbsa-ref doesn't have RAM below 4GB.
Hence, this uses XHCI to provide a usb controller with 64-bit
DMA capablity instead of EHCI.

We bump the platform version to 0.3 with this change.  Although the
hardware at the USB controller address changes, the firmware and
Linux can both cope with this -- on an older non-XHCI-aware
firmware/kernel setup the probe routine simply fails and the guest
proceeds without any USB.  (This isn't a loss of functionality,
because the old USB controller never worked in the first place.) So
we can call this a backwards-compatible change and only bump the
minor version.

Signed-off-by: Yuquan Wang <wangyuquan1236@phytium.com.cn>
Message-id: 20230621103847.447508-2-wangyuquan1236@phytium.com.cn
[PMM: tweaked commit message; add line to docs about what
 changes in platform version 0.3]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2023-07-04 14:08:47 +01:00

678 lines
12 KiB
Plaintext

config ARM_VIRT
bool
imply PCI_DEVICES
imply TEST_DEVICES
imply VFIO_AMD_XGBE
imply VFIO_PLATFORM
imply VFIO_XGMAC
imply TPM_TIS_SYSBUS
imply TPM_TIS_I2C
imply NVDIMM
select ARM_GIC
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 GPIO_PWR
select PLATFORM_BUS
select SMBIOS
select VIRTIO_MMIO
select ACPI_PCI
select MEM_DEVICE
select DIMM
select ACPI_HW_REDUCED
select ACPI_APEI
select ACPI_VIOT
select VIRTIO_MEM_SUPPORTED
select ACPI_CXL
select ACPI_HMAT
config CHEETAH
bool
default y
depends on TCG && ARM
select OMAP
select TSC210X
config CUBIEBOARD
bool
default y
depends on TCG && ARM
select ALLWINNER_A10
config DIGIC
bool
default y
depends on TCG && ARM
select PTIMER
select PFLASH_CFI02
config EXYNOS4
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select A9MPCORE
select I2C
select LAN9118
select PL310 # cache controller
select PTIMER
select SDHCI
select USB_EHCI_SYSBUS
select OR_IRQ
config HIGHBANK
bool
default y
depends on TCG && ARM
select A9MPCORE
select A15MPCORE
select AHCI
select ARM_TIMER # sp804
select ARM_V7M
select PL011 # UART
select PL022 # SPI
select PL031 # RTC
select PL061 # GPIO
select PL310 # cache controller
select XGMAC # ethernet
config INTEGRATOR
bool
default y
depends on TCG && ARM
select ARM_TIMER
select INTEGRATOR_DEBUG
select PL011 # UART
select PL031 # RTC
select PL041 # audio
select PL050 # keyboard/mouse
select PL110 # pl111 LCD controller
select PL181 # display
select SMC91C111
config MAINSTONE
bool
default y
depends on TCG && ARM
select PXA2XX
select PFLASH_CFI01
select SMC91C111
config MUSCA
bool
default y
depends on TCG && ARM
select ARMSSE
select PL011
select PL031
select SPLIT_IRQ
select UNIMP
config MARVELL_88W8618
bool
config MUSICPAL
bool
default y
depends on TCG && ARM
select OR_IRQ
select BITBANG_I2C
select MARVELL_88W8618
select PTIMER
select PFLASH_CFI02
select SERIAL
select WM8750
config NETDUINO2
bool
default y
depends on TCG && ARM
select STM32F205_SOC
config NETDUINOPLUS2
bool
default y
depends on TCG && ARM
select STM32F405_SOC
config OLIMEX_STM32_H405
bool
default y
depends on TCG && ARM
select STM32F405_SOC
config NSERIES
bool
default y
depends on TCG && ARM
select OMAP
select TMP105 # temperature 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
select PCMCIA
config GUMSTIX
bool
default y
depends on TCG && ARM
select PFLASH_CFI01
select SMC91C111
select PXA2XX
config TOSA
bool
default y
depends on TCG && ARM
select ZAURUS # scoop
select MICRODRIVE
select PXA2XX
select LED
config SPITZ
bool
default y
depends on TCG && ARM
select ADS7846 # touch-screen controller
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
default y
depends on TCG && ARM
select PFLASH_CFI01
select WM8750
select PL011 # UART
select PXA2XX
config REALVIEW
bool
default y
depends on TCG && ARM
imply PCI_DEVICES
imply PCI_TESTDEV
imply I2C_DEVICES
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 ARM_SBCON_I2C
select DS1338 # I2C RTC+NVRAM
select USB_OHCI
config SBSA_REF
bool
default y
depends on TCG && AARCH64
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_XHCI_SYSBUS
select WDT_SBSA
select BOCHS_DISPLAY
config SABRELITE
bool
default y
depends on TCG && ARM
select FSL_IMX6
select SSI_M25P80
config STELLARIS
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select ARM_V7M
select CMSDK_APB_WATCHDOG
select I2C
select PL011 # UART
select PL022 # SPI
select PL061 # GPIO
select SSD0303 # OLED display
select SSD0323 # OLED display
select SSI_SD
select STELLARIS_INPUT
select STELLARIS_ENET # ethernet
select STELLARIS_GPTM # general purpose timer module
select UNIMP
config STM32VLDISCOVERY
bool
default y
depends on TCG && ARM
select STM32F100_SOC
config STRONGARM
bool
select PXA2XX
config COLLIE
bool
default y
depends on TCG && ARM
select PFLASH_CFI01
select ZAURUS # scoop
select STRONGARM
config SX1
bool
default y
depends on TCG && ARM
select OMAP
config VERSATILE
bool
default y
depends on TCG && ARM
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
default y
depends on TCG && ARM
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
default y
depends on TCG && ARM
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
# currently v7M must be included in a TCG build due to translate.c
default y
depends on TCG && ARM
select PTIMER
config ALLWINNER_A10
bool
select AHCI
select ALLWINNER_A10_PIT
select ALLWINNER_A10_PIC
select ALLWINNER_A10_CCM
select ALLWINNER_A10_DRAMC
select ALLWINNER_WDT
select ALLWINNER_EMAC
select ALLWINNER_I2C
select AXP2XX_PMU
select SERIAL
select UNIMP
config ALLWINNER_H3
bool
default y
depends on TCG && ARM
select ALLWINNER_A10_PIT
select ALLWINNER_SUN8I_EMAC
select ALLWINNER_I2C
select ALLWINNER_WDT
select SERIAL
select ARM_TIMER
select ARM_GIC
select UNIMP
select USB_OHCI
select USB_EHCI_SYSBUS
select SD
config ALLWINNER_R40
bool
default y if TCG && ARM
select ALLWINNER_SRAMC
select ALLWINNER_A10_PIT
select AXP2XX_PMU
select SERIAL
select ARM_TIMER
select ARM_GIC
select UNIMP
select SD
config RASPI
bool
default y
depends on TCG && ARM
select FRAMEBUFFER
select PL011 # UART
select SDHCI
select USB_DWC2
config STM32F100_SOC
bool
select ARM_V7M
select STM32F2XX_USART
select STM32F2XX_SPI
config STM32F205_SOC
bool
select ARM_V7M
select OR_IRQ
select STM32F2XX_TIMER
select STM32F2XX_USART
select STM32F2XX_SYSCFG
select STM32F2XX_ADC
select STM32F2XX_SPI
config STM32F405_SOC
bool
select ARM_V7M
select OR_IRQ
select STM32F4XX_SYSCFG
select STM32F4XX_EXTI
config XLNX_ZYNQMP_ARM
bool
default y
depends on TCG && AARCH64
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_CSU_DMA
select XLNX_ZYNQMP
select XLNX_ZDMA
select USB_DWC3
config XLNX_VERSAL
bool
default y
depends on TCG && AARCH64
select ARM_GIC
select PL011
select CADENCE
select VIRTIO_MMIO
select UNIMP
select XLNX_ZDMA
select XLNX_ZYNQMP
select OR_IRQ
select XLNX_BBRAM
select XLNX_EFUSE_VERSAL
select XLNX_USB_SUBSYS
config NPCM7XX
bool
default y
depends on TCG && ARM
select A9MPCORE
select ADM1272
select ARM_GIC
select SMBUS
select AT24C # EEPROM
select MAX34451
select ISL_PMBUS_VR
select PL310 # cache controller
select PMBUS
select SERIAL
select SSI
select UNIMP
select PCA954X
config FSL_IMX25
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select IMX
select IMX_FEC
select IMX_I2C
select WDT_IMX2
select SDHCI
config FSL_IMX31
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select SERIAL
select IMX
select IMX_I2C
select WDT_IMX2
select LAN9118
config FSL_IMX6
bool
imply I2C_DEVICES
select A9MPCORE
select IMX
select IMX_FEC
select IMX_I2C
select IMX_USBPHY
select WDT_IMX2
select SDHCI
config ASPEED_SOC
bool
default y
depends on TCG && ARM
select DS1338
select FTGMAC100
select I2C
select DPS310
select PCA9552
select SERIAL
select SMBUS_EEPROM
select PCA954X
select SSI
select SSI_M25P80
select TMP105
select TMP421
select EMC141X
select UNIMP
select LED
select PMBUS
select MAX31785
config MPS2
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select ARMSSE
select LAN9118
select MPS2_FPGAIO
select MPS2_SCC
select OR_IRQ
select PL022 # SPI
select PL080 # DMA controller
select SPLIT_IRQ
select UNIMP
select CMSDK_APB_WATCHDOG
select ARM_SBCON_I2C
config FSL_IMX7
bool
default y
depends on TCG && ARM
imply PCI_DEVICES
imply TEST_DEVICES
imply I2C_DEVICES
select A15MPCORE
select PCI
select IMX
select IMX_FEC
select IMX_I2C
select WDT_IMX2
select PCI_EXPRESS_DESIGNWARE
select SDHCI
select UNIMP
config ARM_SMMUV3
bool
config FSL_IMX6UL
bool
default y
depends on TCG && ARM
imply I2C_DEVICES
select A15MPCORE
select IMX
select IMX_FEC
select IMX_I2C
select WDT_IMX2
select SDHCI
select UNIMP
config MICROBIT
bool
default y
depends on TCG && ARM
select NRF51_SOC
config NRF51_SOC
bool
imply I2C_DEVICES
select I2C
select ARM_V7M
select UNIMP
config EMCRAFT_SF2
bool
default y
depends on TCG && ARM
select MSF2
select SSI_M25P80
config MSF2
bool
select ARM_V7M
select PTIMER
select SERIAL
select SSI
select UNIMP
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_CPU_PWRCTRL
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 OR_IRQ
select SPLIT_IRQ
select TZ_MPC
select TZ_MSC
select TZ_PPC
select UNIMP
select SSE_COUNTER
select SSE_TIMER