| 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 ZONE_DMA |
| 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" |
| depends on 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 |