blob: 84098f0784df89b453b97add0cd52a0dc9450845 [file] [log] [blame]
if ARCH_COMCERTO
menu "Comcerto Implementation Options"
config ARCH_SUPPORTS_BIG_ENDIAN
bool "Architecture supports Big Endian"
default n
choice
prompt "Comcerto System Type"
default CONFIG_ARCH_M86XXX
config ARCH_M86XXX
bool "M86xxx"
select CPU_V7
select ARM_GIC
select ARM_ERRATA_743622
select ARM_ERRATA_751472
select ARM_ERRATA_754322
select ARM_ERRATA_764369 if SMP
select MTD_COMCERTO_NOR
select COMCERTO_UART1_SUPPORT
select COMCERTO_PFE_UART_SUPPORT
select COMCERTO_USB2_SUPPORT
select COMCERTO_USB3_SUPPORT
select COMCERTO_USB3_INTERNAL_CLK
select COMCERTO_IPSEC_SUPPORT
select COMCERTO_I2C_SUPPORT
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
select HAVE_SCHED_CLOCK
select COMCERTO_DW_DMA_SUPPORT
select CLKDEV_LOOKUP
select ARCH_HAS_CPUFREQ
select ARCH_HAS_OPP
select MIGHT_HAVE_PCI if !RTSM_C2K
select PCI_MSI if PCI
help
Say Y here if you intend to run this kernel with a Comcerto2000 device.
endchoice
choice
prompt "Comcerto Board type"
default RTSM_C2K
config GOOGLE_FIBER_OPTIMUS
bool "Google Fiber Optimus"
depends on ARCH_M86XXX
help
Say Y here if you intend to run this kernel with a Google Fiber Optimus board.
config C2K_EVM
bool "EVM"
depends on ARCH_M86XXX
help
Say Y here if you intend to run this kernel with a C2K EVM.
config C2K_MFCN_EVM
bool "MFCN EVM"
depends on ARCH_M86XXX
help
Say Y here if you intend to run this kernel with a C2K MFCN EVM.
config C2K_ASIC
bool "ASIC"
depends on ARCH_M86XXX
select COMCERTO_UART0_SUPPORT
help
Say Y here if you intend to run this kernel with a C2K ASIC.
config RTSM_C2K
bool "RTSM"
depends on ARCH_M86XXX
help
Say Y here if you intend to run this kernel with a C2K RTSM.
endchoice
config GOOGLE_SPACECAST
bool "Google Spacecast"
select GOOGLE_FIBER_OPTIMUS
help
Say Y here if you intend to run this kernel with a Google Fiber Spacecast board
(a variation of Optimus board).
config MTD_COMCERTO_NOR
bool
default y
config COMCERTO_TDM_CLOCK
bool "Comcerto device TDM clock and frame sync control through sysfs"
default y
help
Say Y if you intend to use the Comcerto TDM and be able to change
different parameters through sysfs.
config COMCERTO_CSYS_TPI_CLOCK
bool "Comcerto device TPI and CSYS clock control "
default n
help
Say Y if you intend to use the Comcerto TPI (Cortex A9 JTAG interface) and CSYS clock (Cortex A9 CoreSight module).
config COMCERTO_PCIE_OCC_CLOCK
bool "Comcerto device PCIE OCC clock control "
default n
help
Say Y if you intend to use the Comcerto PCIE OCC clock.
config COMCERTO_SATA_OCC_CLOCK
bool "Comcerto device SATA OCC clock control "
default n
help
Say Y if you intend to use the Comcerto SATA OCC clock.
config COMCERTO_SGMII_OCC_CLOCK
bool "Comcerto device SGMII OCC clock control "
default n
help
Say Y if you intend to use the Comcerto SGMII OCC clock.
config COMCERTO_MEMBUF
bool "Comcerto memory buffer driver"
default n
help
Say Y if you intend to use the memory buffer driver. This driver helps
Linux user space applications setup a physical scatter buffer that can be used
directly by the PFE. Currently the PFE hold tone generation feature requires
this driver to be enabled.
config COMCERTO_NUM_PCIES
int "Number of PCIe controllers to be enabled (0-2)"
range 0 2
depends on ARCH_M86XXX
default "2"
config COMCERTO_FP
bool "Comcerto Fast Path Support"
depends on ARCH_M86XXX
default y
config COMCERTO_UART0_SUPPORT
bool
default n
config COMCERTO_UART1_SUPPORT
bool
default y
config COMCERTO_USB2_SUPPORT
bool
default n
config COMCERTO_USB3_SUPPORT
bool
default n
config COMCERTO_IPSEC_SUPPORT
bool
default n
config COMCERTO_EPAVIS
bool "DPI EPAVIS content inspection driver"
default n
config COMCERTO_ELP_SUPPORT
bool "Elliptic EPN1802 SPAcc/PKA crypto driver"
default y
config COMCERTO_I2C_SUPPORT
bool
default n
config COMCERTO_DW_DMA_SUPPORT
bool
default n
config COMCERTO_DDR_ECC_SUPPORT
bool "Fix for the Comcerto DDR ECC Support problem"
default n
help
There is a limitation with Denali DDRC Controller when ECC is enabled. It expects that the
burst writes of greater than or equal to 16 bytes must start and end at a 16-byte boundary.
Saying Y for this option will make the dma memory area to be non-writeable, apart from being
non-cacheable so that single write should happen instead of burst.
config COMCERTO_MSP
bool "Mindspeed Comcerto VoIP"
depends on ARCH_M86XXX
select FIQ
default y
config COMCERTO_SATA
bool "Comcerto SATA"
select ATA
select ATA_VERBOSE_ERROR
select SATA_AHCI_PLATFORM
select BLK_DEV_SD
select LBDAF
config COMCERTO_IMPROVED_SPLICE
bool "Comcerto improved splice call"
default n
help
Say Y if you intend to use the Comcerto improved splice call. When writing data to a file on an
ext4 partition, re-organize the splice code to gather all the memcpy calls in one place, instead
of allocating pages and releasing pipe buffers one by one. This improves performance and makes it
possible to use a DMA engine with scatter-gather in-place of mempcy.
config COMCERTO_SPLICE_USE_MDMA
bool "Comcerto splice using MDMA"
default n
depends on COMCERTO_IMPROVED_SPLICE
select COMCERTO_DMA_BASIC
help
Say Y if you intend to use the Comcerto MDMA engine to replace memcpy calls inside the improved
splice call.
config COMCERTO_ZONE_DMA_NCNB
bool "Comcerto Zone DMA"
select ZONE_DMA
default n
config COMCERTO_CUSTOM_SKB_LAYOUT
bool "Mindspeed customized skb layout, to reduce NCNB access overhead, when NCNB buffer is used in skb"
depends on COMCERTO_ZONE_DMA_NCNB
default n
config DSPG_DECT_CSS
bool "DSPG DECT CSS"
default n
config COMCERTO_USB3_INTERNAL_CLK
bool "Comcerto internal clock for USB3"
default n
config COMCERTO_AHCI_PROF
bool "Comcerto AHCI profiling"
bool
default n
config COMCERTO_SPLICE_PROF
bool "Comcerto splice profiling"
depends on COMCERTO_IMPROVED_SPLICE
default n
config COMCERTO_MDMA_PROF
bool "Comcerto MDMA profiling"
depends on COMCERTO_DMA_BASIC
default n
config COMCERTO_64K_PAGES
bool "Comcerto 64kB pages"
default n
help
Say Y to enable 64kB pages instead of the default 4kB. Memory usage will be increased, but
per-page operations will be reduced, and data transfers will become more efficient.
config COMCERTO_CC_OPTIMIZE_O3
bool "Compile the kernel with -O3"
default n
depends on !CC_OPTIMIZE_FOR_SIZE
help
Compile the kernel with -O3 instead of -O2 option. Resulting kernel can be a bit faster, but
it will also be bigger.
config COMCERTO_HW_KERNEL_PAGETABLE
bool "Use the 2nd HW page table for kernel memory space"
select VMSPLIT_2G
default n
help
By default, Linux uses only one page table at a time, and switches page tables when switching
between processes. Say Y to enable the 2nd hardware page table, which will be used to map kernel
addresses.
Note that because of the way the ARM MMU determines which page table to use, this option can
only be enabled with a 2G/2G userspace/kernel memory split.
config COMCERTO_UNCACHED_DMA
bool "Make pages uncacheable when doing DMA operations"
depends on COMCERTO_HW_KERNEL_PAGETABLE
default n
help
When transferring ownership of a page to a device through the DMA API, make the page uncacheable
for the duration of the transfer. This makes the 2nd cache invalidate (that was needed because
of the possibility of speculative accesses by the A9 cores) unnecessary, which can increase
performance during heavy IO workloads. The page tables will be more complex though, resulting in
more TLB misses when a DMA transfer is going on.
config COMCERTO_SPLICE_READ_NOCONTIG
bool "Use find_get_pages in splice read code"
default n
help
The splice read code normally calls find_get_pages_contig to retrieve pages mapping the requested
portion of the file to read. However, using find_get_pages works just as well, as the splice code
is able to handle both situations.
Say Y to use find_get_pages instead of find_get_pages_contig, which seems to yield a significant
performance improvement in Samba read tests.
endmenu
endif