b821242c7b
This implements a device model for the NPCM7xx SPI flash controller. Direct reads and writes, and user-mode transactions have been tested in various modes. Protection features are not implemented yet. All the FIU instances are available in the SoC's address space, regardless of whether or not they're connected to actual flash chips. Reviewed-by: Tyrone Ting <kfting@nuvoton.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Alexander Bulekov <alxndr@bu.edu> Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com> Message-id: 20200911052101.2602693-11-hskinnemoen@google.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
515 lines
9.0 KiB
Plaintext
515 lines
9.0 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
|
|
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
|
|
select MEM_DEVICE
|
|
select DIMM
|
|
select ACPI_MEMORY_HOTPLUG
|
|
select ACPI_HW_REDUCED
|
|
select ACPI_NVDIMM
|
|
|
|
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 # SPI
|
|
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 PL041 # audio
|
|
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
|
|
select SPLIT_IRQ
|
|
select UNIMP
|
|
|
|
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 NETDUINOPLUS2
|
|
bool
|
|
select STM32F405_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 # SPI
|
|
select PL061 # GPIO
|
|
select SSD0303 # OLED display
|
|
select SSD0323 # OLED display
|
|
select SSI_SD
|
|
select STELLARIS_INPUT
|
|
select STELLARIS_ENET # ethernet
|
|
select UNIMP
|
|
|
|
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
|
|
select UNIMP
|
|
|
|
config ALLWINNER_H3
|
|
bool
|
|
select ALLWINNER_A10_PIT
|
|
select ALLWINNER_SUN8I_EMAC
|
|
select SERIAL
|
|
select ARM_TIMER
|
|
select ARM_GIC
|
|
select UNIMP
|
|
select USB_OHCI
|
|
select USB_EHCI_SYSBUS
|
|
select SD
|
|
|
|
config RASPI
|
|
bool
|
|
select FRAMEBUFFER
|
|
select PL011 # UART
|
|
select SDHCI
|
|
select USB_DWC2
|
|
|
|
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 STM32F4XX_SYSCFG
|
|
select STM32F4XX_EXTI
|
|
|
|
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
|
|
select UNIMP
|
|
|
|
config NPCM7XX
|
|
bool
|
|
select A9MPCORE
|
|
select ARM_GIC
|
|
select PL310 # cache controller
|
|
select SERIAL
|
|
select SSI
|
|
select UNIMP
|
|
|
|
config FSL_IMX25
|
|
bool
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select WDT_IMX2
|
|
select DS1338
|
|
|
|
config FSL_IMX31
|
|
bool
|
|
select SERIAL
|
|
select IMX
|
|
select IMX_I2C
|
|
select WDT_IMX2
|
|
select LAN9118
|
|
|
|
config FSL_IMX6
|
|
bool
|
|
select A9MPCORE
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select IMX_USBPHY
|
|
select WDT_IMX2
|
|
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
|
|
select UNIMP
|
|
|
|
config MPS2
|
|
bool
|
|
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 VERSATILE_I2C
|
|
|
|
config FSL_IMX7
|
|
bool
|
|
imply PCI_DEVICES
|
|
imply TEST_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
|
|
select A15MPCORE
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select WDT_IMX2
|
|
select SDHCI
|
|
select UNIMP
|
|
|
|
config MICROBIT
|
|
bool
|
|
select NRF51_SOC
|
|
|
|
config NRF51_SOC
|
|
bool
|
|
select I2C
|
|
select ARM_V7M
|
|
select UNIMP
|
|
|
|
config EMCRAFT_SF2
|
|
bool
|
|
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_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
|
|
|
|
config ARMSSE_CPUID
|
|
bool
|
|
|
|
config ARMSSE_MHU
|
|
bool
|