# # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # mainmenu "Linux/$ARCH $KERNELVERSION Kernel Configuration" config SRCARCH string option env="SRCARCH" source "arch/$SRCARCH/Kconfig" # # General architecture dependent options # config OPROFILE tristate "OProfile system profiling" depends on PROFILING depends on HAVE_OPROFILE select RING_BUFFER select RING_BUFFER_ALLOW_SWAP help OProfile is a profiling system capable of profiling the whole system, include the kernel, kernel modules, libraries, and applications. If unsure, say N. config OPROFILE_EVENT_MULTIPLEX bool "OProfile multiplexing support (EXPERIMENTAL)" default n depends on OPROFILE && X86 help The number of hardware counters is limited. The multiplexing feature enables OProfile to gather more events than counters are provided by the hardware. This is realized by switching between events at an user specified time interval. If unsure, say N. config HAVE_OPROFILE bool config OPROFILE_NMI_TIMER def_bool y depends on PERF_EVENTS && HAVE_PERF_EVENTS_NMI config KPROBES bool "Kprobes" depends on MODULES depends on HAVE_KPROBES select KALLSYMS help Kprobes allows you to trap at almost any kernel address and execute a callback function. register_kprobe() establishes a probepoint and specifies the callback. Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N". config JUMP_LABEL bool "Optimize very unlikely/likely branches" depends on HAVE_ARCH_JUMP_LABEL help This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel. Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique. If it is detected that the compiler has support for "asm goto", the kernel will compile such branches with just a nop instruction. When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions. This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster. The update of the condition is slower, but those are always very rare. ( On 32-bit x86, the necessary options added to the compiler flags may increase the size of the kernel slightly. ) config OPTPROBES def_bool y depends on KPROBES && HAVE_OPTPROBES depends on !PREEMPT config KPROBES_ON_FTRACE def_bool y depends on KPROBES && HAVE_KPROBES_ON_FTRACE depends on DYNAMIC_FTRACE_WITH_REGS help If function tracer is enabled and the arch supports full passing of pt_regs to function tracing, then kprobes can optimize on top of function tracing. config UPROBES bool "Transparent user-space probes (EXPERIMENTAL)" depends on UPROBE_EVENT && PERF_EVENTS default n select PERCPU_RWSEM help Uprobes is the user-space counterpart to kprobes: they enable instrumentation applications (such as 'perf probe') to establish unintrusive probes in user-space binaries and libraries, by executing handler functions when the probes are hit by user-space applications. ( These probes come in the form of single-byte breakpoints, managed by the kernel and kept transparent to the probed application. ) If in doubt, say "N". config HAVE_64BIT_ALIGNED_ACCESS def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS help Some architectures require 64 bit accesses to be 64 bit aligned, which also requires structs containing 64 bit values to be 64 bit aligned too. This includes some 32 bit architectures which can do 64 bit accesses, as well as 64 bit architectures without unaligned access. This symbol should be selected by an architecture if 64 bit accesses are required to be 64 bit aligned in this way even though it is not a 64 bit architecture. See Documentation/unaligned-memory-access.txt for more information on the topic of unaligned memory accesses. config HAVE_EFFICIENT_UNALIGNED_ACCESS bool help Some architectures are unable to perform unaligned accesses without the use of get_unaligned/put_unaligned. Others are unable to perform such accesses efficiently (e.g. trap on unaligned access and require fixing it up in the exception handler.) This symbol should be selected by an architecture if it can perform unaligned accesses efficiently to allow different code paths to be selected for these cases. Some network drivers, for example, could opt to not fix up alignment problems with received packets if doing so would not help much. See Documentation/unaligned-memory-access.txt for more information on the topic of unaligned memory accesses. config ARCH_USE_BUILTIN_BSWAP bool help Modern versions of GCC (since 4.4) have builtin functions for handling byte-swapping. Using these, instead of the old inline assembler that the architecture code provides in the __arch_bswapXX() macros, allows the compiler to see what's happening and offers more opportunity for optimisation. In particular, the compiler will be able to combine the byteswap with a nearby load or store and use load-and-swap or store-and-swap instructions if the architecture has them. It should almost *never* result in code which is worse than the hand-coded assembler in . But just in case it does, the use of the builtins is optional. Any architecture with load-and-swap or store-and-swap instructions should set this. And it shouldn't hurt to set it on architectures that don't have such instructions. config KRETPROBES def_bool y depends on KPROBES && HAVE_KRETPROBES config USER_RETURN_NOTIFIER bool depends on HAVE_USER_RETURN_NOTIFIER help Provide a kernel-internal notification when a cpu is about to switch to user mode. config HAVE_IOREMAP_PROT bool config HAVE_KPROBES bool config HAVE_KRETPROBES bool config HAVE_OPTPROBES bool config HAVE_KPROBES_ON_FTRACE bool config HAVE_NMI_WATCHDOG bool # # An arch should select this if it provides all these things: # # task_pt_regs() in asm/processor.h or asm/ptrace.h # arch_has_single_step() if there is hardware single-step support # arch_has_block_step() if there is hardware block-step support # asm/syscall.h supplying asm-generic/syscall.h interface # linux/regset.h user_regset interfaces # CORE_DUMP_USE_REGSET #define'd in linux/elf.h # TIF_SYSCALL_TRACE calls tracehook_report_syscall_{entry,exit} # TIF_NOTIFY_RESUME calls tracehook_notify_resume() # signal delivery calls tracehook_signal_handler() # config HAVE_ARCH_TRACEHOOK bool config HAVE_DMA_ATTRS bool config HAVE_DMA_CONTIGUOUS bool config GENERIC_SMP_IDLE_THREAD bool config GENERIC_IDLE_POLL_SETUP bool # Select if arch init_task initializer is different to init/init_task.c config ARCH_INIT_TASK bool # Select if arch has its private alloc_task_struct() function config ARCH_TASK_STRUCT_ALLOCATOR bool # Select if arch has its private alloc_thread_info() function config ARCH_THREAD_INFO_ALLOCATOR bool config HAVE_REGS_AND_STACK_ACCESS_API bool help This symbol should be selected by an architecure if it supports the API needed to access registers and stack entries from pt_regs, declared in asm/ptrace.h For example the kprobes-based event tracer needs this API. config HAVE_CLK bool help The calls support software clock gating and thus are a key power management tool on many systems. config HAVE_DMA_API_DEBUG bool config HAVE_HW_BREAKPOINT bool depends on PERF_EVENTS config HAVE_MIXED_BREAKPOINTS_REGS bool depends on HAVE_HW_BREAKPOINT help Depending on the arch implementation of hardware breakpoints, some of them have separate registers for data and instruction breakpoints addresses, others have mixed registers to store them but define the access type in a control register. Select this option if your arch implements breakpoints under the latter fashion. config HAVE_USER_RETURN_NOTIFIER bool config HAVE_PERF_EVENTS_NMI bool help System hardware can generate an NMI using the perf event subsystem. Also has support for calculating CPU cycle events to determine how many clock cycles in a given period. config HAVE_PERF_REGS bool help Support selective register dumps for perf events. This includes bit-mapping of each registers and a unique architecture id. config HAVE_PERF_USER_STACK_DUMP bool help Support user stack dumps for perf event samples. This needs access to the user stack pointer which is not unified across architectures. config HAVE_ARCH_JUMP_LABEL bool config HAVE_RCU_TABLE_FREE bool config ARCH_HAVE_NMI_SAFE_CMPXCHG bool config HAVE_ALIGNED_STRUCT_PAGE bool help This makes sure that struct pages are double word aligned and that e.g. the SLUB allocator can perform double word atomic operations on a struct page for better performance. However selecting this might increase the size of a struct page by a word. config HAVE_CMPXCHG_LOCAL bool config HAVE_CMPXCHG_DOUBLE bool config ARCH_WANT_IPC_PARSE_VERSION bool config ARCH_WANT_COMPAT_IPC_PARSE_VERSION bool config ARCH_WANT_OLD_COMPAT_IPC select ARCH_WANT_COMPAT_IPC_PARSE_VERSION bool config HAVE_ARCH_SECCOMP_FILTER bool help An arch should select this symbol if it provides all of these things: - syscall_get_arch() - syscall_get_arguments() - syscall_rollback() - syscall_set_return_value() - SIGSYS siginfo_t support - secure_computing is called from a ptrace_event()-safe context - secure_computing return value is checked and a return value of -1 results in the system call being skipped immediately. config SECCOMP_FILTER def_bool y depends on HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET help Enable tasks to build secure computing environments defined in terms of Berkeley Packet Filter programs which implement task-defined system call filtering polices. See Documentation/prctl/seccomp_filter.txt for details. config HAVE_CONTEXT_TRACKING bool help Provide kernel/user boundaries probes necessary for subsystems that need it, such as userspace RCU extended quiescent state. Syscalls need to be wrapped inside user_exit()-user_enter() through the slow path using TIF_NOHZ flag. Exceptions handlers must be wrapped as well. Irqs are already protected inside rcu_irq_enter/rcu_irq_exit() but preemption or signal handling on irq exit still need to be protected. config HAVE_VIRT_CPU_ACCOUNTING bool config HAVE_VIRT_CPU_ACCOUNTING_GEN bool default y if 64BIT help With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit. Before enabling this option, arch code must be audited to ensure there are no races in concurrent read/write of cputime_t. For example, reading/writing 64-bit cputime_t on some 32-bit arches may require multiple accesses, so proper locking is needed to protect against concurrent accesses. config HAVE_IRQ_TIME_ACCOUNTING bool help Archs need to ensure they use a high enough resolution clock to support irq time accounting and then call enable_sched_clock_irqtime(). config HAVE_ARCH_TRANSPARENT_HUGEPAGE bool config HAVE_ARCH_SOFT_DIRTY bool config HAVE_MOD_ARCH_SPECIFIC bool help The arch uses struct mod_arch_specific to store data. Many arches just need a simple module loader without arch specific data - those should not enable this. config MODULES_USE_ELF_RELA bool help Modules only use ELF RELA relocations. Modules with ELF REL relocations will give an error. config MODULES_USE_ELF_REL bool help Modules only use ELF REL relocations. Modules with ELF RELA relocations will give an error. config HAVE_UNDERSCORE_SYMBOL_PREFIX bool help Some architectures generate an _ in front of C symbols; things like module loading and assembly files need to know about this. config HAVE_IRQ_EXIT_ON_IRQ_STACK bool help Architecture doesn't only execute the irq handler on the irq stack but also irq_exit(). This way we can process softirqs on this irq stack instead of switching to a new one when we call __do_softirq() in the end of an hardirq. This spares a stack switch and improves cache usage on softirq processing. # # ABI hall of shame # config CLONE_BACKWARDS bool help Architecture has tls passed as the 4th argument of clone(2), not the 5th one. config CLONE_BACKWARDS2 bool help Architecture has the first two arguments of clone(2) swapped. config CLONE_BACKWARDS3 bool help Architecture has tls passed as the 3rd argument of clone(2), not the 5th one. config ODD_RT_SIGACTION bool help Architecture has unusual rt_sigaction(2) arguments config OLD_SIGSUSPEND bool help Architecture has old sigsuspend(2) syscall, of one-argument variety config OLD_SIGSUSPEND3 bool help Even weirder antique ABI - three-argument sigsuspend(2) config OLD_SIGACTION bool help Architecture has old sigaction(2) syscall. Nope, not the same as OLD_SIGSUSPEND | OLD_SIGSUSPEND3 - alpha has sigsuspend(2), but fairly different variant of sigaction(2), thanks to OSF/1 compatibility... config COMPAT_OLD_SIGACTION bool source "kernel/gcov/Kconfig" config ALPHA bool default y select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_AOUT select HAVE_IDE select HAVE_OPROFILE select HAVE_PCSPKR_PLATFORM select HAVE_PERF_EVENTS select HAVE_DMA_ATTRS select VIRT_TO_BUS select GENERIC_IRQ_PROBE select AUTO_IRQ_AFFINITY if SMP select GENERIC_IRQ_SHOW select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_IPC_PARSE_VERSION select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select GENERIC_CLOCKEVENTS select GENERIC_SMP_IDLE_THREAD select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select ODD_RT_SIGACTION select OLD_SIGSUSPEND help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, now Hewlett-Packard. The Alpha Linux project has a home page at . config 64BIT def_bool y config MMU bool default y config RWSEM_GENERIC_SPINLOCK bool config RWSEM_XCHGADD_ALGORITHM bool default y config ARCH_HAS_ILOG2_U32 bool default n config ARCH_HAS_ILOG2_U64 bool default n config GENERIC_CALIBRATE_DELAY bool default y config ZONE_DMA bool default y config ARCH_DMA_ADDR_T_64BIT def_bool y config NEED_DMA_MAP_STATE def_bool y config NEED_SG_DMA_LENGTH def_bool y config GENERIC_ISA_DMA bool default y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "System setup" choice prompt "Alpha system type" default ALPHA_GENERIC ---help--- This is the system type of your hardware. A "generic" kernel will run on any supported Alpha system. However, if you configure a kernel for your specific system, it will be faster and smaller. To find out what type of Alpha system you have, you may want to check out the Linux/Alpha FAQ, accessible on the WWW from . In summary: Alcor/Alpha-XLT AS 600, AS 500, XL-300, XL-366 Alpha-XL XL-233, XL-266 AlphaBook1 Alpha laptop Avanti AS 200, AS 205, AS 250, AS 255, AS 300, AS 400 Cabriolet AlphaPC64, AlphaPCI64 DP264 DP264 / DS20 / ES40 / DS10 / DS10L EB164 EB164 21164 evaluation board EB64+ EB64+ 21064 evaluation board EB66 EB66 21066 evaluation board EB66+ EB66+ 21066 evaluation board Jensen DECpc 150, DEC 2000 models 300, 500 LX164 AlphaPC164-LX Lynx AS 2100A Miata Personal Workstation 433/500/600 a/au Marvel AlphaServer ES47 / ES80 / GS1280 Mikasa AS 1000 Noname AXPpci33, UDB (Multia) Noritake AS 1000A, AS 600A, AS 800 PC164 AlphaPC164 Rawhide AS 1200, AS 4000, AS 4100 Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX SX164 AlphaPC164-SX Sable AS 2000, AS 2100 Shark DS 20L Takara Takara (OEM) Titan AlphaServer ES45 / DS25 / DS15 Wildfire AlphaServer GS 40/80/160/320 If you don't know what to do, choose "generic". config ALPHA_GENERIC bool "Generic" depends on TTY help A generic kernel will run on all supported Alpha hardware. config ALPHA_ALCOR bool "Alcor/Alpha-XLT" help For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O Address, CIA) - a 383 pin plastic PGA). It provides a DRAM controller (256-bit memory bus) and a PCI interface. It also does all the work required to support an external Bcache and to maintain memory coherence when a PCI device DMAs into (or out of) memory. config ALPHA_XL bool "Alpha-XL" help XL-233 and XL-266-based Alpha systems. config ALPHA_BOOK1 bool "AlphaBook1" help Dec AlphaBook1/Burns Alpha-based laptops. config ALPHA_AVANTI_CH bool "Avanti" config ALPHA_CABRIOLET bool "Cabriolet" help Cabriolet AlphaPC64, AlphaPCI64 systems. Derived from EB64+ but now baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA slots, 4 PCI slots (one pair are on a shared slot), uses plug-in Bcache SIMMs. Requires power supply with 3.3V output. config ALPHA_DP264 bool "DP264" help Various 21264 systems with the tsunami core logic chipset. API Networks: 264DP, UP2000(+), CS20; Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40. config ALPHA_EB164 bool "EB164" help EB164 21164 evaluation board from DEC. Uses 21164 and ALCOR. Has ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is shared with an ISA slot) and 2 32-bit PCI slots. Uses plus-in Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD, MOUSE (PS2 style), RTC/NVRAM. Boot ROM is Flash. PC-AT-sized motherboard. Requires power supply with 3.3V output. config ALPHA_EB64P_CH bool "EB64+" config ALPHA_EB66 bool "EB66" help A Digital DS group board. Uses 21066 or 21066A. I/O sub-system is identical to EB64+. Baby PC-AT size. Runs from standard PC power supply. The EB66 schematic was published as a marketing poster advertising the 21066 as "the first microprocessor in the world with embedded PCI". config ALPHA_EB66P bool "EB66+" help Later variant of the EB66 board. config ALPHA_EIGER bool "Eiger" help Apparently an obscure OEM single-board computer based on the Typhoon/Tsunami chipset family. Information on it is scanty. config ALPHA_JENSEN bool "Jensen" help DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one of the first-generation Alpha systems. A number of these systems seem to be available on the second- hand market. The Jensen is a floor-standing tower system which originally used a 150MHz 21064 It used programmable logic to interface a 486 EISA I/O bridge to the CPU. config ALPHA_LX164 bool "LX164" help A technical overview of this board is available at . config ALPHA_LYNX bool "Lynx" help AlphaServer 2100A-based systems. config ALPHA_MARVEL bool "Marvel" help AlphaServer ES47 / ES80 / GS1280 based on EV7. config ALPHA_MIATA bool "Miata" help The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a, or 600au). config ALPHA_MIKASA bool "Mikasa" help AlphaServer 1000-based Alpha systems. config ALPHA_NAUTILUS bool "Nautilus" help Alpha systems based on the AMD 751 & ALI 1543C chipsets. config ALPHA_NONAME_CH bool "Noname" config ALPHA_NORITAKE bool "Noritake" help AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based systems. config ALPHA_PC164 bool "PC164" config ALPHA_P2K bool "Platform2000" config ALPHA_RAWHIDE bool "Rawhide" help AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines. See HOWTO at . config ALPHA_RUFFIAN bool "Ruffian" help Samsung APC164UX. There is a page on known problems and workarounds at . config ALPHA_RX164 bool "RX164" config ALPHA_SX164 bool "SX164" config ALPHA_SABLE bool "Sable" help Digital AlphaServer 2000 and 2100-based systems. config ALPHA_SHARK bool "Shark" config ALPHA_TAKARA bool "Takara" help Alpha 11164-based OEM single-board computer. config ALPHA_TITAN bool "Titan" help AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset. config ALPHA_WILDFIRE bool "Wildfire" help AlphaServer GS 40/80/160/320 SMP based on the EV67 core. endchoice # clear all implied options (don't want default values for those): # Most of these machines have ISA slots; not exactly sure which don't, # and this doesn't activate hordes of code, so do it always. config ISA bool default y help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are PCI, EISA, MicroChannel (MCA) or VESA. ISA is an older system, now being displaced by PCI; newer boards don't support it. If you have ISA, say Y, otherwise N. config ISA_DMA_API bool default y config PCI bool depends on !ALPHA_JENSEN select GENERIC_PCI_IOMAP default y help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. config PCI_DOMAINS bool default y config PCI_SYSCALL def_bool PCI config IOMMU_HELPER def_bool PCI config ALPHA_NONAME bool depends on ALPHA_BOOK1 || ALPHA_NONAME_CH default y help The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia UDB). This design was produced by Digital's Technical OEM (TOEM) group. It uses the 21066 processor running at 166MHz or 233MHz. It is a baby-AT size, and runs from a standard PC power supply. It has 5 ISA slots and 3 PCI slots (one pair are a shared slot). There are 2 versions, with either PS/2 or large DIN connectors for the keyboard. config ALPHA_EV4 bool depends on ALPHA_JENSEN || (ALPHA_SABLE && !ALPHA_GAMMA) || ALPHA_LYNX || ALPHA_NORITAKE && !ALPHA_PRIMO || ALPHA_MIKASA && !ALPHA_PRIMO || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL || ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K default y if !ALPHA_LYNX config ALPHA_LCA bool depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K default y config ALPHA_APECS bool depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL default y config ALPHA_EB64P bool depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH default y help Uses 21064 or 21064A and APECs. Has ISA and PCI expansion (3 ISA, 2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs. ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style), SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM. PC-AT size. Runs from standard PC power supply. config ALPHA_EV5 bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX default y if ALPHA_RX164 || ALPHA_RAWHIDE || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_SABLE && ALPHA_GAMMA || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR config ALPHA_EV4 bool default y if ALPHA_LYNX && !ALPHA_EV5 config ALPHA_CIA bool depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR default y config ALPHA_EV56 bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA config ALPHA_EV56 prompt "EV56 CPU (speed >= 333MHz)?" depends on ALPHA_NORITAKE || ALPHA_PRIMO config ALPHA_EV56 prompt "EV56 CPU (speed >= 400MHz)?" depends on ALPHA_RAWHIDE config ALPHA_PRIMO bool "EV5 CPU daughtercard (model 5/xxx)?" depends on ALPHA_NORITAKE || ALPHA_MIKASA help Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx. config ALPHA_GAMMA bool "EV5 CPU(s) (model 5/xxx)?" depends on ALPHA_SABLE help Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx. config ALPHA_GAMMA bool depends on ALPHA_LYNX default y config ALPHA_T2 bool depends on ALPHA_SABLE || ALPHA_LYNX default y config ALPHA_PYXIS bool depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN default y config ALPHA_EV6 bool depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL default y config ALPHA_TSUNAMI bool depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER default y config ALPHA_EV67 bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL help Is this a machine based on the EV67 core? If in doubt, select N here and the machine will be treated as an EV6. config ALPHA_MCPCIA bool depends on ALPHA_RAWHIDE default y config ALPHA_POLARIS bool depends on ALPHA_RX164 default y config ALPHA_IRONGATE bool depends on ALPHA_NAUTILUS default y config GENERIC_HWEIGHT bool default y if !ALPHA_EV67 config ALPHA_AVANTI bool depends on ALPHA_XL || ALPHA_AVANTI_CH default y help Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based Alphas. Info at . config ALPHA_BROKEN_IRQ_MASK bool depends on ALPHA_GENERIC || ALPHA_PC164 default y config VGA_HOSE bool depends on VGA_CONSOLE && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL || ALPHA_TSUNAMI) default y help Support VGA on an arbitrary hose; needed for several platforms which always have multiple hoses, and whose consoles support it. config ALPHA_QEMU bool "Run under QEMU emulation" depends on !ALPHA_GENERIC ---help--- Assume the presence of special features supported by QEMU PALcode that reduce the overhead of system emulation. Generic kernels will auto-detect QEMU. But when building a system-specific kernel, the assumption is that we want to elimiate as many runtime tests as possible. If unsure, say N. config ALPHA_SRM bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME depends on TTY default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL ---help--- There are two different types of booting firmware on Alphas: SRM, which is command line driven, and ARC, which uses menus and arrow keys. Details about the Linux/Alpha booting process are contained in the Linux/Alpha FAQ, accessible on the WWW from . The usual way to load Linux on an Alpha machine is to use MILO (a bootloader that lets you pass command line parameters to the kernel just like lilo does for the x86 architecture) which can be loaded either from ARC or can be installed directly as a permanent firmware replacement from floppy (which requires changing a certain jumper on the motherboard). If you want to do either of these, say N here. If MILO doesn't work on your system (true for Jensen motherboards), you can bypass it altogether and boot Linux directly from an SRM console; say Y here in order to do that. Note that you won't be able to boot from an IDE disk using SRM. If unsure, say N. config EISA bool depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE default y config ARCH_MAY_HAVE_PC_FDC def_bool y config SMP bool "Symmetric multi-processing support" depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. See also the SMP-HOWTO available at . If you don't know what to do here, say N. config HAVE_DEC_LOCK bool depends on SMP default y config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "32" if ALPHA_GENERIC || ALPHA_MARVEL default "4" if !ALPHA_GENERIC && !ALPHA_MARVEL help MARVEL support can handle a maximum of 32 CPUs, all the others with working support have a maximum of 4 CPUs. config ARCH_DISCONTIGMEM_ENABLE bool "Discontiguous Memory Support" help Say Y to support efficient handling of discontiguous physical memory, for architectures which are either NUMA (Non-Uniform Memory Access) or have huge holes in the physical address space for other reasons. See for more. source "mm/Kconfig" config NUMA bool "NUMA Support (EXPERIMENTAL)" depends on DISCONTIGMEM && BROKEN help Say Y to compile the kernel to support NUMA (Non-Uniform Memory Access). This option is for configuring high-end multiprocessor server machines. If in doubt, say N. config ALPHA_WTINT bool "Use WTINT" if ALPHA_SRM || ALPHA_GENERIC default y if ALPHA_QEMU default n if ALPHA_EV5 || ALPHA_EV56 || (ALPHA_EV4 && !ALPHA_LCA) default n if !ALPHA_SRM && !ALPHA_GENERIC default y if SMP ---help--- The Wait for Interrupt (WTINT) PALcall attempts to place the CPU to sleep until the next interrupt. This may reduce the power consumed, and the heat produced by the computer. However, it has the side effect of making the cycle counter unreliable as a timing device across the sleep. For emulation under QEMU, definitely say Y here, as we have other mechanisms for measuring time than the cycle counter. For EV4 (but not LCA), EV5 and EV56 systems, or for systems running MILO, sleep mode is not supported so you might as well say N here. For SMP systems we cannot use the cycle counter for timing anyway, so you might as well say Y here. If unsure, say N. config NODES_SHIFT int default "7" depends on NEED_MULTIPLE_NODES # LARGE_VMALLOC is racy, if you *really* need it then fix it first config ALPHA_LARGE_VMALLOC bool ---help--- Process creation and other aspects of virtual memory management can be streamlined if we restrict the kernel to one PGD for all vmalloc allocations. This equates to about 8GB. Under normal circumstances, this is so far and above what is needed as to be laughable. However, there are certain applications (such as benchmark-grade in-kernel web serving) that can make use of as much vmalloc space as is available. Say N unless you know you need gobs and gobs of vmalloc space. config VERBOSE_MCHECK bool "Verbose Machine Checks" config VERBOSE_MCHECK_ON int "Verbose Printing Mode (0=off, 1=on, 2=all)" depends on VERBOSE_MCHECK default 1 ---help--- This option allows the default printing mode to be set, and then possibly overridden by a boot command argument. For example, if one wanted the option of printing verbose machine checks, but wanted the default to be as if verbose machine check printing was turned off, then one would choose the printing mode to be 0. Then, upon reboot, one could add the boot command line "verbose_mcheck=1" to get the normal verbose machine check printing, or "verbose_mcheck=2" to get the maximum information available. Take the default (1) unless you want more control or more info. choice prompt "Timer interrupt frequency (HZ)?" default HZ_128 if ALPHA_QEMU default HZ_1200 if ALPHA_RAWHIDE default HZ_1024 ---help--- The frequency at which timer interrupts occur. A high frequency minimizes latency, whereas a low frequency minimizes overhead of process accounting. The later effect is especially significant when being run under QEMU. Note that some Alpha hardware cannot change the interrupt frequency of the timer. If unsure, say 1024 (or 1200 for Rawhide). config HZ_32 bool "32 Hz" config HZ_64 bool "64 Hz" config HZ_128 bool "128 Hz" config HZ_256 bool "256 Hz" config HZ_1024 bool "1024 Hz" config HZ_1200 bool "1200 Hz" endchoice config HZ int default 32 if HZ_32 default 64 if HZ_64 default 128 if HZ_128 default 256 if HZ_256 default 1200 if HZ_1200 default 1024 source "drivers/pci/Kconfig" source "drivers/eisa/Kconfig" source "drivers/pcmcia/Kconfig" config SRM_ENV tristate "SRM environment through procfs" depends on PROC_FS ---help--- If you enable this option, a subdirectory inside /proc called /proc/srm_environment will give you access to the all important SRM environment variables (those which have a name) and also to all others (by their internal number). SRM is something like a BIOS for Alpha machines. There are some other such BIOSes, like AlphaBIOS, which this driver cannot support (hey, that's not SRM!). Despite the fact that this driver doesn't work on all Alphas (but only on those which have SRM as their firmware), it's save to build it even if your particular machine doesn't know about SRM (or if you intend to compile a generic kernel). It will simply not create those subdirectory in /proc (and give you some warning, of course). This driver is also available as a module and will be called srm_env then. source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/alpha/Kconfig.debug" # DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig # but we also need it if VGA_HOSE is set config DUMMY_CONSOLE bool depends on VGA_HOSE default y source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # # Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # config ARC def_bool y select BUILDTIME_EXTABLE_SORT select CLONE_BACKWARDS # ARC Busybox based initramfs absolutely relies on DEVTMPFS for /dev select DEVTMPFS if !INITRAMFS_SOURCE="" select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS select GENERIC_FIND_FIRST_BIT # for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP select GENERIC_IRQ_SHOW select GENERIC_PENDING_IRQ if SMP select GENERIC_SMP_IDLE_THREAD select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select HAVE_IOREMAP_PROT select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_MEMBLOCK select HAVE_MOD_ARCH_SPECIFIC if ARC_DW2_UNWIND select HAVE_OPROFILE select HAVE_PERF_EVENTS select IRQ_DOMAIN select MODULES_USE_ELF_RELA select NO_BOOTMEM select OF select OF_EARLY_FLATTREE select PERF_USE_VMALLOC select HAVE_DEBUG_STACKOVERFLOW config TRACE_IRQFLAGS_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config SCHED_OMIT_FRAME_POINTER def_bool y config GENERIC_CSUM def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config ARCH_FLATMEM_ENABLE def_bool y config MMU def_bool y config NO_IOPORT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config GENERIC_HWEIGHT def_bool y config STACKTRACE_SUPPORT def_bool y select STACKTRACE config HAVE_LATENCYTOP_SUPPORT def_bool y config NO_DMA def_bool n source "init/Kconfig" source "kernel/Kconfig.freezer" menu "ARC Architecture Configuration" menu "ARC Platform/SoC/Board" source "arch/arc/plat-arcfpga/Kconfig" source "arch/arc/plat-tb10x/Kconfig" #New platform adds here endmenu menu "ARC CPU Configuration" choice prompt "ARC Core" default ARC_CPU_770 config ARC_CPU_750D bool "ARC750D" help Support for ARC750 core config ARC_CPU_770 bool "ARC770" select ARC_CPU_REL_4_10 help Support for ARC770 core introduced with Rel 4.10 (Summer 2011) This core has a bunch of cool new features: -MMU-v3: Variable Page Sz (4k, 8k, 16k), bigger J-TLB (128x4) Shared Address Spaces (for sharing TLB entires in MMU) -Caches: New Prog Model, Region Flush -Insns: endian swap, load-locked/store-conditional, time-stamp-ctr endchoice config CPU_BIG_ENDIAN bool "Enable Big Endian Mode" default n help Build kernel for Big Endian Mode of ARC CPU # If a platform can't work with 0x8000_0000 based dma_addr_t config ARC_PLAT_NEEDS_CPU_TO_DMA bool config SMP bool "Symmetric Multi-Processing (Incomplete)" default n help This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. if SMP config ARC_HAS_COH_CACHES def_bool n config ARC_HAS_REENTRANT_IRQ_LV2 def_bool n endif config NR_CPUS int "Maximum number of CPUs (2-4096)" range 2 4096 depends on SMP default "2" menuconfig ARC_CACHE bool "Enable Cache Support" default y # if SMP, cache enabled ONLY if ARC implementation has cache coherency depends on !SMP || ARC_HAS_COH_CACHES if ARC_CACHE config ARC_CACHE_LINE_SHIFT int "Cache Line Length (as power of 2)" range 5 7 default "6" help Starting with ARC700 4.9, Cache line length is configurable, This option specifies "N", with Line-len = 2 power N So line lengths of 32, 64, 128 are specified by 5,6,7, respectively Linux only supports same line lengths for I and D caches. config ARC_HAS_ICACHE bool "Use Instruction Cache" default y config ARC_HAS_DCACHE bool "Use Data Cache" default y config ARC_CACHE_PAGES bool "Per Page Cache Control" default y depends on ARC_HAS_ICACHE || ARC_HAS_DCACHE help This can be used to over-ride the global I/D Cache Enable on a per-page basis (but only for pages accessed via MMU such as Kernel Virtual address or User Virtual Address) TLB entries have a per-page Cache Enable Bit. Note that Global I/D ENABLE + Per Page DISABLE works but corollary Global DISABLE + Per Page ENABLE won't work config ARC_CACHE_VIPT_ALIASING bool "Support VIPT Aliasing D$" depends on ARC_HAS_DCACHE default n endif #ARC_CACHE config ARC_HAS_ICCM bool "Use ICCM" help Single Cycle RAMS to store Fast Path Code default n config ARC_ICCM_SZ int "ICCM Size in KB" default "64" depends on ARC_HAS_ICCM config ARC_HAS_DCCM bool "Use DCCM" help Single Cycle RAMS to store Fast Path Data default n config ARC_DCCM_SZ int "DCCM Size in KB" default "64" depends on ARC_HAS_DCCM config ARC_DCCM_BASE hex "DCCM map address" default "0xA0000000" depends on ARC_HAS_DCCM config ARC_HAS_HW_MPY bool "Use Hardware Multiplier (Normal or Faster XMAC)" default y help Influences how gcc generates code for MPY operations. If enabled, MPYxx insns are generated, provided by Standard/XMAC Multipler. Otherwise software multipy lib is used choice prompt "ARC700 MMU Version" default ARC_MMU_V3 if ARC_CPU_770 default ARC_MMU_V2 if ARC_CPU_750D config ARC_MMU_V1 bool "MMU v1" help Orig ARC700 MMU config ARC_MMU_V2 bool "MMU v2" help Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio when 2 D-TLB and 1 I-TLB entries index into same 2way set. config ARC_MMU_V3 bool "MMU v3" depends on ARC_CPU_770 help Introduced with ARC700 4.10: New Features Variable Page size (1k-16k), var JTLB size 128 x (2 or 4) Shared Address Spaces (SASID) endchoice choice prompt "MMU Page Size" default ARC_PAGE_SIZE_8K config ARC_PAGE_SIZE_8K bool "8KB" help Choose between 8k vs 16k config ARC_PAGE_SIZE_16K bool "16KB" depends on ARC_MMU_V3 config ARC_PAGE_SIZE_4K bool "4KB" depends on ARC_MMU_V3 endchoice config ARC_COMPACT_IRQ_LEVELS bool "ARCompact IRQ Priorities: High(2)/Low(1)" default n # Timer HAS to be high priority, for any other high priority config select ARC_IRQ3_LV2 # if SMP, LV2 enabled ONLY if ARC implementation has LV2 re-entrancy depends on !SMP || ARC_HAS_REENTRANT_IRQ_LV2 if ARC_COMPACT_IRQ_LEVELS config ARC_IRQ3_LV2 bool config ARC_IRQ5_LV2 bool config ARC_IRQ6_LV2 bool endif config ARC_FPU_SAVE_RESTORE bool "Enable FPU state persistence across context switch" default n help Double Precision Floating Point unit had dedictaed regs which need to be saved/restored across context-switch. Note that ARC FPU is overly simplistic, unlike say x86, which has hardware pieces to allow software to conditionally save/restore, based on actual usage of FPU by a task. Thus our implemn does this for all tasks in system. config ARC_CANT_LLSC def_bool n menuconfig ARC_CPU_REL_4_10 bool "Enable support for Rel 4.10 features" default n help -ARC770 (and dependent features) enabled -ARC750 also shares some of the new features with 770 config ARC_HAS_LLSC bool "Insn: LLOCK/SCOND (efficient atomic ops)" default y depends on ARC_CPU_770 && !ARC_CANT_LLSC config ARC_HAS_SWAPE bool "Insn: SWAPE (endian-swap)" default y depends on ARC_CPU_REL_4_10 config ARC_HAS_RTSC bool "Insn: RTSC (64-bit r/o cycle counter)" default y depends on ARC_CPU_REL_4_10 depends on !SMP endmenu # "ARC CPU Configuration" config LINUX_LINK_BASE hex "Linux Link Address" default "0x80000000" help ARC700 divides the 32 bit phy address space into two equal halves -Lower 2G (0 - 0x7FFF_FFFF ) is user virtual, translated by MMU -Upper 2G (0x8000_0000 onwards) is untranslated, for kernel Typically Linux kernel is linked at the start of untransalted addr, hence the default value of 0x8zs. However some customers have peripherals mapped at this addr, so Linux needs to be scooted a bit. If you don't know what the above means, leave this setting alone. config ARC_CURR_IN_REG bool "Dedicate Register r25 for current_task pointer" default y help This reserved Register R25 to point to Current Task in kernel mode. This saves memory access for each such access config ARC_MISALIGN_ACCESS bool "Emulate unaligned memory access (userspace only)" default N select SYSCTL_ARCH_UNALIGN_NO_WARN select SYSCTL_ARCH_UNALIGN_ALLOW help This enables misaligned 16 & 32 bit memory access from user space. Use ONLY-IF-ABS-NECESSARY as it will be very slow and also can hide potential bugs in code config HZ int "Timer Frequency" default 100 config ARC_METAWARE_HLINK bool "Support for Metaware debugger assisted Host access" default n help This options allows a Linux userland apps to directly access host file system (open/creat/read/write etc) with help from Metaware Debugger. This can come in handy for Linux-host communication when there is no real usable peripheral such as EMAC. menuconfig ARC_DBG bool "ARC debugging" default y config ARC_DW2_UNWIND bool "Enable DWARF specific kernel stack unwind" depends on ARC_DBG default y select KALLSYMS help Compiles the kernel with DWARF unwind information and can be used to get stack backtraces. If you say Y here the resulting kernel image will be slightly larger but not slower, and it will give very useful debugging information. If you don't debug the kernel, you can say N, but we may not be able to solve problems without frame unwind information config ARC_DBG_TLB_PARANOIA bool "Paranoia Checks in Low Level TLB Handlers" depends on ARC_DBG default n config ARC_DBG_TLB_MISS_COUNT bool "Profile TLB Misses" default n select DEBUG_FS depends on ARC_DBG help Counts number of I and D TLB Misses and exports them via Debugfs The counters can be cleared via Debugfs as well config CMDLINE_UBOOT bool "Support U-boot kernel command line passing" default n help If you are using U-boot (www.denx.de) and wish to pass the kernel command line from the U-boot environment to the Linux kernel then switch this option on. ARC U-boot will setup the cmdline in RAM/flash and set r2 to point to it. kernel startup code will append this to DeviceTree /bootargs provided cmdline args. config ARC_BUILTIN_DTB_NAME string "Built in DTB" help Set the name of the DTB to embed in the vmlinux binary Leaving it blank selects the minimal "skeleton" dtb source "kernel/Kconfig.preempt" menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu endmenu # "ARC Architecture Configuration" source "mm/Kconfig" source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/arc/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # # Copyright (C) 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # menuconfig ARC_PLAT_FPGA_LEGACY bool "\"Legacy\" ARC FPGA dev Boards" select ISS_SMP_EXTN if SMP help Support for ARC development boards, provided by Synopsys. These are based on FPGA or ISS. e.g. - ARCAngel4 - ML509 - MetaWare ISS if ARC_PLAT_FPGA_LEGACY config ARC_BOARD_ANGEL4 bool "ARC Angel4" default y help ARC Angel4 FPGA Ref Platform (Xilinx Virtex Based) config ARC_BOARD_ML509 bool "ML509" help ARC ML509 FPGA Ref Platform (Xilinx Virtex-5 Based) config ISS_SMP_EXTN bool "ARC SMP Extensions (ISS Models only)" default n depends on SMP select ARC_HAS_COH_RTSC help SMP Extensions to ARC700, in a "simulation only" Model, supported in ARC ISS (Instruction Set Simulator). The SMP extensions include: -IDU (Interrupt Distribution Unit) -XTL (To enable CPU start/stop/set-PC for another CPU) It doesn't provide coherent Caches and/or Atomic Ops (LLOCK/SCOND) config ARC_SERIAL_BAUD int "UART Baud rate" default "115200" depends on SERIAL_ARC || SERIAL_ARC_CONSOLE help Baud rate for the ARC UART menuconfig ARC_HAS_BVCI_LAT_UNIT bool "BVCI Bus Latency Unit" depends on ARC_BOARD_ML509 || ARC_BOARD_ANGEL4 help IP to add artificial latency to BVCI Bus Based FPGA builds. The default latency (even worst case) for FPGA is non-realistic (~10 SDRAM, ~5 SSRAM). config BVCI_LAT_UNITS hex "Latency Unit(s) Bitmap" default "0x0" depends on ARC_HAS_BVCI_LAT_UNIT help There are multiple Latency Units corresponding to the many interfaces of the system bus arbiter (both CPU side as well as the peripheral side). To add latency to ALL memory transaction, choose Unit 0, otherwise for finer grainer - interface wise latency, specify a bitmap (1 bit per unit) of all units. e.g. 1,2,12 will be 0x1003 Unit 0 - System Arb and Mem Controller Unit 1 - I$ and System Bus Unit 2 - D$ and System Bus .. Unit 12 - IDE Disk controller and System Bus config BVCI_LAT_CYCLES int "Latency Value in cycles" range 0 63 default "30" depends on ARC_HAS_BVCI_LAT_UNIT endif # Abilis Systems TB10x platform kernel configuration file # # Author: Christian Ruppert # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA menuconfig ARC_PLAT_TB10X bool "Abilis TB10x" select COMMON_CLK select PINCTRL select PINCTRL_TB10X select PINMUX select ARCH_REQUIRE_GPIOLIB select GPIO_TB10X select TB10X_IRQC help Support for platforms based on the TB10x home media gateway SOC by Abilis Systems. TB10x is based on the ARC700 CPU architecture. Say Y if you are building a kernel for one of the SOCs in this series (e.g. TB100 or TB101). If in doubt say N. config ARM bool default y select ARCH_BINFMT_ELF_RANDOMIZE_PIE select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_EXTABLE_SORT if MMU select CLONE_BACKWARDS select CPU_PM if (SUSPEND || CPU_IDLE) select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI) select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_IDLE_POLL_SETUP select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_PCI_IOMAP select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select HARDIRQS_SW_RESEND select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL select HAVE_ARCH_KGDB select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT) select HAVE_ARCH_TRACEHOOK select HAVE_BPF_JIT select HAVE_CONTEXT_TRACKING select HAVE_C_RECORDMCOUNT select HAVE_DEBUG_KMEMLEAK select HAVE_DMA_API_DEBUG select HAVE_DMA_ATTRS select HAVE_DMA_CONTIGUOUS if MMU select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL) select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) select HAVE_GENERIC_DMA_COHERENT select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)) select HAVE_IDE if PCI || ISA || PCMCIA select HAVE_IRQ_TIME_ACCOUNTING select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZ4 select HAVE_KERNEL_LZMA select HAVE_KERNEL_LZO select HAVE_KERNEL_XZ select HAVE_KPROBES if !XIP_KERNEL select HAVE_KRETPROBES if (HAVE_KPROBES) select HAVE_MEMBLOCK select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND select HAVE_OPROFILE if (HAVE_PERF_EVENTS) select HAVE_PERF_EVENTS select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_SYSCALL_TRACEPOINTS select HAVE_UID16 select HAVE_VIRT_CPU_ACCOUNTING_GEN select IRQ_FORCED_THREADING select KTIME_SCALAR select MODULES_USE_ELF_REL select OLD_SIGACTION select OLD_SIGSUSPEND3 select PERF_USE_VMALLOC select RTC_LIB select SYS_SUPPORTS_APM_EMULATION # Above selects are sorted alphabetically; please add new ones # according to that. Thanks. help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and handhelds such as the Compaq IPAQ. ARM-based PCs are no longer manufactured, but legacy ARM-based PC hardware remains popular in Europe. There is an ARM Linux project with a web page at . config ARM_HAS_SG_CHAIN bool config NEED_SG_DMA_LENGTH bool config ARM_DMA_USE_IOMMU bool select ARM_HAS_SG_CHAIN select NEED_SG_DMA_LENGTH if ARM_DMA_USE_IOMMU config ARM_DMA_IOMMU_ALIGNMENT int "Maximum PAGE_SIZE order of alignment for DMA IOMMU buffers" range 4 9 default 8 help DMA mapping framework by default aligns all buffers to the smallest PAGE_SIZE order which is greater than or equal to the requested buffer size. This works well for buffers up to a few hundreds kilobytes, but for larger buffers it just a waste of address space. Drivers which has relatively small addressing window (like 64Mib) might run out of virtual space with just a few allocations. With this parameter you can specify the maximum PAGE_SIZE order for DMA IOMMU buffers. Larger buffers will be aligned only to this specified order. The order is expressed as a power of two multiplied by the PAGE_SIZE. endif config HAVE_PWM bool config MIGHT_HAVE_PCI bool config SYS_SUPPORTS_APM_EMULATION bool config HAVE_TCM bool select GENERIC_ALLOCATOR config HAVE_PROC_CPU bool config NO_IOPORT bool config EISA bool ---help--- The Extended Industry Standard Architecture (EISA) bus was developed as an open alternative to the IBM MicroChannel bus. The EISA bus provided some of the features of the IBM MicroChannel bus while maintaining backward compatibility with cards made for the older ISA bus. The EISA bus saw limited use between 1988 and 1995 when it was made obsolete by the PCI bus. Say Y here if you are building a kernel for an EISA-based machine. Otherwise, say N. config SBUS bool config STACKTRACE_SUPPORT bool default y config HAVE_LATENCYTOP_SUPPORT bool depends on !SMP default y config LOCKDEP_SUPPORT bool default y config TRACE_IRQFLAGS_SUPPORT bool default y config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool config ARCH_HAS_ILOG2_U64 bool config ARCH_HAS_CPUFREQ bool help Internal node to signify that the ARCH has CPUFREQ support and that the relevant menu configurations are displayed for it. config ARCH_HAS_BANDGAP bool config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config ARCH_MAY_HAVE_PC_FDC bool config ZONE_DMA bool config NEED_DMA_MAP_STATE def_bool y config ARCH_HAS_DMA_SET_COHERENT_MASK bool config GENERIC_ISA_DMA bool config FIQ bool config NEED_RET_TO_USER bool config ARCH_MTD_XIP bool config VECTORS_BASE hex default 0xffff0000 if MMU || CPU_HIGH_VECTOR default DRAM_BASE if REMAP_VECTORS_TO_RAM default 0x00000000 help The base address of exception vectors. This must be two pages in size. config ARM_PATCH_PHYS_VIRT bool "Patch physical to virtual translations at runtime" if EMBEDDED default y depends on !XIP_KERNEL && MMU depends on !ARCH_REALVIEW || !SPARSEMEM help Patch phys-to-virt and virt-to-phys translation functions at boot and module load time according to the position of the kernel in system memory. This can only be used with non-XIP MMU kernels where the base of physical memory is at a 16MB boundary. Only disable this option if you know that you do not require this feature (eg, building a kernel for a single machine) and you need to shrink the kernel to the minimal size. config NEED_MACH_GPIO_H bool help Select this when mach/gpio.h is required to provide special definitions for this platform. The need for mach/gpio.h should be avoided when possible. config NEED_MACH_IO_H bool help Select this when mach/io.h is required to provide special definitions for this platform. The need for mach/io.h should be avoided when possible. config NEED_MACH_MEMORY_H bool help Select this when mach/memory.h is required to provide special definitions for this platform. The need for mach/memory.h should be avoided when possible. config PHYS_OFFSET hex "Physical address of main memory" if MMU depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H default DRAM_BASE if !MMU help Please provide the physical address corresponding to the location of main memory in your system. config GENERIC_BUG def_bool y depends on BUG source "init/Kconfig" source "kernel/Kconfig.freezer" menu "System Type" config MMU bool "MMU-based Paged Memory Management Support" default y help Select if you want MMU-based virtualised addressing space support by paged memory management. If unsure, say 'Y'. # # The "ARM system type" choice list is ordered alphabetically by option # text. Please add new entries in the option alphabetic order. # choice prompt "ARM system type" default ARCH_VERSATILE if !MMU default ARCH_MULTIPLATFORM if MMU config ARCH_MULTIPLATFORM bool "Allow multiple platforms to be selected" depends on MMU select ARM_PATCH_PHYS_VIRT select AUTO_ZRELADDR select COMMON_CLK select MULTI_IRQ_HANDLER select SPARSE_IRQ select USE_OF config ARCH_INTEGRATOR bool "ARM Ltd. Integrator family" select ARCH_HAS_CPUFREQ select ARM_AMBA select COMMON_CLK select COMMON_CLK_VERSATILE select GENERIC_CLOCKEVENTS select HAVE_TCM select ICST select MULTI_IRQ_HANDLER select NEED_MACH_MEMORY_H select PLAT_VERSATILE select SPARSE_IRQ select USE_OF select VERSATILE_FPGA_IRQ help Support for ARM's Integrator platform. config ARCH_REALVIEW bool "ARM Ltd. RealView family" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_AMBA select ARM_TIMER_SP804 select COMMON_CLK select COMMON_CLK_VERSATILE select GENERIC_CLOCKEVENTS select GPIO_PL061 if GPIOLIB select ICST select NEED_MACH_MEMORY_H select PLAT_VERSATILE select PLAT_VERSATILE_CLCD help This enables support for ARM Ltd RealView boards. config ARCH_VERSATILE bool "ARM Ltd. Versatile family" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_AMBA select ARM_TIMER_SP804 select ARM_VIC select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select HAVE_MACH_CLKDEV select ICST select PLAT_VERSATILE select PLAT_VERSATILE_CLCD select PLAT_VERSATILE_CLOCK select VERSATILE_FPGA_IRQ help This enables support for ARM Ltd Versatile board. config ARCH_AT91 bool "Atmel AT91" select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select IRQ_DOMAIN select NEED_MACH_GPIO_H select NEED_MACH_IO_H if PCCARD select PINCTRL select PINCTRL_AT91 if USE_OF help This enables support for systems based on Atmel AT91RM9200 and AT91SAM9* processors. config ARCH_CLPS711X bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" select ARCH_REQUIRE_GPIOLIB select AUTO_ZRELADDR select CLKSRC_MMIO select COMMON_CLK select CPU_ARM720T select GENERIC_CLOCKEVENTS select MFD_SYSCON select MULTI_IRQ_HANDLER select SPARSE_IRQ help Support for Cirrus Logic 711x/721x/731x based boards. config ARCH_GEMINI bool "Cortina Systems Gemini" select ARCH_REQUIRE_GPIOLIB select CLKSRC_MMIO select CPU_FA526 select GENERIC_CLOCKEVENTS help Support for the Cortina Systems Gemini family SoCs config ARCH_EBSA110 bool "EBSA-110" select ARCH_USES_GETTIMEOFFSET select CPU_SA110 select ISA select NEED_MACH_IO_H select NEED_MACH_MEMORY_H select NO_IOPORT help This is an evaluation board for the StrongARM processor available from Digital. It has limited hardware on-board, including an Ethernet interface, two PCMCIA sockets, two serial ports and a parallel port. config ARCH_EP93XX bool "EP93xx-based" select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_REQUIRE_GPIOLIB select ARCH_USES_GETTIMEOFFSET select ARM_AMBA select ARM_VIC select CLKDEV_LOOKUP select CPU_ARM920T select NEED_MACH_MEMORY_H help This enables support for the Cirrus EP93xx series of CPUs. config ARCH_FOOTBRIDGE bool "FootBridge" select CPU_SA110 select FOOTBRIDGE select GENERIC_CLOCKEVENTS select HAVE_IDE select NEED_MACH_IO_H if !MMU select NEED_MACH_MEMORY_H help Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. config ARCH_NETX bool "Hilscher NetX based" select ARM_VIC select CLKSRC_MMIO select CPU_ARM926T select GENERIC_CLOCKEVENTS help This enables support for systems based on the Hilscher NetX Soc config ARCH_IOP13XX bool "IOP13xx-based" depends on MMU select CPU_XSC3 select NEED_MACH_MEMORY_H select NEED_RET_TO_USER select PCI select PLAT_IOP select VMSPLIT_1G help Support for Intel's IOP13XX (XScale) family of processors. config ARCH_IOP32X bool "IOP32x-based" depends on MMU select ARCH_REQUIRE_GPIOLIB select CPU_XSCALE select GPIO_IOP select NEED_RET_TO_USER select PCI select PLAT_IOP help Support for Intel's 80219 and IOP32X (XScale) family of processors. config ARCH_IOP33X bool "IOP33x-based" depends on MMU select ARCH_REQUIRE_GPIOLIB select CPU_XSCALE select GPIO_IOP select NEED_RET_TO_USER select PCI select PLAT_IOP help Support for Intel's IOP33X (XScale) family of processors. config ARCH_IXP4XX bool "IXP4xx-based" depends on MMU select ARCH_HAS_DMA_SET_COHERENT_MASK select ARCH_SUPPORTS_BIG_ENDIAN select ARCH_REQUIRE_GPIOLIB select CLKSRC_MMIO select CPU_XSCALE select DMABOUNCE if PCI select GENERIC_CLOCKEVENTS select MIGHT_HAVE_PCI select NEED_MACH_IO_H select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO help Support for Intel's IXP4XX (XScale) family of processors. config ARCH_DOVE bool "Marvell Dove" select ARCH_REQUIRE_GPIOLIB select CPU_PJ4 select GENERIC_CLOCKEVENTS select MIGHT_HAVE_PCI select MVEBU_MBUS select PINCTRL select PINCTRL_DOVE select PLAT_ORION_LEGACY select USB_ARCH_HAS_EHCI help Support for the Marvell Dove SoC 88AP510 config ARCH_KIRKWOOD bool "Marvell Kirkwood" select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select CPU_FEROCEON select GENERIC_CLOCKEVENTS select MVEBU_MBUS select PCI select PCI_QUIRKS select PINCTRL select PINCTRL_KIRKWOOD select PLAT_ORION_LEGACY help Support for the following Marvell Kirkwood series SoCs: 88F6180, 88F6192 and 88F6281. config ARCH_MV78XX0 bool "Marvell MV78xx0" select ARCH_REQUIRE_GPIOLIB select CPU_FEROCEON select GENERIC_CLOCKEVENTS select MVEBU_MBUS select PCI select PLAT_ORION_LEGACY help Support for the following Marvell MV78xx0 series SoCs: MV781x0, MV782x0. config ARCH_ORION5X bool "Marvell Orion" depends on MMU select ARCH_REQUIRE_GPIOLIB select CPU_FEROCEON select GENERIC_CLOCKEVENTS select MVEBU_MBUS select PCI select PLAT_ORION_LEGACY help Support for the following Marvell Orion 5x series SoCs: Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), Orion-2 (5281), Orion-1-90 (6183). config ARCH_MMP bool "Marvell PXA168/910/MMP2" depends on MMU select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select GENERIC_ALLOCATOR select GENERIC_CLOCKEVENTS select GPIO_PXA select IRQ_DOMAIN select MULTI_IRQ_HANDLER select PINCTRL select PLAT_PXA select SPARSE_IRQ help Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. config ARCH_KS8695 bool "Micrel/Kendin KS8695" select ARCH_REQUIRE_GPIOLIB select CLKSRC_MMIO select CPU_ARM922T select GENERIC_CLOCKEVENTS select NEED_MACH_MEMORY_H help Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based System-on-Chip devices. config ARCH_W90X900 bool "Nuvoton W90X900 CPU" select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_MMIO select CPU_ARM926T select GENERIC_CLOCKEVENTS help Support for Nuvoton (Winbond logic dept.) ARM9 processor, At present, the w90x900 has been renamed nuc900, regarding the ARM series product line, you can login the following link address to know more. config ARCH_LPC32XX bool "NXP LPC32XX" select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select CLKDEV_LOOKUP select CLKSRC_MMIO select CPU_ARM926T select GENERIC_CLOCKEVENTS select HAVE_IDE select HAVE_PWM select USB_ARCH_HAS_OHCI select USE_OF help Support for the NXP LPC32XX family of processors config ARCH_PXA bool "PXA2xx/PXA3xx-based" depends on MMU select ARCH_HAS_CPUFREQ select ARCH_MTD_XIP select ARCH_REQUIRE_GPIOLIB select ARM_CPU_SUSPEND if PM select AUTO_ZRELADDR select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select GPIO_PXA select HAVE_IDE select MULTI_IRQ_HANDLER select PLAT_PXA select SPARSE_IRQ help Support for Intel/Marvell's PXA2xx/PXA3xx processor line. config ARCH_MSM bool "Qualcomm MSM" select ARCH_REQUIRE_GPIOLIB select CLKSRC_OF if OF select COMMON_CLK select GENERIC_CLOCKEVENTS help Support for Qualcomm MSM/QSD based systems. This runs on the apps processor of the MSM/QSD and depends on a shared memory interface to the modem processor which runs the baseband stack and controls some vital subsystems (clock and power control, etc). config ARCH_SHMOBILE bool "Renesas SH-Mobile / R-Mobile" select ARM_PATCH_PHYS_VIRT select CLKDEV_LOOKUP select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_MACH_CLKDEV select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select MULTI_IRQ_HANDLER select NO_IOPORT select PINCTRL select PM_GENERIC_DOMAINS if PM select SPARSE_IRQ help Support for Renesas's SH-Mobile and R-Mobile ARM platforms. config ARCH_RPC bool "RiscPC" select ARCH_ACORN select ARCH_MAY_HAVE_PC_FDC select ARCH_SPARSEMEM_ENABLE select ARCH_USES_GETTIMEOFFSET select FIQ select HAVE_IDE select HAVE_PATA_PLATFORM select ISA_DMA_API select NEED_MACH_IO_H select NEED_MACH_MEMORY_H select NO_IOPORT select VIRT_TO_BUS help On the Acorn Risc-PC, Linux can support the internal IDE disk and CD-ROM interface, serial and parallel port, and the floppy drive. config ARCH_SA1100 bool "SA1100-based" select ARCH_HAS_CPUFREQ select ARCH_MTD_XIP select ARCH_REQUIRE_GPIOLIB select ARCH_SPARSEMEM_ENABLE select CLKDEV_LOOKUP select CLKSRC_MMIO select CPU_FREQ select CPU_SA1100 select GENERIC_CLOCKEVENTS select HAVE_IDE select ISA select NEED_MACH_MEMORY_H select SPARSE_IRQ help Support for StrongARM 11x0 based boards. config ARCH_S3C24XX bool "Samsung S3C24XX SoCs" select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select MULTI_IRQ_HANDLER select NEED_MACH_GPIO_H select NEED_MACH_IO_H select SAMSUNG_ATAGS help Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST (), the IPAQ 1940 or the Samsung SMDK2410 development board (and derivatives). config ARCH_S3C64XX bool "Samsung S3C64XX" select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select ARM_VIC select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select COMMON_CLK select CPU_V6 select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_TCM select NEED_MACH_GPIO_H select NO_IOPORT select PLAT_SAMSUNG select PM_GENERIC_DOMAINS select S3C_DEV_NAND select S3C_GPIO_TRACK select SAMSUNG_ATAGS select SAMSUNG_GPIOLIB_4BIT select SAMSUNG_WAKEMASK select SAMSUNG_WDT_RESET select USB_ARCH_HAS_OHCI help Samsung S3C64XX series based systems config ARCH_S5P64X0 bool "Samsung S5P6440 S5P6450" select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select CPU_V6 select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_GPIO_H select SAMSUNG_ATAGS select SAMSUNG_WDT_RESET help Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, SMDK6450. config ARCH_S5PC100 bool "Samsung S5PC100" select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select CPU_V7 select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_GPIO_H select SAMSUNG_ATAGS select SAMSUNG_WDT_RESET help Samsung S5PC100 series based systems config ARCH_S5PV210 bool "Samsung S5PV210/S5PC110" select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_SPARSEMEM_ENABLE select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select CPU_V7 select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_GPIO_H select NEED_MACH_MEMORY_H select SAMSUNG_ATAGS help Samsung S5PV210/S5PC110 series based systems config ARCH_EXYNOS bool "Samsung EXYNOS" select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_REQUIRE_GPIOLIB select ARCH_SPARSEMEM_ENABLE select ARM_GIC select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C_RTC if RTC_CLASS select NEED_MACH_MEMORY_H select SPARSE_IRQ select USE_OF help Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5) config ARCH_DAVINCI bool "TI DaVinci" select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select GENERIC_ALLOCATOR select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select HAVE_IDE select TI_PRIV_EDMA select USE_OF select ZONE_DMA help Support for TI's DaVinci platform. config ARCH_OMAP1 bool "TI OMAP1" depends on MMU select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_OMAP select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select HAVE_IDE select IRQ_DOMAIN select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H help Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx) endchoice menu "Multiple platform selection" depends on ARCH_MULTIPLATFORM comment "CPU Core family selection" config ARCH_MULTI_V4T bool "ARMv4T based platforms (ARM720T, ARM920T, ...)" depends on !ARCH_MULTI_V6_V7 select ARCH_MULTI_V4_V5 select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \ CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \ CPU_ARM925T || CPU_ARM940T) config ARCH_MULTI_V5 bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)" depends on !ARCH_MULTI_V6_V7 select ARCH_MULTI_V4_V5 select CPU_ARM926T if (!CPU_ARM946E || CPU_ARM1020 || \ CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \ CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON) config ARCH_MULTI_V4_V5 bool config ARCH_MULTI_V6 bool "ARMv6 based platforms (ARM11)" select ARCH_MULTI_V6_V7 select CPU_V6 config ARCH_MULTI_V7 bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" default y select ARCH_MULTI_V6_V7 select CPU_V7 config ARCH_MULTI_V6_V7 bool config ARCH_MULTI_CPU_AUTO def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7) select ARCH_MULTI_V5 endmenu # # This is sorted alphabetically by mach-* pathname. However, plat-* # Kconfigs may be included either alphabetically (according to the # plat- suffix) or along side the corresponding mach-* source. # source "arch/arm/mach-mvebu/Kconfig" source "arch/arm/mach-at91/Kconfig" source "arch/arm/mach-bcm/Kconfig" source "arch/arm/mach-bcm2835/Kconfig" source "arch/arm/mach-clps711x/Kconfig" source "arch/arm/mach-cns3xxx/Kconfig" source "arch/arm/mach-davinci/Kconfig" source "arch/arm/mach-dove/Kconfig" source "arch/arm/mach-ep93xx/Kconfig" source "arch/arm/mach-footbridge/Kconfig" source "arch/arm/mach-gemini/Kconfig" source "arch/arm/mach-highbank/Kconfig" source "arch/arm/mach-integrator/Kconfig" source "arch/arm/mach-iop32x/Kconfig" source "arch/arm/mach-iop33x/Kconfig" source "arch/arm/mach-iop13xx/Kconfig" source "arch/arm/mach-ixp4xx/Kconfig" source "arch/arm/mach-keystone/Kconfig" source "arch/arm/mach-kirkwood/Kconfig" source "arch/arm/mach-ks8695/Kconfig" source "arch/arm/mach-msm/Kconfig" source "arch/arm/mach-mv78xx0/Kconfig" source "arch/arm/mach-imx/Kconfig" source "arch/arm/mach-mxs/Kconfig" source "arch/arm/mach-netx/Kconfig" source "arch/arm/mach-nomadik/Kconfig" source "arch/arm/mach-nspire/Kconfig" source "arch/arm/plat-omap/Kconfig" source "arch/arm/mach-omap1/Kconfig" source "arch/arm/mach-omap2/Kconfig" source "arch/arm/mach-orion5x/Kconfig" source "arch/arm/mach-picoxcell/Kconfig" source "arch/arm/mach-pxa/Kconfig" source "arch/arm/plat-pxa/Kconfig" source "arch/arm/mach-mmp/Kconfig" source "arch/arm/mach-realview/Kconfig" source "arch/arm/mach-rockchip/Kconfig" source "arch/arm/mach-sa1100/Kconfig" source "arch/arm/plat-samsung/Kconfig" source "arch/arm/mach-socfpga/Kconfig" source "arch/arm/mach-spear/Kconfig" source "arch/arm/mach-sti/Kconfig" source "arch/arm/mach-s3c24xx/Kconfig" source "arch/arm/mach-s3c64xx/Kconfig" source "arch/arm/mach-s5p64x0/Kconfig" source "arch/arm/mach-s5pc100/Kconfig" source "arch/arm/mach-s5pv210/Kconfig" source "arch/arm/mach-exynos/Kconfig" source "arch/arm/mach-shmobile/Kconfig" source "arch/arm/mach-sunxi/Kconfig" source "arch/arm/mach-prima2/Kconfig" source "arch/arm/mach-tegra/Kconfig" source "arch/arm/mach-u300/Kconfig" source "arch/arm/mach-ux500/Kconfig" source "arch/arm/mach-versatile/Kconfig" source "arch/arm/mach-vexpress/Kconfig" source "arch/arm/plat-versatile/Kconfig" source "arch/arm/mach-virt/Kconfig" source "arch/arm/mach-vt8500/Kconfig" source "arch/arm/mach-w90x900/Kconfig" source "arch/arm/mach-zynq/Kconfig" # Definitions to make life easier config ARCH_ACORN bool config PLAT_IOP bool select GENERIC_CLOCKEVENTS config PLAT_ORION bool select CLKSRC_MMIO select COMMON_CLK select GENERIC_IRQ_CHIP select IRQ_DOMAIN config PLAT_ORION_LEGACY bool select PLAT_ORION config PLAT_PXA bool config PLAT_VERSATILE bool config ARM_TIMER_SP804 bool select CLKSRC_MMIO select CLKSRC_OF if OF source arch/arm/mm/Kconfig config ARM_NR_BANKS int default 16 if ARCH_EP93XX default 8 config IWMMXT bool "Enable iWMMXt support" if !CPU_PJ4 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 help Enable support for iWMMXt context switching at run time if running on a CPU that supports it. config MULTI_IRQ_HANDLER bool help Allow each machine to specify it's own IRQ handler at run time. if !MMU source "arch/arm/Kconfig-nommu" endif config PJ4B_ERRATA_4742 bool "PJ4B Errata 4742: IDLE Wake Up Commands can Cause the CPU Core to Cease Operation" depends on CPU_PJ4B && MACH_ARMADA_370 default y help When coming out of either a Wait for Interrupt (WFI) or a Wait for Event (WFE) IDLE states, a specific timing sensitivity exists between the retiring WFI/WFE instructions and the newly issued subsequent instructions. This sensitivity can result in a CPU hang scenario. Workaround: The software must insert either a Data Synchronization Barrier (DSB) or Data Memory Barrier (DMB) command immediately after the WFI/WFE instruction config ARM_ERRATA_326103 bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory" depends on CPU_V6 help Executing a SWP instruction to read-only memory does not set bit 11 of the FSR on the ARM 1136 prior to r1p0. This causes the kernel to treat the access as a read, preventing a COW from occurring and causing the faulting task to livelock. config ARM_ERRATA_411920 bool "ARM errata: Invalidation of the Instruction Cache operation can fail" depends on CPU_V6 || CPU_V6K help Invalidation of the Instruction Cache operation can fail. This erratum is present in 1136 (before r1p4), 1156 and 1176. It does not affect the MPCore. This option enables the ARM Ltd. recommended workaround. config ARM_ERRATA_430973 bool "ARM errata: Stale prediction on replaced interworking branch" depends on CPU_V7 help This option enables the workaround for the 430973 Cortex-A8 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb interworking branch is replaced with another code sequence at the same virtual address, whether due to self-modifying code or virtual to physical address re-mapping, Cortex-A8 does not recover from the stale interworking branch prediction. This results in Cortex-A8 executing the new code sequence in the incorrect ARM or Thumb state. The workaround enables the BTB/BTAC operations by setting ACTLR.IBE and also flushes the branch target cache at every context switch. Note that setting specific bits in the ACTLR register may not be available in non-secure mode. config ARM_ERRATA_458693 bool "ARM errata: Processor deadlock when a false hazard is created" depends on CPU_V7 depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 458693 Cortex-A8 (r2p0) erratum. For very specific sequences of memory operations, it is possible for a hazard condition intended for a cache line to instead be incorrectly associated with a different cache line. This false hazard might then cause a processor deadlock. The workaround enables the L1 caching of the NEON accesses and disables the PLD instruction in the ACTLR register. Note that setting specific bits in the ACTLR register may not be available in non-secure mode. config ARM_ERRATA_460075 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data" depends on CPU_V7 depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 460075 Cortex-A8 (r2p0) erratum. Any asynchronous access to the L2 cache may encounter a situation in which recent store transactions to the L2 cache are lost and overwritten with stale memory contents from external memory. The workaround disables the write-allocate mode for the L2 cache via the ACTLR register. Note that setting specific bits in the ACTLR register may not be available in non-secure mode. config ARM_ERRATA_742230 bool "ARM errata: DMB operation may be faulty" depends on CPU_V7 && SMP depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 742230 Cortex-A9 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction between two write operations may not ensure the correct visibility ordering of the two writes. This workaround sets a specific bit in the diagnostic register of the Cortex-A9 which causes the DMB instruction to behave as a DSB, ensuring the correct behaviour of the two writes. config ARM_ERRATA_742231 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption" depends on CPU_V7 && SMP depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 742231 Cortex-A9 (r2p0..r2p2) erratum. Under certain conditions, specific to the Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode, accessing some data located in the same cache line, may get corrupted data due to bad handling of the address hazard when the line gets replaced from one of the CPUs at the same time as another CPU is accessing it. This workaround sets specific bits in the diagnostic register of the Cortex-A9 which reduces the linefill issuing capabilities of the processor. config PL310_ERRATA_588369 bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" depends on CACHE_L2X0 help The PL310 L2 cache controller implements three types of Clean & Invalidate maintenance operations: by Physical Address (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC). They are architecturally defined to behave as the execution of a clean operation followed immediately by an invalidate operation, both performing to the same memory location. This functionality is not correctly implemented in PL310 as clean lines are not invalidated as a result of these operations. config ARM_ERRATA_643719 bool "ARM errata: LoUIS bit field in CLIDR register is incorrect" depends on CPU_V7 && SMP help This option enables the workaround for the 643719 Cortex-A9 (prior to r1p0) erratum. On affected cores the LoUIS bit field of the CLIDR register returns zero when it should return one. The workaround corrects this value, ensuring cache maintenance operations which use it behave as intended and avoiding data corruption. config ARM_ERRATA_720789 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" depends on CPU_V7 help This option enables the workaround for the 720789 Cortex-A9 (prior to r2p0) erratum. A faulty ASID can be sent to the other CPUs for the broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS. As a consequence of this erratum, some TLB entries which should be invalidated are not, resulting in an incoherency in the system page tables. The workaround changes the TLB flushing routines to invalidate entries regardless of the ASID. config PL310_ERRATA_727915 bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" depends on CACHE_L2X0 help PL310 implements the Clean & Invalidate by Way L2 cache maintenance operation (offset 0x7FC). This operation runs in background so that PL310 can handle normal accesses while it is in progress. Under very rare circumstances, due to this erratum, write data can be lost when PL310 treats a cacheable write transaction during a Clean & Invalidate by Way operation. config ARM_ERRATA_743622 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" depends on CPU_V7 depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 743622 Cortex-A9 (r2p*) erratum. Under very rare conditions, a faulty optimisation in the Cortex-A9 Store Buffer may lead to data corruption. This workaround sets a specific bit in the diagnostic register of the Cortex-A9 which disables the Store Buffer optimisation, preventing the defect from occurring. This has no visible impact on the overall performance or power consumption of the processor. config ARM_ERRATA_751472 bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation" depends on CPU_V7 depends on !ARCH_MULTIPLATFORM help This option enables the workaround for the 751472 Cortex-A9 (prior to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the completion of a following broadcasted operation if the second operation is received by a CPU before the ICIALLUIS has completed, potentially leading to corrupted entries in the cache or TLB. config PL310_ERRATA_753970 bool "PL310 errata: cache sync operation may be faulty" depends on CACHE_PL310 help This option enables the workaround for the 753970 PL310 (r3p0) erratum. Under some condition the effect of cache sync operation on the store buffer still remains when the operation completes. This means that the store buffer is always asked to drain and this prevents it from merging any further writes. The workaround is to replace the normal offset of cache sync operation (0x730) by another offset targeting an unmapped PL310 register 0x740. This has the same effect as the cache sync operation: store buffer drain and waiting for all buffers empty. config ARM_ERRATA_754322 bool "ARM errata: possible faulty MMU translations following an ASID switch" depends on CPU_V7 help This option enables the workaround for the 754322 Cortex-A9 (r2p*, r3p*) erratum. A speculative memory access may cause a page table walk which starts prior to an ASID switch but completes afterwards. This can populate the micro-TLB with a stale entry which may be hit with the new ASID. This workaround places two dsb instructions in the mm switching code so that no page table walks can cross the ASID switch. config ARM_ERRATA_754327 bool "ARM errata: no automatic Store Buffer drain" depends on CPU_V7 && SMP help This option enables the workaround for the 754327 Cortex-A9 (prior to r2p0) erratum. The Store Buffer does not have any automatic draining mechanism and therefore a livelock may occur if an external agent continuously polls a memory location waiting to observe an update. This workaround defines cpu_relax() as smp_mb(), preventing correctly written polling loops from denying visibility of updates to memory. config ARM_ERRATA_364296 bool "ARM errata: Possible cache data corruption with hit-under-miss enabled" depends on CPU_V6 help This options enables the workaround for the 364296 ARM1136 r0p2 erratum (possible cache data corruption with hit-under-miss enabled). It sets the undocumented bit 31 in the auxiliary control register and the FI bit in the control register, thus disabling hit-under-miss without putting the processor into full low interrupt latency mode. ARM11MPCore is not affected. config ARM_ERRATA_764369 bool "ARM errata: Data cache line maintenance operation by MVA may not succeed" depends on CPU_V7 && SMP help This option enables the workaround for erratum 764369 affecting Cortex-A9 MPCore with two or more processors (all current revisions). Under certain timing circumstances, a data cache line maintenance operation by MVA targeting an Inner Shareable memory region may fail to proceed up to either the Point of Coherency or to the Point of Unification of the system. This workaround adds a DSB instruction before the relevant cache maintenance functions and sets a specific bit in the diagnostic control register of the SCU. config PL310_ERRATA_769419 bool "PL310 errata: no automatic Store Buffer drain" depends on CACHE_L2X0 help On revisions of the PL310 prior to r3p2, the Store Buffer does not automatically drain. This can cause normal, non-cacheable writes to be retained when the memory system is idle, leading to suboptimal I/O performance for drivers using coherent DMA. This option adds a write barrier to the cpu_idle loop so that, on systems with an outer cache, the store buffer is drained explicitly. config ARM_ERRATA_775420 bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock" depends on CPU_V7 help This option enables the workaround for the 775420 Cortex-A9 (r2p2, r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance operation aborts with MMU exception, it might cause the processor to deadlock. This workaround puts DSB before executing ISB if an abort may occur on cache maintenance. config ARM_ERRATA_798181 bool "ARM errata: TLBI/DSB failure on Cortex-A15" depends on CPU_V7 && SMP help On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not adequately shooting down all use of the old entries. This option enables the Linux kernel workaround for this erratum which sends an IPI to the CPUs that are running the same ASID as the one being invalidated. config ARM_ERRATA_773022 bool "ARM errata: incorrect instructions may be executed from loop buffer" depends on CPU_V7 help This option enables the workaround for the 773022 Cortex-A15 (up to r0p4) erratum. In certain rare sequences of code, the loop buffer may deliver incorrect instructions. This workaround disables the loop buffer to avoid the erratum. endmenu source "arch/arm/common/Kconfig" menu "Bus support" config ARM_AMBA bool config ISA bool help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are PCI, EISA, MicroChannel (MCA) or VESA. ISA is an older system, now being displaced by PCI; newer boards don't support it. If you have ISA, say Y, otherwise N. # Select ISA DMA controller support config ISA_DMA bool select ISA_DMA_API # Select ISA DMA interface config ISA_DMA_API bool config PCI bool "PCI support" if MIGHT_HAVE_PCI help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. config PCI_DOMAINS bool depends on PCI config PCI_NANOENGINE bool "BSE nanoEngine PCI support" depends on SA1100_NANOENGINE help Enable PCI on the BSE nanoEngine board. config PCI_SYSCALL def_bool PCI config PCI_HOST_ITE8152 bool depends on PCI && MACH_ARMCORE default y select DMABOUNCE source "drivers/pci/Kconfig" source "drivers/pci/pcie/Kconfig" source "drivers/pcmcia/Kconfig" endmenu menu "Kernel Features" config HAVE_SMP bool help This option should be selected by machines which have an SMP- capable CPU. The only effect of this option is to make the SMP-related options available to the user for configuration. config SMP bool "Symmetric Multi-Processing" depends on CPU_V6K || CPU_V7 depends on GENERIC_CLOCKEVENTS depends on HAVE_SMP depends on MMU || ARM_MPU help This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, single processor machines. On a single processor machine, the kernel will run faster if you say N here. See also , and the SMP-HOWTO available at . If you don't know what to do here, say N. config SMP_ON_UP bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)" depends on SMP && !XIP_KERNEL && MMU default y help SMP kernels contain instructions which fail on non-SMP processors. Enabling this option allows the kernel to modify itself to make these instructions safe. Disabling it allows about 1K of space savings. If you don't know what to do here, say Y. config ARM_CPU_TOPOLOGY bool "Support cpu topology definition" depends on SMP && CPU_V7 default y help Support ARM cpu topology definition. The MPIDR register defines affinity between processors which is then used to describe the cpu topology of an ARM System. config SCHED_MC bool "Multi-core scheduler support" depends on ARM_CPU_TOPOLOGY help Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. config SCHED_SMT bool "SMT scheduler support" depends on ARM_CPU_TOPOLOGY help Improves the CPU scheduler's decision making when dealing with MultiThreading at a cost of slightly increased overhead in some places. If unsure say N here. config HAVE_ARM_SCU bool help This option enables support for the ARM system coherency unit config HAVE_ARM_ARCH_TIMER bool "Architected timer support" depends on CPU_V7 select ARM_ARCH_TIMER select GENERIC_CLOCKEVENTS help This option enables support for the ARM architected timer config HAVE_ARM_TWD bool depends on SMP select CLKSRC_OF if OF help This options enables support for the ARM timer and watchdog unit config MCPM bool "Multi-Cluster Power Management" depends on CPU_V7 && SMP help This option provides the common power management infrastructure for (multi-)cluster based systems, such as big.LITTLE based systems. config BIG_LITTLE bool "big.LITTLE support (Experimental)" depends on CPU_V7 && SMP select MCPM help This option enables support selections for the big.LITTLE system architecture. config BL_SWITCHER bool "big.LITTLE switcher support" depends on BIG_LITTLE && MCPM && HOTPLUG_CPU select CPU_PM select ARM_CPU_SUSPEND help The big.LITTLE "switcher" provides the core functionality to transparently handle transition between a cluster of A15's and a cluster of A7's in a big.LITTLE system. config BL_SWITCHER_DUMMY_IF tristate "Simple big.LITTLE switcher user interface" depends on BL_SWITCHER && DEBUG_KERNEL help This is a simple and dummy char dev interface to control the big.LITTLE switcher core code. It is meant for debugging purposes only. choice prompt "Memory split" default VMSPLIT_3G help Select the desired split between kernel and user memory. If you are not absolutely sure what you are doing, leave this option alone! config VMSPLIT_3G bool "3G/1G user/kernel split" config VMSPLIT_2G bool "2G/2G user/kernel split" config VMSPLIT_1G bool "1G/3G user/kernel split" endchoice config PAGE_OFFSET hex default 0x40000000 if VMSPLIT_1G default 0x80000000 if VMSPLIT_2G default 0xC0000000 config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "4" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. config ARM_PSCI bool "Support for the ARM Power State Coordination Interface (PSCI)" depends on CPU_V7 help Say Y here if you want Linux to communicate with system firmware implementing the PSCI specification for CPU-centric power management operations described in ARM document number ARM DEN 0022A ("Power State Coordination Interface System Software on ARM processors"). # The GPIO number here must be sorted by descending number. In case of # a multiplatform kernel, we just want the highest value required by the # selected platforms. config ARCH_NR_GPIO int default 1024 if ARCH_SHMOBILE || ARCH_TEGRA default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX default 392 if ARCH_U8500 default 352 if ARCH_VT8500 default 288 if ARCH_SUNXI default 264 if MACH_H4700 default 0 help Maximum number of GPIOs in the system. If unsure, leave the default value. source kernel/Kconfig.preempt config HZ_FIXED int default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \ ARCH_S5PV210 || ARCH_EXYNOS4 default AT91_TIMER_HZ if ARCH_AT91 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE default 0 choice depends on HZ_FIXED = 0 prompt "Timer frequency" config HZ_100 bool "100 Hz" config HZ_200 bool "200 Hz" config HZ_250 bool "250 Hz" config HZ_300 bool "300 Hz" config HZ_500 bool "500 Hz" config HZ_1000 bool "1000 Hz" endchoice config HZ int default HZ_FIXED if HZ_FIXED != 0 default 100 if HZ_100 default 200 if HZ_200 default 250 if HZ_250 default 300 if HZ_300 default 500 if HZ_500 default 1000 config SCHED_HRTICK def_bool HIGH_RES_TIMERS config SCHED_HRTICK def_bool HIGH_RES_TIMERS config THUMB2_KERNEL bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K default y if CPU_THUMBONLY select AEABI select ARM_ASM_UNIFIED select ARM_UNWIND help By enabling this option, the kernel will be compiled in Thumb-2 mode. A compiler/assembler that understand the unified ARM-Thumb syntax is needed. If unsure, say N. config THUMB2_AVOID_R_ARM_THM_JUMP11 bool "Work around buggy Thumb-2 short branch relocations in gas" depends on THUMB2_KERNEL && MODULES default y help Various binutils versions can resolve Thumb-2 branches to locally-defined, preemptible global symbols as short-range "b.n" branch instructions. This is a problem, because there's no guarantee the final destination of the symbol, or any candidate locations for a trampoline, are within range of the branch. For this reason, the kernel does not support fixing up the R_ARM_THM_JUMP11 (102) relocation in modules at all, and it makes little sense to add support. The symptom is that the kernel fails with an "unsupported relocation" error when loading some modules. Until fixed tools are available, passing -fno-optimize-sibling-calls to gcc should prevent gcc generating code which hits this problem, at the cost of a bit of extra runtime stack usage in some cases. The problem is described in more detail at: https://bugs.launchpad.net/binutils-linaro/+bug/725126 Only Thumb-2 kernels are affected. Unless you are sure your tools don't have this problem, say Y. config ARM_ASM_UNIFIED bool config AEABI bool "Use the ARM EABI to compile the kernel" help This option allows for the kernel to be compiled using the latest ARM ABI (aka EABI). This is only useful if you are using a user space environment that is also compiled with EABI. Since there are major incompatibilities between the legacy ABI and EABI, especially with regard to structure member alignment, this option also changes the kernel syscall calling convention to disambiguate both ABIs and allow for backward compatibility support (selected with CONFIG_OABI_COMPAT). To use this you need GCC version 4.0.0 or later. config OABI_COMPAT bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)" depends on AEABI && !THUMB2_KERNEL help This option preserves the old syscall interface along with the new (ARM EABI) one. It also provides a compatibility layer to intercept syscalls that have structure arguments which layout in memory differs between the legacy ABI and the new ARM EABI (only for non "thumb" binaries). This option adds a tiny overhead to all syscalls and produces a slightly larger kernel. The seccomp filter system will not be available when this is selected, since there is no way yet to sensibly distinguish between calling conventions during filtering. If you know you'll be using only pure EABI user space then you can say N here. If this option is not selected and you attempt to execute a legacy ABI binary then the result will be UNPREDICTABLE (in fact it can be predicted that it won't work at all). If in doubt say N. config ARCH_HAS_HOLES_MEMORYMODEL bool config ARCH_SPARSEMEM_ENABLE bool config ARCH_SPARSEMEM_DEFAULT def_bool ARCH_SPARSEMEM_ENABLE config ARCH_SELECT_MEMORY_MODEL def_bool ARCH_SPARSEMEM_ENABLE config HAVE_ARCH_PFN_VALID def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM config HIGHMEM bool "High Memory Support" depends on MMU help The address space of ARM processors is only 4 Gigabytes large and it has to accommodate user address space, kernel address space as well as some memory mapped IO. That means that, if you have a large amount of physical memory and/or IO, not all of the memory can be "permanently mapped" by the kernel. The physical memory that is not permanently mapped is called "high memory". Depending on the selected kernel/user memory split, minimum vmalloc space and actual amount of RAM, you may not need this option which should result in a slightly faster kernel. If unsure, say n. config HIGHPTE bool "Allocate 2nd-level pagetables from highmem" depends on HIGHMEM config HW_PERF_EVENTS bool "Enable hardware performance counter support for perf events" depends on PERF_EVENTS default y help Enable hardware performance counter support for perf events. If disabled, perf events will use software events only. config SYS_SUPPORTS_HUGETLBFS def_bool y depends on ARM_LPAE config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y depends on ARM_LPAE config ARCH_WANT_GENERAL_HUGETLB def_bool y source "mm/Kconfig" config FORCE_MAX_ZONEORDER int "Maximum zone order" if ARCH_SHMOBILE range 11 64 if ARCH_SHMOBILE default "12" if SOC_AM33XX default "9" if SA1111 default "11" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. config ALIGNMENT_TRAP bool depends on CPU_CP15_MMU default y if !ARCH_EBSA110 select HAVE_PROC_CPU if PROC_FS help ARM processors cannot fetch/store information which is not naturally aligned on the bus, i.e., a 4 byte fetch must start at an address divisible by 4. On 32-bit ARM processors, these non-aligned fetch/store instructions will be emulated in software if you say here, which has a severe performance impact. This is necessary for correct operation of some network protocols. With an IP-only configuration it is safe to say N, otherwise say Y. config UACCESS_WITH_MEMCPY bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()" depends on MMU default y if CPU_FEROCEON help Implement faster copy_to_user and clear_user methods for CPU cores where a 8-word STM instruction give significantly higher memory write throughput than a sequence of individual 32bit stores. A possible side effect is a slight increase in scheduling latency between threads sharing the same address space if they invoke such copy operations with large buffers. However, if the CPU data cache is using a write-allocate mode, this option is unlikely to provide any performance gain. config SECCOMP bool prompt "Enable seccomp to safely compute untrusted bytecode" ---help--- This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via prctl(PR_SET_SECCOMP), it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. config CC_STACKPROTECTOR bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" help This option turns on the -fstack-protector GCC feature. This feature puts, at the beginning of functions, a canary value on the stack just before the return address, and validates the value just before actually returning. Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected and the attack is then neutralized via a kernel panic. This feature requires gcc version 4.2 or above. config SWIOTLB def_bool y config IOMMU_HELPER def_bool SWIOTLB config XEN_DOM0 def_bool y depends on XEN config XEN bool "Xen guest support on ARM (EXPERIMENTAL)" depends on ARM && AEABI && OF depends on CPU_V7 && !CPU_V6 depends on !GENERIC_ATOMIC64 select ARM_PSCI select SWIOTLB_XEN help Say Y if you want to run Linux in a Virtual Machine on Xen on ARM. endmenu menu "Boot options" config USE_OF bool "Flattened Device Tree support" select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE help Include support for flattened device tree machine descriptions. config ATAGS bool "Support for the traditional ATAGS boot data passing" if USE_OF default y help This is the traditional way of passing data to the kernel at boot time. If you are solely relying on the flattened device tree (or the ARM_ATAG_DTB_COMPAT option) then you may unselect this option to remove ATAGS support from your kernel binary. If unsure, leave this to y. config DEPRECATED_PARAM_STRUCT bool "Provide old way to pass kernel parameters" depends on ATAGS help This was deprecated in 2001 and announced to live on for 5 years. Some old boot loaders still use this way. # Compressed boot loader in ROM. Yes, we really want to ask about # TEXT and BSS so we preserve their values in the config files. config ZBOOT_ROM_TEXT hex "Compressed ROM boot loader base address" default "0" help The physical address at which the ROM-able zImage is to be placed in the target. Platforms which normally make use of ROM-able zImage formats normally set this to a suitable value in their defconfig file. If ZBOOT_ROM is not enabled, this has no effect. config ZBOOT_ROM_BSS hex "Compressed ROM boot loader BSS address" default "0" help The base address of an area of read/write memory in the target for the ROM-able zImage which must be available while the decompressor is running. It must be large enough to hold the entire decompressed kernel plus an additional 128 KiB. Platforms which normally make use of ROM-able zImage formats normally set this to a suitable value in their defconfig file. If ZBOOT_ROM is not enabled, this has no effect. config ZBOOT_ROM bool "Compressed boot loader in ROM/flash" depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS help Say Y here if you intend to execute your compressed kernel image (zImage) directly from ROM or flash. If unsure, say N. choice prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)" depends on ZBOOT_ROM && ARCH_SH7372 default ZBOOT_ROM_NONE help Include experimental SD/MMC loading code in the ROM-able zImage. With this enabled it is possible to write the ROM-able zImage kernel image to an MMC or SD card and boot the kernel straight from the reset vector. At reset the processor Mask ROM will load the first part of the ROM-able zImage which in turn loads the rest the kernel image to RAM. config ZBOOT_ROM_NONE bool "No SD/MMC loader in zImage (EXPERIMENTAL)" help Do not load image from SD or MMC config ZBOOT_ROM_MMCIF bool "Include MMCIF loader in zImage (EXPERIMENTAL)" help Load image from MMCIF hardware block. config ZBOOT_ROM_SH_MOBILE_SDHI bool "Include SuperH Mobile SDHI loader in zImage (EXPERIMENTAL)" help Load image from SDHI hardware block endchoice config ARM_APPENDED_DTB bool "Use appended device tree blob to zImage (EXPERIMENTAL)" depends on OF && !ZBOOT_ROM help With this option, the boot code will look for a device tree binary (DTB) appended to zImage (e.g. cat zImage .dtb > zImage_w_dtb). This is meant as a backward compatibility convenience for those systems with a bootloader that can't be upgraded to accommodate the documented boot protocol using a device tree. Beware that there is very little in terms of protection against this option being confused by leftover garbage in memory that might look like a DTB header after a reboot if no actual DTB is appended to zImage. Do not leave this option active in a production kernel if you don't intend to always append a DTB. Proper passing of the location into r2 of a bootloader provided DTB is always preferable to this option. config ARM_ATAG_DTB_COMPAT bool "Supplement the appended DTB with traditional ATAG information" depends on ARM_APPENDED_DTB help Some old bootloaders can't be updated to a DTB capable one, yet they provide ATAGs with memory configuration, the ramdisk address, the kernel cmdline string, etc. Such information is dynamically provided by the bootloader and can't always be stored in a static DTB. To allow a device tree enabled kernel to be used with such bootloaders, this option allows zImage to extract the information from the ATAG list and store it at run time into the appended DTB. choice prompt "Kernel command line type" if ARM_ATAG_DTB_COMPAT default ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER config ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER bool "Use bootloader kernel arguments if available" help Uses the command-line options passed by the boot loader instead of the device tree bootargs property. If the boot loader doesn't provide any, the device tree bootargs property will be used. config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND bool "Extend with bootloader kernel arguments" help The command-line arguments provided by the boot loader will be appended to the the device tree bootargs property. endchoice config CMDLINE string "Default kernel command string" default "" help On some architectures (EBSA110 and CATS), there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. As a minimum, you should specify the memory size and the root device (e.g., mem=64M root=/dev/nfs). choice prompt "Kernel command line type" if CMDLINE != "" default CMDLINE_FROM_BOOTLOADER depends on ATAGS config CMDLINE_FROM_BOOTLOADER bool "Use bootloader kernel arguments if available" help Uses the command-line options passed by the boot loader. If the boot loader doesn't provide any, the default kernel command string provided in CMDLINE will be used. config CMDLINE_EXTEND bool "Extend bootloader kernel arguments" help The command-line arguments provided by the boot loader will be appended to the default kernel command string. config CMDLINE_FORCE bool "Always use the default kernel command string" help Always use the default kernel command string, even if the boot loader passes other arguments to the kernel. This is useful if you cannot or don't want to change the command-line options your boot loader passes to the kernel. endchoice config XIP_KERNEL bool "Kernel Execute-In-Place from ROM" depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM help Execute-In-Place allows the kernel to run from non-volatile storage directly addressable by the CPU, such as NOR flash. This saves RAM space since the text section of the kernel is not loaded from flash to RAM. Read-write sections, such as the data section and stack, are still copied to RAM. The XIP kernel is not compressed since it has to run directly from flash, so it will take more space to store it. The flash address used to link the kernel object files, and for storing it, is configuration dependent. Therefore, if you say Y here, you must know the proper physical address where to store the kernel image depending on your own flash memory usage. Also note that the make target becomes "make xipImage" rather than "make zImage" or "make Image". The final kernel binary to put in ROM memory will be arch/arm/boot/xipImage. If unsure, say N. config XIP_PHYS_ADDR hex "XIP Kernel Physical Location" depends on XIP_KERNEL default "0x00080000" help This is the physical address in your flash memory the kernel will be linked for and stored to. This address is dependent on your own flash usage. config KEXEC bool "Kexec system call (EXPERIMENTAL)" depends on (!SMP || PM_SLEEP_SMP) help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. config ATAGS_PROC bool "Export atags in procfs" depends on ATAGS && KEXEC default y help Should the atags used to boot the kernel be exported in an "atags" file in procfs. Useful with kexec. config CRASH_DUMP bool "Build kdump crash kernel (EXPERIMENTAL)" help Generate crash dump after being started by kexec. This should be normally only set in special crash dump kernels which are loaded in the main kernel with kexec-tools into a specially reserved region and then later executed after a crash by kdump/kexec. The crash dump kernel must be compiled to a memory address not used by the main kernel For more details see Documentation/kdump/kdump.txt config AUTO_ZRELADDR bool "Auto calculation of the decompressed kernel image address" depends on !ZBOOT_ROM help ZRELADDR is the physical address where the decompressed kernel image will be placed. If AUTO_ZRELADDR is selected, the address will be determined at run-time by masking the current IP with 0xf8000000. This assumes the zImage being placed in the first 128MB from start of memory. endmenu menu "CPU Power Management" if ARCH_HAS_CPUFREQ source "drivers/cpufreq/Kconfig" endif source "drivers/cpuidle/Kconfig" endmenu menu "Floating point emulation" comment "At least one emulation must be selected" config FPE_NWFPE bool "NWFPE math emulation" depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL ---help--- Say Y to include the NWFPE floating point emulator in the kernel. This is necessary to run most binaries. Linux does not currently support floating point hardware so you need to say Y here even if your machine has an FPA or floating point co-processor podule. You may say N here if you are going to load the Acorn FPEmulator early in the bootup. config FPE_NWFPE_XP bool "Support extended precision" depends on FPE_NWFPE help Say Y to include 80-bit support in the kernel floating-point emulator. Otherwise, only 32 and 64-bit support is compiled in. Note that gcc does not generate 80-bit operations by default, so in most cases this option only enlarges the size of the floating point emulator without any good reason. You almost surely want to say N here. config FPE_FASTFPE bool "FastFPE math emulation (EXPERIMENTAL)" depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 ---help--- Say Y here to include the FAST floating point emulator in the kernel. This is an experimental much faster emulator which now also has full precision for the mantissa. It does not support any exceptions. It is very simple, and approximately 3-6 times faster than NWFPE. It should be sufficient for most programs. It may be not suitable for scientific calculations, but you have to check this for yourself. If you do not feel you need a faster FP emulation you should better choose NWFPE. config VFP bool "VFP-format floating point maths" depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON help Say Y to include VFP support code in the kernel. This is needed if your hardware includes a VFP unit. Please see for release notes and additional status information. Say N if your target does not have VFP hardware. config VFPv3 bool depends on VFP default y if CPU_V7 config NEON bool "Advanced SIMD (NEON) Extension support" depends on VFPv3 && CPU_V7 help Say Y to include support code for NEON, the ARMv7 Advanced SIMD Extension. config KERNEL_MODE_NEON bool "Support for NEON in kernel mode" depends on NEON && AEABI help Say Y to include support for NEON in kernel mode. endmenu menu "Userspace binary formats" source "fs/Kconfig.binfmt" config ARTHUR tristate "RISC OS personality" depends on !AEABI help Say Y here to include the kernel code necessary if you want to run Acorn RISC OS/Arthur binaries under Linux. This code is still very experimental; if this sounds frightening, say N and sleep in peace. You can also say M here to compile this support as a module (which will be called arthur). endmenu menu "Power management options" source "kernel/power/Kconfig" config ARCH_SUSPEND_POSSIBLE depends on !ARCH_S5PC100 depends on CPU_ARM920T || CPU_ARM926T || CPU_FEROCEON || CPU_SA1100 || \ CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK def_bool y config ARM_CPU_SUSPEND def_bool PM_SLEEP endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/arm/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" source "arch/arm/kvm/Kconfig" config ICST bool config SA1111 bool select DMABOUNCE if !ARCH_PXA config DMABOUNCE bool select ZONE_DMA config SHARP_LOCOMO bool config SHARP_PARAM bool config SHARP_SCOOP bool config TI_PRIV_EDMA bool # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM bool "Kernel-based Virtual Machine (KVM) support" select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_CPU_RELAX_INTERCEPT select KVM_MMIO select KVM_ARM_HOST depends on ARM_VIRT_EXT && ARM_LPAE ---help--- Support hosting virtualized guest machines. You will also need to select one or more of the processor modules below. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_ARM_HOST bool "KVM host support for ARM cpus." depends on KVM depends on MMU select MMU_NOTIFIER ---help--- Provides host support for ARM processors. config KVM_ARM_MAX_VCPUS int "Number maximum supported virtual CPUs per VM" depends on KVM_ARM_HOST default 4 help Static number of max supported virtual CPUs per VM. If you choose a high number, the vcpu structures will be quite large, so only choose a reasonable number that you expect to actually use. config KVM_ARM_VGIC bool "KVM support for Virtual GIC" depends on KVM_ARM_HOST && OF select HAVE_KVM_IRQCHIP default y ---help--- Adds support for a hardware assisted, in-kernel GIC emulation. config KVM_ARM_TIMER bool "KVM support for Architected Timers" depends on KVM_ARM_VGIC && ARM_ARCH_TIMER select HAVE_KVM_IRQCHIP default y ---help--- Adds support for the Architected Timers in virtual machines endif # VIRTUALIZATION if ARCH_AT91 config HAVE_AT91_DBGU0 bool config HAVE_AT91_DBGU1 bool config AT91_PMC_UNIT bool default !ARCH_AT91X40 config AT91_SAM9_ALT_RESET bool default !ARCH_AT91X40 config AT91_SAM9G45_RESET bool default !ARCH_AT91X40 config AT91_SAM9_TIME bool config SOC_AT91SAM9 bool select AT91_SAM9_TIME select CPU_ARM926T select GENERIC_CLOCKEVENTS select MULTI_IRQ_HANDLER select SPARSE_IRQ config SOC_SAMA5 bool select AT91_SAM9_TIME select CPU_V7 select GENERIC_CLOCKEVENTS select MULTI_IRQ_HANDLER select SPARSE_IRQ menu "Atmel AT91 System-on-Chip" choice prompt "Core type" config SOC_SAM_V4_V5 bool "ARM7/ARM9" help Select this if you are using one of Atmel's AT91SAM9, AT91RM9200 or AT91X40 SoC. config SOC_SAM_V7 bool "Cortex A5" help Select this if you are using one of Atmel's SAMA5D3 SoC. endchoice comment "Atmel AT91 Processor" if SOC_SAM_V7 config SOC_SAMA5D3 bool "SAMA5D3 family" depends on SOC_SAM_V7 select SOC_SAMA5 select HAVE_FB_ATMEL select HAVE_AT91_DBGU1 help Select this if you are using one of Atmel's SAMA5D3 family SoC. This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35. endif if SOC_SAM_V4_V5 config SOC_AT91RM9200 bool "AT91RM9200" select CPU_ARM920T select GENERIC_CLOCKEVENTS select HAVE_AT91_DBGU0 select MULTI_IRQ_HANDLER select SPARSE_IRQ config SOC_AT91SAM9260 bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" select HAVE_AT91_DBGU0 select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE or AT91SAM9G20 SoC. config SOC_AT91SAM9261 bool "AT91SAM9261 or AT91SAM9G10" select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC. config SOC_AT91SAM9263 bool "AT91SAM9263" select HAVE_AT91_DBGU1 select HAVE_FB_ATMEL select SOC_AT91SAM9 config SOC_AT91SAM9RL bool "AT91SAM9RL" select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL select SOC_AT91SAM9 config SOC_AT91SAM9G45 bool "AT91SAM9G45 or AT91SAM9M10 families" select HAVE_AT91_DBGU1 select HAVE_FB_ATMEL select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9G45 family SoC. This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11. config SOC_AT91SAM9X5 bool "AT91SAM9x5 family" select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL select SOC_AT91SAM9 help Select this if you are using one of Atmel's AT91SAM9x5 family SoC. This means that your SAM9 name finishes with a '5' (except if it is AT91SAM9G45!). This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35 and AT91SAM9X35. config SOC_AT91SAM9N12 bool "AT91SAM9N12 family" select HAVE_AT91_DBGU0 select HAVE_FB_ATMEL select SOC_AT91SAM9 help Select this if you are using Atmel's AT91SAM9N12 SoC. # ---------------------------------------------------------- source arch/arm/mach-at91/Kconfig.non_dt endif # SOC_SAM_V4_V5 comment "Generic Board Type" config MACH_AT91RM9200_DT bool "Atmel AT91RM9200 Evaluation Kits with device-tree support" depends on SOC_AT91RM9200 select USE_OF help Select this if you want to experiment device-tree with an Atmel RM9200 Evaluation Kit. config MACH_AT91SAM9_DT bool "Atmel AT91SAM Evaluation Kits with device-tree support" depends on SOC_AT91SAM9 select USE_OF help Select this if you want to experiment device-tree with an Atmel Evaluation Kit. config MACH_SAMA5_DT bool "Atmel SAMA5 Evaluation Kits with device-tree support" depends on SOC_SAMA5 select USE_OF select PHYLIB if NETDEVICES help Select this if you want to experiment device-tree with an Atmel Evaluation Kit. # ---------------------------------------------------------- comment "AT91 Feature Selections" config AT91_PROGRAMMABLE_CLOCKS bool "Programmable Clocks" help Select this if you need to program one or more of the PCK0..PCK3 programmable clock outputs. config AT91_SLOW_CLOCK bool "Suspend-to-RAM disables main oscillator" depends on SUSPEND help Select this if you want Suspend-to-RAM to save the most power possible (without powering off the CPU) by disabling the PLLs and main oscillator so that only the 32 KiHz clock is available. When only that slow-clock is available, some peripherals lose functionality. Many can't issue wakeup events unless faster clocks are available. Some lose their operating state and need to be completely re-initialized. config AT91_TIMER_HZ int "Kernel HZ (jiffies per second)" range 32 1024 depends on ARCH_AT91 default "128" if ARCH_AT91RM9200 default "100" help On AT91rm9200 chips where you're using a system clock derived from the 32768 Hz hardware clock, this tick rate should divide it exactly: use a power-of-two value, such as 128 or 256, to reduce timing errors caused by rounding. On AT91sam926x chips, or otherwise when using a higher precision system clock (of at least several MHz), rounding is less of a problem so it can be safer to use a decimal values like 100. endmenu endif config ARCH_BCM bool "Broadcom SoC Support" depends on ARCH_MULTIPLATFORM help This enables support for Broadcom ARM based SoC chips if ARCH_BCM menu "Broadcom SoC Selection" config ARCH_BCM_MOBILE bool "Broadcom Mobile SoC" if ARCH_MULTI_V7 depends on MMU select ARCH_REQUIRE_GPIOLIB select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_GIC select CPU_V7 select CLKSRC_OF select GENERIC_CLOCKEVENTS select GENERIC_TIME select GPIO_BCM_KONA select SPARSE_IRQ select TICK_ONESHOT select CACHE_L2X0 select HAVE_ARM_ARCH_TIMER help This enables support for systems based on Broadcom mobile SoCs. It currently supports the 'BCM281XX' family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 variants. endmenu endif config ARCH_BCM2835 bool "Broadcom BCM2835 family" if ARCH_MULTI_V6 select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select ARM_ERRATA_411920 select ARM_TIMER_SP804 select CLKDEV_LOOKUP select CLKSRC_OF select CPU_V6 select GENERIC_CLOCKEVENTS select PINCTRL select PINCTRL_BCM2835 help This enables support for the Broadcom BCM2835 SoC. This SoC is use in the Raspberry Pi, and Roku 2 devices. if ARCH_CLPS711X menu "CLPS711X/EP721X/EP731X Implementations" config ARCH_AUTCPU12 bool "AUTCPU12" help Say Y if you intend to run the kernel on the autronix autcpu12 board. This board is based on a Cirrus Logic CS89712. config ARCH_CDB89712 bool "CDB89712" help This is an evaluation board from Cirrus for the CS89712 processor. The board includes 2 serial ports, Ethernet, IRDA, and expansion headers. It comes with 16 MB SDRAM and 8 MB flash ROM. config ARCH_CLEP7312 bool "CLEP7312" help Boards based on the Cirrus Logic 7212/7312 chips. config ARCH_EDB7211 bool "EDB7211" select ARCH_HAS_HOLES_MEMORYMODEL help Say Y here if you intend to run this kernel on a Cirrus Logic EDB-7211 evaluation board. config ARCH_P720T bool "P720T" help Say Y here if you intend to run this kernel on the ARM Prospector 720T. config EP72XX_ROM_BOOT bool "EP721x/EP731x ROM boot" help If you say Y here, your CLPS711x-based kernel will use the bootstrap mode memory map instead of the normal memory map. Processors derived from the Cirrus CLPS711X core support two boot modes. Normal mode boots from the external memory device at CS0. Bootstrap mode rearranges parts of the memory map, placing an internal 128 byte bootstrap ROM at CS0. This option performs the address map changes required to support booting in this mode. You almost surely want to say N here. endmenu endif config ARCH_CNS3XXX bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 select ARM_GIC select CPU_V6K select GENERIC_CLOCKEVENTS select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI help Support for Cavium Networks CNS3XXX platform. menu "CNS3XXX platform type" depends on ARCH_CNS3XXX config MACH_CNS3420VB bool "Support for CNS3420 Validation Board" depends on ATAGS help Include support for the Cavium Networks CNS3420 MPCore Platform Baseboard. This is a platform with an on-board ARM11 MPCore and has support for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc. endmenu if ARCH_DAVINCI config AINTC bool config CP_INTC bool select IRQ_DOMAIN config ARCH_DAVINCI_DMx bool select CPU_ARM926T menu "TI DaVinci Implementations" comment "DaVinci Core Type" config ARCH_DAVINCI_DM644x bool "DaVinci 644x based system" select AINTC select ARCH_DAVINCI_DMx config ARCH_DAVINCI_DM355 bool "DaVinci 355 based system" select AINTC select ARCH_DAVINCI_DMx config ARCH_DAVINCI_DM646x bool "DaVinci 646x based system" select AINTC select ARCH_DAVINCI_DMx config ARCH_DAVINCI_DA830 bool "DA830/OMAP-L137/AM17x based system" select ARCH_DAVINCI_DA8XX select CPU_DCACHE_WRITETHROUGH # needed on silicon revs 1.0, 1.1 select CP_INTC config ARCH_DAVINCI_DA850 bool "DA850/OMAP-L138/AM18x based system" select ARCH_DAVINCI_DA8XX select ARCH_HAS_CPUFREQ select CP_INTC config ARCH_DAVINCI_DA8XX bool select CPU_ARM926T config ARCH_DAVINCI_DM365 bool "DaVinci 365 based system" select AINTC select ARCH_DAVINCI_DMx config ARCH_DAVINCI_TNETV107X bool "TNETV107X based system" select CPU_V6 select CP_INTC comment "DaVinci Board Type" config MACH_DA8XX_DT bool "Support DA8XX platforms using device tree" default y depends on ARCH_DAVINCI_DA8XX select PINCTRL help Say y here to include support for TI DaVinci DA850 based using Flattened Device Tree. More information at Documentation/devicetree config MACH_DAVINCI_EVM bool "TI DM644x EVM" default ARCH_DAVINCI_DM644x depends on ARCH_DAVINCI_DM644x select EEPROM_AT24 select I2C help Configure this option to specify the whether the board used for development is a DM644x EVM config MACH_SFFSDR bool "Lyrtech SFFSDR" depends on ARCH_DAVINCI_DM644x select EEPROM_AT24 select I2C help Say Y here to select the Lyrtech Small Form Factor Software Defined Radio (SFFSDR) board. config MACH_NEUROS_OSD2 bool "Neuros OSD2 Open Television Set Top Box" depends on ARCH_DAVINCI_DM644x help Configure this option to specify the whether the board used for development is a Neuros OSD2 Open Set Top Box. config MACH_DAVINCI_DM355_EVM bool "TI DM355 EVM" default ARCH_DAVINCI_DM355 depends on ARCH_DAVINCI_DM355 help Configure this option to specify the whether the board used for development is a DM355 EVM config MACH_DM355_LEOPARD bool "DM355 Leopard board" depends on ARCH_DAVINCI_DM355 help Configure this option to specify the whether the board used for development is a DM355 Leopard board. config MACH_DAVINCI_DM6467_EVM bool "TI DM6467 EVM" default ARCH_DAVINCI_DM646x depends on ARCH_DAVINCI_DM646x select EEPROM_AT24 select I2C select MACH_DAVINCI_DM6467TEVM help Configure this option to specify the whether the board used for development is a DM6467 EVM config MACH_DAVINCI_DM6467TEVM bool config MACH_DAVINCI_DM365_EVM bool "TI DM365 EVM" default ARCH_DAVINCI_DM365 depends on ARCH_DAVINCI_DM365 select EEPROM_AT24 select I2C help Configure this option to specify whether the board used for development is a DM365 EVM config MACH_DAVINCI_DA830_EVM bool "TI DA830/OMAP-L137/AM17x Reference Platform" default ARCH_DAVINCI_DA830 depends on ARCH_DAVINCI_DA830 select EEPROM_AT24 select GPIO_PCF857X select I2C help Say Y here to select the TI DA830/OMAP-L137/AM17x Evaluation Module. choice prompt "Select DA830/OMAP-L137/AM17x UI board peripheral" depends on MACH_DAVINCI_DA830_EVM help The presence of UI card on the DA830/OMAP-L137/AM17x EVM is detected automatically based on successful probe of the I2C based GPIO expander on that board. This option selected in this menu has an effect only in case of a successful UI card detection. config DA830_UI_LCD bool "LCD" help Say Y here to use the LCD as a framebuffer or simple character display. config DA830_UI_NAND bool "NAND flash" help Say Y here to use the NAND flash. Do not forget to setup the switch correctly. endchoice config MACH_DAVINCI_DA850_EVM bool "TI DA850/OMAP-L138/AM18x Reference Platform" default ARCH_DAVINCI_DA850 depends on ARCH_DAVINCI_DA850 help Say Y here to select the TI DA850/OMAP-L138/AM18x Evaluation Module. choice prompt "Select peripherals connected to expander on UI board" depends on MACH_DAVINCI_DA850_EVM help The presence of User Interface (UI) card on the DA850/OMAP-L138/AM18x EVM is detected automatically based on successful probe of the I2C based GPIO expander on that card. This option selected in this menu has an effect only in case of a successful UI card detection. config DA850_UI_NONE bool "No peripheral is enabled" help Say Y if you do not want to enable any of the peripherals connected to TCA6416 expander on DA850/OMAP-L138/AM18x EVM UI card config DA850_UI_RMII bool "RMII Ethernet PHY" help Say Y if you want to use the RMII PHY on the DA850/OMAP-L138/AM18x EVM. This PHY is found on the UI daughter card that is supplied with the EVM. NOTE: Please take care while choosing this option, MII PHY will not be functional if RMII mode is selected. config DA850_UI_SD_VIDEO_PORT bool "Video Port Interface" help Say Y if you want to use Video Port Interface (VPIF) on the DA850/OMAP-L138 EVM. The Video decoders/encoders are found on the UI daughter card that is supplied with the EVM. endchoice config DA850_WL12XX bool "AM18x wl1271 daughter board" depends on MACH_DAVINCI_DA850_EVM help The wl1271 daughter card for AM18x EVMs is a combo wireless connectivity add-on card, based on the LS Research TiWi module with Texas Instruments' wl1271 solution. Say Y if you want to use a wl1271 expansion card connected to the AM18x EVM. config GPIO_PCA953X default MACH_DAVINCI_DA850_EVM config KEYBOARD_GPIO_POLLED default MACH_DAVINCI_DA850_EVM config MACH_TNETV107X bool "TI TNETV107X Reference Platform" default ARCH_DAVINCI_TNETV107X depends on ARCH_DAVINCI_TNETV107X help Say Y here to select the TI TNETV107X Evaluation Module. config MACH_MITYOMAPL138 bool "Critical Link MityDSP-L138/MityARM-1808 SoM" depends on ARCH_DAVINCI_DA850 select EEPROM_AT24 select I2C help Say Y here to select the Critical Link MityDSP-L138/MityARM-1808 System on Module. Information on this SoM may be found at http://www.mitydsp.com config MACH_OMAPL138_HAWKBOARD bool "TI AM1808 / OMAPL-138 Hawkboard platform" depends on ARCH_DAVINCI_DA850 help Say Y here to select the TI AM1808 / OMAPL-138 Hawkboard platform . Information of this board may be found at http://www.hawkboard.org/ config DAVINCI_MUX bool "DAVINCI multiplexing support" depends on ARCH_DAVINCI default y help Pin multiplexing support for DAVINCI boards. If your bootloader sets the multiplexing correctly, say N. Otherwise, or if unsure, say Y. config DAVINCI_MUX_DEBUG bool "Multiplexing debug output" depends on DAVINCI_MUX help Makes the multiplexing functions print out a lot of debug info. This is useful if you want to find out the correct values of the multiplexing registers. config DAVINCI_MUX_WARNINGS bool "Warn about pins the bootloader didn't set up" depends on DAVINCI_MUX help Choose Y here to warn whenever driver initialization logic needs to change the pin multiplexing setup. When there are no warnings printed, it's safe to deselect DAVINCI_MUX for your product. config DAVINCI_RESET_CLOCKS bool "Reset unused clocks during boot" depends on ARCH_DAVINCI help Say Y if you want to reset unused clocks during boot. This option saves power, but assumes all drivers are using the clock framework. Broken drivers that do not yet use clock framework may not work with this option. If you are booting from another operating system, you probably do not want this option enabled until your device drivers work properly. endmenu endif if ARCH_DOVE menu "Marvell Dove Implementations" config DOVE_LEGACY bool config MACH_DOVE_DB bool "Marvell DB-MV88AP510 Development Board" select DOVE_LEGACY select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Marvell DB-MV88AP510 Development Board. config MACH_CM_A510 bool "CompuLab CM-A510 Board" select DOVE_LEGACY help Say 'Y' here if you want your kernel to support the CompuLab CM-A510 Board. config MACH_DOVE_DT bool "Marvell Dove Flattened Device Tree" select DOVE_CLK select ORION_IRQCHIP select ORION_TIMER select REGULATOR select REGULATOR_FIXED_VOLTAGE select USE_OF help Say 'Y' here if you want your kernel to support the Marvell Dove using flattened device tree. endmenu endif if ARCH_EP93XX menu "Cirrus EP93xx Implementation Options" config EP93XX_SOC_COMMON bool default y select LEDS_GPIO_REGISTER config CRUNCH bool "Support for MaverickCrunch" help Enable kernel support for MaverickCrunch. comment "EP93xx Platforms" choice prompt "EP93xx first SDRAM bank selection" default EP93XX_SDCE3_SYNC_PHYS_OFFSET config EP93XX_SDCE3_SYNC_PHYS_OFFSET bool "0x00000000 - SDCE3/SyncBoot" help Select this option if you want support for EP93xx boards with the first SDRAM bank at 0x00000000. config EP93XX_SDCE0_PHYS_OFFSET bool "0xc0000000 - SDCEO" help Select this option if you want support for EP93xx boards with the first SDRAM bank at 0xc0000000. config EP93XX_SDCE1_PHYS_OFFSET bool "0xd0000000 - SDCE1" help Select this option if you want support for EP93xx boards with the first SDRAM bank at 0xd0000000. config EP93XX_SDCE2_PHYS_OFFSET bool "0xe0000000 - SDCE2" help Select this option if you want support for EP93xx boards with the first SDRAM bank at 0xe0000000. config EP93XX_SDCE3_ASYNC_PHYS_OFFSET bool "0xf0000000 - SDCE3/AsyncBoot" help Select this option if you want support for EP93xx boards with the first SDRAM bank at 0xf0000000. endchoice config MACH_ADSSPHERE bool "Support ADS Sphere" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET help Say 'Y' here if you want your kernel to support the ADS Sphere board. config MACH_EDB93XX bool config MACH_EDB9301 bool "Support Cirrus Logic EDB9301" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9301 Evaluation Board. config MACH_EDB9302 bool "Support Cirrus Logic EDB9302" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9302 Evaluation Board. config MACH_EDB9302A bool "Support Cirrus Logic EDB9302A" depends on EP93XX_SDCE0_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9302A Evaluation Board. config MACH_EDB9307 bool "Support Cirrus Logic EDB9307" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9307 Evaluation Board. config MACH_EDB9307A bool "Support Cirrus Logic EDB9307A" depends on EP93XX_SDCE0_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9307A Evaluation Board. config MACH_EDB9312 bool "Support Cirrus Logic EDB9312" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9312 Evaluation Board. config MACH_EDB9315 bool "Support Cirrus Logic EDB9315" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9315 Evaluation Board. config MACH_EDB9315A bool "Support Cirrus Logic EDB9315A" depends on EP93XX_SDCE0_PHYS_OFFSET select MACH_EDB93XX help Say 'Y' here if you want your kernel to support the Cirrus Logic EDB9315A Evaluation Board. config MACH_GESBC9312 depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET bool "Support Glomation GESBC-9312-sx" help Say 'Y' here if you want your kernel to support the Glomation GESBC-9312-sx board. config MACH_MICRO9 bool config MACH_MICRO9H bool "Support Contec Micro9-High" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_MICRO9 help Say 'Y' here if you want your kernel to support the Contec Micro9-High board. config MACH_MICRO9M bool "Support Contec Micro9-Mid" depends on EP93XX_SDCE3_ASYNC_PHYS_OFFSET select MACH_MICRO9 help Say 'Y' here if you want your kernel to support the Contec Micro9-Mid board. config MACH_MICRO9L bool "Support Contec Micro9-Lite" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET select MACH_MICRO9 help Say 'Y' here if you want your kernel to support the Contec Micro9-Lite board. config MACH_MICRO9S bool "Support Contec Micro9-Slim" depends on EP93XX_SDCE3_ASYNC_PHYS_OFFSET select MACH_MICRO9 help Say 'Y' here if you want your kernel to support the Contec Micro9-Slim board. config MACH_SIM_ONE bool "Support Simplemachines Sim.One board" depends on EP93XX_SDCE0_PHYS_OFFSET help Say 'Y' here if you want your kernel to support the Simplemachines Sim.One board. config MACH_SNAPPER_CL15 bool "Support Bluewater Systems Snapper CL15 Module" depends on EP93XX_SDCE0_PHYS_OFFSET help Say 'Y' here if you want your kernel to support the Bluewater Systems Snapper CL15 Module. config MACH_TS72XX bool "Support Technologic Systems TS-72xx SBC" depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET help Say 'Y' here if you want your kernel to support the Technologic Systems TS-72xx board. config MACH_VISION_EP9307 bool "Support Vision Engraving Systems EP9307 SoM" depends on EP93XX_SDCE0_PHYS_OFFSET help Say 'Y' here if you want your kernel to support the Vision Engraving Systems EP9307 SoM. endmenu endif # arch/arm/mach-exynos/Kconfig # # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. # http://www.samsung.com/ # # Licensed under GPLv2 # Configuration options for the EXYNOS4 if ARCH_EXYNOS menu "SAMSUNG EXYNOS SoCs Support" config ARCH_EXYNOS4 bool "SAMSUNG EXYNOS4" default y select ARM_AMBA select CLKSRC_OF select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210 select CPU_EXYNOS4210 select GIC_NON_BANKED select KEYBOARD_SAMSUNG if INPUT_KEYBOARD select HAVE_ARM_SCU if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select PINCTRL select S5P_DEV_MFC help Samsung EXYNOS4 SoCs based systems config ARCH_EXYNOS5 bool "SAMSUNG EXYNOS5" select ARM_AMBA select CLKSRC_OF select HAVE_ARM_SCU if SMP select HAVE_SMP select PINCTRL select USB_ARCH_HAS_XHCI help Samsung EXYNOS5 (Cortex-A15) SoC based systems comment "EXYNOS SoCs" config CPU_EXYNOS4210 bool "SAMSUNG EXYNOS4210" default y depends on ARCH_EXYNOS4 select ARCH_HAS_BANDGAP select ARM_CPU_SUSPEND if PM select PINCTRL_EXYNOS select PM_GENERIC_DOMAINS if PM select S5P_PM if PM select S5P_SLEEP if PM select SAMSUNG_DMADEV help Enable EXYNOS4210 CPU support config SOC_EXYNOS4212 bool "SAMSUNG EXYNOS4212" default y depends on ARCH_EXYNOS4 select ARCH_HAS_BANDGAP select PINCTRL_EXYNOS select PM_GENERIC_DOMAINS if PM select S5P_PM if PM select S5P_SLEEP if PM select SAMSUNG_DMADEV help Enable EXYNOS4212 SoC support config SOC_EXYNOS4412 bool "SAMSUNG EXYNOS4412" default y depends on ARCH_EXYNOS4 select ARCH_HAS_BANDGAP select PINCTRL_EXYNOS select PM_GENERIC_DOMAINS if PM select SAMSUNG_DMADEV help Enable EXYNOS4412 SoC support config SOC_EXYNOS5250 bool "SAMSUNG EXYNOS5250" default y depends on ARCH_EXYNOS5 select ARCH_HAS_BANDGAP select PINCTRL_EXYNOS select PM_GENERIC_DOMAINS if PM select S5P_PM if PM select S5P_SLEEP if PM select S5P_DEV_MFC select SAMSUNG_DMADEV help Enable EXYNOS5250 SoC support config SOC_EXYNOS5420 bool "SAMSUNG EXYNOS5420" default y depends on ARCH_EXYNOS5 select PM_GENERIC_DOMAINS if PM select S5P_PM if PM select S5P_SLEEP if PM help Enable EXYNOS5420 SoC support config SOC_EXYNOS5440 bool "SAMSUNG EXYNOS5440" default y depends on ARCH_EXYNOS5 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE select ARCH_HAS_BANDGAP select ARCH_HAS_OPP select HAVE_ARM_ARCH_TIMER select AUTO_ZRELADDR select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI select PINCTRL_EXYNOS5440 select PM_OPP help Enable EXYNOS5440 SoC support endmenu endif if ARCH_FOOTBRIDGE menu "Footbridge Implementations" config ARCH_CATS bool "CATS" select CLKEVT_I8253 select CLKSRC_I8253 select FOOTBRIDGE_HOST select ISA select ISA_DMA select PCI help Say Y here if you intend to run this kernel on the CATS. Saying N will reduce the size of the Footbridge kernel. config ARCH_PERSONAL_SERVER bool "Compaq Personal Server" select FOOTBRIDGE_HOST select ISA select ISA_DMA select PCI ---help--- Say Y here if you intend to run this kernel on the Compaq Personal Server. Saying N will reduce the size of the Footbridge kernel. The Compaq Personal Server is not available for purchase. There are no product plans beyond the current research prototypes at this time. Information is available at: If you have any questions or comments about the Compaq Personal Server, send e-mail to . config ARCH_EBSA285_ADDIN bool "EBSA285 (addin mode)" select ARCH_EBSA285 select FOOTBRIDGE_ADDIN help Say Y here if you intend to run this kernel on the EBSA285 card in addin mode. Saying N will reduce the size of the Footbridge kernel. config ARCH_EBSA285_HOST bool "EBSA285 (host mode)" select ARCH_EBSA285 select FOOTBRIDGE_HOST select ISA select ISA_DMA select PCI help Say Y here if you intend to run this kernel on the EBSA285 card in host ("central function") mode. Saying N will reduce the size of the Footbridge kernel. config ARCH_NETWINDER bool "NetWinder" select CLKEVT_I8253 select CLKSRC_I8253 select FOOTBRIDGE_HOST select ISA select ISA_DMA select PCI select VIRT_TO_BUS help Say Y here if you intend to run this kernel on the Rebel.COM NetWinder. Information about this machine can be found at: Saying N will reduce the size of the Footbridge kernel. endmenu # Footbridge support config FOOTBRIDGE bool # Footbridge in host mode config FOOTBRIDGE_HOST bool # Footbridge in addin mode config FOOTBRIDGE_ADDIN bool # EBSA285 board in either host or addin mode config ARCH_EBSA285 bool select ARCH_MAY_HAVE_PC_FDC endif if ARCH_GEMINI menu "Cortina Systems Gemini Implementations" config MACH_NAS4220B bool "Raidsonic NAS-4220-B" select GEMINI_MEM_SWAP help Say Y here if you intend to run this kernel on a Raidsonic NAS-4220-B. config MACH_RUT100 bool "Teltonika RUT100" select GEMINI_MEM_SWAP help Say Y here if you intend to run this kernel on a Teltonika 3G Router RUT100. config MACH_WBD111 bool "Wiliboard WBD-111" select GEMINI_MEM_SWAP help Say Y here if you intend to run this kernel on a Wiliboard WBD-111. config MACH_WBD222 bool "Wiliboard WBD-222" select GEMINI_MEM_SWAP help Say Y here if you intend to run this kernel on a Wiliboard WBD-222. endmenu config GEMINI_MEM_SWAP bool "Gemini memory is swapped" help Say Y here if Gemini memory is swapped by bootloader. endif config ARCH_HIGHBANK bool "Calxeda ECX-1000/2000 (Highbank/Midway)" if ARCH_MULTI_V7 select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_HAS_OPP select ARCH_SUPPORTS_BIG_ENDIAN select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_AMBA select ARM_ERRATA_764369 if SMP select ARM_ERRATA_775420 select ARM_ERRATA_798181 if SMP select ARM_GIC select ARM_PSCI select ARM_TIMER_SP804 select CACHE_L2X0 select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU select HAVE_ARM_TWD if SMP select HAVE_SMP select MAILBOX select PL320_MBOX select SPARSE_IRQ select USE_OF select ZONE_DMA if ARM_LPAE config ARCH_MXC bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 select ARCH_REQUIRE_GPIOLIB select ARM_CPU_SUSPEND if PM select ARM_PATCH_PHYS_VIRT select AUTO_ZRELADDR if !ZBOOT_ROM select CLKSRC_MMIO select COMMON_CLK select GENERIC_ALLOCATOR select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7 select MULTI_IRQ_HANDLER select SOC_BUS select SPARSE_IRQ select USE_OF help Support for Freescale MXC/iMX-based family of processors menu "Freescale i.MX support" depends on ARCH_MXC config MXC_IRQ_PRIOR bool "Use IRQ priority" help Select this if you want to use prioritized IRQ handling. This feature prevents higher priority ISR to be interrupted by lower priority IRQ. This may be useful in embedded applications, where are strong requirements for timing. Say N here, unless you have a specialized requirement. config MXC_TZIC bool config MXC_AVIC bool config MXC_DEBUG_BOARD bool "Enable MXC debug board(for 3-stack)" help The debug board is an integral part of the MXC 3-stack(PDK) platforms, it can be attached or removed from the peripheral board. On debug board, several debug devices(ethernet, UART, buttons, LEDs and JTAG) are implemented. Between the MCU and these devices, a CPLD is added as a bridge which performs data/address de-multiplexing and decode, signal level shift, interrupt control and various board functions. config HAVE_EPIT bool config MXC_USE_EPIT bool "Use EPIT instead of GPT" depends on HAVE_EPIT help Use EPIT as the system timer on systems that have it. Normally you don't have a reason to do so as the EPIT has the same features and uses the same clocks as the GPT. Anyway, on some systems the GPT may be in use for other purposes. config ARCH_HAS_RNGA bool config HAVE_IMX_ANATOP bool config HAVE_IMX_GPC bool config HAVE_IMX_MMDC bool config HAVE_IMX_SRC def_bool y if SMP select ARCH_HAS_RESET_CONTROLLER config IMX_HAVE_IOMUX_V1 bool config ARCH_MXC_IOMUX_V3 bool config ARCH_MX1 bool config ARCH_MX25 bool config MACH_MX27 bool config SOC_IMX1 bool select ARCH_MX1 select CPU_ARM920T select IMX_HAVE_IOMUX_V1 select MXC_AVIC config SOC_IMX21 bool select CPU_ARM926T select IMX_HAVE_IOMUX_V1 select MXC_AVIC config SOC_IMX25 bool select ARCH_MX25 select ARCH_MXC_IOMUX_V3 select CPU_ARM926T select MXC_AVIC config SOC_IMX27 bool select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select CPU_ARM926T select IMX_HAVE_IOMUX_V1 select MACH_MX27 select MXC_AVIC config SOC_IMX31 bool select CPU_V6 select IMX_HAVE_PLATFORM_MXC_RNGA select MXC_AVIC select SMP_ON_UP if SMP config SOC_IMX35 bool select ARCH_MXC_IOMUX_V3 select CPU_V6K select HAVE_EPIT select MXC_AVIC select SMP_ON_UP if SMP config SOC_IMX5 bool select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select ARCH_MXC_IOMUX_V3 select CPU_V7 select MXC_TZIC config SOC_IMX51 bool select HAVE_IMX_SRC select PINCTRL select PINCTRL_IMX51 select SOC_IMX5 if ARCH_MULTI_V4T comment "MX1 platforms:" config MACH_MXLADS bool config ARCH_MX1ADS bool "MX1ADS platform" select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select MACH_MXLADS select SOC_IMX1 help Say Y here if you are using Motorola MX1ADS/MXLADS boards config MACH_SCB9328 bool "Synertronixx scb9328" select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX1 help Say Y here if you are using a Synertronixx scb9328 board config MACH_APF9328 bool "APF9328" select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX1 help Say Yes here if you are using the Armadeus APF9328 development board endif if ARCH_MULTI_V5 comment "MX21 platforms:" config MACH_MX21ADS bool "MX21ADS platform" select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select SOC_IMX21 help Include support for MX21ADS platform. This includes specific configurations for the board and its peripherals. comment "MX25 platforms:" config MACH_MX25_3DS bool "Support MX25PDK (3DS) Platform" select IMX_HAVE_PLATFORM_FLEXCAN select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMXDI_RTC select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_KEYPAD select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select SOC_IMX25 config MACH_EUKREA_CPUIMX25SD bool "Support Eukrea CPUIMX25 Platform" select IMX_HAVE_PLATFORM_FLEXCAN select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMXDI_RTC select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX25 choice prompt "Baseboard" depends on MACH_EUKREA_CPUIMX25SD default MACH_EUKREA_MBIMXSD25_BASEBOARD config MACH_EUKREA_MBIMXSD25_BASEBOARD bool "Eukrea MBIMXSD development board" select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER help This adds board specific devices that can be found on Eukrea's MBIMXSD evaluation board. endchoice config MACH_IMX25_DT bool "Support i.MX25 platforms from device tree" select SOC_IMX25 help Include support for Freescale i.MX25 based platforms using the device tree for discovery comment "MX27 platforms:" config MACH_MX27ADS bool "MX27ADS platform" select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select SOC_IMX27 help Include support for MX27ADS platform. This includes specific configurations for the board and its peripherals. config MACH_PCM038 bool "Phytec phyCORE-i.MX27 CPU module (pcm038)" select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select IMX_HAVE_PLATFORM_SPI_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for phyCORE-i.MX27 (aka pcm038) platform. This includes specific configurations for the module and its peripherals. choice prompt "Baseboard" depends on MACH_PCM038 default MACH_PCM970_BASEBOARD config MACH_PCM970_BASEBOARD bool "PHYTEC PCM970 development board" select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_MXC_MMC help This adds board specific devices that can be found on Phytec's PCM970 evaluation board. endchoice config MACH_CPUIMX27 bool "Eukrea CPUIMX27 module" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for Eukrea CPUIMX27 platform. This includes specific configurations for the module and its peripherals. config MACH_EUKREA_CPUIMX27_USESDHC2 bool "CPUIMX27 integrates SDHC2 module" depends on MACH_CPUIMX27 select IMX_HAVE_PLATFORM_MXC_MMC help This adds support for the internal SDHC2 used on CPUIMX27 for wifi or eMMC. config MACH_EUKREA_CPUIMX27_USEUART4 bool "CPUIMX27 integrates UART4 module" depends on MACH_CPUIMX27 help This adds support for the internal UART4 used on CPUIMX27 for bluetooth. choice prompt "Baseboard" depends on MACH_CPUIMX27 default MACH_EUKREA_MBIMX27_BASEBOARD config MACH_EUKREA_MBIMX27_BASEBOARD bool "Eukrea MBIMX27 development board" select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_KEYPAD select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER help This adds board specific devices that can be found on Eukrea's MBIMX27 evaluation board. endchoice config MACH_MX27_3DS bool "MX27PDK platform" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_KEYPAD select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MX2_CAMERA select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select MXC_DEBUG_BOARD select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for MX27PDK platform. This includes specific configurations for the board and its peripherals. config MACH_IMX27_VISSTRIM_M10 bool "Vista Silicon i.MX27 Visstrim_m10" select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MX2_CAMERA select IMX_HAVE_PLATFORM_MX2_EMMA select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select LEDS_GPIO_REGISTER select SOC_IMX27 help Include support for Visstrim_m10 platform and its different variants. This includes specific configurations for the board and its peripherals. config MACH_IMX27LITE bool "LogicPD MX27 LITEKIT platform" select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX27 help Include support for MX27 LITEKIT platform. This includes specific configurations for the board and its peripherals. config MACH_PCA100 bool "Phytec phyCARD-s (pca100)" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select IMX_HAVE_PLATFORM_SPI_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX27 help Include support for phyCARD-s (aka pca100) platform. This includes specific configurations for the module and its peripherals. config MACH_MXT_TD60 bool "Maxtrack i-MXT TD60" select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select SOC_IMX27 help Include support for i-MXT (aka td60) platform. This includes specific configurations for the module and its peripherals. config MACH_IMX27IPCAM bool "IMX27 IPCAM platform" select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX27 help Include support for IMX27 IPCAM platform. This includes specific configurations for the board and its peripherals. config MACH_IMX27_DT bool "Support i.MX27 platforms from device tree" select SOC_IMX27 help Include support for Freescale i.MX27 based platforms using the device tree for discovery endif if ARCH_MULTI_V6 comment "MX31 platforms:" config MACH_MX31ADS bool "Support MX31ADS platforms" default y select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX31 help Include support for MX31ADS platform. This includes specific configurations for the board and its peripherals. config MACH_MX31ADS_WM1133_EV1 bool "Support Wolfson Microelectronics 1133-EV1 module" depends on MACH_MX31ADS depends on MFD_WM8350_I2C depends on REGULATOR_WM8350 = y help Include support for the Wolfson Microelectronics 1133-EV1 PMU and audio module for the MX31ADS platform. config MACH_MX31LILLY bool "Support MX31 LILLY-1131 platforms (INCO startec)" select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for mx31 based LILLY1131 modules. This includes specific configurations for the board and its peripherals. config MACH_MX31LITE bool "Support MX31 LITEKIT (LogicPD)" select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_RTC select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for MX31 LITEKIT platform. This includes specific configurations for the board and its peripherals. config MACH_PCM037 bool "Support Phytec pcm037 (i.MX31) platforms" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_W1 select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for Phytec pcm037 platform. This includes specific configurations for the board and its peripherals. config MACH_PCM037_EET bool "Support pcm037 EET board extensions" depends on MACH_PCM037 select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_SPI_IMX help Add support for PCM037 EET baseboard extensions. If you are using the OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel command-line parameter. config MACH_MX31_3DS bool "Support MX31PDK (3DS)" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_KEYPAD select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SPI_IMX select MXC_DEBUG_BOARD select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for MX31PDK (3DS) platform. This includes specific configurations for the board and its peripherals. config MACH_MX31_3DS_MXC_NAND_USE_BBT bool "Make the MXC NAND driver use the in flash Bad Block Table" depends on MACH_MX31_3DS depends on MTD_NAND_MXC help Enable this if you want that the MXC NAND driver uses the in flash Bad Block Table to know what blocks are bad instead of scanning the entire flash looking for bad block markers. config MACH_MX31MOBOARD bool "Support mx31moboard platforms (EPFL Mobots group)" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for mx31moboard platform. This includes specific configurations for the board and its peripherals. config MACH_QONG bool "Support Dave/DENX QongEVB-LITE platform" select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX31 help Include support for Dave/DENX QongEVB-LITE platform. This includes specific configurations for the board and its peripherals. config MACH_ARMADILLO5X0 bool "Support Atmark Armadillo-500 Development Base Board" select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_MMC select IMX_HAVE_PLATFORM_MXC_NAND select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX31 help Include support for Atmark Armadillo-500 platform. This includes specific configurations for the board and its peripherals. config MACH_KZM_ARM11_01 bool "Support KZM-ARM11-01(Kyoto Microcomputer)" select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX31 help Include support for KZM-ARM11-01. This includes specific configurations for the board and its peripherals. config MACH_BUG bool "Support Buglabs BUGBase platform" default y select IMX_HAVE_PLATFORM_IMX_UART select SOC_IMX31 help Include support for BUGBase 1.3 platform. This includes specific configurations for the board and its peripherals. config MACH_IMX31_DT bool "Support i.MX31 platforms from device tree" select SOC_IMX31 help Include support for Freescale i.MX31 based platforms using the device tree for discovery. comment "MX35 platforms:" config MACH_PCM043 bool "Support Phytec pcm043 (i.MX35) platforms" select IMX_HAVE_PLATFORM_FLEXCAN select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX35 help Include support for Phytec pcm043 platform. This includes specific configurations for the board and its peripherals. config MACH_MX35_3DS bool "Support MX35PDK platform" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_FB select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_RTC select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select MXC_DEBUG_BOARD select SOC_IMX35 help Include support for MX35PDK platform. This includes specific configurations for the board and its peripherals. config MACH_EUKREA_CPUIMX35SD bool "Support Eukrea CPUIMX35 Platform" select IMX_HAVE_PLATFORM_FLEXCAN select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select USB_ULPI_VIEWPORT if USB_ULPI select SOC_IMX35 help Include support for Eukrea CPUIMX35 platform. This includes specific configurations for the board and its peripherals. choice prompt "Baseboard" depends on MACH_EUKREA_CPUIMX35SD default MACH_EUKREA_MBIMXSD35_BASEBOARD config MACH_EUKREA_MBIMXSD35_BASEBOARD bool "Eukrea MBIMXSD development board" select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_SPI_IMX select LEDS_GPIO_REGISTER help This adds board specific devices that can be found on Eukrea's MBIMXSD evaluation board. endchoice config MACH_VPR200 bool "Support VPR200 platform" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_GPIO_KEYS select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select SOC_IMX35 help Include support for VPR200 platform. This includes specific configurations for the board and its peripherals. endif if ARCH_MULTI_V7 comment "i.MX51 machines:" config MACH_IMX51_DT bool "Support i.MX51 platforms from device tree" select SOC_IMX51 help Include support for Freescale i.MX51 based platforms using the device tree for discovery config MACH_MX51_BABBAGE bool "Support MX51 BABBAGE platforms" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select IMX_HAVE_PLATFORM_SPI_IMX select SOC_IMX51 help Include support for MX51 Babbage platform, also known as MX51EVK in u-boot. This includes specific configurations for the board and its peripherals. config MACH_EUKREA_CPUIMX51SD bool "Support Eukrea CPUIMX51SD module" select IMX_HAVE_PLATFORM_FSL_USB2_UDC select IMX_HAVE_PLATFORM_IMX2_WDT select IMX_HAVE_PLATFORM_IMX_I2C select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_SPI_IMX select SOC_IMX51 help Include support for Eukrea CPUIMX51SD platform. This includes specific configurations for the module and its peripherals. choice prompt "Baseboard" depends on MACH_EUKREA_CPUIMX51SD default MACH_EUKREA_MBIMXSD51_BASEBOARD config MACH_EUKREA_MBIMXSD51_BASEBOARD prompt "Eukrea MBIMXSD development board" bool select IMX_HAVE_PLATFORM_IMX_SSI select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select LEDS_GPIO_REGISTER help This adds board specific devices that can be found on Eukrea's MBIMXSD evaluation board. endchoice comment "Device tree only" config SOC_IMX53 bool "i.MX53 support" select HAVE_IMX_SRC select IMX_HAVE_PLATFORM_IMX2_WDT select PINCTRL select PINCTRL_IMX53 select SOC_IMX5 help This enables support for Freescale i.MX53 processor. config SOC_IMX6Q bool "i.MX6 Quad/DualLite support" select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_ERRATA_775420 select ARM_GIC select CPU_V7 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_IMX_ANATOP select HAVE_IMX_GPC select HAVE_IMX_MMDC select HAVE_IMX_SRC select HAVE_SMP select MFD_SYSCON select MIGHT_HAVE_PCI select PCI_DOMAINS if PCI select PINCTRL select PINCTRL_IMX6Q select PL310_ERRATA_588369 if CACHE_PL310 select PL310_ERRATA_727915 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_PL310 select PM_OPP if PM help This enables support for Freescale i.MX6 Quad processor. config SOC_IMX6SL bool "i.MX6 SoloLite support" select ARM_ERRATA_754322 select ARM_ERRATA_775420 select ARM_GIC select CPU_V7 select HAVE_IMX_ANATOP select HAVE_IMX_GPC select HAVE_IMX_MMDC select HAVE_IMX_SRC select MFD_SYSCON select PINCTRL select PINCTRL_IMX6SL select PL310_ERRATA_588369 if CACHE_PL310 select PL310_ERRATA_727915 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_PL310 help This enables support for Freescale i.MX6 SoloLite processor. config SOC_VF610 bool "Vybrid Family VF610 support" select CPU_V7 select ARM_GIC select CLKSRC_OF select PINCTRL select PINCTRL_VF610 select VF_PIT_TIMER select PL310_ERRATA_588369 if CACHE_PL310 select PL310_ERRATA_727915 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_PL310 help This enable support for Freescale Vybrid VF610 processor. endif source "arch/arm/mach-imx/devices/Kconfig" endmenu config IMX_HAVE_PLATFORM_FEC bool default y if ARCH_MX25 || SOC_IMX27 || SOC_IMX35 || SOC_IMX51 || SOC_IMX53 config IMX_HAVE_PLATFORM_FLEXCAN bool config IMX_HAVE_PLATFORM_FSL_USB2_UDC bool config IMX_HAVE_PLATFORM_GPIO_KEYS bool default y if SOC_IMX51 config IMX_HAVE_PLATFORM_IMX21_HCD bool config IMX_HAVE_PLATFORM_IMX27_CODA bool default y if SOC_IMX27 config IMX_HAVE_PLATFORM_IMX2_WDT bool config IMX_HAVE_PLATFORM_IMXDI_RTC bool config IMX_HAVE_PLATFORM_IMX_FB bool config IMX_HAVE_PLATFORM_IMX_I2C bool config IMX_HAVE_PLATFORM_IMX_KEYPAD bool config IMX_HAVE_PLATFORM_PATA_IMX bool config IMX_HAVE_PLATFORM_IMX_SSI bool config IMX_HAVE_PLATFORM_IMX_UART bool config IMX_HAVE_PLATFORM_IMX_UDC bool config IMX_HAVE_PLATFORM_IPU_CORE bool config IMX_HAVE_PLATFORM_MX1_CAMERA bool config IMX_HAVE_PLATFORM_MX2_CAMERA bool config IMX_HAVE_PLATFORM_MX2_EMMA bool config IMX_HAVE_PLATFORM_MXC_EHCI bool config IMX_HAVE_PLATFORM_MXC_MMC bool config IMX_HAVE_PLATFORM_MXC_NAND bool config IMX_HAVE_PLATFORM_MXC_PWM bool config IMX_HAVE_PLATFORM_MXC_RNGA bool select ARCH_HAS_RNGA config IMX_HAVE_PLATFORM_MXC_RTC bool config IMX_HAVE_PLATFORM_MXC_W1 bool config IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX bool config IMX_HAVE_PLATFORM_SPI_IMX bool if ARCH_INTEGRATOR menu "Integrator Options" config ARCH_INTEGRATOR_AP bool "Support Integrator/AP and Integrator/PP2 platforms" select CLKSRC_MMIO select MIGHT_HAVE_PCI select SERIAL_AMBA_PL010 select SERIAL_AMBA_PL010_CONSOLE select SOC_BUS help Include support for the ARM(R) Integrator/AP and Integrator/PP2 platforms. config ARCH_INTEGRATOR_CP bool "Support Integrator/CP platform" select ARCH_CINTEGRATOR select ARM_TIMER_SP804 select PLAT_VERSATILE_CLCD select SERIAL_AMBA_PL011 select SERIAL_AMBA_PL011_CONSOLE select SOC_BUS help Include support for the ARM(R) Integrator CP platform. config ARCH_CINTEGRATOR bool config INTEGRATOR_IMPD1 tristate "Include support for Integrator/IM-PD1" depends on ARCH_INTEGRATOR_AP help The IM-PD1 is an add-on logic module for the Integrator which allows ARM(R) Ltd PrimeCells to be developed and evaluated. The IM-PD1 can be found on the Integrator/PP2 platform. To compile this driver as a module, choose M here: the module will be called impd1. endmenu endif if ARCH_IOP13XX menu "IOP13XX Implementation Options" comment "IOP13XX Platform Support" config MACH_IQ81340SC bool "Enable IQ81340SC Hardware Support" help Say Y here if you want to support running on the Intel IQ81340SC evaluation kit. config MACH_IQ81340MC bool "Enable IQ81340MC Hardware Support" help Say Y here if you want to support running on the Intel IQ81340MC evaluation kit. endmenu endif if ARCH_IOP32X menu "IOP32x Implementation Options" comment "IOP32x Platform Types" config MACH_EP80219 bool config MACH_GLANTANK bool "Enable support for the IO-Data GLAN Tank" help Say Y here if you want to run your kernel on the GLAN Tank NAS appliance or machines from IO-Data's HDL-Gxxx, HDL-GWxxx and HDL-GZxxx series. config ARCH_IQ80321 bool "Enable support for IQ80321" help Say Y here if you want to run your kernel on the Intel IQ80321 evaluation kit for the IOP321 processor. config ARCH_IQ31244 bool "Enable support for EP80219/IQ31244" select MACH_EP80219 help Say Y here if you want to run your kernel on the Intel EP80219 evaluation kit for the Intel 80219 processor (a IOP321 variant) or the IQ31244 evaluation kit for the IOP321 processor. config MACH_N2100 bool "Enable support for the Thecus n2100" help Say Y here if you want to run your kernel on the Thecus n2100 NAS appliance. config MACH_EM7210 bool "Enable support for the Lanner EM7210" help Say Y here if you want to run your kernel on the Lanner EM7210 board. Say also Y here if you have a SS4000e Baxter Creek NAS appliance." endmenu endif if ARCH_IOP33X menu "IOP33x Implementation Options" comment "IOP33x Platform Types" config ARCH_IQ80331 bool "Enable support for IQ80331" help Say Y here if you want to run your kernel on the Intel IQ80331 evaluation kit for the IOP331 chipset. config MACH_IQ80332 bool "Enable support for IQ80332" help Say Y here if you want to run your kernel on the Intel IQ80332 evaluation kit for the IOP332 chipset. endmenu endif if ARCH_IXP4XX menu "Intel IXP4xx Implementation Options" comment "IXP4xx Platforms" config MACH_NSLU2 bool prompt "Linksys NSLU2" select PCI help Say 'Y' here if you want your kernel to support Linksys's NSLU2 NAS device. For more information on this platform, see http://www.nslu2-linux.org config MACH_AVILA bool "Avila" select PCI help Say 'Y' here if you want your kernel to support the Gateworks Avila Network Platform. For more information on this platform, see . config MACH_LOFT bool "Loft" depends on MACH_AVILA help Say 'Y' here if you want your kernel to support the Giant Shoulder Inc Loft board (a minor variation on the standard Gateworks Avila Network Platform). config ARCH_ADI_COYOTE bool "Coyote" select PCI help Say 'Y' here if you want your kernel to support the ADI Engineering Coyote Gateway Reference Platform. For more information on this platform, see . config MACH_GATEWAY7001 bool "Gateway 7001" select PCI help Say 'Y' here if you want your kernel to support Gateway's 7001 Access Point. For more information on this platform, see http://openwrt.org config MACH_WG302V2 bool "Netgear WG302 v2 / WAG302 v2" select PCI help Say 'Y' here if you want your kernel to support Netgear's WG302 v2 or WAG302 v2 Access Points. For more information on this platform, see http://openwrt.org config ARCH_IXDP425 bool "IXDP425" help Say 'Y' here if you want your kernel to support Intel's IXDP425 Development Platform (Also known as Richfield). For more information on this platform, see . config MACH_IXDPG425 bool "IXDPG425" help Say 'Y' here if you want your kernel to support Intel's IXDPG425 Development Platform (Also known as Montajade). For more information on this platform, see . config MACH_IXDP465 bool "IXDP465" help Say 'Y' here if you want your kernel to support Intel's IXDP465 Development Platform (Also known as BMP). For more information on this platform, see . config MACH_GORAMO_MLR bool "GORAMO Multi Link Router" help Say 'Y' here if you want your kernel to support GORAMO MultiLink router. config MACH_KIXRP435 bool "KIXRP435" help Say 'Y' here if you want your kernel to support Intel's KIXRP435 Reference Platform. For more information on this platform, see . # # IXCDP1100 is the exact same HW as IXDP425, but with a different machine # number from the bootloader due to marketing monkeys, so we just enable it # by default if IXDP425 is enabled. # config ARCH_IXCDP1100 bool depends on ARCH_IXDP425 default y config ARCH_PRPMC1100 bool "PrPMC1100" help Say 'Y' here if you want your kernel to support the Motorola PrPCM1100 Processor Mezanine Module. For more information on this platform, see . config MACH_NAS100D bool prompt "NAS100D" select PCI help Say 'Y' here if you want your kernel to support Iomega's NAS 100d device. For more information on this platform, see http://www.nslu2-linux.org/wiki/NAS100d/HomePage config MACH_DSMG600 bool prompt "D-Link DSM-G600 RevA" select PCI help Say 'Y' here if you want your kernel to support D-Link's DSM-G600 RevA device. For more information on this platform, see http://www.nslu2-linux.org/wiki/DSMG600/HomePage config ARCH_IXDP4XX bool depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435 default y config MACH_FSG bool prompt "Freecom FSG-3" select PCI help Say 'Y' here if you want your kernel to support Freecom's FSG-3 device. For more information on this platform, see http://www.nslu2-linux.org/wiki/FSG3/HomePage config MACH_ARCOM_VULCAN bool prompt "Arcom/Eurotech Vulcan" select PCI help Say 'Y' here if you want your kernel to support Arcom's Vulcan board. # # Certain registers and IRQs are only enabled if supporting IXP465 CPUs # config CPU_IXP46X bool depends on MACH_IXDP465 default y config CPU_IXP43X bool depends on MACH_KIXRP435 default y config MACH_GTWX5715 bool "Gemtek WX5715 (Linksys WRV54G)" depends on ARCH_IXP4XX select PCI help This board is currently inside the Linksys WRV54G Gateways. IXP425 - 266mhz 32mb SDRAM 8mb Flash miniPCI slot 0 does not have a card connector soldered to the board miniPCI slot 1 has an ISL3880 802.11g card (Prism54) npe0 is connected to a Kendin KS8995M Switch (4 ports) npe1 is the "wan" port "Console" UART is available on J11 as console "High Speed" UART is n/c (as far as I can tell) 20 Pin ARM/Xscale JTAG interface on J2 config MACH_DEVIXP bool "Omicron DEVIXP" help Say 'Y' here if you want your kernel to support the DEVIXP board from OMICRON electronics GmbH. config MACH_MICCPT bool "Omicron MICCPT" select PCI help Say 'Y' here if you want your kernel to support the MICCPT board from OMICRON electronics GmbH. config MACH_MIC256 bool "Omicron MIC256" help Say 'Y' here if you want your kernel to support the MIC256 board from OMICRON electronics GmbH. comment "IXP4xx Options" config IXP4XX_INDIRECT_PCI bool "Use indirect PCI memory access" depends on PCI help IXP4xx provides two methods of accessing PCI memory space: 1) A direct mapped window from 0x48000000 to 0x4BFFFFFF (64MB). To access PCI via this space, we simply ioremap() the BAR into the kernel and we can use the standard read[bwl]/write[bwl] macros. This is the preferred method due to speed but it limits the system to just 64MB of PCI memory. This can be problematic if using video cards and other memory-heavy devices. 2) If > 64MB of memory space is required, the IXP4xx can be configured to use indirect registers to access the whole PCI memory space. This currently allows for up to 1 GB (0x10000000 to 0x4FFFFFFF) of memory on the bus. The disadvantage of this is that every PCI access requires three local register accesses plus a spinlock, but in some cases the performance hit is acceptable. In addition, you cannot mmap() PCI devices in this case due to the indirect nature of the PCI window. By default, the direct method is used. Choose this option if you need to use the indirect method instead. If you don't know what you need, leave this option unselected. config IXP4XX_QMGR tristate "IXP4xx Queue Manager support" help This driver supports IXP4xx built-in hardware queue manager and is automatically selected by Ethernet and HSS drivers. config IXP4XX_NPE tristate "IXP4xx Network Processor Engine support" select FW_LOADER help This driver supports IXP4xx built-in network coprocessors and is automatically selected by Ethernet and HSS drivers. endmenu endif config ARCH_KEYSTONE bool "Texas Instruments Keystone Devices" depends on ARCH_MULTI_V7 select CPU_V7 select ARM_GIC select HAVE_ARM_ARCH_TIMER select HAVE_SMP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_ERRATA_798181 if SMP select COMMON_CLK_KEYSTONE select TI_EDMA help Support for boards based on the Texas Instruments Keystone family of SoCs. if ARCH_KIRKWOOD menu "Marvell Kirkwood Implementations" config KIRKWOOD_LEGACY bool config MACH_D2NET_V2 bool "LaCie d2 Network v2 NAS Board" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the LaCie d2 Network v2 NAS. config MACH_NET2BIG_V2 bool "LaCie 2Big Network v2 NAS Board" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the LaCie 2Big Network v2 NAS. config MACH_NET5BIG_V2 bool "LaCie 5Big Network v2 NAS Board" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the LaCie 5Big Network v2 NAS. config MACH_OPENRD select KIRKWOOD_LEGACY bool config MACH_OPENRD_BASE bool "Marvell OpenRD Base Board" select MACH_OPENRD help Say 'Y' here if you want your kernel to support the Marvell OpenRD Base Board. config MACH_OPENRD_CLIENT bool "Marvell OpenRD Client Board" select MACH_OPENRD help Say 'Y' here if you want your kernel to support the Marvell OpenRD Client Board. config MACH_OPENRD_ULTIMATE bool "Marvell OpenRD Ultimate Board" select MACH_OPENRD help Say 'Y' here if you want your kernel to support the Marvell OpenRD Ultimate Board. config MACH_RD88F6192_NAS bool "Marvell RD-88F6192-NAS Reference Board" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the Marvell RD-88F6192-NAS Reference Board. config MACH_RD88F6281 bool "Marvell RD-88F6281 Reference Board" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the Marvell RD-88F6281 Reference Board. config MACH_T5325 bool "HP t5325 Thin Client" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the HP t5325 Thin Client. config MACH_TS219 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS devices. config MACH_TS41X bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS" select KIRKWOOD_LEGACY help Say 'Y' here if you want your kernel to support the QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS devices. comment "Device tree entries" config ARCH_KIRKWOOD_DT bool "Marvell Kirkwood Flattened Device Tree" select KIRKWOOD_CLK select OF_IRQ select ORION_IRQCHIP select ORION_TIMER select POWER_SUPPLY select POWER_RESET select POWER_RESET_GPIO select REGULATOR select REGULATOR_FIXED_VOLTAGE select USE_OF help Say 'Y' here if you want your kernel to support the Marvell Kirkwood using flattened device tree. config MACH_MV88F6281GTW_GE_DT bool "Marvell 88F6281 GTW GE Board (Flattened Device Tree)" depends on ARCH_KIRKWOOD_DT help Say 'Y' here if you want your kernel to support the Marvell 88F6281 GTW GE Board (Flattened Device Tree). endmenu endif if ARCH_KS8695 menu "Kendin/Micrel KS8695 Implementations" config MACH_KS8695 bool "KS8695 development board" select MIGHT_HAVE_PCI help Say 'Y' here if you want your kernel to run on the original Kendin-Micrel KS8695 development board. config MACH_DSM320 bool "DSM-320 Wireless Media Player" help Say 'Y' here if you want your kernel to run on the D-Link DSM-320 Wireless Media Player. config MACH_ACS5K bool "Brivo Systems LLC, ACS-5000 Master board" help say 'Y' here if you want your kernel to run on the Brivo Systems LLC, ACS-5000 Master board. config MACH_LITE300 bool "SecureComputing SG300" help Say 'Y' here if you want your kernel to support the SecureComputing / SnapGear SG300 VPN Internet Router. See http://www.securecomputing.com for more details. config MACH_SG310 bool "McAfee SG310" help Say 'Y' here if you want your kernel to support the McAfee / SnapGear SG310 VPN Internet Router. See http://www.mcafee.com for more details. config MACH_SE4200 bool "SecureComputing SE4200" help Say 'Y' here if you want your kernel to support the SecureComputing / SnapGear SE4200 Secure Wireless VPN Internet Router. See http://www.securecomputing.com for more details. config MACH_CM4002 bool "OpenGear CM4002" help Say 'Y' here if you want your kernel to support the OpenGear CM4002 Secure Access Server. See http://www.opengear.com for more details. config MACH_CM4008 bool "OpenGear CM4008" select MIGHT_HAVE_PCI help Say 'Y' here if you want your kernel to support the OpenGear CM4008 Console Server. See http://www.opengear.com for more details. config MACH_CM41xx bool "OpenGear CM41xx" select MIGHT_HAVE_PCI help Say 'Y' here if you want your kernel to support the OpenGear CM4016 or CM4048 Console Servers. See http://www.opengear.com for more details. config MACH_IM4004 bool "OpenGear IM4004" select MIGHT_HAVE_PCI help Say 'Y' here if you want your kernel to support the OpenGear IM4004 Secure Access Server. See http://www.opengear.com for more details. config MACH_IM42xx bool "OpenGear IM42xx" select MIGHT_HAVE_PCI help Say 'Y' here if you want your kernel to support the OpenGear IM4216 or IM4248 Console Servers. See http://www.opengear.com for more details. endmenu endif if ARCH_MMP menu "Marvell PXA168/910/MMP2 Implmentations" config MACH_ASPENITE bool "Marvell's PXA168 Aspenite Development Board" select CPU_PXA168 help Say 'Y' here if you want to support the Marvell PXA168-based Aspenite Development Board. config MACH_ZYLONITE2 bool "Marvell's PXA168 Zylonite2 Development Board" select CPU_PXA168 help Say 'Y' here if you want to support the Marvell PXA168-based Zylonite2 Development Board. config MACH_AVENGERS_LITE bool "Marvell's PXA168 Avengers Lite Development Board" select CPU_PXA168 help Say 'Y' here if you want to support the Marvell PXA168-based Avengers Lite Development Board. config MACH_TAVOREVB bool "Marvell's PXA910 TavorEVB Development Board" select CPU_PXA910 help Say 'Y' here if you want to support the Marvell PXA910-based TavorEVB Development Board. config MACH_TTC_DKB bool "Marvell's PXA910 TavorEVB Development Board" select CPU_PXA910 help Say 'Y' here if you want to support the Marvell PXA910-based TTC_DKB Development Board. config MACH_BROWNSTONE bool "Marvell's Brownstone Development Platform" depends on !CPU_MOHAWK select CPU_MMP2 help Say 'Y' here if you want to support the Marvell MMP2-based Brown Development Platform. MMP2-based board can't be co-existed with PXA168-based & PXA910-based development board. Since MMP2 is compatible to ARMv7 architecture. config MACH_FLINT bool "Marvell's Flint Development Platform" depends on !CPU_MOHAWK select CPU_MMP2 help Say 'Y' here if you want to support the Marvell MMP2-based Flint Development Platform. MMP2-based board can't be co-existed with PXA168-based & PXA910-based development board. Since MMP2 is compatible to ARMv7 architecture. config MACH_MARVELL_JASPER bool "Marvell's Jasper Development Platform" depends on !CPU_MOHAWK select CPU_MMP2 help Say 'Y' here if you want to support the Marvell MMP2-base Jasper Development Platform. MMP2-based board can't be co-existed with PXA168-based & PXA910-based development board. Since MMP2 is compatible to ARMv7 architecture. config MACH_TETON_BGA bool "Marvell's PXA168 Teton BGA Development Board" select CPU_PXA168 help Say 'Y' here if you want to support the Marvell PXA168-based Teton BGA Development Board. config MACH_GPLUGD bool "Marvell's PXA168 GuruPlug Display (gplugD) Board" select CPU_PXA168 help Say 'Y' here if you want to support the Marvell PXA168-based GuruPlug Display (gplugD) Board config MACH_MMP_DT bool "Support MMP (ARMv5) platforms from device tree" select CPU_PXA168 select CPU_PXA910 select USE_OF select PINCTRL select PINCTRL_SINGLE help Include support for Marvell MMP2 based platforms using the device tree. Needn't select any other machine while MACH_MMP_DT is enabled. config MACH_MMP2_DT bool "Support MMP2 (ARMv7) platforms from device tree" depends on !CPU_MOHAWK select CPU_MMP2 select USE_OF select PINCTRL select PINCTRL_SINGLE help Include support for Marvell MMP2 based platforms using the device tree. endmenu config CPU_PXA168 bool select COMMON_CLK select CPU_MOHAWK help Select code specific to PXA168 config CPU_PXA910 bool select COMMON_CLK select CPU_MOHAWK help Select code specific to PXA910 config CPU_MMP2 bool select COMMON_CLK select CPU_PJ4 help Select code specific to MMP2. MMP2 is ARMv7 compatible. config USB_EHCI_MV_U2O bool "EHCI support for PXA USB OTG controller" depends on USB_EHCI_MV help Enables support for OTG controller which can be switched to host mode. endif if ARCH_MSM comment "Qualcomm MSM SoC Type" depends on ARCH_MSM_DT choice prompt "Qualcomm MSM SoC Type" default ARCH_MSM7X00A depends on !ARCH_MSM_DT config ARCH_MSM7X00A bool "MSM7x00A / MSM7x01A" select ARCH_MSM_ARM11 select CPU_V6 select GPIO_MSM_V1 select MACH_TROUT if !MACH_HALIBUT select MSM_PROC_COMM select MSM_SMD select MSM_SMD_PKG3 config ARCH_MSM7X30 bool "MSM7x30" select ARCH_MSM_SCORPION select CPU_V7 select GPIO_MSM_V1 select MACH_MSM7X30_SURF # if ! select MSM_GPIOMUX select MSM_PROC_COMM select MSM_SMD select MSM_VIC config ARCH_QSD8X50 bool "QSD8X50" select ARCH_MSM_SCORPION select CPU_V7 select GPIO_MSM_V1 select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5 select MSM_GPIOMUX select MSM_PROC_COMM select MSM_SMD select MSM_VIC endchoice config ARCH_MSM8X60 bool "MSM8X60" select ARM_GIC select CPU_V7 select GPIO_MSM_V2 select HAVE_SMP select MSM_SCM if SMP config ARCH_MSM8960 bool "MSM8960" select ARM_GIC select CPU_V7 select HAVE_SMP select GPIO_MSM_V2 select MSM_SCM if SMP config ARCH_MSM_DT def_bool y depends on (ARCH_MSM8X60 || ARCH_MSM8960) select SPARSE_IRQ select USE_OF config MSM_HAS_DEBUG_UART_HS bool config MSM_SOC_REV_A bool config ARCH_MSM_ARM11 bool config ARCH_MSM_SCORPION bool config MSM_VIC bool menu "Qualcomm MSM Board Type" depends on !ARCH_MSM_DT config MACH_HALIBUT depends on ARCH_MSM depends on ARCH_MSM7X00A bool "Halibut Board (QCT SURF7201A)" help Support for the Qualcomm SURF7201A eval board. config MACH_TROUT depends on ARCH_MSM depends on ARCH_MSM7X00A bool "HTC Dream (aka trout)" help Support for the HTC Dream, T-Mobile G1, Android ADP1 devices. config MACH_MSM7X30_SURF depends on ARCH_MSM7X30 bool "MSM7x30 SURF" help Support for the Qualcomm MSM7x30 SURF eval board. config MACH_QSD8X50_SURF depends on ARCH_QSD8X50 bool "QSD8x50 SURF" help Support for the Qualcomm QSD8x50 SURF eval board. config MACH_QSD8X50A_ST1_5 depends on ARCH_QSD8X50 bool "QSD8x50A ST1.5" select MSM_SOC_REV_A help Support for the Qualcomm ST1.5. endmenu config MSM_SMD_PKG3 bool config MSM_PROC_COMM bool config MSM_SMD bool config MSM_GPIOMUX bool depends on !ARCH_MSM_DT help Support for MSM V1 TLMM GPIOMUX architecture. config MSM_SCM bool endif if ARCH_MV78XX0 menu "Marvell MV78xx0 Implementations" config MACH_DB78X00_BP bool "Marvell DB-78x00-BP Development Board" help Say 'Y' here if you want your kernel to support the Marvell DB-78x00-BP Development Board. config MACH_RD78X00_MASA bool "Marvell RD-78x00-mASA Reference Design" help Say 'Y' here if you want your kernel to support the Marvell RD-78x00-mASA Reference Design. config MACH_TERASTATION_WXL bool "Buffalo WLX (Terastation Duo) NAS" help Say 'Y' here if you want your kernel to support the Buffalo WXL Nas. endmenu endif config ARCH_MVEBU bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7 select ARCH_SUPPORTS_BIG_ENDIAN select CLKSRC_MMIO select COMMON_CLK select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select IRQ_DOMAIN select MULTI_IRQ_HANDLER select PINCTRL select PLAT_ORION select SPARSE_IRQ select CLKDEV_LOOKUP select MVEBU_MBUS select ZONE_DMA if ARM_LPAE select ARCH_REQUIRE_GPIOLIB select MIGHT_HAVE_PCI select PCI_QUIRKS if PCI if ARCH_MVEBU menu "Marvell SOC with device tree" config MACH_ARMADA_370_XP bool select ARMADA_370_XP_TIMER select HAVE_SMP select CACHE_L2X0 select CPU_PJ4B config MACH_ARMADA_370 bool "Marvell Armada 370 boards" select ARMADA_370_CLK select MACH_ARMADA_370_XP select PINCTRL_ARMADA_370 help Say 'Y' here if you want your kernel to support boards based on the Marvell Armada 370 SoC with device tree. config MACH_ARMADA_XP bool "Marvell Armada XP boards" select ARMADA_XP_CLK select MACH_ARMADA_370_XP select PINCTRL_ARMADA_XP help Say 'Y' here if you want your kernel to support boards based on the Marvell Armada XP SoC with device tree. endmenu endif config SOC_IMX23 bool select ARM_AMBA select ARM_CPU_SUSPEND if PM select CPU_ARM926T select PINCTRL_IMX23 config SOC_IMX28 bool select ARM_AMBA select ARM_CPU_SUSPEND if PM select CPU_ARM926T select PINCTRL_IMX28 config ARCH_MXS bool "Freescale MXS (i.MX23, i.MX28) support" depends on ARCH_MULTI_V5 select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_MMIO select CLKSRC_OF select GENERIC_CLOCKEVENTS select HAVE_CLK_PREPARE select PINCTRL select SOC_BUS select SOC_IMX23 select SOC_IMX28 select STMP_DEVICE help Support for Freescale MXS-based family of processors menu "NetX Implementations" depends on ARCH_NETX config MACH_NXDKN bool "Enable Hilscher nxdkn Eval Board support" depends on ARCH_NETX help Board support for the Hilscher NetX Eval Board config MACH_NXDB500 bool "Enable Hilscher nxdb500 Eval Board support" depends on ARCH_NETX select ARM_AMBA help Board support for the Hilscher nxdb500 Eval Board config MACH_NXEB500HMI bool "Enable Hilscher nxeb500hmi Eval Board support" depends on ARCH_NETX select ARM_AMBA help Board support for the Hilscher nxeb500hmi Eval Board endmenu config ARCH_NOMADIK bool "ST-Ericsson Nomadik" depends on ARCH_MULTI_V5 select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select ARM_VIC select CLKSRC_NOMADIK_MTU select CLKSRC_NOMADIK_MTU_SCHED_CLOCK select CLKSRC_OF select COMMON_CLK select CPU_ARM926T select GENERIC_CLOCKEVENTS select MIGHT_HAVE_CACHE_L2X0 select PINCTRL select PINCTRL_NOMADIK select PINCTRL_STN8815 select SPARSE_IRQ select USE_OF help Support for the Nomadik platform by ST-Ericsson if ARCH_NOMADIK menu "Nomadik boards" config MACH_NOMADIK_8815NHK bool "ST 8815 Nomadik Hardware Kit (evaluation board)" select NOMADIK_8815 select I2C select I2C_ALGOBIT select I2C_NOMADIK endmenu endif config NOMADIK_8815 depends on ARCH_NOMADIK bool config ARCH_NSPIRE bool "TI-NSPIRE based" depends on ARCH_MULTI_V4_V5 depends on MMU select CPU_ARM926T select COMMON_CLK select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select SPARSE_IRQ select ARM_AMBA select ARM_VIC select ARM_TIMER_SP804 select USE_OF select CLKSRC_OF help This enables support for systems using the TI-NSPIRE CPU if ARCH_OMAP1 menu "TI OMAP1 specific features" comment "OMAP Core Type" depends on ARCH_OMAP1 config ARCH_OMAP730 depends on ARCH_OMAP1 bool "OMAP730 Based System" select ARCH_OMAP_OTG select CPU_ARM926T select OMAP_MPU_TIMER config ARCH_OMAP850 depends on ARCH_OMAP1 bool "OMAP850 Based System" select ARCH_OMAP_OTG select CPU_ARM926T config ARCH_OMAP15XX depends on ARCH_OMAP1 default y bool "OMAP15xx Based System" select CPU_ARM925T select OMAP_MPU_TIMER config ARCH_OMAP16XX depends on ARCH_OMAP1 bool "OMAP16xx Based System" select ARCH_OMAP_OTG select CPU_ARM926T comment "OMAP Board Type" depends on ARCH_OMAP1 config MACH_OMAP_INNOVATOR bool "TI Innovator" depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX) help TI OMAP 1510 or 1610 Innovator board support. Say Y here if you have such a board. config MACH_OMAP_H2 bool "TI H2 Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX help TI OMAP 1610/1611B H2 board support. Say Y here if you have such a board. config MACH_OMAP_H3 bool "TI H3 Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX help TI OMAP 1710 H3 board support. Say Y here if you have such a board. config MACH_HERALD bool "HTC Herald" depends on ARCH_OMAP850 help HTC Herald smartphone support (AKA T-Mobile Wing, ...) config MACH_OMAP_OSK bool "TI OSK Support" depends on ARCH_OMAP1 && ARCH_OMAP16XX help TI OMAP 5912 OSK (OMAP Starter Kit) board support. Say Y here if you have such a board. config OMAP_OSK_MISTRAL bool "Mistral QVGA board Support" depends on MACH_OMAP_OSK help The OSK supports an optional add-on board with a Quarter-VGA touchscreen, PDA-ish buttons, a resume button, bicolor LED, and camera connector. Say Y here if you have this board. config MACH_OMAP_PERSEUS2 bool "TI Perseus2" depends on ARCH_OMAP1 && ARCH_OMAP730 help Support for TI OMAP 730 Perseus2 board. Say Y here if you have such a board. config MACH_OMAP_FSAMPLE bool "TI F-Sample" depends on ARCH_OMAP1 && ARCH_OMAP730 help Support for TI OMAP 850 F-Sample board. Say Y here if you have such a board. config MACH_VOICEBLUE bool "Voiceblue" depends on ARCH_OMAP1 && ARCH_OMAP15XX help Support for Voiceblue GSM/VoIP gateway. Say Y here if you have such a board. config MACH_OMAP_PALMTE bool "Palm Tungsten E" depends on ARCH_OMAP1 && ARCH_OMAP15XX help Support for the Palm Tungsten E PDA. To boot the kernel, you'll need a PalmOS compatible bootloader; check out http://palmtelinux.sourceforge.net/ for more information. Say Y here if you have this PDA model, say N otherwise. config MACH_OMAP_PALMZ71 bool "Palm Zire71" depends on ARCH_OMAP1 && ARCH_OMAP15XX help Support for the Palm Zire71 PDA. To boot the kernel, you'll need a PalmOS compatible bootloader; check out http://hackndev.com/palm/z71 for more information. Say Y here if you have such a PDA, say N otherwise. config MACH_OMAP_PALMTT bool "Palm Tungsten|T" depends on ARCH_OMAP1 && ARCH_OMAP15XX help Support for the Palm Tungsten|T PDA. To boot the kernel, you'll need a PalmOS compatible bootloader (Garux); check out http://garux.sourceforge.net/ for more information. Say Y here if you have this PDA model, say N otherwise. config MACH_SX1 bool "Siemens SX1" depends on ARCH_OMAP1 && ARCH_OMAP15XX select I2C help Support for the Siemens SX1 phone. To boot the kernel, you'll need a SX1 compatible bootloader; check out http://forum.oslik.ru and http://www.handhelds.org/moin/moin.cgi/SiemensSX1 for more information. Say Y here if you have such a phone, say NO otherwise. config MACH_NOKIA770 bool "Nokia 770" depends on ARCH_OMAP1 && ARCH_OMAP16XX help Support for the Nokia 770 Internet Tablet. Say Y here if you have such a device. config MACH_AMS_DELTA bool "Amstrad E3 (Delta)" depends on ARCH_OMAP1 && ARCH_OMAP15XX select FIQ select GPIO_GENERIC_PLATFORM select LEDS_GPIO_REGISTER select REGULATOR select REGULATOR_FIXED_VOLTAGE help Support for the Amstrad E3 (codename Delta) videophone. Say Y here if you have such a device. config MACH_OMAP_GENERIC bool "Generic OMAP board" depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX) help Support for generic OMAP-1510, 1610 or 1710 board with no FPGA. Can be used as template for porting Linux to custom OMAP boards. Say Y here if you have a custom board. endmenu endif config ARCH_OMAP bool config ARCH_OMAP2 bool "TI OMAP2" depends on ARCH_MULTI_V6 select ARCH_OMAP2PLUS select CPU_V6 select MULTI_IRQ_HANDLER select SOC_HAS_OMAP2_SDRC config ARCH_OMAP3 bool "TI OMAP3" depends on ARCH_MULTI_V7 select ARCH_OMAP2PLUS select ARCH_HAS_OPP select ARM_CPU_SUSPEND if PM select CPU_V7 select MULTI_IRQ_HANDLER select OMAP_INTERCONNECT select PM_OPP if PM select PM_RUNTIME if CPU_IDLE select SOC_HAS_OMAP2_SDRC select USB_ARCH_HAS_EHCI if USB_SUPPORT config ARCH_OMAP4 bool "TI OMAP4" depends on ARCH_MULTI_V7 select ARCH_OMAP2PLUS select ARCH_HAS_OPP select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP select ARM_CPU_SUSPEND if PM select ARM_ERRATA_720789 select ARM_GIC select CACHE_L2X0 select CPU_V7 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select OMAP_INTERCONNECT select PL310_ERRATA_588369 select PL310_ERRATA_727915 select PM_OPP if PM select PM_RUNTIME if CPU_IDLE select USB_ARCH_HAS_EHCI if USB_SUPPORT select ARM_ERRATA_754322 select ARM_ERRATA_775420 config SOC_OMAP5 bool "TI OMAP5" depends on ARCH_MULTI_V7 select ARCH_OMAP2PLUS select ARM_CPU_SUSPEND if PM select ARM_GIC select CPU_V7 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if LOCAL_TIMERS select HAVE_SMP select HAVE_ARM_ARCH_TIMER select ARM_ERRATA_798181 if SMP config SOC_AM33XX bool "TI AM33XX" depends on ARCH_MULTI_V7 select ARCH_OMAP2PLUS select ARM_CPU_SUSPEND if PM select CPU_V7 select MULTI_IRQ_HANDLER config SOC_AM43XX bool "TI AM43x" depends on ARCH_MULTI_V7 select CPU_V7 select ARCH_OMAP2PLUS select MULTI_IRQ_HANDLER select ARM_GIC select MACH_OMAP_GENERIC config ARCH_OMAP2PLUS bool select ARCH_HAS_BANDGAP select ARCH_HAS_CPUFREQ select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_OMAP select ARCH_REQUIRE_GPIOLIB select CLKSRC_MMIO select COMMON_CLK select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select MACH_OMAP_GENERIC select OMAP_DM_TIMER select PINCTRL select PROC_DEVICETREE if PROC_FS select SOC_BUS select SPARSE_IRQ select TI_PRIV_EDMA select USE_OF help Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 if ARCH_OMAP2PLUS menu "TI OMAP2/3/4 Specific Features" config ARCH_OMAP2PLUS_TYPICAL bool "Typical OMAP configuration" default y select AEABI select HIGHMEM select I2C select I2C_OMAP select MENELAUS if ARCH_OMAP2 select NEON if CPU_V7 select PM_RUNTIME select REGULATOR select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4 select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4 select VFP help Compile a kernel suitable for booting most boards config SOC_HAS_OMAP2_SDRC bool "OMAP2 SDRAM Controller support" config SOC_HAS_REALTIME_COUNTER bool "Real time free running counter" depends on SOC_OMAP5 || SOC_DRA7XX default y config SOC_DRA7XX bool "TI DRA7XX" select ARM_ARCH_TIMER select CPU_V7 select ARM_GIC select HAVE_SMP select COMMON_CLK comment "OMAP Core Type" depends on ARCH_OMAP2 config SOC_OMAP2420 bool "OMAP2420 support" depends on ARCH_OMAP2 default y select OMAP_DM_TIMER select SOC_HAS_OMAP2_SDRC config SOC_OMAP2430 bool "OMAP2430 support" depends on ARCH_OMAP2 default y select SOC_HAS_OMAP2_SDRC config SOC_OMAP3430 bool "OMAP3430 support" depends on ARCH_OMAP3 default y select SOC_HAS_OMAP2_SDRC config SOC_TI81XX bool "TI81XX support" depends on ARCH_OMAP3 default y config OMAP_PACKAGE_ZAF bool config OMAP_PACKAGE_ZAC bool config OMAP_PACKAGE_CBC bool config OMAP_PACKAGE_CBB bool config OMAP_PACKAGE_CUS bool config OMAP_PACKAGE_CBP bool comment "OMAP Legacy Platform Data Board Type" depends on ARCH_OMAP2PLUS config MACH_OMAP_GENERIC bool config MACH_OMAP2_TUSB6010 bool depends on ARCH_OMAP2 && SOC_OMAP2420 default y if MACH_NOKIA_N8X0 config MACH_OMAP_H4 bool "OMAP 2420 H4 board" depends on SOC_OMAP2420 default y select OMAP_DEBUG_DEVICES select OMAP_PACKAGE_ZAF config MACH_OMAP_2430SDP bool "OMAP 2430 SDP board" depends on SOC_OMAP2430 default y select OMAP_PACKAGE_ZAC config MACH_OMAP3_BEAGLE bool "OMAP3 BEAGLE board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_DEVKIT8000 bool "DEVKIT8000 board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CUS config MACH_OMAP_LDP bool "OMAP3 LDP board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_OMAP3530_LV_SOM bool "OMAP3 Logic 3530 LV SOM board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB help Support for the LogicPD OMAP3530 SOM Development kit for full description please see the products webpage at http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap35x-development-kit config MACH_OMAP3_TORPEDO bool "OMAP3 Logic 35x Torpedo board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB help Support for the LogicPD OMAP35x Torpedo Development kit for full description please see the products webpage at http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit config MACH_OVERO bool "Gumstix Overo board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_OMAP3517EVM bool "OMAP3517/ AM3517 EVM board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_CRANEBOARD bool "AM3517/05 CRANE board" depends on ARCH_OMAP3 select OMAP_PACKAGE_CBB config MACH_OMAP3_PANDORA bool "OMAP3 Pandora" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB select REGULATOR_FIXED_VOLTAGE if REGULATOR config MACH_TOUCHBOOK bool "OMAP3 Touch Book" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_OMAP_3430SDP bool "OMAP 3430 SDP board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_NOKIA_N800 bool config MACH_NOKIA_N810 bool config MACH_NOKIA_N810_WIMAX bool config MACH_NOKIA_N8X0 bool "Nokia N800/N810" depends on SOC_OMAP2420 default y select MACH_NOKIA_N800 select MACH_NOKIA_N810 select MACH_NOKIA_N810_WIMAX select OMAP_PACKAGE_ZAC config MACH_NOKIA_RX51 bool "Nokia N900 (RX-51) phone" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_CM_T35 bool "CompuLab CM-T35/CM-T3730 modules" depends on ARCH_OMAP3 default y select MACH_CM_T3730 select OMAP_PACKAGE_CUS config MACH_CM_T3517 bool "CompuLab CM-T3517 module" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CBB config MACH_CM_T3730 bool config MACH_SBC3530 bool "OMAP3 SBC STALKER board" depends on ARCH_OMAP3 default y select OMAP_PACKAGE_CUS config MACH_TI8168EVM bool "TI8168 Evaluation Module" depends on SOC_TI81XX default y config MACH_TI8148EVM bool "TI8148 Evaluation Module" depends on SOC_TI81XX default y config OMAP3_EMU bool "OMAP3 debugging peripherals" depends on ARCH_OMAP3 select ARM_AMBA select OC_ETM help Say Y here to enable debugging hardware of omap3 config OMAP3_SDRC_AC_TIMING bool "Enable SDRC AC timing register changes" depends on ARCH_OMAP3 default n help If you know that none of your system initiators will attempt to access SDRAM during CORE DVFS, select Y here. This should boost SDRAM performance at lower CORE OPPs. There are relatively few users who will wish to say yes at this point - almost everyone will wish to say no. Selecting yes without understanding what is going on could result in system crashes; config OMAP4_ERRATA_I688 bool "OMAP4 errata: Async Bridge Corruption" depends on (ARCH_OMAP4 || SOC_OMAP5) && !ARCH_MULTIPLATFORM select ARCH_HAS_BARRIERS help If a data is stalled inside asynchronous bridge because of back pressure, it may be accepted multiple times, creating pointer misalignment that will corrupt next transfers on that data path until next reset of the system (No recovery procedure once the issue is hit, the path remains consistently broken). Async bridge can be found on path between MPU to EMIF and MPU to L3 interconnect. This situation can happen only when the idle is initiated by a Master Request Disconnection (which is trigged by software when executing WFI on CPU). The work-around for this errata needs all the initiators connected through async bridge must ensure that data path is properly drained before issuing WFI. This condition will be met if one Strongly ordered access is performed to the target right before executing the WFI. In MPU case, L3 T2ASYNC FIFO and DDR T2ASYNC FIFO needs to be drained. IO barrier ensure that there is no synchronisation loss on initiators operating on both interconnect port simultaneously. endmenu endif if ARCH_ORION5X menu "Orion Implementations" config ARCH_ORION5X_DT bool "Marvell Orion5x Flattened Device Tree" select USE_OF help Say 'Y' here if you want your kernel to support the Marvell Orion5x using flattened device tree. config MACH_DB88F5281 bool "Marvell Orion-2 Development Board" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Marvell Orion-2 (88F5281) Development Board config MACH_RD88F5182 bool "Marvell Orion-NAS Reference Design" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Marvell Orion-NAS (88F5182) RD2 config MACH_KUROBOX_PRO bool "KuroBox Pro" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the KuroBox Pro platform. config MACH_DNS323 bool "D-Link DNS-323" select I2C_BOARDINFO select PHYLIB help Say 'Y' here if you want your kernel to support the D-Link DNS-323 platform. config MACH_TS209 bool "QNAP TS-109/TS-209" help Say 'Y' here if you want your kernel to support the QNAP TS-109/TS-209 platform. config MACH_TERASTATION_PRO2 bool "Buffalo Terastation Pro II/Live" help Say 'Y' here if you want your kernel to support the Buffalo Terastation Pro II/Live platform. config MACH_LINKSTATION_PRO bool "Buffalo Linkstation Pro/Live" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Buffalo Linkstation Pro/Live platform. Both v1 and v2 devices are supported. config MACH_LINKSTATION_LSCHL bool "Buffalo Linkstation Live v3 (LS-CHL)" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Buffalo Linkstation Live v3 (LS-CHL) platform. config MACH_LINKSTATION_MINI bool "Buffalo Linkstation Mini" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Buffalo Linkstation Mini platform. config MACH_LINKSTATION_LS_HGL bool "Buffalo Linkstation LS-HGL" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the Buffalo Linkstation LS-HGL platform. config MACH_TS409 bool "QNAP TS-409" help Say 'Y' here if you want your kernel to support the QNAP TS-409 platform. config MACH_WRT350N_V2 bool "Linksys WRT350N v2" help Say 'Y' here if you want your kernel to support the Linksys WRT350N v2 platform. config MACH_TS78XX bool "Technologic Systems TS-78xx" help Say 'Y' here if you want your kernel to support the Technologic Systems TS-78xx platform. config MACH_MV2120 bool "HP Media Vault mv2120" help Say 'Y' here if you want your kernel to support the HP Media Vault mv2120 or mv5100. config MACH_EDMINI_V2_DT bool "LaCie Ethernet Disk mini V2 (Flattened Device Tree)" select I2C_BOARDINFO select ARCH_ORION5X_DT help Say 'Y' here if you want your kernel to support the LaCie Ethernet Disk mini V2 (Flattened Device Tree). config MACH_D2NET bool "LaCie d2 Network" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the LaCie d2 Network NAS. config MACH_BIGDISK bool "LaCie Big Disk Network" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the LaCie Big Disk Network NAS. config MACH_NET2BIG bool "LaCie 2Big Network" select I2C_BOARDINFO help Say 'Y' here if you want your kernel to support the LaCie 2Big Network NAS. config MACH_MSS2 bool "Maxtor Shared Storage II" help Say 'Y' here if you want your kernel to support the Maxtor Shared Storage II platform. config MACH_WNR854T bool "Netgear WNR854T" help Say 'Y' here if you want your kernel to support the Netgear WNR854T platform. config MACH_RD88F5181L_GE bool "Marvell Orion-VoIP GE Reference Design" help Say 'Y' here if you want your kernel to support the Marvell Orion-VoIP GE (88F5181L) RD. config MACH_RD88F5181L_FXO bool "Marvell Orion-VoIP FXO Reference Design" help Say 'Y' here if you want your kernel to support the Marvell Orion-VoIP FXO (88F5181L) RD. config MACH_RD88F6183AP_GE bool "Marvell Orion-1-90 AP GE Reference Design" help Say 'Y' here if you want your kernel to support the Marvell Orion-1-90 (88F6183) AP GE RD. endmenu endif config ARCH_PICOXCELL bool "Picochip PicoXcell" if ARCH_MULTI_V6 select ARCH_REQUIRE_GPIOLIB select ARM_PATCH_PHYS_VIRT select ARM_VIC select CPU_V6K select DW_APB_TIMER_OF select GENERIC_CLOCKEVENTS select HAVE_TCM select NO_IOPORT select SPARSE_IRQ select USE_OF config ARCH_SIRF bool "CSR SiRF" if ARCH_MULTI_V7 select ARCH_REQUIRE_GPIOLIB select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select MIGHT_HAVE_CACHE_L2X0 select NO_IOPORT select PINCTRL select PINCTRL_SIRF help Support for CSR SiRFprimaII/Marco/Polo platforms if ARCH_SIRF menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" config ARCH_ATLAS6 bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" default y select CPU_V7 select SIRF_IRQ help Support for CSR SiRFSoC ARM Cortex A9 Platform config ARCH_PRIMA2 bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" default y select CPU_V7 select SIRF_IRQ select ZONE_DMA help Support for CSR SiRFSoC ARM Cortex A9 Platform config ARCH_MARCO bool "CSR SiRFSoC MARCO ARM Cortex A9 Platform" default y select ARM_GIC select CPU_V7 select HAVE_ARM_SCU if SMP select HAVE_SMP select SMP_ON_UP if SMP help Support for CSR SiRFSoC ARM Cortex A9 Platform endmenu config SIRF_IRQ bool endif if ARCH_PXA menu "Intel PXA2xx/PXA3xx Implementations" comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" config MACH_PXA3XX_DT bool "Support PXA3xx platforms from device tree" select CPU_PXA300 select HAVE_PWM select POWER_SUPPLY select PXA3xx select USE_OF help Include support for Marvell PXA3xx based platforms using the device tree. Needn't select any other machine while MACH_PXA3XX_DT is enabled. config ARCH_LUBBOCK bool "Intel DBPXA250 Development Platform (aka Lubbock)" select PXA25x select SA1111 config MACH_MAINSTONE bool "Intel HCDDBBVA0 Development Platform (aka Mainstone)" select HAVE_PWM select PXA27x config MACH_ZYLONITE bool select HAVE_PWM select PXA3xx config MACH_ZYLONITE300 bool "PXA3xx Development Platform (aka Zylonite) PXA300/310" select CPU_PXA300 select CPU_PXA310 select MACH_ZYLONITE config MACH_ZYLONITE320 bool "PXA3xx Development Platform (aka Zylonite) PXA320" select CPU_PXA320 select MACH_ZYLONITE config MACH_LITTLETON bool "PXA3xx Form Factor Platform (aka Littleton)" select CPU_PXA300 select CPU_PXA310 select PXA3xx config MACH_TAVOREVB bool "PXA930 Evaluation Board (aka TavorEVB)" select CPU_PXA930 select CPU_PXA935 select PXA3xx config MACH_SAAR bool "PXA930 Handheld Platform (aka SAAR)" select CPU_PXA930 select CPU_PXA935 select PXA3xx comment "Third Party Dev Platforms (sorted by vendor name)" config ARCH_PXA_IDP bool "Accelent Xscale IDP" select PXA25x config ARCH_VIPER bool "Arcom/Eurotech VIPER SBC" select ARCOM_PCMCIA select HAVE_PWM select I2C_GPIO select ISA select PXA25x select PXA_HAVE_ISA_IRQS config MACH_ARCOM_ZEUS bool "Arcom/Eurotech ZEUS SBC" select ARCOM_PCMCIA select ISA select PXA27x select PXA_HAVE_ISA_IRQS config MACH_BALLOON3 bool "Balloon 3 board" select IWMMXT select PXA27x config MACH_CSB726 bool "Enable Cogent CSB726 System On a Module" select IWMMXT select PXA27x help Say Y here if you intend to run this kernel on a Cogent CSB726 System On Module. config CSB726_CSB701 bool "Enable support for CSB701 baseboard" depends on MACH_CSB726 config MACH_ARMCORE bool "CompuLab CM-X255/CM-X270 modules" select ARCH_HAS_DMA_SET_COHERENT_MASK if PCI select IWMMXT select MIGHT_HAVE_PCI select NEED_MACH_IO_H if PCI select PXA25x select PXA27x config MACH_EM_X270 bool "CompuLab EM-x270 platform" select PXA27x config MACH_EXEDA bool "CompuLab eXeda platform" select PXA27x config MACH_CM_X300 bool "CompuLab CM-X300 modules" select CPU_PXA300 select CPU_PXA310 select HAVE_PWM select PXA3xx config MACH_CAPC7117 bool "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM" select CPU_PXA320 select PXA3xx config ARCH_GUMSTIX bool "Gumstix XScale 255 boards" select PXA25x help Say Y here if you intend to run this kernel on Basix, Connex, ws-200ax, ws-400ax systems choice prompt "Gumstix Carrier/Expansion Board" depends on ARCH_GUMSTIX config GUMSTIX_AM200EPD bool "Enable AM200EPD board support" config GUMSTIX_AM300EPD bool "Enable AM300EPD board support" endchoice config MACH_INTELMOTE2 bool "Intel Mote 2 Platform" select IWMMXT select PXA27x config MACH_STARGATE2 bool "Intel Stargate 2 Platform" select IWMMXT select PXA27x config MACH_XCEP bool "Iskratel Electronics XCEP" select MTD select MTD_CFI select MTD_CFI_INTELEXT select MTD_PHYSMAP select PXA25x select SMC91X help PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash. Tuned for usage in Libera instruments for particle accelerators. config TRIZEPS_PXA bool "PXA based Keith und Koep Trizeps DIMM-Modules" config MACH_TRIZEPS4 bool "Keith und Koep Trizeps4 DIMM-Module" depends on TRIZEPS_PXA select PXA27x select TRIZEPS_PCMCIA config MACH_TRIZEPS4WL bool "Keith und Koep Trizeps4-WL DIMM-Module" depends on TRIZEPS_PXA select PXA27x select TRIZEPS_PCMCIA choice prompt "Select base board for Trizeps module" depends on TRIZEPS_PXA config MACH_TRIZEPS_CONXS bool "ConXS Eval Board" config MACH_TRIZEPS_UCONXS bool "uConXS Eval Board" config MACH_TRIZEPS_ANY bool "another Board" endchoice config ARCOM_PCMCIA bool help Generic option for Arcom Viper/Zeus PCMCIA config TRIZEPS_PCMCIA bool help Enable PCMCIA support for Trizeps modules config MACH_LOGICPD_PXA270 bool "LogicPD PXA270 Card Engine Development Platform" select HAVE_PWM select PXA27x config MACH_PCM027 bool "Phytec phyCORE-PXA270 CPU module (PCM-027)" select IWMMXT select PXA27x config MACH_PCM990_BASEBOARD bool "PHYTEC PCM-990 development board" depends on MACH_PCM027 select HAVE_PWM choice prompt "display on pcm990" depends on MACH_PCM990_BASEBOARD config PCM990_DISPLAY_SHARP bool "sharp lq084v1dg21 stn display" config PCM990_DISPLAY_NEC bool "nec nl6448bc20_18d tft display" config PCM990_DISPLAY_NONE bool "no display" endchoice config MACH_COLIBRI bool "Toradex Colibri PXA270" select PXA27x config MACH_COLIBRI_PXA270_INCOME bool "Income s.r.o. PXA270 SBC" depends on MACH_COLIBRI select HAVE_PWM select PXA27x config MACH_COLIBRI300 bool "Toradex Colibri PXA300/310" select CPU_PXA300 select CPU_PXA310 select PXA3xx config MACH_COLIBRI320 bool "Toradex Colibri PXA320" select CPU_PXA320 select PXA3xx config MACH_COLIBRI_EVALBOARD bool "Toradex Colibri Evaluation Carrier Board support" depends on MACH_COLIBRI || MACH_COLIBRI300 || MACH_COLIBRI320 config MACH_VPAC270 bool "Voipac PXA270" select HAVE_PATA_PLATFORM select PXA27x help PXA270 based Single Board Computer. comment "End-user Products (sorted by vendor name)" config MACH_H4700 bool "HP iPAQ hx4700" select HAVE_PWM select IWMMXT select PXA27x config MACH_H5000 bool "HP iPAQ h5000" select PXA25x config MACH_HIMALAYA bool "HTC Himalaya Support" select CPU_PXA26x config MACH_MAGICIAN bool "Enable HTC Magician Support" select HAVE_PWM select IWMMXT select PXA27x config MACH_MIOA701 bool "Mitac Mio A701 Support" select GPIO_SYSFS select HAVE_PWM select IWMMXT select PXA27x help Say Y here if you intend to run this kernel on a MIO A701. Currently there is only basic support for this PDA. config PXA_EZX bool "Motorola EZX Platform" select HAVE_PWM select IWMMXT select PXA27x config MACH_EZX_A780 bool "Motorola EZX A780" default y depends on PXA_EZX config MACH_EZX_E680 bool "Motorola EZX E680" default y depends on PXA_EZX config MACH_EZX_A1200 bool "Motorola EZX A1200" default y depends on PXA_EZX config MACH_EZX_A910 bool "Motorola EZX A910" default y depends on PXA_EZX config MACH_EZX_E6 bool "Motorola EZX E6" default y depends on PXA_EZX config MACH_EZX_E2 bool "Motorola EZX E2" default y depends on PXA_EZX config MACH_MP900C bool "Nec Mobilepro 900/c" select PXA25x config ARCH_PXA_PALM bool "PXA based Palm PDAs" select HAVE_PWM config MACH_PALM27X bool config MACH_PALMTE2 bool "Palm Tungsten|E2" default y depends on ARCH_PXA_PALM select PXA25x help Say Y here if you intend to run this kernel on a Palm Tungsten|E2 handheld computer. config MACH_PALMTC bool "Palm Tungsten|C" default y depends on ARCH_PXA_PALM select PXA25x help Say Y here if you intend to run this kernel on a Palm Tungsten|C handheld computer. config MACH_PALMT5 bool "Palm Tungsten|T5" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PXA27x help Say Y here if you intend to run this kernel on a Palm Tungsten|T5 handheld computer. config MACH_PALMTX bool "Palm T|X" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PXA27x help Say Y here if you intend to run this kernel on a Palm T|X handheld computer. config MACH_PALMZ72 bool "Palm Zire 72" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PXA27x help Say Y here if you intend to run this kernel on Palm Zire 72 handheld computer. config MACH_PALMLD bool "Palm LifeDrive" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PXA27x help Say Y here if you intend to run this kernel on a Palm LifeDrive handheld computer. config PALM_TREO bool depends on ARCH_PXA_PALM config MACH_CENTRO bool "Palm Centro 685 (GSM)" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PALM_TREO select PXA27x help Say Y here if you intend to run this kernel on Palm Centro 685 (GSM) smartphone. config MACH_TREO680 bool "Palm Treo 680" default y depends on ARCH_PXA_PALM select IWMMXT select MACH_PALM27X select PALM_TREO select PXA27x help Say Y here if you intend to run this kernel on Palm Treo 680 smartphone. config MACH_RAUMFELD_RC bool "Raumfeld Controller" select CPU_PXA300 select HAVE_PWM select POWER_SUPPLY select PXA3xx config MACH_RAUMFELD_CONNECTOR bool "Raumfeld Connector" select CPU_PXA300 select POWER_SUPPLY select PXA3xx config MACH_RAUMFELD_SPEAKER bool "Raumfeld Speaker" select CPU_PXA300 select POWER_SUPPLY select PXA3xx config PXA_SHARPSL bool "SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models" select SHARP_PARAM select SHARP_SCOOP help Say Y here if you intend to run this kernel on a Sharp Zaurus SL-5600 (Poodle), SL-C700 (Corgi), SL-C750 (Shepherd), SL-C760 (Husky), SL-C1000 (Akita), SL-C3000 (Spitz), SL-C3100 (Borzoi) or SL-C6000x (Tosa) handheld computer. config PXA_SHARPSL_DETECT_MACH_ID bool "Detect machine ID at run-time in the decompressor" depends on PXA_SHARPSL help Say Y here if you want the zImage decompressor to detect the Zaurus machine ID at run-time. For latest kexec-based boot loader, this is not necessary. config MACH_POODLE bool "Enable Sharp SL-5600 (Poodle) Support" depends on PXA_SHARPSL select PXA25x select SHARP_LOCOMO config MACH_CORGI bool "Enable Sharp SL-C700 (Corgi) Support" depends on PXA_SHARPSL select PXA25x select PXA_SHARP_C7xx config MACH_SHEPHERD bool "Enable Sharp SL-C750 (Shepherd) Support" depends on PXA_SHARPSL select PXA25x select PXA_SHARP_C7xx config MACH_HUSKY bool "Enable Sharp SL-C760 (Husky) Support" depends on PXA_SHARPSL select PXA25x select PXA_SHARP_C7xx config MACH_AKITA bool "Enable Sharp SL-1000 (Akita) Support" depends on PXA_SHARPSL select I2C select I2C_PXA select MACH_SPITZ select PXA27x select PXA_SHARP_Cxx00 config MACH_SPITZ bool "Enable Sharp Zaurus SL-3000 (Spitz) Support" depends on PXA_SHARPSL select PXA27x select PXA_SHARP_Cxx00 config MACH_BORZOI bool "Enable Sharp Zaurus SL-3100 (Borzoi) Support" depends on PXA_SHARPSL select PXA27x select PXA_SHARP_Cxx00 config MACH_TOSA bool "Enable Sharp SL-6000x (Tosa) Support" depends on PXA_SHARPSL select PXA25x config TOSA_BT tristate "Control the state of built-in bluetooth chip on Sharp SL-6000" depends on MACH_TOSA select RFKILL help This is a simple driver that is able to control the state of built in bluetooth chip on tosa. config TOSA_USE_EXT_KEYCODES bool "Tosa keyboard: use extended keycodes" depends on MACH_TOSA default n help Say Y here to enable the tosa keyboard driver to generate extended (>= 127) keycodes. Be aware, that they can't be correctly interpreted by either console keyboard driver or by Kdrive keybd driver. Say Y only if you know, what you are doing! config MACH_ICONTROL bool "TMT iControl/SafeTCam based on the MXM-8x10 CoM" select CPU_PXA320 select PXA3xx config ARCH_PXA_ESERIES bool "PXA based Toshiba e-series PDAs" select FB_W100 select PXA25x config MACH_E330 bool "Toshiba e330" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e330 family PDA. config MACH_E350 bool "Toshiba e350" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e350 family PDA. config MACH_E740 bool "Toshiba e740" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e740 family PDA. config MACH_E750 bool "Toshiba e750" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e750 family PDA. config MACH_E400 bool "Toshiba e400" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e400 family PDA. config MACH_E800 bool "Toshiba e800" default y depends on ARCH_PXA_ESERIES help Say Y here if you intend to run this kernel on a Toshiba e800 family PDA. config MACH_ZIPIT2 bool "Zipit Z2 Handheld" select HAVE_PWM select PXA27x endmenu config PXA25x bool select CPU_XSCALE help Select code specific to PXA21x/25x/26x variants config PXA27x bool select CPU_XSCALE help Select code specific to PXA27x variants config CPU_PXA26x bool select PXA25x help Select code specific to PXA26x (codename Dalhart) config PXA3xx bool select CPU_XSC3 help Select code specific to PXA3xx variants config CPU_PXA300 bool select PXA3xx help PXA300 (codename Monahans-L) config CPU_PXA310 bool select CPU_PXA300 select PXA310_ULPI if USB_ULPI help PXA310 (codename Monahans-LV) config CPU_PXA320 bool select PXA3xx help PXA320 (codename Monahans-P) config CPU_PXA930 bool select PXA3xx help PXA930 (codename Tavor-P) config CPU_PXA935 bool select CPU_PXA930 help PXA935 (codename Tavor-P65) config PXA_SHARP_C7xx bool select SHARPSL_PM help Enable support for all Sharp C7xx models config PXA_SHARP_Cxx00 bool select SHARPSL_PM help Enable common support for Sharp Cxx00 models config SHARPSL_PM bool select APM_EMULATION select SHARPSL_PM_MAX1111 config SHARPSL_PM_MAX1111 bool select HWMON select SENSORS_MAX1111 select SPI select SPI_MASTER config PXA_HAVE_ISA_IRQS bool config PXA310_ULPI bool endif menu "RealView platform type" depends on ARCH_REALVIEW config MACH_REALVIEW_EB bool "Support RealView(R) Emulation Baseboard" select ARM_GIC help Include support for the ARM(R) RealView(R) Emulation Baseboard platform. config REALVIEW_EB_A9MP bool "Support Multicore Cortex-A9 Tile" depends on MACH_REALVIEW_EB select CPU_V7 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 help Enable support for the Cortex-A9MPCore tile fitted to the Realview(R) Emulation Baseboard platform. config REALVIEW_EB_ARM11MP bool "Support ARM11MPCore Tile" depends on MACH_REALVIEW_EB select ARCH_HAS_BARRIERS if SMP select CPU_V6K select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 help Enable support for the ARM11MPCore tile fitted to the Realview(R) Emulation Baseboard platform. config REALVIEW_EB_ARM11MP_REVB bool "Support ARM11MPCore RevB Tile" depends on REALVIEW_EB_ARM11MP help Enable support for the ARM11MPCore Revision B tile on the Realview(R) Emulation Baseboard platform. Since there are device address differences, a kernel built with this option enabled is not compatible with other revisions of the ARM11MPCore tile. config MACH_REALVIEW_PB11MP bool "Support RealView(R) Platform Baseboard for ARM11MPCore" select ARCH_HAS_BARRIERS if SMP select ARM_GIC select CPU_V6K select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_PATA_PLATFORM select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 help Include support for the ARM(R) RealView(R) Platform Baseboard for the ARM11MPCore. This platform has an on-board ARM11MPCore and has support for PCI-E and Compact Flash. # ARMv6 CPU without K extensions, but does have the new exclusive ops config MACH_REALVIEW_PB1176 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" select ARM_GIC select CPU_V6 select HAVE_TCM select MIGHT_HAVE_CACHE_L2X0 help Include support for the ARM(R) RealView(R) Platform Baseboard for ARM1176JZF-S. config REALVIEW_PB1176_SECURE_FLASH bool "Allow access to the secure flash memory block" depends on MACH_REALVIEW_PB1176 default n help Select this option if Linux will only run in secure mode on the RealView PB1176 platform and access to the secure flash memory block (64MB @ 0x3c000000) is required. config MACH_REALVIEW_PBA8 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" select ARM_GIC select CPU_V7 select HAVE_PATA_PLATFORM help Include support for the ARM(R) RealView Platform Baseboard for Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has support for PCI-E and Compact Flash. config MACH_REALVIEW_PBX bool "Support RealView(R) Platform Baseboard Explore" select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET select ARM_GIC select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_PATA_PLATFORM select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select ZONE_DMA if SPARSEMEM help Include support for the ARM(R) RealView(R) Platform Baseboard Explore. config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform" depends on MMU && !MACH_REALVIEW_PB1176 default y help RealView boards other than PB1176 have the RAM available at 0x70000000, 256MB of which being mirrored at 0x00000000. If the board supports 512MB of RAM, this option allows the memory to be accessed contiguously at the high physical offset. On the PBX board, disabling this option allows 1GB of RAM to be used with SPARSEMEM. endmenu config ARCH_ROCKCHIP bool "Rockchip RK2928 and RK3xxx SOCs" if ARCH_MULTI_V7 select PINCTRL select PINCTRL_ROCKCHIP select ARCH_REQUIRE_GPIOLIB select ARM_GIC select CACHE_L2X0 select HAVE_ARM_TWD if SMP select HAVE_SMP select COMMON_CLK select GENERIC_CLOCKEVENTS select DW_APB_TIMER_OF select ARM_GLOBAL_TIMER select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK help Support for Rockchip's Cortex-A9 Single-to-Quad-Core-SoCs containing the RK2928, RK30xx and RK31xx series. # arch/arm/mach-s3c24xx/Kconfig # # Copyright (c) 2012 Samsung Electronics Co., Ltd. # http://www.samsung.com/ # # Copyright 2007 Simtec Electronics # # Licensed under GPLv2 if ARCH_S3C24XX config PLAT_S3C24XX def_bool y select ARCH_REQUIRE_GPIOLIB select NO_IOPORT select S3C_DEV_NAND select IRQ_DOMAIN help Base platform code for any Samsung S3C24XX device menu "SAMSUNG S3C24XX SoCs Support" comment "S3C24XX SoCs" config CPU_S3C2410 bool "SAMSUNG S3C2410" default y select CPU_ARM920T select CPU_LLSERIAL_S3C2410 select S3C2410_CLOCK select S3C2410_DMA if S3C24XX_DMA select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ select S3C2410_PM if PM select SAMSUNG_WDT_RESET help Support for S3C2410 and S3C2410A family from the S3C24XX line of Samsung Mobile CPUs. config CPU_S3C2412 bool "SAMSUNG S3C2412" select CPU_ARM926T select CPU_LLSERIAL_S3C2440 select S3C2412_DMA if S3C24XX_DMA select S3C2412_PM if PM help Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line config CPU_S3C2416 bool "SAMSUNG S3C2416/S3C2450" select CPU_ARM926T select CPU_LLSERIAL_S3C2440 select S3C2416_PM if PM select S3C2443_COMMON select S3C2443_DMA if S3C24XX_DMA select SAMSUNG_CLKSRC help Support for the S3C2416 SoC from the S3C24XX line config CPU_S3C2440 bool "SAMSUNG S3C2440" select CPU_ARM920T select CPU_LLSERIAL_S3C2440 select S3C2410_CLOCK select S3C2410_PM if PM select S3C2440_DMA if S3C24XX_DMA help Support for S3C2440 Samsung Mobile CPU based systems. config CPU_S3C2442 bool "SAMSUNG S3C2442" select CPU_ARM920T select CPU_LLSERIAL_S3C2440 select S3C2410_CLOCK select S3C2410_DMA if S3C24XX_DMA select S3C2410_PM if PM help Support for S3C2442 Samsung Mobile CPU based systems. config CPU_S3C244X def_bool y depends on CPU_S3C2440 || CPU_S3C2442 select SAMSUNG_WDT_RESET config CPU_S3C2443 bool "SAMSUNG S3C2443" select CPU_ARM920T select CPU_LLSERIAL_S3C2440 select S3C2443_COMMON select S3C2443_DMA if S3C24XX_DMA select SAMSUNG_CLKSRC help Support for the S3C2443 SoC from the S3C24XX line # common code config S3C2410_CLOCK bool help Clock code for the S3C2410, and similar processors which is currently includes the S3C2410, S3C2440, S3C2442. config S3C24XX_DCLK bool help Clock code for supporting DCLK/CLKOUT on S3C24XX architectures config S3C24XX_SMDK bool help Common machine code for SMDK2410 and SMDK2440 config S3C24XX_SIMTEC_AUDIO bool depends on (ARCH_BAST || MACH_VR1000 || MACH_OSIRIS || MACH_ANUBIS) default y help Add audio devices for common Simtec S3C24XX boards config S3C24XX_SIMTEC_PM bool help Common power management code for systems that are compatible with the Simtec style of power management config S3C24XX_SIMTEC_USB bool help USB management code for common Simtec S3C24XX boards config S3C24XX_SETUP_TS bool help Compile in platform device definition for Samsung TouchScreen. config S3C24XX_DMA bool "S3C2410 DMA support" select S3C_DMA help S3C2410 DMA support. This is needed for drivers like sound which use the S3C2410's DMA system to move data to and from the peripheral blocks. config S3C2410_DMA_DEBUG bool "S3C2410 DMA support debug" depends on S3C2410_DMA help Enable debugging output for the DMA code. This option sends info to the kernel log, at priority KERN_DEBUG. config S3C2410_DMA bool depends on S3C24XX_DMA && (CPU_S3C2410 || CPU_S3C2442) help DMA device selection for S3C2410 and compatible CPUs config S3C2410_PM bool help Power Management code common to S3C2410 and better # low-level serial option nodes config CPU_LLSERIAL_S3C2410_ONLY bool default y if CPU_LLSERIAL_S3C2410 && !CPU_LLSERIAL_S3C2440 config CPU_LLSERIAL_S3C2440_ONLY bool default y if CPU_LLSERIAL_S3C2440 && !CPU_LLSERIAL_S3C2410 config CPU_LLSERIAL_S3C2410 bool help Selected if there is an S3C2410 (or register compatible) serial low-level implementation needed config CPU_LLSERIAL_S3C2440 bool help Selected if there is an S3C2440 (or register compatible) serial low-level implementation needed # gpio configurations config S3C24XX_GPIO_EXTRA int default 128 if S3C24XX_GPIO_EXTRA128 default 64 if S3C24XX_GPIO_EXTRA64 default 16 if ARCH_H1940 default 0 config S3C24XX_GPIO_EXTRA64 bool help Add an extra 64 gpio numbers to the available GPIO pool. This is available for boards that need extra gpios for external devices. config S3C24XX_GPIO_EXTRA128 bool help Add an extra 128 gpio numbers to the available GPIO pool. This is available for boards that need extra gpios for external devices. config S3C24XX_PLL bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)" depends on ARM_S3C24XX_CPUFREQ help Compile in support for changing the PLL frequency from the S3C24XX series CPUfreq driver. The PLL takes time to settle after a frequency change, so by default it is not enabled. This also means that the PLL tables for the selected CPU(s) will be built which may increase the size of the kernel image. # cpu frequency items common between s3c2410 and s3c2440/s3c2442 config S3C2410_IOTIMING bool depends on ARM_S3C24XX_CPUFREQ help Internal node to select io timing code that is common to the s3c2410 and s3c2440/s3c2442 cpu frequency support. config S3C2410_CPUFREQ_UTILS bool depends on ARM_S3C24XX_CPUFREQ help Internal node to select timing code that is common to the s3c2410 and s3c2440/s3c244 cpu frequency support. # cpu frequency support common to s3c2412, s3c2413 and s3c2442 config S3C2412_IOTIMING bool depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443) help Intel node to select io timing code that is common to the s3c2412 and the s3c2443. # cpu-specific sections if CPU_S3C2410 config S3C2410_PLL bool depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL default y help Select the PLL table for the S3C2410 config S3C24XX_SIMTEC_NOR bool help Internal node to specify machine has simtec NOR mapping config MACH_BAST_IDE bool select HAVE_PATA_PLATFORM help Internal node for machines with an BAST style IDE interface comment "S3C2410 Boards" # # The "S3C2410 Boards" list is ordered alphabetically by option text. # (without ARCH_ or MACH_) # config MACH_AML_M5900 bool "AML M5900 Series" select S3C24XX_SIMTEC_PM if PM select S3C_DEV_USB_HOST help Say Y here if you are using the American Microsystems M5900 Series config ARCH_BAST bool "Simtec Electronics BAST (EB2410ITX)" select ISA select MACH_BAST_IDE select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ select S3C24XX_DCLK select S3C24XX_SIMTEC_NOR select S3C24XX_SIMTEC_PM if PM select S3C24XX_SIMTEC_USB select S3C_DEV_HWMON select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec Electronics EB2410ITX development board (also known as BAST) config BAST_PC104_IRQ bool "BAST PC104 IRQ support" depends on ARCH_BAST default y help Say Y here to enable the PC104 IRQ routing on the Simtec BAST (EB2410ITX) config ARCH_H1940 bool "IPAQ H1940" select PM_H1940 if PM select S3C24XX_SETUP_TS select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the HP IPAQ H1940 config H1940BT tristate "Control the state of H1940 bluetooth chip" depends on ARCH_H1940 select RFKILL help This is a simple driver that is able to control the state of built in bluetooth chip on h1940. config PM_H1940 bool help Internal node for H1940 and related PM config MACH_N30 bool "Acer N30 family" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you want suppt for the Acer N30, Acer N35, Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs. config MACH_OTOM bool "NexVision OTOM Board" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Nex Vision OTOM board config MACH_QT2410 bool "QT2410" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Armzone QT2410 config ARCH_SMDK2410 bool "SMDK2410/A9M2410" select S3C24XX_SMDK select S3C_DEV_USB_HOST help Say Y here if you are using the SMDK2410 or the derived module A9M2410 config MACH_TCT_HAMMER bool "TCT Hammer Board" select S3C_DEV_USB_HOST help Say Y here if you are using the TinCanTools Hammer Board config MACH_VR1000 bool "Thorcom VR1000" select MACH_BAST_IDE select S3C24XX_DCLK select S3C24XX_SIMTEC_NOR select S3C24XX_SIMTEC_PM if PM select S3C24XX_SIMTEC_USB select S3C_DEV_USB_HOST help Say Y here if you are using the Thorcom VR1000 board. endif # CPU_S3C2410 config S3C2412_PM_SLEEP bool help Internal config node to apply sleep for S3C2412 power management. Can be selected by another SoCs such as S3C2416 with similar sleep procedure. if CPU_S3C2412 config CPU_S3C2412_ONLY bool depends on !CPU_S3C2410 && !CPU_S3C2416 && !CPU_S3C2440 && \ !CPU_S3C2442 && !CPU_S3C2443 default y config S3C2412_DMA bool help Internal config node for S3C2412 DMA support config S3C2412_PM bool select S3C2412_PM_SLEEP select SAMSUNG_WAKEMASK help Internal config node to apply S3C2412 power management comment "S3C2412 Boards" # # The "S3C2412 Boards" list is ordered alphabetically by option text. # (without ARCH_ or MACH_) # config MACH_JIVE bool "Logitech Jive" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Logitech Jive. config MACH_JIVE_SHOW_BOOTLOADER bool "Allow access to bootloader partitions in MTD" depends on MACH_JIVE config MACH_S3C2413 bool help Internal node for S3C2413 version of SMDK2413, so that machine_is_s3c2413() will work when MACH_SMDK2413 is selected config MACH_SMDK2412 bool "SMDK2412" select MACH_SMDK2413 help Say Y here if you are using an SMDK2412 Note, this shares support with SMDK2413, so will automatically select MACH_SMDK2413. config MACH_SMDK2413 bool "SMDK2413" select MACH_S3C2413 select S3C24XX_SMDK select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using an SMDK2413 config MACH_VSTMS bool "VMSTMS" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using an VSTMS board endif # CPU_S3C2412 if CPU_S3C2416 config S3C2416_PM bool select S3C2412_PM_SLEEP help Internal config node to apply S3C2416 power management config S3C2416_SETUP_SDHCI bool select S3C2416_SETUP_SDHCI_GPIO help Internal helper functions for S3C2416 based SDHCI systems config S3C2416_SETUP_SDHCI_GPIO bool help Common setup code for SDHCI gpio. comment "S3C2416 Boards" config MACH_SMDK2416 bool "SMDK2416" select S3C2416_SETUP_SDHCI select S3C24XX_SMDK select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using an SMDK2416 config MACH_S3C2416_DT bool "Samsung S3C2416 machine using devicetree" select CLKSRC_OF select USE_OF select PINCTRL select PINCTRL_S3C24XX help Machine support for Samsung S3C2416 machines with device tree enabled. Select this if a fdt blob is available for the S3C2416 SoC based board. Note: This is under development and not all peripherals can be supported with this machine file. endif # CPU_S3C2416 if CPU_S3C2440 config S3C2440_DMA bool help Support for S3C2440 specific DMA code5A config S3C2440_XTAL_12000000 bool help Indicate that the build needs to support 12MHz system crystal. config S3C2440_XTAL_16934400 bool help Indicate that the build needs to support 16.9344MHz system crystal. config S3C2440_PLL_12000000 bool depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000 default y if S3C24XX_PLL help PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals. config S3C2440_PLL_16934400 bool depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400 default y if S3C24XX_PLL help PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals. comment "S3C2440 Boards" # # The "S3C2440 Boards" list is ordered alphabetically by option text. # (without ARCH_ or MACH_) # config MACH_ANUBIS bool "Simtec Electronics ANUBIS" select HAVE_PATA_PLATFORM select S3C2440_XTAL_12000000 select S3C24XX_DCLK select S3C24XX_GPIO_EXTRA64 select S3C24XX_SIMTEC_PM if PM select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec Electronics ANUBIS development system config MACH_AT2440EVB bool "Avantech AT2440EVB development board" select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the AT2440EVB development board config MACH_MINI2440 bool "MINI2440 development board" select EEPROM_AT24 select LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_BACKLIGHT select NEW_LEDS select S3C_DEV_NAND select S3C_DEV_USB_HOST select S3C_SETUP_CAMIF help Say Y here to select support for the MINI2440. Is a 10cm x 10cm board available via various sources. It can come with a 3.5" or 7" touch LCD. config MACH_NEXCODER_2440 bool "NexVision NEXCODER 2440 Light Board" select S3C2440_XTAL_12000000 select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board config MACH_OSIRIS bool "Simtec IM2440D20 (OSIRIS) module" select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ select S3C2440_XTAL_12000000 select S3C24XX_DCLK select S3C24XX_GPIO_EXTRA128 select S3C24XX_SIMTEC_PM if PM select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the Simtec IM2440D20 module, also known as the Osiris. config MACH_OSIRIS_DVS tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver" depends on MACH_OSIRIS select TPS65010 help Say Y/M here if you want to have dynamic voltage scaling support on the Simtec IM2440D20 (OSIRIS) module via the TPS65011. The DVS driver alters the voltage supplied to the ARM core depending on the frequency it is running at. The driver itself does not do any of the frequency alteration, which is left up to the cpufreq driver. config MACH_RX3715 bool "HP iPAQ rx3715" select PM_H1940 if PM select S3C2440_XTAL_16934400 select S3C_DEV_NAND help Say Y here if you are using the HP iPAQ rx3715. config ARCH_S3C2440 bool "SMDK2440" select S3C2440_XTAL_16934400 select S3C24XX_SMDK select S3C_DEV_NAND select S3C_DEV_USB_HOST help Say Y here if you are using the SMDK2440. config SMDK2440_CPU2440 bool "SMDK2440 with S3C2440 CPU module" default y if ARCH_S3C2440 select S3C2440_XTAL_16934400 endif # CPU_S3C2440 if CPU_S3C2442 comment "S3C2442 Boards" # # The "S3C2442 Boards" list is ordered alphabetically by option text. # (without ARCH_ or MACH_) # config MACH_NEO1973_GTA02 bool "Openmoko GTA02 / Freerunner phone" select I2C select MFD_PCF50633 select PCF50633_GPIO select POWER_SUPPLY select S3C24XX_PWM select S3C_DEV_USB_HOST help Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone config MACH_RX1950 bool "HP iPAQ rx1950" select I2C select PM_H1940 if PM select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ select S3C2440_XTAL_16934400 select S3C24XX_DCLK select S3C24XX_PWM select S3C_DEV_NAND help Say Y here if you're using HP iPAQ rx1950 endif # CPU_S3C2442 if CPU_S3C2443 || CPU_S3C2416 config S3C2443_COMMON bool help Common code for the S3C2443 and similar processors, which includes the S3C2416 and S3C2450. config S3C2443_DMA bool help Internal config node for S3C2443 DMA support config S3C2443_SETUP_SPI bool help Common setup code for SPI GPIO configurations endif # CPU_S3C2443 || CPU_S3C2416 if CPU_S3C2443 comment "S3C2443 Boards" config MACH_SMDK2443 bool "SMDK2443" select S3C24XX_SMDK select S3C_DEV_HSMMC1 help Say Y here if you are using an SMDK2443 endif # CPU_S3C2443 endmenu # SAMSUNG S3C24XX SoCs Support endif # ARCH_S3C24XX # Copyright 2008 Openmoko, Inc. # Simtec Electronics, Ben Dooks # # Licensed under GPLv2 if ARCH_S3C64XX # Configuration options for the S3C6410 CPU config CPU_S3C6400 bool help Enable S3C6400 CPU support config CPU_S3C6410 bool help Enable S3C6410 CPU support config S3C64XX_DMA bool "S3C64XX DMA" select S3C_DMA config S3C64XX_SETUP_SDHCI bool select S3C64XX_SETUP_SDHCI_GPIO help Internal configuration for default SDHCI setup for S3C6400 and S3C6410 SoCs. config S3C64XX_DEV_ONENAND1 bool help Compile in platform device definition for OneNAND1 controller # platform specific device setup config S3C64XX_SETUP_I2C0 bool default y help Common setup code for i2c bus 0. Note, currently since i2c0 is always compiled, this setup helper is always compiled with it. config S3C64XX_SETUP_I2C1 bool help Common setup code for i2c bus 1. config S3C64XX_SETUP_IDE bool help Common setup code for S3C64XX IDE. config S3C64XX_SETUP_FB_24BPP bool help Common setup code for S3C64XX with an 24bpp RGB display helper. config S3C64XX_SETUP_KEYPAD bool help Common setup code for S3C64XX KEYPAD GPIO configurations config S3C64XX_SETUP_SDHCI_GPIO bool help Common setup code for S3C64XX SDHCI GPIO configurations config S3C64XX_SETUP_SPI bool help Common setup code for SPI GPIO configurations config S3C64XX_SETUP_USB_PHY bool help Common setup code for USB PHY controller # S36400 Macchine support config MACH_SMDK6400 bool "SMDK6400" select CPU_S3C6400 select S3C64XX_SETUP_SDHCI select S3C_DEV_HSMMC select S3C_DEV_NAND help Machine support for the Samsung SMDK6400 # S3C6410 machine support config MACH_ANW6410 bool "A&W6410" select CPU_S3C6410 select S3C64XX_SETUP_FB_24BPP select S3C_DEV_FB help Machine support for the A&W6410 config MACH_MINI6410 bool "MINI6410" select CPU_S3C6410 select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_SDHCI select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_NAND select S3C_DEV_USB_HOST select SAMSUNG_DEV_ADC select SAMSUNG_DEV_TS help Machine support for the FriendlyARM MINI6410 config MACH_REAL6410 bool "REAL6410" select CPU_S3C6410 select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_SDHCI select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_NAND select S3C_DEV_USB_HOST select SAMSUNG_DEV_ADC select SAMSUNG_DEV_TS help Machine support for the CoreWind REAL6410 config MACH_SMDK6410 bool "SMDK6410" select CPU_S3C6410 select HAVE_S3C2410_WATCHDOG if WATCHDOG select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_I2C1 select S3C64XX_SETUP_IDE select S3C64XX_SETUP_KEYPAD select S3C64XX_SETUP_SDHCI select S3C64XX_SETUP_USB_PHY select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_USB_HOST select S3C_DEV_USB_HSOTG select S3C_DEV_WDT select SAMSUNG_DEV_ADC select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_IDE select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Machine support for the Samsung SMDK6410 # At least some of the SMDK6410s were shipped with the card detect # for the MMC/SD slots connected to the same input. This means that # either the boards need to be altered to have channel0 to an alternate # configuration or that only one slot can be used. choice prompt "SMDK6410 MMC/SD slot setup" depends on MACH_SMDK6410 config SMDK6410_SD_CH0 bool "Use channel 0 only" depends on MACH_SMDK6410 help Select CON7 (channel 0) as the MMC/SD slot, as at least some SMDK6410 boards come with the resistors fitted so that the card detects for channels 0 and 1 are the same. config SMDK6410_SD_CH1 bool "Use channel 1 only" depends on MACH_SMDK6410 help Select CON6 (channel 1) as the MMC/SD slot, as at least some SMDK6410 boards come with the resistors fitted so that the card detects for channels 0 and 1 are the same. endchoice config SMDK6410_WM1190_EV1 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" depends on MACH_SMDK6410 select MFD_WM8350_I2C select REGULATOR select REGULATOR_WM8350 select SAMSUNG_GPIO_EXTRA64 help The Wolfson Microelectronics 1190-EV1 is a WM835x based PMIC and audio daughtercard for the Samsung SMDK6410 reference platform. Enabling this option will build support for this module into the kernel. The presence of the module will be detected at runtime so the resulting kernel can be used with or without the 1190-EV1 fitted. config SMDK6410_WM1192_EV1 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card" depends on MACH_SMDK6410 select MFD_WM831X select MFD_WM831X_I2C select REGULATOR select REGULATOR_WM831X select SAMSUNG_GPIO_EXTRA64 help The Wolfson Microelectronics 1192-EV1 is a WM831x based PMIC daughtercard for the Samsung SMDK6410 reference platform. Enabling this option will build support for this module into the kernel. The presence of the daughtercard will be detected at runtime so the resulting kernel can be used with or without the 1192-EV1 fitted. config MACH_NCP bool "NCP" select CPU_S3C6410 select S3C64XX_SETUP_I2C1 select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 help Machine support for the Samsung NCP config MACH_HMT bool "Airgoo HMT" select CPU_S3C6410 select S3C64XX_SETUP_FB_24BPP select S3C_DEV_FB select S3C_DEV_NAND select S3C_DEV_USB_HOST select SAMSUNG_DEV_PWM help Machine support for the Airgoo HMT config MACH_SMARTQ bool select CPU_S3C6410 select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_SDHCI select S3C64XX_SETUP_USB_PHY select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_HWMON select S3C_DEV_RTC select S3C_DEV_USB_HOST select S3C_DEV_USB_HSOTG select SAMSUNG_DEV_ADC select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Shared machine support for SmartQ 5/7 config MACH_SMARTQ5 bool "SmartQ 5" select MACH_SMARTQ help Machine support for the SmartQ 5 config MACH_SMARTQ7 bool "SmartQ 7" select MACH_SMARTQ help Machine support for the SmartQ 7 config MACH_WLF_CRAGG_6410 bool "Wolfson Cragganmore 6410" select CPU_S3C6410 select I2C select LEDS_GPIO_REGISTER select S3C64XX_DEV_SPI0 select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_I2C1 select S3C64XX_SETUP_IDE select S3C64XX_SETUP_KEYPAD select S3C64XX_SETUP_SDHCI select S3C64XX_SETUP_SPI select S3C64XX_SETUP_USB_PHY select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_USB_HOST select S3C_DEV_USB_HSOTG select S3C_DEV_WDT select SAMSUNG_DEV_ADC select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_PWM select SAMSUNG_GPIO_EXTRA128 help Machine support for the Wolfson Cragganmore S3C6410 variant. config MACH_S3C64XX_DT bool "Samsung S3C6400/S3C6410 machine using Device Tree" select CLKSRC_OF select CPU_S3C6400 select CPU_S3C6410 select PINCTRL select PINCTRL_S3C64XX select USE_OF help Machine support for Samsung S3C6400/S3C6410 machines with Device Tree enabled. Select this if a fdt blob is available for your S3C64XX SoC based board. Note: This is under development and not all peripherals can be supported with this machine file. endif # arch/arm/mach-s5p64x0/Kconfig # # Copyright (c) 2009-2010 Samsung Electronics Co., Ltd. # http://www.samsung.com/ # # Licensed under GPLv2 if ARCH_S5P64X0 config CPU_S5P6440 bool select S5P_SLEEP if PM select SAMSUNG_DMADEV select SAMSUNG_WAKEMASK if PM help Enable S5P6440 CPU support config CPU_S5P6450 bool select S5P_SLEEP if PM select SAMSUNG_DMADEV select SAMSUNG_WAKEMASK if PM help Enable S5P6450 CPU support config S5P64X0_SETUP_FB_24BPP bool help Common setup code for S5P64X0 based boards with a LCD display through RGB interface. config S5P64X0_SETUP_I2C1 bool help Common setup code for i2c bus 1. config S5P64X0_SETUP_SPI bool help Common setup code for SPI GPIO configurations config S5P64X0_SETUP_SDHCI_GPIO bool help Common setup code for SDHCI gpio. # machine support config MACH_SMDK6440 bool "SMDK6440" select CPU_S5P6440 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_WDT select S5P64X0_SETUP_FB_24BPP select S5P64X0_SETUP_I2C1 select S5P64X0_SETUP_SDHCI_GPIO select SAMSUNG_DEV_ADC select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Machine support for the Samsung SMDK6440 config MACH_SMDK6450 bool "SMDK6450" select CPU_S5P6450 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_WDT select S5P64X0_SETUP_FB_24BPP select S5P64X0_SETUP_I2C1 select S5P64X0_SETUP_SDHCI_GPIO select SAMSUNG_DEV_ADC select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Machine support for the Samsung SMDK6450 menu "Use 8-bit SDHCI bus width" config S5P64X0_SD_CH1_8BIT bool "SDHCI Channel 1 (Slot 1)" depends on MACH_SMDK6450 || MACH_SMDK6440 help Support SDHCI Channel 1 8-bit bus. If selected, Channel 2 is disabled. endmenu endif # Copyright 2009 Samsung Electronics Co. # Byungho Min # # Licensed under GPLv2 # Configuration options for the S5PC100 CPU if ARCH_S5PC100 config CPU_S5PC100 bool select S5P_EXT_INT select SAMSUNG_DMADEV help Enable S5PC100 CPU support config S5PC100_SETUP_FB_24BPP bool help Common setup code for S5PC1XX with an 24bpp RGB display helper. config S5PC100_SETUP_I2C1 bool help Common setup code for i2c bus 1. config S5PC100_SETUP_IDE bool help Common setup code for S5PC100 IDE GPIO configurations config S5PC100_SETUP_KEYPAD bool help Common setup code for KEYPAD GPIO configurations. config S5PC100_SETUP_SDHCI bool select S5PC100_SETUP_SDHCI_GPIO help Internal helper functions for S5PC100 based SDHCI systems config S5PC100_SETUP_SDHCI_GPIO bool help Common setup code for SDHCI gpio. config S5PC100_SETUP_SPI bool help Common setup code for SPI GPIO configurations. config MACH_SMDKC100 bool "SMDKC100" select CPU_S5PC100 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_WDT select S5PC100_SETUP_FB_24BPP select S5PC100_SETUP_I2C1 select S5PC100_SETUP_IDE select S5PC100_SETUP_KEYPAD select S5PC100_SETUP_SDHCI select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 select SAMSUNG_DEV_ADC select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_IDE select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Machine support for the Samsung SMDKC100 endif # arch/arm/mach-s5pv210/Kconfig # # Copyright (c) 2010 Samsung Electronics Co., Ltd. # http://www.samsung.com/ # # Licensed under GPLv2 # Configuration options for the S5PV210/S5PC110 if ARCH_S5PV210 config CPU_S5PV210 bool select S5P_EXT_INT select S5P_PM if PM select S5P_SLEEP if PM select SAMSUNG_DMADEV help Enable S5PV210 CPU support config S5PV210_SETUP_I2C1 bool help Common setup code for i2c bus 1. config S5PV210_SETUP_I2C2 bool help Common setup code for i2c bus 2. config S5PV210_SETUP_IDE bool help Common setup code for S5PV210 IDE GPIO configurations config S5PV210_SETUP_FB_24BPP bool help Common setup code for S5PV210 with an 24bpp RGB display helper. config S5PV210_SETUP_KEYPAD bool help Common setup code for keypad. config S5PV210_SETUP_SDHCI bool select S5PV210_SETUP_SDHCI_GPIO help Internal helper functions for S5PV210 based SDHCI systems config S5PV210_SETUP_SDHCI_GPIO bool help Common setup code for SDHCI gpio. config S5PV210_SETUP_FIMC bool help Common setup code for the camera interfaces. config S5PV210_SETUP_SPI bool help Common setup code for SPI GPIO configurations. config S5PV210_SETUP_USB_PHY bool help Common setup code for USB PHY controller menu "S5PC110 Machines" config MACH_AQUILA bool "Aquila" select CPU_S5PV210 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S5PV210_SETUP_FB_24BPP select S5PV210_SETUP_SDHCI select S5PV210_SETUP_USB_PHY select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 select S5P_DEV_ONENAND help Machine support for the Samsung Aquila target based on S5PC110 SoC config MACH_GONI bool "GONI" select CPU_S5PV210 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_I2C1 select S3C_DEV_I2C2 select S3C_DEV_USB_HSOTG select S5PV210_SETUP_FB_24BPP select S5PV210_SETUP_FIMC select S5PV210_SETUP_I2C1 select S5PV210_SETUP_I2C2 select S5PV210_SETUP_KEYPAD select S5PV210_SETUP_SDHCI select S5PV210_SETUP_USB_PHY select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 select S5P_DEV_MFC select S5P_DEV_ONENAND select S5P_DEV_TV select S5P_GPIO_INT select SAMSUNG_DEV_KEYPAD help Machine support for Samsung GONI board S5PC110(MCP) is one of package option of S5PV210 config MACH_SMDKC110 bool "SMDKC110" select CPU_S5PV210 select S3C_DEV_I2C1 select S3C_DEV_I2C2 select S3C_DEV_RTC select S3C_DEV_WDT select S5PV210_SETUP_I2C1 select S5PV210_SETUP_I2C2 select S5PV210_SETUP_IDE select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 select S5P_DEV_MFC select SAMSUNG_DEV_IDE help Machine support for Samsung SMDKC110 S5PC110(MCP) is one of package option of S5PV210 endmenu menu "S5PV210 Machines" config MACH_SMDKV210 bool "SMDKV210" select CPU_S5PV210 select S3C_DEV_FB select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC3 select S3C_DEV_I2C1 select S3C_DEV_I2C2 select S3C_DEV_RTC select S3C_DEV_USB_HSOTG select S3C_DEV_WDT select S5PV210_SETUP_FB_24BPP select S5PV210_SETUP_I2C1 select S5PV210_SETUP_I2C2 select S5PV210_SETUP_IDE select S5PV210_SETUP_KEYPAD select S5PV210_SETUP_SDHCI select S5PV210_SETUP_USB_PHY select S5P_DEV_FIMC0 select S5P_DEV_FIMC1 select S5P_DEV_FIMC2 select S5P_DEV_JPEG select S5P_DEV_MFC select SAMSUNG_DEV_ADC select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_IDE select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS help Machine support for Samsung SMDKV210 config MACH_TORBRECK bool "Torbreck" select ARCH_SPARSEMEM_ENABLE select CPU_S5PV210 select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 select S3C_DEV_HSMMC3 select S3C_DEV_I2C1 select S3C_DEV_I2C2 select S3C_DEV_RTC select S3C_DEV_WDT select S5PV210_SETUP_I2C1 select S5PV210_SETUP_I2C2 select S5PV210_SETUP_SDHCI help Machine support for aESOP Torbreck endmenu endif if ARCH_SA1100 menu "SA11x0 Implementations" config SA1100_ASSABET bool "Assabet" select ARM_SA1110_CPUFREQ help Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 Microprocessor Development Board (also known as the Assabet). config ASSABET_NEPONSET bool "Include support for Neponset" depends on SA1100_ASSABET select SA1111 help Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 Microprocessor Development Board (Assabet) with the SA-1111 Development Board (Nepon). config SA1100_CERF bool "CerfBoard" select ARM_SA1110_CPUFREQ help The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued). More information is available at: . Say Y if configuring for an Intrinsyc CerfBoard. Say N otherwise. choice prompt "Cerf Flash available" depends on SA1100_CERF default SA1100_CERF_FLASH_8MB config SA1100_CERF_FLASH_8MB bool "8MB" config SA1100_CERF_FLASH_16MB bool "16MB" config SA1100_CERF_FLASH_32MB bool "32MB" endchoice config SA1100_COLLIE bool "Sharp Zaurus SL5500" # FIXME: select ARM_SA11x0_CPUFREQ select SHARP_LOCOMO select SHARP_PARAM select SHARP_SCOOP help Say Y here to support the Sharp Zaurus SL5500 PDAs. config SA1100_H3100 bool "Compaq iPAQ H3100" select ARM_SA1110_CPUFREQ select HTC_EGPIO help Say Y here if you intend to run this kernel on the Compaq iPAQ H3100 handheld computer. Information about this machine and the Linux port to this machine can be found at: config SA1100_H3600 bool "Compaq iPAQ H3600/H3700" select ARM_SA1110_CPUFREQ select HTC_EGPIO help Say Y here if you intend to run this kernel on the Compaq iPAQ H3600 handheld computer. Information about this machine and the Linux port to this machine can be found at: config SA1100_BADGE4 bool "HP Labs BadgePAD 4" select ARM_SA1100_CPUFREQ select SA1111 help Say Y here if you want to build a kernel for the HP Laboratories BadgePAD 4. config SA1100_JORNADA720 bool "HP Jornada 720" # FIXME: select ARM_SA11x0_CPUFREQ select SA1111 help Say Y here if you want to build a kernel for the HP Jornada 720 handheld computer. See config SA1100_JORNADA720_SSP bool "HP Jornada 720 Extended SSP driver" depends on SA1100_JORNADA720 select SA1100_SSP help Say Y here if you have a HP Jornada 7xx handheld computer and you want to access devices connected to the MCU. Those include the keyboard, touchscreen, backlight and battery. This driver also activates the generic SSP which it extends. config SA1100_HACKKIT bool "HackKit Core CPU Board" select ARM_SA1100_CPUFREQ help Say Y here to support the HackKit Core CPU Board ; config SA1100_LART bool "LART" select ARM_SA1100_CPUFREQ help Say Y here if you are using the Linux Advanced Radio Terminal (also known as the LART). See for information on the LART. config SA1100_NANOENGINE bool "nanoEngine" select ARM_SA1110_CPUFREQ select PCI select PCI_NANOENGINE help Say Y here if you are using the Bright Star Engineering nanoEngine. See for information on the BSE nanoEngine. config SA1100_PLEB bool "PLEB" select ARM_SA1100_CPUFREQ help Say Y here if you are using version 1 of the Portable Linux Embedded Board (also known as PLEB). See for more information. config SA1100_SHANNON bool "Shannon" select ARM_SA1100_CPUFREQ help The Shannon (also known as a Tuxscreen, and also as a IS2630) was a limited edition webphone produced by Philips. The Shannon is a SA1100 platform with a 640x480 LCD, touchscreen, CIR keyboard, PCMCIA slots, and a telco interface. config SA1100_SIMPAD bool "Simpad" select ARM_SA1110_CPUFREQ help The SIEMENS webpad SIMpad is based on the StrongARM 1110. There are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB FLASH. The SL4 version got 64 MB RAM and 32 MB FLASH and a PCMCIA-Slot. The version for the Germany Telecom (DTAG) is the same like CL4 in additional it has a PCMCIA-Slot. For more information visit or . config SA1100_SSP tristate "Generic PIO SSP" help Say Y here to enable support for the generic PIO SSP driver. This isn't for audio support, but for attached sensors and other devices, eg for BadgePAD 4 sensor support. endmenu endif config ARCH_SHMOBILE_MULTI bool "SH-Mobile Series" if ARCH_MULTI_V7 depends on MMU select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if LOCAL_TIMERS select HAVE_SMP select ARM_GIC select MIGHT_HAVE_CACHE_L2X0 select NO_IOPORT select PINCTRL select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP if ARCH_SHMOBILE_MULTI comment "SH-Mobile System Type" config ARCH_EMEV2 bool "Emma Mobile EV2" comment "SH-Mobile Board Type" config MACH_KZM9D bool "KZM9D board" depends on ARCH_EMEV2 select REGULATOR_FIXED_VOLTAGE if REGULATOR comment "SH-Mobile System Configuration" endif if ARCH_SHMOBILE comment "SH-Mobile System Type" config ARCH_SH7372 bool "SH-Mobile AP4 (SH7372)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_CPU_SUSPEND if PM || CPU_IDLE select CPU_V7 select SH_CLK_CPG config ARCH_SH73A0 bool "SH-Mobile AG5 (R8A73A00)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 select I2C select SH_CLK_CPG select RENESAS_INTC_IRQPIN config ARCH_R8A73A4 bool "R-Mobile APE6 (R8A73A40)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 select SH_CLK_CPG select RENESAS_IRQC select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP config ARCH_R8A7740 bool "R-Mobile A1 (R8A77400)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 select SH_CLK_CPG select RENESAS_INTC_IRQPIN config ARCH_R8A7778 bool "R-Car M1A (R8A77781)" select ARCH_WANT_OPTIONAL_GPIOLIB select CPU_V7 select SH_CLK_CPG select ARM_GIC select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI config ARCH_R8A7779 bool "R-Car H1 (R8A77790)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 select SH_CLK_CPG select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI select RENESAS_INTC_IRQPIN config ARCH_R8A7790 bool "R-Car H2 (R8A77900)" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 select SH_CLK_CPG select RENESAS_IRQC config ARCH_R8A7791 bool "R-Car M2 (R8A77910)" select ARM_GIC select CPU_V7 select SH_CLK_CPG config ARCH_EMEV2 bool "Emma Mobile EV2" select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select CPU_V7 config ARCH_R7S72100 bool "RZ/A1H (R7S72100)" select ARM_GIC select CPU_V7 select SH_CLK_CPG comment "SH-Mobile Board Type" config MACH_APE6EVM bool "APE6EVM board" depends on ARCH_R8A73A4 select USE_OF config MACH_APE6EVM_REFERENCE bool "APE6EVM board - Reference Device Tree Implementation" depends on ARCH_R8A73A4 select USE_OF ---help--- Use reference implementation of APE6EVM board support which makes a greater use of device tree at the expense of not supporting a number of devices. This is intended to aid developers config MACH_MACKEREL bool "mackerel board" depends on ARCH_SH7372 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select SND_SOC_AK4642 if SND_SIMPLE_CARD select USE_OF config MACH_ARMADILLO800EVA bool "Armadillo-800 EVA board" depends on ARCH_R8A7740 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select SND_SOC_WM8978 if SND_SIMPLE_CARD select USE_OF config MACH_ARMADILLO800EVA_REFERENCE bool "Armadillo-800 EVA board - Reference Device Tree Implementation" depends on ARCH_R8A7740 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select SND_SOC_WM8978 if SND_SIMPLE_CARD select USE_OF ---help--- Use reference implementation of Aramdillo800 EVA board support which makes a greater use of device tree at the expense of not supporting a number of devices. This is intended to aid developers config MACH_BOCKW bool "BOCK-W platform" depends on ARCH_R8A7778 select ARCH_REQUIRE_GPIOLIB select RENESAS_INTC_IRQPIN select REGULATOR_FIXED_VOLTAGE if REGULATOR select USE_OF select SND_SOC_AK4554 if SND_SIMPLE_CARD select SND_SOC_AK4642 if SND_SIMPLE_CARD config MACH_BOCKW_REFERENCE bool "BOCK-W - Reference Device Tree Implementation" depends on ARCH_R8A7778 select ARCH_REQUIRE_GPIOLIB select RENESAS_INTC_IRQPIN select REGULATOR_FIXED_VOLTAGE if REGULATOR select USE_OF ---help--- Use reference implementation of BockW board support which makes use of device tree at the expense of not supporting a number of devices. This is intended to aid developers config MACH_GENMAI bool "Genmai board" depends on ARCH_R7S72100 select USE_OF config MACH_MARZEN bool "MARZEN board" depends on ARCH_R8A7779 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select USE_OF config MACH_MARZEN_REFERENCE bool "MARZEN board - Reference Device Tree Implementation" depends on ARCH_R8A7779 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select USE_OF ---help--- Use reference implementation of Marzen board support which makes use of device tree at the expense of not supporting a number of devices. This is intended to aid developers config MACH_LAGER bool "Lager board" depends on ARCH_R8A7790 select USE_OF config MACH_LAGER_REFERENCE bool "Lager board - Reference Device Tree Implementation" depends on ARCH_R8A7790 select USE_OF ---help--- Use reference implementation of Lager board support which makes use of device tree at the expense of not supporting a number of devices. This is intended to aid developers config MACH_KOELSCH bool "Koelsch board" depends on ARCH_R8A7791 select USE_OF config MACH_KZM9D bool "KZM9D board" depends on ARCH_EMEV2 select REGULATOR_FIXED_VOLTAGE if REGULATOR select USE_OF config MACH_KZM9G bool "KZM-A9-GT board" depends on ARCH_SH73A0 select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select SND_SOC_AK4642 if SND_SIMPLE_CARD select USE_OF config MACH_KZM9G_REFERENCE bool "KZM-A9-GT board - Reference Device Tree Implementation" depends on ARCH_SH73A0 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR select SND_SOC_AK4642 if SND_SIMPLE_CARD select USE_OF ---help--- Use reference implementation of KZM-A9-GT board support which makes as greater use of device tree at the expense of not supporting a number of devices. This is intended to aid developers comment "SH-Mobile System Configuration" config CPU_HAS_INTEVT bool default y config SH_CLK_CPG bool source "drivers/sh/Kconfig" endif if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI menu "Timer and clock configuration" config SHMOBILE_TIMER_HZ int "Kernel HZ (jiffies per second)" range 32 1024 default "128" help Allows the configuration of the timer frequency. It is customary to have the timer interrupt run at 1000 Hz or 100 Hz, but in the case of low timer frequencies other values may be more suitable. SH-Mobile systems using a 32768 Hz RCLK for clock events may want to select a HZ value such as 128 that can evenly divide RCLK. A HZ value that does not divide evenly may cause timer drift. config SH_TIMER_CMT bool "CMT timer driver" default y help This enables build of the CMT timer driver. config SH_TIMER_TMU bool "TMU timer driver" default y help This enables build of the TMU timer driver. config EM_TIMER_STI bool "STI timer driver" default y help This enables build of the STI timer driver. endmenu endif config ARCH_SOCFPGA bool "Altera SOCFPGA family" if ARCH_MULTI_V7 select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_AMBA select ARM_GIC select CACHE_L2X0 select COMMON_CLK select CPU_V7 select DW_APB_TIMER_OF select GENERIC_CLOCKEVENTS select GPIO_PL061 if GPIOLIB select HAVE_ARM_SCU select HAVE_ARM_TWD if SMP select HAVE_SMP select MFD_SYSCON select SPARSE_IRQ select USE_OF # # SPEAr Platform configuration file # menuconfig PLAT_SPEAR bool "ST SPEAr Family" if ARCH_MULTI_V7 || ARCH_MULTI_V5 default PLAT_SPEAR_SINGLE select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select CLKSRC_MMIO select COMMON_CLK select GENERIC_CLOCKEVENTS if PLAT_SPEAR config ARCH_SPEAR13XX bool "ST SPEAr13xx" depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE select ARCH_HAS_CPUFREQ select ARM_GIC select CPU_V7 select GPIO_SPEAR_SPICS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select PINCTRL select USE_OF help Supports for ARM's SPEAR13XX family if ARCH_SPEAR13XX config MACH_SPEAR1310 bool "SPEAr1310 Machine support with Device Tree" select PINCTRL_SPEAR1310 help Supports ST SPEAr1310 machine configured via the device-tree config MACH_SPEAR1340 bool "SPEAr1340 Machine support with Device Tree" select PINCTRL_SPEAR1340 help Supports ST SPEAr1340 machine configured via the device-tree endif #ARCH_SPEAR13XX config ARCH_SPEAR3XX bool "ST SPEAr3xx" depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE depends on !ARCH_SPEAR13XX select ARM_VIC select CPU_ARM926T select PINCTRL select USE_OF help Supports for ARM's SPEAR3XX family if ARCH_SPEAR3XX config MACH_SPEAR300 bool "SPEAr300 Machine support with Device Tree" select PINCTRL_SPEAR300 help Supports ST SPEAr300 machine configured via the device-tree config MACH_SPEAR310 bool "SPEAr310 Machine support with Device Tree" select PINCTRL_SPEAR310 help Supports ST SPEAr310 machine configured via the device-tree config MACH_SPEAR320 bool "SPEAr320 Machine support with Device Tree" select PINCTRL_SPEAR320 help Supports ST SPEAr320 machine configured via the device-tree endif config ARCH_SPEAR6XX bool "ST SPEAr6XX" depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE depends on !ARCH_SPEAR13XX select ARM_VIC select CPU_ARM926T help Supports for ARM's SPEAR6XX family config MACH_SPEAR600 def_bool y depends on ARCH_SPEAR6XX select USE_OF help Supports ST SPEAr600 boards configured via the device-treesource "arch/arm/mach-spear6xx/Kconfig" config ARCH_SPEAR_AUTO def_bool PLAT_SPEAR_SINGLE depends on !ARCH_SPEAR13XX && !ARCH_SPEAR6XX select ARCH_SPEAR3XX endif menuconfig ARCH_STI bool "STMicroelectronics Consumer Electronics SOCs with Device Trees" if ARCH_MULTI_V7 select GENERIC_CLOCKEVENTS select CLKDEV_LOOKUP select ARM_GIC select ARM_GLOBAL_TIMER select PINCTRL select PINCTRL_ST select MFD_SYSCON select MIGHT_HAVE_CACHE_L2X0 select HAVE_SMP select HAVE_ARM_SCU if SMP select ARCH_REQUIRE_GPIOLIB select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_ERRATA_775420 select PL310_ERRATA_753970 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_PL310 help Include support for STiH41x SOCs like STiH415/416 using the device tree for discovery More information at Documentation/arm/STiH41x and at Documentation/devicetree if ARCH_STI config SOC_STIH415 bool "STiH415 STMicroelectronics Consumer Electronics family" default y help This enables support for STMicroelectronics Digital Consumer Electronics family StiH415 parts, primarily targeted at set-top-box and other digital audio/video applications using Flattned Device Trees. config SOC_STIH416 bool "STiH416 STMicroelectronics Consumer Electronics family" default y help This enables support for STMicroelectronics Digital Consumer Electronics family StiH416 parts, primarily targeted at set-top-box and other digital audio/video applications using Flattened Device Trees. endif config ARCH_SUNXI bool "Allwinner A1X SOCs" if ARCH_MULTI_V7 select ARCH_REQUIRE_GPIOLIB select ARM_GIC select CLKSRC_MMIO select CLKSRC_OF select COMMON_CLK select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP select HAVE_SMP select PINCTRL select PINCTRL_SUNXI select SPARSE_IRQ select SUN4I_TIMER config ARCH_TEGRA bool "NVIDIA Tegra" if ARCH_MULTI_V7 select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select ARM_GIC select CLKSRC_MMIO select CLKSRC_OF select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_PCI select PINCTRL select SOC_BUS select SPARSE_IRQ select USB_ARCH_HAS_EHCI if USB_SUPPORT select USB_ULPI if USB_PHY select USB_ULPI_VIEWPORT if USB_PHY select USE_OF help This enables support for NVIDIA Tegra based systems. menu "NVIDIA Tegra options" depends on ARCH_TEGRA config ARCH_TEGRA_2x_SOC bool "Enable support for Tegra20 family" select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP select ARM_ERRATA_720789 select ARM_ERRATA_754327 if SMP select ARM_ERRATA_764369 if SMP select PINCTRL_TEGRA20 select PL310_ERRATA_727915 if CACHE_L2X0 select PL310_ERRATA_769419 if CACHE_L2X0 help Support for NVIDIA Tegra AP20 and T20 processors, based on the ARM CortexA9MP CPU and the ARM PL310 L2 cache controller config ARCH_TEGRA_3x_SOC bool "Enable support for Tegra30 family" select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select PINCTRL_TEGRA30 select PL310_ERRATA_769419 if CACHE_L2X0 help Support for NVIDIA Tegra T30 processor family, based on the ARM CortexA9MP CPU and the ARM PL310 L2 cache controller config ARCH_TEGRA_114_SOC bool "Enable support for Tegra114 family" select ARM_ERRATA_798181 if SMP select ARM_L1_CACHE_SHIFT_6 select HAVE_ARM_ARCH_TIMER select PINCTRL_TEGRA114 help Support for NVIDIA Tegra T114 processor family, based on the ARM CortexA15MP CPU config ARCH_TEGRA_124_SOC bool "Enable support for Tegra124 family" select ARM_L1_CACHE_SHIFT_6 select HAVE_ARM_ARCH_TIMER help Support for NVIDIA Tegra T124 processor family, based on the ARM CortexA15MP CPU config TEGRA_AHB bool "Enable AHB driver for NVIDIA Tegra SoCs" default y help Adds AHB configuration functionality for NVIDIA Tegra SoCs, which controls AHB bus master arbitration and some performance parameters(priority, prefech size). config TEGRA_EMC_SCALING_ENABLE bool "Enable scaling the memory frequency" endmenu config ARCH_U300 bool "ST-Ericsson U300 Series" if ARCH_MULTI_V5 depends on MMU select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select ARM_PATCH_PHYS_VIRT select ARM_VIC select CLKSRC_MMIO select CLKSRC_OF select COMMON_CLK select CPU_ARM926T select GENERIC_CLOCKEVENTS select HAVE_TCM select PINCTRL select PINCTRL_COH901 select PINCTRL_U300 select SPARSE_IRQ select MFD_SYSCON select USE_OF help Support for ST-Ericsson U300 series mobile platforms. if ARCH_U300 menu "ST-Ericsson AB U300/U335 Platform" config MACH_U300 depends on ARCH_U300 bool "U300" default y config U300_DEBUG depends on ARCH_U300 bool "Debug support for U300" depends on PM help Debug support for U300 in sysfs, procfs etc. config MACH_U300_SPIDUMMY depends on ARCH_U300 bool "SSP/SPI dummy chip" select SPI select SPI_MASTER select SPI_PL022 help This creates a small kernel module that creates a dummy SPI device to be used for loopback tests. Regularly used to test reference designs. If you're not testing SPI, you don't need it. Selecting this will activate the SPI framework and ARM PL022 support. endmenu endif config ARCH_U8500 bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7 depends on MMU select AB8500_CORE select ABX500_CORE select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select ARM_AMBA select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_GIC select CACHE_L2X0 select CLKSRC_NOMADIK_MTU select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_SMP select MIGHT_HAVE_CACHE_L2X0 select PINCTRL select PINCTRL_ABX500 select PINCTRL_NOMADIK select PL310_ERRATA_753970 if CACHE_PL310 help Support for ST-Ericsson's Ux500 architecture if ARCH_U8500 config UX500_SOC_DB8500 bool select MFD_DB8500_PRCMU select PINCTRL_DB8500 select PINCTRL_DB8540 select PINCTRL_AB8500 select PINCTRL_AB8505 select PINCTRL_AB9540 select PINCTRL_AB8540 select REGULATOR select REGULATOR_DB8500_PRCMU menu "Ux500 target platform (boards)" config MACH_MOP500 bool "U8500 Development platform, MOP500 versions" select I2C select I2C_NOMADIK select REGULATOR select REGULATOR_FIXED_VOLTAGE select SOC_BUS select UX500_SOC_DB8500 help Include support for the MOP500 development platform. config MACH_HREFV60 bool "U8500 Development platform, HREFv60 version" select MACH_MOP500 help Include support for the HREFv60 new development platform. Includes HREFv70, v71 etc. config MACH_SNOWBALL bool "U8500 Snowball platform" select MACH_MOP500 help Include support for the snowball development platform. config UX500_AUTO_PLATFORM def_bool y select MACH_MOP500 help At least one platform needs to be selected in order to build a working kernel. If everything else is disabled, this automatically enables MACH_MOP500. config MACH_UX500_DT bool "Generic U8500 support using device tree" depends on MACH_MOP500 select USE_OF endmenu config UX500_DEBUG_UART int "Ux500 UART to use for low-level debug" default 2 help Choose the UART on which kernel low-level debug messages should be output. endif menu "Versatile platform type" depends on ARCH_VERSATILE config ARCH_VERSATILE_PB bool "Support Versatile Platform Baseboard for ARM926EJ-S" default y select CPU_ARM926T select MIGHT_HAVE_PCI help Include support for the ARM(R) Versatile Platform Baseboard for the ARM926EJ-S. config MACH_VERSATILE_AB bool "Support Versatile Application Baseboard for ARM926EJ-S" select CPU_ARM926T help Include support for the ARM(R) Versatile Application Baseboard for the ARM926EJ-S. config MACH_VERSATILE_DT bool "Support Versatile platform from device tree" select CPU_ARM926T select USE_OF help Include support for the ARM(R) Versatile/PB platform, using the device tree for discovery config MACH_VERSATILE_AUTO def_bool y depends on !ARCH_VERSATILE_PB && !MACH_VERSATILE_AB select MACH_VERSATILE_DT endmenu config ARCH_VEXPRESS bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 select ARCH_REQUIRE_GPIOLIB select ARCH_SUPPORTS_BIG_ENDIAN select ARM_AMBA select ARM_GIC select ARM_TIMER_SP804 select COMMON_CLK select COMMON_CLK_VERSATILE select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_PATA_PLATFORM select HAVE_SMP select ICST select MIGHT_HAVE_CACHE_L2X0 select NO_IOPORT select PLAT_VERSATILE select PLAT_VERSATILE_CLCD select POWER_RESET select POWER_RESET_VEXPRESS select POWER_SUPPLY select REGULATOR_FIXED_VOLTAGE if REGULATOR select VEXPRESS_CONFIG help This option enables support for systems using Cortex processor based ARM core and logic (FPGA) tiles on the Versatile Express motherboard, for example: - CoreTile Express A5x2 (V2P-CA5s) - CoreTile Express A9x4 (V2P-CA9) - CoreTile Express A15x2 (V2P-CA15) - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs (Soft Macrocell Models) - Versatile Express RTSMs (Models) You must boot using a Flattened Device Tree in order to use these platforms. The traditional (ATAGs) boot method is not usable on these boards with this option. menu "Versatile Express platform type" depends on ARCH_VEXPRESS config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA bool "Enable A5 and A9 only errata work-arounds" default y select ARM_ERRATA_720789 select PL310_ERRATA_753970 if CACHE_PL310 help Provides common dependencies for Versatile Express platforms based on Cortex-A5 and Cortex-A9 processors. In order to build a working kernel, you must also enable relevant core tile support or Flattened Device Tree based support options. config ARCH_VEXPRESS_CA9X4 bool "Versatile Express Cortex-A9x4 tile" config ARCH_VEXPRESS_DCSCB bool "Dual Cluster System Control Block (DCSCB) support" depends on MCPM select ARM_CCI help Support for the Dual Cluster System Configuration Block (DCSCB). This is needed to provide CPU and cluster power management on RTSM implementing big.LITTLE. config ARCH_VEXPRESS_SPC bool "Versatile Express Serial Power Controller (SPC)" select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP select PM_OPP help The TC2 (A15x2 A7x3) versatile express core tile integrates a logic block called Serial Power Controller (SPC) that provides the interface between the dual cluster test-chip and the M3 microcontroller that carries out power management. config ARCH_VEXPRESS_TC2_PM bool "Versatile Express TC2 power management" depends on MCPM select ARM_CCI select ARCH_VEXPRESS_SPC help Support for CPU and cluster power management on Versatile Express with a TC2 (A15x2 A7x3) big.LITTLE core tile. endmenu config ARCH_VIRT bool "Dummy Virtual Machine" if ARCH_MULTI_V7 select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_GIC select HAVE_ARM_ARCH_TIMER select ARM_PSCI select HAVE_SMP select CPU_V7 select SPARSE_IRQ select USE_OF config ARCH_VT8500 bool select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB select CLKDEV_LOOKUP select CLKSRC_OF select GENERIC_CLOCKEVENTS select VT8500_TIMER select PINCTRL help Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. config ARCH_WM8505 bool "VIA/Wondermedia 85xx and WM8650" depends on ARCH_MULTI_V5 select ARCH_VT8500 select CPU_ARM926T help config ARCH_WM8750 bool "WonderMedia WM8750" depends on ARCH_MULTI_V6 select ARCH_VT8500 select CPU_V6 help Support for WonderMedia WM8750 System-on-Chip. config ARCH_WM8850 bool "WonderMedia WM8850" depends on ARCH_MULTI_V7 select ARCH_VT8500 select CPU_V7 help Support for WonderMedia WM8850 System-on-Chip. if ARCH_W90X900 config CPU_W90P910 bool help Support for W90P910 of Nuvoton W90X900 CPUs. config CPU_NUC950 bool help Support for NUCP950 of Nuvoton NUC900 CPUs. config CPU_NUC960 bool help Support for NUCP960 of Nuvoton NUC900 CPUs. menu "W90P910 Machines" config MACH_W90P910EVB bool "Nuvoton W90P910 Evaluation Board" default y select CPU_W90P910 help Say Y here if you are using the Nuvoton W90P910EVB endmenu menu "NUC950 Machines" config MACH_W90P950EVB bool "Nuvoton NUC950 Evaluation Board" select CPU_NUC950 help Say Y here if you are using the Nuvoton NUC950EVB endmenu menu "NUC960 Machines" config MACH_W90N960EVB bool "Nuvoton NUC960 Evaluation Board" select CPU_NUC960 help Say Y here if you are using the Nuvoton NUC960EVB endmenu endif config ARCH_ZYNQ bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 select ARM_AMBA select ARM_GIC select COMMON_CLK select CPU_V7 select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select ICST select MIGHT_HAVE_CACHE_L2X0 select USE_OF select HAVE_SMP select SPARSE_IRQ select CADENCE_TTC_TIMER select ARM_GLOBAL_TIMER help Support for Xilinx Zynq ARM Cortex A9 Platform comment "Processor Type" # Select CPU types depending on the architecture selected. This selects # which CPUs we support in the kernel image, and the compiler instruction # optimiser behaviour. # ARM7TDMI config CPU_ARM7TDMI bool "Support ARM7TDMI processor" depends on !MMU select CPU_32v4T select CPU_ABRT_LV4T select CPU_CACHE_V4 select CPU_PABRT_LEGACY help A 32-bit RISC microprocessor based on the ARM7 processor core which has no memory control unit and cache. Say Y if you want support for the ARM7TDMI processor. Otherwise, say N. # ARM720T config CPU_ARM720T bool "Support ARM720T processor" if ARCH_INTEGRATOR select CPU_32v4T select CPU_ABRT_LV4T select CPU_CACHE_V4 select CPU_CACHE_VIVT select CPU_COPY_V4WT if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WT if MMU help A 32-bit RISC processor with 8kByte Cache, Write Buffer and MMU built around an ARM7TDMI core. Say Y if you want support for the ARM720T processor. Otherwise, say N. # ARM740T config CPU_ARM740T bool "Support ARM740T processor" if ARCH_INTEGRATOR depends on !MMU select CPU_32v4T select CPU_ABRT_LV4T select CPU_CACHE_V4 select CPU_CP15_MPU select CPU_PABRT_LEGACY help A 32-bit RISC processor with 8KB cache or 4KB variants, write buffer and MPU(Protection Unit) built around an ARM7TDMI core. Say Y if you want support for the ARM740T processor. Otherwise, say N. # ARM9TDMI config CPU_ARM9TDMI bool "Support ARM9TDMI processor" depends on !MMU select CPU_32v4T select CPU_ABRT_NOMMU select CPU_CACHE_V4 select CPU_PABRT_LEGACY help A 32-bit RISC microprocessor based on the ARM9 processor core which has no memory control unit and cache. Say Y if you want support for the ARM9TDMI processor. Otherwise, say N. # ARM920T config CPU_ARM920T bool "Support ARM920T processor" if ARCH_INTEGRATOR select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM920T is licensed to be produced by numerous vendors, and is used in the Cirrus EP93xx and the Samsung S3C2410. Say Y if you want support for the ARM920T processor. Otherwise, say N. # ARM922T config CPU_ARM922T bool "Support ARM922T processor" if ARCH_INTEGRATOR select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM922T is a version of the ARM920T, but with smaller instruction and data caches. It is used in Altera's Excalibur XA device family and Micrel's KS8695 Centaur. Say Y if you want support for the ARM922T processor. Otherwise, say N. # ARM925T config CPU_ARM925T bool "Support ARM925T processor" if ARCH_OMAP1 select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM925T is a mix between the ARM920T and ARM926T, but with different instruction and data caches. It is used in TI's OMAP device family. Say Y if you want support for the ARM925T processor. Otherwise, say N. # ARM926T config CPU_ARM926T bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB select CPU_32v5 select CPU_ABRT_EV5TJ select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help This is a variant of the ARM920. It has slightly different instruction sequences for cache and TLB operations. Curiously, there is no documentation on it at the ARM corporate website. Say Y if you want support for the ARM926T processor. Otherwise, say N. # FA526 config CPU_FA526 bool select CPU_32v4 select CPU_ABRT_EV4 select CPU_CACHE_FA select CPU_CACHE_VIVT select CPU_COPY_FA if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_FA if MMU help The FA526 is a version of the ARMv4 compatible processor with Branch Target Buffer, Unified TLB and cache line size 16. Say Y if you want support for the FA526 processor. Otherwise, say N. # ARM940T config CPU_ARM940T bool "Support ARM940T processor" if ARCH_INTEGRATOR depends on !MMU select CPU_32v4T select CPU_ABRT_NOMMU select CPU_CACHE_VIVT select CPU_CP15_MPU select CPU_PABRT_LEGACY help ARM940T is a member of the ARM9TDMI family of general- purpose microprocessors with MPU and separate 4KB instruction and 4KB data cases, each with a 4-word line length. Say Y if you want support for the ARM940T processor. Otherwise, say N. # ARM946E-S config CPU_ARM946E bool "Support ARM946E-S processor" if ARCH_INTEGRATOR depends on !MMU select CPU_32v5 select CPU_ABRT_NOMMU select CPU_CACHE_VIVT select CPU_CP15_MPU select CPU_PABRT_LEGACY help ARM946E-S is a member of the ARM9E-S family of high- performance, 32-bit system-on-chip processor solutions. The TCM and ARMv5TE 32-bit instruction set is supported. Say Y if you want support for the ARM946E-S processor. Otherwise, say N. # ARM1020 - needs validating config CPU_ARM1020 bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR select CPU_32v5 select CPU_ABRT_EV4T select CPU_CACHE_V4WT select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM1020 is the 32K cached version of the ARM10 processor, with an addition of a floating-point unit. Say Y if you want support for the ARM1020 processor. Otherwise, say N. # ARM1020E - needs validating config CPU_ARM1020E bool "Support ARM1020E processor" if ARCH_INTEGRATOR depends on n select CPU_32v5 select CPU_ABRT_EV4T select CPU_CACHE_V4WT select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU # ARM1022E config CPU_ARM1022 bool "Support ARM1022E processor" if ARCH_INTEGRATOR select CPU_32v5 select CPU_ABRT_EV4T select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU # can probably do better select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM1022E is an implementation of the ARMv5TE architecture based upon the ARM10 integer core with a 16KiB L1 Harvard cache, embedded trace macrocell, and a floating-point unit. Say Y if you want support for the ARM1022E processor. Otherwise, say N. # ARM1026EJ-S config CPU_ARM1026 bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR select CPU_32v5 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU # can probably do better select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU help The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture based upon the ARM10 integer core. Say Y if you want support for the ARM1026EJ-S processor. Otherwise, say N. # SA110 config CPU_SA110 bool "Support StrongARM(R) SA-110 processor" if ARCH_RPC select CPU_32v3 if ARCH_RPC select CPU_32v4 if !ARCH_RPC select CPU_ABRT_EV4 select CPU_CACHE_V4WB select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WB if MMU help The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and is available at five speeds ranging from 100 MHz to 233 MHz. More information is available at . Say Y if you want support for the SA-110 processor. Otherwise, say N. # SA1100 config CPU_SA1100 bool select CPU_32v4 select CPU_ABRT_EV4 select CPU_CACHE_V4WB select CPU_CACHE_VIVT select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WB if MMU # XScale config CPU_XSCALE bool select CPU_32v5 select CPU_ABRT_EV5T select CPU_CACHE_VIVT select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU # XScale Core Version 3 config CPU_XSC3 bool select CPU_32v5 select CPU_ABRT_EV5T select CPU_CACHE_VIVT select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU select IO_36 # Marvell PJ1 (Mohawk) config CPU_MOHAWK bool select CPU_32v5 select CPU_ABRT_EV5T select CPU_CACHE_VIVT select CPU_COPY_V4WB if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU # Feroceon config CPU_FEROCEON bool select CPU_32v5 select CPU_ABRT_EV5T select CPU_CACHE_VIVT select CPU_COPY_FEROCEON if MMU select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_FEROCEON if MMU config CPU_FEROCEON_OLD_ID bool "Accept early Feroceon cores with an ARM926 ID" depends on CPU_FEROCEON && !CPU_ARM926T default y help This enables the usage of some old Feroceon cores for which the CPU ID is equal to the ARM926 ID. Relevant for Feroceon-1850 and early Feroceon-2850. # Marvell PJ4 config CPU_PJ4 bool select ARM_THUMBEE select CPU_V7 config CPU_PJ4B bool select CPU_V7 # ARMv6 config CPU_V6 bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX select CPU_32v6 select CPU_ABRT_EV6 select CPU_CACHE_V6 select CPU_CACHE_VIPT select CPU_COPY_V6 if MMU select CPU_CP15_MMU select CPU_HAS_ASID if MMU select CPU_PABRT_V6 select CPU_TLB_V6 if MMU # ARMv6k config CPU_V6K bool "Support ARM V6K processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX select CPU_32v6 select CPU_32v6K select CPU_ABRT_EV6 select CPU_CACHE_V6 select CPU_CACHE_VIPT select CPU_COPY_V6 if MMU select CPU_CP15_MMU select CPU_HAS_ASID if MMU select CPU_PABRT_V6 select CPU_TLB_V6 if MMU # ARMv7 config CPU_V7 bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX select CPU_32v6K select CPU_32v7 select CPU_ABRT_EV7 select CPU_CACHE_V7 select CPU_CACHE_VIPT select CPU_COPY_V6 if MMU select CPU_CP15_MMU if MMU select CPU_CP15_MPU if !MMU select CPU_HAS_ASID if MMU select CPU_PABRT_V7 select CPU_TLB_V7 if MMU # ARMv7M config CPU_V7M bool select CPU_32v7M select CPU_ABRT_NOMMU select CPU_CACHE_NOP select CPU_PABRT_LEGACY select CPU_THUMBONLY config CPU_THUMBONLY bool # There are no CPUs available with MMU that don't implement an ARM ISA: depends on !MMU help Select this if your CPU doesn't support the 32 bit ARM instructions. # Figure out what processor architecture version we should be using. # This defines the compiler instruction set which depends on the machine type. config CPU_32v3 bool select CPU_USE_DOMAINS if MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select TLS_REG_EMUL if SMP || !MMU select NEED_KUSER_HELPERS config CPU_32v4 bool select CPU_USE_DOMAINS if MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select TLS_REG_EMUL if SMP || !MMU select NEED_KUSER_HELPERS config CPU_32v4T bool select CPU_USE_DOMAINS if MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select TLS_REG_EMUL if SMP || !MMU select NEED_KUSER_HELPERS config CPU_32v5 bool select CPU_USE_DOMAINS if MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select TLS_REG_EMUL if SMP || !MMU select NEED_KUSER_HELPERS config CPU_32v6 bool select CPU_USE_DOMAINS if CPU_V6 && MMU select TLS_REG_EMUL if !CPU_32v6K && !MMU config CPU_32v6K bool config CPU_32v7 bool config CPU_32v7M bool # The abort model config CPU_ABRT_NOMMU bool config CPU_ABRT_EV4 bool config CPU_ABRT_EV4T bool config CPU_ABRT_LV4T bool config CPU_ABRT_EV5T bool config CPU_ABRT_EV5TJ bool config CPU_ABRT_EV6 bool config CPU_ABRT_EV7 bool config CPU_PABRT_LEGACY bool config CPU_PABRT_V6 bool config CPU_PABRT_V7 bool # The cache model config CPU_CACHE_V4 bool config CPU_CACHE_V4WT bool config CPU_CACHE_V4WB bool config CPU_CACHE_V6 bool config CPU_CACHE_V7 bool config CPU_CACHE_NOP bool config CPU_CACHE_VIVT bool config CPU_CACHE_VIPT bool config CPU_CACHE_FA bool if MMU # The copy-page model config CPU_COPY_V4WT bool config CPU_COPY_V4WB bool config CPU_COPY_FEROCEON bool config CPU_COPY_FA bool config CPU_COPY_V6 bool # This selects the TLB model config CPU_TLB_V4WT bool help ARM Architecture Version 4 TLB with writethrough cache. config CPU_TLB_V4WB bool help ARM Architecture Version 4 TLB with writeback cache. config CPU_TLB_V4WBI bool help ARM Architecture Version 4 TLB with writeback cache and invalidate instruction cache entry. config CPU_TLB_FEROCEON bool help Feroceon TLB (v4wbi with non-outer-cachable page table walks). config CPU_TLB_FA bool help Faraday ARM FA526 architecture, unified TLB with writeback cache and invalidate instruction cache entry. Branch target buffer is also supported. config CPU_TLB_V6 bool config CPU_TLB_V7 bool config VERIFY_PERMISSION_FAULT bool endif config CPU_HAS_ASID bool help This indicates whether the CPU has the ASID register; used to tag TLB and possibly cache entries. config CPU_CP15 bool help Processor has the CP15 register. config CPU_CP15_MMU bool select CPU_CP15 help Processor has the CP15 register, which has MMU related registers. config CPU_CP15_MPU bool select CPU_CP15 help Processor has the CP15 register, which has MPU related registers. config CPU_USE_DOMAINS bool help This option enables or disables the use of domain switching via the set_fs() function. # # CPU supports 36-bit I/O # config IO_36 bool comment "Processor Features" config ARM_LPAE bool "Support for the Large Physical Address Extension" depends on MMU && CPU_32v7 && !CPU_32v6 && !CPU_32v5 && \ !CPU_32v4 && !CPU_32v3 help Say Y if you have an ARMv7 processor supporting the LPAE page table format and you would like to access memory beyond the 4GB limit. The resulting kernel image will not run on processors without the LPA extension. If unsure, say N. config ARCH_PHYS_ADDR_T_64BIT def_bool ARM_LPAE config ARCH_DMA_ADDR_T_64BIT bool config ARM_THUMB bool "Support Thumb user binaries" if !CPU_THUMBONLY depends on CPU_ARM720T || CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || \ CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || \ CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \ CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_V6 || CPU_V6K || \ CPU_V7 || CPU_FEROCEON || CPU_V7M default y help Say Y if you want to include kernel support for running user space Thumb binaries. The Thumb instruction set is a compressed form of the standard ARM instruction set resulting in smaller binaries at the expense of slightly less efficient code. If you don't know what this all is, saying Y is a safe choice. config ARM_THUMBEE bool "Enable ThumbEE CPU extension" depends on CPU_V7 help Say Y here if you have a CPU with the ThumbEE extension and code to make use of it. Say N for code that can run on CPUs without ThumbEE. config ARM_VIRT_EXT bool depends on MMU default y if CPU_V7 help Enable the kernel to make use of the ARM Virtualization Extensions to install hypervisors without run-time firmware assistance. A compliant bootloader is required in order to make maximum use of this feature. Refer to Documentation/arm/Booting for details. config SWP_EMULATE bool "Emulate SWP/SWPB instructions" depends on !CPU_USE_DOMAINS && CPU_V7 default y if SMP select HAVE_PROC_CPU if PROC_FS help ARMv6 architecture deprecates use of the SWP/SWPB instructions. ARMv7 multiprocessing extensions introduce the ability to disable these instructions, triggering an undefined instruction exception when executed. Say Y here to enable software emulation of these instructions for userspace (not kernel) using LDREX/STREX. Also creates /proc/cpu/swp_emulation for statistics. In some older versions of glibc [<=2.8] SWP is used during futex trylock() operations with the assumption that the code will not be preempted. This invalid assumption may be more likely to fail with SWP emulation enabled, leading to deadlock of the user application. NOTE: when accessing uncached shared regions, LDREX/STREX rely on an external transaction monitoring block called a global monitor to maintain update atomicity. If your system does not implement a global monitor, this option can cause programs that perform SWP operations to uncached memory to deadlock. If unsure, say Y. config CPU_BIG_ENDIAN bool "Build big-endian kernel" depends on ARCH_SUPPORTS_BIG_ENDIAN help Say Y if you plan on running a kernel in big-endian mode. Note that your board must be properly built and your board port must properly enable any big-endian related features of your chipset/board/processor. config CPU_ENDIAN_BE8 bool depends on CPU_BIG_ENDIAN default CPU_V6 || CPU_V6K || CPU_V7 help Support for the BE-8 (big-endian) mode on ARMv6 and ARMv7 processors. config CPU_ENDIAN_BE32 bool depends on CPU_BIG_ENDIAN default !CPU_ENDIAN_BE8 help Support for the BE-32 (big-endian) mode on pre-ARMv6 processors. config CPU_HIGH_VECTOR depends on !MMU && CPU_CP15 && !CPU_ARM740T bool "Select the High exception vector" help Say Y here to select high exception vector(0xFFFF0000~). The exception vector can vary depending on the platform design in nommu mode. If your platform needs to select high exception vector, say Y. Otherwise or if you are unsure, say N, and the low exception vector (0x00000000~) will be used. config CPU_ICACHE_DISABLE bool "Disable I-Cache (I-bit)" depends on CPU_CP15 && !(CPU_ARM720T || CPU_ARM740T || CPU_XSCALE || CPU_XSC3) help Say Y here to disable the processor instruction cache. Unless you have a reason not to or are unsure, say N. config CPU_DCACHE_DISABLE bool "Disable D-Cache (C-bit)" depends on CPU_CP15 help Say Y here to disable the processor data cache. Unless you have a reason not to or are unsure, say N. config CPU_DCACHE_SIZE hex depends on CPU_ARM740T || CPU_ARM946E default 0x00001000 if CPU_ARM740T default 0x00002000 # default size for ARM946E-S help Some cores are synthesizable to have various sized cache. For ARM946E-S case, it can vary from 0KB to 1MB. To support such cache operations, it is efficient to know the size before compile time. If your SoC is configured to have a different size, define the value here with proper conditions. config CPU_DCACHE_WRITETHROUGH bool "Force write through D-cache" depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020 || CPU_FA526) && !CPU_DCACHE_DISABLE default y if CPU_ARM925T help Say Y here to use the data cache in writethrough mode. Unless you specifically require this or are unsure, say N. config CPU_CACHE_ROUND_ROBIN bool "Round robin I and D cache replacement algorithm" depends on (CPU_ARM926T || CPU_ARM946E || CPU_ARM1020) && (!CPU_ICACHE_DISABLE || !CPU_DCACHE_DISABLE) help Say Y here to use the predictable round-robin cache replacement policy. Unless you specifically require this or are unsure, say N. config CPU_BPREDICT_DISABLE bool "Disable branch prediction" depends on CPU_ARM1020 || CPU_V6 || CPU_V6K || CPU_MOHAWK || CPU_XSC3 || CPU_V7 || CPU_FA526 help Say Y here to disable branch prediction. If unsure, say N. config TLS_REG_EMUL bool select NEED_KUSER_HELPERS help An SMP system using a pre-ARMv6 processor (there are apparently a few prototypes like that in existence) and therefore access to that required register must be emulated. config NEEDS_SYSCALL_FOR_CMPXCHG bool select NEED_KUSER_HELPERS help SMP on a pre-ARMv6 processor? Well OK then. Forget about fast user space cmpxchg support. It is just not possible. config NEED_KUSER_HELPERS bool config KUSER_HELPERS bool "Enable kuser helpers in vector page" if !NEED_KUSER_HELPERS default y help Warning: disabling this option may break user programs. Provide kuser helpers in the vector page. The kernel provides helper code to userspace in read only form at a fixed location in the high vector page to allow userspace to be independent of the CPU type fitted to the system. This permits binaries to be run on ARMv4 through to ARMv7 without modification. See Documentation/arm/kernel_user_helpers.txt for details. However, the fixed address nature of these helpers can be used by ROP (return orientated programming) authors when creating exploits. If all of the binaries and libraries which run on your platform are built specifically for your platform, and make no use of these helpers, then you can turn this option off to hinder such exploits. However, in that case, if a binary or library relying on those helpers is run, it will receive a SIGILL signal, which will terminate the program. Say N here only if you are absolutely certain that you do not need these helpers; otherwise, the safe option is to say Y. config DMA_CACHE_RWFO bool "Enable read/write for ownership DMA cache maintenance" depends on CPU_V6K && SMP default y help The Snoop Control Unit on ARM11MPCore does not detect the cache maintenance operations and the dma_{map,unmap}_area() functions may leave stale cache entries on other CPUs. By enabling this option, Read or Write For Ownership in the ARMv6 DMA cache maintenance functions is performed. These LDR/STR instructions change the cache line state to shared or modified so that the cache operation has the desired effect. Note that the workaround is only valid on processors that do not perform speculative loads into the D-cache. For such processors, if cache maintenance operations are not broadcast in hardware, other workarounds are needed (e.g. cache maintenance broadcasting in software via FIQ). config OUTER_CACHE bool config OUTER_CACHE_SYNC bool help The outer cache has a outer_cache_fns.sync function pointer that can be used to drain the write buffer of the outer cache. config CACHE_FEROCEON_L2 bool "Enable the Feroceon L2 cache controller" depends on ARCH_KIRKWOOD || ARCH_MV78XX0 default y select OUTER_CACHE help This option enables the Feroceon L2 cache controller. config CACHE_FEROCEON_L2_WRITETHROUGH bool "Force Feroceon L2 cache write through" depends on CACHE_FEROCEON_L2 help Say Y here to use the Feroceon L2 cache in writethrough mode. Unless you specifically require this, say N for writeback mode. config MIGHT_HAVE_CACHE_L2X0 bool help This option should be selected by machines which have a L2x0 or PL310 cache controller, but where its use is optional. The only effect of this option is to make CACHE_L2X0 and related options available to the user for configuration. Boards or SoCs which always require the cache controller support to be present should select CACHE_L2X0 directly instead of this option, thus preventing the user from inadvertently configuring a broken kernel. config CACHE_L2X0 bool "Enable the L2x0 outer cache controller" if MIGHT_HAVE_CACHE_L2X0 default MIGHT_HAVE_CACHE_L2X0 select OUTER_CACHE select OUTER_CACHE_SYNC help This option enables the L2x0 PrimeCell. config CACHE_PL310 bool depends on CACHE_L2X0 default y if CPU_V7 && !(CPU_V6 || CPU_V6K) help This option enables optimisations for the PL310 cache controller. config CACHE_TAUROS2 bool "Enable the Tauros2 L2 cache controller" depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) default y select OUTER_CACHE help This option enables the Tauros2 L2 cache controller (as found on PJ1/PJ4). config CACHE_XSC3L2 bool "Enable the L2 cache on XScale3" depends on CPU_XSC3 default y select OUTER_CACHE help This option enables the L2 cache on XScale3. config ARM_L1_CACHE_SHIFT_6 bool default y if CPU_V7 help Setting ARM L1 cache line size to 64 Bytes. config ARM_L1_CACHE_SHIFT int default 6 if ARM_L1_CACHE_SHIFT_6 default 5 config ARM_DMA_MEM_BUFFERABLE bool "Use non-cacheable memory for DMA" if (CPU_V6 || CPU_V6K) && !CPU_V7 depends on !(MACH_REALVIEW_PB1176 || REALVIEW_EB_ARM11MP || \ MACH_REALVIEW_PB11MP) default y if CPU_V6 || CPU_V6K || CPU_V7 help Historically, the kernel has used strongly ordered mappings to provide DMA coherent memory. With the advent of ARMv7, mapping memory with differing types results in unpredictable behaviour, so on these CPUs, this option is forced on. Multiple mappings with differing attributes is also unpredictable on ARMv6 CPUs, but since they do not have aggressive speculative prefetch, no harm appears to occur. However, drivers may be missing the necessary barriers for ARMv6, and therefore turning this on may result in unpredictable driver behaviour. Therefore, we offer this as an option. You are recommended say 'Y' here and debug any affected drivers. config ARCH_HAS_BARRIERS bool help This option allows the use of custom mandatory barriers included via the mach/barriers.h file. config ARCH_SUPPORTS_BIG_ENDIAN bool help This option specifies the architecture can support big endian operation. if ARCH_OMAP menu "TI OMAP Common Features" config ARCH_OMAP_OTG bool comment "OMAP Feature Selections" config OMAP_DEBUG_DEVICES bool help For debug cards on TI reference boards. config OMAP_DEBUG_LEDS def_bool y if NEW_LEDS depends on OMAP_DEBUG_DEVICES select LEDS_CLASS config POWER_AVS_OMAP bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2" depends on POWER_AVS && (ARCH_OMAP3 || ARCH_OMAP4) && PM select POWER_SUPPLY help Say Y to enable AVS(Adaptive Voltage Scaling) support on OMAP containing the version 1 or version 2 of the SmartReflex IP. V1 is the 65nm version used in OMAP3430. V2 is the update for the 45nm version of the IP used in OMAP3630 and OMAP4430 Please note, that by default SmartReflex is only initialized and not enabled. To enable the automatic voltage compensation for vdd mpu and vdd core from user space, user must write 1 to /debug/smartreflex/sr_/autocomp, where X is mpu_iva or core for OMAP3. Optionally autocompensation can be enabled in the kernel by default during system init via the enable_on_init flag which an be passed as platform data to the smartreflex driver. config POWER_AVS_OMAP_CLASS3 bool "Class 3 mode of Smartreflex Implementation" depends on POWER_AVS_OMAP && TWL4030_CORE help Say Y to enable Class 3 implementation of Smartreflex Class 3 implementation of Smartreflex employs continuous hardware voltage calibration. config OMAP_RESET_CLOCKS bool "Reset unused clocks during boot" depends on ARCH_OMAP help Say Y if you want to reset unused clocks during boot. This option saves power, but assumes all drivers are using the clock framework. Broken drivers that do not yet use clock framework may not work with this option. If you are booting from another operating system, you probably do not want this option enabled until your device drivers work properly. config OMAP_MUX bool "OMAP multiplexing support" depends on ARCH_OMAP default y help Pin multiplexing support for OMAP boards. If your bootloader sets the multiplexing correctly, say N. Otherwise, or if unsure, say Y. config OMAP_MUX_DEBUG bool "Multiplexing debug output" depends on OMAP_MUX help Makes the multiplexing functions print out a lot of debug info. This is useful if you want to find out the correct values of the multiplexing registers. config OMAP_MUX_WARNINGS bool "Warn about pins the bootloader didn't set up" depends on OMAP_MUX default y help Choose Y here to warn whenever driver initialization logic needs to change the pin multiplexing setup. When there are no warnings printed, it's safe to deselect OMAP_MUX for your product. config OMAP_IOMMU_IVA2 bool config OMAP_MPU_TIMER bool "Use mpu timer" depends on ARCH_OMAP1 help Select this option if you want to use the OMAP mpu timer. This timer provides more intra-tick resolution than the 32KHz timer, but consumes more power. config OMAP_32K_TIMER bool "Use 32KHz timer" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS) help Select this option if you want to enable the OMAP 32KHz timer. This timer saves power compared to the OMAP_MPU_TIMER, and has support for no tick during idle. The 32KHz timer provides less intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX. On OMAP2PLUS this value is only used for CONFIG_HZ and CLOCK_TICK_RATE compile time calculation. The actual timer selection is done in the board file through the (DT_)MACHINE_START structure. config OMAP3_L2_AUX_SECURE_SAVE_RESTORE bool "OMAP3 HS/EMU save and restore for L2 AUX control register" depends on ARCH_OMAP3 && PM default n help Without this option, L2 Auxiliary control register contents are lost during off-mode entry on HS/EMU devices. This feature requires support from PPA / boot-loader in HS/EMU devices, which currently does not exist by default. config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID int "Service ID for the support routine to set L2 AUX control" depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE default 43 help PPA routine service ID for setting L2 auxiliary control register. config OMAP_DM_TIMER bool "Use dual-mode timer" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS help Select this option if you want to use OMAP Dual-Mode timers. config OMAP_SERIAL_WAKE bool "Enable wake-up events for serial ports" depends on ARCH_OMAP1 && OMAP_MUX default y help Select this option if you want to have your system wake up to data on the serial RX line. This allows you to wake the system from serial console. choice prompt "OMAP PM layer selection" depends on ARCH_OMAP default OMAP_PM_NOOP config OMAP_PM_NOOP bool "No-op/debug PM layer" endchoice endmenu endif if PLAT_PXA config PXA_SSP tristate help Enable support for PXA2xx SSP ports endif # arch/arm/plat-samsung/Kconfig # # Copyright 2009 Simtec Electronics # # Licensed under GPLv2 config PLAT_SAMSUNG bool depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS default y select GENERIC_IRQ_CHIP select NO_IOPORT help Base platform code for all Samsung SoC based systems config PLAT_S5P bool depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) default y select ARCH_REQUIRE_GPIOLIB select ARM_VIC select NO_IOPORT select PLAT_SAMSUNG select S3C_GPIO_TRACK select S5P_GPIO_DRVSTR select SAMSUNG_CLKSRC if !COMMON_CLK select SAMSUNG_GPIOLIB_4BIT help Base platform code for Samsung's S5P series SoC. config SAMSUNG_PM bool depends on PM && (PLAT_S3C24XX || ARCH_S3C64XX || ARCH_S5P64X0 || S5P_PM) default y help Base platform power management code for samsung code if PLAT_SAMSUNG # boot configurations comment "Boot options" config S3C_BOOT_ERROR_RESET bool "S3C Reboot on decompression error" help Say y here to use the watchdog to reset the system if the kernel decompressor detects an error during decompression. config S3C_BOOT_UART_FORCE_FIFO bool "Force UART FIFO on during boot process" default y help Say Y here to force the UART FIFOs on during the kernel uncompressor config S3C_LOWLEVEL_UART_PORT int "S3C UART to use for low-level messages" default 0 help Choice of which UART port to use for the low-level messages, such as the `Uncompressing...` at start time. The value of this configuration should be between zero and two. The port must have been initialised by the boot-loader before use. config SAMSUNG_ATAGS def_bool n depends on !ARCH_MULTIPLATFORM depends on ATAGS help This option enables ATAGS based boot support code for Samsung platforms, including static platform devices, legacy clock, timer and interrupt initialization, etc. Platforms that support only DT based boot need not to select this option. if SAMSUNG_ATAGS # clock options config SAMSUNG_CLOCK bool default y if !COMMON_CLK config SAMSUNG_CLKSRC bool help Select the clock code for the clksrc implementation used by newer systems such as the S3C64XX. config S5P_CLOCK def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) help Support common clock part for ARCH_S5P and ARCH_EXYNOS SoCs # options for IRQ support config S5P_IRQ def_bool (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) help Support common interrupt part for ARCH_S5P SoCs config S5P_EXT_INT bool help Use the external interrupts (other than GPIO interrupts.) Note: Do not choose this for S5P6440 and S5P6450. config S5P_GPIO_INT bool help Common code for the GPIO interrupts (other than external interrupts.) # options for gpio configuration support config SAMSUNG_GPIOLIB_4BIT bool help GPIOlib file contains the 4 bit modification functions for gpio configuration. GPIOlib shall be compiled only for S3C64XX and S5P series of processors. config S5P_GPIO_DRVSTR bool help Internal configuration to get and set correct GPIO driver strength helper config SAMSUNG_GPIO_EXTRA int "Number of additional GPIO pins" default 128 if SAMSUNG_GPIO_EXTRA128 default 64 if SAMSUNG_GPIO_EXTRA64 default 0 help Use additional GPIO space in addition to the GPIO's the SOC provides. This allows expanding the GPIO space for use with GPIO expanders. config SAMSUNG_GPIO_EXTRA64 bool config SAMSUNG_GPIO_EXTRA128 bool config S3C_GPIO_SPACE int "Space between gpio banks" default 0 help Add a number of spare GPIO entries between each bank for debugging purposes. This allows any problems where an counter overflows from one bank to another to be caught, at the expense of using a little more memory. config S3C_GPIO_TRACK bool help Internal configuration option to enable the s3c specific gpio chip tracking if the platform requires it. # uart options config S5P_DEV_UART def_bool y depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210) # ADC driver config S3C_ADC bool "ADC common driver support" help Core support for the ADC block found in the Samsung SoC systems for drivers such as the touchscreen and hwmon to use to share this resource. # device definitions to compile in config S3C_DEV_HSMMC bool help Compile in platform device definitions for HSMMC code config S3C_DEV_HSMMC1 bool help Compile in platform device definitions for HSMMC channel 1 config S3C_DEV_HSMMC2 bool help Compile in platform device definitions for HSMMC channel 2 config S3C_DEV_HSMMC3 bool help Compile in platform device definitions for HSMMC channel 3 config S3C_DEV_HWMON bool help Compile in platform device definitions for HWMON config S3C_DEV_I2C1 bool help Compile in platform device definitions for I2C channel 1 config S3C_DEV_I2C2 bool help Compile in platform device definitions for I2C channel 2 config S3C_DEV_I2C3 bool help Compile in platform device definition for I2C controller 3 config S3C_DEV_I2C4 bool help Compile in platform device definition for I2C controller 4 config S3C_DEV_I2C5 bool help Compile in platform device definition for I2C controller 5 config S3C_DEV_I2C6 bool help Compile in platform device definition for I2C controller 6 config S3C_DEV_I2C7 bool help Compile in platform device definition for I2C controller 7 config S3C_DEV_FB bool help Compile in platform device definition for framebuffer config S3C_DEV_USB_HOST bool help Compile in platform device definition for USB host. config S3C_DEV_USB_HSOTG bool help Compile in platform device definition for USB high-speed OtG config S3C_DEV_WDT bool default y if ARCH_S3C24XX help Complie in platform device definition for Watchdog Timer config S3C_DEV_NAND bool help Compile in platform device definition for NAND controller config S3C_DEV_ONENAND bool help Compile in platform device definition for OneNAND controller config S3C_DEV_RTC bool help Complie in platform device definition for RTC config SAMSUNG_DEV_ADC bool help Compile in platform device definition for ADC controller config SAMSUNG_DEV_IDE bool help Compile in platform device definitions for IDE config S3C64XX_DEV_SPI0 bool help Compile in platform device definitions for S3C64XX's type SPI controller 0 config S3C64XX_DEV_SPI1 bool help Compile in platform device definitions for S3C64XX's type SPI controller 1 config S3C64XX_DEV_SPI2 bool help Compile in platform device definitions for S3C64XX's type SPI controller 2 config SAMSUNG_DEV_TS bool help Common in platform device definitions for touchscreen device config SAMSUNG_DEV_KEYPAD bool help Compile in platform device definitions for keypad config SAMSUNG_DEV_PWM bool default y if ARCH_S3C24XX help Compile in platform device definition for PWM Timer config SAMSUNG_DEV_BACKLIGHT bool depends on SAMSUNG_DEV_PWM help Compile in platform device definition LCD backlight with PWM Timer config S5P_DEV_CSIS0 bool help Compile in platform device definitions for MIPI-CSIS channel 0 config S5P_DEV_CSIS1 bool help Compile in platform device definitions for MIPI-CSIS channel 1 config S5P_DEV_FIMC0 bool help Compile in platform device definitions for FIMC controller 0 config S5P_DEV_FIMC1 bool help Compile in platform device definitions for FIMC controller 1 config S5P_DEV_FIMC2 bool help Compile in platform device definitions for FIMC controller 2 config S5P_DEV_FIMC3 bool help Compile in platform device definitions for FIMC controller 3 config S5P_DEV_FIMD0 bool help Compile in platform device definitions for FIMD controller 0 config S5P_DEV_G2D bool help Compile in platform device definitions for G2D device config S5P_DEV_I2C_HDMIPHY bool help Compile in platform device definitions for I2C HDMIPHY controller config S5P_DEV_JPEG bool help Compile in platform device definitions for JPEG codec config S5P_DEV_ONENAND bool help Compile in platform device definition for OneNAND controller config S5P_DEV_TV bool help Compile in platform device definition for TV interface config S3C24XX_PWM bool "PWM device support" select PWM select PWM_SAMSUNG help Support for exporting the PWM timer blocks via the pwm device system config S3C_SETUP_CAMIF bool help Compile in common setup code for S3C CAMIF devices # DMA config S3C_DMA bool help Internal configuration for S3C DMA core config S5P_IRQ_PM bool default y if S5P_PM help Legacy IRQ power management for S5P platforms config SAMSUNG_PM_GPIO bool default y if GPIO_SAMSUNG && PM help Include legacy GPIO power management code for platforms not using pinctrl-samsung driver. endif config SAMSUNG_DMADEV bool select ARM_AMBA select DMADEVICES select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ CPU_S5P6450 || CPU_S5P6440) help Use DMA device engine for PL330 DMAC. config S5P_DEV_MFC bool help Compile in setup memory (init) code for MFC comment "Power management" config SAMSUNG_PM_DEBUG bool "S3C2410 PM Suspend debug" depends on PM select DEBUG_LL help Say Y here if you want verbose debugging from the PM Suspend and Resume code. See for more information. config S3C_PM_DEBUG_LED_SMDK bool "SMDK LED suspend/resume debugging" depends on PM && (MACH_SMDK6410) help Say Y here to enable the use of the SMDK LEDs on the baseboard for debugging of the state of the suspend and resume process. Note, this currently only works for S3C64XX based SMDK boards. config SAMSUNG_PM_CHECK bool "S3C2410 PM Suspend Memory CRC" depends on PM && CRC32 help Enable the PM code's memory area checksum over sleep. This option will generate CRCs of all blocks of memory, and store them before going to sleep. The blocks are then checked on resume for any errors. Note, this can take several seconds depending on memory size and CPU speed. See config SAMSUNG_PM_CHECK_CHUNKSIZE int "S3C2410 PM Suspend CRC Chunksize (KiB)" depends on PM && SAMSUNG_PM_CHECK default 64 help Set the chunksize in Kilobytes of the CRC for checking memory corruption over suspend and resume. A smaller value will mean that the CRC data block will take more memory, but wil identify any faults with better precision. See config SAMSUNG_WAKEMASK bool depends on PM help Compile support for wakeup-mask controls found on the S3C6400 and above. This code allows a set of interrupt to wakeup-mask mappings. See config SAMSUNG_WDT_RESET bool help Compile support for system restart by triggering watchdog reset. Used on SoCs that do not provide dedicated reset control. config S5P_PM bool help Common code for power management support on S5P and newer SoCs Note: Do not select this for S5P6440 and S5P6450. config S5P_SLEEP bool help Internal config node to apply common S5P sleep management code. Can be selected by S5P and newer SoCs with similar sleep procedure. config DEBUG_S3C_UART depends on PLAT_SAMSUNG int default "0" if DEBUG_S3C_UART0 default "1" if DEBUG_S3C_UART1 default "2" if DEBUG_S3C_UART2 default "3" if DEBUG_S3C_UART3 endif if PLAT_VERSATILE config PLAT_VERSATILE_CLOCK bool config PLAT_VERSATILE_CLCD bool config PLAT_VERSATILE_LEDS def_bool y if NEW_LEDS depends on ARCH_REALVIEW || ARCH_VERSATILE select LEDS_CLASS select LEDS_TRIGGERS config PLAT_VERSATILE_SCHED_CLOCK def_bool y endif config ARM64 def_bool y select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_COMPAT_IPC_PARSE_VERSION select ARCH_WANT_FRAME_POINTERS select ARM_AMBA select ARM_ARCH_TIMER select ARM_GIC select BUILDTIME_EXTABLE_SORT select CLONE_BACKWARDS select COMMON_CLK select GENERIC_CLOCKEVENTS select GENERIC_IOMAP select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select GENERIC_TIME_VSYSCALL select HARDIRQS_SW_RESEND select HAVE_ARCH_TRACEHOOK select HAVE_DEBUG_BUGVERBOSE select HAVE_DEBUG_KMEMLEAK select HAVE_DMA_API_DEBUG select HAVE_DMA_ATTRS select HAVE_GENERIC_DMA_COHERENT select HAVE_HW_BREAKPOINT if PERF_EVENTS select HAVE_MEMBLOCK select HAVE_PERF_EVENTS select IRQ_DOMAIN select MODULES_USE_ELF_RELA select NO_BOOTMEM select OF select OF_EARLY_FLATTREE select PERF_USE_VMALLOC select POWER_RESET select POWER_SUPPLY select RTC_LIB select SPARSE_IRQ select SYSCTL_EXCEPTION_TRACE help ARM 64-bit (AArch64) Linux support. config 64BIT def_bool y config ARCH_PHYS_ADDR_T_64BIT def_bool y config MMU def_bool y config NO_IOPORT def_bool y config STACKTRACE_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config GENERIC_HWEIGHT def_bool y config GENERIC_CSUM def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config ZONE_DMA32 def_bool y config ARCH_DMA_ADDR_T_64BIT def_bool y config NEED_DMA_MAP_STATE def_bool y config NEED_SG_DMA_LENGTH def_bool y config SWIOTLB def_bool y config IOMMU_HELPER def_bool SWIOTLB config KERNEL_MODE_NEON def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Platform selection" config ARCH_VEXPRESS bool "ARMv8 software model (Versatile Express)" select ARCH_REQUIRE_GPIOLIB select COMMON_CLK_VERSATILE select POWER_RESET_VEXPRESS select VEXPRESS_CONFIG help This enables support for the ARMv8 software model (Versatile Express). config ARCH_XGENE bool "AppliedMicro X-Gene SOC Family" help This enables support for AppliedMicro X-Gene SOC Family endmenu menu "Bus support" config ARM_AMBA bool endmenu menu "Kernel Features" config ARM64_64K_PAGES bool "Enable 64KB pages support" help This feature enables 64KB pages support (4KB by default) allowing only two levels of page tables and faster TLB look-up. AArch32 emulation is not available when this feature is enabled. config CPU_BIG_ENDIAN bool "Build big-endian kernel" help Say Y if you plan on running a kernel in big-endian mode. config SMP bool "Symmetric Multi-Processing" help This enables support for systems with more than one CPU. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, single processor machines. On a single processor machine, the kernel will run faster if you say N here. If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP # These have to remain sorted largest to smallest default "8" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. source kernel/Kconfig.preempt config HZ int default 100 config ARCH_HAS_HOLES_MEMORYMODEL def_bool y if SPARSEMEM config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_VMEMMAP_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool ARCH_SPARSEMEM_ENABLE config ARCH_SELECT_MEMORY_MODEL def_bool ARCH_SPARSEMEM_ENABLE config HAVE_ARCH_PFN_VALID def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM config HW_PERF_EVENTS bool "Enable hardware performance counter support for perf events" depends on PERF_EVENTS default y help Enable hardware performance counter support for perf events. If disabled, perf events will use software events only. config SYS_SUPPORTS_HUGETLBFS def_bool y config ARCH_WANT_GENERAL_HUGETLB def_bool y config ARCH_WANT_HUGE_PMD_SHARE def_bool y if !ARM64_64K_PAGES config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y source "mm/Kconfig" config XEN_DOM0 def_bool y depends on XEN config XEN bool "Xen guest support on ARM64 (EXPERIMENTAL)" depends on ARM64 && OF select SWIOTLB_XEN help Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64. config FORCE_MAX_ZONEORDER int default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) default "11" endmenu menu "Boot options" config CMDLINE string "Default kernel command string" default "" help Provide a set of default command-line options at build time by entering them here. As a minimum, you should specify the the root device (e.g. root=/dev/nfs). config CMDLINE_FORCE bool "Always use the default kernel command string" help Always use the default kernel command string, even if the boot loader passes other arguments to the kernel. This is useful if you cannot or don't want to change the command-line options your boot loader passes to the kernel. endmenu menu "Userspace binary formats" source "fs/Kconfig.binfmt" config COMPAT bool "Kernel support for 32-bit EL0" depends on !ARM64_64K_PAGES select COMPAT_BINFMT_ELF select HAVE_UID16 select OLD_SIGSUSPEND3 select COMPAT_OLD_SIGACTION help This option enables support for a 32-bit EL0 running under a 64-bit kernel at EL1. AArch32-specific components such as system calls, the user helper functions, VFP support and the ptrace interface are handled appropriately by the kernel. If you want to execute 32-bit userspace applications, say Y. config SYSVIPC_COMPAT def_bool y depends on COMPAT && SYSVIPC endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/arm64/kvm/Kconfig" source "arch/arm64/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM bool "Kernel-based Virtual Machine (KVM) support" select MMU_NOTIFIER select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_CPU_RELAX_INTERCEPT select KVM_MMIO select KVM_ARM_HOST select KVM_ARM_VGIC select KVM_ARM_TIMER ---help--- Support hosting virtualized guest machines. If unsure, say N. config KVM_ARM_HOST bool ---help--- Provides host support for ARM processors. config KVM_ARM_VGIC bool depends on KVM_ARM_HOST && OF select HAVE_KVM_IRQCHIP ---help--- Adds support for a hardware assisted, in-kernel GIC emulation. config KVM_ARM_TIMER bool depends on KVM_ARM_VGIC ---help--- Adds support for the Architected Timers in virtual machines. endif # VIRTUALIZATION config AVR32 def_bool y # With EXPERT=n, we get lots of stuff automatically selected # that we usually don't need on AVR32. select EXPERT select HAVE_CLK select HAVE_OPROFILE select HAVE_KPROBES select VIRT_TO_BUS select GENERIC_IRQ_PROBE select GENERIC_ATOMIC64 select HARDIRQS_SW_RESEND select GENERIC_IRQ_SHOW select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_WANT_IPC_PARSE_VERSION select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CLOCKEVENTS select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular emphasis on low power consumption and high code density. There is an AVR32 Linux project with a web page at http://avr32linux.org/. config STACKTRACE_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM def_bool n config ARCH_HAS_ILOG2_U32 def_bool n config ARCH_HAS_ILOG2_U64 def_bool n config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config GENERIC_BUG def_bool y depends on BUG source "init/Kconfig" source "kernel/Kconfig.freezer" menu "System Type and features" config SUBARCH_AVR32B bool config MMU bool config PERFORMANCE_COUNTERS bool config PLATFORM_AT32AP bool select SUBARCH_AVR32B select MMU select PERFORMANCE_COUNTERS select ARCH_REQUIRE_GPIOLIB select GENERIC_ALLOCATOR select HAVE_FB_ATMEL # # CPU types # # AP7000 derivatives config CPU_AT32AP700X bool select PLATFORM_AT32AP config CPU_AT32AP7000 bool select CPU_AT32AP700X config CPU_AT32AP7001 bool select CPU_AT32AP700X config CPU_AT32AP7002 bool select CPU_AT32AP700X # AP700X boards config BOARD_ATNGW100_COMMON bool select CPU_AT32AP7000 choice prompt "AVR32 board type" default BOARD_ATSTK1000 config BOARD_ATSTK1000 bool "ATSTK1000 evaluation board" config BOARD_ATNGW100_MKI bool "ATNGW100 Network Gateway" select BOARD_ATNGW100_COMMON config BOARD_ATNGW100_MKII bool "ATNGW100 mkII Network Gateway" select BOARD_ATNGW100_COMMON config BOARD_HAMMERHEAD bool "Hammerhead board" select CPU_AT32AP7000 select USB_ARCH_HAS_HCD help The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel. It offers versatile peripherals, such as ethernet, usb device, usb host etc. The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered Device (PD). Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which will cover even the most exceptional need of memory bandwidth. Together with the onboard video decoder the board is ready for video processing. For more information see: http://www.miromico.ch/index.php/hammerhead.html config BOARD_FAVR_32 bool "Favr-32 LCD-board" select CPU_AT32AP7000 config BOARD_MERISC bool "Merisc board" select CPU_AT32AP7000 help Merisc is the family name for a range of AVR32-based boards. The boards are designed to be used in a man-machine interfacing environment, utilizing a touch-based graphical user interface. They host a vast range of I/O peripherals as well as a large SDRAM & Flash memory bank. For more information see: http://www.martinsson.se/merisc config BOARD_MIMC200 bool "MIMC200 CPU board" select CPU_AT32AP7000 endchoice source "arch/avr32/boards/atstk1000/Kconfig" source "arch/avr32/boards/atngw100/Kconfig" source "arch/avr32/boards/hammerhead/Kconfig" source "arch/avr32/boards/favr-32/Kconfig" source "arch/avr32/boards/merisc/Kconfig" choice prompt "Boot loader type" default LOADER_U_BOOT config LOADER_U_BOOT bool "U-Boot (or similar) bootloader" endchoice source "arch/avr32/mach-at32ap/Kconfig" config LOAD_ADDRESS hex default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y config ENTRY_ADDRESS hex default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y config PHYS_OFFSET hex default 0x10000000 if CPU_AT32AP700X=y source "kernel/Kconfig.preempt" config QUICKLIST def_bool y config ARCH_HAVE_MEMORY_PRESENT def_bool n config NEED_NODE_MEMMAP_SIZE def_bool n config ARCH_FLATMEM_ENABLE def_bool y config ARCH_DISCONTIGMEM_ENABLE def_bool n config ARCH_SPARSEMEM_ENABLE def_bool n config NODES_SHIFT int default "2" depends on NEED_MULTIPLE_NODES source "mm/Kconfig" config OWNERSHIP_TRACE bool "Ownership trace support" default y help Say Y to generate an Ownership Trace message on every context switch, enabling Nexus-compliant debuggers to keep track of the PID of the currently executing task. config NMI_DEBUGGING bool "NMI Debugging" default n help Say Y here and pass the nmi_debug command-line parameter to the kernel to turn on NMI debugging. Depending on the value of the nmi_debug option, various pieces of information will be dumped to the console when a Non-Maskable Interrupt happens. # FPU emulation goes here source "kernel/Kconfig.hz" config CMDLINE string "Default kernel command line" default "" help If you don't have a boot loader capable of passing a command line string to the kernel, you may specify one here. As a minimum, you should specify the memory size and the root device (e.g., mem=8M, root=/dev/nfs). endmenu menu "Power management options" source "kernel/power/Kconfig" config ARCH_SUSPEND_POSSIBLE def_bool y menu "CPU Frequency scaling" source "drivers/cpufreq/Kconfig" endmenu endmenu menu "Bus options" config PCI bool source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/avr32/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # NGW100 customization if BOARD_ATNGW100_COMMON config BOARD_ATNGW100_MKII_LCD bool "Enable ATNGW100 mkII LCD interface" depends on BOARD_ATNGW100_MKII help This enables the LCD controller (LCDC) in the AT32AP7000. Since the LCDC is multiplexed with MACB1 (LAN) Ethernet port, only one can be enabled at a time. This choice enables the LCDC and disables the MACB1 interface marked LAN on the PCB. choice prompt "Select an NGW100 add-on board to support" default BOARD_ATNGW100_ADDON_NONE config BOARD_ATNGW100_ADDON_NONE bool "None" config BOARD_ATNGW100_EVKLCD10X bool "EVKLCD10X addon board" depends on BOARD_ATNGW100_MKI || BOARD_ATNGW100_MKII_LCD help This enables support for the EVKLCD100 (QVGA) or EVKLCD101 (VGA) addon board for the NGW100 and NGW100 mkII. By enabling this the LCD controller and AC97 controller is added as platform devices. config BOARD_ATNGW100_MRMT bool "Mediama RMT1/2 add-on board" help This enables support for the Mediama RMT1 or RMT2 board. RMT provides LCD support, AC97 codec and other optional peripherals to the Atmel NGW100. This choice disables the detect pin and the write-protect pin for the MCI platform device, since it conflicts with the LCD platform device. The MCI pins can be reenabled by editing the "add device function" but this may break the setup for other displays that use these pins. endchoice choice prompt "LCD panel resolution on EVKLCD10X" depends on BOARD_ATNGW100_EVKLCD10X default BOARD_ATNGW100_EVKLCD10X_VGA config BOARD_ATNGW100_EVKLCD10X_QVGA bool "QVGA (320x240)" config BOARD_ATNGW100_EVKLCD10X_VGA bool "VGA (640x480)" config BOARD_ATNGW100_EVKLCD10X_POW_QVGA bool "Powertip QVGA (320x240)" endchoice if BOARD_ATNGW100_MRMT source "arch/avr32/boards/atngw100/Kconfig_mrmt" endif endif # BOARD_ATNGW100_COMMON # STK1000 customization if BOARD_ATSTK1000 choice prompt "ATSTK1000 CPU daughterboard type" default BOARD_ATSTK1002 config BOARD_ATSTK1002 bool "ATSTK1002" select CPU_AT32AP7000 config BOARD_ATSTK1003 bool "ATSTK1003" select CPU_AT32AP7001 config BOARD_ATSTK1004 bool "ATSTK1004" select CPU_AT32AP7002 config BOARD_ATSTK1006 bool "ATSTK1006" select CPU_AT32AP7000 endchoice config BOARD_ATSTK100X_CUSTOM bool "Non-default STK1002/STK1003/STK1004 jumper settings" help You will normally leave the jumpers on the CPU card at their default settings. If you need to use certain peripherals, you will need to change some of those jumpers. if BOARD_ATSTK100X_CUSTOM config BOARD_ATSTK100X_SW1_CUSTOM bool "SW1: use SSC1 (not SPI0)" help This also prevents using the external DAC as an audio interface, and means you can't initialize the on-board QVGA display. config BOARD_ATSTK100X_SW2_CUSTOM bool "SW2: use IRDA or TIMER0 (not UART-A, MMC/SD, and PS2-A)" help If you change this you'll want an updated boot loader putting the console on UART-C not UART-A. config BOARD_ATSTK100X_SW3_CUSTOM bool "SW3: use TIMER1 (not SSC0 and GCLK)" help This also prevents using the external DAC as an audio interface. config BOARD_ATSTK100X_SW4_CUSTOM bool "SW4: use ISI/Camera (not GPIOs, SPI1, and PS2-B)" help To use the camera interface you'll need a custom card (on the PCI-format connector) connect a video sensor. config BOARD_ATSTK1002_SW5_CUSTOM bool "SW5: use MACB1 (not LCDC)" depends on BOARD_ATSTK1002 config BOARD_ATSTK1002_SW6_CUSTOM bool "SW6: more GPIOs (not MACB0)" depends on BOARD_ATSTK1002 endif # custom config BOARD_ATSTK100X_SPI1 bool "Configure SPI1 controller" depends on !BOARD_ATSTK100X_SW4_CUSTOM help All the signals for the second SPI controller are available on GPIO lines and accessed through the J1 jumper block. Say "y" here to configure that SPI controller. config BOARD_ATSTK1000_J2_LED bool default BOARD_ATSTK1000_J2_LED8 || BOARD_ATSTK1000_J2_RGB choice prompt "LEDs connected to J2:" depends on LEDS_GPIO && !BOARD_ATSTK100X_SW4_CUSTOM optional help Select this if you have jumpered the J2 jumper block to the LED0..LED7 amber leds, or to the RGB leds, using a ten-pin IDC cable. A default "heartbeat" trigger is provided, but you can of course override this. config BOARD_ATSTK1000_J2_LED8 bool "LED0..LED7" help Select this if J2 is jumpered to LED0..LED7 amber leds. config BOARD_ATSTK1000_J2_RGB bool "RGB leds" help Select this if J2 is jumpered to the RGB leds. endchoice config BOARD_ATSTK1000_EXTDAC bool depends on !BOARD_ATSTK100X_SW1_CUSTOM && !BOARD_ATSTK100X_SW3_CUSTOM default y endif # stk 1000 # Favr-32 customization if BOARD_FAVR_32 config BOARD_FAVR32_ABDAC_RATE int "DAC target rate" default 44100 range 32000 50000 help Specify the target rate the internal DAC should try to match. This will use PLL1 to generate a frequency as close as possible to this rate. Must be within the range 32000 to 50000, which should be suitable to generate most other frequencies in power of 2 steps. Ex: 48000 will also suit 24000 and 12000 44100 will also suit 22050 and 11025 32000 will also suit 16000 and 8000 endif # BOARD_FAVR_32 # Hammerhead customization if BOARD_HAMMERHEAD config BOARD_HAMMERHEAD_USB bool "Philips ISP116x-hcd USB support" help This enables USB support for Hammerheads internal ISP116x controller from Philips. Choose 'Y' here if you want to have your board USB driven. config BOARD_HAMMERHEAD_LCD bool "Atmel AT91/AT32 LCD support" help This enables LCD support for the Hammerhead board. You may also add support for framebuffer devices (AT91/AT32 LCD Controller) and framebuffer console support to get the most out of your LCD. Choose 'Y' here if you have ordered a Corona daugther board and want to have support for your Hantronix HDA-351T-LV LCD. config BOARD_HAMMERHEAD_SND bool "Atmel AC97 Sound support" help This enables Sound support for the Hammerhead board. You may also go through the ALSA settings to get it working. Choose 'Y' here if you have ordered a Corona daugther board and want to make your board funky. config BOARD_HAMMERHEAD_FPGA bool "Hammerhead FPGA Support" default y help This adds support for the Cyclone III FPGA from Altera found on Miromico's Hammerhead board. Choose 'Y' here if you want to have FPGA support enabled. You will have to choose the "Hammerhead FPGA Device Support" in Device Drivers->Misc to be able to use FPGA functionality. endif # BOARD_ATNGW100 # Merisc customization if BOARD_MERISC endif # BOARD_MERISC if PLATFORM_AT32AP menu "Atmel AVR32 AP options" choice prompt "AT32AP700x static memory bus width" depends on CPU_AT32AP700X default AP700X_16_BIT_SMC help Define the width of the AP7000 external static memory interface. This is used to determine how to mangle the address and/or data when doing little-endian port access. The current code can only support a single external memory bus width for all chip selects, excluding the flash (which is using raw access and is thus not affected by any of this.) config AP700X_32_BIT_SMC bool "32 bit" config AP700X_16_BIT_SMC bool "16 bit" config AP700X_8_BIT_SMC bool "8 bit" endchoice endmenu endif # PLATFORM_AT32AP config MMU def_bool n config FPU def_bool n config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM def_bool n config BLACKFIN def_bool y select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_IDE select HAVE_KERNEL_GZIP if RAMKERNEL select HAVE_KERNEL_BZIP2 if RAMKERNEL select HAVE_KERNEL_LZMA if RAMKERNEL select HAVE_KERNEL_LZO if RAMKERNEL select HAVE_OPROFILE select HAVE_PERF_EVENTS select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_REQUIRE_GPIOLIB select HAVE_UID16 select HAVE_UNDERSCORE_SYMBOL_PREFIX select VIRT_TO_BUS select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_ATOMIC64 select GENERIC_IRQ_PROBE select HAVE_NMI_WATCHDOG if NMI_WATCHDOG select GENERIC_SMP_IDLE_THREAD select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select HAVE_DEBUG_STACKOVERFLOW config GENERIC_CSUM def_bool y config GENERIC_BUG def_bool y depends on BUG config ZONE_DMA def_bool y config GENERIC_GPIO def_bool y config FORCE_MAX_ZONEORDER int default "14" config GENERIC_CALIBRATE_DELAY def_bool y config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y source "init/Kconfig" source "kernel/Kconfig.preempt" source "kernel/Kconfig.freezer" menu "Blackfin Processor Options" comment "Processor and Board Settings" choice prompt "CPU" default BF533 config BF512 bool "BF512" help BF512 Processor Support. config BF514 bool "BF514" help BF514 Processor Support. config BF516 bool "BF516" help BF516 Processor Support. config BF518 bool "BF518" help BF518 Processor Support. config BF522 bool "BF522" help BF522 Processor Support. config BF523 bool "BF523" help BF523 Processor Support. config BF524 bool "BF524" help BF524 Processor Support. config BF525 bool "BF525" help BF525 Processor Support. config BF526 bool "BF526" help BF526 Processor Support. config BF527 bool "BF527" help BF527 Processor Support. config BF531 bool "BF531" help BF531 Processor Support. config BF532 bool "BF532" help BF532 Processor Support. config BF533 bool "BF533" help BF533 Processor Support. config BF534 bool "BF534" help BF534 Processor Support. config BF536 bool "BF536" help BF536 Processor Support. config BF537 bool "BF537" help BF537 Processor Support. config BF538 bool "BF538" help BF538 Processor Support. config BF539 bool "BF539" help BF539 Processor Support. config BF542_std bool "BF542" help BF542 Processor Support. config BF542M bool "BF542m" help BF542 Processor Support. config BF544_std bool "BF544" help BF544 Processor Support. config BF544M bool "BF544m" help BF544 Processor Support. config BF547_std bool "BF547" help BF547 Processor Support. config BF547M bool "BF547m" help BF547 Processor Support. config BF548_std bool "BF548" help BF548 Processor Support. config BF548M bool "BF548m" help BF548 Processor Support. config BF549_std bool "BF549" help BF549 Processor Support. config BF549M bool "BF549m" help BF549 Processor Support. config BF561 bool "BF561" help BF561 Processor Support. config BF609 bool "BF609" select CLKDEV_LOOKUP help BF609 Processor Support. endchoice config SMP depends on BF561 select TICKSOURCE_CORETMR bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU, like the dual core BF561. If you have a system with only one CPU, say N. If you have a system with more than one CPU, say Y. If you don't know what to do here, say N. config NR_CPUS int depends on SMP default 2 if BF561 config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP default y config BF_REV_MIN int default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x default 2 if (BF537 || BF536 || BF534) default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM) default 4 if (BF538 || BF539) config BF_REV_MAX int default 2 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x default 3 if (BF537 || BF536 || BF534 || BF54xM) default 5 if (BF561 || BF538 || BF539) default 6 if (BF533 || BF532 || BF531) choice prompt "Silicon Rev" default BF_REV_0_0 if (BF51x || BF52x || BF60x) default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM)) default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561) config BF_REV_0_0 bool "0.0" depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x) config BF_REV_0_1 bool "0.1" depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x) config BF_REV_0_2 bool "0.2" depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM)) config BF_REV_0_3 bool "0.3" depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531) config BF_REV_0_4 bool "0.4" depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539 || BF54x) config BF_REV_0_5 bool "0.5" depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539) config BF_REV_0_6 bool "0.6" depends on (BF533 || BF532 || BF531) config BF_REV_ANY bool "any" config BF_REV_NONE bool "none" endchoice config BF53x bool depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537) default y config GPIO_ADI def_bool y depends on (BF51x || BF52x || BF53x || BF538 || BF539 || BF561) config PINCTRL def_bool y depends on BF54x || BF60x config MEM_MT48LC64M4A2FB_7E bool depends on (BFIN533_STAMP) default y config MEM_MT48LC16M16A2TG_75 bool depends on (BFIN533_EZKIT || BFIN561_EZKIT \ || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \ || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \ || BFIN527_BLUETECHNIX_CM) default y config MEM_MT48LC32M8A2_75 bool depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT) default y config MEM_MT48LC8M32B2B5_7 bool depends on (BFIN561_BLUETECHNIX_CM) default y config MEM_MT48LC32M16A2TG_75 bool depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL) default y config MEM_MT48H32M16LFCJ_75 bool depends on (BFIN526_EZBRD) default y config MEM_MT47H64M16 bool depends on (BFIN609_EZKIT) default y source "arch/blackfin/mach-bf518/Kconfig" source "arch/blackfin/mach-bf527/Kconfig" source "arch/blackfin/mach-bf533/Kconfig" source "arch/blackfin/mach-bf561/Kconfig" source "arch/blackfin/mach-bf537/Kconfig" source "arch/blackfin/mach-bf538/Kconfig" source "arch/blackfin/mach-bf548/Kconfig" source "arch/blackfin/mach-bf609/Kconfig" menu "Board customizations" config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyBF0,57600" help If you don't have a boot loader capable of passing a command line string to the kernel, you may specify one here. As a minimum, you should specify the memory size and the root device (e.g., mem=8M, root=/dev/nfs). config BOOT_LOAD hex "Kernel load address for booting" default "0x1000" range 0x1000 0x20000000 help This option allows you to set the load address of the kernel. This can be useful if you are on a board which has a small amount of memory or you wish to reserve some memory at the beginning of the address space. Note that you need to keep this value above 4k (0x1000) as this memory region is used to capture NULL pointer references as well as some core kernel functions. config PHY_RAM_BASE_ADDRESS hex "Physical RAM Base" default 0x0 help set BF609 FPGA physical SRAM base address config ROM_BASE hex "Kernel ROM Base" depends on ROMKERNEL default "0x20040040" range 0x20000000 0x20400000 if !(BF54x || BF561 || BF60x) range 0x20000000 0x30000000 if (BF54x || BF561) range 0xB0000000 0xC0000000 if (BF60x) help Make sure your ROM base does not include any file-header information that is prepended to the kernel. For example, the bootable U-Boot format (created with mkimage) has a 64 byte header (0x40). So while the image you write to flash might start at say 0x20080000, you have to add 0x40 to get the kernel's ROM base as it will come after the header. comment "Clock/PLL Setup" config CLKIN_HZ int "Frequency of the crystal on the board in Hz" default "10000000" if BFIN532_IP0X default "11059200" if BFIN533_STAMP default "24576000" if PNAV10 default "25000000" # most people use this default "27000000" if BFIN533_EZKIT default "30000000" if BFIN561_EZKIT default "24000000" if BFIN527_AD7160EVAL help The frequency of CLKIN crystal oscillator on the board in Hz. Warning: This value should match the crystal on the board. Otherwise, peripherals won't work properly. config BFIN_KERNEL_CLOCK bool "Re-program Clocks while Kernel boots?" default n help This option decides if kernel clocks are re-programed from the bootloader settings. If the clocks are not set, the SDRAM settings are also not changed, and the Bootloader does 100% of the hardware configuration. config PLL_BYPASS bool "Bypass PLL" depends on BFIN_KERNEL_CLOCK && (!BF60x) default n config CLKIN_HALF bool "Half Clock In" depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) default n help If this is set the clock will be divided by 2, before it goes to the PLL. config VCO_MULT int "VCO Multiplier" depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) range 1 64 default "22" if BFIN533_EZKIT default "45" if BFIN533_STAMP default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT) default "22" if BFIN533_BLUETECHNIX_CM default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) default "20" if (BFIN561_EZKIT || BF609) default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD) default "25" if BFIN527_AD7160EVAL help This controls the frequency of the on-chip PLL. This can be between 1 and 64. PLL Frequency = (Crystal Frequency) * (this setting) choice prompt "Core Clock Divider" depends on BFIN_KERNEL_CLOCK default CCLK_DIV_1 help This sets the frequency of the core. It can be 1, 2, 4 or 8 Core Frequency = (PLL frequency) / (this setting) config CCLK_DIV_1 bool "1" config CCLK_DIV_2 bool "2" config CCLK_DIV_4 bool "4" config CCLK_DIV_8 bool "8" endchoice config SCLK_DIV int "System Clock Divider" depends on BFIN_KERNEL_CLOCK range 1 15 default 4 help This sets the frequency of the system clock (including SDRAM or DDR) on !BF60x else it set the clock for system buses and provides the source from which SCLK0 and SCLK1 are derived. This can be between 1 and 15 System Clock = (PLL frequency) / (this setting) config SCLK0_DIV int "System Clock0 Divider" depends on BFIN_KERNEL_CLOCK && BF60x range 1 15 default 1 help This sets the frequency of the system clock0 for PVP and all other peripherals not clocked by SCLK1. This can be between 1 and 15 System Clock0 = (System Clock) / (this setting) config SCLK1_DIV int "System Clock1 Divider" depends on BFIN_KERNEL_CLOCK && BF60x range 1 15 default 1 help This sets the frequency of the system clock1 (including SPORT, SPI and ACM). This can be between 1 and 15 System Clock1 = (System Clock) / (this setting) config DCLK_DIV int "DDR Clock Divider" depends on BFIN_KERNEL_CLOCK && BF60x range 1 15 default 2 help This sets the frequency of the DDR memory. This can be between 1 and 15 DDR Clock = (PLL frequency) / (this setting) choice prompt "DDR SDRAM Chip Type" depends on BFIN_KERNEL_CLOCK depends on BF54x default MEM_MT46V32M16_5B config MEM_MT46V32M16_6T bool "MT46V32M16_6T" config MEM_MT46V32M16_5B bool "MT46V32M16_5B" endchoice choice prompt "DDR/SDRAM Timing" depends on BFIN_KERNEL_CLOCK && !BF60x default BFIN_KERNEL_CLOCK_MEMINIT_CALC help This option allows you to specify Blackfin SDRAM/DDR Timing parameters The calculated SDRAM timing parameters may not be 100% accurate - This option is therefore marked experimental. config BFIN_KERNEL_CLOCK_MEMINIT_CALC bool "Calculate Timings" config BFIN_KERNEL_CLOCK_MEMINIT_SPEC bool "Provide accurate Timings based on target SCLK" help Please consult the Blackfin Hardware Reference Manuals as well as the memory device datasheet. http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram endchoice menu "Memory Init Control" depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC config MEM_DDRCTL0 depends on BF54x hex "DDRCTL0" default 0x0 config MEM_DDRCTL1 depends on BF54x hex "DDRCTL1" default 0x0 config MEM_DDRCTL2 depends on BF54x hex "DDRCTL2" default 0x0 config MEM_EBIU_DDRQUE depends on BF54x hex "DDRQUE" default 0x0 config MEM_SDRRC depends on !BF54x hex "SDRRC" default 0x0 config MEM_SDGCTL depends on !BF54x hex "SDGCTL" default 0x0 endmenu # # Max & Min Speeds for various Chips # config MAX_VCO_HZ int default 400000000 if BF512 default 400000000 if BF514 default 400000000 if BF516 default 400000000 if BF518 default 400000000 if BF522 default 600000000 if BF523 default 400000000 if BF524 default 600000000 if BF525 default 400000000 if BF526 default 600000000 if BF527 default 400000000 if BF531 default 400000000 if BF532 default 750000000 if BF533 default 500000000 if BF534 default 400000000 if BF536 default 600000000 if BF537 default 533333333 if BF538 default 533333333 if BF539 default 600000000 if BF542 default 533333333 if BF544 default 600000000 if BF547 default 600000000 if BF548 default 533333333 if BF549 default 600000000 if BF561 default 800000000 if BF609 config MIN_VCO_HZ int default 50000000 config MAX_SCLK_HZ int default 200000000 if BF609 default 133333333 config MIN_SCLK_HZ int default 27000000 comment "Kernel Timer/Scheduler" source kernel/Kconfig.hz config SET_GENERIC_CLOCKEVENTS bool "Generic clock events" default y select GENERIC_CLOCKEVENTS menu "Clock event device" depends on GENERIC_CLOCKEVENTS config TICKSOURCE_GPTMR0 bool "GPTimer0" depends on !SMP select BFIN_GPTIMERS config TICKSOURCE_CORETMR bool "Core timer" default y endmenu menu "Clock souce" depends on GENERIC_CLOCKEVENTS config CYCLES_CLOCKSOURCE bool "CYCLES" default y depends on !BFIN_SCRATCH_REG_CYCLES depends on !SMP help If you say Y here, you will enable support for using the 'cycles' registers as a clock source. Doing so means you will be unable to safely write to the 'cycles' register during runtime. You will still be able to read it (such as for performance monitoring), but writing the registers will most likely crash the kernel. config GPTMR0_CLOCKSOURCE bool "GPTimer0" select BFIN_GPTIMERS depends on !TICKSOURCE_GPTMR0 endmenu comment "Misc" choice prompt "Blackfin Exception Scratch Register" default BFIN_SCRATCH_REG_RETN help Select the resource to reserve for the Exception handler: - RETN: Non-Maskable Interrupt (NMI) - RETE: Exception Return (JTAG/ICE) - CYCLES: Performance counter If you are unsure, please select "RETN". config BFIN_SCRATCH_REG_RETN bool "RETN" help Use the RETN register in the Blackfin exception handler as a stack scratch register. This means you cannot safely use NMI on the Blackfin while running Linux, but you can debug the system with a JTAG ICE and use the CYCLES performance registers. If you are unsure, please select "RETN". config BFIN_SCRATCH_REG_RETE bool "RETE" help Use the RETE register in the Blackfin exception handler as a stack scratch register. This means you cannot safely use a JTAG ICE while debugging a Blackfin board, but you can safely use the CYCLES performance registers and the NMI. If you are unsure, please select "RETN". config BFIN_SCRATCH_REG_CYCLES bool "CYCLES" help Use the CYCLES register in the Blackfin exception handler as a stack scratch register. This means you cannot safely use the CYCLES performance registers on a Blackfin board at anytime, but you can debug the system with a JTAG ICE and use the NMI. If you are unsure, please select "RETN". endchoice endmenu menu "Blackfin Kernel Optimizations" comment "Memory Optimizations" config I_ENTRY_L1 bool "Locate interrupt entry code in L1 Memory" default y depends on !SMP help If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked into L1 instruction memory. (less latency) config EXCPT_IRQ_SYSC_L1 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory" default y depends on !SMP help If enabled, the entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked into L1 instruction memory. (less latency) config DO_IRQ_L1 bool "Locate frequently called do_irq dispatcher function in L1 Memory" default y depends on !SMP help If enabled, the frequently called do_irq dispatcher function is linked into L1 instruction memory. (less latency) config CORE_TIMER_IRQ_L1 bool "Locate frequently called timer_interrupt() function in L1 Memory" default y depends on !SMP help If enabled, the frequently called timer_interrupt() function is linked into L1 instruction memory. (less latency) config IDLE_L1 bool "Locate frequently idle function in L1 Memory" default y depends on !SMP help If enabled, the frequently called idle function is linked into L1 instruction memory. (less latency) config SCHEDULE_L1 bool "Locate kernel schedule function in L1 Memory" default y depends on !SMP help If enabled, the frequently called kernel schedule is linked into L1 instruction memory. (less latency) config ARITHMETIC_OPS_L1 bool "Locate kernel owned arithmetic functions in L1 Memory" default y depends on !SMP help If enabled, arithmetic functions are linked into L1 instruction memory. (less latency) config ACCESS_OK_L1 bool "Locate access_ok function in L1 Memory" default y depends on !SMP help If enabled, the access_ok function is linked into L1 instruction memory. (less latency) config MEMSET_L1 bool "Locate memset function in L1 Memory" default y depends on !SMP help If enabled, the memset function is linked into L1 instruction memory. (less latency) config MEMCPY_L1 bool "Locate memcpy function in L1 Memory" default y depends on !SMP help If enabled, the memcpy function is linked into L1 instruction memory. (less latency) config STRCMP_L1 bool "locate strcmp function in L1 Memory" default y depends on !SMP help If enabled, the strcmp function is linked into L1 instruction memory (less latency). config STRNCMP_L1 bool "locate strncmp function in L1 Memory" default y depends on !SMP help If enabled, the strncmp function is linked into L1 instruction memory (less latency). config STRCPY_L1 bool "locate strcpy function in L1 Memory" default y depends on !SMP help If enabled, the strcpy function is linked into L1 instruction memory (less latency). config STRNCPY_L1 bool "locate strncpy function in L1 Memory" default y depends on !SMP help If enabled, the strncpy function is linked into L1 instruction memory (less latency). config SYS_BFIN_SPINLOCK_L1 bool "Locate sys_bfin_spinlock function in L1 Memory" default y depends on !SMP help If enabled, sys_bfin_spinlock function is linked into L1 instruction memory. (less latency) config IP_CHECKSUM_L1 bool "Locate IP Checksum function in L1 Memory" default n depends on !SMP help If enabled, the IP Checksum function is linked into L1 instruction memory. (less latency) config CACHELINE_ALIGNED_L1 bool "Locate cacheline_aligned data to L1 Data Memory" default y if !BF54x default n if BF54x depends on !SMP && !BF531 && !CRC32 help If enabled, cacheline_aligned data is linked into L1 data memory. (less latency) config SYSCALL_TAB_L1 bool "Locate Syscall Table L1 Data Memory" default n depends on !SMP && !BF531 help If enabled, the Syscall LUT is linked into L1 data memory. (less latency) config CPLB_SWITCH_TAB_L1 bool "Locate CPLB Switch Tables L1 Data Memory" default n depends on !SMP && !BF531 help If enabled, the CPLB Switch Tables are linked into L1 data memory. (less latency) config ICACHE_FLUSH_L1 bool "Locate icache flush funcs in L1 Inst Memory" default y help If enabled, the Blackfin icache flushing functions are linked into L1 instruction memory. Note that this might be required to address anomalies, but these functions are pretty small, so it shouldn't be too bad. If you are using a processor affected by an anomaly, the build system will double check for you and prevent it. config DCACHE_FLUSH_L1 bool "Locate dcache flush funcs in L1 Inst Memory" default y depends on !SMP help If enabled, the Blackfin dcache flushing functions are linked into L1 instruction memory. config APP_STACK_L1 bool "Support locating application stack in L1 Scratch Memory" default y depends on !SMP help If enabled the application stack can be located in L1 scratch memory (less latency). Currently only works with FLAT binaries. config EXCEPTION_L1_SCRATCH bool "Locate exception stack in L1 Scratch Memory" default n depends on !SMP && !APP_STACK_L1 help Whenever an exception occurs, use the L1 Scratch memory for stack storage. You cannot place the stacks of FLAT binaries in L1 when using this option. If you don't use L1 Scratch, then you should say Y here. comment "Speed Optimizations" config BFIN_INS_LOWOVERHEAD bool "ins[bwl] low overhead, higher interrupt latency" default y depends on !SMP help Reads on the Blackfin are speculative. In Blackfin terms, this means they can be interrupted at any time (even after they have been issued on to the external bus), and re-issued after the interrupt occurs. For memory - this is not a big deal, since memory does not change if it sees a read. If a FIFO is sitting on the end of the read, it will see two reads, when the core only sees one since the FIFO receives both the read which is cancelled (and not delivered to the core) and the one which is re-issued (which is delivered to the core). To solve this, interrupts are turned off before reads occur to I/O space. This option controls which the overhead/latency of controlling interrupts during this time "n" turns interrupts off every read (higher overhead, but lower interrupt latency) "y" turns interrupts off every loop (low overhead, but longer interrupt latency) default behavior is to leave this set to on (type "Y"). If you are experiencing interrupt latency issues, it is safe and OK to turn this off. endmenu choice prompt "Kernel executes from" help Choose the memory type that the kernel will be running in. config RAMKERNEL bool "RAM" help The kernel will be resident in RAM when running. config ROMKERNEL bool "ROM" help The kernel will be resident in FLASH/ROM when running. endchoice # Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both config XIP_KERNEL bool default y depends on ROMKERNEL source "mm/Kconfig" config BFIN_GPTIMERS tristate "Enable Blackfin General Purpose Timers API" default n help Enable support for the General Purpose Timers API. If you are unsure, say N. To compile this driver as a module, choose M here: the module will be called gptimers. choice prompt "Uncached DMA region" default DMA_UNCACHED_1M config DMA_UNCACHED_32M bool "Enable 32M DMA region" config DMA_UNCACHED_16M bool "Enable 16M DMA region" config DMA_UNCACHED_8M bool "Enable 8M DMA region" config DMA_UNCACHED_4M bool "Enable 4M DMA region" config DMA_UNCACHED_2M bool "Enable 2M DMA region" config DMA_UNCACHED_1M bool "Enable 1M DMA region" config DMA_UNCACHED_512K bool "Enable 512K DMA region" config DMA_UNCACHED_256K bool "Enable 256K DMA region" config DMA_UNCACHED_128K bool "Enable 128K DMA region" config DMA_UNCACHED_NONE bool "Disable DMA region" endchoice comment "Cache Support" config BFIN_ICACHE bool "Enable ICACHE" default y config BFIN_EXTMEM_ICACHEABLE bool "Enable ICACHE for external memory" depends on BFIN_ICACHE default y config BFIN_L2_ICACHEABLE bool "Enable ICACHE for L2 SRAM" depends on BFIN_ICACHE depends on (BF54x || BF561 || BF60x) && !SMP default n config BFIN_DCACHE bool "Enable DCACHE" default y config BFIN_DCACHE_BANKA bool "Enable only 16k BankA DCACHE - BankB is SRAM" depends on BFIN_DCACHE && !BF531 default n config BFIN_EXTMEM_DCACHEABLE bool "Enable DCACHE for external memory" depends on BFIN_DCACHE default y choice prompt "External memory DCACHE policy" depends on BFIN_EXTMEM_DCACHEABLE default BFIN_EXTMEM_WRITEBACK if !SMP default BFIN_EXTMEM_WRITETHROUGH if SMP config BFIN_EXTMEM_WRITEBACK bool "Write back" depends on !SMP help Write Back Policy: Cached data will be written back to SDRAM only when needed. This can give a nice increase in performance, but beware of broken drivers that do not properly invalidate/flush their cache. Write Through Policy: Cached data will always be written back to SDRAM when the cache is updated. This is a completely safe setting, but performance is worse than Write Back. If you are unsure of the options and you want to be safe, then go with Write Through. config BFIN_EXTMEM_WRITETHROUGH bool "Write through" help Write Back Policy: Cached data will be written back to SDRAM only when needed. This can give a nice increase in performance, but beware of broken drivers that do not properly invalidate/flush their cache. Write Through Policy: Cached data will always be written back to SDRAM when the cache is updated. This is a completely safe setting, but performance is worse than Write Back. If you are unsure of the options and you want to be safe, then go with Write Through. endchoice config BFIN_L2_DCACHEABLE bool "Enable DCACHE for L2 SRAM" depends on BFIN_DCACHE depends on (BF54x || BF561 || BF60x) && !SMP default n choice prompt "L2 SRAM DCACHE policy" depends on BFIN_L2_DCACHEABLE default BFIN_L2_WRITEBACK config BFIN_L2_WRITEBACK bool "Write back" config BFIN_L2_WRITETHROUGH bool "Write through" endchoice comment "Memory Protection Unit" config MPU bool "Enable the memory protection unit" default n help Use the processor's MPU to protect applications from accessing memory they do not own. This comes at a performance penalty and is recommended only for debugging. comment "Asynchronous Memory Configuration" menu "EBIU_AMGCTL Global Control" depends on !BF60x config C_AMCKEN bool "Enable CLKOUT" default y config C_CDPRIO bool "DMA has priority over core for ext. accesses" default n config C_B0PEN depends on BF561 bool "Bank 0 16 bit packing enable" default y config C_B1PEN depends on BF561 bool "Bank 1 16 bit packing enable" default y config C_B2PEN depends on BF561 bool "Bank 2 16 bit packing enable" default y config C_B3PEN depends on BF561 bool "Bank 3 16 bit packing enable" default n choice prompt "Enable Asynchronous Memory Banks" default C_AMBEN_ALL config C_AMBEN bool "Disable All Banks" config C_AMBEN_B0 bool "Enable Bank 0" config C_AMBEN_B0_B1 bool "Enable Bank 0 & 1" config C_AMBEN_B0_B1_B2 bool "Enable Bank 0 & 1 & 2" config C_AMBEN_ALL bool "Enable All Banks" endchoice endmenu menu "EBIU_AMBCTL Control" depends on !BF60x config BANK_0 hex "Bank 0 (AMBCTL0.L)" default 0x7BB0 help These are the low 16 bits of the EBIU_AMBCTL0 MMR which are used to control the Asynchronous Memory Bank 0 settings. config BANK_1 hex "Bank 1 (AMBCTL0.H)" default 0x7BB0 default 0x5558 if BF54x help These are the high 16 bits of the EBIU_AMBCTL0 MMR which are used to control the Asynchronous Memory Bank 1 settings. config BANK_2 hex "Bank 2 (AMBCTL1.L)" default 0x7BB0 help These are the low 16 bits of the EBIU_AMBCTL1 MMR which are used to control the Asynchronous Memory Bank 2 settings. config BANK_3 hex "Bank 3 (AMBCTL1.H)" default 0x99B3 help These are the high 16 bits of the EBIU_AMBCTL1 MMR which are used to control the Asynchronous Memory Bank 3 settings. endmenu config EBIU_MBSCTLVAL hex "EBIU Bank Select Control Register" depends on BF54x default 0 config EBIU_MODEVAL hex "Flash Memory Mode Control Register" depends on BF54x default 1 config EBIU_FCTLVAL hex "Flash Memory Bank Control Register" depends on BF54x default 6 endmenu ############################################################################# menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" config PCI bool "PCI support" depends on BROKEN help Support for PCI bus. source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu menu "Power management options" source "kernel/power/Kconfig" config ARCH_SUSPEND_POSSIBLE def_bool y choice prompt "Standby Power Saving Mode" depends on PM && !BF60x default PM_BFIN_SLEEP_DEEPER config PM_BFIN_SLEEP_DEEPER bool "Sleep Deeper" help Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic power dissipation by disabling the clock to the processor core (CCLK). Furthermore, Standby sets the internal power supply voltage (VDDINT) to 0.85 V to provide the greatest power savings, while preserving the processor state. The PLL and system clock (SCLK) continue to operate at a very low frequency of about 3.3 MHz. To preserve data integrity in the SDRAM, the SDRAM is put into Self Refresh Mode. Typically an external event such as GPIO interrupt or RTC activity wakes up the processor. Various Peripherals such as UART, SPORT, PPI may not function as normal during Sleep Deeper, due to the reduced SCLK frequency. When in the sleep mode, system DMA access to L1 memory is not supported. If unsure, select "Sleep Deeper". config PM_BFIN_SLEEP bool "Sleep" help Sleep Mode (High Power Savings) - The sleep mode reduces power dissipation by disabling the clock to the processor core (CCLK). The PLL and system clock (SCLK), however, continue to operate in this mode. Typically an external event or RTC activity will wake up the processor. When in the sleep mode, system DMA access to L1 memory is not supported. If unsure, select "Sleep Deeper". endchoice comment "Possible Suspend Mem / Hibernate Wake-Up Sources" depends on PM config PM_BFIN_WAKE_PH6 bool "Allow Wake-Up from on-chip PHY or PH6 GP" depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537) default n help Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up) config PM_BFIN_WAKE_GP bool "Allow Wake-Up from GPIOs" depends on PM && BF54x default n help Enable General-Purpose Wake-Up (Voltage Regulator Power-Up) (all processors, except ADSP-BF549). This option sets the general-purpose wake-up enable (GPWE) control bit to enable wake-up upon detection of an active low signal on the /GPW (PH7) pin. On ADSP-BF549 this option enables the same functionality on the /MRXON pin also PH7. config PM_BFIN_WAKE_PA15 bool "Allow Wake-Up from PA15" depends on PM && BF60x default n help Enable PA15 Wake-Up config PM_BFIN_WAKE_PA15_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PA15 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PB15 bool "Allow Wake-Up from PB15" depends on PM && BF60x default n help Enable PB15 Wake-Up config PM_BFIN_WAKE_PB15_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PB15 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PC15 bool "Allow Wake-Up from PC15" depends on PM && BF60x default n help Enable PC15 Wake-Up config PM_BFIN_WAKE_PC15_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PC15 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PD06 bool "Allow Wake-Up from PD06(ETH0_PHYINT)" depends on PM && BF60x default n help Enable PD06(ETH0_PHYINT) Wake-up config PM_BFIN_WAKE_PD06_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PD06 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PE12 bool "Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON)" depends on PM && BF60x default n help Enable PE12(ETH1_PHYINT, PUSH BUTTON) Wake-up config PM_BFIN_WAKE_PE12_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PE12 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PG04 bool "Allow Wake-Up from PG04(CAN0_RX)" depends on PM && BF60x default n help Enable PG04(CAN0_RX) Wake-up config PM_BFIN_WAKE_PG04_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PG04 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_PG13 bool "Allow Wake-Up from PG13" depends on PM && BF60x default n help Enable PG13 Wake-Up config PM_BFIN_WAKE_PG13_POL int "Wake-up priority" depends on PM_BFIN_WAKE_PG13 default 0 help Wake-Up priority 0(low) 1(high) config PM_BFIN_WAKE_USB bool "Allow Wake-Up from (USB)" depends on PM && BF60x default n help Enable (USB) Wake-up config PM_BFIN_WAKE_USB_POL int "Wake-up priority" depends on PM_BFIN_WAKE_USB default 0 help Wake-Up priority 0(low) 1(high) endmenu menu "CPU Frequency scaling" source "drivers/cpufreq/Kconfig" config BFIN_CPU_FREQ bool depends on CPU_FREQ default y config CPU_VOLTAGE bool "CPU Voltage scaling" depends on CPU_FREQ default n help Say Y here if you want CPU voltage scaling according to the CPU frequency. This option violates the PLL BYPASS recommendation in the Blackfin Processor manuals. There is a theoretical risk that during VDDINT transitions the PLL may unlock. endmenu source "net/Kconfig" source "drivers/Kconfig" source "drivers/firmware/Kconfig" source "fs/Kconfig" source "arch/blackfin/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" config BF51x def_bool y depends on (BF512 || BF514 || BF516 || BF518) if (BF51x) source "arch/blackfin/mach-bf518/boards/Kconfig" menu "BF518 Specific Configuration" comment "Alternative Multiplexing Scheme" choice prompt "PWM Channel Pins" default BF518_PWM_ALL_PORTF help Select pins used for the PWM channels: PWM_AH PWM_AL PWM_BH PWM_BL PWM_CH PWM_CL See the Hardware Reference Manual for more details. config BF518_PWM_ALL_PORTF bool "PF1 - PF6" help PF{1,2,3,4,5,6} <-> PWM_{AH,AL,BH,BL,CH,CL} config BF518_PWM_PORTF_PORTG bool "PF11 - PF14 / PG1 - PG2" help PF{11,12,13,14} <-> PWM_{AH,AL,BH,BL} PG{1,2} <-> PWM_{CH,CL} endchoice choice prompt "PWM Sync Pin" default BF518_PWM_SYNC_PF7 help Select the pin used for PWM_SYNC. See the Hardware Reference Manual for more details. config BF518_PWM_SYNC_PF7 bool "PF7" config BF518_PWM_SYNC_PF15 bool "PF15" endchoice choice prompt "PWM Trip B Pin" default BF518_PWM_TRIPB_PG10 help Select the pin used for PWM_TRIPB. See the Hardware Reference Manual for more details. config BF518_PWM_TRIPB_PG10 bool "PG10" config BF518_PWM_TRIPB_PG14 bool "PG14" endchoice choice prompt "PPI / Timer Pins" default BF518_PPI_TMR_PG5 help Select pins used for PPI/Timer: PPICLK PPIFS1 PPIFS2 TMRCLK TMR0 TMR1 See the Hardware Reference Manual for more details. config BF518_PPI_TMR_PG5 bool "PG5 - PG7" help PG{5,6,7} <-> {PPICLK/TMRCLK,TMR0/PPIFS1,TMR1/PPIFS2} config BF518_PPI_TMR_PG12 bool "PG12 - PG14" help PG{12,13,14} <-> {PPICLK/TMRCLK,TMR0/PPIFS1,TMR1/PPIFS2} endchoice comment "Hysteresis/Schmitt Trigger Control" config BFIN_HYSTERESIS_CONTROL bool "Enable Hysteresis Control" help The ADSP-BF51x allows to control input hysteresis for Port F, Port G and Port H and other processor signal inputs. The Schmitt trigger enables can be set only for pin groups. Saying Y will overwrite the default reset or boot loader initialization. menu "PORT F" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTF_0_7 bool "Enable Hysteresis on PORTF {0...7}" config GPIO_HYST_PORTF_8_9 bool "Enable Hysteresis on PORTF {8, 9}" config GPIO_HYST_PORTF_10 bool "Enable Hysteresis on PORTF 10" config GPIO_HYST_PORTF_11 bool "Enable Hysteresis on PORTF 11" config GPIO_HYST_PORTF_12_13 bool "Enable Hysteresis on PORTF {12, 13}" config GPIO_HYST_PORTF_14_15 bool "Enable Hysteresis on PORTF {14, 15}" endmenu menu "PORT G" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTG_0 bool "Enable Hysteresis on PORTG 0" config GPIO_HYST_PORTG_1_4 bool "Enable Hysteresis on PORTG {1...4}" config GPIO_HYST_PORTG_5_6 bool "Enable Hysteresis on PORTG {5, 6}" config GPIO_HYST_PORTG_7_8 bool "Enable Hysteresis on PORTG {7, 8}" config GPIO_HYST_PORTG_9 bool "Enable Hysteresis on PORTG 9" config GPIO_HYST_PORTG_10 bool "Enable Hysteresis on PORTG 10" config GPIO_HYST_PORTG_11_13 bool "Enable Hysteresis on PORTG {11...13}" config GPIO_HYST_PORTG_14_15 bool "Enable Hysteresis on PORTG {14, 15}" endmenu menu "PORT H" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTH_0_7 bool "Enable Hysteresis on PORTH {0...7}" endmenu menu "None-GPIO" depends on BFIN_HYSTERESIS_CONTROL config NONEGPIO_HYST_NMI_RST_BMODE bool "Enable Hysteresis on {NMI, RESET, BMODE}" config NONEGPIO_HYST_JTAG bool "Enable Hysteresis on JTAG" endmenu comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "IRQ_PLL_WAKEUP" default 7 config IRQ_DMA0_ERROR int "IRQ_DMA0_ERROR" default 7 config IRQ_DMAR0_BLK int "IRQ_DMAR0_BLK" default 7 config IRQ_DMAR1_BLK int "IRQ_DMAR1_BLK" default 7 config IRQ_DMAR0_OVR int "IRQ_DMAR0_OVR" default 7 config IRQ_DMAR1_OVR int "IRQ_DMAR1_OVR" default 7 config IRQ_PPI_ERROR int "IRQ_PPI_ERROR" default 7 config IRQ_MAC_ERROR int "IRQ_MAC_ERROR" default 7 config IRQ_SPORT0_ERROR int "IRQ_SPORT0_ERROR" default 7 config IRQ_SPORT1_ERROR int "IRQ_SPORT1_ERROR" default 7 config IRQ_PTP_ERROR int "IRQ_PTP_ERROR" default 7 config IRQ_UART0_ERROR int "IRQ_UART0_ERROR" default 7 config IRQ_UART1_ERROR int "IRQ_UART1_ERROR" default 7 config IRQ_RTC int "IRQ_RTC" default 8 config IRQ_PPI int "IRQ_PPI" default 8 config IRQ_SPORT0_RX int "IRQ_SPORT0_RX" default 9 config IRQ_SPORT0_TX int "IRQ_SPORT0_TX" default 9 config IRQ_SPORT1_RX int "IRQ_SPORT1_RX" default 9 config IRQ_SPORT1_TX int "IRQ_SPORT1_TX" default 9 config IRQ_TWI int "IRQ_TWI" default 10 config IRQ_SPI0 int "IRQ_SPI" default 10 config IRQ_UART0_RX int "IRQ_UART0_RX" default 10 config IRQ_UART0_TX int "IRQ_UART0_TX" default 10 config IRQ_UART1_RX int "IRQ_UART1_RX" default 10 config IRQ_UART1_TX int "IRQ_UART1_TX" default 10 config IRQ_OPTSEC int "IRQ_OPTSEC" default 11 config IRQ_CNT int "IRQ_CNT" default 11 config IRQ_MAC_RX int "IRQ_MAC_RX" default 11 config IRQ_PORTH_INTA int "IRQ_PORTH_INTA" default 11 config IRQ_MAC_TX int "IRQ_MAC_TX/NFC" default 11 config IRQ_PORTH_INTB int "IRQ_PORTH_INTB" default 11 config IRQ_TIMER0 int "IRQ_TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "IRQ_TIMER1" default 12 config IRQ_TIMER2 int "IRQ_TIMER2" default 12 config IRQ_TIMER3 int "IRQ_TIMER3" default 12 config IRQ_TIMER4 int "IRQ_TIMER4" default 12 config IRQ_TIMER5 int "IRQ_TIMER5" default 12 config IRQ_TIMER6 int "IRQ_TIMER6" default 12 config IRQ_TIMER7 int "IRQ_TIMER7" default 12 config IRQ_PORTG_INTA int "IRQ_PORTG_INTA" default 12 config IRQ_PORTG_INTB int "IRQ_PORTG_INTB" default 12 config IRQ_MEM_DMA0 int "IRQ_MEM_DMA0" default 13 config IRQ_MEM_DMA1 int "IRQ_MEM_DMA1" default 13 config IRQ_WATCH int "IRQ_WATCH" default 13 config IRQ_PORTF_INTA int "IRQ_PORTF_INTA" default 13 config IRQ_PORTF_INTB int "IRQ_PORTF_INTB" default 13 config IRQ_SPI0_ERROR int "IRQ_SPI0_ERROR" default 7 config IRQ_SPI1_ERROR int "IRQ_SPI1_ERROR" default 7 config IRQ_RSI_INT0 int "IRQ_RSI_INT0" default 7 config IRQ_RSI_INT1 int "IRQ_RSI_INT1" default 7 config IRQ_PWM_TRIP int "IRQ_PWM_TRIP" default 10 config IRQ_PWM_SYNC int "IRQ_PWM_SYNC" default 10 config IRQ_PTP_STAT int "IRQ_PTP_STAT" default 10 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN518F_EZBRD help Select your board! config BFIN518F_EZBRD bool "BF518F-EZBRD" help BF518-EZBRD board support. config BFIN518F_TCM bool "Bluetechnix TCM-BF518" help Bluetechnix TCM-BF518 board support. endchoice config BF52x def_bool y depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527) if (BF52x) source "arch/blackfin/mach-bf527/boards/Kconfig" menu "BF527 Specific Configuration" comment "Alternative Multiplexing Scheme" choice prompt "SPORT0" default BF527_SPORT0_PORTG help Select PORT used for SPORT0. See Hardware Reference Manual config BF527_SPORT0_PORTF bool "PORT F" help PORT F config BF527_SPORT0_PORTG bool "PORT G" help PORT G endchoice choice prompt "SPORT0 TSCLK Location" depends on BF527_SPORT0_PORTG default BF527_SPORT0_TSCLK_PG10 help Select PIN used for SPORT0_TSCLK. See Hardware Reference Manual config BF527_SPORT0_TSCLK_PG10 bool "PORT PG10" help PORT PG10 config BF527_SPORT0_TSCLK_PG14 bool "PORT PG14" help PORT PG14 endchoice choice prompt "UART1" default BF527_UART1_PORTF help Select PORT used for UART1. See Hardware Reference Manual config BF527_UART1_PORTF bool "PORT F" help PORT F config BF527_UART1_PORTG bool "PORT G" help PORT G endchoice choice prompt "NAND (NFC) Data" default BF527_NAND_D_PORTH help Select PORT used for NAND Data Bus. See Hardware Reference Manual config BF527_NAND_D_PORTF bool "PORT F" help PORT F config BF527_NAND_D_PORTH bool "PORT H" help PORT H endchoice comment "Hysteresis/Schmitt Trigger Control" config BFIN_HYSTERESIS_CONTROL bool "Enable Hysteresis Control" help The ADSP-BF52x allows to control input hysteresis for Port F, Port G and Port H and other processor signal inputs. The Schmitt trigger enables can be set only for pin groups. Saying Y will overwrite the default reset or boot loader initialization. menu "PORT F" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTF_0_7 bool "Enable Hysteresis on PORTF {0...7}" config GPIO_HYST_PORTF_8_9 bool "Enable Hysteresis on PORTF {8, 9}" config GPIO_HYST_PORTF_10 bool "Enable Hysteresis on PORTF 10" config GPIO_HYST_PORTF_11 bool "Enable Hysteresis on PORTF 11" config GPIO_HYST_PORTF_12_13 bool "Enable Hysteresis on PORTF {12, 13}" config GPIO_HYST_PORTF_14_15 bool "Enable Hysteresis on PORTF {14, 15}" endmenu menu "PORT G" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTG_0 bool "Enable Hysteresis on PORTG 0" config GPIO_HYST_PORTG_1_4 bool "Enable Hysteresis on PORTG {1...4}" config GPIO_HYST_PORTG_5_6 bool "Enable Hysteresis on PORTG {5, 6}" config GPIO_HYST_PORTG_7_8 bool "Enable Hysteresis on PORTG {7, 8}" config GPIO_HYST_PORTG_9 bool "Enable Hysteresis on PORTG 9" config GPIO_HYST_PORTG_10 bool "Enable Hysteresis on PORTG 10" config GPIO_HYST_PORTG_11_13 bool "Enable Hysteresis on PORTG {11...13}" config GPIO_HYST_PORTG_14_15 bool "Enable Hysteresis on PORTG {14, 15}" endmenu menu "PORT H" depends on BFIN_HYSTERESIS_CONTROL config GPIO_HYST_PORTH_0_7 bool "Enable Hysteresis on PORTH {0...7}" config GPIO_HYST_PORTH_8 bool "Enable Hysteresis on PORTH 8" config GPIO_HYST_PORTH_9_15 bool "Enable Hysteresis on PORTH {9...15}" endmenu menu "None-GPIO" depends on BFIN_HYSTERESIS_CONTROL config NONEGPIO_HYST_TMR0_FS1_PPICLK bool "Enable Hysteresis on {TMR0, PPI_FS1, PPI_CLK}" config NONEGPIO_HYST_NMI_RST_BMODE bool "Enable Hysteresis on {NMI, RESET, BMODE}" config NONEGPIO_HYST_JTAG bool "Enable Hysteresis on JTAG" endmenu comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "IRQ_PLL_WAKEUP" default 7 config IRQ_DMA0_ERROR int "IRQ_DMA0_ERROR" default 7 config IRQ_DMAR0_BLK int "IRQ_DMAR0_BLK" default 7 config IRQ_DMAR1_BLK int "IRQ_DMAR1_BLK" default 7 config IRQ_DMAR0_OVR int "IRQ_DMAR0_OVR" default 7 config IRQ_DMAR1_OVR int "IRQ_DMAR1_OVR" default 7 config IRQ_PPI_ERROR int "IRQ_PPI_ERROR" default 7 config IRQ_MAC_ERROR int "IRQ_MAC_ERROR" default 7 config IRQ_SPORT0_ERROR int "IRQ_SPORT0_ERROR" default 7 config IRQ_SPORT1_ERROR int "IRQ_SPORT1_ERROR" default 7 config IRQ_UART0_ERROR int "IRQ_UART0_ERROR" default 7 config IRQ_UART1_ERROR int "IRQ_UART1_ERROR" default 7 config IRQ_RTC int "IRQ_RTC" default 8 config IRQ_PPI int "IRQ_PPI" default 8 config IRQ_SPORT0_RX int "IRQ_SPORT0_RX" default 9 config IRQ_SPORT0_TX int "IRQ_SPORT0_TX" default 9 config IRQ_SPORT1_RX int "IRQ_SPORT1_RX" default 9 config IRQ_SPORT1_TX int "IRQ_SPORT1_TX" default 9 config IRQ_TWI int "IRQ_TWI" default 10 config IRQ_SPI int "IRQ_SPI" default 10 config IRQ_UART0_RX int "IRQ_UART0_RX" default 10 config IRQ_UART0_TX int "IRQ_UART0_TX" default 10 config IRQ_UART1_RX int "IRQ_UART1_RX" default 10 config IRQ_UART1_TX int "IRQ_UART1_TX" default 10 config IRQ_OPTSEC int "IRQ_OPTSEC" default 11 config IRQ_CNT int "IRQ_CNT" default 11 config IRQ_MAC_RX int "IRQ_MAC_RX" default 11 config IRQ_PORTH_INTA int "IRQ_PORTH_INTA" default 11 config IRQ_MAC_TX int "IRQ_MAC_TX/NFC" default 11 config IRQ_PORTH_INTB int "IRQ_PORTH_INTB" default 11 config IRQ_TIMER0 int "IRQ_TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "IRQ_TIMER1" default 12 config IRQ_TIMER2 int "IRQ_TIMER2" default 12 config IRQ_TIMER3 int "IRQ_TIMER3" default 12 config IRQ_TIMER4 int "IRQ_TIMER4" default 12 config IRQ_TIMER5 int "IRQ_TIMER5" default 12 config IRQ_TIMER6 int "IRQ_TIMER6" default 12 config IRQ_TIMER7 int "IRQ_TIMER7" default 12 config IRQ_PORTG_INTA int "IRQ_PORTG_INTA" default 12 config IRQ_PORTG_INTB int "IRQ_PORTG_INTB" default 12 config IRQ_MEM_DMA0 int "IRQ_MEM_DMA0" default 13 config IRQ_MEM_DMA1 int "IRQ_MEM_DMA1" default 13 config IRQ_WATCH int "IRQ_WATCH" default 13 config IRQ_PORTF_INTA int "IRQ_PORTF_INTA" default 13 config IRQ_PORTF_INTB int "IRQ_PORTF_INTB" default 13 config IRQ_SPI_ERROR int "IRQ_SPI_ERROR" default 7 config IRQ_NFC_ERROR int "IRQ_NFC_ERROR" default 7 config IRQ_HDMA_ERROR int "IRQ_HDMA_ERROR" default 7 config IRQ_HDMA int "IRQ_HDMA" default 7 config IRQ_USB_EINT int "IRQ_USB_EINT" default 10 config IRQ_USB_INT0 int "IRQ_USB_INT0" default 10 config IRQ_USB_INT1 int "IRQ_USB_INT1" default 10 config IRQ_USB_INT2 int "IRQ_USB_INT2" default 10 config IRQ_USB_DMA int "IRQ_USB_DMA" default 10 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN527_EZKIT help Select your board! config BFIN527_EZKIT bool "BF527-EZKIT" help BF527-EZKIT-LITE board support. config BFIN527_EZKIT_V2 bool "BF527-EZKIT-V2" help BF527-EZKIT-LITE V2.1+ board support. config BFIN527_BLUETECHNIX_CM bool "Bluetechnix CM-BF527" help CM-BF527 support for EVAL- and DEV-Board. config BFIN526_EZBRD bool "BF526-EZBRD" help BF526-EZBRD/EZKIT Lite board support. config BFIN527_AD7160EVAL bool "BF527-AD7160-EVAL" help BF527-AD7160-EVAL board support. config BFIN527_TLL6527M bool "The Learning Labs TLL6527M" help TLL6527M V1.0 platform support endchoice if (BF533 || BF532 || BF531) source "arch/blackfin/mach-bf533/boards/Kconfig" menu "BF533/2/1 Specific Configuration" comment "Interrupt Priority Assignment" menu "Priority" config UART_ERROR int "UART ERROR" default 7 config SPORT0_ERROR int "SPORT0 ERROR" default 7 config SPI_ERROR int "SPI ERROR" default 7 config SPORT1_ERROR int "SPORT1 ERROR" default 7 config PPI_ERROR int "PPI ERROR" default 7 config DMA_ERROR int "DMA ERROR" default 7 config PLLWAKE_ERROR int "PLL WAKEUP ERROR" default 7 config RTC_ERROR int "RTC ERROR" default 8 config DMA0_PPI int "DMA0 PPI" default 8 config DMA1_SPORT0RX int "DMA1 (SPORT0 RX)" default 9 config DMA2_SPORT0TX int "DMA2 (SPORT0 TX)" default 9 config DMA3_SPORT1RX int "DMA3 (SPORT1 RX)" default 9 config DMA4_SPORT1TX int "DMA4 (SPORT1 TX)" default 9 config DMA5_SPI int "DMA5 (SPI)" default 10 config DMA6_UARTRX int "DMA6 (UART0 RX)" default 10 config DMA7_UARTTX int "DMA7 (UART0 TX)" default 10 config TIMER0 int "TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config TIMER1 int "TIMER1" default 11 config TIMER2 int "TIMER2" default 11 config PFA int "PF Interrupt A" default 12 config PFB int "PF Interrupt B" default 12 config MEMDMA0 int "MEMORY DMA0" default 13 config MEMDMA1 int "MEMORY DMA1" default 13 config WDTIMER int "WATCH DOG TIMER" default 13 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN533_STAMP help Select your board! config BFIN533_EZKIT bool "BF533-EZKIT" help BF533-EZKIT-LITE board support. config BFIN533_STAMP bool "BF533-STAMP" help BF533-STAMP board support. config BLACKSTAMP bool "BlackStamp" help Support for the BlackStamp board. Hardware info available at http://blackfin.uclinux.org/gf/project/blackstamp/ config BFIN533_BLUETECHNIX_CM bool "Bluetechnix CM-BF533" depends on (BF533) help CM-BF533 support for EVAL- and DEV-Board. config H8606_HVSISTEMAS bool "HV Sistemas H8606" depends on (BF532) help HV Sistemas H8606 board support. config BFIN532_IP0X bool "IP04/IP08 IP-PBX" depends on (BF532) help Core support for IP04/IP04 open hardware IP-PBX. endchoice if (BF537 || BF534 || BF536) source "arch/blackfin/mach-bf537/boards/Kconfig" menu "BF537 Specific Configuration" comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "IRQ_PLL_WAKEUP" default 7 config IRQ_DMA_ERROR int "IRQ_DMA_ERROR Generic" default 7 config IRQ_ERROR int "IRQ_ERROR: PPI CAN MAC SPORT0 SPORT1 SPI UART0 UART1" default 11 config IRQ_RTC int "IRQ_RTC" default 8 config IRQ_PPI int "IRQ_PPI" default 8 config IRQ_SPORT0_RX int "IRQ_SPORT0_RX" default 9 config IRQ_SPORT0_TX int "IRQ_SPORT0_TX" default 9 config IRQ_SPORT1_RX int "IRQ_SPORT1_RX" default 9 config IRQ_SPORT1_TX int "IRQ_SPORT1_TX" default 9 config IRQ_TWI int "IRQ_TWI" default 10 config IRQ_SPI int "IRQ_SPI" default 10 config IRQ_UART0_RX int "IRQ_UART0_RX" default 10 config IRQ_UART0_TX int "IRQ_UART0_TX" default 10 config IRQ_UART1_RX int "IRQ_UART1_RX" default 10 config IRQ_UART1_TX int "IRQ_UART1_TX" default 10 config IRQ_CAN_RX int "IRQ_CAN_RX" default 11 config IRQ_CAN_TX int "IRQ_CAN_TX" default 11 config IRQ_MAC_RX int "IRQ_MAC_RX" default 11 config IRQ_MAC_TX int "IRQ_MAC_TX" default 11 config IRQ_TIMER0 int "IRQ_TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "IRQ_TIMER1" default 12 config IRQ_TIMER2 int "IRQ_TIMER2" default 12 config IRQ_TIMER3 int "IRQ_TIMER3" default 12 config IRQ_TIMER4 int "IRQ_TIMER4" default 12 config IRQ_TIMER5 int "IRQ_TIMER5" default 12 config IRQ_TIMER6 int "IRQ_TIMER6" default 12 config IRQ_TIMER7 int "IRQ_TIMER7" default 12 config IRQ_PROG_INTA int "IRQ_PROG_INTA" default 12 config IRQ_PORTG_INTB int "IRQ_PORTG_INTB" default 12 config IRQ_MEM_DMA0 int "IRQ_MEM_DMA0" default 13 config IRQ_MEM_DMA1 int "IRQ_MEM_DMA1" default 13 config IRQ_WATCH int "IRQ_WATCH" default 13 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN537_STAMP help Select your board! config BFIN537_STAMP bool "BF537-STAMP" help BF537-STAMP board support. config BFIN537_BLUETECHNIX_CM_E bool "Bluetechnix CM-BF537E" depends on (BF537) help CM-BF537E support for EVAL- and DEV-Board. config BFIN537_BLUETECHNIX_CM_U bool "Bluetechnix CM-BF537U" depends on (BF537) help CM-BF537U support for EVAL- and DEV-Board. config BFIN537_BLUETECHNIX_TCM bool "Bluetechnix TCM-BF537" depends on (BF537) help TCM-BF537 support for EVAL- and DEV-Board. config PNAV10 bool "PNAV board" depends on (BF537) help PNAV board support. config CAMSIG_MINOTAUR bool "Cambridge Signal Processing LTD Minotaur" depends on (BF537) help Board supply package for CSP Minotaur config DNP5370 bool "SSV Dil/NetPC DNP/5370" depends on (BF537) help Board supply package for DNP/5370 DIL64 module endchoice if (BF538 || BF539) source "arch/blackfin/mach-bf538/boards/Kconfig" menu "BF538 Specific Configuration" comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "IRQ_PLL_WAKEUP" default 7 config IRQ_DMA0_ERROR int "IRQ_DMA0_ERROR" default 7 config IRQ_PPI_ERROR int "IRQ_PPI_ERROR" default 7 config IRQ_SPORT0_ERROR int "IRQ_SPORT0_ERROR" default 7 config IRQ_SPORT1_ERROR int "IRQ_SPORT1_ERROR" default 7 config IRQ_SPI0_ERROR int "IRQ_SPI0_ERROR" default 7 config IRQ_UART0_ERROR int "IRQ_UART0_ERROR" default 7 config IRQ_RTC int "IRQ_RTC" default 8 config IRQ_PPI int "IRQ_PPI" default 8 config IRQ_SPORT0_RX int "IRQ_SPORT0_RX" default 9 config IRQ_SPORT0_TX int "IRQ_SPORT0_TX" default 9 config IRQ_SPORT1_RX int "IRQ_SPORT1_RX" default 9 config IRQ_SPORT1_TX int "IRQ_SPORT1_TX" default 9 config IRQ_SPI0 int "IRQ_SPI0" default 10 config IRQ_UART0_RX int "IRQ_UART0_RX" default 10 config IRQ_UART0_TX int "IRQ_UART0_TX" default 10 config IRQ_TIMER0 int "IRQ_TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "IRQ_TIMER1" default 11 config IRQ_TIMER2 int "IRQ_TIMER2" default 11 config IRQ_PORTF_INTA int "IRQ_PORTF_INTA" default 12 config IRQ_PORTF_INTB int "IRQ_PORTF_INTB" default 12 config IRQ_MEM0_DMA0 int "IRQ_MEM0_DMA0" default 13 config IRQ_MEM0_DMA1 int "IRQ_MEM0_DMA1" default 13 config IRQ_WATCH int "IRQ_WATCH" default 13 config IRQ_DMA1_ERROR int "IRQ_DMA1_ERROR" default 7 config IRQ_SPORT2_ERROR int "IRQ_SPORT2_ERROR" default 7 config IRQ_SPORT3_ERROR int "IRQ_SPORT3_ERROR" default 7 config IRQ_SPI1_ERROR int "IRQ_SPI1_ERROR" default 7 config IRQ_SPI2_ERROR int "IRQ_SPI2_ERROR" default 7 config IRQ_UART1_ERROR int "IRQ_UART1_ERROR" default 7 config IRQ_UART2_ERROR int "IRQ_UART2_ERROR" default 7 config IRQ_CAN_ERROR int "IRQ_CAN_ERROR" default 7 config IRQ_SPORT2_RX int "IRQ_SPORT2_RX" default 9 config IRQ_SPORT2_TX int "IRQ_SPORT2_TX" default 9 config IRQ_SPORT3_RX int "IRQ_SPORT3_RX" default 9 config IRQ_SPORT3_TX int "IRQ_SPORT3_TX" default 9 config IRQ_SPI1 int "IRQ_SPI1" default 10 config IRQ_SPI2 int "IRQ_SPI2" default 10 config IRQ_UART1_RX int "IRQ_UART1_RX" default 10 config IRQ_UART1_TX int "IRQ_UART1_TX" default 10 config IRQ_UART2_RX int "IRQ_UART2_RX" default 10 config IRQ_UART2_TX int "IRQ_UART2_TX" default 10 config IRQ_TWI0 int "IRQ_TWI0" default 11 config IRQ_TWI1 int "IRQ_TWI1" default 11 config IRQ_CAN_RX int "IRQ_CAN_RX" default 11 config IRQ_CAN_TX int "IRQ_CAN_TX" default 11 config IRQ_MEM1_DMA0 int "IRQ_MEM1_DMA0" default 13 config IRQ_MEM1_DMA1 int "IRQ_MEM1_DMA1" default 13 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN538_EZKIT help Select your board! config BFIN538_EZKIT bool "BF538-EZKIT" help BF538-EZKIT-LITE board support. endchoice config BF542 def_bool y depends on BF542_std || BF542M config BF544 def_bool y depends on BF544_std || BF544M config BF547 def_bool y depends on BF547_std || BF547M config BF548 def_bool y depends on BF548_std || BF548M config BF549 def_bool y depends on BF549_std || BF549M config BF54xM def_bool y depends on (BF542M || BF544M || BF547M || BF548M || BF549M) config BF54x def_bool y depends on (BF542 || BF544 || BF547 || BF548 || BF549) if (BF54x) source "arch/blackfin/mach-bf548/boards/Kconfig" menu "BF548 Specific Configuration" config DEB_DMA_URGENT bool "DMA has priority over core for ext. accesses" depends on BF54x default y help Treat any DEB1, DEB2 and DEB3 request as Urgent config BF548_ATAPI_ALTERNATIVE_PORT bool "BF548 ATAPI alternative port via GPIO" help BF548 ATAPI data and address PINs can be routed through async address or GPIO port F and G. Select y to route it to GPIO. choice prompt "UART2 DMA channel selection" depends on SERIAL_BFIN_UART2 default UART2_DMA_RX_ON_DMA18 help UART2 DMA channel selection RX -> DMA18 TX -> DMA19 or RX -> DMA13 TX -> DMA14 config UART2_DMA_RX_ON_DMA18 bool "UART2 DMA RX -> DMA18 TX -> DMA19" help UART2 DMA channel assignment RX -> DMA18 TX -> DMA19 use SPORT2 default DMA channel config UART2_DMA_RX_ON_DMA13 bool "UART2 DMA RX -> DMA13 TX -> DMA14" help UART2 DMA channel assignment RX -> DMA13 TX -> DMA14 use EPPI1 EPPI2 default DMA channel endchoice choice prompt "UART3 DMA channel selection" depends on SERIAL_BFIN_UART3 default UART3_DMA_RX_ON_DMA20 help UART3 DMA channel selection RX -> DMA20 TX -> DMA21 or RX -> DMA15 TX -> DMA16 config UART3_DMA_RX_ON_DMA20 bool "UART3 DMA RX -> DMA20 TX -> DMA21" help UART3 DMA channel assignment RX -> DMA20 TX -> DMA21 use SPORT3 default DMA channel config UART3_DMA_RX_ON_DMA15 bool "UART3 DMA RX -> DMA15 TX -> DMA16" help UART3 DMA channel assignment RX -> DMA15 TX -> DMA16 use PIXC default DMA channel endchoice comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "IRQ_PLL_WAKEUP" default 7 config IRQ_DMAC0_ERR int "IRQ_DMAC0_ERR" default 7 config IRQ_EPPI0_ERR int "IRQ_EPPI0_ERR" default 7 config IRQ_SPORT0_ERR int "IRQ_SPORT0_ERR" default 7 config IRQ_SPORT1_ERR int "IRQ_SPORT1_ERR" default 7 config IRQ_SPI0_ERR int "IRQ_SPI0_ERR" default 7 config IRQ_UART0_ERR int "IRQ_UART0_ERR" default 7 config IRQ_RTC int "IRQ_RTC" default 8 config IRQ_EPPI0 int "IRQ_EPPI0" default 8 config IRQ_SPORT0_RX int "IRQ_SPORT0_RX" default 9 config IRQ_SPORT0_TX int "IRQ_SPORT0_TX" default 9 config IRQ_SPORT1_RX int "IRQ_SPORT1_RX" default 9 config IRQ_SPORT1_TX int "IRQ_SPORT1_TX" default 9 config IRQ_SPI0 int "IRQ_SPI0" default 10 config IRQ_UART0_RX int "IRQ_UART0_RX" default 10 config IRQ_UART0_TX int "IRQ_UART0_TX" default 10 config IRQ_TIMER8 int "IRQ_TIMER8" default 11 config IRQ_TIMER9 int "IRQ_TIMER9" default 11 config IRQ_TIMER10 int "IRQ_TIMER10" default 11 config IRQ_PINT0 int "IRQ_PINT0" default 12 config IRQ_PINT1 int "IRQ_PINT0" default 12 config IRQ_MDMAS0 int "IRQ_MDMAS0" default 13 config IRQ_MDMAS1 int "IRQ_DMDMAS1" default 13 config IRQ_WATCHDOG int "IRQ_WATCHDOG" default 13 config IRQ_DMAC1_ERR int "IRQ_DMAC1_ERR" default 7 config IRQ_SPORT2_ERR int "IRQ_SPORT2_ERR" default 7 config IRQ_SPORT3_ERR int "IRQ_SPORT3_ERR" default 7 config IRQ_MXVR_DATA int "IRQ MXVR Data" default 7 config IRQ_SPI1_ERR int "IRQ_SPI1_ERR" default 7 config IRQ_SPI2_ERR int "IRQ_SPI2_ERR" default 7 config IRQ_UART1_ERR int "IRQ_UART1_ERR" default 7 config IRQ_UART2_ERR int "IRQ_UART2_ERR" default 7 config IRQ_CAN0_ERR int "IRQ_CAN0_ERR" default 7 config IRQ_SPORT2_RX int "IRQ_SPORT2_RX" default 9 config IRQ_SPORT2_TX int "IRQ_SPORT2_TX" default 9 config IRQ_SPORT3_RX int "IRQ_SPORT3_RX" default 9 config IRQ_SPORT3_TX int "IRQ_SPORT3_TX" default 9 config IRQ_EPPI1 int "IRQ_EPPI1" default 9 config IRQ_EPPI2 int "IRQ_EPPI2" default 9 config IRQ_SPI1 int "IRQ_SPI1" default 10 config IRQ_SPI2 int "IRQ_SPI2" default 10 config IRQ_UART1_RX int "IRQ_UART1_RX" default 10 config IRQ_UART1_TX int "IRQ_UART1_TX" default 10 config IRQ_ATAPI_RX int "IRQ_ATAPI_RX" default 10 config IRQ_ATAPI_TX int "IRQ_ATAPI_TX" default 10 config IRQ_TWI0 int "IRQ_TWI0" default 11 config IRQ_TWI1 int "IRQ_TWI1" default 11 config IRQ_CAN0_RX int "IRQ_CAN_RX" default 11 config IRQ_CAN0_TX int "IRQ_CAN_TX" default 11 config IRQ_MDMAS2 int "IRQ_MDMAS2" default 13 config IRQ_MDMAS3 int "IRQ_DMMAS3" default 13 config IRQ_MXVR_ERR int "IRQ_MXVR_ERR" default 11 config IRQ_MXVR_MSG int "IRQ_MXVR_MSG" default 11 config IRQ_MXVR_PKT int "IRQ_MXVR_PKT" default 11 config IRQ_EPPI1_ERR int "IRQ_EPPI1_ERR" default 7 config IRQ_EPPI2_ERR int "IRQ_EPPI2_ERR" default 7 config IRQ_UART3_ERR int "IRQ_UART3_ERR" default 7 config IRQ_HOST_ERR int "IRQ_HOST_ERR" default 7 config IRQ_PIXC_ERR int "IRQ_PIXC_ERR" default 7 config IRQ_NFC_ERR int "IRQ_NFC_ERR" default 7 config IRQ_ATAPI_ERR int "IRQ_ATAPI_ERR" default 7 config IRQ_CAN1_ERR int "IRQ_CAN1_ERR" default 7 config IRQ_HS_DMA_ERR int "IRQ Handshake DMA Status" default 7 config IRQ_PIXC_IN0 int "IRQ PIXC IN0" default 8 config IRQ_PIXC_IN1 int "IRQ PIXC IN1" default 8 config IRQ_PIXC_OUT int "IRQ PIXC OUT" default 8 config IRQ_SDH int "IRQ SDH" default 8 config IRQ_CNT int "IRQ CNT" default 8 config IRQ_KEY int "IRQ KEY" default 8 config IRQ_CAN1_RX int "IRQ CAN1 RX" default 11 config IRQ_CAN1_TX int "IRQ_CAN1_TX" default 11 config IRQ_SDH_MASK0 int "IRQ_SDH_MASK0" default 11 config IRQ_SDH_MASK1 int "IRQ_SDH_MASK1" default 11 config IRQ_USB_INT0 int "IRQ USB INT0" default 11 config IRQ_USB_INT1 int "IRQ USB INT1" default 11 config IRQ_USB_INT2 int "IRQ USB INT2" default 11 config IRQ_USB_DMA int "IRQ USB DMA" default 11 config IRQ_OTPSEC int "IRQ OPTSEC" default 11 config IRQ_TIMER0 int "IRQ_TIMER0" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "IRQ_TIMER1" default 11 config IRQ_TIMER2 int "IRQ_TIMER2" default 11 config IRQ_TIMER3 int "IRQ_TIMER3" default 11 config IRQ_TIMER4 int "IRQ_TIMER4" default 11 config IRQ_TIMER5 int "IRQ_TIMER5" default 11 config IRQ_TIMER6 int "IRQ_TIMER6" default 11 config IRQ_TIMER7 int "IRQ_TIMER7" default 11 config IRQ_PINT2 int "IRQ_PIN2" default 11 config IRQ_PINT3 int "IRQ_PIN3" default 11 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN548_EZKIT help Select your board! config BFIN548_EZKIT bool "BF548-EZKIT" help BFIN548-EZKIT board support. config BFIN548_BLUETECHNIX_CM bool "Bluetechnix CM-BF548" depends on (BF548) help CM-BF548 support for DEV-Board. endchoice if (BF561) source "arch/blackfin/mach-bf561/boards/Kconfig" menu "BF561 Specific Configuration" if (!SMP) comment "Core B Support" config BF561_COREB bool "Enable Core B loader" default y endif comment "Interrupt Priority Assignment" menu "Priority" config IRQ_PLL_WAKEUP int "PLL Wakeup Interrupt" default 7 config IRQ_DMA1_ERROR int "DMA1 Error (generic)" default 7 config IRQ_DMA2_ERROR int "DMA2 Error (generic)" default 7 config IRQ_IMDMA_ERROR int "IMDMA Error (generic)" default 7 config IRQ_PPI0_ERROR int "PPI0 Error Interrupt" default 7 config IRQ_PPI1_ERROR int "PPI1 Error Interrupt" default 7 config IRQ_SPORT0_ERROR int "SPORT0 Error Interrupt" default 7 config IRQ_SPORT1_ERROR int "SPORT1 Error Interrupt" default 7 config IRQ_SPI_ERROR int "SPI Error Interrupt" default 7 config IRQ_UART_ERROR int "UART Error Interrupt" default 7 config IRQ_RESERVED_ERROR int "Reserved Interrupt" default 7 config IRQ_DMA1_0 int "DMA1 0 Interrupt(PPI1)" default 8 config IRQ_DMA1_1 int "DMA1 1 Interrupt(PPI2)" default 8 config IRQ_DMA1_2 int "DMA1 2 Interrupt" default 8 config IRQ_DMA1_3 int "DMA1 3 Interrupt" default 8 config IRQ_DMA1_4 int "DMA1 4 Interrupt" default 8 config IRQ_DMA1_5 int "DMA1 5 Interrupt" default 8 config IRQ_DMA1_6 int "DMA1 6 Interrupt" default 8 config IRQ_DMA1_7 int "DMA1 7 Interrupt" default 8 config IRQ_DMA1_8 int "DMA1 8 Interrupt" default 8 config IRQ_DMA1_9 int "DMA1 9 Interrupt" default 8 config IRQ_DMA1_10 int "DMA1 10 Interrupt" default 8 config IRQ_DMA1_11 int "DMA1 11 Interrupt" default 8 config IRQ_DMA2_0 int "DMA2 0 (SPORT0 RX)" default 9 config IRQ_DMA2_1 int "DMA2 1 (SPORT0 TX)" default 9 config IRQ_DMA2_2 int "DMA2 2 (SPORT1 RX)" default 9 config IRQ_DMA2_3 int "DMA2 3 (SPORT2 TX)" default 9 config IRQ_DMA2_4 int "DMA2 4 (SPI)" default 9 config IRQ_DMA2_5 int "DMA2 5 (UART RX)" default 9 config IRQ_DMA2_6 int "DMA2 6 (UART TX)" default 9 config IRQ_DMA2_7 int "DMA2 7 Interrupt" default 9 config IRQ_DMA2_8 int "DMA2 8 Interrupt" default 9 config IRQ_DMA2_9 int "DMA2 9 Interrupt" default 9 config IRQ_DMA2_10 int "DMA2 10 Interrupt" default 9 config IRQ_DMA2_11 int "DMA2 11 Interrupt" default 9 config IRQ_TIMER0 int "TIMER 0 Interrupt" default 7 if TICKSOURCE_GPTMR0 default 8 config IRQ_TIMER1 int "TIMER 1 Interrupt" default 10 config IRQ_TIMER2 int "TIMER 2 Interrupt" default 10 config IRQ_TIMER3 int "TIMER 3 Interrupt" default 10 config IRQ_TIMER4 int "TIMER 4 Interrupt" default 10 config IRQ_TIMER5 int "TIMER 5 Interrupt" default 10 config IRQ_TIMER6 int "TIMER 6 Interrupt" default 10 config IRQ_TIMER7 int "TIMER 7 Interrupt" default 10 config IRQ_TIMER8 int "TIMER 8 Interrupt" default 10 config IRQ_TIMER9 int "TIMER 9 Interrupt" default 10 config IRQ_TIMER10 int "TIMER 10 Interrupt" default 10 config IRQ_TIMER11 int "TIMER 11 Interrupt" default 10 config IRQ_PROG0_INTA int "Programmable Flags0 A (8)" default 11 config IRQ_PROG0_INTB int "Programmable Flags0 B (8)" default 11 config IRQ_PROG1_INTA int "Programmable Flags1 A (8)" default 11 config IRQ_PROG1_INTB int "Programmable Flags1 B (8)" default 11 config IRQ_PROG2_INTA int "Programmable Flags2 A (8)" default 11 config IRQ_PROG2_INTB int "Programmable Flags2 B (8)" default 11 config IRQ_DMA1_WRRD0 int "MDMA1 0 write/read INT" default 8 config IRQ_DMA1_WRRD1 int "MDMA1 1 write/read INT" default 8 config IRQ_DMA2_WRRD0 int "MDMA2 0 write/read INT" default 9 config IRQ_DMA2_WRRD1 int "MDMA2 1 write/read INT" default 9 config IRQ_IMDMA_WRRD0 int "IMDMA 0 write/read INT" default 12 config IRQ_IMDMA_WRRD1 int "IMDMA 1 write/read INT" default 12 config IRQ_WDTIMER int "Watch Dog Timer" default 13 help Enter the priority numbers between 7-13 ONLY. Others are Reserved. This applies to all the above. It is not recommended to assign the highest priority number 7 to UART or any other device. endmenu endmenu endif choice prompt "System type" default BFIN561_EZKIT help Select your board! config BFIN561_EZKIT bool "BF561-EZKIT" help BF561-EZKIT-LITE board support. config BFIN561_TEPLA bool "BF561-TEPLA" help BF561-TEPLA board support. config BFIN561_BLUETECHNIX_CM bool "Bluetechnix CM-BF561" help CM-BF561 support for EVAL- and DEV-Board. config BFIN561_ACVILON bool "BF561-ACVILON" help BF561-ACVILON System On Module support (SO-DIMM 144). For more information about Acvilon BF561 SoM please go to http://www.niistt.ru/ endchoice config BF60x def_bool y depends on (BF609) select IRQ_PREFLOW_FASTEOI if (BF60x) source "arch/blackfin/mach-bf609/boards/Kconfig" menu "BF609 Specific Configuration" config SEC_IRQ_PRIORITY_LEVELS int "SEC interrupt priority levels" default 7 range 0 7 help Divide the total number of interrupt priority levels into sub-levels. There is 2 ^ (SEC_IRQ_PRIORITY_LEVELS + 1) different levels. comment "System Cross Bar Priority Assignment" config SCB_PRIORITY bool "Init System Cross Bar Priority" default n menuconfig SCB0_MI0 bool "SCB0 Master Interface 0 (DDR)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. Core 0 -- 0 Core 1 -- 2 SCB1 -- 9 SCB2 -- 10 SCB3 -- 11 SCB4 -- 12 SCB5 -- 5 SCB6 -- 6 SCB7 -- 8 SCB8 -- 7 SCB9 -- 4 USB -- 13 if SCB0_MI0 config SCB0_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 13 config SCB0_MI0_SLOT1 int "Slot 1 slave interface id" default 2 range 0 13 config SCB0_MI0_SLOT2 int "Slot 2 slave interface id" default 4 range 0 13 config SCB0_MI0_SLOT3 int "Slot 3 slave interface id" default 5 range 0 13 config SCB0_MI0_SLOT4 int "Slot 4 slave interface id" default 6 range 0 13 config SCB0_MI0_SLOT5 int "Slot 5 slave interface id" default 7 range 0 13 config SCB0_MI0_SLOT6 int "Slot 6 slave interface id" default 8 range 0 13 config SCB0_MI0_SLOT7 int "Slot 7 slave interface id" default 9 range 0 13 config SCB0_MI0_SLOT8 int "Slot 8 slave interface id" default 10 range 0 13 config SCB0_MI0_SLOT9 int "Slot 9 slave interface id" default 11 range 0 13 config SCB0_MI0_SLOT10 int "Slot 10 slave interface id" default 13 range 0 13 config SCB0_MI0_SLOT11 int "Slot 11 slave interface id" default 12 range 0 13 config SCB0_MI0_SLOT12 int "Slot 12 slave interface id" default 0 range 0 13 config SCB0_MI0_SLOT13 int "Slot 13 slave interface id" default 2 range 0 13 config SCB0_MI0_SLOT14 int "Slot 14 slave interface id" default 4 range 0 13 config SCB0_MI0_SLOT15 int "Slot 15 slave interface id" default 5 range 0 13 config SCB0_MI0_SLOT16 int "Slot 16 slave interface id" default 6 range 0 13 config SCB0_MI0_SLOT17 int "Slot 17 slave interface id" default 7 range 0 13 config SCB0_MI0_SLOT18 int "Slot 18 slave interface id" default 8 range 0 13 config SCB0_MI0_SLOT19 int "Slot 19 slave interface id" default 9 range 0 13 config SCB0_MI0_SLOT20 int "Slot 20 slave interface id" default 10 range 0 13 config SCB0_MI0_SLOT21 int "Slot 21 slave interface id" default 11 range 0 13 config SCB0_MI0_SLOT22 int "Slot 22 slave interface id" default 13 range 0 13 config SCB0_MI0_SLOT23 int "Slot 23 slave interface id" default 12 range 0 13 config SCB0_MI0_SLOT24 int "Slot 24 slave interface id" default 0 range 0 13 config SCB0_MI0_SLOT25 int "Slot 25 slave interface id" default 2 range 0 13 config SCB0_MI0_SLOT26 int "Slot 26 slave interface id" default 4 range 0 13 config SCB0_MI0_SLOT27 int "Slot 27 slave interface id" default 5 range 0 13 config SCB0_MI0_SLOT28 int "Slot 28 slave interface id" default 6 range 0 13 config SCB0_MI0_SLOT29 int "Slot 29 slave interface id" default 7 range 0 13 config SCB0_MI0_SLOT30 int "Slot 30 slave interface id" default 8 range 0 13 config SCB0_MI0_SLOT31 int "Slot 31 slave interface id" default 13 range 0 13 endif # SCB0_MI0 menuconfig SCB0_MI1 bool "SCB0 Master Interface 1 (SMC)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. Core 0 -- 0 Core 1 -- 2 SCB1 -- 9 SCB2 -- 10 SCB3 -- 11 SCB4 -- 12 SCB5 -- 5 SCB6 -- 6 SCB7 -- 8 SCB8 -- 7 SCB9 -- 4 USB -- 13 if SCB0_MI1 config SCB0_MI1_SLOT0 int "Slot 0 slave interface id" default 0 range 0 13 config SCB0_MI1_SLOT1 int "Slot 1 slave interface id" default 2 range 0 13 config SCB0_MI1_SLOT2 int "Slot 2 slave interface id" default 4 range 0 13 config SCB0_MI1_SLOT3 int "Slot 3 slave interface id" default 5 range 0 13 config SCB0_MI1_SLOT4 int "Slot 4 slave interface id" default 6 range 0 13 config SCB0_MI1_SLOT5 int "Slot 5 slave interface id" default 7 range 0 13 config SCB0_MI1_SLOT6 int "Slot 6 slave interface id" default 8 range 0 13 config SCB0_MI1_SLOT7 int "Slot 7 slave interface id" default 9 range 0 13 config SCB0_MI1_SLOT8 int "Slot 8 slave interface id" default 10 range 0 13 config SCB0_MI1_SLOT9 int "Slot 9 slave interface id" default 11 range 0 13 config SCB0_MI1_SLOT10 int "Slot 10 slave interface id" default 13 range 0 13 config SCB0_MI1_SLOT11 int "Slot 11 slave interface id" default 12 range 0 13 config SCB0_MI1_SLOT12 int "Slot 12 slave interface id" default 0 range 0 13 config SCB0_MI1_SLOT13 int "Slot 13 slave interface id" default 2 range 0 13 config SCB0_MI1_SLOT14 int "Slot 14 slave interface id" default 4 range 0 13 config SCB0_MI1_SLOT15 int "Slot 15 slave interface id" default 5 range 0 13 config SCB0_MI1_SLOT16 int "Slot 16 slave interface id" default 6 range 0 13 config SCB0_MI1_SLOT17 int "Slot 17 slave interface id" default 7 range 0 13 config SCB0_MI1_SLOT18 int "Slot 18 slave interface id" default 8 range 0 13 config SCB0_MI1_SLOT19 int "Slot 19 slave interface id" default 9 range 0 13 config SCB0_MI1_SLOT20 int "Slot 20 slave interface id" default 10 range 0 13 config SCB0_MI1_SLOT21 int "Slot 21 slave interface id" default 11 range 0 13 config SCB0_MI1_SLOT22 int "Slot 22 slave interface id" default 13 range 0 13 config SCB0_MI1_SLOT23 int "Slot 23 slave interface id" default 12 range 0 13 config SCB0_MI1_SLOT24 int "Slot 24 slave interface id" default 0 range 0 13 config SCB0_MI1_SLOT25 int "Slot 25 slave interface id" default 2 range 0 13 config SCB0_MI1_SLOT26 int "Slot 26 slave interface id" default 4 range 0 13 config SCB0_MI1_SLOT27 int "Slot 27 slave interface id" default 5 range 0 13 config SCB0_MI1_SLOT28 int "Slot 28 slave interface id" default 6 range 0 13 config SCB0_MI1_SLOT29 int "Slot 29 slave interface id" default 7 range 0 13 config SCB0_MI1_SLOT30 int "Slot 30 slave interface id" default 8 range 0 13 config SCB0_MI1_SLOT31 int "Slot 31 slave interface id" default 13 range 0 13 endif # SCB0_MI1 menuconfig SCB0_MI2 bool "SCB0 Master Interface 2 (Data L2)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. Core 0 -- 0 Core 1 -- 2 SCB1 -- 9 SCB2 -- 10 SCB3 -- 11 SCB4 -- 12 SCB5 -- 5 SCB6 -- 6 SCB7 -- 8 SCB8 -- 7 SCB9 -- 4 USB -- 13 if SCB0_MI2 config SCB0_MI2_SLOT0 int "Slot 0 slave interface id" default 4 range 0 13 config SCB0_MI2_SLOT1 int "Slot 1 slave interface id" default 5 range 0 13 config SCB0_MI2_SLOT2 int "Slot 2 slave interface id" default 6 range 0 13 config SCB0_MI2_SLOT3 int "Slot 3 slave interface id" default 7 range 0 13 config SCB0_MI2_SLOT4 int "Slot 4 slave interface id" default 8 range 0 13 config SCB0_MI2_SLOT5 int "Slot 5 slave interface id" default 9 range 0 13 config SCB0_MI2_SLOT6 int "Slot 6 slave interface id" default 10 range 0 13 config SCB0_MI2_SLOT7 int "Slot 7 slave interface id" default 11 range 0 13 config SCB0_MI2_SLOT8 int "Slot 8 slave interface id" default 13 range 0 13 config SCB0_MI2_SLOT9 int "Slot 9 slave interface id" default 12 range 0 13 config SCB0_MI2_SLOT10 int "Slot 10 slave interface id" default 4 range 0 13 config SCB0_MI2_SLOT11 int "Slot 11 slave interface id" default 5 range 0 13 config SCB0_MI2_SLOT12 int "Slot 12 slave interface id" default 6 range 0 13 config SCB0_MI2_SLOT13 int "Slot 13 slave interface id" default 7 range 0 13 config SCB0_MI2_SLOT14 int "Slot 14 slave interface id" default 8 range 0 13 config SCB0_MI2_SLOT15 int "Slot 15 slave interface id" default 9 range 0 13 config SCB0_MI2_SLOT16 int "Slot 16 slave interface id" default 10 range 0 13 config SCB0_MI2_SLOT17 int "Slot 17 slave interface id" default 11 range 0 13 config SCB0_MI2_SLOT18 int "Slot 18 slave interface id" default 13 range 0 13 config SCB0_MI2_SLOT19 int "Slot 19 slave interface id" default 12 range 0 13 config SCB0_MI2_SLOT20 int "Slot 20 slave interface id" default 4 range 0 13 config SCB0_MI2_SLOT21 int "Slot 21 slave interface id" default 5 range 0 13 config SCB0_MI2_SLOT22 int "Slot 22 slave interface id" default 6 range 0 13 config SCB0_MI2_SLOT23 int "Slot 23 slave interface id" default 7 range 0 13 config SCB0_MI2_SLOT24 int "Slot 24 slave interface id" default 8 range 0 13 config SCB0_MI2_SLOT25 int "Slot 25 slave interface id" default 9 range 0 13 config SCB0_MI2_SLOT26 int "Slot 26 slave interface id" default 10 range 0 13 config SCB0_MI2_SLOT27 int "Slot 27 slave interface id" default 11 range 0 13 config SCB0_MI2_SLOT28 int "Slot 28 slave interface id" default 13 range 0 13 config SCB0_MI2_SLOT29 int "Slot 29 slave interface id" default 12 range 0 13 config SCB0_MI2_SLOT30 int "Slot 30 slave interface id" default 4 range 0 13 config SCB0_MI2_SLOT31 int "Slot 31 slave interface id" default 7 range 0 13 endif # SCB0_MI2 menuconfig SCB0_MI3 bool "SCB0 Master Interface 3 (L1A)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. Core 0 -- 0 Core 1 -- 2 SCB1 -- 9 SCB2 -- 10 SCB3 -- 11 SCB4 -- 12 SCB5 -- 5 SCB6 -- 6 SCB7 -- 8 SCB8 -- 7 SCB9 -- 4 USB -- 13 if SCB0_MI3 config SCB0_MI3_SLOT0 int "Slot 0 slave interface id" default 4 range 0 13 config SCB0_MI3_SLOT1 int "Slot 1 slave interface id" default 5 range 0 13 config SCB0_MI3_SLOT2 int "Slot 2 slave interface id" default 6 range 0 13 config SCB0_MI3_SLOT3 int "Slot 3 slave interface id" default 7 range 0 13 config SCB0_MI3_SLOT4 int "Slot 4 slave interface id" default 8 range 0 13 config SCB0_MI3_SLOT5 int "Slot 5 slave interface id" default 9 range 0 13 config SCB0_MI3_SLOT6 int "Slot 6 slave interface id" default 10 range 0 13 config SCB0_MI3_SLOT7 int "Slot 7 slave interface id" default 11 range 0 13 config SCB0_MI3_SLOT8 int "Slot 8 slave interface id" default 13 range 0 13 config SCB0_MI3_SLOT9 int "Slot 9 slave interface id" default 12 range 0 13 config SCB0_MI3_SLOT10 int "Slot 10 slave interface id" default 4 range 0 13 config SCB0_MI3_SLOT11 int "Slot 11 slave interface id" default 5 range 0 13 config SCB0_MI3_SLOT12 int "Slot 12 slave interface id" default 6 range 0 13 config SCB0_MI3_SLOT13 int "Slot 13 slave interface id" default 7 range 0 13 config SCB0_MI3_SLOT14 int "Slot 14 slave interface id" default 8 range 0 13 config SCB0_MI3_SLOT15 int "Slot 15 slave interface id" default 9 range 0 13 config SCB0_MI3_SLOT16 int "Slot 16 slave interface id" default 10 range 0 13 config SCB0_MI3_SLOT17 int "Slot 17 slave interface id" default 11 range 0 13 config SCB0_MI3_SLOT18 int "Slot 18 slave interface id" default 13 range 0 13 config SCB0_MI3_SLOT19 int "Slot 19 slave interface id" default 12 range 0 13 config SCB0_MI3_SLOT20 int "Slot 20 slave interface id" default 4 range 0 13 config SCB0_MI3_SLOT21 int "Slot 21 slave interface id" default 5 range 0 13 config SCB0_MI3_SLOT22 int "Slot 22 slave interface id" default 6 range 0 13 config SCB0_MI3_SLOT23 int "Slot 23 slave interface id" default 7 range 0 13 config SCB0_MI3_SLOT24 int "Slot 24 slave interface id" default 8 range 0 13 config SCB0_MI3_SLOT25 int "Slot 25 slave interface id" default 9 range 0 13 config SCB0_MI3_SLOT26 int "Slot 26 slave interface id" default 10 range 0 13 config SCB0_MI3_SLOT27 int "Slot 27 slave interface id" default 11 range 0 13 config SCB0_MI3_SLOT28 int "Slot 28 slave interface id" default 13 range 0 13 config SCB0_MI3_SLOT29 int "Slot 29 slave interface id" default 12 range 0 13 config SCB0_MI3_SLOT30 int "Slot 30 slave interface id" default 4 range 0 13 config SCB0_MI3_SLOT31 int "Slot 31 slave interface id" default 7 range 0 13 endif # SCB0_MI3 menuconfig SCB0_MI4 bool "SCB0 Master Interface 4 (L1B)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. Core 0 -- 0 Core 1 -- 2 SCB1 -- 9 SCB2 -- 10 SCB3 -- 11 SCB4 -- 12 SCB5 -- 5 SCB6 -- 6 SCB7 -- 8 SCB8 -- 7 SCB9 -- 4 USB -- 13 if SCB0_MI4 config SCB0_MI4_SLOT0 int "Slot 0 slave interface id" default 4 range 0 13 config SCB0_MI4_SLOT1 int "Slot 1 slave interface id" default 5 range 0 13 config SCB0_MI4_SLOT2 int "Slot 2 slave interface id" default 6 range 0 13 config SCB0_MI4_SLOT3 int "Slot 3 slave interface id" default 7 range 0 13 config SCB0_MI4_SLOT4 int "Slot 4 slave interface id" default 8 range 0 13 config SCB0_MI4_SLOT5 int "Slot 5 slave interface id" default 9 range 0 13 config SCB0_MI4_SLOT6 int "Slot 6 slave interface id" default 10 range 0 13 config SCB0_MI4_SLOT7 int "Slot 7 slave interface id" default 11 range 0 13 config SCB0_MI4_SLOT8 int "Slot 8 slave interface id" default 13 range 0 13 config SCB0_MI4_SLOT9 int "Slot 9 slave interface id" default 12 range 0 13 config SCB0_MI4_SLOT10 int "Slot 10 slave interface id" default 4 range 0 13 config SCB0_MI4_SLOT11 int "Slot 11 slave interface id" default 5 range 0 13 config SCB0_MI4_SLOT12 int "Slot 12 slave interface id" default 6 range 0 13 config SCB0_MI4_SLOT13 int "Slot 13 slave interface id" default 7 range 0 13 config SCB0_MI4_SLOT14 int "Slot 14 slave interface id" default 8 range 0 13 config SCB0_MI4_SLOT15 int "Slot 15 slave interface id" default 9 range 0 13 config SCB0_MI4_SLOT16 int "Slot 16 slave interface id" default 10 range 0 13 config SCB0_MI4_SLOT17 int "Slot 17 slave interface id" default 11 range 0 13 config SCB0_MI4_SLOT18 int "Slot 18 slave interface id" default 13 range 0 13 config SCB0_MI4_SLOT19 int "Slot 19 slave interface id" default 12 range 0 13 config SCB0_MI4_SLOT20 int "Slot 20 slave interface id" default 4 range 0 13 config SCB0_MI4_SLOT21 int "Slot 21 slave interface id" default 5 range 0 13 config SCB0_MI4_SLOT22 int "Slot 22 slave interface id" default 6 range 0 13 config SCB0_MI4_SLOT23 int "Slot 23 slave interface id" default 7 range 0 13 config SCB0_MI4_SLOT24 int "Slot 24 slave interface id" default 8 range 0 13 config SCB0_MI4_SLOT25 int "Slot 25 slave interface id" default 9 range 0 13 config SCB0_MI4_SLOT26 int "Slot 26 slave interface id" default 10 range 0 13 config SCB0_MI4_SLOT27 int "Slot 27 slave interface id" default 11 range 0 13 config SCB0_MI4_SLOT28 int "Slot 28 slave interface id" default 13 range 0 13 config SCB0_MI4_SLOT29 int "Slot 29 slave interface id" default 12 range 0 13 config SCB0_MI4_SLOT30 int "Slot 30 slave interface id" default 4 range 0 13 config SCB0_MI4_SLOT31 int "Slot 31 slave interface id" default 7 range 0 13 endif # SCB0_MI4 menuconfig SCB0_MI5 bool "SCB0 Master Interface 5 (SMMR)" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. MMR0 -- 1 MMR1 -- 3 SCB2 -- 10 SCB4 -- 12 if SCB0_MI5 config SCB0_MI5_SLOT0 int "Slot 0 slave interface id" default 1 range 0 13 config SCB0_MI5_SLOT1 int "Slot 1 slave interface id" default 3 range 0 13 config SCB0_MI5_SLOT2 int "Slot 2 slave interface id" default 10 range 0 13 config SCB0_MI5_SLOT3 int "Slot 3 slave interface id" default 12 range 0 13 config SCB0_MI5_SLOT4 int "Slot 4 slave interface id" default 1 range 0 13 config SCB0_MI5_SLOT5 int "Slot 5 slave interface id" default 3 range 0 13 config SCB0_MI5_SLOT6 int "Slot 6 slave interface id" default 10 range 0 13 config SCB0_MI5_SLOT7 int "Slot 7 slave interface id" default 12 range 0 13 config SCB0_MI5_SLOT8 int "Slot 8 slave interface id" default 1 range 0 13 config SCB0_MI5_SLOT9 int "Slot 9 slave interface id" default 3 range 0 13 config SCB0_MI5_SLOT10 int "Slot 10 slave interface id" default 10 range 0 13 config SCB0_MI5_SLOT11 int "Slot 11 slave interface id" default 12 range 0 13 config SCB0_MI5_SLOT12 int "Slot 12 slave interface id" default 1 range 0 13 config SCB0_MI5_SLOT13 int "Slot 13 slave interface id" default 3 range 0 13 config SCB0_MI5_SLOT14 int "Slot 14 slave interface id" default 10 range 0 13 config SCB0_MI5_SLOT15 int "Slot 15 slave interface id" default 12 range 0 13 endif # SCB0_MI5 menuconfig SCB1_MI0 bool "SCB1 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. SPORT0A -- 0 SPORT0B -- 1 SPORT1A -- 2 SPORT1B -- 3 SPORT2A -- 4 SPORT2B -- 5 SPI0TX -- 6 SPI0RX -- 7 SPI1TX -- 8 SPI1RX -- 9 if SCB1_MI0 config SCB1_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 9 config SCB1_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 9 config SCB1_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 9 config SCB1_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 9 config SCB1_MI0_SLOT4 int "Slot 4 slave interface id" default 4 range 0 9 config SCB1_MI0_SLOT5 int "Slot 5 slave interface id" default 5 range 0 9 config SCB1_MI0_SLOT6 int "Slot 6 slave interface id" default 6 range 0 9 config SCB1_MI0_SLOT7 int "Slot 7 slave interface id" default 7 range 0 9 config SCB1_MI0_SLOT8 int "Slot 8 slave interface id" default 8 range 0 9 config SCB1_MI0_SLOT9 int "Slot 9 slave interface id" default 9 range 0 9 config SCB1_MI0_SLOT10 int "Slot 10 slave interface id" default 0 range 0 9 config SCB1_MI0_SLOT11 int "Slot 11 slave interface id" default 1 range 0 9 config SCB1_MI0_SLOT12 int "Slot 12 slave interface id" default 2 range 0 9 config SCB1_MI0_SLOT13 int "Slot 13 slave interface id" default 3 range 0 9 config SCB1_MI0_SLOT14 int "Slot 14 slave interface id" default 4 range 0 9 config SCB1_MI0_SLOT15 int "Slot 15 slave interface id" default 5 range 0 9 config SCB1_MI0_SLOT16 int "Slot 16 slave interface id" default 6 range 0 13 config SCB1_MI0_SLOT17 int "Slot 17 slave interface id" default 7 range 0 13 config SCB1_MI0_SLOT18 int "Slot 18 slave interface id" default 8 range 0 13 config SCB1_MI0_SLOT19 int "Slot 19 slave interface id" default 9 range 0 13 endif # SCB1_MI0 menuconfig SCB2_MI0 bool "SCB2 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. RSI -- 0 SDU DMA -- 1 SDU -- 2 EMAC0 -- 3 EMAC1 -- 4 if SCB2_MI0 config SCB2_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 4 config SCB2_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 4 config SCB2_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 4 config SCB2_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 4 config SCB2_MI0_SLOT4 int "Slot 4 slave interface id" default 4 range 0 4 config SCB2_MI0_SLOT5 int "Slot 5 slave interface id" default 0 range 0 4 config SCB2_MI0_SLOT6 int "Slot 6 slave interface id" default 1 range 0 4 config SCB2_MI0_SLOT7 int "Slot 7 slave interface id" default 2 range 0 4 config SCB2_MI0_SLOT8 int "Slot 8 slave interface id" default 3 range 0 4 config SCB2_MI0_SLOT9 int "Slot 9 slave interface id" default 4 range 0 4 endif # SCB2_MI0 menuconfig SCB3_MI0 bool "SCB3 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. LP0 -- 0 LP1 -- 1 LP2 -- 2 LP3 -- 3 UART0TX -- 4 UART0RX -- 5 UART1TX -- 4 UART1RX -- 5 if SCB3_MI0 config SCB3_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 7 config SCB3_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 7 config SCB3_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 7 config SCB3_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 7 config SCB3_MI0_SLOT4 int "Slot 4 slave interface id" default 4 range 0 7 config SCB3_MI0_SLOT5 int "Slot 5 slave interface id" default 5 range 0 7 config SCB3_MI0_SLOT6 int "Slot 6 slave interface id" default 6 range 0 7 config SCB3_MI0_SLOT7 int "Slot 7 slave interface id" default 7 range 0 7 config SCB3_MI0_SLOT8 int "Slot 8 slave interface id" default 0 range 0 7 config SCB3_MI0_SLOT9 int "Slot 9 slave interface id" default 1 range 0 7 config SCB3_MI0_SLOT10 int "Slot 10 slave interface id" default 2 range 0 7 config SCB3_MI0_SLOT11 int "Slot 11 slave interface id" default 3 range 0 7 config SCB3_MI0_SLOT12 int "Slot 12 slave interface id" default 4 range 0 7 config SCB3_MI0_SLOT13 int "Slot 13 slave interface id" default 5 range 0 7 config SCB3_MI0_SLOT14 int "Slot 14 slave interface id" default 6 range 0 7 config SCB3_MI0_SLOT15 int "Slot 15 slave interface id" default 7 range 0 7 endif # SCB3_MI0 menuconfig SCB4_MI0 bool "SCB4 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. MDA21 -- 0 MDA22 -- 1 MDA23 -- 2 MDA24 -- 3 MDA25 -- 4 MDA26 -- 5 MDA27 -- 6 MDA28 -- 7 if SCB4_MI0 config SCB4_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 7 config SCB4_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 7 config SCB4_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 7 config SCB4_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 7 config SCB4_MI0_SLOT4 int "Slot 4 slave interface id" default 4 range 0 7 config SCB4_MI0_SLOT5 int "Slot 5 slave interface id" default 5 range 0 7 config SCB4_MI0_SLOT6 int "Slot 6 slave interface id" default 6 range 0 7 config SCB4_MI0_SLOT7 int "Slot 7 slave interface id" default 7 range 0 7 config SCB4_MI0_SLOT8 int "Slot 8 slave interface id" default 0 range 0 7 config SCB4_MI0_SLOT9 int "Slot 9 slave interface id" default 1 range 0 7 config SCB4_MI0_SLOT10 int "Slot 10 slave interface id" default 2 range 0 7 config SCB4_MI0_SLOT11 int "Slot 11 slave interface id" default 3 range 0 7 config SCB4_MI0_SLOT12 int "Slot 12 slave interface id" default 4 range 0 7 config SCB4_MI0_SLOT13 int "Slot 13 slave interface id" default 5 range 0 7 config SCB4_MI0_SLOT14 int "Slot 14 slave interface id" default 6 range 0 7 config SCB4_MI0_SLOT15 int "Slot 15 slave interface id" default 7 range 0 7 endif # SCB4_MI0 menuconfig SCB5_MI0 bool "SCB5 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. PPI0 MDA29 -- 0 PPI0 MDA30 -- 1 PPI2 MDA31 -- 2 PPI2 MDA32 -- 3 if SCB5_MI0 config SCB5_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 3 config SCB5_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 3 config SCB5_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 3 config SCB5_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 3 config SCB5_MI0_SLOT4 int "Slot 4 slave interface id" default 0 range 0 3 config SCB5_MI0_SLOT5 int "Slot 5 slave interface id" default 1 range 0 3 config SCB5_MI0_SLOT6 int "Slot 6 slave interface id" default 2 range 0 3 config SCB5_MI0_SLOT7 int "Slot 7 slave interface id" default 3 range 0 3 endif # SCB5_MI0 menuconfig SCB6_MI0 bool "SCB6 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. PPI1 MDA33 -- 0 PPI1 MDA34 -- 1 if SCB6_MI0 config SCB6_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 1 config SCB6_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 1 config SCB6_MI0_SLOT2 int "Slot 2 slave interface id" default 0 range 0 1 config SCB6_MI0_SLOT3 int "Slot 3 slave interface id" default 1 range 0 1 endif # SCB6_MI0 menuconfig SCB7_MI0 bool "SCB7 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. PIXC0 -- 0 PIXC1 -- 1 PIXC2 -- 2 if SCB7_MI0 config SCB7_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 2 config SCB7_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 2 config SCB7_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 2 config SCB7_MI0_SLOT3 int "Slot 3 slave interface id" default 0 range 0 2 config SCB7_MI0_SLOT4 int "Slot 4 slave interface id" default 1 range 0 2 config SCB7_MI0_SLOT5 int "Slot 5 slave interface id" default 2 range 0 2 endif # SCB7_MI0 menuconfig SCB8_MI0 bool "SCB8 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. PVP CPDOB -- 0 PVP CPDOC -- 1 PVP CPCO -- 2 PVP CPCI -- 3 if SCB8_MI0 config SCB8_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 3 config SCB8_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 3 config SCB8_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 3 config SCB8_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 3 config SCB8_MI0_SLOT4 int "Slot 4 slave interface id" default 0 range 0 3 config SCB8_MI0_SLOT5 int "Slot 5 slave interface id" default 1 range 0 3 config SCB8_MI0_SLOT6 int "Slot 6 slave interface id" default 2 range 0 3 config SCB8_MI0_SLOT7 int "Slot 7 slave interface id" default 3 range 0 3 endif # SCB8_MI0 menuconfig SCB9_MI0 bool "SCB9 Master Interface 0" default n depends on SCB_PRIORITY help The slave interface id of each slot should be set according following table. PVP MPDO -- 0 PVP MPDI -- 1 PVP MPCO -- 2 PVP MPCI -- 3 PVP CPDOA -- 4 if SCB9_MI0 config SCB9_MI0_SLOT0 int "Slot 0 slave interface id" default 0 range 0 4 config SCB9_MI0_SLOT1 int "Slot 1 slave interface id" default 1 range 0 4 config SCB9_MI0_SLOT2 int "Slot 2 slave interface id" default 2 range 0 4 config SCB9_MI0_SLOT3 int "Slot 3 slave interface id" default 3 range 0 4 config SCB9_MI0_SLOT4 int "Slot 4 slave interface id" default 4 range 0 4 config SCB9_MI0_SLOT5 int "Slot 5 slave interface id" default 0 range 0 4 config SCB9_MI0_SLOT6 int "Slot 6 slave interface id" default 1 range 0 4 config SCB9_MI0_SLOT7 int "Slot 7 slave interface id" default 2 range 0 4 config SCB9_MI0_SLOT8 int "Slot 8 slave interface id" default 3 range 0 4 config SCB9_MI0_SLOT9 int "Slot 9 slave interface id" default 4 range 0 4 endif # SCB9_MI0 endmenu endif choice prompt "System type" default BFIN609_EZKIT help Select your board! config BFIN609_EZKIT bool "BF609-EZKIT" help BFIN609-EZKIT board support. endchoice # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # config C6X def_bool y select CLKDEV_LOOKUP select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select HAVE_ARCH_TRACEHOOK select HAVE_DMA_API_DEBUG select HAVE_MEMBLOCK select SPARSE_IRQ select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE select GENERIC_CLOCKEVENTS select MODULES_USE_ELF_RELA config MMU def_bool n config FPU def_bool n config RWSEM_GENERIC_SPINLOCK def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config GENERIC_HWEIGHT def_bool y config GENERIC_BUG def_bool y config C6X_BIG_KERNEL bool "Build a big kernel" help The C6X function call instruction has a limited range of +/- 2MiB. This is sufficient for most kernels, but some kernel configurations with lots of compiled-in functionality may require a larger range for function calls. Use this option to have the compiler generate function calls with 32-bit range. This will make the kernel both larger and slower. If unsure, say N. source "init/Kconfig" # Use the generic interrupt handling code in kernel/irq/ source "kernel/Kconfig.freezer" config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Kernel command line" depends on CMDLINE_BOOL default "console=ttyS0,57600" help On some architectures there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. config CMDLINE_FORCE bool "Force default kernel command string" depends on CMDLINE_BOOL default n help Set this to have arguments from the default kernel command string override those passed by the boot loader. config CPU_BIG_ENDIAN bool "Build big-endian kernel" default n help Say Y if you plan on running a kernel in big-endian mode. Note that your board must be properly built and your board port must properly enable any big-endian related features of your chipset/board/processor. config FORCE_MAX_ZONEORDER int "Maximum zone order" default "13" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. menu "Processor type and features" source "arch/c6x/platforms/Kconfig" config KERNEL_RAM_BASE_ADDRESS hex "Virtual address of memory base" default 0xe0000000 if SOC_TMS320C6455 default 0xe0000000 if SOC_TMS320C6457 default 0xe0000000 if SOC_TMS320C6472 default 0x80000000 source "mm/Kconfig" source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Kernel hacking" source "lib/Kconfig.debug" config ACCESS_CHECK bool "Check the user pointer address" default y help Usually the pointer transfer from user space is checked to see if its address is in the kernel space. Say N here to disable that check to improve the performance. endmenu config SOC_TMS320C6455 bool "TMS320C6455" default n config SOC_TMS320C6457 bool "TMS320C6457" default n config SOC_TMS320C6472 bool "TMS320C6472" default n config SOC_TMS320C6474 bool "TMS320C6474" default n config SOC_TMS320C6678 bool "TMS320C6678" default n config MMU bool default y config ZONE_DMA bool default y config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool default n config ARCH_HAS_ILOG2_U64 bool default n config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config NO_IOPORT def_bool y config FORCE_MAX_ZONEORDER int default 6 config CRIS bool default y select HAVE_IDE select GENERIC_ATOMIC64 select HAVE_UID16 select VIRT_TO_BUS select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 select GENERIC_CMOS_UPDATE select MODULES_USE_ELF_RELA select CLONE_BACKWARDS2 select OLD_SIGSUSPEND select OLD_SIGACTION config HZ int default 100 source "init/Kconfig" source "kernel/Kconfig.freezer" menu "General setup" source "fs/Kconfig.binfmt" config ETRAX_CMDLINE string "Kernel command line" default "root=/dev/mtdblock3" help Pass additional commands to the kernel. config ETRAX_WATCHDOG bool "Enable ETRAX watchdog" help Enable the built-in watchdog timer support on ETRAX based embedded network computers. config ETRAX_WATCHDOG_NICE_DOGGY bool "Disable watchdog during Oops printouts" depends on ETRAX_WATCHDOG help By enabling this you make sure that the watchdog does not bite while printing oopses. Recommended for development systems but not for production releases. config ETRAX_FAST_TIMER bool "Enable ETRAX fast timer API" help This options enables the API to a fast timer implementation using timer1 to get sub jiffie resolution timers (primarily one-shot timers). This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled. config ETRAX_KMALLOCED_MODULES bool "Enable module allocation with kmalloc" help Enable module allocation with kmalloc instead of vmalloc. source "kernel/Kconfig.preempt" source mm/Kconfig endmenu menu "Hardware setup" choice prompt "Processor type" default ETRAX100LX config ETRAX100LX bool "ETRAX-100LX-v1" select ARCH_USES_GETTIMEOFFSET help Support version 1 of the ETRAX 100LX. config ETRAX100LX_V2 bool "ETRAX-100LX-v2" select ARCH_USES_GETTIMEOFFSET help Support version 2 of the ETRAX 100LX. config SVINTO_SIM bool "ETRAX-100LX-for-xsim-simulator" select ARCH_USES_GETTIMEOFFSET help Support the xsim ETRAX Simulator. config ETRAXFS bool "ETRAX-FS-V32" help Support CRIS V32. config CRIS_MACH_ARTPEC3 bool "ARTPEC-3" help Support Axis ARTPEC-3. endchoice config ETRAX_ARCH_V10 bool default y if ETRAX100LX || ETRAX100LX_V2 default n if !(ETRAX100LX || ETRAX100LX_V2) config ETRAX_ARCH_V32 bool default y if (ETRAXFS || CRIS_MACH_ARTPEC3) default n if !(ETRAXFS || CRIS_MACH_ARTPEC3) config ETRAX_DRAM_SIZE int "DRAM size (dec, in MB)" default "8" help Size of DRAM (decimal in MB) typically 2, 8 or 16. config ETRAX_VMEM_SIZE int "Video memory size (dec, in MB)" depends on ETRAX_ARCH_V32 && !ETRAXFS default 8 if !ETRAXFS help Size of Video accessible memory (decimal, in MB). config ETRAX_FLASH_BUSWIDTH int "Buswidth of NOR flash in bytes" default "2" help Width in bytes of the NOR Flash bus (1, 2 or 4). Is usually 2. config ETRAX_FLASH1_SIZE int "FLASH1 size (dec, in MB. 0 = Unknown)" default "0" choice prompt "Product debug-port" default ETRAX_DEBUG_PORT0 config ETRAX_DEBUG_PORT0 bool "Serial-0" help Choose a serial port for the ETRAX debug console. Default to port 0. config ETRAX_DEBUG_PORT1 bool "Serial-1" help Use serial port 1 for the console. config ETRAX_DEBUG_PORT2 bool "Serial-2" help Use serial port 2 for the console. config ETRAX_DEBUG_PORT3 bool "Serial-3" help Use serial port 3 for the console. config ETRAX_DEBUG_PORT_NULL bool "disabled" help Disable serial-port debugging. endchoice choice prompt "Kernel GDB port" depends on ETRAX_KGDB default ETRAX_KGDB_PORT0 help Choose a serial port for kernel debugging. NOTE: This port should not be enabled under Drivers for built-in interfaces (as it has its own initialization code) and should not be the same as the debug port. config ETRAX_KGDB_PORT0 bool "Serial-0" help Use serial port 0 for kernel debugging. config ETRAX_KGDB_PORT1 bool "Serial-1" help Use serial port 1 for kernel debugging. config ETRAX_KGDB_PORT2 bool "Serial-2" help Use serial port 2 for kernel debugging. config ETRAX_KGDB_PORT3 bool "Serial-3" help Use serial port 3 for kernel debugging. endchoice source arch/cris/arch-v10/Kconfig source arch/cris/arch-v32/Kconfig endmenu source "net/Kconfig" # bring in ETRAX built-in drivers menu "Drivers for built-in interfaces" source arch/cris/arch-v10/drivers/Kconfig source arch/cris/arch-v32/drivers/Kconfig config ETRAX_AXISFLASHMAP bool "Axis flash-map support" select MTD select MTD_CFI select MTD_CFI_AMDSTD select MTD_JEDECPROBE if ETRAX_ARCH_V32 select MTD_BLOCK select MTD_COMPLEX_MAPPINGS help This option enables MTD mapping of flash devices. Needed to use flash memories. If unsure, say Y. config ETRAX_SYNCHRONOUS_SERIAL bool "Synchronous serial-port support" help Select this to enable the synchronous serial port driver. config ETRAX_SYNCHRONOUS_SERIAL_PORT0 bool "Synchronous serial port 0 enabled" depends on ETRAX_SYNCHRONOUS_SERIAL help Enabled synchronous serial port 0. config ETRAX_SYNCHRONOUS_SERIAL0_DMA bool "Enable DMA on synchronous serial port 0." depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0 help A synchronous serial port can run in manual or DMA mode. Selecting this option will make it run in DMA mode. config ETRAX_SYNCHRONOUS_SERIAL_PORT1 bool "Synchronous serial port 1 enabled" depends on ETRAX_SYNCHRONOUS_SERIAL && (ETRAXFS || ETRAX_ARCH_V10) help Enabled synchronous serial port 1. config ETRAX_SYNCHRONOUS_SERIAL1_DMA bool "Enable DMA on synchronous serial port 1." depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1 help A synchronous serial port can run in manual or DMA mode. Selecting this option will make it run in DMA mode. choice prompt "Network LED behavior" depends on ETRAX_ETHERNET default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY config ETRAX_NETWORK_LED_ON_WHEN_LINK bool "LED_on_when_link" help Selecting LED_on_when_link will light the LED when there is a connection and will flash off when there is activity. Selecting LED_on_when_activity will light the LED only when there is activity. This setting will also affect the behaviour of other activity LEDs e.g. Bluetooth. config ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY bool "LED_on_when_activity" help Selecting LED_on_when_link will light the LED when there is a connection and will flash off when there is activity. Selecting LED_on_when_activity will light the LED only when there is activity. This setting will also affect the behaviour of other activity LEDs e.g. Bluetooth. endchoice choice prompt "Ser0 DMA out channel" depends on ETRAX_SERIAL_PORT0 default ETRAX_SERIAL_PORT0_DMA6_OUT if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT0_NO_DMA_OUT if ETRAX_ARCH_V10 config ETRAX_SERIAL_PORT0_NO_DMA_OUT bool "Ser0 uses no DMA for output" help Do not use DMA for ser0 output. config ETRAX_SERIAL_PORT0_DMA6_OUT bool "Ser0 uses DMA6 for output" depends on ETRAXFS help Enables the DMA6 output channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be used when transmitting data. Normally you want to use DMA, unless you use the DMA channel for something else. config ETRAX_SERIAL_PORT0_DMA0_OUT bool "Ser0 uses DMA0 for output" depends on CRIS_MACH_ARTPEC3 help Enables the DMA0 output channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be used when transmitting data. Normally you want to use DMA, unless you use the DMA channel for something else. endchoice choice prompt "Ser0 DMA in channel " depends on ETRAX_SERIAL_PORT0 default ETRAX_SERIAL_PORT0_NO_DMA_IN if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT0_DMA7_IN if ETRAX_ARCH_V10 help What DMA channel to use for ser0. config ETRAX_SERIAL_PORT0_NO_DMA_IN bool "Ser0 uses no DMA for input" help Do not use DMA for ser0 input. config ETRAX_SERIAL_PORT0_DMA7_IN bool "Ser0 uses DMA7 for input" depends on ETRAXFS help Enables the DMA7 input channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be used when receiving data. Normally you want to use DMA, unless you use the DMA channel for something else. config ETRAX_SERIAL_PORT0_DMA1_IN bool "Ser0 uses DMA1 for input" depends on CRIS_MACH_ARTPEC3 help Enables the DMA1 input channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be used when receiving data. Normally you want to use DMA, unless you use the DMA channel for something else. endchoice choice prompt "Ser1 DMA in channel " depends on ETRAX_SERIAL_PORT1 default ETRAX_SERIAL_PORT1_NO_DMA_IN if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT1_DMA9_IN if ETRAX_ARCH_V10 help What DMA channel to use for ser1. config ETRAX_SERIAL_PORT1_NO_DMA_IN bool "Ser1 uses no DMA for input" help Do not use DMA for ser1 input. config ETRAX_SERIAL_PORT1_DMA5_IN bool "Ser1 uses DMA5 for input" depends on ETRAX_ARCH_V32 help Enables the DMA5 input channel for ser1 (ttyS1). If you do not enable DMA, an interrupt for each character will be used when receiving data. Normally you want this on, unless you use the DMA channel for something else. config ETRAX_SERIAL_PORT1_DMA9_IN depends on ETRAX_ARCH_V10 bool "Ser1 uses DMA9 for input" endchoice choice prompt "Ser1 DMA out channel" depends on ETRAX_SERIAL_PORT1 default ETRAX_SERIAL_PORT1_NO_DMA_OUT if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT1_DMA8_OUT if ETRAX_ARCH_V10 help What DMA channel to use for ser1. config ETRAX_SERIAL_PORT1_NO_DMA_OUT bool "Ser1 uses no DMA for output" help Do not use DMA for ser1 output. config ETRAX_SERIAL_PORT1_DMA8_OUT depends on ETRAX_ARCH_V10 bool "Ser1 uses DMA8 for output" config ETRAX_SERIAL_PORT1_DMA4_OUT depends on ETRAX_ARCH_V32 bool "Ser1 uses DMA4 for output" help Enables the DMA4 output channel for ser1 (ttyS1). If you do not enable DMA, an interrupt for each character will be used when transmitting data. Normally you want this on, unless you use the DMA channel for something else. endchoice choice prompt "Ser2 DMA out channel" depends on ETRAX_SERIAL_PORT2 default ETRAX_SERIAL_PORT2_NO_DMA_OUT if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT2_DMA2_OUT if ETRAX_ARCH_V10 config ETRAX_SERIAL_PORT2_NO_DMA_OUT bool "Ser2 uses no DMA for output" help Do not use DMA for ser2 output. config ETRAX_SERIAL_PORT2_DMA2_OUT bool "Ser2 uses DMA2 for output" depends on ETRAXFS || ETRAX_ARCH_V10 help Enables the DMA2 output channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be used when transmitting data. Normally you want to use DMA, unless you use the DMA channel for something else. config ETRAX_SERIAL_PORT2_DMA6_OUT bool "Ser2 uses DMA6 for output" depends on CRIS_MACH_ARTPEC3 help Enables the DMA6 output channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be used when transmitting data. Normally you want to use DMA, unless you use the DMA channel for something else. endchoice choice prompt "Ser2 DMA in channel" depends on ETRAX_SERIAL_PORT2 default ETRAX_SERIAL_PORT2_NO_DMA_IN if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT2_DMA3_IN if ETRAX_ARCH_V10 help What DMA channel to use for ser2. config ETRAX_SERIAL_PORT2_NO_DMA_IN bool "Ser2 uses no DMA for input" help Do not use DMA for ser2 input. config ETRAX_SERIAL_PORT2_DMA3_IN bool "Ser2 uses DMA3 for input" depends on ETRAXFS || ETRAX_ARCH_V10 help Enables the DMA3 input channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be used when receiving data. Normally you want to use DMA, unless you use the DMA channel for something else. config ETRAX_SERIAL_PORT2_DMA7_IN bool "Ser2 uses DMA7 for input" depends on CRIS_MACH_ARTPEC3 help Enables the DMA7 input channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be used when receiving data. Normally you want to use DMA, unless you use the DMA channel for something else. endchoice choice prompt "Ser3 DMA in channel" depends on ETRAX_SERIAL_PORT3 default ETRAX_SERIAL_PORT3_NO_DMA_IN if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT3_DMA5_IN if ETRAX_ARCH_V10 help What DMA channel to use for ser3. config ETRAX_SERIAL_PORT3_NO_DMA_IN bool "Ser3 uses no DMA for input" help Do not use DMA for ser3 input. config ETRAX_SERIAL_PORT3_DMA5_IN depends on ETRAX_ARCH_V10 bool "DMA 5" endchoice choice prompt "Ser3 DMA out channel" depends on ETRAX_SERIAL_PORT3 default ETRAX_SERIAL_PORT3_NO_DMA_OUT if ETRAX_ARCH_V32 default ETRAX_SERIAL_PORT3_DMA4_OUT if ETRAX_ARCH_V10 config ETRAX_SERIAL_PORT3_NO_DMA_OUT bool "Ser3 uses no DMA for output" help Do not use DMA for ser3 output. config ETRAX_SERIAL_PORT3_DMA4_OUT depends on ETRAX_ARCH_V10 bool "DMA 4" endchoice endmenu source "drivers/Kconfig" source "fs/Kconfig" source "arch/cris/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" if ETRAX_ARCH_V10 menu "CRIS v10 options" # ETRAX 100LX v1 has a MMU "feature" requiring a low mapping config CRIS_LOW_MAP bool depends on ETRAX_ARCH_V10 && ETRAX100LX default y config ETRAX_DRAM_VIRTUAL_BASE hex depends on ETRAX_ARCH_V10 default "c0000000" if !ETRAX100LX default "60000000" if ETRAX100LX choice prompt "Product LED port" depends on ETRAX_ARCH_V10 default ETRAX_PA_LEDS config ETRAX_PA_LEDS bool "Port-PA-LEDs" help The ETRAX network driver is responsible for flashing LED's when packets arrive and are sent. It uses macros defined in , and those macros are defined after what YOU choose in this option. The actual bits used are configured separately. Select this if the LEDs are on port PA. Some products put the leds on PB or a memory-mapped latch (CSP0) instead. config ETRAX_PB_LEDS bool "Port-PB-LEDs" help The ETRAX network driver is responsible for flashing LED's when packets arrive and are sent. It uses macros defined in , and those macros are defined after what YOU choose in this option. The actual bits used are configured separately. Select this if the LEDs are on port PB. Some products put the leds on PA or a memory-mapped latch (CSP0) instead. config ETRAX_CSP0_LEDS bool "Port-CSP0-LEDs" help The ETRAX network driver is responsible for flashing LED's when packets arrive and are sent. It uses macros defined in , and those macros are defined after what YOU choose in this option. The actual bits used are configured separately. Select this if the LEDs are on a memory-mapped latch using chip select CSP0, this is mapped at 0x90000000. Some products put the leds on PA or PB instead. config ETRAX_NO_LEDS bool "None" help Select this option if you don't have any LED at all. endchoice config ETRAX_LED1G int "First green LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "2" help Bit to use for the first green LED. Most Axis products use bit 2 here. config ETRAX_LED1R int "First red LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "3" help Bit to use for the first red LED. Most Axis products use bit 3 here. For products with only one controllable LED, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED2G int "Second green LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "4" help Bit to use for the second green LED. The "Active" LED. Most Axis products use bit 4 here. For products with only one controllable LED, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED2R int "Second red LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "5" help Bit to use for the second red LED. Most Axis products use bit 5 here. For products with only one controllable LED, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED3G int "Third green LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "2" help Bit to use for the third green LED. The "Drive" LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED3R int "Third red LED bit" depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS default "2" help Bit to use for the third red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED4R int "Fourth red LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the fourth red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED4G int "Fourth green LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the fourth green LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED5R int "Fifth red LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the fifth red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED5G int "Fifth green LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the fifth green LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED6R int "Sixth red LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the sixth red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED6G int "Sixth green LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the sixth green LED. The "Drive" LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED7R int "Seventh red LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the seventh red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED7G int "Seventh green LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the seventh green LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED8Y int "Eighth yellow LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the eighth yellow LED. The "Drive" LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED9Y int "Ninth yellow LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the ninth yellow LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED10Y int "Tenth yellow LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the tenth yellow LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED11Y int "Eleventh yellow LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the eleventh yellow LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). config ETRAX_LED12R int "Twelfth red LED bit" depends on ETRAX_CSP0_LEDS default "2" help Bit to use for the twelfth red LED. For products with only one or two controllable LEDs, set this to same as CONFIG_ETRAX_LED1G (normally 2). choice prompt "Product rescue-port" depends on ETRAX_ARCH_V10 default ETRAX_RESCUE_SER0 config ETRAX_RESCUE_SER0 bool "Serial-0" help Select one of the four serial ports as a rescue port. The default is port 0. config ETRAX_RESCUE_SER1 bool "Serial-1" help Use serial port 1 as the rescue port. config ETRAX_RESCUE_SER2 bool "Serial-2" help Use serial port 2 as the rescue port. config ETRAX_RESCUE_SER3 bool "Serial-3" help Use serial port 3 as the rescue port. endchoice config ETRAX_DEF_R_WAITSTATES hex "R_WAITSTATES" depends on ETRAX_ARCH_V10 default "95a6" help Waitstates for SRAM, Flash and peripherals (not DRAM). 95f8 is a good choice for most Axis products... config ETRAX_DEF_R_BUS_CONFIG hex "R_BUS_CONFIG" depends on ETRAX_ARCH_V10 default "104" help Assorted bits controlling write mode, DMA burst length etc. 104 is a good choice for most Axis products... config ETRAX_SDRAM bool "SDRAM support" depends on ETRAX_ARCH_V10 help Enable this if you use SDRAM chips and configure R_SDRAM_CONFIG and R_SDRAM_TIMING as well. config ETRAX_DEF_R_DRAM_CONFIG hex "R_DRAM_CONFIG" depends on ETRAX_ARCH_V10 && !ETRAX_SDRAM default "1a200040" help The R_DRAM_CONFIG register specifies everything on how the DRAM chips in the system are connected to the ETRAX CPU. This is different depending on the manufacturer, chip type and number of chips. So this value often needs to be different for each Axis product. config ETRAX_DEF_R_DRAM_TIMING hex "R_DRAM_TIMING" depends on ETRAX_ARCH_V10 && !ETRAX_SDRAM default "5611" help Different DRAM chips have different speeds. Current Axis products use 50ns DRAM chips which can use the timing: 5611. config ETRAX_DEF_R_SDRAM_CONFIG hex "R_SDRAM_CONFIG" depends on ETRAX_ARCH_V10 && ETRAX_SDRAM default "d2fa7878" help The R_SDRAM_CONFIG register specifies everything on how the SDRAM chips in the system are connected to the ETRAX CPU. This is different depending on the manufacturer, chip type and number of chips. So this value often needs to be different for each Axis product. config ETRAX_DEF_R_SDRAM_TIMING hex "R_SDRAM_TIMING" depends on ETRAX_ARCH_V10 && ETRAX_SDRAM default "80004801" help Different SDRAM chips have different timing. config ETRAX_DEF_R_PORT_PA_DIR hex "R_PORT_PA_DIR" depends on ETRAX_ARCH_V10 default "1c" help Configures the direction of general port A bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_R_PORT_PA_DATA hex "R_PORT_PA_DATA" depends on ETRAX_ARCH_V10 default "00" help Configures the initial data for the general port A bits. Most products should use 00 here. config ETRAX_DEF_R_PORT_PB_CONFIG hex "R_PORT_PB_CONFIG" depends on ETRAX_ARCH_V10 default "00" help Configures the type of the general port B bits. 1 is chip select, 0 is port. Most products should use 00 here. config ETRAX_DEF_R_PORT_PB_DIR hex "R_PORT_PB_DIR" depends on ETRAX_ARCH_V10 default "00" help Configures the direction of general port B bits. 1 is out, 0 is in. This is often totally different depending on the product used. Bits 0 and 1 on port PB are usually used for I2C communication, but the kernel I2C driver sets the appropriate directions itself so you don't need to take that into consideration when setting this option. If you don't know what to use, it is always safe to put all as inputs. config ETRAX_DEF_R_PORT_PB_DATA hex "R_PORT_PB_DATA" depends on ETRAX_ARCH_V10 default "ff" help Configures the initial data for the general port A bits. Most products should use FF here. config ETRAX_SOFT_SHUTDOWN bool "Software Shutdown Support" depends on ETRAX_ARCH_V10 help Enable this if ETRAX is used with a power-supply that can be turned off and on with PS_ON signal. Gives the possibility to detect powerbutton and then do a power off after unmounting disks. config ETRAX_SHUTDOWN_BIT int "Shutdown bit on port CSP0" depends on ETRAX_SOFT_SHUTDOWN default "12" help Configure what pin on CSPO-port that is used for controlling power supply. config ETRAX_POWERBUTTON_BIT int "Power button bit on port G" depends on ETRAX_SOFT_SHUTDOWN default "25" help Configure where power button is connected. endmenu endif if ETRAX_ARCH_V10 config ETRAX_ETHERNET bool "Ethernet support" depends on ETRAX_ARCH_V10 && NETDEVICES select MII help This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet controller. config ETRAX_SERIAL bool "Serial-port support" depends on ETRAX_ARCH_V10 help Enables the ETRAX 100 serial driver for ser0 (ttyS0) You probably want this enabled. config ETRAX_SERIAL_FAST_TIMER bool "Use fast timers for serial DMA flush (experimental)" depends on ETRAX_SERIAL help Select this to have the serial DMAs flushed at a higher rate than normally, possible by using the fast timer API, the timeout is approx. 4 character times. If unsure, say N. config ETRAX_SERIAL_FLUSH_DMA_FAST bool "Fast serial port DMA flush" depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER help Select this to have the serial DMAs flushed at a higher rate than normally possible through a fast timer interrupt (currently at 15360 Hz). If unsure, say N. config ETRAX_SERIAL_RX_TIMEOUT_TICKS int "Receive flush timeout (ticks) " depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER && !ETRAX_SERIAL_FLUSH_DMA_FAST default "5" help Number of timer ticks between flush of receive fifo (1 tick = 10ms). Try 0-3 for low latency applications. Approx 5 for high load applications (e.g. PPP). Maybe this should be more adaptive some day... config ETRAX_SERIAL_PORT0 bool "Serial port 0 enabled" depends on ETRAX_SERIAL help Enables the ETRAX 100 serial driver for ser0 (ttyS0) Normally you want this on, unless you use external DMA 1 that uses the same DMA channels. choice prompt "Ser0 DTR, RI, DSR and CD assignment" depends on ETRAX_SERIAL_PORT0 default ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE config ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE bool "No_DTR_RI_DSR_CD" config ETRAX_SER0_DTR_RI_DSR_CD_ON_PA bool "DTR_RI_DSR_CD_on_PA" config ETRAX_SER0_DTR_RI_DSR_CD_ON_PB bool "DTR_RI_DSR_CD_on_PB" help Enables the status and control signals DTR, RI, DSR and CD on PB for ser0. config ETRAX_SER0_DTR_RI_DSR_CD_MIXED bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB" endchoice config ETRAX_SER0_DTR_ON_PA_BIT int "Ser0 DTR on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED config ETRAX_SER0_RI_ON_PA_BIT int "Ser0 RI on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED config ETRAX_SER0_DSR_ON_PA_BIT int "Ser0 DSR on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED config ETRAX_SER0_CD_ON_PA_BIT int "Ser0 CD on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED config ETRAX_SER0_DTR_ON_PB_BIT int "Ser0 DTR on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the DTR signal for serial port 0. config ETRAX_SER0_RI_ON_PB_BIT int "Ser0 RI on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the RI signal for serial port 0. config ETRAX_SER0_DSR_ON_PB_BIT int "Ser0 DSR on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the DSR signal for serial port 0. config ETRAX_SER0_CD_ON_PB_BIT int "Ser0 CD on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT0 default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the CD signal for serial port 0. config ETRAX_SERIAL_PORT1 bool "Serial port 1 enabled" depends on ETRAX_SERIAL help Enables the ETRAX 100 serial driver for ser1 (ttyS1). choice prompt "Ser1 DTR, RI, DSR and CD assignment" depends on ETRAX_SERIAL_PORT1 default ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE config ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE bool "No_DTR_RI_DSR_CD" config ETRAX_SER1_DTR_RI_DSR_CD_ON_PA bool "DTR_RI_DSR_CD_on_PA" config ETRAX_SER1_DTR_RI_DSR_CD_ON_PB bool "DTR_RI_DSR_CD_on_PB" help Enables the status and control signals DTR, RI, DSR and CD on PB for ser1. config ETRAX_SER1_DTR_RI_DSR_CD_MIXED bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB" endchoice config ETRAX_SER1_DTR_ON_PA_BIT int "Ser1 DTR on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED config ETRAX_SER1_RI_ON_PA_BIT int "Ser1 RI on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED config ETRAX_SER1_DSR_ON_PA_BIT int "Ser1 DSR on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED config ETRAX_SER1_CD_ON_PA_BIT int "Ser1 CD on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED config ETRAX_SER1_DTR_ON_PB_BIT int "Ser1 DTR on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the DTR signal for serial port 1. config ETRAX_SER1_RI_ON_PB_BIT int "Ser1 RI on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the RI signal for serial port 1. config ETRAX_SER1_DSR_ON_PB_BIT int "Ser1 DSR on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the DSR signal for serial port 1. config ETRAX_SER1_CD_ON_PB_BIT int "Ser1 CD on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT1 default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED help Specify the pin of the PB port to carry the CD signal for serial port 1. comment "Make sure you do not have the same PB bits more than once!" depends on ETRAX_SERIAL && ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && ETRAX_SER1_DTR_RI_DSR_CD_ON_PB config ETRAX_SERIAL_PORT2 bool "Serial port 2 enabled" depends on ETRAX_SERIAL help Enables the ETRAX 100 serial driver for ser2 (ttyS2). choice prompt "Ser2 DTR, RI, DSR and CD assignment" depends on ETRAX_SERIAL_PORT2 default ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE config ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE bool "No_DTR_RI_DSR_CD" config ETRAX_SER2_DTR_RI_DSR_CD_ON_PA bool "DTR_RI_DSR_CD_on_PA" help Enables the status and control signals DTR, RI, DSR and CD on PA for ser2. config ETRAX_SER2_DTR_RI_DSR_CD_ON_PB bool "DTR_RI_DSR_CD_on_PB" config ETRAX_SER2_DTR_RI_DSR_CD_MIXED bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB" endchoice config ETRAX_SER2_DTR_ON_PA_BIT int "Ser2 DTR on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED help Specify the pin of the PA port to carry the DTR signal for serial port 2. config ETRAX_SER2_RI_ON_PA_BIT int "Ser2 RI on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED help Specify the pin of the PA port to carry the RI signal for serial port 2. config ETRAX_SER2_DSR_ON_PA_BIT int "Ser2 DSR on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED help Specify the pin of the PA port to carry the DTR signal for serial port 2. config ETRAX_SER2_CD_ON_PA_BIT int "Ser2 CD on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED help Specify the pin of the PA port to carry the CD signal for serial port 2. config ETRAX_SER2_DTR_ON_PB_BIT int "Ser2 DTR on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED config ETRAX_SER2_RI_ON_PB_BIT int "Ser2 RI on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED config ETRAX_SER2_DSR_ON_PB_BIT int "Ser2 DSR on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED config ETRAX_SER2_CD_ON_PB_BIT int "Ser2 CD on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT2 default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED config ETRAX_SERIAL_PORT3 bool "Serial port 3 enabled" depends on ETRAX_SERIAL help Enables the ETRAX 100 serial driver for ser3 (ttyS3). choice prompt "Ser3 DTR, RI, DSR and CD assignment" depends on ETRAX_SERIAL_PORT3 default ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE config ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE bool "No_DTR_RI_DSR_CD" config ETRAX_SER3_DTR_RI_DSR_CD_ON_PA bool "DTR_RI_DSR_CD_on_PA" config ETRAX_SER3_DTR_RI_DSR_CD_ON_PB bool "DTR_RI_DSR_CD_on_PB" config ETRAX_SER3_DTR_RI_DSR_CD_MIXED bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB" endchoice config ETRAX_SER3_DTR_ON_PA_BIT int "Ser3 DTR on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_RI_ON_PA_BIT int "Ser3 RI on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_DSR_ON_PA_BIT int "Ser3 DSR on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_CD_ON_PA_BIT int "Ser3 CD on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_DTR_ON_PB_BIT int "Ser3 DTR on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_RI_ON_PB_BIT int "Ser3 RI on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_DSR_ON_PB_BIT int "Ser3 DSR on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_SER3_CD_ON_PB_BIT int "Ser3 CD on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED depends on ETRAX_SERIAL_PORT3 default "-1" config ETRAX_RS485 bool "RS-485 support" depends on ETRAX_SERIAL help Enables support for RS-485 serial communication. For a primer on RS-485, see config ETRAX_RS485_ON_PA bool "RS-485 mode on PA" depends on ETRAX_RS485 help Control Driver Output Enable on RS485 transceiver using a pin on PA port: Axis 2400/2401 uses PA 3. config ETRAX_RS485_ON_PA_BIT int "RS-485 mode on PA bit" depends on ETRAX_RS485_ON_PA default "3" help Control Driver Output Enable on RS485 transceiver using a this bit on PA port. config ETRAX_RS485_DISABLE_RECEIVER bool "Disable serial receiver" depends on ETRAX_RS485 help It's necessary to disable the serial receiver to avoid serial loopback. Not all products are able to do this in software only. Axis 2400/2401 must disable receiver. config ETRAX_USB_HOST bool "USB host" select USB help This option enables the host functionality of the ETRAX 100LX built-in USB controller. In host mode the controller is designed for CTRL and BULK traffic only, INTR traffic may work as well however (depending on the requirements of timeliness). config ETRAX_PTABLE_SECTOR int "Byte-offset of partition table sector" depends on ETRAX_AXISFLASHMAP default "65536" help Byte-offset of the partition table in the first flash chip. The default value is 64kB and should not be changed unless you know exactly what you are doing. The only valid reason for changing this is when the flash block size is bigger than 64kB (e.g. when using two parallel 16 bit flashes). config ETRAX_I2C bool "I2C support" depends on ETRAX_ARCH_V10 help Enables an I2C driver on ETRAX100. EXAMPLE usage: i2c_arg = I2C_WRITEARG(STA013_WRITE_ADDR, reg, val); ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_WRITEREG), i2c_arg); i2c_arg = I2C_READARG(STA013_READ_ADDR, reg); val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg); # this is true for most products since PB-I2C seems to be somewhat # flawed.. config ETRAX_I2C_USES_PB_NOT_PB_I2C bool "I2C uses PB not PB-I2C" depends on ETRAX_I2C help Select whether to use the special I2C mode in the PB I/O register or not. This option needs to be selected in order to use some drivers that access the I2C I/O pins directly instead of going through the I2C driver, like the DS1302 realtime-clock driver. If you are uncertain, choose Y here. config ETRAX_I2C_DATA_PORT int "I2C SDA bit number" depends on ETRAX_I2C_USES_PB_NOT_PB_I2C default "0" help Selects the pin on Port B where the data pin is connected config ETRAX_I2C_CLK_PORT int "I2C SCL bit number" depends on ETRAX_I2C_USES_PB_NOT_PB_I2C default "1" help Select the pin on Port B where the clock pin is connected config ETRAX_I2C_EEPROM bool "I2C EEPROM (non-volatile RAM) support" depends on ETRAX_I2C help Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C driver. Select size option: Probed, 2k, 8k, 16k. (Probing works for 2k and 8k but not that well for 16k) choice prompt "EEPROM size" depends on ETRAX_I2C_EEPROM default ETRAX_I2C_EEPROM_PROBE config ETRAX_I2C_EEPROM_PROBE bool "Probed" help Specifies size or auto probe of the EEPROM size. Options: Probed, 2k, 8k, 16k. (Probing works for 2k and 8k but not that well for 16k) config ETRAX_I2C_EEPROM_2KB bool "2kB" help Use a 2kB EEPROM. config ETRAX_I2C_EEPROM_8KB bool "8kB" help Use a 8kB EEPROM. config ETRAX_I2C_EEPROM_16KB bool "16kB" help Use a 16kB EEPROM. endchoice config ETRAX_GPIO bool "GPIO support" depends on ETRAX_ARCH_V10 ---help--- Enables the ETRAX general port device (major 120, minors 0 and 1). You can use this driver to access the general port bits. It supports these ioctl's: #include fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set); ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear); val = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READBITS), NULL); Remember that you need to setup the port directions appropriately in the General configuration. config ETRAX_PA_CHANGEABLE_DIR hex "PA user changeable dir mask" depends on ETRAX_GPIO default "00" help This is a bitmask with information of what bits in PA that a user can change direction on using ioctl's. Bit set = changeable. You probably want 00 here. config ETRAX_PA_CHANGEABLE_BITS hex "PA user changeable bits mask" depends on ETRAX_GPIO default "FF" help This is a bitmask with information of what bits in PA that a user can change the value on using ioctl's. Bit set = changeable. You probably want 00 here. config ETRAX_PB_CHANGEABLE_DIR hex "PB user changeable dir mask" depends on ETRAX_GPIO default "00" help This is a bitmask with information of what bits in PB that a user can change direction on using ioctl's. Bit set = changeable. You probably want 00 here. config ETRAX_PB_CHANGEABLE_BITS hex "PB user changeable bits mask" depends on ETRAX_GPIO default "FF" help This is a bitmask with information of what bits in PB that a user can change the value on using ioctl's. Bit set = changeable. You probably want 00 here. endif if ETRAX_ARCH_V32 source arch/cris/arch-v32/mach-fs/Kconfig source arch/cris/arch-v32/mach-a3/Kconfig source drivers/cpufreq/Kconfig config ETRAX_DRAM_VIRTUAL_BASE hex depends on ETRAX_ARCH_V32 default "c0000000" choice prompt "Nbr of Ethernet LED groups" depends on ETRAX_ARCH_V32 default ETRAX_NBR_LED_GRP_ONE help Select how many Ethernet LED groups that can be used. Usually one per Ethernet interface is a good choice. config ETRAX_NBR_LED_GRP_ZERO bool "Use zero LED groups" help Select this if you do not want any Ethernet LEDs. config ETRAX_NBR_LED_GRP_ONE bool "Use one LED group" help Select this if you want one Ethernet LED group. This LED group can be used for one or more Ethernet interfaces. However, it is recommended that each Ethernet interface use a dedicated LED group. config ETRAX_NBR_LED_GRP_TWO bool "Use two LED groups" help Select this if you want two Ethernet LED groups. This is the best choice if you have more than one Ethernet interface and would like to have separate LEDs for the interfaces. endchoice config ETRAX_LED_G_NET0 string "Ethernet LED group 0 green LED bit" depends on ETRAX_ARCH_V32 && (ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO) default "PA3" help Bit to use for the green LED in Ethernet LED group 0. config ETRAX_LED_R_NET0 string "Ethernet LED group 0 red LED bit" depends on ETRAX_ARCH_V32 && (ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO) default "PA4" help Bit to use for the red LED in Ethernet LED group 0. config ETRAX_LED_G_NET1 string "Ethernet group 1 green LED bit" depends on ETRAX_ARCH_V32 && ETRAX_NBR_LED_GRP_TWO default "" help Bit to use for the green LED in Ethernet LED group 1. config ETRAX_LED_R_NET1 string "Ethernet group 1 red LED bit" depends on ETRAX_ARCH_V32 && ETRAX_NBR_LED_GRP_TWO default "" help Bit to use for the red LED in Ethernet LED group 1. config ETRAX_V32_LED2G string "Second green LED bit" depends on ETRAX_ARCH_V32 default "PA5" help Bit to use for the first green LED (status LED). Most Axis products use bit A5 here. config ETRAX_V32_LED2R string "Second red LED bit" depends on ETRAX_ARCH_V32 default "PA6" help Bit to use for the first red LED (network LED). Most Axis products use bit A6 here. config ETRAX_V32_LED3G string "Third green LED bit" depends on ETRAX_ARCH_V32 default "PA7" help Bit to use for the first green LED (drive/power LED). Most Axis products use bit A7 here. config ETRAX_V32_LED3R string "Third red LED bit" depends on ETRAX_ARCH_V32 default "PA7" help Bit to use for the first red LED (drive/power LED). Most Axis products use bit A7 here. choice prompt "Kernel GDB port" depends on ETRAX_KGDB default ETRAX_KGDB_PORT0 help Choose a serial port for kernel debugging. NOTE: This port should not be enabled under Drivers for built-in interfaces (as it has its own initialization code) and should not be the same as the debug port. config ETRAX_KGDB_PORT4 bool "Serial-4" depends on ETRAX_SERIAL_PORTS = 5 help Use serial port 4 for kernel debugging. endchoice config ETRAX_MEM_GRP1_CONFIG hex "MEM_GRP1_CONFIG" depends on ETRAX_ARCH_V32 default "4044a" help Waitstates for flash. The default value is suitable for the standard flashes used in axis products (120 ns). config ETRAX_MEM_GRP2_CONFIG hex "MEM_GRP2_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for SRAM. 0 is a good choice for most Axis products. config ETRAX_MEM_GRP3_CONFIG hex "MEM_GRP3_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for CSP0-3. 0 is a good choice for most Axis products. It may need to be changed if external devices such as extra register-mapped LEDs are used. config ETRAX_MEM_GRP4_CONFIG hex "MEM_GRP4_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for CSP4-6. 0 is a good choice for most Axis products. config ETRAX_SDRAM_GRP0_CONFIG hex "SDRAM_GRP0_CONFIG" depends on ETRAX_ARCH_V32 default "336" help SDRAM configuration for group 0. The value depends on the hardware configuration. The default value is suitable for 32 MB organized as two 16 bits chips (e.g. Axis part number 18550) connected as one 32 bit device (i.e. in the same group). config ETRAX_SDRAM_GRP1_CONFIG hex "SDRAM_GRP1_CONFIG" depends on ETRAX_ARCH_V32 default "0" help SDRAM configuration for group 1. The default value is 0 because group 1 is not used in the default configuration, described in the help for SDRAM_GRP0_CONFIG. config ETRAX_SDRAM_TIMING hex "SDRAM_TIMING" depends on ETRAX_ARCH_V32 default "104a" help SDRAM timing parameters. The default value is ok for most hardwares but large SDRAMs may require a faster refresh (a.k.a 8K refresh). The default value implies 100MHz clock and SDR mode. config ETRAX_SDRAM_COMMAND hex "SDRAM_COMMAND" depends on ETRAX_ARCH_V32 default "0" help SDRAM command. Should be 0 unless you really know what you are doing (may be != 0 for unusual address line mappings such as in a MCM).. config ETRAX_DEF_GIO_PA_OE hex "GIO_PA_OE" depends on ETRAX_ARCH_V32 default "1c" help Configures the direction of general port A bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PA_OUT hex "GIO_PA_OUT" depends on ETRAX_ARCH_V32 default "00" help Configures the initial data for the general port A bits. Most products should use 00 here. config ETRAX_DEF_GIO_PB_OE hex "GIO_PB_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port B bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PB_OUT hex "GIO_PB_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port B bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PC_OE hex "GIO_PC_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port C bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PC_OUT hex "GIO_PC_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port C bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PD_OE hex "GIO_PD_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port D bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PD_OUT hex "GIO_PD_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port D bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PE_OE hex "GIO_PE_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port E bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PE_OUT hex "GIO_PE_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port E bits. Most products should use 00000 here. endif if ETRAX_ARCH_V32 config ETRAX_ETHERNET bool "Ethernet support" depends on ETRAX_ARCH_V32 && NETDEVICES select MII help This option enables the ETRAX FS built-in 10/100Mbit Ethernet controller. config ETRAX_NO_PHY bool "PHY not present" depends on ETRAX_ETHERNET default N help This option disables all MDIO communication with an ethernet transceiver connected to the MII interface. This option shall typically be enabled if the MII interface is connected to a switch. This option should normally be disabled. If enabled, speed and duplex will be locked to 100 Mbit and full duplex. config ETRAXFS_SERIAL bool "Serial-port support" depends on ETRAX_ARCH_V32 select SERIAL_CORE select SERIAL_CORE_CONSOLE help Enables the ETRAX FS serial driver for ser0 (ttyS0) You probably want this enabled. config ETRAX_RS485 bool "RS-485 support" depends on ETRAXFS_SERIAL help Enables support for RS-485 serial communication. config ETRAX_RS485_DISABLE_RECEIVER bool "Disable serial receiver" depends on ETRAX_RS485 help It is necessary to disable the serial receiver to avoid serial loopback. Not all products are able to do this in software only. config ETRAX_SERIAL_PORT0 bool "Serial port 0 enabled" depends on ETRAXFS_SERIAL help Enables the ETRAX FS serial driver for ser0 (ttyS0) Normally you want this on. You can control what DMA channels to use if you do not need DMA to something else. ser0 can use dma4 or dma6 for output and dma5 or dma7 for input. config ETRAX_SERIAL_PORT1 bool "Serial port 1 enabled" depends on ETRAXFS_SERIAL help Enables the ETRAX FS serial driver for ser1 (ttyS1). config ETRAX_SERIAL_PORT2 bool "Serial port 2 enabled" depends on ETRAXFS_SERIAL help Enables the ETRAX FS serial driver for ser2 (ttyS2). config ETRAX_SERIAL_PORT3 bool "Serial port 3 enabled" depends on ETRAXFS_SERIAL help Enables the ETRAX FS serial driver for ser3 (ttyS3). config ETRAX_SYNCHRONOUS_SERIAL bool "Synchronous serial-port support" depends on ETRAX_ARCH_V32 help Enables the ETRAX FS synchronous serial driver. config ETRAX_SYNCHRONOUS_SERIAL_PORT0 bool "Synchronous serial port 0 enabled" depends on ETRAX_SYNCHRONOUS_SERIAL help Enabled synchronous serial port 0. config ETRAX_SYNCHRONOUS_SERIAL0_DMA bool "Enable DMA on synchronous serial port 0." depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0 help A synchronous serial port can run in manual or DMA mode. Selecting this option will make it run in DMA mode. config ETRAX_SYNCHRONOUS_SERIAL_PORT1 bool "Synchronous serial port 1 enabled" depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS help Enabled synchronous serial port 1. config ETRAX_SYNCHRONOUS_SERIAL1_DMA bool "Enable DMA on synchronous serial port 1." depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1 help A synchronous serial port can run in manual or DMA mode. Selecting this option will make it run in DMA mode. config ETRAX_AXISFLASHMAP bool "Axis flash-map support" depends on ETRAX_ARCH_V32 select MTD select MTD_CFI select MTD_CFI_AMDSTD select MTD_JEDECPROBE select MTD_BLOCK select MTD_COMPLEX_MAPPINGS help This option enables MTD mapping of flash devices. Needed to use flash memories. If unsure, say Y. config ETRAX_AXISFLASHMAP_MTD0WHOLE bool "MTD0 is whole boot flash device" depends on ETRAX_AXISFLASHMAP default N help When this option is not set, mtd0 refers to the first partition on the boot flash device. When set, mtd0 refers to the whole device, with mtd1 referring to the first partition etc. config ETRAX_PTABLE_SECTOR int "Byte-offset of partition table sector" depends on ETRAX_AXISFLASHMAP default "65536" help Byte-offset of the partition table in the first flash chip. The default value is 64kB and should not be changed unless you know exactly what you are doing. The only valid reason for changing this is when the flash block size is bigger than 64kB (e.g. when using two parallel 16 bit flashes). config ETRAX_NANDFLASH bool "NAND flash support" depends on ETRAX_ARCH_V32 select MTD_NAND select MTD_NAND_IDS help This option enables MTD mapping of NAND flash devices. Needed to use NAND flash memories. If unsure, say Y. config ETRAX_NANDBOOT bool "Boot from NAND flash" depends on ETRAX_NANDFLASH help This options enables booting from NAND flash devices. Say Y if your boot code, kernel and root file system is in NAND flash. Say N if they are in NOR flash. config ETRAX_I2C bool "I2C driver" depends on ETRAX_ARCH_V32 help This option enables the I2C driver used by e.g. the RTC driver. config ETRAX_V32_I2C_DATA_PORT string "I2C data pin" depends on ETRAX_I2C help The pin to use for I2C data. config ETRAX_V32_I2C_CLK_PORT string "I2C clock pin" depends on ETRAX_I2C help The pin to use for I2C clock. config ETRAX_GPIO bool "GPIO support" depends on ETRAX_ARCH_V32 ---help--- Enables the ETRAX general port device (major 120, minors 0-4). You can use this driver to access the general port bits. It supports these ioctl's: #include fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set); ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear); err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val); Remember that you need to setup the port directions appropriately in the General configuration. config ETRAX_VIRTUAL_GPIO bool "Virtual GPIO support" depends on ETRAX_GPIO help Enables the virtual Etrax general port device (major 120, minor 6). It uses an I/O expander for the I2C-bus. config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN int "Virtual GPIO interrupt pin on PA pin" range 0 7 depends on ETRAX_VIRTUAL_GPIO help The pin to use on PA for virtual gpio interrupt. config ETRAX_PA_CHANGEABLE_DIR hex "PA user changeable dir mask" depends on ETRAX_GPIO default "0x00" if ETRAXFS default "0x00000000" if !ETRAXFS help This is a bitmask (8 bits) with information of what bits in PA that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0 here, but it depends on your hardware. config ETRAX_PA_CHANGEABLE_BITS hex "PA user changeable bits mask" depends on ETRAX_GPIO default "0x00" if ETRAXFS default "0x00000000" if !ETRAXFS help This is a bitmask (8 bits) with information of what bits in PA that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_PB_CHANGEABLE_DIR hex "PB user changeable dir mask" depends on ETRAX_GPIO default "0x00000" if ETRAXFS default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PB that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0 here, but it depends on your hardware. config ETRAX_PB_CHANGEABLE_BITS hex "PB user changeable bits mask" depends on ETRAX_GPIO default "0x00000" if ETRAXFS default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PB that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_PC_CHANGEABLE_DIR hex "PC user changeable dir mask" depends on ETRAX_GPIO default "0x00000" if ETRAXFS default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PC that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0 here, but it depends on your hardware. config ETRAX_PC_CHANGEABLE_BITS hex "PC user changeable bits mask" depends on ETRAX_GPIO default "0x00000" if ETRAXFS default "0x00000000" if ETRAXFS help This is a bitmask (18 bits) with information of what bits in PC that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_PD_CHANGEABLE_DIR hex "PD user changeable dir mask" depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PD that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0x00000 here, but it depends on your hardware. config ETRAX_PD_CHANGEABLE_BITS hex "PD user changeable bits mask" depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PD that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_PE_CHANGEABLE_DIR hex "PE user changeable dir mask" depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PE that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0x00000 here, but it depends on your hardware. config ETRAX_PE_CHANGEABLE_BITS hex "PE user changeable bits mask" depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PE that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_PV_CHANGEABLE_DIR hex "PV user changeable dir mask" depends on ETRAX_VIRTUAL_GPIO default "0x0000" help This is a bitmask (16 bits) with information of what bits in PV that a user can change direction on using ioctl's. Bit set = changeable. You probably want 0x0000 here, but it depends on your hardware. config ETRAX_PV_CHANGEABLE_BITS hex "PV user changeable bits mask" depends on ETRAX_VIRTUAL_GPIO default "0x0000" help This is a bitmask (16 bits) with information of what bits in PV that a user can change the value on using ioctl's. Bit set = changeable. config ETRAX_CARDBUS bool "Cardbus support" depends on ETRAX_ARCH_V32 help Enabled the ETRAX Cardbus driver. config PCI bool depends on ETRAX_CARDBUS default y select HAVE_GENERIC_DMA_COHERENT config ETRAX_IOP_FW_LOAD tristate "IO-processor hotplug firmware loading support" depends on ETRAX_ARCH_V32 select FW_LOADER help Enables IO-processor hotplug firmware loading support. config ETRAX_STREAMCOPROC tristate "Stream co-processor driver enabled" depends on ETRAX_ARCH_V32 help This option enables a driver for the stream co-processor for cryptographic operations. config ETRAX_MMC_IOP tristate "MMC/SD host driver using IO-processor" depends on ETRAX_ARCH_V32 && MMC help This option enables the SD/MMC host controller interface. The host controller is implemented using the built in IO-Processor. Only the SPU is used in this implementation. config ETRAX_SPI_MMC # Make this one of several "choices" (possible simultaneously but # suggested uniquely) when an IOP driver emerges for "real" MMC/SD # protocol support. tristate depends on !ETRAX_MMC_IOP default MMC select SPI select MMC_SPI select ETRAX_SPI_MMC_BOARD # For the parts that can't be a module (due to restrictions in # framework elsewhere). config ETRAX_SPI_MMC_BOARD boolean default n # While the board info is MMC_SPI only, the drivers are written to be # independent of MMC_SPI, so we'll keep SPI non-dependent on the # MMC_SPI config choices (well, except for a single depends-on-line # for the board-info file until a separate non-MMC SPI board file # emerges). # FIXME: When that happens, we'll need to be able to ask for and # configure non-MMC SPI ports together with MMC_SPI ports (if multiple # SPI ports are enabled). config SPI_ETRAX_SSER tristate depends on SPI_MASTER && ETRAX_ARCH_V32 select SPI_BITBANG help This enables using an synchronous serial (sser) port as a SPI master controller on Axis ETRAX FS and later. The driver can be configured to use any sser port. config SPI_ETRAX_GPIO tristate depends on SPI_MASTER && ETRAX_ARCH_V32 select SPI_BITBANG help This enables using GPIO pins port as a SPI master controller on Axis ETRAX FS and later. The driver can be configured to use any GPIO pins. config ETRAX_SPI_SSER0 tristate "SPI using synchronous serial port 0 (sser0)" depends on ETRAX_SPI_MMC default m if MMC_SPI=m default y if MMC_SPI=y default y if MMC_SPI=n select SPI_ETRAX_SSER help Say Y for an MMC/SD socket connected to synchronous serial port 0, or for devices using the SPI protocol on that port. Say m if you want to build it as a module, which will be named spi_crisv32_sser. (You need to select MMC separately.) config ETRAX_SPI_SSER1 tristate "SPI using synchronous serial port 1 (sser1)" depends on ETRAX_SPI_MMC default m if MMC_SPI=m && ETRAX_SPI_SSER0=n default y if MMC_SPI=y && ETRAX_SPI_SSER0=n default y if MMC_SPI=n && ETRAX_SPI_SSER0=n select SPI_ETRAX_SSER help Say Y for an MMC/SD socket connected to synchronous serial port 1, or for devices using the SPI protocol on that port. Say m if you want to build it as a module, which will be named spi_crisv32_sser. (You need to select MMC separately.) config ETRAX_SPI_GPIO tristate "Bitbanged SPI using gpio pins" depends on ETRAX_SPI_MMC select SPI_ETRAX_GPIO default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n help Say Y for an MMC/SD socket connected to general I/O pins (but not a complete synchronous serial ports), or for devices using the SPI protocol on general I/O pins. Slow and slows down the system. Say m to build it as a module, which will be called spi_crisv32_gpio. (You need to select MMC separately.) endif if CRIS_MACH_ARTPEC3 menu "Artpec-3 options" depends on CRIS_MACH_ARTPEC3 config ETRAX_DRAM_VIRTUAL_BASE hex default "c0000000" config ETRAX_L2CACHE bool default y config ETRAX_SERIAL_PORTS int default 5 config ETRAX_DDR2_MRS hex "DDR2 MRS" default "0" config ETRAX_DDR2_TIMING hex "DDR2 SDRAM timing" default "0" help SDRAM timing parameters. config ETRAX_DDR2_CONFIG hex "DDR2 config" default "0" config ETRAX_DDR2_LATENCY hex "DDR2 latency" default "0" config ETRAX_PIO_CE0_CFG hex "PIO CE0 configuration" default "0" config ETRAX_PIO_CE1_CFG hex "PIO CE1 configuration" default "0" config ETRAX_PIO_CE2_CFG hex "PIO CE2 configuration" default "0" config ETRAX_DEF_GIO_PA_OE hex "GIO_PA_OE" default "00000000" help Configures the direction of general port A bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PA_OUT hex "GIO_PA_OUT" default "00000000" help Configures the initial data for the general port A bits. Most products should use 00 here. config ETRAX_DEF_GIO_PB_OE hex "GIO_PB_OE" default "000000000" help Configures the direction of general port B bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PB_OUT hex "GIO_PB_OUT" default "000000000" help Configures the initial data for the general port B bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PC_OE hex "GIO_PC_OE" default "00000" help Configures the direction of general port C bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PC_OUT hex "GIO_PC_OUT" default "00000" help Configures the initial data for the general port C bits. Most products should use 00000 here. endmenu endif if ETRAXFS menu "ETRAX FS options" depends on ETRAXFS config ETRAX_DRAM_VIRTUAL_BASE hex depends on ETRAX_ARCH_V32 default "c0000000" config ETRAX_SERIAL_PORTS int default 4 config ETRAX_MEM_GRP1_CONFIG hex "MEM_GRP1_CONFIG" depends on ETRAX_ARCH_V32 default "4044a" help Waitstates for flash. The default value is suitable for the standard flashes used in axis products (120 ns). config ETRAX_MEM_GRP2_CONFIG hex "MEM_GRP2_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for SRAM. 0 is a good choice for most Axis products. config ETRAX_MEM_GRP3_CONFIG hex "MEM_GRP3_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for CSP0-3. 0 is a good choice for most Axis products. It may need to be changed if external devices such as extra register-mapped LEDs are used. config ETRAX_MEM_GRP4_CONFIG hex "MEM_GRP4_CONFIG" depends on ETRAX_ARCH_V32 default "0" help Waitstates for CSP4-6. 0 is a good choice for most Axis products. config ETRAX_SDRAM_GRP0_CONFIG hex "SDRAM_GRP0_CONFIG" depends on ETRAX_ARCH_V32 default "336" help SDRAM configuration for group 0. The value depends on the hardware configuration. The default value is suitable for 32 MB organized as two 16 bits chips (e.g. Axis part number 18550) connected as one 32 bit device (i.e. in the same group). config ETRAX_SDRAM_GRP1_CONFIG hex "SDRAM_GRP1_CONFIG" depends on ETRAX_ARCH_V32 default "0" help SDRAM configuration for group 1. The default value is 0 because group 1 is not used in the default configuration, described in the help for SDRAM_GRP0_CONFIG. config ETRAX_SDRAM_TIMING hex "SDRAM_TIMING" depends on ETRAX_ARCH_V32 default "104a" help SDRAM timing parameters. The default value is ok for most hardwares but large SDRAMs may require a faster refresh (a.k.a 8K refresh). The default value implies 100MHz clock and SDR mode. config ETRAX_SDRAM_COMMAND hex "SDRAM_COMMAND" depends on ETRAX_ARCH_V32 default "0" help SDRAM command. Should be 0 unless you really know what you are doing (may be != 0 for unusual address line mappings such as in a MCM).. config ETRAX_DEF_GIO_PA_OE hex "GIO_PA_OE" depends on ETRAX_ARCH_V32 default "1c" help Configures the direction of general port A bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PA_OUT hex "GIO_PA_OUT" depends on ETRAX_ARCH_V32 default "00" help Configures the initial data for the general port A bits. Most products should use 00 here. config ETRAX_DEF_GIO_PB_OE hex "GIO_PB_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port B bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PB_OUT hex "GIO_PB_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port B bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PC_OE hex "GIO_PC_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port C bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PC_OUT hex "GIO_PC_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port C bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PD_OE hex "GIO_PD_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port D bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PD_OUT hex "GIO_PD_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port D bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PE_OE hex "GIO_PE_OE" depends on ETRAX_ARCH_V32 default "00000" help Configures the direction of general port E bits. 1 is out, 0 is in. This is often totally different depending on the product used. There are some guidelines though - if you know that only LED's are connected to port PA, then they are usually connected to bits 2-4 and you can therefore use 1c. On other boards which don't have the LED's at the general ports, these bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PE_OUT hex "GIO_PE_OUT" depends on ETRAX_ARCH_V32 default "00000" help Configures the initial data for the general port E bits. Most products should use 00000 here. config ETRAX_DEF_GIO_PV_OE hex "GIO_PV_OE" depends on ETRAX_VIRTUAL_GPIO default "0000" help Configures the direction of virtual general port V bits. 1 is out, 0 is in. This is often totally different depending on the product used. These bits are used for all kinds of stuff. If you don't know what to use, it is always safe to put all as inputs, although floating inputs isn't good. config ETRAX_DEF_GIO_PV_OUT hex "GIO_PV_OUT" depends on ETRAX_VIRTUAL_GPIO default "0000" help Configures the initial data for the virtual general port V bits. Most products should use 0000 here. endmenu endif config FRV bool default y select HAVE_IDE select HAVE_ARCH_TRACEHOOK select HAVE_PERF_EVENTS select HAVE_UID16 select VIRT_TO_BUS select GENERIC_IRQ_SHOW select HAVE_DEBUG_BUGVERBOSE select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES select ARCH_WANT_IPC_PARSE_VERSION select OLD_SIGSUSPEND3 select OLD_SIGACTION select HAVE_DEBUG_STACKOVERFLOW config ZONE_DMA bool default y config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default n config TIME_LOW_RES bool default y config QUICKLIST bool default y config ARCH_HAS_ILOG2_U32 bool default y config ARCH_HAS_ILOG2_U64 bool default y config HZ int default 1000 source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Fujitsu FR-V system setup" config MMU bool "MMU support" help This options switches on and off support for the FR-V MMU (effectively switching between vmlinux and uClinux). Not all FR-V CPUs support this. Currently only the FR451 has a sufficiently featured MMU. config FRV_OUTOFLINE_ATOMIC_OPS bool "Out-of-line the FRV atomic operations" default n help Setting this option causes the FR-V atomic operations to be mostly implemented out-of-line. See Documentation/frv/atomic-ops.txt for more information. config HIGHMEM bool "High memory support" depends on MMU default y help If you wish to use more than 256MB of memory with your MMU based system, you will need to select this option. The kernel can only see the memory between 0xC0000000 and 0xD0000000 directly... everything else must be kmapped. The arch is, however, capable of supporting up to 3GB of SDRAM. config HIGHPTE bool "Allocate page tables in highmem" depends on HIGHMEM default y help The VM uses one page of memory for each page table. For systems with a lot of RAM, this can be wasteful of precious low memory. Setting this option will put user-space page tables in high memory. source "mm/Kconfig" choice prompt "uClinux kernel load address" depends on !MMU default UCPAGE_OFFSET_C0000000 help This option sets the base address for the uClinux kernel. The kernel will rearrange the SDRAM layout to start at this address, and move itself to start there. It must be greater than 0, and it must be sufficiently less than 0xE0000000 that the SDRAM does not intersect the I/O region. The base address must also be aligned such that the SDRAM controller can decode it. For instance, a 512MB SDRAM bank must be 512MB aligned. config UCPAGE_OFFSET_20000000 bool "0x20000000" config UCPAGE_OFFSET_40000000 bool "0x40000000" config UCPAGE_OFFSET_60000000 bool "0x60000000" config UCPAGE_OFFSET_80000000 bool "0x80000000" config UCPAGE_OFFSET_A0000000 bool "0xA0000000" config UCPAGE_OFFSET_C0000000 bool "0xC0000000 (Recommended)" endchoice config PAGE_OFFSET hex default 0x20000000 if UCPAGE_OFFSET_20000000 default 0x40000000 if UCPAGE_OFFSET_40000000 default 0x60000000 if UCPAGE_OFFSET_60000000 default 0x80000000 if UCPAGE_OFFSET_80000000 default 0xA0000000 if UCPAGE_OFFSET_A0000000 default 0xC0000000 config PROTECT_KERNEL bool "Protect core kernel against userspace" depends on !MMU default y help Selecting this option causes the uClinux kernel to change the permittivity of DAMPR register covering the core kernel image to prevent userspace accessing the underlying memory directly. choice prompt "CPU Caching mode" default FRV_DEFL_CACHE_WBACK help This option determines the default caching mode for the kernel. Write-Back caching mode involves the all reads and writes causing the affected cacheline to be read into the cache first before being operated upon. Memory is not then updated by a write until the cache is filled and a cacheline needs to be displaced from the cache to make room. Only at that point is it written back. Write-Behind caching is similar to Write-Back caching, except that a write won't fetch a cacheline into the cache if there isn't already one there; it will write directly to memory instead. Write-Through caching only fetches cachelines from memory on a read. Writes always get written directly to memory. If the affected cacheline is also in cache, it will be updated too. The final option is to turn of caching entirely. Note that not all CPUs support Write-Behind caching. If the CPU on which the kernel is running doesn't, it'll fall back to Write-Back caching. config FRV_DEFL_CACHE_WBACK bool "Write-Back" config FRV_DEFL_CACHE_WBEHIND bool "Write-Behind" config FRV_DEFL_CACHE_WTHRU bool "Write-Through" config FRV_DEFL_CACHE_DISABLED bool "Disabled" endchoice menu "CPU core support" config CPU_FR401 bool "Include FR401 core support" depends on !MMU default y help This enables support for the FR401, FR401A and FR403 CPUs config CPU_FR405 bool "Include FR405 core support" depends on !MMU default y help This enables support for the FR405 CPU config CPU_FR451 bool "Include FR451 core support" default y help This enables support for the FR451 CPU config CPU_FR451_COMPILE bool "Specifically compile for FR451 core" depends on CPU_FR451 && !CPU_FR401 && !CPU_FR405 && !CPU_FR551 default y help This causes appropriate flags to be passed to the compiler to optimise for the FR451 CPU config CPU_FR551 bool "Include FR551 core support" depends on !MMU default y help This enables support for the FR555 CPU config CPU_FR551_COMPILE bool "Specifically compile for FR551 core" depends on CPU_FR551 && !CPU_FR401 && !CPU_FR405 && !CPU_FR451 default y help This causes appropriate flags to be passed to the compiler to optimise for the FR555 CPU config FRV_L1_CACHE_SHIFT int default "5" if CPU_FR401 || CPU_FR405 || CPU_FR451 default "6" if CPU_FR551 endmenu choice prompt "System support" default MB93091_VDK config MB93091_VDK bool "MB93091 CPU board with or without motherboard" config MB93093_PDK bool "MB93093 PDK unit" endchoice if MB93091_VDK choice prompt "Motherboard support" default MB93090_MB00 config MB93090_MB00 bool "Use the MB93090-MB00 motherboard" help Select this option if the MB93091 CPU board is going to be used with a MB93090-MB00 VDK motherboard config MB93091_NO_MB bool "Use standalone" help Select this option if the MB93091 CPU board is going to be used without a motherboard endchoice endif config FUJITSU_MB93493 bool "MB93493 Multimedia chip" help Select this option if the MB93493 multimedia chip is going to be used. choice prompt "GP-Relative data support" default GPREL_DATA_8 help This option controls what data, if any, should be placed in the GP relative data sections. Using this means that the compiler can generate accesses to the data using GR16-relative addressing which is faster than absolute instructions and saves space (2 instructions per access). However, the GPREL region is limited in size because the immediate value used in the load and store instructions is limited to a 12-bit signed number. So if the linker starts complaining that accesses to GPREL data are out of range, try changing this option from the default. Note that modules will always be compiled with this feature disabled as the module data will not be in range of the GP base address. config GPREL_DATA_8 bool "Put data objects of up to 8 bytes into GP-REL" config GPREL_DATA_4 bool "Put data objects of up to 4 bytes into GP-REL" config GPREL_DATA_NONE bool "Don't use GP-REL" endchoice config FRV_ONCPU_SERIAL bool "Use on-CPU serial ports" select SERIAL_8250 default y config PCI bool "Use PCI" depends on MB93090_MB00 default y select GENERIC_PCI_IOMAP help Some FR-V systems (such as the MB93090-MB00 VDK) have PCI onboard. If you have one of these boards and you wish to use the PCI facilities, say Y here. config RESERVE_DMA_COHERENT bool "Reserve DMA coherent memory" depends on PCI && !MMU default y help Many PCI drivers require access to uncached memory for DMA device communications (such as is done with some Ethernet buffer rings). If a fully featured MMU is available, this can be done through page table settings, but if not, a region has to be set aside and marked with a special DAMPR register. Setting this option causes uClinux to set aside a portion of the available memory for use in this manner. The memory will then be unavailable for normal kernel use. source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" menu "Power management options" config ARCH_SUSPEND_POSSIBLE def_bool y source kernel/power/Kconfig endmenu endmenu menu "Executable formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/frv/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # Hexagon configuration comment "Linux Kernel Configuration for Hexagon" config HEXAGON def_bool y select HAVE_OPROFILE # Other pending projects/to-do items. # select HAVE_REGS_AND_STACK_ACCESS_API # select HAVE_HW_BREAKPOINT if PERF_EVENTS # select ARCH_HAS_CPU_IDLE_WAIT # select ARCH_WANT_OPTIONAL_GPIOLIB # select ARCH_REQUIRE_GPIOLIB # select HAVE_CLK # select GENERIC_PENDING_IRQ if SMP select GENERIC_ATOMIC64 select HAVE_PERF_EVENTS # GENERIC_ALLOCATOR is used by dma_alloc_coherent() select GENERIC_ALLOCATOR select GENERIC_IRQ_SHOW select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select NO_IOPORT select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD select STACKTRACE_SUPPORT select KTIME_SCALAR select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS_BROADCAST select MODULES_USE_ELF_RELA select GENERIC_CPU_DEVICES ---help--- Qualcomm Hexagon is a processor architecture designed for high performance and low power across a wide variety of applications. config HEXAGON_PHYS_OFFSET def_bool y ---help--- Platforms that don't load the kernel at zero set this. config FRAME_POINTER def_bool y config LOCKDEP_SUPPORT def_bool y config PCI def_bool n config EARLY_PRINTK def_bool y config MMU def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y config GENERIC_CSUM def_bool y # # Use the generic interrupt handling code in kernel/irq/: # config GENERIC_IRQ_PROBE def_bool y config NEED_SG_DMA_LENGTH def_bool y config RWSEM_GENERIC_SPINLOCK def_bool n config RWSEM_XCHGADD_ALGORITHM def_bool y config GENERIC_HWEIGHT def_bool y config STACKTRACE_SUPPORT def_bool y select STACKTRACE config GENERIC_BUG def_bool y depends on BUG menu "Machine selection" choice prompt "System type" default HEXAGON_COMET config HEXAGON_COMET bool "Comet Board" ---help--- Support for the Comet platform. endchoice config HEXAGON_ARCH_VERSION int "Architecture version" default 2 config CMDLINE string "Default kernel command string" default "" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these, you should supply some command-line options at build time by entering them here. At a minimum, you should specify the memory size and the root device (e.g., mem=64M root=/dev/nfs). config SMP bool "Multi-Processing support" ---help--- Enables SMP support in the kernel. If unsure, say "Y" config NR_CPUS int "Maximum number of CPUs" if SMP range 2 6 if SMP default "1" if !SMP default "6" if SMP ---help--- This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 6 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. choice prompt "Kernel page size" default PAGE_SIZE_4KB ---help--- Changes the default page size; use with caution. config PAGE_SIZE_4KB bool "4KB" config PAGE_SIZE_16KB bool "16KB" config PAGE_SIZE_64KB bool "64KB" config PAGE_SIZE_256KB bool "256KB" endchoice source "mm/Kconfig" source "kernel/Kconfig.hz" endmenu source "init/Kconfig" source "kernel/Kconfig.freezer" source "drivers/Kconfig" source "fs/Kconfig" menu "Executable File Formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Kernel hacking" source "lib/Kconfig.debug" endmenu source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" config IA64 bool select ARCH_MIGHT_HAVE_PC_PARPORT select PCI if (!IA64_HP_SIM) select ACPI if (!IA64_HP_SIM) select PM if (!IA64_HP_SIM) select HAVE_UNSTABLE_SCHED_CLOCK select HAVE_IDE select HAVE_OPROFILE select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_FTRACE_MCOUNT_RECORD select HAVE_DYNAMIC_FTRACE if (!ITANIUM) select HAVE_FUNCTION_TRACER select HAVE_DMA_ATTRS select HAVE_KVM select HAVE_ARCH_TRACEHOOK select HAVE_DMA_API_DEBUG select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_VIRT_CPU_ACCOUNTING select VIRT_TO_BUS select ARCH_DISCARD_MEMBLOCK select GENERIC_IRQ_PROBE select GENERIC_PENDING_IRQ if SMP select GENERIC_IRQ_SHOW select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD select ARCH_INIT_TASK select ARCH_TASK_STRUCT_ALLOCATOR select ARCH_THREAD_INFO_ALLOCATOR select ARCH_CLOCKSOURCE_DATA select GENERIC_TIME_VSYSCALL_OLD select SYSCTL_ARCH_UNALIGN_NO_WARN select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select ARCH_USE_CMPXCHG_LOCKREF default y help The Itanium Processor Family is Intel's 64-bit successor to the 32-bit X86 line. The IA-64 Linux project has a home page at and a mailing list at . config 64BIT bool select ATA_NONSTANDARD if ATA default y config ZONE_DMA def_bool y depends on !IA64_SGI_SN2 config QUICKLIST bool default y config MMU bool default y config ARCH_DMA_ADDR_T_64BIT def_bool y config NEED_DMA_MAP_STATE def_bool y config NEED_SG_DMA_LENGTH def_bool y config SWIOTLB bool config STACKTRACE_SUPPORT def_bool y config GENERIC_LOCKBREAK def_bool n config RWSEM_XCHGADD_ALGORITHM bool default y config HUGETLB_PAGE_SIZE_VARIABLE bool depends on HUGETLB_PAGE default y config GENERIC_CALIBRATE_DELAY bool default y config HAVE_SETUP_PER_CPU_AREA def_bool y config DMI bool default y config EFI bool select UCS2_STRING default y config SCHED_OMIT_FRAME_POINTER bool default y config IA64_UNCACHED_ALLOCATOR bool select GENERIC_ALLOCATOR config ARCH_USES_PG_UNCACHED def_bool y depends on IA64_UNCACHED_ALLOCATOR config AUDIT_ARCH bool default y menuconfig PARAVIRT_GUEST bool "Paravirtualized guest support" depends on BROKEN help Say Y here to get to see options related to running Linux under various hypervisors. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if PARAVIRT_GUEST config PARAVIRT bool "Enable paravirtualization code" depends on PARAVIRT_GUEST default y help This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly over full virtualization. However, when run without a hypervisor the kernel is theoretically slower and slightly larger. source "arch/ia64/xen/Kconfig" endif choice prompt "System type" default IA64_GENERIC config IA64_GENERIC bool "generic" select NUMA select ACPI_NUMA select SWIOTLB select PCI_MSI help This selects the system type of your hardware. A "generic" kernel will run on any supported IA-64 system. However, if you configure a kernel for your specific system, it will be faster and smaller. generic For any supported IA-64 system DIG-compliant For DIG ("Developer's Interface Guide") compliant systems DIG+Intel+IOMMU For DIG systems with Intel IOMMU HP-zx1/sx1000 For HP systems HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices. SGI-SN2 For SGI Altix systems SGI-UV For SGI UV systems Ski-simulator For the HP simulator Xen-domU For xen domU system If you don't know what to do, choose "generic". config IA64_DIG bool "DIG-compliant" select SWIOTLB config IA64_DIG_VTD bool "DIG+Intel+IOMMU" select INTEL_IOMMU select PCI_MSI config IA64_HP_ZX1 bool "HP-zx1/sx1000" help Build a kernel that runs on HP zx1 and sx1000 systems. This adds support for the HP I/O MMU. config IA64_HP_ZX1_SWIOTLB bool "HP-zx1/sx1000 with software I/O TLB" select SWIOTLB help Build a kernel that runs on HP zx1 and sx1000 systems even when they have broken PCI devices which cannot DMA to full 32 bits. Apart from support for the HP I/O MMU, this includes support for the software I/O TLB, which allows supporting the broken devices at the expense of wasting some kernel memory (about 2MB by default). config IA64_SGI_SN2 bool "SGI-SN2" select NUMA select ACPI_NUMA help Selecting this option will optimize the kernel for use on sn2 based systems, but the resulting kernel binary will not run on other types of ia64 systems. If you have an SGI Altix system, it's safe to select this option. If in doubt, select ia64 generic support instead. config IA64_SGI_UV bool "SGI-UV" select NUMA select ACPI_NUMA select SWIOTLB help Selecting this option will optimize the kernel for use on UV based systems, but the resulting kernel binary will not run on other types of ia64 systems. If you have an SGI UV system, it's safe to select this option. If in doubt, select ia64 generic support instead. config IA64_HP_SIM bool "Ski-simulator" select SWIOTLB config IA64_XEN_GUEST bool "Xen guest" select SWIOTLB depends on XEN help Build a kernel that runs on Xen guest domain. At this moment only 16KB page size in supported. endchoice choice prompt "Processor type" default ITANIUM config ITANIUM bool "Itanium" help Select your IA-64 processor type. The default is Itanium. This choice is safe for all IA-64 systems, but may not perform optimally on systems with, say, Itanium 2 or newer processors. config MCKINLEY bool "Itanium 2" help Select this to configure for an Itanium 2 (McKinley) processor. endchoice choice prompt "Kernel page size" default IA64_PAGE_SIZE_16KB config IA64_PAGE_SIZE_4KB bool "4KB" help This lets you select the page size of the kernel. For best IA-64 performance, a page size of 8KB or 16KB is recommended. For best IA-32 compatibility, a page size of 4KB should be selected (the vast majority of IA-32 binaries work perfectly fine with a larger page size). For Itanium 2 or newer systems, a page size of 64KB can also be selected. 4KB For best IA-32 compatibility 8KB For best IA-64 performance 16KB For best IA-64 performance 64KB Requires Itanium 2 or newer processor. If you don't know what to do, choose 16KB. config IA64_PAGE_SIZE_8KB bool "8KB" config IA64_PAGE_SIZE_16KB bool "16KB" config IA64_PAGE_SIZE_64KB depends on !ITANIUM bool "64KB" endchoice choice prompt "Page Table Levels" default PGTABLE_3 config PGTABLE_3 bool "3 Levels" config PGTABLE_4 depends on !IA64_PAGE_SIZE_64KB bool "4 Levels" endchoice if IA64_HP_SIM config HZ default 32 endif if !IA64_HP_SIM source kernel/Kconfig.hz endif config IA64_BRL_EMU bool depends on ITANIUM default y # align cache-sensitive data to 128 bytes config IA64_L1_CACHE_SHIFT int default "7" if MCKINLEY default "6" if ITANIUM config IA64_CYCLONE bool "Cyclone (EXA) Time Source support" help Say Y here to enable support for IBM EXA Cyclone time source. If you're unsure, answer N. config IOSAPIC bool depends on !IA64_HP_SIM default y config FORCE_MAX_ZONEORDER int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE range 11 17 if !HUGETLB_PAGE default "17" if HUGETLB_PAGE default "11" config SMP bool "Symmetric multi-processing support" help This enables support for systems with more than one CPU. If you have a system with only one CPU, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor systems, but will use only one CPU of a multiprocessor system. If you say Y here, the kernel will run on many, but not all, single processor systems. On a single processor system, the kernel will run faster if you say N here. See also the SMP-HOWTO available at . If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs (2-4096)" range 2 4096 depends on SMP default "4096" help You should set this to the number of CPUs in your system, but keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but only use 2 CPUs on a >2 CPU system. Setting this to a value larger than 64 will cause the use of a CPU mask array, causing a small performance hit. config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP default n ---help--- Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. config ARCH_ENABLE_MEMORY_HOTPLUG def_bool y config ARCH_ENABLE_MEMORY_HOTREMOVE def_bool y config SCHED_SMT bool "SMT scheduler support" depends on SMP help Improves the CPU scheduler's decision making when dealing with Intel IA64 chips with MultiThreading at a cost of slightly increased overhead in some places. If unsure say N here. config PERMIT_BSP_REMOVE bool "Support removal of Bootstrap Processor" depends on HOTPLUG_CPU default n ---help--- Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU support. config FORCE_CPEI_RETARGET bool "Force assumption that CPEI can be re-targeted" depends on PERMIT_BSP_REMOVE default n ---help--- Say Y if you need to force the assumption that CPEI can be re-targeted to any cpu in the system. This hint is available via ACPI 3.0 specifications. Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP. This option it useful to enable this feature on older BIOS's as well. You can also enable this by using boot command line option force_cpei=1. source "kernel/Kconfig.preempt" source "mm/Kconfig" config ARCH_SELECT_MEMORY_MODEL def_bool y config ARCH_DISCONTIGMEM_ENABLE def_bool y help Say Y to support efficient handling of discontiguous physical memory, for architectures which are either NUMA (Non-Uniform Memory Access) or have huge holes in the physical address space for other reasons. See for more. config ARCH_FLATMEM_ENABLE def_bool y config ARCH_SPARSEMEM_ENABLE def_bool y depends on ARCH_DISCONTIGMEM_ENABLE select SPARSEMEM_VMEMMAP_ENABLE config ARCH_DISCONTIGMEM_DEFAULT def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) depends on ARCH_DISCONTIGMEM_ENABLE config NUMA bool "NUMA support" depends on !IA64_HP_SIM && !FLATMEM default y if IA64_SGI_SN2 select ACPI_NUMA if ACPI help Say Y to compile the kernel to support NUMA (Non-Uniform Memory Access). This option is for configuring high-end multiprocessor server systems. If in doubt, say N. config NODES_SHIFT int "Max num nodes shift(3-10)" range 3 10 default "10" depends on NEED_MULTIPLE_NODES help This option specifies the maximum number of nodes in your SSI system. MAX_NUMNODES will be 2^(This value). If in doubt, use the default. # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. # VIRTUAL_MEM_MAP has been retained for historical reasons. config VIRTUAL_MEM_MAP bool "Virtual mem map" depends on !SPARSEMEM default y if !IA64_HP_SIM help Say Y to compile the kernel with support for a virtual mem map. This code also only takes effect if a memory hole of greater than 1 Gb is found during boot. You must turn this option on if you require the DISCONTIGMEM option for your machine. If you are unsure, say Y. config HOLES_IN_ZONE bool default y if VIRTUAL_MEM_MAP config HAVE_ARCH_EARLY_PFN_TO_NID def_bool NUMA && SPARSEMEM config HAVE_ARCH_NODEDATA_EXTENSION def_bool y depends on NUMA config USE_PERCPU_NUMA_NODE_ID def_bool y depends on NUMA config HAVE_MEMORYLESS_NODES def_bool NUMA config ARCH_PROC_KCORE_TEXT def_bool y depends on PROC_KCORE config IA64_MCA_RECOVERY tristate "MCA recovery from errors other than TLB." config PERFMON bool "Performance monitor support" help Selects whether support for the IA-64 performance monitor hardware is included in the kernel. This makes some kernel data-structures a little bigger and slows down execution a bit, but it is generally a good idea to turn this on. If you're unsure, say Y. config IA64_PALINFO tristate "/proc/pal support" help If you say Y here, you are able to get PAL (Processor Abstraction Layer) information in /proc/pal. This contains useful information about the processors in your systems, such as cache and TLB sizes and the PAL firmware version in use. To use this option, you have to ensure that the "/proc file system support" (CONFIG_PROC_FS) is enabled, too. config IA64_MC_ERR_INJECT tristate "MC error injection support" help Adds support for MC error injection. If enabled, the kernel will provide a sysfs interface for user applications to call MC error injection PAL procedures to inject various errors. This is a useful tool for MCA testing. If you're unsure, do not select this option. config SGI_SN def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) config IA64_ESI bool "ESI (Extensible SAL Interface) support" help If you say Y here, support is built into the kernel to make ESI calls. ESI calls are used to support vendor-specific firmware extensions, such as the ability to inject memory-errors for test-purposes. If you're unsure, say N. config IA64_HP_AML_NFW bool "Support ACPI AML calls to native firmware" help This driver installs a global ACPI Operation Region handler for region 0xA1. AML methods can use this OpRegion to call arbitrary native firmware functions. The driver installs the OpRegion handler if there is an HPQ5001 device or if the user supplies the "force" module parameter, e.g., with the "aml_nfw.force" kernel command line option. source "drivers/sn/Kconfig" config KEXEC bool "kexec system call" depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. The name comes from the similarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. As of this writing the exact hardware interface is strongly in flux, so no good recommendation can be made. config CRASH_DUMP bool "kernel crash dumps" depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) help Generate crash dump after being started by kexec. source "drivers/firmware/Kconfig" source "fs/Kconfig.binfmt" endmenu menu "Power management and ACPI options" source "kernel/power/Kconfig" source "drivers/acpi/Kconfig" if PM menu "CPU Frequency scaling" source "drivers/cpufreq/Kconfig" endmenu endif endmenu if !IA64_HP_SIM menu "Bus options (PCI, PCMCIA)" config PCI bool "PCI support" help Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y here unless you are using a simulator without PCI support. config PCI_DOMAINS def_bool PCI config PCI_SYSCALL def_bool PCI source "drivers/pci/pcie/Kconfig" source "drivers/pci/Kconfig" source "drivers/pci/hotplug/Kconfig" source "drivers/pcmcia/Kconfig" endmenu endif source "net/Kconfig" source "drivers/Kconfig" source "arch/ia64/hp/sim/Kconfig" config MSPEC tristate "Memory special operations driver" depends on IA64 select IA64_UNCACHED_ALLOCATOR help If you have an ia64 and you want to enable memory special operations support (formerly known as fetchop), say Y here, otherwise say N. source "fs/Kconfig" source "arch/ia64/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "arch/ia64/kvm/Kconfig" source "lib/Kconfig" config IOMMU_HELPER def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) menu "HP Simulator drivers" depends on IA64_HP_SIM || IA64_GENERIC config HP_SIMETH bool "Simulated Ethernet " depends on NET config HP_SIMSERIAL bool "Simulated serial driver support" depends on TTY config HP_SIMSERIAL_CONSOLE bool "Console for HP simulator" depends on HP_SIMSERIAL config HP_SIMSCSI bool "Simulated SCSI disk" depends on SCSI=y endmenu # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" depends on HAVE_KVM || IA64 default y ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM tristate "Kernel-based Virtual Machine (KVM) support" depends on BROKEN depends on HAVE_KVM && MODULES depends on BROKEN select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_IRQCHIP select HAVE_KVM_IRQ_ROUTING select KVM_APIC_ARCHITECTURE select KVM_MMIO ---help--- Support hosting fully virtualized guest machines using hardware virtualization extensions. You will need a fairly recent processor equipped with virtualization extensions. You will also need to select one or more of the processor modules below. This module provides access to the hardware capabilities through a character device node named /dev/kvm. To compile this as a module, choose M here: the module will be called kvm. If unsure, say N. config KVM_INTEL tristate "KVM for Intel Itanium 2 processors support" depends on KVM && m ---help--- Provides support for KVM on Itanium 2 processors equipped with the VT extensions. config KVM_DEVICE_ASSIGNMENT bool "KVM legacy PCI device assignment support" depends on KVM && PCI && IOMMU_API default y ---help--- Provide support for legacy PCI device assignment through KVM. The kernel now also supports a full featured userspace device driver framework through VFIO, which supersedes much of this support. If unsure, say Y. source drivers/vhost/Kconfig endif # VIRTUALIZATION # # This Kconfig describes xen/ia64 options # config XEN bool "Xen hypervisor support" default y depends on PARAVIRT && MCKINLEY && IA64_PAGE_SIZE_16KB select XEN_XENCOMM select NO_IDLE_HZ # followings are required to save/restore. select ARCH_SUSPEND_POSSIBLE select SUSPEND select PM_SLEEP help Enable Xen hypervisor support. Resulting kernel runs both as a guest OS on Xen and natively on hardware. config XEN_XENCOMM depends on XEN bool config NO_IDLE_HZ depends on XEN bool config M32R bool default y select HAVE_IDE select HAVE_OPROFILE select INIT_ALL_POSSIBLE select HAVE_KERNEL_GZIP select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_LZMA select ARCH_WANT_IPC_PARSE_VERSION select HAVE_DEBUG_BUGVERBOSE select VIRT_TO_BUS select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 select ARCH_USES_GETTIMEOFFSET select MODULES_USE_ELF_RELA select HAVE_DEBUG_STACKOVERFLOW config SBUS bool config GENERIC_ISA_DMA bool default y config ZONE_DMA bool default y config NO_IOPORT def_bool y config NO_DMA def_bool y config HZ int default 100 source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" choice prompt "Platform Type" default PLAT_MAPPI config PLAT_MAPPI bool "Mappi-I" help The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping. You can operate a Linux system on this board by using an M32R softmacro core, which is a fully-synthesizable functional model described in Verilog-HDL. The Mappi-I board was the first platform, which had been used to port and develop a Linux system for the M32R processor. Currently, the Mappi-II, an heir to the Mappi-I, is available. config PLAT_USRV bool "uServer" select PLAT_HAS_INT1ICU config PLAT_M32700UT bool "M32700UT" select PLAT_HAS_INT0ICU select PLAT_HAS_INT1ICU select PLAT_HAS_INT2ICU help The M3T-M32700UT is an evaluation board based on uT-Engine specification. This board has an M32700 (Chaos) evaluation chip. You can say Y for SMP, because the M32700 is a single chip multiprocessor. config PLAT_OPSPUT bool "OPSPUT" select PLAT_HAS_INT0ICU select PLAT_HAS_INT1ICU select PLAT_HAS_INT2ICU help The OPSPUT is an evaluation board based on uT-Engine specification. This board has a OPSP-REP chip. config PLAT_OAKS32R bool "OAKS32R" help The OAKS32R is a tiny, inexpensive evaluation board. Please note that if you say Y here and choose chip "M32102", say N for MMU and select a no-MMU version kernel, otherwise a kernel with MMU support will not work, because the M32102 is a microcontroller for embedded systems and it has no MMU. config PLAT_MAPPI2 bool "Mappi-II(M3A-ZA36/M3A-ZA52)" config PLAT_MAPPI3 bool "Mappi-III(M3A-2170)" config PLAT_M32104UT bool "M32104UT" select PLAT_HAS_INT1ICU help The M3T-M32104UT is an reference board based on uT-Engine specification. This board has a M32104 chip. endchoice choice prompt "Processor family" default CHIP_M32700 config CHIP_M32700 bool "M32700 (Chaos)" config CHIP_M32102 bool "M32102" config CHIP_M32104 bool "M32104" depends on PLAT_M32104UT config CHIP_VDEC2 bool "VDEC2" config CHIP_OPSP bool "OPSP" endchoice config MMU bool "Support for memory management hardware" depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP default y config TLB_ENTRIES int "TLB Entries" depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP default 32 if CHIP_M32700 || CHIP_OPSP default 16 if CHIP_VDEC2 config ISA_M32R bool depends on CHIP_M32102 || CHIP_M32104 default y config ISA_M32R2 bool depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP default y config ISA_DSP_LEVEL2 bool depends on CHIP_M32700 || CHIP_OPSP default y config ISA_DUAL_ISSUE bool depends on CHIP_M32700 || CHIP_OPSP default y config PLAT_HAS_INT0ICU bool default n config PLAT_HAS_INT1ICU bool default n config PLAT_HAS_INT2ICU bool default n config BUS_CLOCK int "Bus Clock [Hz] (integer)" default "70000000" if PLAT_MAPPI default "25000000" if PLAT_USRV default "50000000" if PLAT_MAPPI3 default "50000000" if PLAT_M32700UT default "50000000" if PLAT_OPSPUT default "54000000" if PLAT_M32104UT default "33333333" if PLAT_OAKS32R default "20000000" if PLAT_MAPPI2 config TIMER_DIVIDE int "Timer divider (integer)" default "128" config CPU_LITTLE_ENDIAN bool "Generate little endian code" default n config MEMORY_START hex "Physical memory start address (hex)" default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3 default "08000000" if PLAT_USRV default "08000000" if PLAT_M32700UT default "08000000" if PLAT_OPSPUT default "04000000" if PLAT_M32104UT default "01000000" if PLAT_OAKS32R config MEMORY_SIZE hex "Physical memory size (hex)" default "08000000" if PLAT_MAPPI3 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2 default "02000000" if PLAT_USRV default "01000000" if PLAT_M32700UT default "01000000" if PLAT_OPSPUT default "01000000" if PLAT_M32104UT default "00800000" if PLAT_OAKS32R config ARCH_DISCONTIGMEM_ENABLE bool "Internal RAM Support" depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104 default y source "mm/Kconfig" config IRAM_START hex "Internal memory start address (hex)" default "00f00000" if !CHIP_M32104 default "00700000" if CHIP_M32104 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM config IRAM_SIZE hex "Internal memory size (hex)" depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM default "00080000" if CHIP_M32700 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104 default "00008000" if CHIP_VDEC2 # # Define implied options from the CPU selection here # config GENERIC_LOCKBREAK bool default y depends on SMP && PREEMPT config RWSEM_GENERIC_SPINLOCK bool depends on M32R default y config RWSEM_XCHGADD_ALGORITHM bool default n config ARCH_HAS_ILOG2_U32 bool default n config ARCH_HAS_ILOG2_U64 bool default n config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config SCHED_OMIT_FRAME_POINTER bool default y source "kernel/Kconfig.preempt" config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also the SMP-HOWTO available at . If you don't know what to do here, say N. config CHIP_M32700_TS1 bool "Workaround code for the M32700 TS1 chip's bug" depends on (CHIP_M32700 && SMP) default n config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "2" help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. # Common NUMA Features config NUMA bool "Numa Memory Allocation Support" depends on SMP && BROKEN default n config NODES_SHIFT int default "1" depends on NEED_MULTIPLE_NODES endmenu menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" config PCI bool "PCI support" depends on BROKEN default n help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. choice prompt "PCI access mode" depends on PCI default PCI_GOANY config PCI_GOBIOS bool "BIOS" ---help--- On PCI systems, the BIOS can be used to detect the PCI devices and determine their configuration. However, some old PCI motherboards have BIOS bugs and may crash if this is done. Also, some embedded PCI-based systems don't have any BIOS at all. Linux can also try to detect the PCI hardware directly without using the BIOS. With this option, you can specify how Linux should detect the PCI devices. If you choose "BIOS", the BIOS will be used, if you choose "Direct", the BIOS won't be used, and if you choose "Any", the kernel will try the direct access method and falls back to the BIOS if that doesn't work. If unsure, go with the default, which is "Any". config PCI_GODIRECT bool "Direct" config PCI_GOANY bool "Any" endchoice config PCI_BIOS bool depends on PCI && (PCI_GOBIOS || PCI_GOANY) default y config PCI_DIRECT bool depends on PCI && (PCI_GODIRECT || PCI_GOANY) default y source "drivers/pci/Kconfig" config ISA bool source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/m32r/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" config M68K bool default y select ARCH_MIGHT_HAVE_PC_PARPORT if ISA select HAVE_IDE select HAVE_AOUT if MMU select HAVE_DEBUG_BUGVERBOSE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 select HAVE_UID16 select VIRT_TO_BUS select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES select GENERIC_IOMAP select GENERIC_STRNCPY_FROM_USER if MMU select GENERIC_STRNLEN_USER if MMU select FPU if MMU select ARCH_WANT_IPC_PARSE_VERSION select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_REL select MODULES_USE_ELF_RELA select OLD_SIGSUSPEND3 select OLD_SIGACTION config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool config ARCH_HAS_ILOG2_U64 bool config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config GENERIC_CSUM bool config TIME_LOW_RES bool default y config NO_IOPORT def_bool y config NO_DMA def_bool (MMU && SUN3) || (!MMU && !COLDFIRE) config ZONE_DMA bool default y config HZ int default 1000 if CLEOPATRA default 100 source "init/Kconfig" source "kernel/Kconfig.freezer" config MMU bool "MMU-based Paged Memory Management Support" default y help Select if you want MMU-based virtualised addressing space support by paged memory management. If unsure, say 'Y'. config MMU_MOTOROLA bool config MMU_COLDFIRE bool config MMU_SUN3 bool depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE menu "Platform setup" source arch/m68k/Kconfig.cpu source arch/m68k/Kconfig.machine source arch/m68k/Kconfig.bus endmenu menu "Kernel Features" if COLDFIRE source "kernel/Kconfig.preempt" endif source "mm/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu if !MMU menu "Power management options" config PM bool "Power Management support" help Support processor power management modes endmenu endif source "net/Kconfig" source "drivers/Kconfig" source "arch/m68k/Kconfig.devices" source "fs/Kconfig" source "arch/m68k/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" config METAG def_bool y select EMBEDDED select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD select HAVE_64BIT_ALIGNED_ACCESS select HAVE_ARCH_TRACEHOOK select HAVE_C_RECORDMCOUNT select HAVE_DEBUG_KMEMLEAK select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZO select HAVE_KERNEL_XZ select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_MOD_ARCH_SPECIFIC select HAVE_OPROFILE select HAVE_PERF_EVENTS select HAVE_SYSCALL_TRACEPOINTS select HAVE_UNDERSCORE_SYMBOL_PREFIX select IRQ_DOMAIN select MODULES_USE_ELF_RELA select OF select OF_EARLY_FLATTREE select SPARSE_IRQ select HAVE_DEBUG_STACKOVERFLOW config STACKTRACE_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM bool config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config NO_IOPORT def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" config MMU def_bool y config STACK_GROWSUP def_bool y config HOTPLUG_CPU bool "Enable CPU hotplug support" depends on SMP help Say Y here to allow turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. Say N if you want to disable CPU hotplug. config HIGHMEM bool "High Memory Support" help The address space of Meta processors is only 4 Gigabytes large and it has to accommodate user address space, kernel address space as well as some memory mapped IO. That means that, if you have a large amount of physical memory and/or IO, not all of the memory can be "permanently mapped" by the kernel. The physical memory that is not permanently mapped is called "high memory". Depending on the selected kernel/user memory split, minimum vmalloc space and actual amount of RAM, you may not need this option which should result in a slightly faster kernel. If unsure, say n. source "arch/metag/mm/Kconfig" source "arch/metag/Kconfig.soc" config METAG_META12 bool help Select this from the SoC config symbol to indicate that it contains a Meta 1.2 core. config METAG_META21 bool help Select this from the SoC config symbol to indicate that it contains a Meta 2.1 core. config SMP bool "Symmetric multi-processing support" depends on METAG_META21 && METAG_META21_MMU help This enables support for systems with more than one thread running Linux. If you have a system with only one thread running Linux, say N. Otherwise, say Y. config NR_CPUS int "Maximum number of CPUs (2-4)" if SMP range 2 4 if SMP default "1" if !SMP default "4" if SMP config METAG_SMP_WRITE_REORDERING bool help This attempts to prevent cache-memory incoherence due to external reordering of writes from different hardware threads when SMP is enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an attempt to catch some of the cases, and also before writes to shared memory in LOCK1 protected atomics and spinlocks. This will not completely prevent cache incoherency on affected cores. config METAG_LNKGET_AROUND_CACHE bool depends on METAG_META21 help This indicates that the LNKGET/LNKSET instructions go around the cache, which requires some extra cache flushes when the memory needs to be accessed by normal GET/SET instructions too. choice prompt "Atomicity primitive" default METAG_ATOMICITY_LNKGET help This option selects the mechanism for performing atomic operations. config METAG_ATOMICITY_IRQSOFF depends on !SMP bool "irqsoff" help This option disables interrupts to achieve atomicity. This mechanism is not SMP-safe. config METAG_ATOMICITY_LNKGET depends on METAG_META21 bool "lnkget/lnkset" help This option uses the LNKGET and LNKSET instructions to achieve atomicity. LNKGET/LNKSET are load-link/store-conditional instructions. Choose this option if your system requires low latency. config METAG_ATOMICITY_LOCK1 depends on SMP bool "lock1" help This option uses the LOCK1 instruction for atomicity. This is mainly provided as a debugging aid if the lnkget/lnkset atomicity primitive isn't working properly. endchoice config METAG_FPU bool "FPU Support" depends on METAG_META21 default y help This option allows processes to use FPU hardware available with this CPU. If this option is not enabled FPU registers will not be saved and restored on context-switch. If you plan on running programs which are compiled to use hard floats say Y here. config METAG_DSP bool "DSP Support" help This option allows processes to use DSP hardware available with this CPU. If this option is not enabled DSP registers will not be saved and restored on context-switch. If you plan on running DSP programs say Y here. config METAG_PERFCOUNTER_IRQS bool "PerfCounters interrupt support" depends on METAG_META21 help This option enables using interrupts to collect information from Performance Counters. This option is supported in new META21 (starting from HTP265). When disabled, Performance Counters information will be collected based on Timer Interrupt. config HW_PERF_EVENTS def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS config METAG_DA bool "DA support" help Say Y if you plan to use a DA debug adapter with Linux. The presence of the DA will be detected automatically at boot, so it is safe to say Y to this option even when booting without a DA. This enables support for services provided by DA JTAG debug adapters, such as: - communication over DA channels (such as the console driver). - use of the DA filesystem. menu "Boot options" config METAG_BUILTIN_DTB bool "Embed DTB in kernel image" default y help Embeds a device tree binary in the kernel image. config METAG_BUILTIN_DTB_NAME string "Built in DTB" depends on METAG_BUILTIN_DTB help Set the name of the DTB to embed (leave blank to pick one automatically based on kernel configuration). config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Kernel command line" depends on CMDLINE_BOOL help On some architectures there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. config CMDLINE_FORCE bool "Force default kernel command string" depends on CMDLINE_BOOL help Set this to have arguments from the default kernel command string override those passed by the boot loader. endmenu source "kernel/Kconfig.preempt" source kernel/Kconfig.hz endmenu menu "Power management options" source kernel/power/Kconfig endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/metag/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Memory management options" config PAGE_OFFSET hex "Kernel page offset address" default "0x40000000" help This option allows you to set the virtual address at which the kernel will be mapped to. endmenu config KERNEL_4M_PAGES bool "Map kernel with 4MB pages" depends on METAG_META21_MMU default y help Map the kernel with large pages to reduce TLB pressure. choice prompt "User page size" default PAGE_SIZE_4K config PAGE_SIZE_4K bool "4kB" help This is the default page size used by all Meta cores. config PAGE_SIZE_8K bool "8kB" depends on METAG_META21_MMU help This enables 8kB pages as supported by Meta 2.x and later MMUs. config PAGE_SIZE_16K bool "16kB" depends on METAG_META21_MMU help This enables 16kB pages as supported by Meta 2.x and later MMUs. endchoice config NUMA bool "Non Uniform Memory Access (NUMA) Support" select ARCH_WANT_NUMA_VARIABLE_LOCALITY help Some Meta systems have MMU-mappable on-chip memories with lower latencies than main memory. This enables support for these blocks by binding them to nodes and allowing memory policies to be used for prioritizing and controlling allocation behaviour. config FORCE_MAX_ZONEORDER int "Maximum zone order" range 10 32 default "10" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. The page size is not necessarily 4KB. Keep this in mind when choosing a value for this option. config METAG_L2C bool "Level 2 Cache Support" depends on METAG_META21 help Press y here to enable support for the Meta Level 2 (L2) cache. This will enable the cache at start up if it hasn't already been enabled by the bootloader. If the bootloader enables the L2 you must press y here to ensure the kernel takes the appropriate actions to keep the cache coherent. config NODES_SHIFT int default "1" depends on NEED_MULTIPLE_NODES config ARCH_FLATMEM_ENABLE def_bool y depends on !NUMA config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_STATIC config ARCH_SPARSEMEM_DEFAULT def_bool y config ARCH_SELECT_MEMORY_MODEL def_bool y config SYS_SUPPORTS_HUGETLBFS def_bool y depends on METAG_META21_MMU choice prompt "HugeTLB page size" depends on METAG_META21_MMU && HUGETLB_PAGE default HUGETLB_PAGE_SIZE_1M config HUGETLB_PAGE_SIZE_8K bool "8kB" depends on PAGE_SIZE_4K config HUGETLB_PAGE_SIZE_16K bool "16kB" depends on PAGE_SIZE_4K || PAGE_SIZE_8K config HUGETLB_PAGE_SIZE_32K bool "32kB" config HUGETLB_PAGE_SIZE_64K bool "64kB" config HUGETLB_PAGE_SIZE_128K bool "128kB" config HUGETLB_PAGE_SIZE_256K bool "256kB" config HUGETLB_PAGE_SIZE_512K bool "512kB" config HUGETLB_PAGE_SIZE_1M bool "1MB" config HUGETLB_PAGE_SIZE_2M bool "2MB" config HUGETLB_PAGE_SIZE_4M bool "4MB" endchoice config METAG_COREMEM bool default y if SUSPEND source "mm/Kconfig" config MICROBLAZE def_bool y select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_FUNCTION_GRAPH_TRACER select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select ARCH_WANT_OPTIONAL_GPIOLIB select HAVE_OPROFILE select HAVE_ARCH_KGDB select HAVE_DMA_ATTRS select HAVE_DMA_API_DEBUG select TRACING_SUPPORT select OF select OF_EARLY_FLATTREE select ARCH_WANT_IPC_PARSE_VERSION select HAVE_DEBUG_KMEMLEAK select IRQ_DOMAIN select VIRT_TO_BUS select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS select GENERIC_IDLE_POLL_SETUP select MODULES_USE_ELF_RELA select CLONE_BACKWARDS3 select CLKSRC_OF config SWAP def_bool n config RWSEM_GENERIC_SPINLOCK def_bool y config ZONE_DMA def_bool y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 def_bool n config ARCH_HAS_ILOG2_U64 def_bool n config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config GENERIC_CSUM def_bool y config STACKTRACE_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" source "arch/microblaze/platform/Kconfig.platform" menu "Processor type and features" source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" config MMU bool "MMU support" default n comment "Boot options" config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Default kernel command string" depends on CMDLINE_BOOL default "console=ttyUL0,115200" help On some architectures there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. config CMDLINE_FORCE bool "Force default kernel command string" depends on CMDLINE_BOOL default n help Set this to have arguments from the default kernel command string override those passed by the boot loader. config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" depends on PROC_FS default y help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via /proc//seccomp, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. Only embedded should say N here. endmenu menu "Advanced setup" config ADVANCED_OPTIONS bool "Prompt for advanced kernel configuration options" help This option will enable prompting for a variety of advanced kernel configuration options. These options can cause the kernel to not work if they are set incorrectly, but can be used to optimize certain aspects of kernel memory management. Unless you know what you are doing, say N here. comment "Default settings for advanced configuration options are used" depends on !ADVANCED_OPTIONS config XILINX_UNCACHED_SHADOW bool "Are you using uncached shadow for RAM ?" depends on ADVANCED_OPTIONS && !MMU default n help This is needed to be able to allocate uncachable memory regions. The feature requires the design to define the RAM memory controller window to be twice as large as the actual physical memory. config HIGHMEM bool "High memory support" depends on MMU help The address space of Microblaze processors is only 4 Gigabytes large and it has to accommodate user address space, kernel address space as well as some memory mapped IO. That means that, if you have a large amount of physical memory and/or IO, not all of the memory can be "permanently mapped" by the kernel. The physical memory that is not permanently mapped is called "high memory". If unsure, say n. config LOWMEM_SIZE_BOOL bool "Set maximum low memory" depends on ADVANCED_OPTIONS && MMU help This option allows you to set the maximum amount of memory which will be used as "low memory", that is, memory which the kernel can access directly, without having to set up a kernel virtual mapping. This can be useful in optimizing the layout of kernel virtual memory. Say N here unless you know what you are doing. config LOWMEM_SIZE hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL default "0x30000000" config MANUAL_RESET_VECTOR hex "Microblaze reset vector address setup" default "0x0" help Set this option to have the kernel override the CPU Reset vector. If zero, no change will be made to the MicroBlaze reset vector at address 0x0. If non-zero, a jump instruction to this address, will be written to the reset vector at address 0x0. If you are unsure, set it to default value 0x0. config KERNEL_START_BOOL bool "Set custom kernel base address" depends on ADVANCED_OPTIONS help This option allows you to set the kernel virtual address at which the kernel will map low memory (the kernel image will be linked at this address). This can be useful in optimizing the virtual memory layout of the system. Say N here unless you know what you are doing. config KERNEL_START hex "Virtual address of kernel base" if KERNEL_START_BOOL default "0xc0000000" if MMU default KERNEL_BASE_ADDR if !MMU config TASK_SIZE_BOOL bool "Set custom user task size" depends on ADVANCED_OPTIONS && MMU help This option allows you to set the amount of virtual address space allocated to user tasks. This can be useful in optimizing the virtual memory layout of the system. Say N here unless you know what you are doing. config TASK_SIZE hex "Size of user task space" if TASK_SIZE_BOOL default "0x80000000" choice prompt "Page size" default MICROBLAZE_4K_PAGES depends on ADVANCED_OPTIONS && !MMU help Select the kernel logical page size. Increasing the page size will reduce software overhead at each page boundary, allow hardware prefetch mechanisms to be more effective, and allow larger dma transfers increasing IO efficiency and reducing overhead. However the utilization of memory will increase. For example, each cached file will using a multiple of the page size to hold its contents and the difference between the end of file and the end of page is wasted. If unsure, choose 4K_PAGES. config MICROBLAZE_4K_PAGES bool "4k page size" config MICROBLAZE_16K_PAGES bool "16k page size" config MICROBLAZE_64K_PAGES bool "64k page size" endchoice endmenu source "mm/Kconfig" menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu menu "Bus Options" config PCI bool "PCI support" config PCI_DOMAINS def_bool PCI config PCI_SYSCALL def_bool PCI config PCI_XILINX bool "Xilinx PCI host bridge support" depends on PCI source "drivers/pci/Kconfig" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/microblaze/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" config MIPS bool default y select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_CONTEXT_TRACKING select HAVE_GENERIC_DMA_COHERENT select HAVE_IDE select HAVE_OPROFILE select HAVE_PERF_EVENTS select PERF_USE_VMALLOC select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select ARCH_HAVE_CUSTOM_GPIO_H select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_C_RECORDMCOUNT select HAVE_FUNCTION_GRAPH_TRACER select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_DEBUG_KMEMLEAK select HAVE_SYSCALL_TRACEPOINTS select ARCH_BINFMT_ELF_RANDOMIZE_PIE select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT select RTC_LIB if !MACH_LOONGSON select GENERIC_ATOMIC64 if !64BIT select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select HAVE_DMA_ATTRS select HAVE_DMA_API_DEBUG select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_PCI_IOMAP select HAVE_ARCH_JUMP_LABEL select ARCH_WANT_IPC_PARSE_VERSION select IRQ_FORCED_THREADING select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD select BUILDTIME_EXTABLE_SORT select GENERIC_CLOCKEVENTS select GENERIC_CMOS_UPDATE select HAVE_MOD_ARCH_SPECIFIC select VIRT_TO_BUS select MODULES_USE_ELF_REL if MODULES select MODULES_USE_ELF_RELA if MODULES && 64BIT select CLONE_BACKWARDS select HAVE_DEBUG_STACKOVERFLOW menu "Machine selection" choice prompt "System type" default SGI_IP22 config MIPS_ALCHEMY bool "Alchemy processor based machines" select 64BIT_PHYS_ADDR select CEVT_R4K select CSRC_R4K select IRQ_CPU select SYS_HAS_CPU_MIPS32_R1 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_APM_EMULATION select ARCH_REQUIRE_GPIOLIB select SYS_SUPPORTS_ZBOOT select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI config AR7 bool "Texas Instruments AR7" select BOOT_ELF32 select DMA_NONCOHERENT select CEVT_R4K select CSRC_R4K select IRQ_CPU select NO_EXCEPT_FILL select SWAP_IO_SPACE select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_ZBOOT_UART16550 select ARCH_REQUIRE_GPIOLIB select VLYNQ select HAVE_CLK help Support for the Texas Instruments AR7 System-on-a-Chip family: TNETD7100, 7200 and 7300. config ATH79 bool "Atheros AR71XX/AR724X/AR913X based boards" select ARCH_REQUIRE_GPIOLIB select BOOT_RAW select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select HAVE_CLK select CLKDEV_LOOKUP select IRQ_CPU select MIPS_MACHINE select SYS_HAS_CPU_MIPS32_R2 select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN help Support for the Atheros AR71XX/AR724X/AR913X SoCs. config BCM47XX bool "Broadcom BCM47XX based boards" select ARCH_WANT_OPTIONAL_GPIOLIB select BOOT_RAW select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select FW_CFE select HW_HAS_PCI select IRQ_CPU select SYS_HAS_CPU_MIPS32_R1 select NO_EXCEPT_FILL select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK help Support for BCM47XX based boards config BCM63XX bool "Broadcom BCM63XX based boards" select BOOT_RAW select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_BMIPS4350 if !BCM63XX_CPU_6338 && !BCM63XX_CPU_6345 && !BCM63XX_CPU_6348 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_HAS_EARLY_PRINTK select SWAP_IO_SPACE select ARCH_REQUIRE_GPIOLIB select HAVE_CLK help Support for BCM63XX based boards config MIPS_COBALT bool "Cobalt Server" select CEVT_R4K select CSRC_R4K select CEVT_GT641XX select DMA_NONCOHERENT select EARLY_PRINTK_8250 if EARLY_PRINTK select HW_HAS_PCI select I8253 select I8259 select IRQ_CPU select IRQ_GT641XX select PCI_GT64XXX_PCI0 select PCI select SYS_HAS_CPU_NEVADA select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN config MACH_DECSTATION bool "DECstations" select BOOT_ELF32 select CEVT_DS1287 select CEVT_R4K select CSRC_IOASIC select CSRC_R4K select CPU_DADDI_WORKAROUNDS if 64BIT select CPU_R4000_WORKAROUNDS if 64BIT select CPU_R4400_WORKAROUNDS if 64BIT select DMA_NONCOHERENT select NO_IOPORT select IRQ_CPU select SYS_HAS_CPU_R3000 select SYS_HAS_CPU_R4X00 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_128HZ select SYS_SUPPORTS_256HZ select SYS_SUPPORTS_1024HZ help This enables support for DEC's MIPS based workstations. For details see the Linux/MIPS FAQ on and the DECstation porting pages on . If you have one of the following DECstation Models you definitely want to choose R4xx0 for the CPU Type: DECstation 5000/50 DECstation 5000/150 DECstation 5000/260 DECsystem 5900/260 otherwise choose R3000. config MACH_JAZZ bool "Jazz family of machines" select FW_ARC select FW_ARC32 select ARCH_MAY_HAVE_PC_FDC select CEVT_R4K select CSRC_R4K select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN select GENERIC_ISA_DMA select HAVE_PCSPKR_PLATFORM select IRQ_CPU select I8253 select I8259 select ISA select SYS_HAS_CPU_R4X00 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_100HZ help This a family of machines based on the MIPS R4030 chipset which was used by several vendors to build RISC/os and Windows NT workstations. Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and Olivetti M700-10 workstations. config MACH_JZ4740 bool "Ingenic JZ4740 based machines" select SYS_HAS_CPU_MIPS32_R1 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_ZBOOT_UART16550 select DMA_NONCOHERENT select IRQ_CPU select ARCH_REQUIRE_GPIOLIB select SYS_HAS_EARLY_PRINTK select HAVE_PWM select HAVE_CLK select GENERIC_IRQ_CHIP config LANTIQ bool "Lantiq based platforms" select DMA_NONCOHERENT select IRQ_CPU select CEVT_R4K select CSRC_R4K select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R2 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_MULTITHREADING select SYS_HAS_EARLY_PRINTK select ARCH_REQUIRE_GPIOLIB select SWAP_IO_SPACE select BOOT_RAW select HAVE_MACH_CLKDEV select CLKDEV_LOOKUP select USE_OF select PINCTRL select PINCTRL_LANTIQ config LASAT bool "LASAT Networks platforms" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select SYS_HAS_EARLY_PRINTK select HW_HAS_PCI select IRQ_CPU select PCI_GT64XXX_PCI0 select MIPS_NILE4 select R5000_CPU_SCACHE select SYS_HAS_CPU_R5000 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL if BROKEN select SYS_SUPPORTS_LITTLE_ENDIAN config MACH_LOONGSON bool "Loongson family of machines" select SYS_SUPPORTS_ZBOOT help This enables the support of Loongson family of machines. Loongson is a family of general-purpose MIPS-compatible CPUs. developed at Institute of Computing Technology (ICT), Chinese Academy of Sciences (CAS) in the People's Republic of China. The chief architect is Professor Weiwu Hu. config MACH_LOONGSON1 bool "Loongson 1 family of machines" select SYS_SUPPORTS_ZBOOT help This enables support for the Loongson 1 based machines. Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by the ICT (Institute of Computing Technology) and the Chinese Academy of Sciences. config MIPS_MALTA bool "MIPS Malta board" select ARCH_MAY_HAVE_PC_FDC select BOOT_ELF32 select BOOT_RAW select CEVT_R4K select CSRC_R4K select CSRC_GIC select DMA_NONCOHERENT select GENERIC_ISA_DMA select HAVE_PCSPKR_PLATFORM select IRQ_CPU select IRQ_GIC select HW_HAS_PCI select I8253 select I8259 select MIPS_BONITO64 select MIPS_CPU_SCACHE select PCI_GT64XXX_PCI0 select MIPS_MSC select SWAP_IO_SPACE select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R2 select SYS_HAS_CPU_MIPS64_R1 select SYS_HAS_CPU_MIPS64_R2 select SYS_HAS_CPU_NEVADA select SYS_HAS_CPU_RM7000 select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_MIPS_CMP select SYS_SUPPORTS_MULTITHREADING select SYS_SUPPORTS_SMARTMIPS select SYS_SUPPORTS_ZBOOT help This enables support for the MIPS Technologies Malta evaluation board. config MIPS_SEAD3 bool "MIPS SEAD3 board" select BOOT_ELF32 select BOOT_RAW select CEVT_R4K select CSRC_R4K select CSRC_GIC select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select DMA_NONCOHERENT select IRQ_CPU select IRQ_GIC select MIPS_MSC select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R2 select SYS_HAS_CPU_MIPS64_R1 select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_SMARTMIPS select SYS_SUPPORTS_MICROMIPS select USB_ARCH_HAS_EHCI select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO select USE_OF help This enables support for the MIPS Technologies SEAD3 evaluation board. config NEC_MARKEINS bool "NEC EMMA2RH Mark-eins board" select SOC_EMMA2RH select HW_HAS_PCI help This enables support for the NEC Electronics Mark-eins boards. config MACH_VR41XX bool "NEC VR4100 series based machines" select CEVT_R4K select CSRC_R4K select SYS_HAS_CPU_VR41XX select ARCH_REQUIRE_GPIOLIB config NXP_STB220 bool "NXP STB220 board" select SOC_PNX833X help Support for NXP Semiconductors STB220 Development Board. config NXP_STB225 bool "NXP 225 board" select SOC_PNX833X select SOC_PNX8335 help Support for NXP Semiconductors STB225 Development Board. config PMC_MSP bool "PMC-Sierra MSP chipsets" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select SWAP_IO_SPACE select NO_EXCEPT_FILL select BOOT_RAW select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R2 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select IRQ_CPU select SERIAL_8250 select SERIAL_8250_CONSOLE select USB_EHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_DESC help This adds support for the PMC-Sierra family of Multi-Service Processor System-On-A-Chips. These parts include a number of integrated peripherals, interfaces and DSPs in addition to a variety of MIPS cores. config RALINK bool "Ralink based machines" select CEVT_R4K select CSRC_R4K select BOOT_RAW select DMA_NONCOHERENT select IRQ_CPU select USE_OF select SYS_HAS_CPU_MIPS32_R1 select SYS_HAS_CPU_MIPS32_R2 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK select HAVE_MACH_CLKDEV select CLKDEV_LOOKUP select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER config SGI_IP22 bool "SGI IP22 (Indy/Indigo2)" select FW_ARC select FW_ARC32 select BOOT_ELF32 select CEVT_R4K select CSRC_R4K select DEFAULT_SGI_PARTITION select DMA_NONCOHERENT select HW_HAS_EISA select I8253 select I8259 select IP22_CPU_SCACHE select IRQ_CPU select GENERIC_ISA_DMA_SUPPORT_BROKEN select SGI_HAS_I8042 select SGI_HAS_INDYDOG select SGI_HAS_HAL2 select SGI_HAS_SEEQ select SGI_HAS_WD93 select SGI_HAS_ZILOG select SWAP_IO_SPACE select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R5000 # # Disable EARLY_PRINTK for now since it leads to overwritten prom # memory during early boot on some machines. # # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com # for a more details discussion # # select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN help This are the SGI Indy, Challenge S and Indigo2, as well as certain OEM variants like the Tandem CMN B006S. To compile a Linux kernel that runs on these, say Y here. config SGI_IP27 bool "SGI IP27 (Origin200/2000)" select FW_ARC select FW_ARC64 select BOOT_ELF64 select DEFAULT_SGI_PARTITION select DMA_COHERENT select SYS_HAS_EARLY_PRINTK select HW_HAS_PCI select NR_CPUS_DEFAULT_64 select SYS_HAS_CPU_R10000 select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_SMP help This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics workstations. To compile a Linux kernel that runs on these, say Y here. config SGI_IP28 bool "SGI IP28 (Indigo2 R10k)" select FW_ARC select FW_ARC64 select BOOT_ELF64 select CEVT_R4K select CSRC_R4K select DEFAULT_SGI_PARTITION select DMA_NONCOHERENT select GENERIC_ISA_DMA_SUPPORT_BROKEN select IRQ_CPU select HW_HAS_EISA select I8253 select I8259 select SGI_HAS_I8042 select SGI_HAS_INDYDOG select SGI_HAS_HAL2 select SGI_HAS_SEEQ select SGI_HAS_WD93 select SGI_HAS_ZILOG select SWAP_IO_SPACE select SYS_HAS_CPU_R10000 # # Disable EARLY_PRINTK for now since it leads to overwritten prom # memory during early boot on some machines. # # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com # for a more details discussion # # select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN help This is the SGI Indigo2 with R10000 processor. To compile a Linux kernel that runs on these, say Y here. config SGI_IP32 bool "SGI IP32 (O2)" select FW_ARC select FW_ARC32 select BOOT_ELF32 select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select HW_HAS_PCI select IRQ_CPU select R5000_CPU_SCACHE select RM7000_CPU_SCACHE select SYS_HAS_CPU_R5000 select SYS_HAS_CPU_R10000 if BROKEN select SYS_HAS_CPU_RM7000 select SYS_HAS_CPU_NEVADA select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN help If you want this kernel to run on SGI O2 workstation, say Y here. config SIBYTE_CRHINE bool "Sibyte BCM91120C-CRhine" select BOOT_ELF32 select DMA_COHERENT select SIBYTE_BCM1120 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_CARMEL bool "Sibyte BCM91120x-Carmel" select BOOT_ELF32 select DMA_COHERENT select SIBYTE_BCM1120 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_CRHONE bool "Sibyte BCM91125C-CRhone" select BOOT_ELF32 select DMA_COHERENT select SIBYTE_BCM1125 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_RHONE bool "Sibyte BCM91125E-Rhone" select BOOT_ELF32 select DMA_COHERENT select SIBYTE_BCM1125H select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_SWARM bool "Sibyte BCM91250A-SWARM" select BOOT_ELF32 select DMA_COHERENT select HAVE_PATA_PLATFORM select SIBYTE_SB1250 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN select ZONE_DMA32 if 64BIT config SIBYTE_LITTLESUR bool "Sibyte BCM91250C2-LittleSur" select BOOT_ELF32 select DMA_COHERENT select HAVE_PATA_PLATFORM select SIBYTE_SB1250 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_SENTOSA bool "Sibyte BCM91250E-Sentosa" select BOOT_ELF32 select DMA_COHERENT select SIBYTE_SB1250 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN config SIBYTE_BIGSUR bool "Sibyte BCM91480B-BigSur" select BOOT_ELF32 select DMA_COHERENT select NR_CPUS_DEFAULT_4 select SIBYTE_BCM1x80 select SWAP_IO_SPACE select SYS_HAS_CPU_SB1 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN select ZONE_DMA32 if 64BIT config SNI_RM bool "SNI RM200/300/400" select FW_ARC if CPU_LITTLE_ENDIAN select FW_ARC32 if CPU_LITTLE_ENDIAN select FW_SNIPROM if CPU_BIG_ENDIAN select ARCH_MAY_HAVE_PC_FDC select BOOT_ELF32 select CEVT_R4K select CSRC_R4K select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN select DMA_NONCOHERENT select GENERIC_ISA_DMA select HAVE_PCSPKR_PLATFORM select HW_HAS_EISA select HW_HAS_PCI select IRQ_CPU select I8253 select I8259 select ISA select SWAP_IO_SPACE if CPU_BIG_ENDIAN select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R5000 select SYS_HAS_CPU_R10000 select R5000_CPU_SCACHE select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN help The SNI RM200/300/400 are MIPS-based machines manufactured by Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid Technology and now in turn merged with Fujitsu. Say Y here to support this machine type. config MACH_TX39XX bool "Toshiba TX39 series based machines" config MACH_TX49XX bool "Toshiba TX49 series based machines" config MIKROTIK_RB532 bool "Mikrotik RB532 boards" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select HW_HAS_PCI select IRQ_CPU select SYS_HAS_CPU_MIPS32_R1 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SWAP_IO_SPACE select BOOT_RAW select ARCH_REQUIRE_GPIOLIB help Support the Mikrotik(tm) RouterBoard 532 series, based on the IDT RC32434 SoC. config CAVIUM_OCTEON_SOC bool "Cavium Networks Octeon SoC based boards" select CEVT_R4K select 64BIT_PHYS_ADDR select DMA_COHERENT select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select EDAC_SUPPORT select SYS_SUPPORTS_HOTPLUG_CPU select SYS_HAS_EARLY_PRINTK select SYS_HAS_CPU_CAVIUM_OCTEON select SWAP_IO_SPACE select HW_HAS_PCI select ZONE_DMA32 select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI select HOLES_IN_ZONE select ARCH_REQUIRE_GPIOLIB help This option supports all of the Octeon reference boards from Cavium Networks. It builds a kernel that dynamically determines the Octeon CPU type and supports all known board reference implementations. Some of the supported boards are: EBT3000 EBH3000 EBH3100 Thunder Kodama Hikari Say Y here for most Octeon reference boards. config NLM_XLR_BOARD bool "Netlogic XLR/XLS based systems" select BOOT_ELF32 select NLM_COMMON select SYS_HAS_CPU_XLR select SYS_SUPPORTS_SMP select HW_HAS_PCI select SWAP_IO_SPACE select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select 64BIT_PHYS_ADDR select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select DMA_COHERENT select NR_CPUS_DEFAULT_32 select CEVT_R4K select CSRC_R4K select IRQ_CPU select ZONE_DMA32 if 64BIT select SYNC_R4K select SYS_HAS_EARLY_PRINTK select USB_ARCH_HAS_OHCI if USB_SUPPORT select USB_ARCH_HAS_EHCI if USB_SUPPORT select SYS_SUPPORTS_ZBOOT select SYS_SUPPORTS_ZBOOT_UART16550 help Support for systems based on Netlogic XLR and XLS processors. Say Y here if you have a XLR or XLS based board. config NLM_XLP_BOARD bool "Netlogic XLP based systems" select BOOT_ELF32 select NLM_COMMON select SYS_HAS_CPU_XLP select SYS_SUPPORTS_SMP select HW_HAS_PCI select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select 64BIT_PHYS_ADDR select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_HIGHMEM select DMA_COHERENT select NR_CPUS_DEFAULT_32 select CEVT_R4K select CSRC_R4K select IRQ_CPU select ZONE_DMA32 if 64BIT select SYNC_R4K select SYS_HAS_EARLY_PRINTK select USE_OF select SYS_SUPPORTS_ZBOOT select SYS_SUPPORTS_ZBOOT_UART16550 help This board is based on Netlogic XLP Processor. Say Y here if you have a XLP based board. endchoice source "arch/mips/alchemy/Kconfig" source "arch/mips/ath79/Kconfig" source "arch/mips/bcm47xx/Kconfig" source "arch/mips/bcm63xx/Kconfig" source "arch/mips/jazz/Kconfig" source "arch/mips/jz4740/Kconfig" source "arch/mips/lantiq/Kconfig" source "arch/mips/lasat/Kconfig" source "arch/mips/pmcs-msp71xx/Kconfig" source "arch/mips/ralink/Kconfig" source "arch/mips/sgi-ip27/Kconfig" source "arch/mips/sibyte/Kconfig" source "arch/mips/txx9/Kconfig" source "arch/mips/vr41xx/Kconfig" source "arch/mips/cavium-octeon/Kconfig" source "arch/mips/loongson/Kconfig" source "arch/mips/loongson1/Kconfig" source "arch/mips/netlogic/Kconfig" endmenu config RWSEM_GENERIC_SPINLOCK bool default y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool default n config ARCH_HAS_ILOG2_U64 bool default n config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config SCHED_OMIT_FRAME_POINTER bool default y # # Select some configuration options automatically based on user selections. # config FW_ARC bool config ARCH_MAY_HAVE_PC_FDC bool config BOOT_RAW bool config CEVT_BCM1480 bool config CEVT_DS1287 bool config CEVT_GT641XX bool config CEVT_R4K bool config CEVT_GIC bool config CEVT_SB1250 bool config CEVT_TXX9 bool config CSRC_BCM1480 bool config CSRC_IOASIC bool config CSRC_R4K bool config CSRC_GIC bool config CSRC_SB1250 bool config GPIO_TXX9 select ARCH_REQUIRE_GPIOLIB bool config FW_CFE bool config ARCH_DMA_ADDR_T_64BIT def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT config DMA_COHERENT bool config DMA_NONCOHERENT bool select NEED_DMA_MAP_STATE config NEED_DMA_MAP_STATE bool config SYS_HAS_EARLY_PRINTK bool config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU help Say Y here to allow turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. (Note: power management support will enable this option automatically on SMP systems. ) Say N if you want to disable CPU hotplug. config SYS_SUPPORTS_HOTPLUG_CPU bool config I8259 bool config MIPS_BONITO64 bool config MIPS_MSC bool config MIPS_NILE4 bool config SYNC_R4K bool config MIPS_MACHINE def_bool n config NO_IOPORT def_bool n config GENERIC_ISA_DMA bool select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n select ISA_DMA_API config GENERIC_ISA_DMA_SUPPORT_BROKEN bool select GENERIC_ISA_DMA config ISA_DMA_API bool config HOLES_IN_ZONE bool # # Endianness selection. Sufficiently obscure so many users don't know what to # answer,so we try hard to limit the available choices. Also the use of a # choice statement should be more obvious to the user. # choice prompt "Endianness selection" help Some MIPS machines can be configured for either little or big endian byte order. These modes require different kernels and a different Linux distribution. In general there is one preferred byteorder for a particular system but some systems are just as commonly used in the one or the other endianness. config CPU_BIG_ENDIAN bool "Big endian" depends on SYS_SUPPORTS_BIG_ENDIAN config CPU_LITTLE_ENDIAN bool "Little endian" depends on SYS_SUPPORTS_LITTLE_ENDIAN endchoice config EXPORT_UASM bool config SYS_SUPPORTS_APM_EMULATION bool config SYS_SUPPORTS_BIG_ENDIAN bool config SYS_SUPPORTS_LITTLE_ENDIAN bool config SYS_SUPPORTS_HUGETLBFS bool depends on CPU_SUPPORTS_HUGEPAGES && 64BIT default y config MIPS_HUGE_TLB_SUPPORT def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE config IRQ_CPU bool config IRQ_CPU_RM7K bool config IRQ_MSP_SLP bool config IRQ_MSP_CIC bool config IRQ_TXX9 bool config IRQ_GT641XX bool config IRQ_GIC bool config PCI_GT64XXX_PCI0 bool config NO_EXCEPT_FILL bool config SOC_EMMA2RH bool select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select SWAP_IO_SPACE select SYS_HAS_CPU_R5500 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN config SOC_PNX833X bool select CEVT_R4K select CSRC_R4K select IRQ_CPU select DMA_NONCOHERENT select SYS_HAS_CPU_MIPS32_R2 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_BIG_ENDIAN select CPU_MIPSR2_IRQ_VI config SOC_PNX8335 bool select SOC_PNX833X config SWAP_IO_SPACE bool config SGI_HAS_INDYDOG bool config SGI_HAS_HAL2 bool config SGI_HAS_SEEQ bool config SGI_HAS_WD93 bool config SGI_HAS_ZILOG bool config SGI_HAS_I8042 bool config DEFAULT_SGI_PARTITION bool config FW_ARC32 bool config FW_SNIPROM bool config BOOT_ELF32 bool config MIPS_L1_CACHE_SHIFT int default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL || SOC_RT288X default "6" if MIPS_CPU_SCACHE default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON default "5" config HAVE_STD_PC_SERIAL_PORT bool config ARC_CONSOLE bool "ARC console support" depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) config ARC_MEMORY bool depends on MACH_JAZZ || SNI_RM || SGI_IP32 default y config ARC_PROMLIB bool depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 default y config FW_ARC64 bool config BOOT_ELF64 bool menu "CPU selection" choice prompt "CPU type" default CPU_R4X00 config CPU_LOONGSON2E bool "Loongson 2E" depends on SYS_HAS_CPU_LOONGSON2E select CPU_LOONGSON2 help The Loongson 2E processor implements the MIPS III instruction set with many extensions. It has an internal FPGA northbridge, which is compatible to bonito64. config CPU_LOONGSON2F bool "Loongson 2F" depends on SYS_HAS_CPU_LOONGSON2F select CPU_LOONGSON2 select ARCH_REQUIRE_GPIOLIB help The Loongson 2F processor implements the MIPS III instruction set with many extensions. Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller have a similar programming interface with FPGA northbridge used in Loongson2E. config CPU_LOONGSON1B bool "Loongson 1B" depends on SYS_HAS_CPU_LOONGSON1B select CPU_LOONGSON1 help The Loongson 1B is a 32-bit SoC, which implements the MIPS32 release 2 instruction set. config CPU_MIPS32_R1 bool "MIPS32 Release 1" depends on SYS_HAS_CPU_MIPS32_R1 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help Choose this option to build a kernel for release 1 or later of the MIPS32 architecture. Most modern embedded systems with a 32-bit MIPS processor are based on a MIPS32 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. Release 2 of the MIPS32 architecture is available since several years so chances are you even have a MIPS32 Release 2 processor in which case you should choose CPU_MIPS32_R2 instead for better performance. config CPU_MIPS32_R2 bool "MIPS32 Release 2" depends on SYS_HAS_CPU_MIPS32_R2 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select HAVE_KVM help Choose this option to build a kernel for release 2 or later of the MIPS32 architecture. Most modern embedded systems with a 32-bit MIPS processor are based on a MIPS32 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. config CPU_MIPS64_R1 bool "MIPS64 Release 1" depends on SYS_HAS_CPU_MIPS64_R1 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES help Choose this option to build a kernel for release 1 or later of the MIPS64 architecture. Many modern embedded systems with a 64-bit MIPS processor are based on a MIPS64 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. Release 2 of the MIPS64 architecture is available since several years so chances are you even have a MIPS64 Release 2 processor in which case you should choose CPU_MIPS64_R2 instead for better performance. config CPU_MIPS64_R2 bool "MIPS64 Release 2" depends on SYS_HAS_CPU_MIPS64_R2 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES help Choose this option to build a kernel for release 2 or later of the MIPS64 architecture. Many modern embedded systems with a 64-bit MIPS processor are based on a MIPS64 processor. If you know the specific type of processor in your system, choose those that one otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. config CPU_R3000 bool "R3000" depends on SYS_HAS_CPU_R3000 select CPU_HAS_WB select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_HIGHMEM help Please make sure to pick the right CPU type. Linux/MIPS is not designed to be generic, i.e. Kernels compiled for R3000 CPUs will *not* work on R4000 machines and vice versa. However, since most of the supported machines have an R4000 (or similar) CPU, R4x00 might be a safe bet. If the resulting kernel does not work, try to recompile with R3000. config CPU_TX39XX bool "R39XX" depends on SYS_HAS_CPU_TX39XX select CPU_SUPPORTS_32BIT_KERNEL config CPU_VR41XX bool "R41xx" depends on SYS_HAS_CPU_VR41XX select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help The options selects support for the NEC VR4100 series of processors. Only choose this option if you have one of these processors as a kernel built with this option will not run on any other type of processor or vice versa. config CPU_R4300 bool "R4300" depends on SYS_HAS_CPU_R4300 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R4300-series processors. config CPU_R4X00 bool "R4x00" depends on SYS_HAS_CPU_R4X00 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES help MIPS Technologies R4000-series processors other than 4300, including the R4000, R4400, R4600, and 4700. config CPU_TX49XX bool "R49XX" depends on SYS_HAS_CPU_TX49XX select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES config CPU_R5000 bool "R5000" depends on SYS_HAS_CPU_R5000 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES help MIPS Technologies R5000-series processors other than the Nevada. config CPU_R5432 bool "R5432" depends on SYS_HAS_CPU_R5432 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES config CPU_R5500 bool "R5500" depends on SYS_HAS_CPU_R5500 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES help NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV instruction set. config CPU_R6000 bool "R6000" depends on SYS_HAS_CPU_R6000 select CPU_SUPPORTS_32BIT_KERNEL help MIPS Technologies R6000 and R6000A series processors. Note these processors are extremely rare and the support for them is incomplete. config CPU_NEVADA bool "RM52xx" depends on SYS_HAS_CPU_NEVADA select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HUGEPAGES help QED / PMC-Sierra RM52xx-series ("Nevada") processors. config CPU_R8000 bool "R8000" depends on SYS_HAS_CPU_R8000 select CPU_HAS_PREFETCH select CPU_SUPPORTS_64BIT_KERNEL help MIPS Technologies R8000 processors. Note these processors are uncommon and the support for them is incomplete. config CPU_R10000 bool "R10000" depends on SYS_HAS_CPU_R10000 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES help MIPS Technologies R10000-series processors. config CPU_RM7000 bool "RM7000" depends on SYS_HAS_CPU_RM7000 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES config CPU_SB1 bool "SB1" depends on SYS_HAS_CPU_SB1 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES select WEAK_ORDERING config CPU_CAVIUM_OCTEON bool "Cavium Octeon processor" depends on SYS_HAS_CPU_CAVIUM_OCTEON select ARCH_SPARSEMEM_ENABLE select CPU_HAS_PREFETCH select CPU_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_SMP select NR_CPUS_DEFAULT_16 select WEAK_ORDERING select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES select LIBFDT select USE_OF select USB_EHCI_BIG_ENDIAN_MMIO help The Cavium Octeon processor is a highly integrated chip containing many ethernet hardware widgets for networking tasks. The processor can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. Full details can be found at http://www.caviumnetworks.com. config CPU_BMIPS3300 bool "BMIPS3300" depends on SYS_HAS_CPU_BMIPS3300 select CPU_BMIPS help Broadcom BMIPS3300 processors. config CPU_BMIPS4350 bool "BMIPS4350" depends on SYS_HAS_CPU_BMIPS4350 select CPU_BMIPS select SYS_SUPPORTS_SMP select SYS_SUPPORTS_HOTPLUG_CPU help Broadcom BMIPS4350 ("VIPER") processors. config CPU_BMIPS4380 bool "BMIPS4380" depends on SYS_HAS_CPU_BMIPS4380 select CPU_BMIPS select SYS_SUPPORTS_SMP select SYS_SUPPORTS_HOTPLUG_CPU help Broadcom BMIPS4380 processors. config CPU_BMIPS5000 bool "BMIPS5000" depends on SYS_HAS_CPU_BMIPS5000 select CPU_BMIPS select CPU_SUPPORTS_HIGHMEM select MIPS_CPU_SCACHE select SYS_SUPPORTS_SMP select SYS_SUPPORTS_HOTPLUG_CPU help Broadcom BMIPS5000 processors. config CPU_XLR bool "Netlogic XLR SoC" depends on SYS_HAS_CPU_XLR select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES select WEAK_ORDERING select WEAK_REORDERING_BEYOND_LLSC help Netlogic Microsystems XLR/XLS processors. config CPU_XLP bool "Netlogic XLP SoC" depends on SYS_HAS_CPU_XLP select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select WEAK_ORDERING select WEAK_REORDERING_BEYOND_LLSC select CPU_HAS_PREFETCH select CPU_MIPSR2 help Netlogic Microsystems XLP processors. endchoice if CPU_LOONGSON2F config CPU_NOP_WORKAROUNDS bool config CPU_JUMP_WORKAROUNDS bool config CPU_LOONGSON2F_WORKAROUNDS bool "Loongson 2F Workarounds" default y select CPU_NOP_WORKAROUNDS select CPU_JUMP_WORKAROUNDS help Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which require workarounds. Without workarounds the system may hang unexpectedly. For more information please refer to the gas -mfix-loongson2f-nop and -mfix-loongson2f-jump options. Loongson 2F03 and later have fixed these issues and no workarounds are needed. The workarounds have no significant side effect on them but may decrease the performance of the system so this option should be disabled unless the kernel is intended to be run on 2F01 or 2F02 systems. If unsure, please say Y. endif # CPU_LOONGSON2F config SYS_SUPPORTS_ZBOOT bool select HAVE_KERNEL_GZIP select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_LZ4 select HAVE_KERNEL_LZMA select HAVE_KERNEL_LZO select HAVE_KERNEL_XZ config SYS_SUPPORTS_ZBOOT_UART16550 bool select SYS_SUPPORTS_ZBOOT config CPU_LOONGSON2 bool select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL select CPU_SUPPORTS_HIGHMEM select CPU_SUPPORTS_HUGEPAGES config CPU_LOONGSON1 bool select CPU_MIPS32 select CPU_MIPSR2 select CPU_HAS_PREFETCH select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_HIGHMEM config CPU_BMIPS bool select CPU_MIPS32 select CPU_SUPPORTS_32BIT_KERNEL select DMA_NONCOHERENT select IRQ_CPU select SWAP_IO_SPACE select WEAK_ORDERING config SYS_HAS_CPU_LOONGSON2E bool config SYS_HAS_CPU_LOONGSON2F bool select CPU_SUPPORTS_CPUFREQ select CPU_SUPPORTS_ADDRWINCFG if 64BIT select CPU_SUPPORTS_UNCACHED_ACCELERATED config SYS_HAS_CPU_LOONGSON1B bool config SYS_HAS_CPU_MIPS32_R1 bool config SYS_HAS_CPU_MIPS32_R2 bool config SYS_HAS_CPU_MIPS64_R1 bool config SYS_HAS_CPU_MIPS64_R2 bool config SYS_HAS_CPU_R3000 bool config SYS_HAS_CPU_TX39XX bool config SYS_HAS_CPU_VR41XX bool config SYS_HAS_CPU_R4300 bool config SYS_HAS_CPU_R4X00 bool config SYS_HAS_CPU_TX49XX bool config SYS_HAS_CPU_R5000 bool config SYS_HAS_CPU_R5432 bool config SYS_HAS_CPU_R5500 bool config SYS_HAS_CPU_R6000 bool config SYS_HAS_CPU_NEVADA bool config SYS_HAS_CPU_R8000 bool config SYS_HAS_CPU_R10000 bool config SYS_HAS_CPU_RM7000 bool config SYS_HAS_CPU_SB1 bool config SYS_HAS_CPU_CAVIUM_OCTEON bool config SYS_HAS_CPU_BMIPS3300 bool config SYS_HAS_CPU_BMIPS4350 bool config SYS_HAS_CPU_BMIPS4380 bool config SYS_HAS_CPU_BMIPS5000 bool config SYS_HAS_CPU_XLR bool config SYS_HAS_CPU_XLP bool # # CPU may reorder R->R, R->W, W->R, W->W # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC # config WEAK_ORDERING bool # # CPU may reorder reads and writes beyond LL/SC # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC # config WEAK_REORDERING_BEYOND_LLSC bool endmenu # # These two indicate any level of the MIPS32 and MIPS64 architecture # config CPU_MIPS32 bool default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 config CPU_MIPS64 bool default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 # # These two indicate the revision of the architecture, either Release 1 or Release 2 # config CPU_MIPSR1 bool default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 config CPU_MIPSR2 bool default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON config SYS_SUPPORTS_32BIT_KERNEL bool config SYS_SUPPORTS_64BIT_KERNEL bool config CPU_SUPPORTS_32BIT_KERNEL bool config CPU_SUPPORTS_64BIT_KERNEL bool config CPU_SUPPORTS_CPUFREQ bool config CPU_SUPPORTS_ADDRWINCFG bool config CPU_SUPPORTS_HUGEPAGES bool config CPU_SUPPORTS_UNCACHED_ACCELERATED bool config MIPS_PGD_C0_CONTEXT bool default y if 64BIT && CPU_MIPSR2 && !CPU_XLP # # Set to y for ptrace access to watch registers. # config HARDWARE_WATCHPOINTS bool default y if CPU_MIPSR1 || CPU_MIPSR2 menu "Kernel type" choice prompt "Kernel code model" help You should only select this option if you have a workload that actually benefits from 64-bit processing or if your machine has large memory. You will only be presented a single option in this menu if your system does not support both 32-bit and 64-bit kernels. config 32BIT bool "32-bit kernel" depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL select TRAD_SIGNALS help Select this option if you want to build a 32-bit kernel. config 64BIT bool "64-bit kernel" depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL help Select this option if you want to build a 64-bit kernel. endchoice config KVM_GUEST bool "KVM Guest Kernel" depends on BROKEN_ON_SMP help Select this option if building a guest kernel for KVM (Trap & Emulate) mode config KVM_HOST_FREQ int "KVM Host Processor Frequency (MHz)" depends on KVM_GUEST default 500 help Select this option if building a guest kernel for KVM to skip RTC emulation when determining guest CPU Frequency. Instead, the guest processor frequency is automatically derived from the host frequency. choice prompt "Kernel page size" default PAGE_SIZE_4KB config PAGE_SIZE_4KB bool "4kB" depends on !CPU_LOONGSON2 help This option select the standard 4kB Linux page size. On some R3000-family processors this is the only available page size. Using 4kB page size will minimize memory consumption and is therefore recommended for low memory systems. config PAGE_SIZE_8KB bool "8kB" depends on CPU_R8000 || CPU_CAVIUM_OCTEON help Using 8kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available only on R8000 and cnMIPS processors. Note that you will need a suitable Linux distribution to support this. config PAGE_SIZE_16KB bool "16kB" depends on !CPU_R3000 && !CPU_TX39XX help Using 16kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available on all non-R3000 family processors. Note that you will need a suitable Linux distribution to support this. config PAGE_SIZE_32KB bool "32kB" depends on CPU_CAVIUM_OCTEON help Using 32kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available only on cnMIPS cores. Note that you will need a suitable Linux distribution to support this. config PAGE_SIZE_64KB bool "64kB" depends on !CPU_R3000 && !CPU_TX39XX help Using 64kB page size will result in higher performance kernel at the price of higher memory consumption. This option is available on all non-R3000 family processor. Not that at the time of this writing this option is still high experimental. endchoice config FORCE_MAX_ZONEORDER int "Maximum zone order" range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB range 11 64 default "11" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. The page size is not necessarily 4KB. Keep this in mind when choosing a value for this option. config CEVT_GIC bool "Use GIC global counter for clock events" depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC) help Use the GIC global counter for the clock events. The R4K clock event driver is always present, so if the platform ends up not detecting a GIC, it will fall back to the R4K timer for the generation of clock events. config BOARD_SCACHE bool config IP22_CPU_SCACHE bool select BOARD_SCACHE # # Support for a MIPS32 / MIPS64 style S-caches # config MIPS_CPU_SCACHE bool select BOARD_SCACHE config R5000_CPU_SCACHE bool select BOARD_SCACHE config RM7000_CPU_SCACHE bool select BOARD_SCACHE config SIBYTE_DMA_PAGEOPS bool "Use DMA to clear/copy pages" depends on CPU_SB1 help Instead of using the CPU to zero and copy pages, use a Data Mover channel. These DMA channels are otherwise unused by the standard SiByte Linux port. Seems to give a small performance benefit. config CPU_HAS_PREFETCH bool config CPU_GENERIC_DUMP_TLB bool default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) config CPU_R4K_FPU bool default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) config CPU_R4K_CACHE_TLB bool default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) choice prompt "MIPS MT options" config MIPS_MT_DISABLED bool "Disable multithreading support." help Use this option if your workload can't take advantage of MIPS hardware multithreading support. On systems that don't have the option of an MT-enabled processor this option will be the only option in this menu. config MIPS_MT_SMP bool "Use 1 TC on each available VPE for SMP" depends on SYS_SUPPORTS_MULTITHREADING select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT select SMP select SYS_SUPPORTS_SCHED_SMT if SMP select SYS_SUPPORTS_SMP select SMP_UP select MIPS_PERF_SHARED_TC_COUNTERS help This is a kernel model which is known a VSMP but lately has been marketesed into SMVP. Virtual SMP uses the processor's VPEs to implement virtual processors. In currently available configuration of the 34K processor this allows for a dual processor. Both processors will share the same primary caches; each will obtain the half of the TLB for it's own exclusive use. For a layman this model can be described as similar to what Intel calls Hyperthreading. For further information see http://www.linux-mips.org/wiki/34K#VSMP config MIPS_MT_SMTC bool "SMTC: Use all TCs on all VPEs for SMP" depends on CPU_MIPS32_R2 #depends on CPU_MIPS64_R2 # once there is hardware ... depends on SYS_SUPPORTS_MULTITHREADING select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT select NR_CPUS_DEFAULT_8 select SMP select SYS_SUPPORTS_SMP select SMP_UP help This is a kernel model which is known a SMTC or lately has been marketesed into SMVP. is presenting the available TC's of the core as processors to Linux. On currently available 34K processors this means a Linux system will see up to 5 processors. The implementation of the SMTC kernel differs significantly from VSMP and cannot efficiently coexist in the same kernel binary so the choice between VSMP and SMTC is a compile time decision. For further information see http://www.linux-mips.org/wiki/34K#SMTC endchoice config MIPS_MT bool config SCHED_SMT bool "SMT (multithreading) scheduler support" depends on SYS_SUPPORTS_SCHED_SMT default n help SMT scheduler support improves the CPU scheduler's decision making when dealing with MIPS MT enabled cores at a cost of slightly increased overhead in some places. If unsure say N here. config SYS_SUPPORTS_SCHED_SMT bool config SYS_SUPPORTS_MULTITHREADING bool config MIPS_MT_FPAFF bool "Dynamic FPU affinity for FP-intensive threads" default y depends on MIPS_MT_SMP || MIPS_MT_SMTC config MIPS_VPE_LOADER bool "VPE loader support." depends on SYS_SUPPORTS_MULTITHREADING && MODULES select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI select MIPS_MT help Includes a loader for loading an elf relocatable object onto another VPE and running it. config MIPS_MT_SMTC_IM_BACKSTOP bool "Use per-TC register bits as backstop for inhibited IM bits" depends on MIPS_MT_SMTC default n help To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. config MIPS_MT_SMTC_IRQAFF bool "Support IRQ affinity API" depends on MIPS_MT_SMTC default n help Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.) for SMTC Linux kernel. Requires platform support, of which an example can be found in the MIPS kernel i8259 and Malta platform code. Adds some overhead to interrupt dispatch, and should be used only if you know what you are doing. config MIPS_VPE_LOADER_TOM bool "Load VPE program into memory hidden from linux" depends on MIPS_VPE_LOADER default y help The loader can use memory that is present but has been hidden from Linux using the kernel command line option "mem=xxMB". It's up to you to ensure the amount you put in the option and the space your program requires is less or equal to the amount physically present. # this should possibly be in drivers/char, but it is rather cpu related. Hmmm config MIPS_VPE_APSP_API bool "Enable support for AP/SP API (RTLX)" depends on MIPS_VPE_LOADER help config MIPS_CMP bool "MIPS CMP framework support" depends on SYS_SUPPORTS_MIPS_CMP select SMP select SYNC_R4K select SYS_SUPPORTS_SMP select SYS_SUPPORTS_SCHED_SMT if SMP select WEAK_ORDERING default n help This is a placeholder option for the GCMP work. It will need to be handled differently... config SB1_PASS_1_WORKAROUNDS bool depends on CPU_SB1_PASS_1 default y config SB1_PASS_2_WORKAROUNDS bool depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) default y config SB1_PASS_2_1_WORKAROUNDS bool depends on CPU_SB1 && CPU_SB1_PASS_2 default y config 64BIT_PHYS_ADDR bool config ARCH_PHYS_ADDR_T_64BIT def_bool 64BIT_PHYS_ADDR config CPU_HAS_SMARTMIPS depends on SYS_SUPPORTS_SMARTMIPS bool "Support for the SmartMIPS ASE" help SmartMIPS is a extension of the MIPS32 architecture aimed at increased security at both hardware and software level for smartcards. Enabling this option will allow proper use of the SmartMIPS instructions by Linux applications. However a kernel with this option will not work on a MIPS core without SmartMIPS core. If you don't know you probably don't have SmartMIPS and should say N here. config CPU_MICROMIPS depends on SYS_SUPPORTS_MICROMIPS bool "Build kernel using microMIPS ISA" help When this option is enabled the kernel will be built using the microMIPS ISA config CPU_HAS_WB bool config XKS01 bool # # Vectored interrupt mode is an R2 feature # config CPU_MIPSR2_IRQ_VI bool # # Extended interrupt mode is an R2 feature # config CPU_MIPSR2_IRQ_EI bool config CPU_HAS_SYNC bool depends on !CPU_R3000 default y # # CPU non-features # config CPU_DADDI_WORKAROUNDS bool config CPU_R4000_WORKAROUNDS bool select CPU_R4400_WORKAROUNDS config CPU_R4400_WORKAROUNDS bool # # - Highmem only makes sense for the 32-bit kernel. # - The current highmem code will only work properly on physically indexed # caches such as R3000, SB1, R7000 or those that look like they're virtually # indexed such as R4000/R4400 SC and MC versions or R10000. So for the # moment we protect the user and offer the highmem option only on machines # where it's known to be safe. This will not offer highmem on a few systems # such as MIPS32 and MIPS64 CPUs which may have virtual and physically # indexed CPUs but we're playing safe. # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we # know they might have memory configurations that could make use of highmem # support. # config HIGHMEM bool "High Memory Support" depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM config CPU_SUPPORTS_HIGHMEM bool config SYS_SUPPORTS_HIGHMEM bool config SYS_SUPPORTS_SMARTMIPS bool config SYS_SUPPORTS_MICROMIPS bool config ARCH_FLATMEM_ENABLE def_bool y depends on !NUMA && !CPU_LOONGSON2 config ARCH_DISCONTIGMEM_ENABLE bool default y if SGI_IP27 help Say Y to support efficient handling of discontiguous physical memory, for architectures which are either NUMA (Non-Uniform Memory Access) or have huge holes in the physical address space for other reasons. See for more. config ARCH_SPARSEMEM_ENABLE bool select SPARSEMEM_STATIC config NUMA bool "NUMA Support" depends on SYS_SUPPORTS_NUMA help Say Y to compile the kernel to support NUMA (Non-Uniform Memory Access). This option improves performance on systems with more than two nodes; on two node systems it is generally better to leave it disabled; on single node systems disable this option disabled. config SYS_SUPPORTS_NUMA bool config NODES_SHIFT int default "6" depends on NEED_MULTIPLE_NODES config HW_PERF_EVENTS bool "Enable hardware performance counter support for perf events" depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP) default y help Enable hardware performance counter support for perf events. If disabled, perf events will use software events only. source "mm/Kconfig" config SMP bool "Multi-Processing support" depends on SYS_SUPPORTS_SMP help This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. See also the SMP-HOWTO available at . If you don't know what to do here, say N. config SMP_UP bool config SYS_SUPPORTS_MIPS_CMP bool config SYS_SUPPORTS_SMP bool config NR_CPUS_DEFAULT_4 bool config NR_CPUS_DEFAULT_8 bool config NR_CPUS_DEFAULT_16 bool config NR_CPUS_DEFAULT_32 bool config NR_CPUS_DEFAULT_64 bool config NR_CPUS int "Maximum number of CPUs (2-64)" range 2 64 depends on SMP default "4" if NR_CPUS_DEFAULT_4 default "8" if NR_CPUS_DEFAULT_8 default "16" if NR_CPUS_DEFAULT_16 default "32" if NR_CPUS_DEFAULT_32 default "64" if NR_CPUS_DEFAULT_64 help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 for 32-bit kernel and 64 for 64-bit kernels; the minimum value which makes sense is 1 for Qemu (useful only for kernel debugging purposes) and 2 for all others. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. For best performance should round up your number of processors to the next power of two. config MIPS_PERF_SHARED_TC_COUNTERS bool # # Timer Interrupt Frequency Configuration # choice prompt "Timer frequency" default HZ_250 help Allows the configuration of the timer frequency. config HZ_48 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_100 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_128 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_250 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_256 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_1000 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ config HZ_1024 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ endchoice config SYS_SUPPORTS_48HZ bool config SYS_SUPPORTS_100HZ bool config SYS_SUPPORTS_128HZ bool config SYS_SUPPORTS_250HZ bool config SYS_SUPPORTS_256HZ bool config SYS_SUPPORTS_1000HZ bool config SYS_SUPPORTS_1024HZ bool config SYS_SUPPORTS_ARBIT_HZ bool default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \ !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \ !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \ !SYS_SUPPORTS_1024HZ config HZ int default 48 if HZ_48 default 100 if HZ_100 default 128 if HZ_128 default 250 if HZ_250 default 256 if HZ_256 default 1000 if HZ_1000 default 1024 if HZ_1024 source "kernel/Kconfig.preempt" config KEXEC bool "Kexec system call" help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. The name comes from the similarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. As of this writing the exact hardware interface is strongly in flux, so no good recommendation can be made. config CRASH_DUMP bool "Kernel crash dumps" help Generate crash dump after being started by kexec. This should be normally only set in special crash dump kernels which are loaded in the main kernel with kexec-tools into a specially reserved region and then later executed after a crash by kdump/kexec. The crash dump kernel must be compiled to a memory address not used by the main kernel or firmware using PHYSICAL_START. config PHYSICAL_START hex "Physical address where the kernel is loaded" default "0xffffffff84000000" if 64BIT default "0x84000000" if 32BIT depends on CRASH_DUMP help This gives the CKSEG0 or KSEG0 address where the kernel is loaded. If you plan to use kernel for capturing the crash dump change this value to start of the reserved region (the "X" value as specified in the "crashkernel=YM@XM" command line boot parameter passed to the panic-ed kernel). config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" depends on PROC_FS default y help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via /proc//seccomp, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. Only embedded should say N here. config CC_STACKPROTECTOR bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" help This option turns on the -fstack-protector GCC feature. This feature puts, at the beginning of functions, a canary value on the stack just before the return address, and validates the value just before actually returning. Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected and the attack is then neutralized via a kernel panic. This feature requires gcc version 4.2 or above. config USE_OF bool select OF select OF_EARLY_FLATTREE select IRQ_DOMAIN endmenu config LOCKDEP_SUPPORT bool default y config STACKTRACE_SUPPORT bool default y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" config HW_HAS_EISA bool config HW_HAS_PCI bool config PCI bool "Support for PCI controller" depends on HW_HAS_PCI select PCI_DOMAINS select NO_GENERIC_PCI_IOPORT_MAP help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, say Y, otherwise N. config PCI_DOMAINS bool source "drivers/pci/Kconfig" source "drivers/pci/pcie/Kconfig" # # ISA support is now enabled via select. Too many systems still have the one # or other ISA chip on the board that users don't know about so don't expect # users to choose the right thing ... # config ISA bool config EISA bool "EISA support" depends on HW_HAS_EISA select ISA select GENERIC_ISA_DMA ---help--- The Extended Industry Standard Architecture (EISA) bus was developed as an open alternative to the IBM MicroChannel bus. The EISA bus provided some of the features of the IBM MicroChannel bus while maintaining backward compatibility with cards made for the older ISA bus. The EISA bus saw limited use between 1988 and 1995 when it was made obsolete by the PCI bus. Say Y here if you are building a kernel for an EISA-based machine. Otherwise, say N. source "drivers/eisa/Kconfig" config TC bool "TURBOchannel support" depends on MACH_DECSTATION help TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS processors. TURBOchannel programming specifications are available at: and: Linux driver support status is documented at: config MMU bool default y config I8253 bool select CLKSRC_I8253 select CLKEVT_I8253 select MIPS_EXTERNAL_TIMER config ZONE_DMA bool config ZONE_DMA32 bool source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" config RAPIDIO bool "RapidIO support" depends on PCI default n help If you say Y here, the kernel will include drivers and infrastructure code to support RapidIO interconnect devices. source "drivers/rapidio/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" config TRAD_SIGNALS bool config MIPS32_COMPAT bool "Kernel support for Linux/MIPS 32-bit binary compatibility" depends on 64BIT help Select this option if you want Linux/MIPS 32-bit binary compatibility. Since all software available for Linux/MIPS is currently 32-bit you should say Y here. config COMPAT bool depends on MIPS32_COMPAT select ARCH_WANT_OLD_COMPAT_IPC default y config SYSVIPC_COMPAT bool depends on COMPAT && SYSVIPC default y config MIPS32_O32 bool "Kernel support for o32 binaries" depends on MIPS32_COMPAT help Select this option if you want to run o32 binaries. These are pure 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of existing binaries are in this format. If unsure, say Y. config MIPS32_N32 bool "Kernel support for n32 binaries" depends on MIPS32_COMPAT help Select this option if you want to run n32 binaries. These are 64-bit binaries using 32-bit quantities for addressing and certain data that would normally be 64-bit. They are used in special cases. If unsure, say N. config BINFMT_ELF32 bool default y if MIPS32_O32 || MIPS32_N32 endmenu menu "Power management options" config ARCH_HIBERNATION_POSSIBLE def_bool y depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP config ARCH_SUSPEND_POSSIBLE def_bool y depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP source "kernel/power/Kconfig" endmenu config MIPS_EXTERNAL_TIMER bool if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER menu "CPU Power Management" source "drivers/cpufreq/Kconfig" endmenu endif source "net/Kconfig" source "drivers/Kconfig" source "drivers/firmware/Kconfig" source "fs/Kconfig" source "arch/mips/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" source "arch/mips/kvm/Kconfig" # au1000-style gpio and interrupt controllers config ALCHEMY_GPIOINT_AU1000 bool # au1300-style GPIO/INT controller config ALCHEMY_GPIOINT_AU1300 bool # select this in your board config if you don't want to use the gpio # namespace as documented in the manuals. In this case however you need # to create the necessary gpio_* functions in your board code/headers! # see arch/mips/include/asm/mach-au1x00/gpio.h for more information. config ALCHEMY_GPIO_INDIRECT def_bool n choice prompt "Machine type" depends on MIPS_ALCHEMY default MIPS_DB1000 config MIPS_MTX1 bool "4G Systems MTX-1 board" select DMA_NONCOHERENT select HW_HAS_PCI select ALCHEMY_GPIOINT_AU1000 select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK config MIPS_DB1000 bool "Alchemy DB1000/DB1500/DB1100 PB1500/1100 boards" select ALCHEMY_GPIOINT_AU1000 select DMA_NONCOHERENT select HW_HAS_PCI select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK config MIPS_DB1235 bool "Alchemy DB1200/PB1200/DB1300/DB1550/PB1550 boards" select ARCH_REQUIRE_GPIOLIB select HW_HAS_PCI select DMA_COHERENT select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK config MIPS_XXS1500 bool "MyCable XXS1500 board" select DMA_NONCOHERENT select ALCHEMY_GPIOINT_AU1000 select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK config MIPS_GPR bool "Trapeze ITS GPR board" select ALCHEMY_GPIOINT_AU1000 select HW_HAS_PCI select DMA_NONCOHERENT select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_HAS_EARLY_PRINTK endchoice if ATH79 menu "Atheros AR71XX/AR724X/AR913X machine selection" config ATH79_MACH_AP121 bool "Atheros AP121 reference board" select SOC_AR933X select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI select ATH79_DEV_USB select ATH79_DEV_WMAC help Say 'Y' here if you want your kernel to support the Atheros AP121 reference board. config ATH79_MACH_AP136 bool "Atheros AP136 reference board" select SOC_QCA955X select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI select ATH79_DEV_USB select ATH79_DEV_WMAC help Say 'Y' here if you want your kernel to support the Atheros AP136 reference board. config ATH79_MACH_AP81 bool "Atheros AP81 reference board" select SOC_AR913X select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI select ATH79_DEV_USB select ATH79_DEV_WMAC help Say 'Y' here if you want your kernel to support the Atheros AP81 reference board. config ATH79_MACH_DB120 bool "Atheros DB120 reference board" select SOC_AR934X select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI select ATH79_DEV_USB select ATH79_DEV_WMAC help Say 'Y' here if you want your kernel to support the Atheros DB120 reference board. config ATH79_MACH_PB44 bool "Atheros PB44 reference board" select SOC_AR71XX select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI select ATH79_DEV_USB help Say 'Y' here if you want your kernel to support the Atheros PB44 reference board. config ATH79_MACH_UBNT_XM bool "Ubiquiti Networks XM (rev 1.0) board" select SOC_AR724X select ATH79_DEV_GPIO_BUTTONS select ATH79_DEV_LEDS_GPIO select ATH79_DEV_SPI help Say 'Y' here if you want your kernel to support the Ubiquiti Networks XM (rev 1.0) board. endmenu config SOC_AR71XX select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI select HW_HAS_PCI def_bool n config SOC_AR724X select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI select HW_HAS_PCI select PCI_AR724X if PCI def_bool n config SOC_AR913X select USB_ARCH_HAS_EHCI def_bool n config SOC_AR933X select USB_ARCH_HAS_EHCI def_bool n config SOC_AR934X select USB_ARCH_HAS_EHCI select HW_HAS_PCI select PCI_AR724X if PCI def_bool n config SOC_QCA955X select USB_ARCH_HAS_EHCI select HW_HAS_PCI select PCI_AR724X if PCI def_bool n config PCI_AR724X def_bool n config ATH79_DEV_GPIO_BUTTONS def_bool n config ATH79_DEV_LEDS_GPIO def_bool n config ATH79_DEV_SPI def_bool n config ATH79_DEV_USB def_bool n config ATH79_DEV_WMAC depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X) def_bool n endif if BCM47XX config BCM47XX_SSB bool "SSB Support for Broadcom BCM47XX" select SSB select SSB_DRIVER_MIPS select SSB_DRIVER_EXTIF select SSB_EMBEDDED select SSB_B43_PCI_BRIDGE if PCI select SSB_DRIVER_PCICORE if PCI select SSB_PCICORE_HOSTMODE if PCI select SSB_DRIVER_GPIO select GPIOLIB default y help Add support for old Broadcom BCM47xx boards with Sonics Silicon Backplane support. This will generate an image with support for SSB and MIPS32 R1 instruction set. config BCM47XX_BCMA bool "BCMA Support for Broadcom BCM47XX" select SYS_HAS_CPU_MIPS32_R2 select BCMA select BCMA_HOST_SOC select BCMA_DRIVER_MIPS select BCMA_HOST_PCI if PCI select BCMA_DRIVER_PCI_HOSTMODE if PCI select BCMA_DRIVER_GPIO select GPIOLIB default y help Add support for new Broadcom BCM47xx boards with Broadcom specific Advanced Microcontroller Bus. This will generate an image with support for BCMA and MIPS32 R2 instruction set. endif menu "CPU support" depends on BCM63XX config BCM63XX_CPU_3368 bool "support 3368 CPU" select HW_HAS_PCI config BCM63XX_CPU_6328 bool "support 6328 CPU" select HW_HAS_PCI config BCM63XX_CPU_6338 bool "support 6338 CPU" select HW_HAS_PCI config BCM63XX_CPU_6345 bool "support 6345 CPU" config BCM63XX_CPU_6348 bool "support 6348 CPU" select HW_HAS_PCI config BCM63XX_CPU_6358 bool "support 6358 CPU" select HW_HAS_PCI config BCM63XX_CPU_6362 bool "support 6362 CPU" select HW_HAS_PCI config BCM63XX_CPU_6368 bool "support 6368 CPU" select HW_HAS_PCI endmenu source "arch/mips/bcm63xx/boards/Kconfig" choice prompt "Board support" depends on BCM63XX default BOARD_BCM963XX config BOARD_BCM963XX bool "Generic Broadcom 963xx boards" select SSB help endchoice if CPU_CAVIUM_OCTEON config CAVIUM_CN63XXP1 bool "Enable CN63XXP1 errata worarounds" default "n" help The CN63XXP1 chip requires build time workarounds to function reliably, select this option to enable them. These workarounds will cause a slight decrease in performance on non-CN63XXP1 hardware, so it is recommended to select "n" unless it is known the workarounds are needed. endif # CPU_CAVIUM_OCTEON if CAVIUM_OCTEON_SOC config CAVIUM_OCTEON_2ND_KERNEL bool "Build the kernel to be used as a 2nd kernel on the same chip" default "n" help This option configures this kernel to be linked at a different address and use the 2nd uart for output. This allows a kernel built with this option to be run at the same time as one built without this option. config CAVIUM_OCTEON_CVMSEG_SIZE int "Number of L1 cache lines reserved for CVMSEG memory" range 0 54 default 1 help CVMSEG LM is a segment that accesses portions of the dcache as a local memory; the larger CVMSEG is, the smaller the cache is. This selects the size of CVMSEG LM, which is in cache blocks. The legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is between zero and 6192 bytes). config CAVIUM_OCTEON_LOCK_L2 bool "Lock often used kernel code in the L2" default "y" help Enable locking parts of the kernel into the L2 cache. config CAVIUM_OCTEON_LOCK_L2_TLB bool "Lock the TLB handler in L2" depends on CAVIUM_OCTEON_LOCK_L2 default "y" help Lock the low level TLB fast path into L2. config CAVIUM_OCTEON_LOCK_L2_EXCEPTION bool "Lock the exception handler in L2" depends on CAVIUM_OCTEON_LOCK_L2 default "y" help Lock the low level exception handler into L2. config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT bool "Lock the interrupt handler in L2" depends on CAVIUM_OCTEON_LOCK_L2 default "y" help Lock the low level interrupt handler into L2. config CAVIUM_OCTEON_LOCK_L2_INTERRUPT bool "Lock the 2nd level interrupt handler in L2" depends on CAVIUM_OCTEON_LOCK_L2 default "y" help Lock the 2nd level interrupt handler in L2. config CAVIUM_OCTEON_LOCK_L2_MEMCPY bool "Lock memcpy() in L2" depends on CAVIUM_OCTEON_LOCK_L2 default "y" help Lock the kernel's implementation of memcpy() into L2. config IOMMU_HELPER bool config NEED_SG_DMA_LENGTH bool config SWIOTLB def_bool y select IOMMU_HELPER select NEED_SG_DMA_LENGTH config OCTEON_ILM tristate "Module to measure interrupt latency using Octeon CIU Timer" help This driver is a module to measure interrupt latency using the the CIU Timers on Octeon. To compile this driver as a module, choose M here. The module will be called octeon-ilm endif # CAVIUM_OCTEON_SOC config ACER_PICA_61 bool "Support for Acer PICA 1 chipset" depends on MACH_JAZZ select DMA_NONCOHERENT select SYS_SUPPORTS_LITTLE_ENDIAN help This is a machine with a R4400 133/150 MHz CPU. To compile a Linux kernel that runs on these, say Y here. For details about Linux on the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at . config MIPS_MAGNUM_4000 bool "Support for MIPS Magnum 4000" depends on MACH_JAZZ select DMA_NONCOHERENT select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN help This is a machine with a R4000 100 MHz CPU. To compile a Linux kernel that runs on these, say Y here. For details about Linux on the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at . config OLIVETTI_M700 bool "Support for Olivetti M700-10" depends on MACH_JAZZ select DMA_NONCOHERENT select SYS_SUPPORTS_LITTLE_ENDIAN help This is a machine with a R4000 100 MHz CPU. To compile a Linux kernel that runs on these, say Y here. For details about Linux on the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at . choice prompt "Machine type" depends on MACH_JZ4740 default JZ4740_QI_LB60 config JZ4740_QI_LB60 bool "Qi Hardware Ben NanoNote" endchoice # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM tristate "Kernel-based Virtual Machine (KVM) support" depends on HAVE_KVM select PREEMPT_NOTIFIERS select ANON_INODES select KVM_MMIO ---help--- Support for hosting Guest kernels. Currently supported on MIPS32 processors. config KVM_MIPS_DYN_TRANS bool "KVM/MIPS: Dynamic binary translation to reduce traps" depends on KVM ---help--- When running in Trap & Emulate mode patch privileged instructions to reduce the number of traps. If unsure, say Y. config KVM_MIPS_DEBUG_COP0_COUNTERS bool "Maintain counters for COP0 accesses" depends on KVM ---help--- Maintain statistics for Guest COP0 accesses. A histogram of COP0 accesses is printed when the VM is shutdown. If unsure, say N. source drivers/vhost/Kconfig endif # VIRTUALIZATION if LANTIQ config SOC_TYPE_XWAY bool select PINCTRL_XWAY default n choice prompt "SoC Type" default SOC_XWAY config SOC_AMAZON_SE bool "Amazon SE" select SOC_TYPE_XWAY config SOC_XWAY bool "XWAY" select SOC_TYPE_XWAY select HW_HAS_PCI config SOC_FALCON bool "FALCON" select PINCTRL_FALCON endchoice choice prompt "Devicetree" config DT_EASY50712 bool "Easy50712" depends on SOC_XWAY endchoice config PCI_LANTIQ bool "PCI Support" depends on SOC_XWAY && PCI config XRX200_PHY_FW bool "XRX200 PHY firmware loader" depends on SOC_XWAY endif config PICVUE tristate "PICVUE LCD display driver" depends on LASAT config PICVUE_PROC tristate "PICVUE LCD display driver /proc interface" depends on PICVUE config DS1603 bool "DS1603 RTC driver" depends on LASAT config LASAT_SYSCTL bool "LASAT sysctl interface" depends on LASAT if MACH_LOONGSON choice prompt "Machine Type" config LEMOTE_FULOONG2E bool "Lemote Fuloong(2e) mini-PC" select ARCH_SPARSEMEM_ENABLE select CEVT_R4K select CSRC_R4K select SYS_HAS_CPU_LOONGSON2E select DMA_NONCOHERENT select BOOT_ELF32 select BOARD_SCACHE select HW_HAS_PCI select I8259 select ISA select IRQ_CPU select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_HAS_EARLY_PRINTK select GENERIC_ISA_DMA_SUPPORT_BROKEN select CPU_HAS_WB select LOONGSON_MC146818 help Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and an FPGA northbridge Lemote Fuloong(2e) mini PC have a VIA686B south bridge. config LEMOTE_MACH2F bool "Lemote Loongson 2F family machines" select ARCH_SPARSEMEM_ENABLE select BOARD_SCACHE select BOOT_ELF32 select CEVT_R4K if ! MIPS_EXTERNAL_TIMER select CPU_HAS_WB select CS5536 select CSRC_R4K if ! MIPS_EXTERNAL_TIMER select DMA_NONCOHERENT select GENERIC_ISA_DMA_SUPPORT_BROKEN select HAVE_CLK select HW_HAS_PCI select I8259 select IRQ_CPU select ISA select SYS_HAS_CPU_LOONGSON2F select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN select LOONGSON_MC146818 help Lemote Loongson 2F family machines utilize the 2F revision of Loongson processor and the AMD CS5536 south bridge. These family machines include fuloong2f mini PC, yeeloong2f notebook, LingLoong allinone PC and so forth. endchoice config CS5536 bool config CS5536_MFGPT bool "CS5536 MFGPT Timer" depends on CS5536 select MIPS_EXTERNAL_TIMER help This option enables the mfgpt0 timer of AMD CS5536. If you want to enable the Loongson2 CPUFreq Driver, Please enable this option at first, otherwise, You will get wrong system time. If unsure, say Yes. config LOONGSON_SUSPEND bool default y depends on CPU_SUPPORTS_CPUFREQ && SUSPEND config LOONGSON_UART_BASE bool default y depends on EARLY_PRINTK || SERIAL_8250 config LOONGSON_MC146818 bool default n endif # MACH_LOONGSON if MACH_LOONGSON1 choice prompt "Machine Type" config LOONGSON1_LS1B bool "Loongson LS1B board" select CEVT_R4K select CSRC_R4K select SYS_HAS_CPU_LOONGSON1B select DMA_NONCOHERENT select BOOT_ELF32 select IRQ_CPU select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_HAS_EARLY_PRINTK select COMMON_CLK endchoice endif # MACH_LOONGSON1 if NLM_XLP_BOARD || NLM_XLR_BOARD if NLM_XLP_BOARD config DT_XLP_EVP bool "Built-in device tree for XLP EVP boards" default y help Add an FDT blob for XLP EVP boards into the kernel. This DTB will be used if the firmware does not pass in a DTB pointer to the kernel. The corresponding DTS file is at arch/mips/netlogic/dts/xlp_evp.dts config DT_XLP_SVP bool "Built-in device tree for XLP SVP boards" default y help Add an FDT blob for XLP VP boards into the kernel. This DTB will be used if the firmware does not pass in a DTB pointer to the kernel. The corresponding DTS file is at arch/mips/netlogic/dts/xlp_svp.dts config DT_XLP_FVP bool "Built-in device tree for XLP FVP boards" default y help Add an FDT blob for XLP FVP board into the kernel. This DTB will be used if the firmware does not pass in a DTB pointer to the kernel. The corresponding DTS file is at arch/mips/netlogic/dts/xlp_fvp.dts config NLM_MULTINODE bool "Support for multi-chip boards" depends on NLM_XLP_BOARD default n help Add support for boards with 2 or 4 XLPs connected over ICI. if NLM_MULTINODE choice prompt "Number of XLPs on the board" default NLM_MULTINODE_2 help In the multi-node case, specify the number of SoCs on the board. config NLM_MULTINODE_2 bool "Dual-XLP board" help Support boards with upto two XLPs connected over ICI. config NLM_MULTINODE_4 bool "Quad-XLP board" help Support boards with upto four XLPs connected over ICI. endchoice endif endif config NLM_COMMON bool config IOMMU_HELPER bool config NEED_SG_DMA_LENGTH bool config SWIOTLB def_bool y select NEED_SG_DMA_LENGTH select IOMMU_HELPER endif choice prompt "PMC-Sierra MSP SOC type" depends on PMC_MSP config PMC_MSP4200_EVAL bool "PMC-Sierra MSP4200 Eval Board" select IRQ_MSP_SLP select HW_HAS_PCI config PMC_MSP4200_GW bool "PMC-Sierra MSP4200 VoIP Gateway" select IRQ_MSP_SLP select HW_HAS_PCI config PMC_MSP7120_EVAL bool "PMC-Sierra MSP7120 Eval Board" select SYS_SUPPORTS_MULTITHREADING select IRQ_MSP_CIC select HW_HAS_PCI config PMC_MSP7120_GW bool "PMC-Sierra MSP7120 Residential Gateway" select SYS_SUPPORTS_MULTITHREADING select IRQ_MSP_CIC select HW_HAS_PCI select MSP_HAS_USB select MSP_ETH config PMC_MSP7120_FPGA bool "PMC-Sierra MSP7120 FPGA" select SYS_SUPPORTS_MULTITHREADING select IRQ_MSP_CIC select HW_HAS_PCI endchoice config MSP_HAS_USB boolean depends on PMC_MSP config MSP_ETH boolean select MSP_HAS_MAC depends on PMC_MSP config MSP_HAS_MAC boolean depends on PMC_MSP if RALINK config CLKEVT_RT3352 bool depends on SOC_RT305X || SOC_MT7620 default y select CLKSRC_OF select CLKSRC_MMIO choice prompt "Ralink SoC selection" default SOC_RT305X help Select Ralink MIPS SoC type. config SOC_RT288X bool "RT288x" config SOC_RT305X bool "RT305x" select USB_ARCH_HAS_HCD select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI config SOC_RT3883 bool "RT3883" select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI select HW_HAS_PCI config SOC_MT7620 bool "MT7620" select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI endchoice choice prompt "Devicetree selection" default DTB_RT_NONE help Select the devicetree. config DTB_RT_NONE bool "None" config DTB_RT2880_EVAL bool "RT2880 eval kit" depends on SOC_RT288X config DTB_RT305X_EVAL bool "RT305x eval kit" depends on SOC_RT305X config DTB_RT3883_EVAL bool "RT3883 eval kit" depends on SOC_RT3883 config DTB_MT7620A_EVAL bool "MT7620A eval kit" depends on SOC_MT7620 endchoice endif choice prompt "Node addressing mode" depends on SGI_IP27 default SGI_SN_M_MODE config SGI_SN_M_MODE bool "IP27 M-Mode" help The nodes of Origin, Onyx, Fuel and Tezro systems can be configured in either N-Modes which allows for more nodes or M-Mode which allows for more memory. Your hardware is almost certainly running in M-Mode, so choose M-mode here. config SGI_SN_N_MODE bool "IP27 N-Mode" help The nodes of Origin, Onyx, Fuel and Tezro systems can be configured in either N-Modes which allows for more nodes or M-Mode which allows for more memory. Your hardware is almost certainly running in M-Mode, so choose M-mode here. endchoice config MAPPED_KERNEL bool "Mapped kernel support" depends on SGI_IP27 help Change the way a Linux kernel is loaded into memory on a MIPS64 machine. This is required in order to support text replication on NUMA. If you need to understand it, read the source code. config REPLICATE_KTEXT bool "Kernel text replication support" depends on SGI_IP27 select MAPPED_KERNEL help Say Y here to enable replicating the kernel text across multiple nodes in a NUMA cluster. This trades memory for speed. config REPLICATE_EXHANDLERS bool "Exception handler replication support" depends on SGI_IP27 help Say Y here to enable replicating the kernel exception handlers across multiple nodes in a NUMA cluster. This trades memory for speed. config SIBYTE_SB1250 bool select CEVT_SB1250 select CSRC_SB1250 select HW_HAS_PCI select IRQ_CPU select SIBYTE_ENABLE_LDT_IF_PCI select SIBYTE_HAS_ZBUS_PROFILING select SIBYTE_SB1xxx_SOC select SYS_SUPPORTS_SMP config SIBYTE_BCM1120 bool select CEVT_SB1250 select CSRC_SB1250 select IRQ_CPU select SIBYTE_BCM112X select SIBYTE_HAS_ZBUS_PROFILING select SIBYTE_SB1xxx_SOC config SIBYTE_BCM1125 bool select CEVT_SB1250 select CSRC_SB1250 select HW_HAS_PCI select IRQ_CPU select SIBYTE_BCM112X select SIBYTE_HAS_ZBUS_PROFILING select SIBYTE_SB1xxx_SOC config SIBYTE_BCM1125H bool select CEVT_SB1250 select CSRC_SB1250 select HW_HAS_PCI select IRQ_CPU select SIBYTE_BCM112X select SIBYTE_ENABLE_LDT_IF_PCI select SIBYTE_HAS_ZBUS_PROFILING select SIBYTE_SB1xxx_SOC config SIBYTE_BCM112X bool select CEVT_SB1250 select CSRC_SB1250 select IRQ_CPU select SIBYTE_SB1xxx_SOC select SIBYTE_HAS_ZBUS_PROFILING config SIBYTE_BCM1x80 bool select CEVT_BCM1480 select CSRC_BCM1480 select HW_HAS_PCI select IRQ_CPU select SIBYTE_HAS_ZBUS_PROFILING select SIBYTE_SB1xxx_SOC select SYS_SUPPORTS_SMP config SIBYTE_BCM1x55 bool select CEVT_BCM1480 select CSRC_BCM1480 select HW_HAS_PCI select IRQ_CPU select SIBYTE_SB1xxx_SOC select SIBYTE_HAS_ZBUS_PROFILING select SYS_SUPPORTS_SMP config SIBYTE_SB1xxx_SOC bool select DMA_COHERENT select IRQ_CPU select SWAP_IO_SPACE select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL select FW_CFE select SYS_HAS_EARLY_PRINTK choice prompt "SiByte SOC Stepping" depends on SIBYTE_SB1xxx_SOC config CPU_SB1_PASS_1 bool "1250 Pass1" depends on SIBYTE_SB1250 select CPU_HAS_PREFETCH config CPU_SB1_PASS_2_1250 bool "1250 An" depends on SIBYTE_SB1250 select CPU_SB1_PASS_2 help Also called BCM1250 Pass 2 config CPU_SB1_PASS_2_2 bool "1250 Bn" depends on SIBYTE_SB1250 select CPU_HAS_PREFETCH help Also called BCM1250 Pass 2.2 config CPU_SB1_PASS_4 bool "1250 Cn" depends on SIBYTE_SB1250 select CPU_HAS_PREFETCH help Also called BCM1250 Pass 3 config CPU_SB1_PASS_2_112x bool "112x Hybrid" depends on SIBYTE_BCM112X select CPU_SB1_PASS_2 config CPU_SB1_PASS_3 bool "112x An" depends on SIBYTE_BCM112X select CPU_HAS_PREFETCH endchoice config CPU_SB1_PASS_2 bool config SIBYTE_HAS_LDT bool config SIBYTE_ENABLE_LDT_IF_PCI bool select SIBYTE_HAS_LDT if PCI config SB1_CEX_ALWAYS_FATAL bool "All cache exceptions considered fatal (no recovery attempted)" depends on SIBYTE_SB1xxx_SOC config SB1_CERR_STALL bool "Stall (rather than panic) on fatal cache error" depends on SIBYTE_SB1xxx_SOC config SIBYTE_CFE_CONSOLE bool "Use firmware console" depends on SIBYTE_SB1xxx_SOC help Use the CFE API's console write routines during boot. Other console options (VT console, sb1250 duart console, etc.) should not be configured. config SIBYTE_BUS_WATCHER bool "Support for Bus Watcher statistics" depends on SIBYTE_SB1xxx_SOC && \ (SIBYTE_BCM112X || SIBYTE_SB1250) help Handle and keep statistics on the bus error interrupts (COR_ECC, BAD_ECC, IO_BUS). config SIBYTE_BW_TRACE bool "Capture bus trace before bus error" depends on SIBYTE_BUS_WATCHER help Run a continuous bus trace, dumping the raw data as soon as a ZBbus error is detected. Cannot work if ZBbus profiling is turned on, and also will interfere with JTAG-based trace buffer activity. Raw buffer data is dumped to console, and must be processed off-line. config SIBYTE_TBPROF tristate "Support for ZBbus profiling" depends on SIBYTE_HAS_ZBUS_PROFILING config SIBYTE_HAS_ZBUS_PROFILING bool config MACH_TX39XX bool select MACH_TXX9 select SYS_HAS_CPU_TX39XX config MACH_TX49XX bool select MACH_TXX9 select CEVT_R4K select CSRC_R4K select IRQ_CPU select SYS_HAS_CPU_TX49XX select SYS_SUPPORTS_64BIT_KERNEL config MACH_TXX9 bool select DMA_NONCOHERENT select SWAP_IO_SPACE select SYS_HAS_EARLY_PRINTK select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_BIG_ENDIAN select HAVE_CLK config TOSHIBA_JMR3927 bool "Toshiba JMR-TX3927 board" depends on MACH_TX39XX select SOC_TX3927 config TOSHIBA_RBTX4927 bool "Toshiba RBTX49[23]7 board" depends on MACH_TX49XX select SOC_TX4927 # TX4937 is subset of TX4938 select SOC_TX4938 help This Toshiba board is based on the TX4927 processor. Say Y here to support this machine type config TOSHIBA_RBTX4938 bool "Toshiba RBTX4938 board" depends on MACH_TX49XX select SOC_TX4938 help This Toshiba board is based on the TX4938 processor. Say Y here to support this machine type config TOSHIBA_RBTX4939 bool "Toshiba RBTX4939 board" depends on MACH_TX49XX select SOC_TX4939 select TXX9_7SEGLED help This Toshiba board is based on the TX4939 processor. Say Y here to support this machine type config SOC_TX3927 bool select CEVT_TXX9 select HAS_TXX9_SERIAL select HW_HAS_PCI select IRQ_TXX9 select GPIO_TXX9 config SOC_TX4927 bool select CEVT_TXX9 select HAS_TXX9_SERIAL select HW_HAS_PCI select IRQ_TXX9 select PCI_TX4927 select GPIO_TXX9 select HAS_TXX9_ACLC config SOC_TX4938 bool select CEVT_TXX9 select HAS_TXX9_SERIAL select HW_HAS_PCI select IRQ_TXX9 select PCI_TX4927 select GPIO_TXX9 select HAS_TXX9_ACLC config SOC_TX4939 bool select CEVT_TXX9 select HAS_TXX9_SERIAL select HW_HAS_PCI select PCI_TX4927 select HAS_TXX9_ACLC config TXX9_7SEGLED bool config TOSHIBA_FPCIB0 bool "FPCIB0 Backplane Support" depends on PCI && MACH_TXX9 select I8259 config PICMG_PCI_BACKPLANE_DEFAULT bool "Support for PICMG PCI Backplane" depends on PCI && MACH_TXX9 default y if !TOSHIBA_FPCIB0 if TOSHIBA_RBTX4938 comment "Multiplex Pin Select" choice prompt "PIO[58:61]" default TOSHIBA_RBTX4938_MPLEX_PIO58_61 config TOSHIBA_RBTX4938_MPLEX_PIO58_61 bool "PIO" config TOSHIBA_RBTX4938_MPLEX_NAND bool "NAND" config TOSHIBA_RBTX4938_MPLEX_ATA bool "ATA" config TOSHIBA_RBTX4938_MPLEX_KEEP bool "Keep firmware settings" endchoice endif config PCI_TX4927 bool choice prompt "Machine type" depends on MACH_VR41XX default TANBAC_TB022X config CASIO_E55 bool "CASIO CASSIOPEIA E-10/15/55/65" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select ISA select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN config IBM_WORKPAD bool "IBM WorkPad z50" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select ISA select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN config TANBAC_TB022X bool "TANBAC VR4131 multichip module and TANBAC VR4131DIMM" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select HW_HAS_PCI select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN help The TANBAC VR4131 multichip module(TB0225) and the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms manufactured by TANBAC. Please refer to about VR4131 multichip module and VR4131DIMM. config VICTOR_MPC30X bool "Victor MP-C303/304" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select HW_HAS_PCI select PCI_VR41XX select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN config ZAO_CAPCELLA bool "ZAO Networks Capcella" select CEVT_R4K select CSRC_R4K select DMA_NONCOHERENT select IRQ_CPU select HW_HAS_PCI select PCI_VR41XX select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_LITTLE_ENDIAN endchoice choice prompt "Base board type" depends on TANBAC_TB022X default TANBAC_TB0287 config TANBAC_TB0219 bool "TANBAC DIMM Evaluation Kit(TB0219)" select GPIO_VR41XX select PCI_VR41XX help The TANBAC DIMM Evaluation Kit(TB0219) is a MIPS-based platform manufactured by TANBAC. Please refer to about DIMM Evaluation Kit. config TANBAC_TB0226 bool "TANBAC Mbase(TB0226)" select GPIO_VR41XX select PCI_VR41XX help The TANBAC Mbase(TB0226) is a MIPS-based platform manufactured by TANBAC. Please refer to about Mbase. config TANBAC_TB0287 bool "TANBAC Mini-ITX DIMM base(TB0287)" select PCI_VR41XX help The TANBAC Mini-ITX DIMM base(TB0287) is a MIPS-based platform manufactured by TANBAC. Please refer to about Mini-ITX DIMM base. endchoice config PCI_VR41XX bool "Add PCI control unit support of NEC VR4100 series" depends on MACH_VR41XX && HW_HAS_PCI default y select PCI config MN10300 def_bool y select HAVE_OPROFILE select GENERIC_IRQ_SHOW select ARCH_WANT_IPC_PARSE_VERSION select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_KGDB select GENERIC_ATOMIC64 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER select VIRT_TO_BUS select GENERIC_CLOCKEVENTS select MODULES_USE_ELF_RELA select OLD_SIGSUSPEND3 select OLD_SIGACTION select HAVE_DEBUG_STACKOVERFLOW config AM33_2 def_bool n config AM33_3 def_bool n config AM34_2 def_bool n select MN10300_HAS_ATOMIC_OPS_UNIT select MN10300_HAS_CACHE_SNOOP config ERRATUM_NEED_TO_RELOAD_MMUCTR def_bool y if AM33_3 || AM34_2 config MMU def_bool y config HIGHMEM def_bool n config NUMA def_bool n config UID16 def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM bool config GENERIC_CALIBRATE_DELAY def_bool y config GENERIC_HWEIGHT def_bool y config GENERIC_BUG def_bool y config QUICKLIST def_bool y config ARCH_HAS_ILOG2_U32 def_bool y config HOTPLUG_CPU def_bool n source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Panasonic MN10300 system setup" choice prompt "Unit type" default MN10300_UNIT_ASB2303 help This option specifies board for which the kernel will be compiled. It affects the external peripherals catered for. config MN10300_UNIT_ASB2303 bool "ASB2303" config MN10300_UNIT_ASB2305 bool "ASB2305" config MN10300_UNIT_ASB2364 bool "ASB2364" select SMSC911X_ARCH_HOOKS if SMSC911X endchoice choice prompt "Processor support" default MN10300_PROC_MN103E010 help This option specifies the processor for which the kernel will be compiled. It affects the on-chip peripherals catered for. config MN10300_PROC_MN103E010 bool "MN103E010" depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305 select AM33_2 select MN10300_PROC_HAS_TTYSM0 select MN10300_PROC_HAS_TTYSM1 select MN10300_PROC_HAS_TTYSM2 config MN10300_PROC_MN2WS0050 bool "MN2WS0050" depends on MN10300_UNIT_ASB2364 select AM34_2 select MN10300_PROC_HAS_TTYSM0 select MN10300_PROC_HAS_TTYSM1 select MN10300_PROC_HAS_TTYSM2 endchoice config MN10300_HAS_ATOMIC_OPS_UNIT def_bool n help This should be enabled if the processor has an atomic ops unit capable of doing LL/SC equivalent operations. config FPU bool "FPU present" default y depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 config LAZY_SAVE_FPU bool "Save FPU state lazily" default y depends on FPU && !SMP help Enable this to be lazy in the saving of the FPU state to the owning task's thread struct. This is useful if most tasks on the system don't use the FPU as only those tasks that use it will pass it between them, and the state needn't be saved for a task that isn't using it. This can't be so easily used on SMP as the process that owns the FPU state on a CPU may be currently running on another CPU, so for the moment, it is disabled. source "arch/mn10300/mm/Kconfig.cache" config MN10300_TLB_USE_PIDR def_bool y menu "Memory layout options" config KERNEL_RAM_BASE_ADDRESS hex "Base address of kernel RAM" default "0x90000000" config INTERRUPT_VECTOR_BASE hex "Base address of vector table" default "0x90000000" help The base address of the vector table will be programmed into the TBR register. It must be on 16MiB address boundary. config KERNEL_TEXT_ADDRESS hex "Base address of kernel" default "0x90001000" config KERNEL_ZIMAGE_BASE_ADDRESS hex "Base address of compressed vmlinux image" default "0x50700000" config BOOT_STACK_OFFSET hex default "0xF00" if SMP default "0xFF0" if !SMP config BOOT_STACK_SIZE hex depends on SMP default "0x100" endmenu config SMP bool "Symmetric multi-processing support" default y depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050 ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. See also , and the SMP-HOWTO available at . If you don't know what to do here, say N. config NR_CPUS int depends on SMP default "2" source "kernel/Kconfig.preempt" config MN10300_CURRENT_IN_E2 bool "Hold current task address in E2 register" depends on !SMP default y help This option removes the E2/R2 register from the set available to gcc for normal use and instead uses it to store the address of the current process's task_struct whilst in the kernel. This means the kernel doesn't need to calculate the address each time "current" is used (take SP, AND with mask and dereference pointer just to get the address), and instead can just use E2+offset addressing each time. This has no effect on userspace. config MN10300_USING_JTAG bool "Using JTAG to debug kernel" default y help This options indicates that JTAG will be used to debug the kernel. It suppresses the use of certain hardware debugging features, such as single-stepping, which are taken over completely by the JTAG unit. source "kernel/Kconfig.hz" config MN10300_RTC bool "Using MN10300 RTC" depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 select GENERIC_CMOS_UPDATE default n help This option enables support for the RTC, thus enabling time to be tracked, even when system is powered down. This is available on-chip on the MN103E010. config MN10300_WD_TIMER bool "Using MN10300 watchdog timer" default y help This options indicates that the watchdog timer will be used. config PCI bool "Use PCI" depends on MN10300_UNIT_ASB2305 default y select GENERIC_PCI_IOMAP help Some systems (such as the ASB2305) have PCI onboard. If you have one of these boards and you wish to use the PCI facilities, say Y here. The PCI-HOWTO, available from , contains valuable information about which PCI hardware does work under Linux and which doesn't. source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" menu "MN10300 internal serial options" config MN10300_PROC_HAS_TTYSM0 bool default n config MN10300_PROC_HAS_TTYSM1 bool default n config MN10300_PROC_HAS_TTYSM2 bool default n config MN10300_TTYSM bool "Support for ttySM serial ports" depends on MN10300 default y select SERIAL_CORE help This option enables support for the on-chip serial ports that the MN10300 has available. config MN10300_TTYSM_CONSOLE bool "Support for console on ttySM serial ports" depends on MN10300_TTYSM select SERIAL_CORE_CONSOLE help This option enables support for a console on the on-chip serial ports that the MN10300 has available. # # /dev/ttySM0 # config MN10300_TTYSM0 bool "Enable SIF0 (/dev/ttySM0)" depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0 help Enable access to SIF0 through /dev/ttySM0 or gdb-stub choice prompt "Select the timer to supply the clock for SIF0" default MN10300_TTYSM0_TIMER8 depends on MN10300_TTYSM0 config MN10300_TTYSM0_TIMER8 bool "Use timer 8 (16-bit)" config MN10300_TTYSM0_TIMER2 bool "Use timer 2 (8-bit)" endchoice # # /dev/ttySM1 # config MN10300_TTYSM1 bool "Enable SIF1 (/dev/ttySM1)" depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1 help Enable access to SIF1 through /dev/ttySM1 or gdb-stub choice prompt "Select the timer to supply the clock for SIF1" default MN10300_TTYSM1_TIMER12 \ if !(AM33_2 || AM33_3) default MN10300_TTYSM1_TIMER9 \ if AM33_2 || AM33_3 depends on MN10300_TTYSM1 config MN10300_TTYSM1_TIMER12 bool "Use timer 12 (16-bit)" depends on !(AM33_2 || AM33_3) config MN10300_TTYSM1_TIMER9 bool "Use timer 9 (16-bit)" depends on AM33_2 || AM33_3 config MN10300_TTYSM1_TIMER3 bool "Use timer 3 (8-bit)" depends on AM33_2 || AM33_3 endchoice # # /dev/ttySM2 # config MN10300_TTYSM2 bool "Enable SIF2 (/dev/ttySM2)" depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2 help Enable access to SIF2 through /dev/ttySM2 or gdb-stub choice prompt "Select the timer to supply the clock for SIF2" default MN10300_TTYSM2_TIMER3 \ if !(AM33_2 || AM33_3) default MN10300_TTYSM2_TIMER10 \ if AM33_2 || AM33_3 depends on MN10300_TTYSM2 config MN10300_TTYSM2_TIMER9 bool "Use timer 9 (16-bit)" depends on !(AM33_2 || AM33_3) config MN10300_TTYSM2_TIMER1 bool "Use timer 1 (8-bit)" depends on !(AM33_2 || AM33_3) config MN10300_TTYSM2_TIMER3 bool "Use timer 3 (8-bit)" depends on !(AM33_2 || AM33_3) config MN10300_TTYSM2_TIMER10 bool "Use timer 10 (16-bit)" depends on AM33_2 || AM33_3 endchoice config MN10300_TTYSM2_CTS bool "Enable the use of the CTS line /dev/ttySM2" depends on MN10300_TTYSM2 && AM33_2 endmenu menu "Interrupt request priority options" comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)" comment "____Non-maskable interrupt levels____" comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial" config DEBUGGER_IRQ_LEVEL int "DEBUGGER interrupt priority" depends on KERNEL_DEBUGGER range 0 1 if LINUX_CLI_LEVEL = 2 range 0 2 if LINUX_CLI_LEVEL = 3 range 0 3 if LINUX_CLI_LEVEL = 4 range 0 4 if LINUX_CLI_LEVEL = 5 range 0 5 if LINUX_CLI_LEVEL = 6 default 0 comment "The following must be set to a higher priority than local_irq_disable()" config MN10300_SERIAL_IRQ_LEVEL int "MN10300 on-chip serial interrupt priority" depends on MN10300_TTYSM range 1 1 if LINUX_CLI_LEVEL = 2 range 1 2 if LINUX_CLI_LEVEL = 3 range 1 3 if LINUX_CLI_LEVEL = 4 range 1 4 if LINUX_CLI_LEVEL = 5 range 1 5 if LINUX_CLI_LEVEL = 6 default 1 comment "-" comment "____Maskable interrupt levels____" config LINUX_CLI_LEVEL int "The highest interrupt priority excluded by local_irq_disable() (2-6)" range 2 6 default 2 help local_irq_disable() doesn't actually disable maskable interrupts - what it does is restrict the levels of interrupt which are permitted (a lower level indicates a higher priority) by lowering the value in EPSW.IM from 7. Any interrupt is permitted for which the level is lower than EPSW.IM. Certain interrupts, such as DEBUGGER and virtual MN10300 on-chip serial DMA interrupts are allowed to interrupt normal disabled sections. comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL" config TIMER_IRQ_LEVEL int "Kernel timer interrupt priority" range LINUX_CLI_LEVEL 6 default 4 config PCI_IRQ_LEVEL int "PCI interrupt priority" depends on PCI range LINUX_CLI_LEVEL 6 default 5 config ETHERNET_IRQ_LEVEL int "Ethernet interrupt priority" depends on SMC91X || SMC911X || SMSC911X range LINUX_CLI_LEVEL 6 default 6 config EXT_SERIAL_IRQ_LEVEL int "External serial port interrupt priority" depends on SERIAL_8250 range LINUX_CLI_LEVEL 6 default 6 endmenu source "mm/Kconfig" menu "Power management options" source kernel/power/Kconfig endmenu endmenu menu "Executable formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/mn10300/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # config OPENRISC def_bool y select OF select OF_EARLY_FLATTREE select IRQ_DOMAIN select HAVE_MEMBLOCK select ARCH_REQUIRE_GPIOLIB select HAVE_ARCH_TRACEHOOK select GENERIC_IRQ_CHIP select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select MODULES_USE_ELF_RELA select HAVE_DEBUG_STACKOVERFLOW config MMU def_bool y config HAVE_DMA_ATTRS def_bool y config UID16 def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM def_bool n config GENERIC_HWEIGHT def_bool y config NO_IOPORT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y # For now, use generic checksum functions #These can be reimplemented in assembly later if so inclined config GENERIC_CSUM def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" choice prompt "Subarchitecture" default OR1K_1200 config OR1K_1200 bool "OR1200" help Generic OpenRISC 1200 architecture endchoice config OPENRISC_BUILTIN_DTB string "Builtin DTB" default "" menu "Class II Instructions" config OPENRISC_HAVE_INST_FF1 bool "Have instruction l.ff1" default y help Select this if your implementation has the Class II instruction l.ff1 config OPENRISC_HAVE_INST_FL1 bool "Have instruction l.fl1" default y help Select this if your implementation has the Class II instruction l.fl1 config OPENRISC_HAVE_INST_MUL bool "Have instruction l.mul for hardware multiply" default y help Select this if your implementation has a hardware multiply instruction config OPENRISC_HAVE_INST_DIV bool "Have instruction l.div for hardware divide" default y help Select this if your implementation has a hardware divide instruction endmenu source kernel/Kconfig.hz source kernel/Kconfig.preempt source "mm/Kconfig" config OPENRISC_NO_SPR_SR_DSX bool "use SPR_SR_DSX software emulation" if OR1K_1200 default y help SPR_SR_DSX bit is status register bit indicating whether the last exception has happened in delay slot. OpenRISC architecture makes it optional to have it implemented in hardware and the OR1200 does not have it. Say N here if you know that your OpenRISC processor has SPR_SR_DSX bit implemented. Say Y if you are unsure. config CMDLINE string "Default kernel command string" default "" help On some architectures there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. menu "Debugging options" config JUMP_UPON_UNHANDLED_EXCEPTION bool "Try to die gracefully" default y help Now this puts kernel into infinite loop after first oops. Till your kernel crashes this doesn't have any influence. Say Y if you are unsure. config OPENRISC_ESR_EXCEPTION_BUG_CHECK bool "Check for possible ESR exception bug" default n help This option enables some checks that might expose some problems in kernel. Say N if you are unsure. endmenu endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Kernel hacking" source "lib/Kconfig.debug" endmenu config PARISC def_bool y select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_IDE select HAVE_OPROFILE select HAVE_FUNCTION_TRACER if 64BIT select HAVE_FUNCTION_GRAPH_TRACER if 64BIT select HAVE_FUNCTION_TRACE_MCOUNT_TEST if 64BIT select ARCH_WANT_FRAME_POINTERS select RTC_CLASS select RTC_DRV_GENERIC select INIT_ALL_POSSIBLE select BUG select HAVE_PERF_EVENTS select GENERIC_ATOMIC64 if !64BIT select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select BROKEN_RODATA select GENERIC_IRQ_PROBE select GENERIC_PCI_IOMAP select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD select GENERIC_STRNCPY_FROM_USER select SYSCTL_ARCH_UNALIGN_ALLOW select HAVE_MOD_ARCH_SPECIFIC select VIRT_TO_BUS select MODULES_USE_ELF_RELA select CLONE_BACKWARDS select TTY # Needed for pdc_cons.c select HAVE_DEBUG_STACKOVERFLOW help The PA-RISC microprocessor is designed by Hewlett-Packard and used in many of their workstations & servers (HP9000 700 and 800 series, and later HP3000 series). The PA-RISC Linux project home page is at . config MMU def_bool y config STACK_GROWSUP def_bool y config GENERIC_LOCKBREAK bool default y depends on SMP && PREEMPT config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool default n config ARCH_HAS_ILOG2_U64 bool default n config GENERIC_BUG bool default y depends on BUG config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config TIME_LOW_RES bool depends on SMP default y config HAVE_LATENCYTOP_SUPPORT def_bool y # unless you want to implement ACPI on PA-RISC ... ;-) config PM bool config STACKTRACE_SUPPORT def_bool y config NEED_DMA_MAP_STATE def_bool y config NEED_SG_DMA_LENGTH def_bool y config ISA_DMA_API bool config ARCH_MAY_HAVE_PC_FDC bool depends on BROKEN default y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" choice prompt "Processor type" default PA7000 config PA7000 bool "PA7000/PA7100" ---help--- This is the processor type of your CPU. This information is used for optimizing purposes. In order to compile a kernel that can run on all 32-bit PA CPUs (albeit not optimally fast), you can specify "PA7000" here. Specifying "PA8000" here will allow you to select a 64-bit kernel which is required on some machines. config PA7100LC bool "PA7100LC" help Select this option for the PCX-L processor, as used in the 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, D200, D210, D300, D310 and E-class config PA7200 bool "PA7200" help Select this option for the PCX-T' processor, as used in the C100, C110, J100, J110, J210XC, D250, D260, D350, D360, K100, K200, K210, K220, K400, K410 and K420 config PA7300LC bool "PA7300LC" help Select this option for the PCX-L2 processor, as used in the 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, D220, D230, D320 and D330. config PA8X00 bool "PA8000 and up" help Select this option for PCX-U to PCX-W2 processors. endchoice # Define implied options from the CPU selection here config PA20 def_bool y depends on PA8X00 config PA11 def_bool y depends on PA7000 || PA7100LC || PA7200 || PA7300LC config PREFETCH def_bool y depends on PA8X00 || PA7200 config MLONGCALLS bool "Enable the -mlong-calls compiler option for big kernels" def_bool y if (!MODULES) depends on PA8X00 help If you configure the kernel to include many drivers built-in instead as modules, the kernel executable may become too big, so that the linker will not be able to resolve some long branches and fails to link your vmlinux kernel. In that case enabling this option will help you to overcome this limit by using the -mlong-calls compiler option. Usually you want to say N here, unless you e.g. want to build a kernel which includes all necessary drivers built-in and which can be used for TFTP booting without the need to have an initrd ramdisk. Enabling this option will probably slow down your kernel. config 64BIT bool "64-bit kernel" depends on PA8X00 help Enable this if you want to support 64bit kernel on PA-RISC platform. At the moment, only people willing to use more than 2GB of RAM, or having a 64bit-only capable PA-RISC machine should say Y here. Since there is no 64bit userland on PA-RISC, there is no point to enable this option otherwise. The 64bit kernel is significantly bigger and slower than the 32bit one. choice prompt "Kernel page size" default PARISC_PAGE_SIZE_4KB config PARISC_PAGE_SIZE_4KB bool "4KB" help This lets you select the page size of the kernel. For best performance, a page size of 16KB is recommended. For best compatibility with 32bit applications, a page size of 4KB should be selected (the vast majority of 32bit binaries work perfectly fine with a larger page size). 4KB For best 32bit compatibility 16KB For best performance 64KB For best performance, might give more overhead. If you don't know what to do, choose 4KB. config PARISC_PAGE_SIZE_16KB bool "16KB" depends on PA8X00 config PARISC_PAGE_SIZE_64KB bool "64KB" depends on PA8X00 endchoice config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. See also and the SMP-HOWTO available at . If you don't know what to do here, say N. config IRQSTACKS bool "Use separate kernel stacks when processing interrupts" default y help If you say Y here the kernel will use separate kernel stacks for handling hard and soft interrupts. This can help avoid overflowing the process kernel stacks. config HOTPLUG_CPU bool default y if SMP config ARCH_SELECT_MEMORY_MODEL def_bool y depends on 64BIT config ARCH_DISCONTIGMEM_ENABLE def_bool y depends on 64BIT config ARCH_FLATMEM_ENABLE def_bool y config ARCH_DISCONTIGMEM_DEFAULT def_bool y depends on ARCH_DISCONTIGMEM_ENABLE config NODES_SHIFT int default "3" depends on NEED_MULTIPLE_NODES source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" source "mm/Kconfig" config COMPAT def_bool y depends on 64BIT config SYSVIPC_COMPAT def_bool y depends on COMPAT && SYSVIPC config AUDIT_ARCH def_bool y config HPUX bool "Support for HP-UX binaries" depends on !64BIT config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "32" endmenu source "drivers/parisc/Kconfig" menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/parisc/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" source "arch/powerpc/platforms/Kconfig.cputype" config PPC32 bool default y if !PPC64 config 32BIT bool default y if PPC32 config 64BIT bool default y if PPC64 config WORD_SIZE int default 64 if PPC64 default 32 if !PPC64 config ARCH_PHYS_ADDR_T_64BIT def_bool PPC64 || PHYS_64BIT config ARCH_DMA_ADDR_T_64BIT def_bool ARCH_PHYS_ADDR_T_64BIT config MMU bool default y config HAVE_SETUP_PER_CPU_AREA def_bool PPC64 config NEED_PER_CPU_EMBED_FIRST_CHUNK def_bool PPC64 config NR_IRQS int "Number of virtual interrupt numbers" range 32 32768 default "512" help This defines the number of virtual interrupt numbers the kernel can manage. Virtual interrupt numbers are what you see in /proc/interrupts. If you configure your system to have too few, drivers will fail to load or worse - handle with care. config STACKTRACE_SUPPORT bool default y config HAVE_LATENCYTOP_SUPPORT def_bool y config TRACE_IRQFLAGS_SUPPORT bool default y config LOCKDEP_SUPPORT bool default y config RWSEM_GENERIC_SPINLOCK bool config RWSEM_XCHGADD_ALGORITHM bool default y config GENERIC_LOCKBREAK bool default y depends on SMP && PREEMPT config ARCH_HAS_ILOG2_U32 bool default y config ARCH_HAS_ILOG2_U64 bool default y if 64BIT config GENERIC_HWEIGHT bool default y config PPC bool default y select ARCH_MIGHT_HAVE_PC_PARPORT select BINFMT_ELF select OF select OF_EARLY_FLATTREE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_DYNAMIC_FTRACE select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER select SYSCTL_EXCEPTION_TRACE select ARCH_WANT_OPTIONAL_GPIOLIB select VIRT_TO_BUS if !PPC64 select HAVE_IDE select HAVE_IOREMAP_PROT select HAVE_EFFICIENT_UNALIGNED_ACCESS if !CPU_LITTLE_ENDIAN select HAVE_KPROBES select HAVE_ARCH_KGDB select HAVE_KRETPROBES select HAVE_ARCH_TRACEHOOK select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_DMA_ATTRS select HAVE_DMA_API_DEBUG select HAVE_OPROFILE select HAVE_DEBUG_KMEMLEAK select GENERIC_ATOMIC64 if PPC32 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select HAVE_PERF_EVENTS select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 select ARCH_WANT_IPC_PARSE_VERSION select SPARSE_IRQ select IRQ_DOMAIN select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW_LEVEL select IRQ_FORCED_THREADING select HAVE_RCU_TABLE_FREE if SMP select HAVE_SYSCALL_TRACEPOINTS select HAVE_BPF_JIT if PPC64 select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD select GENERIC_CMOS_UPDATE select GENERIC_TIME_VSYSCALL_OLD select GENERIC_CLOCKEVENTS select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA select CLONE_BACKWARDS select ARCH_USE_BUILTIN_BSWAP select OLD_SIGSUSPEND select OLD_SIGACTION if PPC32 select HAVE_DEBUG_STACKOVERFLOW select HAVE_IRQ_EXIT_ON_IRQ_STACK config GENERIC_CSUM def_bool CPU_LITTLE_ENDIAN config EARLY_PRINTK bool default y config COMPAT bool default y if PPC64 select COMPAT_BINFMT_ELF select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION config SYSVIPC_COMPAT bool depends on COMPAT && SYSVIPC default y # All PPC32s use generic nvram driver through ppc_md config GENERIC_NVRAM bool default y if PPC32 config SCHED_OMIT_FRAME_POINTER bool default y config ARCH_MAY_HAVE_PC_FDC bool default !PPC_PSERIES || PCI config PPC_OF def_bool y config PPC_UDBG_16550 bool default n config GENERIC_TBSYNC bool default y if PPC32 && SMP default n config AUDIT_ARCH bool default y config GENERIC_BUG bool default y depends on BUG config SYS_SUPPORTS_APM_EMULATION default y if PMAC_APM_EMU bool config EPAPR_BOOT bool help Used to allow a board to specify it wants an ePAPR compliant wrapper. default n config DEFAULT_UIMAGE bool help Used to allow a board to specify it wants a uImage built by default default n config REDBOOT bool config ARCH_HIBERNATION_POSSIBLE bool default y config ARCH_SUSPEND_POSSIBLE def_bool y depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \ (PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \ || 44x || 40x config PPC_DCR_NATIVE bool default n config PPC_DCR_MMIO bool default n config PPC_DCR bool depends on PPC_DCR_NATIVE || PPC_DCR_MMIO default y config PPC_OF_PLATFORM_PCI bool depends on PCI depends on PPC64 # not supported on 32 bits yet default n config ARCH_SUPPORTS_DEBUG_PAGEALLOC def_bool y config ARCH_SUPPORTS_UPROBES def_bool y config PPC_ADV_DEBUG_REGS bool depends on 40x || BOOKE default y config PPC_ADV_DEBUG_IACS int depends on PPC_ADV_DEBUG_REGS default 4 if 44x default 2 config PPC_ADV_DEBUG_DACS int depends on PPC_ADV_DEBUG_REGS default 2 config PPC_ADV_DEBUG_DVCS int depends on PPC_ADV_DEBUG_REGS default 2 if 44x default 0 config PPC_ADV_DEBUG_DAC_RANGE bool depends on PPC_ADV_DEBUG_REGS && 44x default y config PPC_EMULATE_SSTEP bool default y if KPROBES || UPROBES || XMON || HAVE_HW_BREAKPOINT source "init/Kconfig" source "kernel/Kconfig.freezer" source "arch/powerpc/sysdev/Kconfig" source "arch/powerpc/platforms/Kconfig" menu "Kernel options" config HIGHMEM bool "High memory support" depends on PPC32 source kernel/Kconfig.hz source kernel/Kconfig.preempt source "fs/Kconfig.binfmt" config HUGETLB_PAGE_SIZE_VARIABLE bool depends on HUGETLB_PAGE default y config MATH_EMULATION bool "Math emulation" depends on 4xx || 8xx || PPC_MPC832x || BOOKE ---help--- Some PowerPC chips designed for embedded applications do not have a floating-point unit and therefore do not implement the floating-point instructions in the PowerPC instruction set. If you say Y here, the kernel will include code to emulate a floating-point unit, which will allow programs that use floating-point instructions to run. This is also useful to emulate missing (optional) instructions such as fsqrt on cores that do have an FPU but do not implement them (such as Freescale BookE). choice prompt "Math emulation options" default MATH_EMULATION_FULL depends on MATH_EMULATION config MATH_EMULATION_FULL bool "Emulate all the floating point instructions" ---help--- Select this option will enable the kernel to support to emulate all the floating point instructions. If your SoC doesn't have a FPU, you should select this. config MATH_EMULATION_HW_UNIMPLEMENTED bool "Just emulate the FPU unimplemented instructions" ---help--- Select this if you know there does have a hardware FPU on your SoC, but some floating point instructions are not implemented by that. endchoice config PPC_TRANSACTIONAL_MEM bool "Transactional Memory support for POWERPC" depends on PPC_BOOK3S_64 depends on SMP default n ---help--- Support user-mode Transactional Memory on POWERPC. config IOMMU_HELPER def_bool PPC64 config SWIOTLB bool "SWIOTLB support" default n select IOMMU_HELPER ---help--- Support for IO bounce buffering for systems without an IOMMU. This allows us to DMA to the full physical address space on platforms where the size of a physical address is larger than the bus address. Not all platforms support this. config HOTPLUG_CPU bool "Support for enabling/disabling CPUs" depends on SMP && (PPC_PSERIES || \ PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC)) ---help--- Say Y here to be able to disable and re-enable individual CPUs at runtime on SMP machines. Say N if you are unsure. config ARCH_CPU_PROBE_RELEASE def_bool y depends on HOTPLUG_CPU config ARCH_ENABLE_MEMORY_HOTPLUG def_bool y config ARCH_HAS_WALK_MEMORY def_bool y config ARCH_ENABLE_MEMORY_HOTREMOVE def_bool y config KEXEC bool "kexec system call" depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. The name comes from the similarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. As of this writing the exact hardware interface is strongly in flux, so no good recommendation can be made. config CRASH_DUMP bool "Build a kdump crash kernel" depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP) select RELOCATABLE if PPC64 || 44x select DYNAMIC_MEMSTART if FSL_BOOKE help Build a kernel suitable for use as a kdump capture kernel. The same kernel binary can be used as production kernel and dump capture kernel. config FA_DUMP bool "Firmware-assisted dump" depends on PPC64 && PPC_RTAS && CRASH_DUMP && KEXEC help A robust mechanism to get reliable kernel crash dump with assistance from firmware. This approach does not use kexec, instead firmware assists in booting the kdump kernel while preserving memory contents. Firmware-assisted dump is meant to be a kdump replacement offering robustness and speed not possible without system firmware assistance. If unsure, say "N" config IRQ_ALL_CPUS bool "Distribute interrupts on all CPUs by default" depends on SMP help This option gives the kernel permission to distribute IRQs across multiple CPUs. Saying N here will route all IRQs to the first CPU. Generally saying Y is safe, although some problems have been reported with SMP Power Macintoshes with this option enabled. config NUMA bool "NUMA support" depends on PPC64 default y if SMP && PPC_PSERIES config NODES_SHIFT int default "8" if PPC64 default "4" depends on NEED_MULTIPLE_NODES config ARCH_SELECT_MEMORY_MODEL def_bool y depends on PPC64 config ARCH_FLATMEM_ENABLE def_bool y depends on (PPC64 && !NUMA) || PPC32 config ARCH_SPARSEMEM_ENABLE def_bool y depends on PPC64 select SPARSEMEM_VMEMMAP_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool y depends on (SMP && PPC_PSERIES) || PPC_PS3 config SYS_SUPPORTS_HUGETLBFS bool source "mm/Kconfig" config ARCH_MEMORY_PROBE def_bool y depends on MEMORY_HOTPLUG # Some NUMA nodes have memory ranges that span # other nodes. Even though a pfn is valid and # between a node's start and end pfns, it may not # reside on that node. See memmap_init_zone() # for details. config NODES_SPAN_OTHER_NODES def_bool y depends on NEED_MULTIPLE_NODES config PPC_HAS_HASH_64K bool depends on PPC64 default n config STDBINUTILS bool "Using standard binutils settings" depends on 44x default y help Turning this option off allows you to select 256KB PAGE_SIZE on 44x. Note, that kernel will be able to run only those applications, which had been compiled using binutils later than 2.17.50.0.3 with '-zmax-page-size' set to 256K (the default is 64K). Or, if using the older binutils, you can patch them with a trivial patch, which changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000. choice prompt "Page size" default PPC_4K_PAGES help Select the kernel logical page size. Increasing the page size will reduce software overhead at each page boundary, allow hardware prefetch mechanisms to be more effective, and allow larger dma transfers increasing IO efficiency and reducing overhead. However the utilization of memory will increase. For example, each cached file will using a multiple of the page size to hold its contents and the difference between the end of file and the end of page is wasted. Some dedicated systems, such as software raid serving with accelerated calculations, have shown significant increases. If you configure a 64 bit kernel for 64k pages but the processor does not support them, then the kernel will simulate them with 4k pages, loading them on demand, but with the reduced software overhead and larger internal fragmentation. For the 32 bit kernel, a large page option will not be offered unless it is supported by the configured processor. If unsure, choose 4K_PAGES. config PPC_4K_PAGES bool "4k page size" config PPC_16K_PAGES bool "16k page size" if 44x config PPC_64K_PAGES bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64 select PPC_HAS_HASH_64K if PPC_STD_MMU_64 config PPC_256K_PAGES bool "256k page size" if 44x depends on !STDBINUTILS help Make the page size 256k. As the ELF standard only requires alignment to support page sizes up to 64k, you will need to compile all of your user space applications with a non-standard binutils settings (see the STDBINUTILS description for details). Say N unless you know what you are doing. endchoice config FORCE_MAX_ZONEORDER int "Maximum zone order" range 9 64 if PPC64 && PPC_64K_PAGES default "9" if PPC64 && PPC_64K_PAGES range 13 64 if PPC64 && !PPC_64K_PAGES default "13" if PPC64 && !PPC_64K_PAGES range 9 64 if PPC32 && PPC_16K_PAGES default "9" if PPC32 && PPC_16K_PAGES range 7 64 if PPC32 && PPC_64K_PAGES default "7" if PPC32 && PPC_64K_PAGES range 5 64 if PPC32 && PPC_256K_PAGES default "5" if PPC32 && PPC_256K_PAGES range 11 64 default "11" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. The page size is not necessarily 4KB. For example, on 64-bit systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep this in mind when choosing a value for this option. config PPC_SUBPAGE_PROT bool "Support setting protections for 4k subpages" depends on PPC_STD_MMU_64 && PPC_64K_PAGES help This option adds support for a system call to allow user programs to set access permissions (read/write, readonly, or no access) on the 4k subpages of each 64k page. config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on PPC64 && SMP help SMT scheduler support improves the CPU scheduler's decision making when dealing with POWER5 cpus at a cost of slightly increased overhead in some places. If unsure say N here. config PPC_DENORMALISATION bool "PowerPC denormalisation exception handling" depends on PPC_BOOK3S_64 default "y" if PPC_POWERNV ---help--- Add support for handling denormalisation of single precision values. Useful for bare metal only. If unsure say Y here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 console=tty0 root=/dev/sda2" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these platforms, you can supply some command-line options at build time by entering them here. In most cases you will need to specify the root device here. config EXTRA_TARGETS string "Additional default image types" help List additional targets to be built by the bootwrapper here (separated by spaces). This is useful for targets that depend of device tree files in the .dts directory. Targets in this list will be build as part of the default build target, or when the user does a 'make zImage' or a 'make zImage.initrd'. If unsure, leave blank config ARCH_WANTS_FREEZER_CONTROL def_bool y depends on ADB_PMU source kernel/power/Kconfig config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" depends on PROC_FS default y help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via /proc//seccomp, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. Only embedded should say N here. endmenu config ISA_DMA_API bool default PCI menu "Bus options" config ISA bool "Support for ISA-bus hardware" depends on PPC_CHRP select PPC_I8259 help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. If you have an Apple machine, say N here; if you have an IBM RS/6000 or pSeries machine, say Y. If you have an embedded board, consult your board documentation. config ZONE_DMA bool default y config NEED_DMA_MAP_STATE def_bool (PPC64 || NOT_COHERENT_CACHE) config NEED_SG_DMA_LENGTH def_bool y config GENERIC_ISA_DMA bool depends on ISA_DMA_API default y config PPC_INDIRECT_PCI bool depends on PCI default y if 40x || 44x default n config EISA bool config SBUS bool config FSL_SOC bool config FSL_PCI bool select PPC_INDIRECT_PCI select PCI_QUIRKS config FSL_PMC bool default y depends on SUSPEND && (PPC_85xx || PPC_86xx) help Freescale MPC85xx/MPC86xx power management controller support (suspend/resume). For MPC83xx see platforms/83xx/suspend.c config PPC4xx_CPM bool default y depends on SUSPEND && (44x || 40x) help PPC4xx Clock Power Management (CPM) support (suspend/resume). It also enables support for two different idle states (idle-wait and idle-doze). config 4xx_SOC bool config FSL_LBC bool "Freescale Local Bus support" depends on FSL_SOC help Enables reporting of errors from the Freescale local bus controller. Also contains some common code used by drivers for specific local bus peripherals. config FSL_IFC bool depends on FSL_SOC config FSL_GTM bool depends on PPC_83xx || QUICC_ENGINE || CPM2 help Freescale General-purpose Timers support # Yes MCA RS/6000s exist but Linux-PPC does not currently support any config MCA bool # Platforms that what PCI turned unconditionally just do select PCI # in their config node. Platforms that want to choose at config # time should select PPC_PCI_CHOICE config PPC_PCI_CHOICE bool config PCI bool "PCI support" if PPC_PCI_CHOICE default y if !40x && !CPM2 && !8xx && !PPC_83xx \ && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON default PCI_QSPAN if !4xx && !CPM2 && 8xx select GENERIC_PCI_IOMAP help Find out whether your system includes a PCI bus. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. If you say Y here, the kernel will include drivers and infrastructure code to support PCI bus devices. config PCI_DOMAINS def_bool PCI config PCI_SYSCALL def_bool PCI config PCI_QSPAN bool "QSpan PCI" depends on !4xx && !CPM2 && 8xx select PPC_I8259 help Say Y here if you have a system based on a Motorola 8xx-series embedded processor with a QSPAN PCI interface, otherwise say N. config PCI_8260 bool depends on PCI && 8260 select PPC_INDIRECT_PCI default y source "drivers/pci/pcie/Kconfig" source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" config HAS_RAPIDIO bool default n config RAPIDIO bool "RapidIO support" depends on HAS_RAPIDIO || PCI help If you say Y here, the kernel will include drivers and infrastructure code to support RapidIO interconnect devices. config FSL_RIO bool "Freescale Embedded SRIO Controller support" depends on RAPIDIO && HAS_RAPIDIO default "n" ---help--- Include support for RapidIO controller on Freescale embedded processors (MPC8548, MPC8641, etc). source "drivers/rapidio/Kconfig" endmenu config NONSTATIC_KERNEL bool default n menu "Advanced setup" depends on PPC32 config ADVANCED_OPTIONS bool "Prompt for advanced kernel configuration options" help This option will enable prompting for a variety of advanced kernel configuration options. These options can cause the kernel to not work if they are set incorrectly, but can be used to optimize certain aspects of kernel memory management. Unless you know what you are doing, say N here. comment "Default settings for advanced configuration options are used" depends on !ADVANCED_OPTIONS config LOWMEM_SIZE_BOOL bool "Set maximum low memory" depends on ADVANCED_OPTIONS help This option allows you to set the maximum amount of memory which will be used as "low memory", that is, memory which the kernel can access directly, without having to set up a kernel virtual mapping. This can be useful in optimizing the layout of kernel virtual memory. Say N here unless you know what you are doing. config LOWMEM_SIZE hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL default "0x30000000" config LOWMEM_CAM_NUM_BOOL bool "Set number of CAMs to use to map low memory" depends on ADVANCED_OPTIONS && FSL_BOOKE help This option allows you to set the maximum number of CAM slots that will be used to map low memory. There are a limited number of slots available and even more limited number that will fit in the L1 MMU. However, using more entries will allow mapping more low memory. This can be useful in optimizing the layout of kernel virtual memory. Say N here unless you know what you are doing. config LOWMEM_CAM_NUM depends on FSL_BOOKE int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL default 3 config DYNAMIC_MEMSTART bool "Enable page aligned dynamic load address for kernel" depends on ADVANCED_OPTIONS && FLATMEM && (FSL_BOOKE || 44x) select NONSTATIC_KERNEL help This option enables the kernel to be loaded at any page aligned physical address. The kernel creates a mapping from KERNELBASE to the address where the kernel is loaded. The page size here implies the TLB page size of the mapping for kernel on the particular platform. Please refer to the init code for finding the TLB page size. DYNAMIC_MEMSTART is an easy way of implementing pseudo-RELOCATABLE kernel image, where the only restriction is the page aligned kernel load address. When this option is enabled, the compile time physical address CONFIG_PHYSICAL_START is ignored. This option is overridden by CONFIG_RELOCATABLE config RELOCATABLE bool "Build a relocatable kernel" depends on ADVANCED_OPTIONS && FLATMEM && 44x select NONSTATIC_KERNEL help This builds a kernel image that is capable of running at the location the kernel is loaded at, without any alignment restrictions. This feature is a superset of DYNAMIC_MEMSTART and hence overrides it. One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel. Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical addresses CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START setting can still be useful to bootwrappers that need to know the load address of the kernel (eg. u-boot/mkimage). config RELOCATABLE_PPC32 def_bool y depends on PPC32 && RELOCATABLE config PAGE_OFFSET_BOOL bool "Set custom page offset address" depends on ADVANCED_OPTIONS help This option allows you to set the kernel virtual address at which the kernel will map low memory. This can be useful in optimizing the virtual memory layout of the system. Say N here unless you know what you are doing. config PAGE_OFFSET hex "Virtual address of memory base" if PAGE_OFFSET_BOOL default "0xc0000000" config KERNEL_START_BOOL bool "Set custom kernel base address" depends on ADVANCED_OPTIONS help This option allows you to set the kernel virtual address at which the kernel will be loaded. Normally this should match PAGE_OFFSET however there are times (like kdump) that one might not want them to be the same. Say N here unless you know what you are doing. config KERNEL_START hex "Virtual address of kernel base" if KERNEL_START_BOOL default PAGE_OFFSET if PAGE_OFFSET_BOOL default "0xc2000000" if CRASH_DUMP && !NONSTATIC_KERNEL default "0xc0000000" config PHYSICAL_START_BOOL bool "Set physical address where the kernel is loaded" depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE help This gives the physical address where the kernel is loaded. Say N here unless you know what you are doing. config PHYSICAL_START hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !NONSTATIC_KERNEL default "0x00000000" config PHYSICAL_ALIGN hex default "0x04000000" if FSL_BOOKE help This value puts the alignment restrictions on physical address where kernel is loaded and run from. Kernel is compiled for an address which meets above alignment restriction. config TASK_SIZE_BOOL bool "Set custom user task size" depends on ADVANCED_OPTIONS help This option allows you to set the amount of virtual address space allocated to user tasks. This can be useful in optimizing the virtual memory layout of the system. Say N here unless you know what you are doing. config TASK_SIZE hex "Size of user task space" if TASK_SIZE_BOOL default "0x80000000" if PPC_8xx default "0xc0000000" config CONSISTENT_SIZE_BOOL bool "Set custom consistent memory pool size" depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE help This option allows you to set the size of the consistent memory pool. This pool of virtual memory is used to make consistent memory allocations. config CONSISTENT_SIZE hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL default "0x00200000" if NOT_COHERENT_CACHE config PIN_TLB bool "Pinned Kernel TLBs (860 ONLY)" depends on ADVANCED_OPTIONS && 8xx endmenu if PPC64 config RELOCATABLE bool "Build a relocatable kernel" select NONSTATIC_KERNEL help This builds a kernel image that is capable of running anywhere in the RMA (real memory area) at any 16k-aligned base address. The kernel is linked as a position-independent executable (PIE) and contains dynamic relocations which are processed early in the bootup process. One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel. # This value must have zeroes in the bottom 60 bits otherwise lots will break config PAGE_OFFSET hex default "0xc000000000000000" config KERNEL_START hex default "0xc000000000000000" config PHYSICAL_START hex default "0x00000000" endif config ARCH_RANDOM def_bool n source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/powerpc/sysdev/qe_lib/Kconfig" source "lib/Kconfig" source "arch/powerpc/Kconfig.debug" source "security/Kconfig" config KEYS_COMPAT bool depends on COMPAT && KEYS default y source "crypto/Kconfig" config PPC_CLOCK bool default n select HAVE_CLK config PPC_LIB_RHEAP bool source "arch/powerpc/kvm/Kconfig" # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" depends on !CPU_LITTLE_ENDIAN ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM bool select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_EVENTFD config KVM_BOOK3S_HANDLER bool config KVM_BOOK3S_32_HANDLER bool select KVM_BOOK3S_HANDLER select KVM_MMIO config KVM_BOOK3S_64_HANDLER bool select KVM_BOOK3S_HANDLER config KVM_BOOK3S_PR_POSSIBLE bool select KVM_MMIO select MMU_NOTIFIER config KVM_BOOK3S_HV_POSSIBLE bool config KVM_BOOK3S_32 tristate "KVM support for PowerPC book3s_32 processors" depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT select KVM select KVM_BOOK3S_32_HANDLER select KVM_BOOK3S_PR_POSSIBLE ---help--- Support running unmodified book3s_32 guest kernels in virtual machines on book3s_32 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_BOOK3S_64 tristate "KVM support for PowerPC book3s_64 processors" depends on PPC_BOOK3S_64 select KVM_BOOK3S_64_HANDLER select KVM select KVM_BOOK3S_PR_POSSIBLE if !KVM_BOOK3S_HV_POSSIBLE ---help--- Support running unmodified book3s_64 and book3s_32 guest kernels in virtual machines on book3s_64 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_BOOK3S_64_HV tristate "KVM support for POWER7 and PPC970 using hypervisor mode in host" depends on KVM_BOOK3S_64 select KVM_BOOK3S_HV_POSSIBLE select MMU_NOTIFIER select CMA ---help--- Support running unmodified book3s_64 guest kernels in virtual machines on POWER7 and PPC970 processors that have hypervisor mode available to the host. If you say Y here, KVM will use the hardware virtualization facilities of POWER7 (and later) processors, meaning that guest operating systems will run at full hardware speed using supervisor and user modes. However, this also means that KVM is not usable under PowerVM (pHyp), is only usable on POWER7 (or later) processors and PPC970-family processors, and cannot emulate a different processor from the host processor. If unsure, say N. config KVM_BOOK3S_64_PR tristate "KVM support without using hypervisor mode in host" depends on KVM_BOOK3S_64 select KVM_BOOK3S_PR_POSSIBLE ---help--- Support running guest kernels in virtual machines on processors without using hypervisor mode in the host, by running the guest in user mode (problem state) and emulating all privileged instructions and registers. This is not as fast as using hypervisor mode, but works on machines where hypervisor mode is not available or not usable, and can emulate processors that are different from the host processor, including emulating 32-bit processors on a 64-bit host. config KVM_BOOKE_HV bool config KVM_440 bool "KVM support for PowerPC 440 processors" depends on 44x select KVM select KVM_MMIO ---help--- Support running unmodified 440 guest kernels in virtual machines on 440 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_EXIT_TIMING bool "Detailed exit timing" depends on KVM_440 || KVM_E500V2 || KVM_E500MC ---help--- Calculate elapsed time for every exit/enter cycle. A per-vcpu report is available in debugfs kvm/vm#_vcpu#_timing. The overhead is relatively small, however it is not recommended for production environments. If unsure, say N. config KVM_E500V2 bool "KVM support for PowerPC E500v2 processors" depends on E500 && !PPC_E500MC select KVM select KVM_MMIO select MMU_NOTIFIER ---help--- Support running unmodified E500 guest kernels in virtual machines on E500v2 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_E500MC bool "KVM support for PowerPC E500MC/E5500/E6500 processors" depends on PPC_E500MC select KVM select KVM_MMIO select KVM_BOOKE_HV select MMU_NOTIFIER ---help--- Support running unmodified E500MC/E5500/E6500 guest kernels in virtual machines on E500MC/E5500/E6500 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_MPIC bool "KVM in-kernel MPIC emulation" depends on KVM && E500 select HAVE_KVM_IRQCHIP select HAVE_KVM_IRQ_ROUTING select HAVE_KVM_MSI help Enable support for emulating MPIC devices inside the host kernel, rather than relying on userspace to emulate. Currently, support is limited to certain versions of Freescale's MPIC implementation. config KVM_XICS bool "KVM in-kernel XICS emulation" depends on KVM_BOOK3S_64 && !KVM_MPIC ---help--- Include support for the XICS (eXternal Interrupt Controller Specification) interrupt controller architecture used on IBM POWER (pSeries) servers. source drivers/vhost/Kconfig endif # VIRTUALIZATION config ACADIA bool "Acadia" depends on 40x default n select PPC40x_SIMPLE select 405EZ help This option enables support for the AMCC 405EZ Acadia evaluation board. config EP405 bool "EP405/EP405PC" depends on 40x default n select 405GP select PCI help This option enables support for the EP405/EP405PC boards. config HOTFOOT bool "Hotfoot" depends on 40x default n select PPC40x_SIMPLE select PCI help This option enables support for the ESTEEM 195E Hotfoot board. config KILAUEA bool "Kilauea" depends on 40x default n select 405EX select PPC40x_SIMPLE select PPC4xx_PCI_EXPRESS select PCI_MSI select PPC4xx_MSI help This option enables support for the AMCC PPC405EX evaluation board. config MAKALU bool "Makalu" depends on 40x default n select 405EX select PCI select PPC4xx_PCI_EXPRESS select PPC40x_SIMPLE help This option enables support for the AMCC PPC405EX board. config WALNUT bool "Walnut" depends on 40x default y select 405GP select PCI select OF_RTC help This option enables support for the IBM PPC405GP evaluation board. config XILINX_VIRTEX_GENERIC_BOARD bool "Generic Xilinx Virtex board" depends on 40x default n select XILINX_VIRTEX_II_PRO select XILINX_VIRTEX_4_FX help This option enables generic support for Xilinx Virtex based boards. The generic virtex board support matches any device tree which specifies 'xilinx,virtex' in its compatible field. This includes the Xilinx ML3xx and ML4xx reference designs using the powerpc core. Most Virtex designs should use this unless it needs to do some special configuration at board probe time. config OBS600 bool "OpenBlockS 600" depends on 40x default n select 405EX select PPC40x_SIMPLE help This option enables support for PlatHome OpenBlockS 600 server config PPC40x_SIMPLE bool "Simple PowerPC 40x board support" depends on 40x default n help This option enables the simple PowerPC 40x platform support. # OAK doesn't exist but wanted to keep this around for any future 403GCX boards config 403GCX bool #depends on OAK select IBM405_ERR51 config 405GP bool select IBM405_ERR77 select IBM405_ERR51 select IBM_EMAC_ZMII config 405EX bool select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII config 405EZ bool select IBM_EMAC_NO_FLOW_CTRL select IBM_EMAC_MAL_CLR_ICINTSTAT select IBM_EMAC_MAL_COMMON_ERR config XILINX_VIRTEX bool select DEFAULT_UIMAGE config XILINX_VIRTEX_II_PRO bool select XILINX_VIRTEX select IBM405_ERR77 select IBM405_ERR51 config XILINX_VIRTEX_4_FX bool select XILINX_VIRTEX config STB03xxx bool select IBM405_ERR77 select IBM405_ERR51 config PPC4xx_GPIO bool "PPC4xx GPIO support" depends on 40x select ARCH_REQUIRE_GPIOLIB help Enable gpiolib support for ppc40x based boards # 40x errata/workaround config symbols, selected by the CPU models above # All 405-based cores up until the 405GPR and 405EP have this errata. config IBM405_ERR77 bool # All 40x-based cores, up until the 405GPR and 405EP have this errata. config IBM405_ERR51 bool config APM8018X bool "APM8018X" depends on 40x default n select PPC40x_SIMPLE help This option enables support for the AppliedMicro APM8018X evaluation board. config PPC_47x bool "Support for 47x variant" depends on 44x default n select MPIC help This option enables support for the 47x family of processors and is not currently compatible with other 44x or 46x varients config BAMBOO bool "Bamboo" depends on 44x default n select PPC44x_SIMPLE select 440EP select PCI help This option enables support for the IBM PPC440EP evaluation board. config BLUESTONE bool "Bluestone" depends on 44x default n select PPC44x_SIMPLE select APM821xx select PCI_MSI select PPC4xx_MSI select PPC4xx_PCI_EXPRESS select IBM_EMAC_RGMII help This option enables support for the APM APM821xx Evaluation board. config EBONY bool "Ebony" depends on 44x default y select 440GP select PCI select OF_RTC help This option enables support for the IBM PPC440GP evaluation board. config SAM440EP bool "Sam440ep" depends on 44x default n select 440EP select PCI help This option enables support for the ACube Sam440ep board. config SEQUOIA bool "Sequoia" depends on 44x default n select PPC44x_SIMPLE select 440EPX help This option enables support for the AMCC PPC440EPX evaluation board. config TAISHAN bool "Taishan" depends on 44x default n select PPC44x_SIMPLE select 440GX select PCI help This option enables support for the AMCC PPC440GX "Taishan" evaluation board. config KATMAI bool "Katmai" depends on 44x default n select PPC44x_SIMPLE select 440SPe select PCI select PPC4xx_PCI_EXPRESS select PCI_MSI select PPC4xx_MSI help This option enables support for the AMCC PPC440SPe evaluation board. config RAINIER bool "Rainier" depends on 44x default n select PPC44x_SIMPLE select 440GRX select PCI help This option enables support for the AMCC PPC440GRX evaluation board. config WARP bool "PIKA Warp" depends on 44x default n select 440EP help This option enables support for the PIKA Warp(tm) Appliance. The Warp is a small computer replacement with up to 9 ports of FXO/FXS plus VOIP stations and trunks. See http://www.pikatechnologies.com/ and follow the "PIKA for Computer Telephony Developers" link for more information. config ARCHES bool "Arches" depends on 44x default n select PPC44x_SIMPLE select 460EX # Odd since it uses 460GT but the effects are the same select PCI select PPC4xx_PCI_EXPRESS help This option enables support for the AMCC Dual PPC460GT evaluation board. config CANYONLANDS bool "Canyonlands" depends on 44x default n select 460EX select PCI select PPC4xx_PCI_EXPRESS select PCI_MSI select PPC4xx_MSI select IBM_EMAC_RGMII select IBM_EMAC_ZMII help This option enables support for the AMCC PPC460EX evaluation board. config GLACIER bool "Glacier" depends on 44x default n select PPC44x_SIMPLE select 460EX # Odd since it uses 460GT but the effects are the same select PCI select PPC4xx_PCI_EXPRESS select IBM_EMAC_RGMII select IBM_EMAC_ZMII help This option enables support for the AMCC PPC460GT evaluation board. config REDWOOD bool "Redwood" depends on 44x default n select PPC44x_SIMPLE select 460SX select PCI select PPC4xx_PCI_EXPRESS select PCI_MSI select PPC4xx_MSI help This option enables support for the AMCC PPC460SX Redwood board. config EIGER bool "Eiger" depends on 44x default n select PPC44x_SIMPLE select 460SX select PCI select PPC4xx_PCI_EXPRESS select IBM_EMAC_RGMII help This option enables support for the AMCC PPC460SX evaluation board. config YOSEMITE bool "Yosemite" depends on 44x default n select PPC44x_SIMPLE select 440EP select PCI help This option enables support for the AMCC PPC440EP evaluation board. config ISS4xx bool "ISS 4xx Simulator" depends on (44x || 40x) default n select 405GP if 40x select 440GP if 44x && !PPC_47x select PPC_FPU select OF_RTC help This option enables support for the IBM ISS simulation environment config CURRITUCK bool "IBM Currituck (476fpe) Support" depends on PPC_47x default n select SWIOTLB select 476FPE select PPC4xx_PCI_EXPRESS help This option enables support for the IBM Currituck (476fpe) evaluation board config ICON bool "Icon" depends on 44x default n select PPC44x_SIMPLE select 440SPe select PCI select PPC4xx_PCI_EXPRESS help This option enables support for the AMCC PPC440SPe evaluation board. config XILINX_VIRTEX440_GENERIC_BOARD bool "Generic Xilinx Virtex 5 FXT board support" depends on 44x default n select XILINX_VIRTEX_5_FXT help This option enables generic support for Xilinx Virtex based boards that use a 440 based processor in the Virtex 5 FXT FPGA architecture. The generic virtex board support matches any device tree which specifies 'xlnx,virtex440' in its compatible field. This includes the Xilinx ML5xx reference designs using the powerpc core. Most Virtex 5 designs should use this unless it needs to do some special configuration at board probe time. config XILINX_ML510 bool "Xilinx ML510 extra support" depends on XILINX_VIRTEX440_GENERIC_BOARD select PPC_PCI_CHOICE select XILINX_PCI if PCI select PPC_INDIRECT_PCI if PCI select PPC_I8259 if PCI help This option enables extra support for features on the Xilinx ML510 board. The ML510 has a PCI bus with ALI south bridge. config PPC44x_SIMPLE bool "Simple PowerPC 44x board support" depends on 44x default n help This option enables the simple PowerPC 44x platform support. config PPC4xx_GPIO bool "PPC4xx GPIO support" depends on 44x select ARCH_REQUIRE_GPIOLIB help Enable gpiolib support for ppc440 based boards config PPC4xx_OCM bool "PPC4xx On Chip Memory (OCM) support" depends on 4xx select PPC_LIB_RHEAP help Enable OCM support for PowerPC 4xx platforms with on chip memory, OCM provides the fast place for memory access to improve performance. # 44x specific CPU modules, selected based on the board above. config 440EP bool select PPC_FPU select IBM440EP_ERR42 select IBM_EMAC_ZMII select USB_ARCH_HAS_OHCI config 440EPX bool select PPC_FPU select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII select IBM_EMAC_ZMII select USB_EHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_DESC config 440GRX bool select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII select IBM_EMAC_ZMII config 440GP bool select IBM_EMAC_ZMII config 440GX bool select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII select IBM_EMAC_ZMII #test only select IBM_EMAC_TAH #test only config 440SP bool config 440SPe bool select IBM_EMAC_EMAC4 config 460EX bool select PPC_FPU select IBM_EMAC_EMAC4 select IBM_EMAC_TAH config 460SX bool select PPC_FPU select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII select IBM_EMAC_ZMII select IBM_EMAC_TAH config 476FPE bool select PPC_FPU config APM821xx bool select PPC_FPU select IBM_EMAC_EMAC4 select IBM_EMAC_TAH # 44x errata/workaround config symbols, selected by the CPU models above config IBM440EP_ERR42 bool # Xilinx specific config options. config XILINX_VIRTEX bool select DEFAULT_UIMAGE # Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above config XILINX_VIRTEX_5_FXT bool select XILINX_VIRTEX config PPC_MPC512x bool "512x-based boards" depends on 6xx select FSL_SOC select IPIC select PPC_CLOCK select PPC_PCI_CHOICE select FSL_PCI if PCI select ARCH_WANT_OPTIONAL_GPIOLIB select USB_EHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_DESC config MPC5121_ADS bool "Freescale MPC5121E ADS" depends on PPC_MPC512x select DEFAULT_UIMAGE help This option enables support for the MPC5121E ADS board. config MPC512x_GENERIC bool "Generic support for simple MPC512x based boards" depends on PPC_MPC512x select DEFAULT_UIMAGE help This option enables support for simple MPC512x based boards which do not need custom platform specific setup. Compatible boards include: Protonic LVT base boards (ZANMCU and VICVT2), Freescale MPC5125 Tower system. config PDM360NG bool "ifm PDM360NG board" depends on PPC_MPC512x select DEFAULT_UIMAGE help This option enables support for the PDM360NG board. config PPC_MPC52xx bool "52xx-based boards" depends on 6xx select PPC_CLOCK select PPC_PCI_CHOICE config PPC_MPC5200_SIMPLE bool "Generic support for simple MPC5200 based boards" depends on PPC_MPC52xx select DEFAULT_UIMAGE help This option enables support for a simple MPC52xx based boards which do not need a custom platform specific setup. Such boards are supported assuming the following: - GPIO pins are configured by the firmware, - CDM configuration (clocking) is setup correctly by firmware, - if the 'fsl,has-wdt' property is present in one of the gpt nodes, then it is safe to use such gpt to reset the board, - PCI is supported if enabled in the kernel configuration and if there is a PCI bus node defined in the device tree. Boards that are compatible with this generic platform support are: intercontrol,digsy-mtc phytec,pcm030 phytec,pcm032 promess,motionpro schindler,cm5200 tqc,tqm5200 config PPC_EFIKA bool "bPlan Efika 5k2. MPC5200B based computer" depends on PPC_MPC52xx select PPC_RTAS select RTAS_PROC select PPC_NATIVE config PPC_LITE5200 bool "Freescale Lite5200 Eval Board" depends on PPC_MPC52xx select DEFAULT_UIMAGE config PPC_MEDIA5200 bool "Freescale Media5200 Eval Board" depends on PPC_MPC52xx select DEFAULT_UIMAGE config PPC_MPC5200_BUGFIX bool "MPC5200 (L25R) bugfix support" depends on PPC_MPC52xx help Enable workarounds for original MPC5200 errata. This is not required for MPC5200B based boards. It is safe to say 'Y' here config PPC_MPC5200_LPBFIFO tristate "MPC5200 LocalPlus bus FIFO driver" depends on PPC_MPC52xx && PPC_BESTCOMM select PPC_BESTCOMM_GEN_BD menuconfig PPC_82xx bool "82xx-based boards (PQ II)" depends on 6xx if PPC_82xx config MPC8272_ADS bool "Freescale MPC8272 ADS" select DEFAULT_UIMAGE select PQ2ADS select 8272 select 8260 select FSL_SOC select PQ2_ADS_PCI_PIC if PCI help This option enables support for the MPC8272 ADS board config PQ2FADS bool "Freescale PQ2FADS" select DEFAULT_UIMAGE select PQ2ADS select 8260 select FSL_SOC select PQ2_ADS_PCI_PIC if PCI help This option enables support for the PQ2FADS board config EP8248E bool "Embedded Planet EP8248E (a.k.a. CWH-PPC-8248N-VE)" select 8272 select 8260 select FSL_SOC select PHYLIB select MDIO_BITBANG help This enables support for the Embedded Planet EP8248E board. This board is also resold by Freescale as the QUICCStart MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE. config MGCOGE bool "Keymile MGCOGE" select 8272 select 8260 select FSL_SOC help This enables support for the Keymile MGCOGE board. endif config PQ2ADS bool default n config 8260 bool depends on 6xx select CPM2 help The MPC8260 is a typical embedded CPU made by Freescale. Selecting this option means that you wish to build a kernel for a machine with an 8260 class CPU. config 8272 bool select 8260 help The MPC8272 CPM has a different internal dpram setup than other CPM2 devices config PQ2_ADS_PCI_PIC bool menuconfig PPC_83xx bool "83xx-based boards" depends on 6xx select PPC_UDBG_16550 select PPC_PCI_CHOICE select FSL_PCI if PCI select FSL_SOC select IPIC if PPC_83xx config MPC830x_RDB bool "Freescale MPC830x RDB and derivatives" select DEFAULT_UIMAGE select PPC_MPC831x select FSL_GTM help This option enables support for the MPC8308 RDB and MPC8308 P1M boards. config MPC831x_RDB bool "Freescale MPC831x RDB" select DEFAULT_UIMAGE select PPC_MPC831x help This option enables support for the MPC8313 RDB and MPC8315 RDB boards. config MPC832x_MDS bool "Freescale MPC832x MDS" select DEFAULT_UIMAGE select PPC_MPC832x help This option enables support for the MPC832x MDS evaluation board. config MPC832x_RDB bool "Freescale MPC832x RDB" select DEFAULT_UIMAGE select PPC_MPC832x help This option enables support for the MPC8323 RDB board. config MPC834x_MDS bool "Freescale MPC834x MDS" select DEFAULT_UIMAGE select PPC_MPC834x help This option enables support for the MPC 834x MDS evaluation board. Be aware that PCI buses can only function when MDS board is plugged into the PIB (Platform IO Board) board from Freescale which provide 3 PCI slots. The PIBs PCI initialization is the bootloader's responsibility. config MPC834x_ITX bool "Freescale MPC834x ITX" select DEFAULT_UIMAGE select PPC_MPC834x help This option enables support for the MPC 834x ITX evaluation board. Be aware that PCI initialization is the bootloader's responsibility. config MPC836x_MDS bool "Freescale MPC836x MDS" select DEFAULT_UIMAGE help This option enables support for the MPC836x MDS Processor Board. config MPC836x_RDK bool "Freescale/Logic MPC836x RDK" select DEFAULT_UIMAGE select FSL_GTM select FSL_LBC help This option enables support for the MPC836x RDK Processor Board, also known as ZOOM PowerQUICC Kit. config MPC837x_MDS bool "Freescale MPC837x MDS" select DEFAULT_UIMAGE select PPC_MPC837x help This option enables support for the MPC837x MDS Processor Board. config MPC837x_RDB bool "Freescale MPC837x RDB/WLAN" select DEFAULT_UIMAGE select PPC_MPC837x help This option enables support for the MPC837x RDB and WLAN Boards. config SBC834x bool "Wind River SBC834x" select DEFAULT_UIMAGE select PPC_MPC834x help This option enables support for the Wind River SBC834x board. config ASP834x bool "Analogue & Micro ASP 834x" select PPC_MPC834x select REDBOOT help This enables support for the Analogue & Micro ASP 83xx board. config KMETER1 bool "Keymile KMETER1" select DEFAULT_UIMAGE select QUICC_ENGINE help This enables support for the Keymile KMETER1 board. endif # used for usb & gpio config PPC_MPC831x bool select ARCH_WANT_OPTIONAL_GPIOLIB # used for math-emu config PPC_MPC832x bool # used for usb & gpio config PPC_MPC834x bool select ARCH_WANT_OPTIONAL_GPIOLIB # used for usb & gpio config PPC_MPC837x bool select ARCH_WANT_OPTIONAL_GPIOLIB menuconfig FSL_SOC_BOOKE bool "Freescale Book-E Machine Type" depends on PPC_85xx || PPC_BOOK3E select FSL_SOC select PPC_UDBG_16550 select MPIC select PPC_PCI_CHOICE select FSL_PCI if PCI select SERIAL_8250_EXTENDED if SERIAL_8250 select SERIAL_8250_SHARE_IRQ if SERIAL_8250 default y if FSL_SOC_BOOKE if PPC32 config FSL_85XX_CACHE_SRAM bool select PPC_LIB_RHEAP help When selected, this option enables cache-sram support for memory allocation on P1/P2 QorIQ platforms. cache-sram-size and cache-sram-offset kernel boot parameters should be passed when this option is enabled. config BSC9131_RDB bool "Freescale BSC9131RDB" select DEFAULT_UIMAGE help This option enables support for the Freescale BSC9131RDB board. The BSC9131 is a heterogeneous SoC containing an e500v2 powerpc and a StarCore SC3850 DSP Manufacturer : Freescale Semiconductor, Inc config C293_PCIE bool "Freescale C293PCIE" select DEFAULT_UIMAGE help This option enables support for the C293PCIE board config MPC8540_ADS bool "Freescale MPC8540 ADS" select DEFAULT_UIMAGE help This option enables support for the MPC 8540 ADS board config MPC8560_ADS bool "Freescale MPC8560 ADS" select DEFAULT_UIMAGE select CPM2 help This option enables support for the MPC 8560 ADS board config MPC85xx_CDS bool "Freescale MPC85xx CDS" select DEFAULT_UIMAGE select PPC_I8259 select HAS_RAPIDIO help This option enables support for the MPC85xx CDS board config MPC85xx_MDS bool "Freescale MPC85xx MDS" select DEFAULT_UIMAGE select PHYLIB select HAS_RAPIDIO select SWIOTLB help This option enables support for the MPC85xx MDS board config MPC8536_DS bool "Freescale MPC8536 DS" select DEFAULT_UIMAGE select SWIOTLB help This option enables support for the MPC8536 DS board config MPC85xx_DS bool "Freescale MPC85xx DS" select PPC_I8259 select DEFAULT_UIMAGE select FSL_ULI1575 if PCI select SWIOTLB help This option enables support for the MPC85xx DS (MPC8544 DS) board config MPC85xx_RDB bool "Freescale MPC85xx RDB" select PPC_I8259 select DEFAULT_UIMAGE select FSL_ULI1575 if PCI select SWIOTLB help This option enables support for the MPC85xx RDB (P2020 RDB) board config P1010_RDB bool "Freescale P1010RDB" select DEFAULT_UIMAGE help This option enables support for the MPC85xx RDB (P1010 RDB) board P1010RDB contains P1010Si, which provides CPU performance up to 800 MHz and 1600 DMIPS, additional functionality and faster interfaces (DDR3/3L, SATA II, and PCI Express). config P1022_DS bool "Freescale P1022 DS" select DEFAULT_UIMAGE select SWIOTLB help This option enables support for the Freescale P1022DS reference board. config P1022_RDK bool "Freescale / iVeia P1022 RDK" select DEFAULT_UIMAGE help This option enables support for the Freescale / iVeia P1022RDK reference board. config P1023_RDS bool "Freescale P1023 RDS/RDB" select DEFAULT_UIMAGE help This option enables support for the P1023 RDS and RDB boards config SOCRATES bool "Socrates" select DEFAULT_UIMAGE help This option enables support for the Socrates board. config KSI8560 bool "Emerson KSI8560" select DEFAULT_UIMAGE help This option enables support for the Emerson KSI8560 board config XES_MPC85xx bool "X-ES single-board computer" select DEFAULT_UIMAGE help This option enables support for the various single-board computers from Extreme Engineering Solutions (X-ES) based on Freescale MPC85xx processors. Manufacturer: Extreme Engineering Solutions, Inc. URL: config STX_GP3 bool "Silicon Turnkey Express GP3" help This option enables support for the Silicon Turnkey Express GP3 board. select CPM2 select DEFAULT_UIMAGE config TQM8540 bool "TQ Components TQM8540" help This option enables support for the TQ Components TQM8540 board. select DEFAULT_UIMAGE select TQM85xx config TQM8541 bool "TQ Components TQM8541" help This option enables support for the TQ Components TQM8541 board. select DEFAULT_UIMAGE select TQM85xx select CPM2 config TQM8548 bool "TQ Components TQM8548" help This option enables support for the TQ Components TQM8548 board. select DEFAULT_UIMAGE select TQM85xx config TQM8555 bool "TQ Components TQM8555" help This option enables support for the TQ Components TQM8555 board. select DEFAULT_UIMAGE select TQM85xx select CPM2 config TQM8560 bool "TQ Components TQM8560" help This option enables support for the TQ Components TQM8560 board. select DEFAULT_UIMAGE select TQM85xx select CPM2 config SBC8548 bool "Wind River SBC8548" select DEFAULT_UIMAGE help This option enables support for the Wind River SBC8548 board config PPA8548 bool "Prodrive PPA8548" help This option enables support for the Prodrive PPA8548 board. select DEFAULT_UIMAGE select HAS_RAPIDIO config GE_IMP3A bool "GE Intelligent Platforms IMP3A" select DEFAULT_UIMAGE select SWIOTLB select MMIO_NVRAM select ARCH_REQUIRE_GPIOLIB select GE_FPGA help This option enables support for the GE Intelligent Platforms IMP3A board. This board is a 3U CompactPCI Single Board Computer with a Freescale P2020 processor. config SGY_CTS1000 tristate "Servergy CTS-1000 support" select GPIOLIB select OF_GPIO depends on CORENET_GENERIC help Enable this to support functionality in Servergy's CTS-1000 systems. endif # PPC32 config PPC_QEMU_E500 bool "QEMU generic e500 platform" select DEFAULT_UIMAGE help This option enables support for running as a QEMU guest using QEMU's generic e500 machine. This is not required if you're using a QEMU machine that targets a specific board, such as mpc8544ds. Unlike most e500 boards that target a specific CPU, this platform works with any e500-family CPU that QEMU supports. Thus, you'll need to make sure CONFIG_PPC_E500MC is set or unset based on the emulated CPU (or actual host CPU in the case of KVM). config CORENET_GENERIC bool "Freescale CoreNet Generic" select DEFAULT_UIMAGE select E500 select PPC_E500MC select PHYS_64BIT select SWIOTLB select ARCH_REQUIRE_GPIOLIB select GPIO_MPC8XXX select HAS_RAPIDIO select PPC_EPAPR_HV_PIC help This option enables support for the FSL CoreNet based boards. For 32bit kernel, the following boards are supported: P2041 RDB, P3041 DS and P4080 DS For 64bit kernel, the following boards are supported: T4240 QDS and B4 QDS The following boards are supported for both 32bit and 64bit kernel: P5020 DS and P5040 DS endif # FSL_SOC_BOOKE config TQM85xx bool config PPC_86xx menuconfig PPC_86xx bool "86xx-based boards" depends on 6xx select FSL_SOC select ALTIVEC select ARCH_WANT_OPTIONAL_GPIOLIB help The Freescale E600 SoCs have 74xx cores. if PPC_86xx config MPC8641_HPCN bool "Freescale MPC8641 HPCN" select PPC_I8259 select DEFAULT_UIMAGE select FSL_ULI1575 if PCI select HAS_RAPIDIO select SWIOTLB help This option enables support for the MPC8641 HPCN board. config SBC8641D bool "Wind River SBC8641D" select DEFAULT_UIMAGE help This option enables support for the WRS SBC8641D board. config MPC8610_HPCD bool "Freescale MPC8610 HPCD" select DEFAULT_UIMAGE select FSL_ULI1575 if PCI help This option enables support for the MPC8610 HPCD board. config GEF_PPC9A bool "GE PPC9A" select DEFAULT_UIMAGE select MMIO_NVRAM select ARCH_REQUIRE_GPIOLIB select GE_FPGA help This option enables support for the GE PPC9A. config GEF_SBC310 bool "GE SBC310" select DEFAULT_UIMAGE select MMIO_NVRAM select ARCH_REQUIRE_GPIOLIB select GE_FPGA help This option enables support for the GE SBC310. config GEF_SBC610 bool "GE SBC610" select DEFAULT_UIMAGE select MMIO_NVRAM select ARCH_REQUIRE_GPIOLIB select GE_FPGA select HAS_RAPIDIO help This option enables support for the GE SBC610. endif config MPC8641 bool select PPC_PCI_CHOICE select FSL_PCI if PCI select PPC_UDBG_16550 select MPIC default y if MPC8641_HPCN || SBC8641D || GEF_SBC610 || GEF_SBC310 || GEF_PPC9A config MPC8610 bool select PPC_PCI_CHOICE select FSL_PCI if PCI select PPC_UDBG_16550 select MPIC default y if MPC8610_HPCD config FADS bool config CPM1 bool select CPM choice prompt "8xx Machine Type" depends on PPC_8xx depends on 8xx default MPC885ADS config MPC8XXFADS bool "FADS" select FADS config MPC86XADS bool "MPC86XADS" select CPM1 help MPC86x Application Development System by Freescale Semiconductor. The MPC86xADS is meant to serve as a platform for s/w and h/w development around the MPC86X processor families. config MPC885ADS bool "MPC885ADS" select CPM1 select OF_DYNAMIC help Freescale Semiconductor MPC885 Application Development System (ADS). Also known as DUET. The MPC885ADS is meant to serve as a platform for s/w and h/w development around the MPC885 processor family. config PPC_EP88XC bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)" select CPM1 help This enables support for the Embedded Planet EP88xC board. This board is also resold by Freescale as the QUICCStart MPC885 Evaluation System and/or the CWH-PPC-885XN-VE. config PPC_ADDER875 bool "Analogue & Micro Adder 875" select CPM1 select REDBOOT help This enables support for the Analogue & Micro Adder 875 board. config TQM8XX bool "TQM8XX" select CPM1 help support for the mpc8xx based boards from TQM. endchoice menu "Freescale Ethernet driver platform-specific options" depends on (FS_ENET && MPC885ADS) config MPC8xx_SECOND_ETH bool "Second Ethernet channel" depends on MPC885ADS default y help This enables support for second Ethernet on MPC885ADS and MPC86xADS boards. The latter will use SCC1, for 885ADS you can select it below. choice prompt "Second Ethernet channel" depends on MPC8xx_SECOND_ETH default MPC8xx_SECOND_ETH_FEC2 config MPC8xx_SECOND_ETH_FEC2 bool "FEC2" depends on MPC885ADS help Enable FEC2 to serve as 2-nd Ethernet channel. Note that SMC2 (often 2-nd UART) will not work if this is enabled. config MPC8xx_SECOND_ETH_SCC3 bool "SCC3" depends on MPC885ADS help Enable SCC3 to serve as 2-nd Ethernet channel. Note that SMC1 (often 1-nd UART) will not work if this is enabled. endchoice endmenu # # MPC8xx Communication options # menu "MPC8xx CPM Options" depends on 8xx # This doesn't really belong here, but it is convenient to ask # 8xx specific questions. comment "Generic MPC8xx Options" config 8xx_COPYBACK bool "Copy-Back Data Cache (else Writethrough)" help Saying Y here will cause the cache on an MPC8xx processor to be used in Copy-Back mode. If you say N here, it is used in Writethrough mode. If in doubt, say Y here. config 8xx_GPIO bool "GPIO API Support" select ARCH_REQUIRE_GPIOLIB help Saying Y here will cause the ports on an MPC8xx processor to be used with the GPIO API. If you say N here, the kernel needs less memory. If in doubt, say Y here. config 8xx_CPU6 bool "CPU6 Silicon Errata (860 Pre Rev. C)" help MPC860 CPUs, prior to Rev C have some bugs in the silicon, which require workarounds for Linux (and most other OSes to work). If you get a BUG() very early in boot, this might fix the problem. For more details read the document entitled "MPC860 Family Device Errata Reference" on Freescale's website. This option also incurs a performance hit. If in doubt, say N here. config 8xx_CPU15 bool "CPU15 Silicon Errata" default y help This enables a workaround for erratum CPU15 on MPC8xx chips. This bug can cause incorrect code execution under certain circumstances. This workaround adds some overhead (a TLB miss every time execution crosses a page boundary), and you may wish to disable it if you have worked around the bug in the compiler (by not placing conditional branches or branches to LR or CTR in the last word of a page, with a target of the last cache line in the next page), or if you have used some other workaround. If in doubt, say Y here. choice prompt "Microcode patch selection" default NO_UCODE_PATCH help Help not implemented yet, coming soon. config NO_UCODE_PATCH bool "None" config USB_SOF_UCODE_PATCH bool "USB SOF patch" help Help not implemented yet, coming soon. config I2C_SPI_UCODE_PATCH bool "I2C/SPI relocation patch" help Help not implemented yet, coming soon. config I2C_SPI_SMC1_UCODE_PATCH bool "I2C/SPI/SMC1 relocation patch" help Help not implemented yet, coming soon. endchoice config UCODE_PATCH bool default y depends on !NO_UCODE_PATCH endmenu menu "Platform support" source "arch/powerpc/platforms/powernv/Kconfig" source "arch/powerpc/platforms/pseries/Kconfig" source "arch/powerpc/platforms/chrp/Kconfig" source "arch/powerpc/platforms/512x/Kconfig" source "arch/powerpc/platforms/52xx/Kconfig" source "arch/powerpc/platforms/powermac/Kconfig" source "arch/powerpc/platforms/maple/Kconfig" source "arch/powerpc/platforms/pasemi/Kconfig" source "arch/powerpc/platforms/ps3/Kconfig" source "arch/powerpc/platforms/cell/Kconfig" source "arch/powerpc/platforms/8xx/Kconfig" source "arch/powerpc/platforms/82xx/Kconfig" source "arch/powerpc/platforms/83xx/Kconfig" source "arch/powerpc/platforms/85xx/Kconfig" source "arch/powerpc/platforms/86xx/Kconfig" source "arch/powerpc/platforms/embedded6xx/Kconfig" source "arch/powerpc/platforms/44x/Kconfig" source "arch/powerpc/platforms/40x/Kconfig" source "arch/powerpc/platforms/amigaone/Kconfig" source "arch/powerpc/platforms/wsp/Kconfig" config KVM_GUEST bool "KVM Guest support" default n select EPAPR_PARAVIRT ---help--- This option enables various optimizations for running under the KVM hypervisor. Overhead for the kernel when not running inside KVM should be minimal. In case of doubt, say Y config EPAPR_PARAVIRT bool "ePAPR para-virtualization support" default n help Enables ePAPR para-virtualization support for guests. In case of doubt, say Y config PPC_NATIVE bool depends on 6xx || PPC64 help Support for running natively on the hardware, i.e. without a hypervisor. This option is not user-selectable but should be selected by all platforms that need it. config PPC_OF_BOOT_TRAMPOLINE bool "Support booting from Open Firmware or yaboot" depends on 6xx || PPC64 default y help Support from booting from Open Firmware or yaboot using an Open Firmware client interface. This enables the kernel to communicate with open firmware to retrieve system information such as the device tree. In case of doubt, say Y config UDBG_RTAS_CONSOLE bool "RTAS based debug console" depends on PPC_RTAS default n config PPC_SMP_MUXED_IPI bool help Select this opton if your platform supports SMP and your interrupt controller provides less than 4 interrupts to each cpu. This will enable the generic code to multiplex the 4 messages on to one ipi. config PPC_UDBG_BEAT bool "BEAT based debug console" depends on PPC_CELLEB default n config IPIC bool default n config MPIC bool default n config MPIC_TIMER bool "MPIC Global Timer" depends on MPIC && FSL_SOC default n help The MPIC global timer is a hardware timer inside the Freescale PIC complying with OpenPIC standard. When the specified interval times out, the hardware timer generates an interrupt. The driver currently is only tested on fsl chip, but it can potentially support other global timers complying with the OpenPIC standard. config FSL_MPIC_TIMER_WAKEUP tristate "Freescale MPIC global timer wakeup driver" depends on FSL_SOC && MPIC_TIMER && PM default n help The driver provides a way to wake up the system by MPIC timer. e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup" config PPC_EPAPR_HV_PIC bool default n select EPAPR_PARAVIRT config MPIC_WEIRD bool default n config MPIC_MSGR bool "MPIC message register support" depends on MPIC default n help Enables support for the MPIC message registers. These registers are used for inter-processor communication. config PPC_I8259 bool default n config U3_DART bool depends on PPC64 default n config PPC_RTAS bool default n config RTAS_ERROR_LOGGING bool depends on PPC_RTAS default n config PPC_RTAS_DAEMON bool depends on PPC_RTAS default n config RTAS_PROC bool "Proc interface to RTAS" depends on PPC_RTAS && PROC_FS default y config RTAS_FLASH tristate "Firmware flash interface" depends on PPC64 && RTAS_PROC config MMIO_NVRAM bool default n config MPIC_U3_HT_IRQS bool default n config MPIC_BROKEN_REGREAD bool depends on MPIC help This option enables a MPIC driver workaround for some chips that have a bug that causes some interrupt source information to not read back properly. It is safe to use on other chips as well, but enabling it uses about 8KB of memory to keep copies of the register contents in software. config IBMVIO depends on PPC_PSERIES bool default y config IBMEBUS depends on PPC_PSERIES bool "Support for GX bus based adapters" help Bus device driver for GX bus based adapters. config EEH bool depends on (PPC_POWERNV || PPC_PSERIES) && PCI default y config PPC_MPC106 bool default n config PPC_970_NAP bool default n config PPC_P7_NAP bool default n config PPC_INDIRECT_PIO bool select GENERIC_IOMAP config PPC_INDIRECT_MMIO bool config PPC_IO_WORKAROUNDS bool source "drivers/cpufreq/Kconfig" menu "CPUIdle driver" source "drivers/cpuidle/Kconfig" endmenu config PPC601_SYNC_FIX bool "Workarounds for PPC601 bugs" depends on 6xx && PPC_PMAC help Some versions of the PPC601 (the first PowerPC chip) have bugs which mean that extra synchronization instructions are required near certain instructions, typically those that make major changes to the CPU state. These extra instructions reduce performance slightly. If you say N here, these extra instructions will not be included, resulting in a kernel which will run faster but may not run at all on some systems with the PPC601 chip. If in doubt, say Y here. config TAU bool "On-chip CPU temperature sensor support" depends on 6xx help G3 and G4 processors have an on-chip temperature sensor called the 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die temperature within 2-4 degrees Celsius. This option shows the current on-die temperature in /proc/cpuinfo if the cpu supports it. Unfortunately, on some chip revisions, this sensor is very inaccurate and in many cases, does not work at all, so don't assume the cpu temp is actually what /proc/cpuinfo says it is. config TAU_INT bool "Interrupt driven TAU driver (DANGEROUS)" depends on TAU ---help--- The TAU supports an interrupt driven mode which causes an interrupt whenever the temperature goes out of range. This is the fastest way to get notified the temp has exceeded a range. With this option off, a timer is used to re-check the temperature periodically. However, on some cpus it appears that the TAU interrupt hardware is buggy and can cause a situation which would lead unexplained hard lockups. Unless you are extending the TAU driver, or enjoy kernel/hardware debugging, leave this option off. config TAU_AVERAGE bool "Average high and low temp" depends on TAU ---help--- The TAU hardware can compare the temperature to an upper and lower bound. The default behavior is to show both the upper and lower bound in /proc/cpuinfo. If the range is large, the temperature is either changing a lot, or the TAU hardware is broken (likely on some G4's). If the range is small (around 4 degrees), the temperature is relatively stable. If you say Y here, a single temperature value, halfway between the upper and lower bounds, will be reported in /proc/cpuinfo. If in doubt, say N here. config QUICC_ENGINE bool "Freescale QUICC Engine (QE) Support" depends on FSL_SOC && PPC32 select PPC_LIB_RHEAP select CRC32 help The QUICC Engine (QE) is a new generation of communications coprocessors on Freescale embedded CPUs (akin to CPM in older chips). Selecting this option means that you wish to build a kernel for a machine with a QE coprocessor. config QE_GPIO bool "QE GPIO support" depends on QUICC_ENGINE select ARCH_REQUIRE_GPIOLIB help Say Y here if you're going to use hardware that connects to the QE GPIOs. config CPM2 bool "Enable support for the CPM2 (Communications Processor Module)" depends on (FSL_SOC_BOOKE && PPC32) || 8260 select CPM select PPC_LIB_RHEAP select PPC_PCI_CHOICE select ARCH_REQUIRE_GPIOLIB help The CPM2 (Communications Processor Module) is a coprocessor on embedded CPUs made by Freescale. Selecting this option means that you wish to build a kernel for a machine with a CPM2 coprocessor on it (826x, 827x, 8560). config AXON_RAM tristate "Axon DDR2 memory device driver" depends on PPC_IBM_CELL_BLADE && BLOCK default m help It registers one block device per Axon's DDR2 memory bank found on a system. Block devices are called axonram?, their major and minor numbers are available in /proc/devices, /proc/partitions or in /sys/block/axonram?/dev. config FSL_ULI1575 bool default n select GENERIC_ISA_DMA help Supports for the ULI1575 PCIe south bridge that exists on some Freescale reference boards. The boards all use the ULI in pretty much the same way. config CPM bool config OF_RTC bool help Uses information from the OF or flattened device tree to instantiate platform devices for direct mapped RTC chips like the DS1742 or DS1743. config SIMPLE_GPIO bool "Support for simple, memory-mapped GPIO controllers" depends on PPC select ARCH_REQUIRE_GPIOLIB help Say Y here to support simple, memory-mapped GPIO controllers. These are usually BCSRs used to control board's switches, LEDs, chip-selects, Ethernet/USB PHY's power and various other small on-board peripherals. config MCU_MPC8349EMITX bool "MPC8349E-mITX MCU driver" depends on I2C=y && PPC_83xx select ARCH_REQUIRE_GPIOLIB help Say Y here to enable soft power-off functionality on the Freescale boards with the MPC8349E-mITX-compatible MCU chips. This driver will also register MCU GPIOs with the generic GPIO API, so you'll able to use MCU pins as GPIOs. config XILINX_PCI bool "Xilinx PCI host bridge support" depends on PCI && XILINX_VIRTEX endmenu config AMIGAONE bool "Eyetech AmigaOne/MAI Teron" depends on 6xx && BROKEN_ON_SMP select PPC_I8259 select PPC_INDIRECT_PCI select PPC_UDBG_16550 select PCI select NOT_COHERENT_CACHE select CHECK_CACHE_COHERENCY select DEFAULT_UIMAGE select HAVE_PCSPKR_PLATFORM help Select AmigaOne for the following machines: - AmigaOne SE/Teron CX (G3 only) - AmigaOne XE/Teron PX - uA1/Teron mini More information is available at: . config PPC_CELL bool default n config PPC_CELL_COMMON bool select PPC_CELL select PPC_DCR_MMIO select PPC_INDIRECT_PIO select PPC_INDIRECT_MMIO select PPC_NATIVE select PPC_RTAS select IRQ_EDGE_EOI_HANDLER config PPC_CELL_NATIVE bool select PPC_CELL_COMMON select MPIC select PPC_IO_WORKAROUNDS select IBM_EMAC_EMAC4 select IBM_EMAC_RGMII select IBM_EMAC_ZMII #test only select IBM_EMAC_TAH #test only default n config PPC_IBM_CELL_BLADE bool "IBM Cell Blade" depends on PPC64 && PPC_BOOK3S select PPC_CELL_NATIVE select PPC_OF_PLATFORM_PCI select PCI select MMIO_NVRAM select PPC_UDBG_16550 select UDBG_RTAS_CONSOLE config PPC_CELLEB bool "Toshiba's Cell Reference Set 'Celleb' Architecture" depends on PPC64 && PPC_BOOK3S select PPC_CELL_NATIVE select PPC_OF_PLATFORM_PCI select PCI select HAS_TXX9_SERIAL select PPC_UDBG_BEAT select USB_OHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_MMIO config PPC_CELL_QPACE bool "IBM Cell - QPACE" depends on PPC64 && PPC_BOOK3S select PPC_CELL_COMMON config AXON_MSI bool depends on PPC_IBM_CELL_BLADE && PCI_MSI default y menu "Cell Broadband Engine options" depends on PPC_CELL config SPU_FS tristate "SPU file system" default m depends on PPC_CELL select SPU_BASE select MEMORY_HOTPLUG help The SPU file system is used to access Synergistic Processing Units on machines implementing the Broadband Processor Architecture. config SPU_FS_64K_LS bool "Use 64K pages to map SPE local store" # we depend on PPC_MM_SLICES for now rather than selecting # it because we depend on hugetlbfs hooks being present. We # will fix that when the generic code has been improved to # not require hijacking hugetlbfs hooks. depends on SPU_FS && PPC_MM_SLICES && !PPC_64K_PAGES default y select PPC_HAS_HASH_64K help This option causes SPE local stores to be mapped in process address spaces using 64K pages while the rest of the kernel uses 4K pages. This can improve performances of applications using multiple SPEs by lowering the TLB pressure on them. config SPU_BASE bool default n config CBE_RAS bool "RAS features for bare metal Cell BE" depends on PPC_CELL_NATIVE default y config PPC_IBM_CELL_RESETBUTTON bool "IBM Cell Blade Pinhole reset button" depends on CBE_RAS && PPC_IBM_CELL_BLADE default y help Support Pinhole Resetbutton on IBM Cell blades. This adds a method to trigger system reset via front panel pinhole button. config PPC_IBM_CELL_POWERBUTTON tristate "IBM Cell Blade power button" depends on PPC_IBM_CELL_BLADE && INPUT_EVDEV default y help Support Powerbutton on IBM Cell blades. This will enable the powerbutton as an input device. config CBE_THERM tristate "CBE thermal support" default m depends on CBE_RAS && SPU_BASE config PPC_PMI tristate default y depends on CPU_FREQ_CBE_PMI || PPC_IBM_CELL_POWERBUTTON help PMI (Platform Management Interrupt) is a way to communicate with the BMC (Baseboard Management Controller). It is used in some IBM Cell blades. config CBE_CPUFREQ_SPU_GOVERNOR tristate "CBE frequency scaling based on SPU usage" depends on SPU_FS && CPU_FREQ default m help This governor checks for spu usage to adjust the cpu frequency. If no spu is running on a given cpu, that cpu will be throttled to the minimal possible frequency. endmenu config OPROFILE_CELL def_bool y depends on PPC_CELL_NATIVE && (OPROFILE = m || OPROFILE = y) && SPU_BASE config PPC_CHRP bool "Common Hardware Reference Platform (CHRP) based machines" depends on 6xx select HAVE_PCSPKR_PLATFORM select MPIC select PPC_I8259 select PPC_INDIRECT_PCI select PPC_RTAS select PPC_RTAS_DAEMON select RTAS_ERROR_LOGGING select PPC_MPC106 select PPC_UDBG_16550 select PPC_NATIVE select PCI default y config EMBEDDED6xx bool "Embedded 6xx/7xx/7xxx-based boards" depends on 6xx && BROKEN_ON_SMP config LINKSTATION bool "Linkstation / Kurobox(HG) from Buffalo" depends on EMBEDDED6xx select MPIC select FSL_SOC select PPC_UDBG_16550 if SERIAL_8250 select DEFAULT_UIMAGE select MPC10X_BRIDGE help Select LINKSTATION if configuring for one of PPC- (MPC8241) based NAS systems from Buffalo Technology. So far only KuroboxHG has been tested. In the future classical Kurobox, Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based Terastation systems should be supported too. config STORCENTER bool "IOMEGA StorCenter" depends on EMBEDDED6xx select MPIC select FSL_SOC select PPC_UDBG_16550 if SERIAL_8250 select MPC10X_BRIDGE help Select STORCENTER if configuring for the iomega StorCenter with an 8241 CPU in it. config MPC7448HPC2 bool "Freescale MPC7448HPC2(Taiga)" depends on EMBEDDED6xx select TSI108_BRIDGE select DEFAULT_UIMAGE select PPC_UDBG_16550 select TSI108_BRIDGE help Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga) platform config PPC_HOLLY bool "PPC750GX/CL with TSI10x bridge (Hickory/Holly)" depends on EMBEDDED6xx select TSI108_BRIDGE select PPC_UDBG_16550 select TSI108_BRIDGE help Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval Board with TSI108/9 bridge (Hickory/Holly) config PPC_PRPMC2800 bool "Motorola-PrPMC2800" depends on EMBEDDED6xx select MV64X60 select NOT_COHERENT_CACHE help This option enables support for the Motorola PrPMC2800 board config PPC_C2K bool "SBS/GEFanuc C2K board" depends on EMBEDDED6xx select MV64X60 select NOT_COHERENT_CACHE select MTD_CFI_I4 help This option enables support for the GE Fanuc C2K board (formerly an SBS board). config TSI108_BRIDGE bool select PCI select MPIC select MPIC_WEIRD config MPC10X_BRIDGE bool select PPC_INDIRECT_PCI config MV64X60 bool select PPC_INDIRECT_PCI select CHECK_CACHE_COHERENCY config GAMECUBE_COMMON bool config USBGECKO_UDBG bool "USB Gecko udbg console for the Nintendo GameCube/Wii" depends on GAMECUBE_COMMON help If you say yes to this option, support will be included for the USB Gecko adapter as an udbg console. The USB Gecko is a EXI to USB Serial converter that can be plugged into a memcard slot in the Nintendo GameCube/Wii. This driver bypasses the EXI layer completely. If in doubt, say N here. config GAMECUBE bool "Nintendo-GameCube" depends on EMBEDDED6xx select GAMECUBE_COMMON help Select GAMECUBE if configuring for the Nintendo GameCube. More information at: config WII bool "Nintendo-Wii" depends on EMBEDDED6xx select GAMECUBE_COMMON help Select WII if configuring for the Nintendo Wii. More information at: config PPC_MAPLE depends on PPC64 && PPC_BOOK3S bool "Maple 970FX Evaluation Board" select PCI select MPIC select U3_DART select MPIC_U3_HT_IRQS select GENERIC_TBSYNC select PPC_UDBG_16550 select PPC_970_NAP select PPC_NATIVE select PPC_RTAS select MMIO_NVRAM select ATA_NONSTANDARD if ATA default n help This option enables support for the Maple 970FX Evaluation Board. For more information, refer to config PPC_PASEMI depends on PPC64 && PPC_BOOK3S bool "PA Semi SoC-based platforms" default n select MPIC select PCI select PPC_UDBG_16550 select PPC_NATIVE select MPIC_BROKEN_REGREAD help This option enables support for PA Semi's PWRficient line of SoC processors, including PA6T-1682M menu "PA Semi PWRficient options" depends on PPC_PASEMI config PPC_PASEMI_IOMMU bool "PA Semi IOMMU support" depends on PPC_PASEMI help IOMMU support for PA Semi PWRficient config PPC_PASEMI_IOMMU_DMA_FORCE bool "Force DMA engine to use IOMMU" depends on PPC_PASEMI_IOMMU help This option forces the use of the IOMMU also for the DMA engine. Otherwise the kernel will use it only when running under a hypervisor. If in doubt, say "N". config PPC_PASEMI_MDIO depends on PHYLIB tristate "MDIO support via GPIO" default y help Driver for MDIO via GPIO on PWRficient platforms endmenu config PPC_PMAC bool "Apple PowerMac based machines" depends on PPC_BOOK3S select MPIC select PCI select PPC_INDIRECT_PCI if PPC32 select PPC_MPC106 if PPC32 select PPC_NATIVE default y config PPC_PMAC64 bool depends on PPC_PMAC && POWER4 select MPIC select U3_DART select MPIC_U3_HT_IRQS select GENERIC_TBSYNC select PPC_970_NAP default y config PPC_PMAC32_PSURGE bool "Support for powersurge upgrade cards" if EXPERT depends on SMP && PPC32 && PPC_PMAC select PPC_SMP_MUXED_IPI default y help The powersurge cpu boards can be used in the generation of powermacs that have a socket for an upgradeable cpu card, including the 7500, 8500, 9500, 9600. Support exists for both dual and quad socket upgrade cards. config PPC_POWERNV depends on PPC64 && PPC_BOOK3S bool "IBM PowerNV (Non-Virtualized) platform support" select PPC_NATIVE select PPC_XICS select PPC_ICP_NATIVE select PPC_P7_NAP select PPC_PCI_CHOICE if EMBEDDED select EPAPR_BOOT select PPC_INDIRECT_PIO select PPC_UDBG_16550 select PPC_SCOM select ARCH_RANDOM default y config POWERNV_MSI bool "Support PCI MSI on PowerNV platform" depends on PCI_MSI default y config PPC_POWERNV_RTAS depends on PPC_POWERNV bool "Support for RTAS based PowerNV platforms such as BML" default y select PPC_ICS_RTAS select PPC_RTAS config PPC_PS3 bool "Sony PS3" depends on PPC64 && PPC_BOOK3S select PPC_CELL select USB_ARCH_HAS_OHCI select USB_OHCI_LITTLE_ENDIAN select USB_OHCI_BIG_ENDIAN_MMIO select USB_ARCH_HAS_EHCI select USB_EHCI_BIG_ENDIAN_MMIO select PPC_PCI_CHOICE help This option enables support for the Sony PS3 game console and other platforms using the PS3 hypervisor. Enabling this option will allow building otheros.bld, a kernel image suitable for programming into flash memory, and vmlinux, a kernel image suitable for loading via kexec. menu "PS3 Platform Options" depends on PPC_PS3 config PS3_ADVANCED depends on PPC_PS3 bool "PS3 Advanced configuration options" help This gives you access to some advanced options for the PS3. The defaults should be fine for most users, but these options may make it possible to better control the kernel configuration if you know what you are doing. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these options. Most users should say N to this question. config PS3_HTAB_SIZE depends on PPC_PS3 int "PS3 Platform pagetable size" if PS3_ADVANCED range 18 20 default 20 help This option is only for experts who may have the desire to fine tune the pagetable size on their system. The value here is expressed as the log2 of the page table size. Valid values are 18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively. If unsure, choose the default (20) with the confidence that your system will have optimal runtime performance. config PS3_DYNAMIC_DMA depends on PPC_PS3 bool "PS3 Platform dynamic DMA page table management" default n help This option will enable kernel support to take advantage of the per device dynamic DMA page table management provided by the Cell processor's IO Controller. This support incurs some runtime overhead and also slightly increases kernel memory usage. The current implementation should be considered experimental. This support is mainly for Linux kernel development. If unsure, say N. config PS3_VUART depends on PPC_PS3 tristate config PS3_PS3AV depends on PPC_PS3 tristate "PS3 AV settings driver" if PS3_ADVANCED select PS3_VUART default y help Include support for the PS3 AV Settings driver. This support is required for PS3 graphics and sound. In general, all users will say Y or M. config PS3_SYS_MANAGER depends on PPC_PS3 tristate "PS3 System Manager driver" if PS3_ADVANCED select PS3_VUART default y help Include support for the PS3 System Manager. This support is required for PS3 system control. In general, all users will say Y or M. config PS3_REPOSITORY_WRITE bool "PS3 Repository write support" if PS3_ADVANCED depends on PPC_PS3 default n help Enables support for writing to the PS3 System Repository. This support is intended for bootloaders that need to store data in the repository for later boot stages. If in doubt, say N here and reduce the size of the kernel by a small amount. config PS3_STORAGE depends on PPC_PS3 tristate config PS3_DISK tristate "PS3 Disk Storage Driver" depends on PPC_PS3 && BLOCK select PS3_STORAGE help Include support for the PS3 Disk Storage. This support is required to access the PS3 hard disk. In general, all users will say Y or M. config PS3_ROM tristate "PS3 BD/DVD/CD-ROM Storage Driver" depends on PPC_PS3 && SCSI select PS3_STORAGE help Include support for the PS3 ROM Storage. This support is required to access the PS3 BD/DVD/CD-ROM drive. In general, all users will say Y or M. Also make sure to say Y or M to "SCSI CDROM support" later. config PS3_FLASH tristate "PS3 FLASH ROM Storage Driver" depends on PPC_PS3 select PS3_STORAGE help Include support for the PS3 FLASH ROM Storage. This support is required to access the PS3 FLASH ROM, which contains the boot loader and some boot options. In general, PS3 OtherOS users will say Y or M. As this driver needs a fixed buffer of 256 KiB of memory, it can be disabled on the kernel command line using "ps3flash=off", to not allocate this fixed buffer. config PS3_VRAM tristate "PS3 Video RAM Storage Driver" depends on FB_PS3=y && BLOCK && m help This driver allows you to use excess PS3 video RAM as volatile storage or system swap. config PS3_LPM tristate "PS3 Logical Performance Monitor support" depends on PPC_PS3 help Include support for the PS3 Logical Performance Monitor. This support is required to use the logical performance monitor of the PS3's LV1 hypervisor. If you intend to use the advanced performance monitoring and profiling support of the Cell processor with programs like oprofile and perfmon2, then say Y or M, otherwise say N. config PS3GELIC_UDBG bool "PS3 udbg output via UDP broadcasts on Ethernet" depends on PPC_PS3 help Enables udbg early debugging output by sending broadcast UDP via the Ethernet port (UDP port number 18194). This driver uses a trivial implementation and is independent from the main PS3 gelic network driver. If in doubt, say N here. endmenu config PPC_PSERIES depends on PPC64 && PPC_BOOK3S bool "IBM pSeries & new (POWER5-based) iSeries" select HAVE_PCSPKR_PLATFORM select MPIC select OF_DYNAMIC select PCI_MSI select PPC_XICS select PPC_ICP_NATIVE select PPC_ICP_HV select PPC_ICS_RTAS select PPC_I8259 select PPC_RTAS select PPC_RTAS_DAEMON select RTAS_ERROR_LOGGING select PPC_UDBG_16550 select PPC_NATIVE select PPC_PCI_CHOICE if EXPERT select ZLIB_DEFLATE select PPC_DOORBELL select HAVE_CONTEXT_TRACKING select HOTPLUG_CPU if SMP default y config PPC_SPLPAR depends on PPC_PSERIES bool "Support for shared-processor logical partitions" default n help Enabling this option will make the kernel run more efficiently on logically-partitioned pSeries systems which use shared processors, that is, which share physical processors between two or more partitions. config PSERIES_MSI bool depends on PCI_MSI && EEH default y config PSERIES_ENERGY tristate "pSeries energy management capabilities driver" depends on PPC_PSERIES default y help Provides interface to platform energy management capabilities on supported PSERIES platforms. Provides: /sys/devices/system/cpu/pseries_(de)activation_hint_list and /sys/devices/system/cpu/cpuN/pseries_(de)activation_hint config SCANLOG tristate "Scanlog dump interface" depends on RTAS_PROC && PPC_PSERIES config IO_EVENT_IRQ bool "IO Event Interrupt support" depends on PPC_PSERIES default y help Select this option, if you want to enable support for IO Event interrupts. IO event interrupt is a mechanism provided by RTAS to return information about hardware error and non-error events which may need OS attention. RTAS returns events for multiple event types and scopes. Device drivers can register their handlers to receive events. This option will only enable the IO event platform code. You will still need to enable or compile the actual drivers that use this infrastructure to handle IO event interrupts. Say Y if you are unsure. config LPARCFG bool "LPAR Configuration Data" depends on PPC_PSERIES help Provide system capacity information via human readable = pairs through a /proc/ppc64/lparcfg interface. config PPC_PSERIES_DEBUG depends on PPC_PSERIES && PPC_EARLY_DEBUG bool "Enable extra debug logging in platforms/pseries" help Say Y here if you want the pseries core to produce a bunch of debug messages to the system log. Select this if you are having a problem with the pseries core and want to see more of what is going on. This does not enable debugging in lpar.c, which must be manually done due to its verbosity. default y config PPC_SMLPAR bool "Support for shared-memory logical partitions" depends on PPC_PSERIES select LPARCFG default n help Select this option to enable shared memory partition support. With this option a system running in an LPAR can be given more memory than physically available and will allow firmware to balance memory across many LPARs. config CMM tristate "Collaborative memory management" depends on PPC_SMLPAR default y help Select this option, if you want to enable the kernel interface to reduce the memory size of the system. This is accomplished by allocating pages of memory and put them "on hold". This only makes sense for a system running in an LPAR where the unused pages will be reused for other LPARs. The interface allows firmware to balance memory across many LPARs. config DTL bool "Dispatch Trace Log" depends on PPC_SPLPAR && DEBUG_FS help SPLPAR machines can log hypervisor preempt & dispatch events to a kernel buffer. Saying Y here will enable logging these events, which are accessible through a debugfs file. Say N if you are unsure. config PSERIES_IDLE bool "Cpuidle driver for pSeries platforms" depends on CPU_IDLE depends on PPC_PSERIES default y help Select this option to enable processor idle state management through cpuidle subsystem. config PPC_WSP bool select PPC_A2 select GENERIC_TBSYNC select PPC_ICSWX select PPC_SCOM select PPC_XICS select PPC_ICP_NATIVE select PCI select PPC_IO_WORKAROUNDS if PCI select PPC_INDIRECT_PIO if PCI default n menu "WSP platform selection" depends on PPC_BOOK3E_64 config PPC_PSR2 bool "PowerEN System Reference Platform 2" select EPAPR_BOOT select PPC_WSP default y config PPC_CHROMA bool "PowerEN PCIe Chroma Card" select EPAPR_BOOT select PPC_WSP select OF_DYNAMIC default y endmenu # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # config PPC4xx_PCI_EXPRESS bool depends on PCI && 4xx default n config PPC4xx_MSI bool depends on PCI_MSI depends on PCI && 4xx default n config PPC_MSI_BITMAP bool depends on PCI_MSI default y if MPIC default y if FSL_PCI default y if PPC4xx_MSI default y if POWERNV_MSI source "arch/powerpc/sysdev/xics/Kconfig" config PPC_SCOM bool config SCOM_DEBUGFS bool "Expose SCOM controllers via debugfs" depends on PPC_SCOM && DEBUG_FS default n config GE_FPGA bool default n # # QE Communication options # config UCC_SLOW bool default y if SERIAL_QE help This option provides qe_lib support to UCC slow protocols: UART, BISYNC, QMC config UCC_FAST bool default y if UCC_GETH help This option provides qe_lib support to UCC fast protocols: HDLC, Ethernet, ATM, transparent config UCC bool default y if UCC_FAST || UCC_SLOW config QE_USB bool default y if USB_FSL_QE help QE USB Controller support config PPC_XICS def_bool n select PPC_SMP_MUXED_IPI config PPC_ICP_NATIVE def_bool n config PPC_ICP_HV def_bool n config PPC_ICS_RTAS def_bool n config MMU def_bool y config ZONE_DMA def_bool y config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y config RWSEM_GENERIC_SPINLOCK bool config RWSEM_XCHGADD_ALGORITHM def_bool y config ARCH_HAS_ILOG2_U32 def_bool n config ARCH_HAS_ILOG2_U64 def_bool n config GENERIC_HWEIGHT def_bool y config GENERIC_BUG def_bool y if BUG config GENERIC_BUG_RELATIVE_POINTERS def_bool y config ARCH_DMA_ADDR_T_64BIT def_bool 64BIT config GENERIC_LOCKBREAK def_bool y if SMP && PREEMPT config PGSTE def_bool y if KVM config ARCH_SUPPORTS_DEBUG_PAGEALLOC def_bool y config KEXEC def_bool y config AUDIT_ARCH def_bool y config NO_IOPORT def_bool y config PCI_QUIRKS def_bool n config S390 def_bool y select ARCH_DISCARD_MEMBLOCK select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_INLINE_READ_LOCK select ARCH_INLINE_READ_LOCK_BH select ARCH_INLINE_READ_LOCK_IRQ select ARCH_INLINE_READ_LOCK_IRQSAVE select ARCH_INLINE_READ_TRYLOCK select ARCH_INLINE_READ_UNLOCK select ARCH_INLINE_READ_UNLOCK_BH select ARCH_INLINE_READ_UNLOCK_IRQ select ARCH_INLINE_READ_UNLOCK_IRQRESTORE select ARCH_INLINE_SPIN_LOCK select ARCH_INLINE_SPIN_LOCK_BH select ARCH_INLINE_SPIN_LOCK_IRQ select ARCH_INLINE_SPIN_LOCK_IRQSAVE select ARCH_INLINE_SPIN_TRYLOCK select ARCH_INLINE_SPIN_TRYLOCK_BH select ARCH_INLINE_SPIN_UNLOCK select ARCH_INLINE_SPIN_UNLOCK_BH select ARCH_INLINE_SPIN_UNLOCK_IRQ select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE select ARCH_INLINE_WRITE_LOCK select ARCH_INLINE_WRITE_LOCK_BH select ARCH_INLINE_WRITE_LOCK_IRQ select ARCH_INLINE_WRITE_LOCK_IRQSAVE select ARCH_INLINE_WRITE_TRYLOCK select ARCH_INLINE_WRITE_UNLOCK select ARCH_INLINE_WRITE_UNLOCK_BH select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select ARCH_SAVE_PAGE_KEYS if HIBERNATION select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_EXTABLE_SORT select CLONE_BACKWARDS2 select GENERIC_CLOCKEVENTS select GENERIC_CPU_DEVICES if !SMP select GENERIC_FIND_FIRST_BIT select GENERIC_SMP_IDLE_THREAD select GENERIC_TIME_VSYSCALL select HAVE_ALIGNED_STRUCT_PAGE if SLUB select HAVE_ARCH_JUMP_LABEL if !MARCH_G5 select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT select HAVE_BPF_JIT if 64BIT && PACK_STACK select HAVE_CMPXCHG_DOUBLE select HAVE_CMPXCHG_LOCAL select HAVE_C_RECORDMCOUNT select HAVE_DEBUG_KMEMLEAK select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZ4 select HAVE_KERNEL_LZMA select HAVE_KERNEL_LZO select HAVE_KERNEL_XZ select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_KVM if 64BIT select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_MOD_ARCH_SPECIFIC select HAVE_OPROFILE select HAVE_PERF_EVENTS select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_SYSCALL_TRACEPOINTS select HAVE_UID16 if 32BIT select HAVE_VIRT_CPU_ACCOUNTING select KTIME_SCALAR if 32BIT select MODULES_USE_ELF_RELA select OLD_SIGACTION select OLD_SIGSUSPEND3 select SYSCTL_EXCEPTION_TRACE select VIRT_CPU_ACCOUNTING select VIRT_TO_BUS config SCHED_OMIT_FRAME_POINTER def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" config HAVE_MARCH_Z900_FEATURES def_bool n config HAVE_MARCH_Z990_FEATURES def_bool n select HAVE_MARCH_Z900_FEATURES config HAVE_MARCH_Z9_109_FEATURES def_bool n select HAVE_MARCH_Z990_FEATURES config HAVE_MARCH_Z10_FEATURES def_bool n select HAVE_MARCH_Z9_109_FEATURES config HAVE_MARCH_Z196_FEATURES def_bool n select HAVE_MARCH_Z10_FEATURES config HAVE_MARCH_ZEC12_FEATURES def_bool n select HAVE_MARCH_Z196_FEATURES choice prompt "Processor type" default MARCH_G5 config MARCH_G5 bool "System/390 model G5 and G6" depends on !64BIT help Select this to build a 31 bit kernel that works on all ESA/390 and z/Architecture machines. config MARCH_Z900 bool "IBM zSeries model z800 and z900" select HAVE_MARCH_Z900_FEATURES if 64BIT help Select this to enable optimizations for model z800/z900 (2064 and 2066 series). This will enable some optimizations that are not available on older ESA/390 (31 Bit) only CPUs. config MARCH_Z990 bool "IBM zSeries model z890 and z990" select HAVE_MARCH_Z990_FEATURES if 64BIT help Select this to enable optimizations for model z890/z990 (2084 and 2086 series). The kernel will be slightly faster but will not work on older machines. config MARCH_Z9_109 bool "IBM System z9" select HAVE_MARCH_Z9_109_FEATURES if 64BIT help Select this to enable optimizations for IBM System z9 (2094 and 2096 series). The kernel will be slightly faster but will not work on older machines. config MARCH_Z10 bool "IBM System z10" select HAVE_MARCH_Z10_FEATURES if 64BIT help Select this to enable optimizations for IBM System z10 (2097 and 2098 series). The kernel will be slightly faster but will not work on older machines. config MARCH_Z196 bool "IBM zEnterprise 114 and 196" select HAVE_MARCH_Z196_FEATURES if 64BIT help Select this to enable optimizations for IBM zEnterprise 114 and 196 (2818 and 2817 series). The kernel will be slightly faster but will not work on older machines. config MARCH_ZEC12 bool "IBM zBC12 and zEC12" select HAVE_MARCH_ZEC12_FEATURES if 64BIT help Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and 2827 series). The kernel will be slightly faster but will not work on older machines. endchoice config MARCH_G5_TUNE def_bool TUNE_G5 || MARCH_G5 && TUNE_DEFAULT config MARCH_Z900_TUNE def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT config MARCH_Z990_TUNE def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT config MARCH_Z9_109_TUNE def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT config MARCH_Z10_TUNE def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT config MARCH_Z196_TUNE def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT config MARCH_ZEC12_TUNE def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT choice prompt "Tune code generation" default TUNE_DEFAULT help Cause the compiler to tune (-mtune) the generated code for a machine. This will make the code run faster on the selected machine but somewhat slower on other machines. This option only changes how the compiler emits instructions, not the selection of instructions itself, so the resulting kernel will run on all other machines. config TUNE_DEFAULT bool "Default" help Tune the generated code for the target processor for which the kernel will be compiled. config TUNE_G5 bool "System/390 model G5 and G6" config TUNE_Z900 bool "IBM zSeries model z800 and z900" config TUNE_Z990 bool "IBM zSeries model z890 and z990" config TUNE_Z9_109 bool "IBM System z9" config TUNE_Z10 bool "IBM System z10" config TUNE_Z196 bool "IBM zEnterprise 114 and 196" config TUNE_ZEC12 bool "IBM zBC12 and zEC12" endchoice config 64BIT def_bool y prompt "64 bit kernel" help Select this option if you have an IBM z/Architecture machine and want to use the 64 bit addressing mode. config 32BIT def_bool y if !64BIT config COMPAT def_bool y prompt "Kernel support for 31 bit emulation" depends on 64BIT select COMPAT_BINFMT_ELF if BINFMT_ELF select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION help Select this option if you want to enable your system kernel to handle system-calls from ELF binaries for 31 bit ESA. This option (and some other stuff like libraries and such) is needed for executing 31 bit applications. It is safe to say "Y". config SYSVIPC_COMPAT def_bool y if COMPAT && SYSVIPC config KEYS_COMPAT def_bool y if COMPAT && KEYS config SMP def_bool y prompt "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. See also the SMP-HOWTO available at . Even if you don't know what to do here, say Y. config NR_CPUS int "Maximum number of CPUs (2-256)" range 2 256 depends on SMP default "32" if !64BIT default "64" if 64BIT help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 256 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately sixteen kilobytes to the kernel image. config HOTPLUG_CPU def_bool y prompt "Support for hot-pluggable CPUs" depends on SMP help Say Y here to be able to turn CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. config SCHED_MC def_bool n config SCHED_BOOK def_bool y prompt "Book scheduler support" depends on SMP select SCHED_MC help Book scheduler support improves the CPU scheduler's decision making when dealing with machines that have several books. source kernel/Kconfig.preempt config MATHEMU def_bool y prompt "IEEE FPU emulation" depends on MARCH_G5 help This option is required for IEEE compliant floating point arithmetic on older ESA/390 machines. Say Y unless you know your machine doesn't need this. source kernel/Kconfig.hz endmenu menu "Memory setup" config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_VMEMMAP_ENABLE select SPARSEMEM_VMEMMAP select SPARSEMEM_STATIC if !64BIT config ARCH_SPARSEMEM_DEFAULT def_bool y config ARCH_SELECT_MEMORY_MODEL def_bool y config ARCH_ENABLE_MEMORY_HOTPLUG def_bool y if SPARSEMEM config ARCH_ENABLE_MEMORY_HOTREMOVE def_bool y config FORCE_MAX_ZONEORDER int default "9" source "mm/Kconfig" config PACK_STACK def_bool y prompt "Pack kernel stack" help This option enables the compiler option -mkernel-backchain if it is available. If the option is available the compiler supports the new stack layout which dramatically reduces the minimum stack frame size. With an old compiler a non-leaf function needs a minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With -mkernel-backchain the minimum size drops to 16 byte on 31 bit and 24 byte on 64 bit. Say Y if you are unsure. config CHECK_STACK def_bool y prompt "Detect kernel stack overflow" help This option enables the compiler option -mstack-guard and -mstack-size if they are available. If the compiler supports them it will emit additional code to each function prolog to trigger an illegal operation if the kernel stack is about to overflow. Say N if you are unsure. config STACK_GUARD int "Size of the guard area (128-1024)" range 128 1024 depends on CHECK_STACK default "256" help This allows you to specify the size of the guard area at the lower end of the kernel stack. If the kernel stack points into the guard area on function entry an illegal operation is triggered. The size needs to be a power of 2. Please keep in mind that the size of an interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. The minimum size for the stack guard should be 256 for 31 bit and 512 for 64 bit. config WARN_DYNAMIC_STACK def_bool n prompt "Emit compiler warnings for function with dynamic stack usage" help This option enables the compiler option -mwarn-dynamicstack. If the compiler supports this options generates warnings for functions that dynamically allocate stack space using alloca. Say N if you are unsure. endmenu menu "I/O subsystem" config QDIO def_tristate y prompt "QDIO support" ---help--- This driver provides the Queued Direct I/O base support for IBM System z. To compile this driver as a module, choose M here: the module will be called qdio. If unsure, say Y. menuconfig PCI bool "PCI support" default n depends on 64BIT select PCI_MSI help Enable PCI support. if PCI config PCI_NR_FUNCTIONS int "Maximum number of PCI functions (1-4096)" range 1 4096 default "64" help This allows you to specify the maximum number of PCI functions which this kernel will support. config PCI_NR_MSI int "Maximum number of MSI interrupts (64-32768)" range 64 32768 default "256" help This defines the number of virtual interrupts the kernel will provide for MSI interrupts. If you configure your system to have too few drivers will fail to allocate MSI interrupts for all PCI devices. source "drivers/pci/Kconfig" source "drivers/pci/pcie/Kconfig" source "drivers/pci/hotplug/Kconfig" endif # PCI config PCI_DOMAINS def_bool PCI config HAS_IOMEM def_bool PCI config IOMMU_HELPER def_bool PCI config HAS_DMA def_bool PCI select HAVE_DMA_API_DEBUG config NEED_SG_DMA_LENGTH def_bool PCI config HAVE_DMA_ATTRS def_bool PCI config NEED_DMA_MAP_STATE def_bool PCI config CHSC_SCH def_tristate m prompt "Support for CHSC subchannels" help This driver allows usage of CHSC subchannels. A CHSC subchannel is usually present on LPAR only. The driver creates a device /dev/chsc, which may be used to obtain I/O configuration information about the machine and to issue asynchronous chsc commands (DANGEROUS). You will usually only want to use this interface on a special LPAR designated for system management. To compile this driver as a module, choose M here: the module will be called chsc_sch. If unsure, say N. config SCM_BUS def_bool y depends on 64BIT prompt "SCM bus driver" help Bus driver for Storage Class Memory. config EADM_SCH def_tristate m prompt "Support for EADM subchannels" depends on SCM_BUS help This driver allows usage of EADM subchannels. EADM subchannels act as a communication vehicle for SCM increments. To compile this driver as a module, choose M here: the module will be called eadm_sch. endmenu menu "Dump support" config CRASH_DUMP bool "kernel crash dumps" depends on 64BIT && SMP select KEXEC select ZFCPDUMP help Generate crash dump after being started by kexec. Crash dump kernels are loaded in the main kernel with kexec-tools into a specially reserved region and then later executed after a crash by kdump/kexec. For more details see Documentation/kdump/kdump.txt config ZFCPDUMP def_bool n prompt "zfcpdump support" depends on SMP help Select this option if you want to build an zfcpdump enabled kernel. Refer to for more details on this. endmenu menu "Executable file formats / Emulations" source "fs/Kconfig.binfmt" config SECCOMP def_bool y prompt "Enable seccomp to safely compute untrusted bytecode" depends on PROC_FS help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via /proc//seccomp, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. endmenu menu "Power Management" config ARCH_HIBERNATION_POSSIBLE def_bool y if 64BIT source "kernel/power/Kconfig" endmenu source "net/Kconfig" config PCMCIA def_bool n config CCW def_bool y source "drivers/Kconfig" source "fs/Kconfig" source "arch/s390/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Virtualization" config PFAULT def_bool y prompt "Pseudo page fault support" help Select this option, if you want to use PFAULT pseudo page fault handling under VM. If running native or in LPAR, this option has no effect. If your VM does not support PFAULT, PAGEEX pseudo page fault handling will be used. Note that VM 4.2 supports PFAULT but has a bug in its implementation that causes some problems. Everybody who wants to run Linux under VM != VM4.2 should select this option. config SHARED_KERNEL bool "VM shared kernel support" depends on !JUMP_LABEL help Select this option, if you want to share the text segment of the Linux kernel between different VM guests. This reduces memory usage with lots of guests but greatly increases kernel size. Also if a kernel was IPL'ed from a shared segment the kexec system call will not work. You should only select this option if you know what you are doing and want to exploit this feature. config CMM def_tristate n prompt "Cooperative memory management" help Select this option, if you want to enable the kernel interface to reduce the memory size of the system. This is accomplished by allocating pages of memory and put them "on hold". This only makes sense for a system running under VM where the unused pages will be reused by VM for other guest systems. The interface allows an external monitor to balance memory of many systems. Everybody who wants to run Linux under VM should select this option. config CMM_IUCV def_bool y prompt "IUCV special message interface to cooperative memory management" depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) help Select this option to enable the special message interface to the cooperative memory management. config APPLDATA_BASE def_bool n prompt "Linux - VM Monitor Stream, base infrastructure" depends on PROC_FS help This provides a kernel interface for creating and updating z/VM APPLDATA monitor records. The monitor records are updated at certain time intervals, once the timer is started. Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, i.e. enables or disables monitoring on the Linux side. A custom interval value (in seconds) can be written to /proc/appldata/interval. Defaults are 60 seconds interval and timer off. The /proc entries can also be read from, showing the current settings. config APPLDATA_MEM def_tristate m prompt "Monitor memory management statistics" depends on APPLDATA_BASE && VM_EVENT_COUNTERS help This provides memory management related data to the Linux - VM Monitor Stream, like paging/swapping rate, memory utilisation, etc. Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM APPLDATA monitor record, i.e. enables or disables monitoring this record on the z/VM side. Default is disabled. The /proc entry can also be read from, showing the current settings. This can also be compiled as a module, which will be called appldata_mem.o. config APPLDATA_OS def_tristate m prompt "Monitor OS statistics" depends on APPLDATA_BASE help This provides OS related data to the Linux - VM Monitor Stream, like CPU utilisation, etc. Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM APPLDATA monitor record, i.e. enables or disables monitoring this record on the z/VM side. Default is disabled. This can also be compiled as a module, which will be called appldata_os.o. config APPLDATA_NET_SUM def_tristate m prompt "Monitor overall network statistics" depends on APPLDATA_BASE && NET help This provides network related data to the Linux - VM Monitor Stream, currently there is only a total sum of network I/O statistics, no per-interface data. Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM APPLDATA monitor record, i.e. enables or disables monitoring this record on the z/VM side. Default is disabled. This can also be compiled as a module, which will be called appldata_net_sum.o. config S390_HYPFS_FS def_bool y prompt "s390 hypervisor file system support" select SYS_HYPERVISOR help This is a virtual file system intended to provide accounting information in an s390 hypervisor environment. source "arch/s390/kvm/Kconfig" config S390_GUEST def_bool y prompt "s390 support for virtio devices" depends on 64BIT select TTY select VIRTUALIZATION select VIRTIO select VIRTIO_CONSOLE help Enabling this option adds support for virtio based paravirtual device drivers on s390. Select this option if you want to run the kernel as a guest under the KVM hypervisor. endmenu # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION def_bool y prompt "KVM" ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM def_tristate y prompt "Kernel-based Virtual Machine (KVM) support" depends on HAVE_KVM select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_CPU_RELAX_INTERCEPT select HAVE_KVM_EVENTFD ---help--- Support hosting paravirtualized guest machines using the SIE virtualization capability on the mainframe. This should work on any 64bit machine. This module provides access to the hardware capabilities through a character device node named /dev/kvm. To compile this as a module, choose M here: the module will be called kvm. If unsure, say N. config KVM_S390_UCONTROL bool "Userspace controlled virtual machines" depends on KVM ---help--- Allow CAP_SYS_ADMIN users to create KVM virtual machines that are controlled by userspace. If unsure, say N. # OK, it's a little counter-intuitive to do this, but it puts it neatly under # the virtualization menu. source drivers/vhost/Kconfig endif # VIRTUALIZATION menu "Machine selection" config SCORE def_bool y select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_ATOMIC64 select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_CPU_DEVICES select GENERIC_CLOCKEVENTS select HAVE_MOD_ARCH_SPECIFIC select VIRT_TO_BUS select MODULES_USE_ELF_REL select CLONE_BACKWARDS choice prompt "System type" default MACH_SPCT6600 config ARCH_SCORE7 bool "SCORE7 processor" select SYS_SUPPORTS_32BIT_KERNEL select CPU_SCORE7 select GENERIC_HAS_IOMAP config MACH_SPCT6600 bool "SPCT6600 series based machines" select SYS_SUPPORTS_32BIT_KERNEL select CPU_SCORE7 select GENERIC_HAS_IOMAP config SCORE_SIM bool "Score simulator" select SYS_SUPPORTS_32BIT_KERNEL select CPU_SCORE7 select GENERIC_HAS_IOMAP endchoice endmenu config CPU_SCORE7 bool config NO_DMA bool default y config RWSEM_GENERIC_SPINLOCK def_bool y config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y menu "Kernel type" config 32BIT def_bool y config ARCH_FLATMEM_ENABLE def_bool y source "mm/Kconfig" config MEMORY_START hex default 0xa0000000 source "kernel/Kconfig.hz" source "kernel/Kconfig.preempt" endmenu config RWSEM_GENERIC_SPINLOCK def_bool y config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" config MMU def_bool y menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/score/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" config NO_IOMEM def_bool y config SUPERH def_bool y select ARCH_MIGHT_HAVE_PC_PARPORT select EXPERT select CLKDEV_LOOKUP select HAVE_IDE if HAS_IOPORT select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select HAVE_OPROFILE select HAVE_GENERIC_DMA_COHERENT select HAVE_ARCH_TRACEHOOK select HAVE_DMA_API_DEBUG select HAVE_DMA_ATTRS select HAVE_PERF_EVENTS select HAVE_DEBUG_BUGVERBOSE select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A) select PERF_USE_VMALLOC select HAVE_DEBUG_KMEMLEAK select HAVE_KERNEL_GZIP select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_LZMA select HAVE_KERNEL_XZ select HAVE_KERNEL_LZO select HAVE_UID16 select ARCH_WANT_IPC_PARSE_VERSION select HAVE_SYSCALL_TRACEPOINTS select HAVE_REGS_AND_STACK_ACCESS_API select MAY_HAVE_SPARSE_IRQ select IRQ_FORCED_THREADING select RTC_LIB select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD select GENERIC_IDLE_POLL_SETUP select GENERIC_CLOCKEVENTS select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER select MODULES_USE_ELF_RELA select OLD_SIGSUSPEND select OLD_SIGACTION help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast gaming console. The SuperH port has a home page at . config SUPERH32 def_bool ARCH = "sh" select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_IOREMAP_PROT if MMU && !X2TLB select HAVE_FUNCTION_TRACER select HAVE_FTRACE_MCOUNT_RECORD select HAVE_DYNAMIC_FTRACE select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE select ARCH_WANT_IPC_PARSE_VERSION select HAVE_FUNCTION_GRAPH_TRACER select HAVE_ARCH_KGDB select HAVE_HW_BREAKPOINT select HAVE_MIXED_BREAKPOINTS_REGS select PERF_EVENTS select ARCH_HIBERNATION_POSSIBLE if MMU select SPARSE_IRQ config SUPERH64 def_bool ARCH = "sh64" select KALLSYMS config ARCH_DEFCONFIG string default "arch/sh/configs/shx3_defconfig" if SUPERH32 default "arch/sh/configs/cayman_defconfig" if SUPERH64 config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM bool config GENERIC_BUG def_bool y depends on BUG && SUPERH32 config GENERIC_CSUM def_bool y depends on SUPERH64 config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY bool config GENERIC_LOCKBREAK def_bool y depends on SMP && PREEMPT config ARCH_SUSPEND_POSSIBLE def_bool n config ARCH_HIBERNATION_POSSIBLE def_bool n config SYS_SUPPORTS_APM_EMULATION bool select ARCH_SUSPEND_POSSIBLE config SYS_SUPPORTS_HUGETLBFS bool config SYS_SUPPORTS_SMP bool config SYS_SUPPORTS_NUMA bool config SYS_SUPPORTS_PCI bool config SYS_SUPPORTS_CMT bool config SYS_SUPPORTS_MTU2 bool config SYS_SUPPORTS_TMU bool config STACKTRACE_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y config ARCH_HAS_ILOG2_U32 def_bool n config ARCH_HAS_ILOG2_U64 def_bool n config NO_IOPORT def_bool !PCI depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \ !SH_HP6XX && !SH_SOLUTION_ENGINE config IO_TRAPPED bool config SWAP_IO_SPACE bool config DMA_COHERENT bool config DMA_NONCOHERENT def_bool !DMA_COHERENT config NEED_DMA_MAP_STATE def_bool DMA_NONCOHERENT config NEED_SG_DMA_LENGTH def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "System type" # # Processor families # config CPU_SH2 bool config CPU_SH2A bool select CPU_SH2 select UNCACHED_MAPPING config CPU_SH3 bool select CPU_HAS_INTEVT select CPU_HAS_SR_RB select SYS_SUPPORTS_TMU config CPU_SH4 bool select CPU_HAS_INTEVT select CPU_HAS_SR_RB select CPU_HAS_FPU if !CPU_SH4AL_DSP select SYS_SUPPORTS_TMU select SYS_SUPPORTS_HUGETLBFS if MMU config CPU_SH4A bool select CPU_SH4 config CPU_SH4AL_DSP bool select CPU_SH4A select CPU_HAS_DSP config CPU_SH5 bool select CPU_HAS_FPU select SYS_SUPPORTS_TMU select SYS_SUPPORTS_HUGETLBFS if MMU config CPU_SHX2 bool config CPU_SHX3 bool select DMA_COHERENT select SYS_SUPPORTS_SMP select SYS_SUPPORTS_NUMA config ARCH_SHMOBILE bool select ARCH_SUSPEND_POSSIBLE select PM select PM_RUNTIME config CPU_HAS_PMU depends on CPU_SH4 || CPU_SH4A default y bool if SUPERH32 choice prompt "Processor sub-type selection" # # Processor subtypes # # SH-2 Processor Support config CPU_SUBTYPE_SH7619 bool "Support SH7619 processor" select CPU_SH2 select SYS_SUPPORTS_CMT # SH-2A Processor Support config CPU_SUBTYPE_SH7201 bool "Support SH7201 processor" select CPU_SH2A select CPU_HAS_FPU select SYS_SUPPORTS_MTU2 config CPU_SUBTYPE_SH7203 bool "Support SH7203 processor" select CPU_SH2A select CPU_HAS_FPU select SYS_SUPPORTS_CMT select SYS_SUPPORTS_MTU2 select ARCH_WANT_OPTIONAL_GPIOLIB select PINCTRL config CPU_SUBTYPE_SH7206 bool "Support SH7206 processor" select CPU_SH2A select SYS_SUPPORTS_CMT select SYS_SUPPORTS_MTU2 config CPU_SUBTYPE_SH7263 bool "Support SH7263 processor" select CPU_SH2A select CPU_HAS_FPU select SYS_SUPPORTS_CMT select SYS_SUPPORTS_MTU2 config CPU_SUBTYPE_SH7264 bool "Support SH7264 processor" select CPU_SH2A select CPU_HAS_FPU select SYS_SUPPORTS_CMT select SYS_SUPPORTS_MTU2 select PINCTRL config CPU_SUBTYPE_SH7269 bool "Support SH7269 processor" select CPU_SH2A select CPU_HAS_FPU select SYS_SUPPORTS_CMT select SYS_SUPPORTS_MTU2 select PINCTRL config CPU_SUBTYPE_MXG bool "Support MX-G processor" select CPU_SH2A select SYS_SUPPORTS_MTU2 help Select MX-G if running on an R8A03022BG part. # SH-3 Processor Support config CPU_SUBTYPE_SH7705 bool "Support SH7705 processor" select CPU_SH3 config CPU_SUBTYPE_SH7706 bool "Support SH7706 processor" select CPU_SH3 help Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. config CPU_SUBTYPE_SH7707 bool "Support SH7707 processor" select CPU_SH3 help Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. config CPU_SUBTYPE_SH7708 bool "Support SH7708 processor" select CPU_SH3 help Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or if you have a 100 Mhz SH-3 HD6417708R CPU. config CPU_SUBTYPE_SH7709 bool "Support SH7709 processor" select CPU_SH3 help Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. config CPU_SUBTYPE_SH7710 bool "Support SH7710 processor" select CPU_SH3 select CPU_HAS_DSP help Select SH7710 if you have a SH3-DSP SH7710 CPU. config CPU_SUBTYPE_SH7712 bool "Support SH7712 processor" select CPU_SH3 select CPU_HAS_DSP help Select SH7712 if you have a SH3-DSP SH7712 CPU. config CPU_SUBTYPE_SH7720 bool "Support SH7720 processor" select CPU_SH3 select CPU_HAS_DSP select SYS_SUPPORTS_CMT select ARCH_WANT_OPTIONAL_GPIOLIB select USB_ARCH_HAS_OHCI select USB_OHCI_SH if USB_OHCI_HCD select PINCTRL help Select SH7720 if you have a SH3-DSP SH7720 CPU. config CPU_SUBTYPE_SH7721 bool "Support SH7721 processor" select CPU_SH3 select CPU_HAS_DSP select SYS_SUPPORTS_CMT select USB_ARCH_HAS_OHCI select USB_OHCI_SH if USB_OHCI_HCD help Select SH7721 if you have a SH3-DSP SH7721 CPU. # SH-4 Processor Support config CPU_SUBTYPE_SH7750 bool "Support SH7750 processor" select CPU_SH4 help Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. config CPU_SUBTYPE_SH7091 bool "Support SH7091 processor" select CPU_SH4 help Select SH7091 if you have an SH-4 based Sega device (such as the Dreamcast, Naomi, and Naomi 2). config CPU_SUBTYPE_SH7750R bool "Support SH7750R processor" select CPU_SH4 config CPU_SUBTYPE_SH7750S bool "Support SH7750S processor" select CPU_SH4 config CPU_SUBTYPE_SH7751 bool "Support SH7751 processor" select CPU_SH4 help Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, or if you have a HD6417751R CPU. config CPU_SUBTYPE_SH7751R bool "Support SH7751R processor" select CPU_SH4 config CPU_SUBTYPE_SH7760 bool "Support SH7760 processor" select CPU_SH4 config CPU_SUBTYPE_SH4_202 bool "Support SH4-202 processor" select CPU_SH4 # SH-4A Processor Support config CPU_SUBTYPE_SH7723 bool "Support SH7723 processor" select CPU_SH4A select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE select SYS_SUPPORTS_CMT select ARCH_WANT_OPTIONAL_GPIOLIB select PINCTRL help Select SH7723 if you have an SH-MobileR2 CPU. config CPU_SUBTYPE_SH7724 bool "Support SH7724 processor" select CPU_SH4A select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE select SYS_SUPPORTS_CMT select ARCH_WANT_OPTIONAL_GPIOLIB select PINCTRL help Select SH7724 if you have an SH-MobileR2R CPU. config CPU_SUBTYPE_SH7734 bool "Support SH7734 processor" select CPU_SH4A select CPU_SHX2 select ARCH_WANT_OPTIONAL_GPIOLIB select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI select PINCTRL help Select SH7734 if you have a SH4A SH7734 CPU. config CPU_SUBTYPE_SH7757 bool "Support SH7757 processor" select CPU_SH4A select CPU_SHX2 select ARCH_WANT_OPTIONAL_GPIOLIB select USB_ARCH_HAS_OHCI select USB_ARCH_HAS_EHCI select PINCTRL help Select SH7757 if you have a SH4A SH7757 CPU. config CPU_SUBTYPE_SH7763 bool "Support SH7763 processor" select CPU_SH4A select USB_ARCH_HAS_OHCI select USB_OHCI_SH if USB_OHCI_HCD help Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. config CPU_SUBTYPE_SH7770 bool "Support SH7770 processor" select CPU_SH4A config CPU_SUBTYPE_SH7780 bool "Support SH7780 processor" select CPU_SH4A config CPU_SUBTYPE_SH7785 bool "Support SH7785 processor" select CPU_SH4A select CPU_SHX2 select ARCH_SPARSEMEM_ENABLE select SYS_SUPPORTS_NUMA select ARCH_WANT_OPTIONAL_GPIOLIB select PINCTRL config CPU_SUBTYPE_SH7786 bool "Support SH7786 processor" select CPU_SH4A select CPU_SHX3 select CPU_HAS_PTEAEX select GENERIC_CLOCKEVENTS_BROADCAST if SMP select ARCH_WANT_OPTIONAL_GPIOLIB select USB_ARCH_HAS_OHCI select USB_OHCI_SH if USB_OHCI_HCD select USB_ARCH_HAS_EHCI select USB_EHCI_SH if USB_EHCI_HCD select PINCTRL config CPU_SUBTYPE_SHX3 bool "Support SH-X3 processor" select CPU_SH4A select CPU_SHX3 select GENERIC_CLOCKEVENTS_BROADCAST if SMP select ARCH_REQUIRE_GPIOLIB select PINCTRL # SH4AL-DSP Processor Support config CPU_SUBTYPE_SH7343 bool "Support SH7343 processor" select CPU_SH4AL_DSP select ARCH_SHMOBILE select SYS_SUPPORTS_CMT config CPU_SUBTYPE_SH7722 bool "Support SH7722 processor" select CPU_SH4AL_DSP select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_CMT select ARCH_WANT_OPTIONAL_GPIOLIB select PINCTRL config CPU_SUBTYPE_SH7366 bool "Support SH7366 processor" select CPU_SH4AL_DSP select CPU_SHX2 select ARCH_SHMOBILE select ARCH_SPARSEMEM_ENABLE select SYS_SUPPORTS_NUMA select SYS_SUPPORTS_CMT endchoice endif if SUPERH64 choice prompt "Processor sub-type selection" # SH-5 Processor Support config CPU_SUBTYPE_SH5_101 bool "Support SH5-101 processor" select CPU_SH5 config CPU_SUBTYPE_SH5_103 bool "Support SH5-103 processor" select CPU_SH5 endchoice endif source "arch/sh/mm/Kconfig" source "arch/sh/Kconfig.cpu" source "arch/sh/boards/Kconfig" menu "Timer and clock configuration" config SH_TIMER_TMU bool "TMU timer driver" depends on SYS_SUPPORTS_TMU default y help This enables the build of the TMU timer driver. config SH_TIMER_CMT bool "CMT timer driver" depends on SYS_SUPPORTS_CMT default y help This enables build of the CMT timer driver. config SH_TIMER_MTU2 bool "MTU2 timer driver" depends on SYS_SUPPORTS_MTU2 default y help This enables build of the MTU2 timer driver. config SH_PCLK_FREQ int "Peripheral clock frequency (in Hz)" depends on SH_CLK_CPG_LEGACY default "31250000" if CPU_SUBTYPE_SH7619 default "33333333" if CPU_SUBTYPE_SH7770 || \ CPU_SUBTYPE_SH7760 || \ CPU_SUBTYPE_SH7705 || \ CPU_SUBTYPE_SH7203 || \ CPU_SUBTYPE_SH7206 || \ CPU_SUBTYPE_SH7263 || \ CPU_SUBTYPE_MXG default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R default "66000000" if CPU_SUBTYPE_SH4_202 default "50000000" help This option is used to specify the peripheral clock frequency. This is necessary for determining the reference clock value on platforms lacking an RTC. config SH_CLK_CPG def_bool y config SH_CLK_CPG_LEGACY depends on SH_CLK_CPG def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \ !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \ !CPU_SUBTYPE_SH7269 endmenu menu "CPU Frequency scaling" source "drivers/cpufreq/Kconfig" endmenu source "arch/sh/drivers/Kconfig" endmenu menu "Kernel features" source kernel/Kconfig.hz config KEXEC bool "kexec system call (EXPERIMENTAL)" depends on SUPERH32 && MMU help kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. The name comes from the similarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. As of this writing the exact hardware interface is strongly in flux, so no good recommendation can be made. config CRASH_DUMP bool "kernel crash dumps (EXPERIMENTAL)" depends on SUPERH32 && BROKEN_ON_SMP help Generate crash dump after being started by kexec. This should be normally only set in special crash dump kernels which are loaded in the main kernel with kexec-tools into a specially reserved region and then later executed after a crash by kdump/kexec. The crash dump kernel must be compiled to a memory address not used by the main kernel using PHYSICAL_START. For more details see Documentation/kdump/kdump.txt config KEXEC_JUMP bool "kexec jump (EXPERIMENTAL)" depends on SUPERH32 && KEXEC && HIBERNATION help Jump between original kernel and kexeced kernel and invoke code via KEXEC config PHYSICAL_START hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) default MEMORY_START ---help--- This gives the physical address where the kernel is loaded and is ordinarily the same as MEMORY_START. Different values are primarily used in the case of kexec on panic where the fail safe kernel needs to run at a different address than the panic-ed kernel. config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" depends on PROC_FS help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via prctl, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say N. config CC_STACKPROTECTOR bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" depends on SUPERH32 help This option turns on the -fstack-protector GCC feature. This feature puts, at the beginning of functions, a canary value on the stack just before the return address, and validates the value just before actually returning. Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected and the attack is then neutralized via a kernel panic. This feature requires gcc version 4.2 or above. config SMP bool "Symmetric multi-processing support" depends on SYS_SUPPORTS_SMP ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. See also and the SMP-HOWTO available at . If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP default "4" if CPU_SUBTYPE_SHX3 default "2" help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. config HOTPLUG_CPU bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" depends on SMP help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. source "kernel/Kconfig.preempt" config GUSA def_bool y depends on !SMP && SUPERH32 help This enables support for gUSA (general UserSpace Atomicity). This is the default implementation for both UP and non-ll/sc CPUs, and is used by the libc, amongst others. For additional information, design information can be found in . This should only be disabled for special cases where alternate atomicity implementations exist. config GUSA_RB bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) help Enabling this option will allow the kernel to implement some atomic operations using a software implementation of load-locked/ store-conditional (LLSC). On machines which do not have hardware LLSC, this should be more efficient than the other alternative of disabling interrupts around the atomic sequence. config HW_PERF_EVENTS bool "Enable hardware performance counter support for perf events" depends on PERF_EVENTS && CPU_HAS_PMU default y help Enable hardware performance counter support for perf events. If disabled, perf events will use software events only. source "drivers/sh/Kconfig" endmenu menu "Boot options" config ZERO_PAGE_OFFSET hex default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \ SH_7751_SOLUTION_ENGINE default "0x00004000" if PAGE_SIZE_16KB || SH_SH03 default "0x00002000" if PAGE_SIZE_8KB default "0x00001000" help This sets the default offset of zero page. config BOOT_LINK_OFFSET hex default "0x00210000" if SH_SHMIN default "0x00400000" if SH_CAYMAN default "0x00810000" if SH_7780_SOLUTION_ENGINE default "0x009e0000" if SH_TITAN default "0x01800000" if SH_SDK7780 default "0x02000000" if SH_EDOSK7760 default "0x00800000" help This option allows you to set the link address offset of the zImage. This can be useful if you are on a board which has a small amount of memory. config ENTRY_OFFSET hex default "0x00001000" if PAGE_SIZE_4KB default "0x00002000" if PAGE_SIZE_8KB default "0x00004000" if PAGE_SIZE_16KB default "0x00010000" if PAGE_SIZE_64KB default "0x00000000" config ROMIMAGE_MMCIF bool "Include MMCIF loader in romImage (EXPERIMENTAL)" depends on CPU_SUBTYPE_SH7724 help Say Y here to include experimental MMCIF loading code in romImage. With this enabled it is possible to write the romImage kernel image to an MMC card and boot the kernel straight from the reset vector. At reset the processor Mask ROM will load the first part of the romImage which in turn loads the rest the kernel image to RAM using the MMCIF hardware block. choice prompt "Kernel command line" optional default CMDLINE_OVERWRITE help Setting this option allows the kernel command line arguments to be set. config CMDLINE_OVERWRITE bool "Overwrite bootloader kernel arguments" help Given string will overwrite any arguments passed in by a bootloader. config CMDLINE_EXTEND bool "Extend bootloader kernel arguments" help Given string will be concatenated with arguments passed in by a bootloader. endchoice config CMDLINE string "Kernel command line arguments string" depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND default "console=ttySC1,115200" endmenu menu "Bus options" config SUPERHYWAY tristate "SuperHyway Bus support" depends on CPU_SUBTYPE_SH4_202 config MAPLE bool "Maple Bus support" depends on SH_DREAMCAST help The Maple Bus is SEGA's serial communication bus for peripherals on the Dreamcast. Without this bus support you won't be able to get your Dreamcast keyboard etc to work, so most users probably want to say 'Y' here, unless you are only using the Dreamcast with a serial line terminal or a remote network connection. config PCI bool "PCI support" depends on SYS_SUPPORTS_PCI select PCI_DOMAINS select GENERIC_PCI_IOMAP select NO_GENERIC_PCI_IOPORT_MAP help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. If you have PCI, say Y, otherwise N. config PCI_DOMAINS bool source "drivers/pci/pcie/Kconfig" source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu menu "Power management options (EXPERIMENTAL)" source "kernel/power/Kconfig" source "drivers/cpuidle/Kconfig" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/sh/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" menu "Board support" config SOLUTION_ENGINE bool config SH_ALPHA_BOARD bool config SH_SOLUTION_ENGINE bool "SolutionEngine" select SOLUTION_ENGINE select CPU_HAS_IPR_IRQ depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \ CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \ CPU_SUBTYPE_SH7750R help Select SolutionEngine if configuring for a Hitachi SH7705, SH7709, SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board. config SH_7206_SOLUTION_ENGINE bool "SolutionEngine7206" select SOLUTION_ENGINE depends on CPU_SUBTYPE_SH7206 help Select 7206 SolutionEngine if configuring for a Hitachi SH7206 evaluation board. config SH_7619_SOLUTION_ENGINE bool "SolutionEngine7619" select SOLUTION_ENGINE depends on CPU_SUBTYPE_SH7619 help Select 7619 SolutionEngine if configuring for a Hitachi SH7619 evaluation board. config SH_7721_SOLUTION_ENGINE bool "SolutionEngine7721" select SOLUTION_ENGINE depends on CPU_SUBTYPE_SH7721 help Select 7721 SolutionEngine if configuring for a Hitachi SH7721 evaluation board. config SH_7722_SOLUTION_ENGINE bool "SolutionEngine7722" select SOLUTION_ENGINE select GENERIC_IRQ_CHIP select IRQ_DOMAIN depends on CPU_SUBTYPE_SH7722 help Select 7722 SolutionEngine if configuring for a Hitachi SH772 evaluation board. config SH_7724_SOLUTION_ENGINE bool "SolutionEngine7724" select SOLUTION_ENGINE depends on CPU_SUBTYPE_SH7724 select ARCH_REQUIRE_GPIOLIB select SND_SOC_AK4642 if SND_SIMPLE_CARD select REGULATOR_FIXED_VOLTAGE if REGULATOR help Select 7724 SolutionEngine if configuring for a Hitachi SH7724 evaluation board. config SH_7751_SOLUTION_ENGINE bool "SolutionEngine7751" select SOLUTION_ENGINE select CPU_HAS_IPR_IRQ depends on CPU_SUBTYPE_SH7751 help Select 7751 SolutionEngine if configuring for a Hitachi SH7751 evaluation board. config SH_7780_SOLUTION_ENGINE bool "SolutionEngine7780" select SOLUTION_ENGINE select SYS_SUPPORTS_PCI depends on CPU_SUBTYPE_SH7780 help Select 7780 SolutionEngine if configuring for a Renesas SH7780 evaluation board. config SH_7343_SOLUTION_ENGINE bool "SolutionEngine7343" select SOLUTION_ENGINE select GENERIC_IRQ_CHIP select IRQ_DOMAIN depends on CPU_SUBTYPE_SH7343 help Select 7343 SolutionEngine if configuring for a Hitachi SH7343 (SH-Mobile 3AS) evaluation board. config SH_HP6XX bool "HP6XX" select SYS_SUPPORTS_APM_EMULATION select HD6446X_SERIES depends on CPU_SUBTYPE_SH7709 help Select HP6XX if configuring for a HP jornada HP6xx. More information (hardware only) at . config SH_DREAMCAST bool "Dreamcast" select SYS_SUPPORTS_PCI depends on CPU_SUBTYPE_SH7091 help Select Dreamcast if configuring for a SEGA Dreamcast. More information at config SH_SH03 bool "Interface CTP/PCI-SH03" depends on CPU_SUBTYPE_SH7751 select CPU_HAS_IPR_IRQ select SYS_SUPPORTS_PCI help CTP/PCI-SH03 is a CPU module computer that is produced by Interface Corporation. More information at config SH_SECUREEDGE5410 bool "SecureEdge5410" depends on CPU_SUBTYPE_SH7751R select CPU_HAS_IPR_IRQ select SYS_SUPPORTS_PCI help Select SecureEdge5410 if configuring for a SnapGear SH board. This includes both the OEM SecureEdge products as well as the SME product line. config SH_RTS7751R2D bool "RTS7751R2D" depends on CPU_SUBTYPE_SH7751R select SYS_SUPPORTS_PCI select IO_TRAPPED if MMU help Select RTS7751R2D if configuring for a Renesas Technology Sales SH-Graphics board. config SH_RSK bool "Renesas Starter Kit" depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203 || \ CPU_SUBTYPE_SH7264 || CPU_SUBTYPE_SH7269 select REGULATOR_FIXED_VOLTAGE if REGULATOR help Select this option if configuring for any of the RSK+ MCU evaluation platforms. config SH_SDK7780 bool "SDK7780R3" depends on CPU_SUBTYPE_SH7780 select SYS_SUPPORTS_PCI help Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3 evaluation board. config SH_SDK7786 bool "SDK7786" depends on CPU_SUBTYPE_SH7786 select SYS_SUPPORTS_PCI select NO_IOPORT if !PCI select ARCH_WANT_OPTIONAL_GPIOLIB select HAVE_SRAM_POOL select REGULATOR_FIXED_VOLTAGE if REGULATOR help Select SDK7786 if configuring for a Renesas Technology Europe SH7786-65nm board. config SH_HIGHLANDER bool "Highlander" depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 select SYS_SUPPORTS_PCI select IO_TRAPPED if MMU config SH_SH7757LCR bool "SH7757LCR" depends on CPU_SUBTYPE_SH7757 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR config SH_SH7785LCR bool "SH7785LCR" depends on CPU_SUBTYPE_SH7785 select SYS_SUPPORTS_PCI config SH_SH7785LCR_29BIT_PHYSMAPS bool "SH7785LCR 29bit physmaps" depends on SH_SH7785LCR && 29BIT default y help This board has 2 physical memory maps. It can be changed with DIP switch(S2-5). If you set the DIP switch for S2-5 = ON, you can access all on-board device in 29bit address mode. config SH_SH7785LCR_PT bool "SH7785LCR prototype board on 32-bit MMU mode" depends on SH_SH7785LCR && 32BIT default n help If you use prototype board, this option is enabled. config SH_URQUELL bool "Urquell" depends on CPU_SUBTYPE_SH7786 select ARCH_REQUIRE_GPIOLIB select SYS_SUPPORTS_PCI select NO_IOPORT if !PCI config SH_MIGOR bool "Migo-R" depends on CPU_SUBTYPE_SH7722 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR help Select Migo-R if configuring for the SH7722 Migo-R platform by Renesas System Solutions Asia Pte. Ltd. config SH_AP325RXA bool "AP-325RXA" depends on CPU_SUBTYPE_SH7723 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR help Renesas "AP-325RXA" support. Compatible with ALGO SYSTEM CO.,LTD. "AP-320A" config SH_KFR2R09 bool "KFR2R09" depends on CPU_SUBTYPE_SH7724 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR help "Kit For R2R for 2009" support. config SH_ECOVEC bool "EcoVec" depends on CPU_SUBTYPE_SH7724 select ARCH_REQUIRE_GPIOLIB select SND_SOC_DA7210 if SND_SIMPLE_CARD select REGULATOR_FIXED_VOLTAGE if REGULATOR help Renesas "R0P7724LC0011/21RL (EcoVec)" support. config SH_SH7763RDP bool "SH7763RDP" depends on CPU_SUBTYPE_SH7763 help Select SH7763RDP if configuring for a Renesas SH7763 evaluation board. config SH_ESPT bool "ESPT" depends on CPU_SUBTYPE_SH7763 help Select ESPT if configuring for a Renesas SH7763 with gigabit ether evaluation board. config SH_EDOSK7705 bool "EDOSK7705" depends on CPU_SUBTYPE_SH7705 config SH_EDOSK7760 bool "EDOSK7760" depends on CPU_SUBTYPE_SH7760 help Select if configuring for a Renesas EDOSK7760 evaluation board. config SH_SH4202_MICRODEV bool "SH4-202 MicroDev" depends on CPU_SUBTYPE_SH4_202 help Select SH4-202 MicroDev if configuring for a SuperH MicroDev board with an SH4-202 CPU. config SH_LANDISK bool "LANDISK" depends on CPU_SUBTYPE_SH7751R select SYS_SUPPORTS_PCI help I-O DATA DEVICE, INC. "LANDISK Series" support. config SH_TITAN bool "TITAN" depends on CPU_SUBTYPE_SH7751R select CPU_HAS_IPR_IRQ select SYS_SUPPORTS_PCI help Select Titan if you are configuring for a Nimble Microsystems NetEngine NP51R. config SH_SHMIN bool "SHMIN" depends on CPU_SUBTYPE_SH7706 select CPU_HAS_IPR_IRQ help Select SHMIN if configuring for the SHMIN board. config SH_LBOX_RE2 bool "L-BOX RE2" depends on CPU_SUBTYPE_SH7751R select SYS_SUPPORTS_PCI help Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2. config SH_X3PROTO bool "SH-X3 Prototype board" depends on CPU_SUBTYPE_SHX3 select NO_IOPORT if !PCI select IRQ_DOMAIN config SH_MAGIC_PANEL_R2 bool "Magic Panel R2" depends on CPU_SUBTYPE_SH7720 select ARCH_REQUIRE_GPIOLIB select REGULATOR_FIXED_VOLTAGE if REGULATOR help Select Magic Panel R2 if configuring for Magic Panel R2. config SH_CAYMAN bool "Hitachi Cayman" depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103 select SYS_SUPPORTS_PCI config SH_POLARIS bool "SMSC Polaris" select CPU_HAS_IPR_IRQ select REGULATOR_FIXED_VOLTAGE if REGULATOR depends on CPU_SUBTYPE_SH7709 help Select if configuring for an SMSC Polaris development board config SH_SH2007 bool "SH-2007 board" select NO_IOPORT select REGULATOR_FIXED_VOLTAGE if REGULATOR depends on CPU_SUBTYPE_SH7780 help SH-2007 is a single-board computer based around SH7780 chip intended for embedded applications. It has an Ethernet interface (SMC9118), direct connected Compact Flash socket, two serial ports and PC-104 bus. More information at . config SH_APSH4A3A bool "AP-SH4A-3A" select SH_ALPHA_BOARD select REGULATOR_FIXED_VOLTAGE if REGULATOR depends on CPU_SUBTYPE_SH7785 help Select AP-SH4A-3A if configuring for an ALPHAPROJECT AP-SH4A-3A. config SH_APSH4AD0A bool "AP-SH4AD-0A" select SH_ALPHA_BOARD select SYS_SUPPORTS_PCI select REGULATOR_FIXED_VOLTAGE if REGULATOR depends on CPU_SUBTYPE_SH7786 help Select AP-SH4AD-0A if configuring for an ALPHAPROJECT AP-SH4AD-0A. source "arch/sh/boards/mach-r2d/Kconfig" source "arch/sh/boards/mach-highlander/Kconfig" source "arch/sh/boards/mach-sdk7780/Kconfig" source "arch/sh/boards/mach-migor/Kconfig" source "arch/sh/boards/mach-rsk/Kconfig" if SH_MAGIC_PANEL_R2 menu "Magic Panel R2 options" config SH_MAGIC_PANEL_R2_VERSION int SH_MAGIC_PANEL_R2_VERSION default "3" help Set the version of the Magic Panel R2 endmenu endif endmenu if SH_HIGHLANDER choice prompt "Highlander options" default SH_R7780MP config SH_R7780RP bool "R7780RP-1 board support" depends on CPU_SUBTYPE_SH7780 config SH_R7780MP bool "R7780MP board support" depends on CPU_SUBTYPE_SH7780 help Selecting this option will enable support for the mass-production version of the R7780RP. If in doubt, say Y. config SH_R7785RP bool "R7785RP board support" depends on CPU_SUBTYPE_SH7785 select ARCH_REQUIRE_GPIOLIB endchoice endif if SH_MIGOR choice prompt "Migo-R LCD Panel Board Selection" default SH_MIGOR_QVGA config SH_MIGOR_QVGA bool "QVGA (320x240)" config SH_MIGOR_RTA_WVGA bool "RTA WVGA (800x480)" endchoice endif if SH_RTS7751R2D menu "RTS7751R2D Board Revision" config RTS7751R2D_PLUS bool "R2D-PLUS" help Selecting this option will configure the kernel for R2D-PLUS. R2D-PLUS is the smaller of the two R2D board versions, equipped with a single PCI slot. config RTS7751R2D_1 bool "R2D-1" help Selecting this option will configure the kernel for R2D-1. R2D-1 is the larger of the two R2D board versions, equipped with two PCI slots. endmenu endif if SH_RSK choice prompt "RSK+ options" default SH_RSK7203 config SH_RSK7201 bool "RSK7201" depends on CPU_SUBTYPE_SH7201 config SH_RSK7203 bool "RSK7203" select ARCH_REQUIRE_GPIOLIB depends on CPU_SUBTYPE_SH7203 config SH_RSK7264 bool "RSK2+SH7264" select ARCH_REQUIRE_GPIOLIB depends on CPU_SUBTYPE_SH7264 config SH_RSK7269 bool "RSK2+SH7269" select ARCH_REQUIRE_GPIOLIB depends on CPU_SUBTYPE_SH7269 endchoice endif if SH_SDK7780 choice prompt "SDK7780 options" default SH_SDK7780_BASE config SH_SDK7780_BASE bool "SDK7780 with base-board support" depends on CPU_SUBTYPE_SH7780 help Selecting this option will enable support for the expansion baseboard devices. If in doubt, say Y. endchoice endif menu "Companion Chips" config HD6446X_SERIES bool choice prompt "HD6446x options" depends on HD6446X_SERIES default HD64461 config HD64461 bool "Hitachi HD64461 companion chip support" ---help--- The Hitachi HD64461 provides an interface for the SH7709 CPU, supporting a LCD controller, CRT color controller, IrDA up to 4 Mbps, and a PCMCIA controller supporting 2 slots. More information is available at . Say Y if you want support for the HD64461. Otherwise, say N. endchoice # These will also be split into the Kconfig's below config HD64461_IRQ int "HD64461 IRQ" depends on HD64461 default "36" help The default setting of the HD64461 IRQ is 36. Do not change this unless you know what you are doing. config HD64461_ENABLER bool "HD64461 PCMCIA enabler" depends on HD64461 help Say Y here if you want to enable PCMCIA support via the HD64461 companion chip. Otherwise, say N. endmenu source "arch/sh/drivers/dma/Kconfig" source "arch/sh/cchips/Kconfig" menu "Additional SuperH Device Drivers" config HEARTBEAT bool "Heartbeat LED" help Use the power-on LED on your machine as a load meter. The exact behavior is platform-dependent, but normally the flash frequency is a hyperbolic function of the 5-minute load average. config PUSH_SWITCH tristate "Push switch support" help This enables support for the push switch framework, a simple framework that allows for sysfs driven switch status reporting. endmenu menu "DMA support" config SH_DMA bool "SuperH on-chip DMA controller (DMAC) support" depends on CPU_SH3 || CPU_SH4 default n config SH_DMA_IRQ_MULTI bool depends on SH_DMA default y if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7751 || \ CPU_SUBTYPE_SH7750S || CPU_SUBTYPE_SH7750R || \ CPU_SUBTYPE_SH7751R || CPU_SUBTYPE_SH7091 || \ CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7764 || \ CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \ CPU_SUBTYPE_SH7760 config SH_DMA_API depends on SH_DMA bool "SuperH DMA API support" default n help SH_DMA_API always enabled DMA API of used SuperH. If you want to use DMA ENGINE, you must not enable this. Please enable DMA_ENGINE and SH_DMAE. config NR_ONCHIP_DMA_CHANNELS int depends on SH_DMA default "4" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7751 || \ CPU_SUBTYPE_SH7750S || CPU_SUBTYPE_SH7091 default "8" if CPU_SUBTYPE_SH7750R || CPU_SUBTYPE_SH7751R || \ CPU_SUBTYPE_SH7760 default "12" if CPU_SUBTYPE_SH7723 || CPU_SUBTYPE_SH7780 || \ CPU_SUBTYPE_SH7785 || CPU_SUBTYPE_SH7724 default "6" help This allows you to specify the number of channels that the on-chip DMAC supports. This will be 4 for SH7750/SH7751/Sh7750S/SH7091 and 8 for the SH7750R/SH7751R/SH7760, 12 for the SH7723/SH7780/SH7785/SH7724, default is 6. config SH_DMABRG bool "SH7760 DMABRG support" depends on CPU_SUBTYPE_SH7760 help The DMABRG does data transfers from main memory to Audio/USB units of the SH7760. Say Y if you want to use Audio/USB DMA on your SH7760 board. config PVR2_DMA tristate "PowerVR 2 DMAC support" depends on SH_DREAMCAST && SH_DMA help Selecting this will enable support for the PVR2 DMA controller. As this chains off of the on-chip DMAC, that must also be enabled by default. This is primarily used by the pvr2fb framebuffer driver for certain optimizations, but is not necessary for functionality. If in doubt, say N. config G2_DMA tristate "G2 Bus DMA support" depends on SH_DREAMCAST select SH_DMA_API help This enables support for the DMA controller for the Dreamcast's G2 bus. Drivers that want this will generally enable this on their own. If in doubt, say N. endmenu menu "Memory management options" config QUICKLIST def_bool y config MMU bool "Support for memory management hardware" depends on !CPU_SH2 default y help Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to boot on these systems, this option must not be set. On other systems (such as the SH-3 and 4) where an MMU exists, turning this off will boot the kernel on these machines with the MMU implicitly switched off. config PAGE_OFFSET hex default "0x80000000" if MMU && SUPERH32 default "0x20000000" if MMU && SUPERH64 default "0x00000000" config FORCE_MAX_ZONEORDER int "Maximum zone order" range 9 64 if PAGE_SIZE_16KB default "9" if PAGE_SIZE_16KB range 7 64 if PAGE_SIZE_64KB default "7" if PAGE_SIZE_64KB range 11 64 default "14" if !MMU default "11" help The kernel memory allocator divides physically contiguous memory blocks into "zones", where each zone is a power of two number of pages. This option selects the largest power of two that the kernel keeps in the memory allocator. If you need to allocate very large blocks of physically contiguous memory, then you may need to increase this value. This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. The page size is not necessarily 4KB. Keep this in mind when choosing a value for this option. config MEMORY_START hex "Physical memory start address" default "0x08000000" ---help--- Computers built with Hitachi SuperH processors always map the ROM starting at address zero. But the processor does not specify the range that RAM takes. The physical memory (RAM) start address will be automatically set to 08000000. Other platforms, such as the Solution Engine boards typically map RAM at 0C000000. Tweak this only when porting to a new machine which does not already have a defconfig. Changing it from the known correct value on any of the known systems will only lead to disaster. config MEMORY_SIZE hex "Physical memory size" default "0x04000000" help This sets the default memory size assumed by your SH kernel. It can be overridden as normal by the 'mem=' argument on the kernel command line. If unsure, consult your board specifications or just leave it as 0x04000000 which was the default value before this became configurable. # Physical addressing modes config 29BIT def_bool !32BIT depends on SUPERH32 select UNCACHED_MAPPING config 32BIT bool default y if CPU_SH5 || !MMU config PMB bool "Support 32-bit physical addressing through PMB" depends on MMU && CPU_SH4A && !CPU_SH4AL_DSP select 32BIT select UNCACHED_MAPPING help If you say Y here, physical addressing will be extended to 32-bits through the SH-4A PMB. If this is not set, legacy 29-bit physical addressing will be used. config X2TLB def_bool y depends on (CPU_SHX2 || CPU_SHX3) && MMU config VSYSCALL bool "Support vsyscall page" depends on MMU && (CPU_SH3 || CPU_SH4) default y help This will enable support for the kernel mapping a vDSO page in process space, and subsequently handing down the entry point to the libc through the ELF auxiliary vector. From the kernel side this is used for the signal trampoline. For systems with an MMU that can afford to give up a page, (the default value) say Y. config NUMA bool "Non Uniform Memory Access (NUMA) Support" depends on MMU && SYS_SUPPORTS_NUMA select ARCH_WANT_NUMA_VARIABLE_LOCALITY default n help Some SH systems have many various memories scattered around the address space, each with varying latencies. This enables support for these blocks by binding them to nodes and allowing memory policies to be used for prioritizing and controlling allocation behaviour. config NODES_SHIFT int default "3" if CPU_SUBTYPE_SHX3 default "1" depends on NEED_MULTIPLE_NODES config ARCH_FLATMEM_ENABLE def_bool y depends on !NUMA config ARCH_SPARSEMEM_ENABLE def_bool y select SPARSEMEM_STATIC config ARCH_SPARSEMEM_DEFAULT def_bool y config ARCH_SELECT_MEMORY_MODEL def_bool y config ARCH_ENABLE_MEMORY_HOTPLUG def_bool y depends on SPARSEMEM && MMU config ARCH_ENABLE_MEMORY_HOTREMOVE def_bool y depends on SPARSEMEM && MMU config ARCH_MEMORY_PROBE def_bool y depends on MEMORY_HOTPLUG config IOREMAP_FIXED def_bool y depends on X2TLB || SUPERH64 config UNCACHED_MAPPING bool config HAVE_SRAM_POOL bool select GENERIC_ALLOCATOR choice prompt "Kernel page size" default PAGE_SIZE_4KB config PAGE_SIZE_4KB bool "4kB" help This is the default page size used by all SuperH CPUs. config PAGE_SIZE_8KB bool "8kB" depends on !MMU || X2TLB help This enables 8kB pages as supported by SH-X2 and later MMUs. config PAGE_SIZE_16KB bool "16kB" depends on !MMU help This enables 16kB pages on MMU-less SH systems. config PAGE_SIZE_64KB bool "64kB" depends on !MMU || CPU_SH4 || CPU_SH5 help This enables support for 64kB pages, possible on all SH-4 CPUs and later. endchoice choice prompt "HugeTLB page size" depends on HUGETLB_PAGE default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB default HUGETLB_PAGE_SIZE_64K config HUGETLB_PAGE_SIZE_64K bool "64kB" depends on !PAGE_SIZE_64KB config HUGETLB_PAGE_SIZE_256K bool "256kB" depends on X2TLB config HUGETLB_PAGE_SIZE_1MB bool "1MB" config HUGETLB_PAGE_SIZE_4MB bool "4MB" depends on X2TLB config HUGETLB_PAGE_SIZE_64MB bool "64MB" depends on X2TLB config HUGETLB_PAGE_SIZE_512MB bool "512MB" depends on CPU_SH5 endchoice source "mm/Kconfig" config SCHED_MC bool "Multi-core scheduler support" depends on SMP default y help Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. endmenu menu "Cache configuration" config SH7705_CACHE_32KB bool "Enable 32KB cache size for SH7705" depends on CPU_SUBTYPE_SH7705 default y choice prompt "Cache mode" default CACHE_WRITEBACK if CPU_SH2A || CPU_SH3 || CPU_SH4 || CPU_SH5 default CACHE_WRITETHROUGH if (CPU_SH2 && !CPU_SH2A) config CACHE_WRITEBACK bool "Write-back" config CACHE_WRITETHROUGH bool "Write-through" help Selecting this option will configure the caches in write-through mode, as opposed to the default write-back configuration. Since there's sill some aliasing issues on SH-4, this option will unfortunately still require the majority of flushing functions to be implemented to deal with aliasing. If unsure, say N. config CACHE_OFF bool "Off" endchoice endmenu config 64BIT bool "64-bit kernel" if ARCH = "sparc" default ARCH = "sparc64" help SPARC is a family of RISC microprocessors designed and marketed by Sun Microsystems, incorporated. They are very widely found in Sun workstations and clones. Say yes to build a 64-bit kernel - formerly known as sparc64 Say no to build a 32-bit kernel - formerly known as sparc config SPARC bool default y select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI select OF select OF_PROMTREE select HAVE_IDE select HAVE_OPROFILE select HAVE_ARCH_KGDB if !SMP || SPARC64 select HAVE_ARCH_TRACEHOOK select SYSCTL_EXCEPTION_TRACE select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select RTC_CLASS select RTC_DRV_M48T59 select HAVE_DMA_ATTRS select HAVE_DMA_API_DEBUG select HAVE_ARCH_JUMP_LABEL select GENERIC_IRQ_SHOW select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select HAVE_BPF_JIT select HAVE_DEBUG_BUGVERBOSE select GENERIC_SMP_IDLE_THREAD select GENERIC_CMOS_UPDATE select GENERIC_CLOCKEVENTS select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select MODULES_USE_ELF_RELA select ODD_RT_SIGACTION select OLD_SIGSUSPEND config SPARC32 def_bool !64BIT select GENERIC_ATOMIC64 select CLZ_TAB select HAVE_UID16 select OLD_SIGACTION config SPARC64 def_bool 64BIT select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_FP_TEST select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_KRETPROBES select HAVE_KPROBES select HAVE_RCU_TABLE_FREE if SMP select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select HAVE_ARCH_TRANSPARENT_HUGEPAGE select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_SYSCALL_TRACEPOINTS select HAVE_CONTEXT_TRACKING select HAVE_DEBUG_KMEMLEAK select RTC_DRV_CMOS select RTC_DRV_BQ4802 select RTC_DRV_SUN4V select RTC_DRV_STARFIRE select HAVE_PERF_EVENTS select PERF_USE_VMALLOC select IRQ_PREFLOW_FASTEOI select ARCH_HAVE_NMI_SAFE_CMPXCHG select HAVE_C_RECORDMCOUNT select NO_BOOTMEM config ARCH_DEFCONFIG string default "arch/sparc/configs/sparc32_defconfig" if SPARC32 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 config IOMMU_HELPER bool default y if SPARC64 config STACKTRACE_SUPPORT bool default y if SPARC64 config LOCKDEP_SUPPORT bool default y if SPARC64 config HAVE_LATENCYTOP_SUPPORT bool default y if SPARC64 config ARCH_HIBERNATION_POSSIBLE def_bool y if SPARC64 config AUDIT_ARCH bool default y config HAVE_SETUP_PER_CPU_AREA def_bool y if SPARC64 config NEED_PER_CPU_EMBED_FIRST_CHUNK def_bool y if SPARC64 config NEED_PER_CPU_PAGE_FIRST_CHUNK def_bool y if SPARC64 config MMU bool default y config HIGHMEM bool default y if SPARC32 config ZONE_DMA bool default y if SPARC32 config NEED_DMA_MAP_STATE def_bool y config NEED_SG_DMA_LENGTH def_bool y config GENERIC_ISA_DMA bool default y if SPARC32 config ARCH_SUPPORTS_DEBUG_PAGEALLOC def_bool y if SPARC64 source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also and the SMP-HOWTO available at . If you don't know what to do here, say N. config NR_CPUS int "Maximum number of CPUs" depends on SMP range 2 32 if SPARC32 range 2 1024 if SPARC64 default 32 if SPARC32 default 64 if SPARC64 source kernel/Kconfig.hz config RWSEM_GENERIC_SPINLOCK bool default y if SPARC32 config RWSEM_XCHGADD_ALGORITHM bool default y if SPARC64 config GENERIC_HWEIGHT bool default y config GENERIC_CALIBRATE_DELAY bool default y config ARCH_MAY_HAVE_PC_FDC bool default y config EMULATED_CMPXCHG bool default y if SPARC32 help Sparc32 does not have a CAS instruction like sparc64. cmpxchg() is emulated, and therefore it is not completely atomic. # Makefile helpers config SPARC32_SMP bool default y depends on SPARC32 && SMP config SPARC64_SMP bool default y depends on SPARC64 && SMP config EARLYFB bool "Support for early boot text console" default y depends on SPARC64 help Say Y here to enable a faster early framebuffer boot console. config SECCOMP bool "Enable seccomp to safely compute untrusted bytecode" depends on SPARC64 && PROC_FS default y help This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via /proc//seccomp, it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. Only embedded should say N here. config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SPARC64 && SMP help Say Y here to experiment with turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. if SPARC64 source "drivers/cpufreq/Kconfig" endif config US3_MC tristate "UltraSPARC-III Memory Controller driver" depends on SPARC64 default y help This adds a driver for the UltraSPARC-III memory controller. Loading this driver allows exact mnemonic strings to be printed in the event of a memory error, so that the faulty DIMM on the motherboard can be matched to the error. If in doubt, say Y, as this information can be very useful. # Global things across all Sun machines. config GENERIC_LOCKBREAK bool default y depends on SPARC64 && SMP && PREEMPT config NUMA bool "NUMA support" depends on SPARC64 && SMP config NODES_SHIFT int default "4" depends on NEED_MULTIPLE_NODES # Some NUMA nodes have memory ranges that span # other nodes. Even though a pfn is valid and # between a node's start and end pfns, it may not # reside on that node. See memmap_init_zone() # for details. config NODES_SPAN_OTHER_NODES def_bool y depends on NEED_MULTIPLE_NODES config ARCH_SELECT_MEMORY_MODEL def_bool y if SPARC64 config ARCH_SPARSEMEM_ENABLE def_bool y if SPARC64 select SPARSEMEM_VMEMMAP_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool y if SPARC64 source "mm/Kconfig" if SPARC64 source "kernel/power/Kconfig" endif config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on SPARC64 && SMP default y help SMT scheduler support improves the CPU scheduler's decision making when dealing with SPARC cpus at a cost of slightly increased overhead in some places. If unsure say N here. config SCHED_MC bool "Multi-core scheduler support" depends on SPARC64 && SMP default y help Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. source "kernel/Kconfig.preempt" config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on SPARC64 config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 root=/dev/sda1" help Say Y here if you want to be able to pass default arguments to the kernel. This will be overridden by the bootloader, if you use one (such as SILO). This is most useful if you want to boot a kernel from TFTP, and want default options to be available with having them passed on the command line. NOTE: This option WILL override the PROM bootargs setting! config SUN_PM bool default y if SPARC32 help Enable power management and CPU standby features on supported SPARC platforms. config SPARC_LED tristate "Sun4m LED driver" depends on SPARC32 help This driver toggles the front-panel LED on sun4m systems in a user-specifiable manner. Its state can be probed by reading /proc/led and its blinking mode can be changed via writes to /proc/led config SERIAL_CONSOLE bool depends on SPARC32 default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader (silo) about how to pass options to the kernel at boot time.) If you don't have a graphics card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. If unsure, say N. config SPARC_LEON bool "Sparc Leon processor family" depends on SPARC32 select USB_EHCI_BIG_ENDIAN_MMIO select USB_EHCI_BIG_ENDIAN_DESC ---help--- If you say Y here if you are running on a SPARC-LEON processor. The LEON processor is a synthesizable VHDL model of the SPARC-v8 standard. LEON is part of the GRLIB collection of IP cores that are distributed under GPL. GRLIB can be downloaded from www.gaisler.com. You can download a sparc-linux cross-compilation toolchain at www.gaisler.com. if SPARC_LEON menu "U-Boot options" config UBOOT_LOAD_ADDR hex "uImage Load Address" default 0x40004000 ---help--- U-Boot kernel load address, the address in physical address space where u-boot will place the Linux kernel before booting it. This address is normally the base address of main memory + 0x4000. config UBOOT_FLASH_ADDR hex "uImage.o Load Address" default 0x00080000 ---help--- Optional setting only affecting the uImage.o ELF-image used to download the uImage file to the target using a ELF-loader other than U-Boot. It may for example be used to download an uImage to FLASH with the GRMON utility before even starting u-boot. config UBOOT_ENTRY_ADDR hex "uImage Entry Address" default 0xf0004000 ---help--- Do not change this unless you know what you're doing. This is hardcoded by the SPARC32 and LEON port. This is the virtual address u-boot jumps to when booting the Linux Kernel. endmenu endif endmenu menu "Bus options (PCI etc.)" config SBUS bool default y config SBUSCHAR bool default y config SUN_LDOMS bool "Sun Logical Domains support" depends on SPARC64 help Say Y here is you want to support virtual devices via Logical Domains. config PCI bool "Support for PCI and PS/2 keyboard/mouse" help Find out whether your system includes a PCI bus. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. If you say Y here, the kernel will include drivers and infrastructure code to support PCI bus devices. CONFIG_PCI is needed for all JavaStation's (including MrCoffee), CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. All of these platforms are extremely obscure, so say N if unsure. config PCI_DOMAINS def_bool PCI if SPARC64 config PCI_SYSCALL def_bool PCI config PCIC_PCI bool depends on PCI && SPARC32 && !SPARC_LEON default y config LEON_PCI bool depends on PCI && SPARC_LEON default y config SPARC_GRPCI1 bool "GRPCI Host Bridge Support" depends on LEON_PCI default y help Say Y here to include the GRPCI Host Bridge Driver. The GRPCI PCI host controller is typically found in GRLIB SPARC32/LEON systems. The driver has one property (all_pci_errors) controlled from the bootloader that makes the GRPCI to generate interrupts on detected PCI Parity and System errors. config SPARC_GRPCI2 bool "GRPCI2 Host Bridge Support" depends on LEON_PCI default y help Say Y here to include the GRPCI2 Host Bridge Driver. source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" config SUN_OPENPROMFS tristate "Openprom tree appears in /proc/openprom" help If you say Y, the OpenPROM device tree will be available as a virtual file system, which you can mount to /proc/openprom by "mount -t openpromfs none /proc/openprom". To compile the /proc/openprom support as a module, choose M here: the module will be called openpromfs. Only choose N if you know in advance that you will not need to modify OpenPROM settings on the running system. # Makefile helpers config SPARC64_PCI bool default y depends on SPARC64 && PCI config SPARC64_PCI_MSI bool default y depends on SPARC64_PCI && PCI_MSI endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" config COMPAT bool depends on SPARC64 default y select COMPAT_BINFMT_ELF select HAVE_UID16 select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION config SYSVIPC_COMPAT bool depends on COMPAT && SYSVIPC default y config KEYS_COMPAT def_bool y if COMPAT && KEYS endmenu source "net/Kconfig" source "drivers/Kconfig" source "drivers/sbus/char/Kconfig" source "fs/Kconfig" source "arch/sparc/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. config TILE def_bool y select HAVE_DMA_ATTRS select HAVE_DMA_API_DEBUG select HAVE_KVM if !TILEGX select GENERIC_FIND_FIRST_BIT select SYSCTL_EXCEPTION_TRACE select CC_OPTIMIZE_FOR_SIZE select HAVE_DEBUG_KMEMLEAK select GENERIC_IRQ_PROBE select GENERIC_PENDING_IRQ if SMP select GENERIC_IRQ_SHOW select HAVE_DEBUG_BUGVERBOSE select VIRT_TO_BUS select SYS_HYPERVISOR select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CLOCKEVENTS select MODULES_USE_ELF_RELA select HAVE_ARCH_TRACEHOOK select HAVE_SYSCALL_TRACEPOINTS select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select HAVE_DEBUG_STACKOVERFLOW select ARCH_WANT_FRAME_POINTERS # FIXME: investigate whether we need/want these options. # select HAVE_IOREMAP_PROT # select HAVE_OPTPROBES # select HAVE_REGS_AND_STACK_ACCESS_API # select HAVE_HW_BREAKPOINT # select PERF_EVENTS # select HAVE_USER_RETURN_NOTIFIER # config NO_BOOTMEM # config ARCH_SUPPORTS_DEBUG_PAGEALLOC # config HUGETLB_PAGE_SIZE_VARIABLE config MMU def_bool y config GENERIC_CSUM def_bool y config HAVE_ARCH_ALLOC_REMAP def_bool y config HAVE_SETUP_PER_CPU_AREA def_bool y config NEED_PER_CPU_PAGE_FIRST_CHUNK def_bool y config SYS_SUPPORTS_HUGETLBFS def_bool y # Support for additional huge page sizes besides HPAGE_SIZE. # The software support is currently only present in the TILE-Gx # hypervisor. TILEPro in any case does not support page sizes # larger than the default HPAGE_SIZE. config HUGETLB_SUPER_PAGES depends on HUGETLB_PAGE && TILEGX def_bool y config GENERIC_TIME_VSYSCALL def_bool y # FIXME: tilegx can implement a more efficient rwsem. config RWSEM_GENERIC_SPINLOCK def_bool y # We only support gcc 4.4 and above, so this should work. config ARCH_SUPPORTS_OPTIMIZED_INLINING def_bool y config ARCH_PHYS_ADDR_T_64BIT def_bool y config ARCH_DMA_ADDR_T_64BIT def_bool y config NEED_DMA_MAP_STATE def_bool y config ARCH_HAS_DMA_SET_COHERENT_MASK bool config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y select STACKTRACE # We use discontigmem for now; at some point we may want to switch # to sparsemem (Tilera bug 7996). config ARCH_DISCONTIGMEM_ENABLE def_bool y config ARCH_DISCONTIGMEM_DEFAULT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y config STRICT_DEVMEM def_bool y # SMP is required for Tilera Linux. config SMP def_bool y config HVC_TILE depends on TTY select HVC_DRIVER select HVC_IRQ if TILEGX def_bool y config TILEGX bool "Building for TILE-Gx (64-bit) processor" select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_FUNCTION_GRAPH_TRACER select HAVE_DYNAMIC_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_KPROBES select HAVE_KRETPROBES select HAVE_ARCH_KGDB config TILEPRO def_bool !TILEGX config 64BIT def_bool TILEGX config ARCH_DEFCONFIG string default "arch/tile/configs/tilepro_defconfig" if !TILEGX default "arch/tile/configs/tilegx_defconfig" if TILEGX source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Tilera-specific configuration" config NR_CPUS int "Maximum number of tiles (2-255)" range 2 255 depends on SMP default "64" ---help--- Building with 64 is the recommended value, but a slightly smaller kernel memory footprint results from using a smaller value on chips with fewer tiles. if TILEGX choice prompt "Kernel page size" default PAGE_SIZE_64KB help This lets you select the page size of the kernel. For best performance on memory-intensive applications, a page size of 64KB is recommended. For workloads involving many small files, many connections, etc., it may be better to select 16KB, which uses memory more efficiently at some cost in TLB performance. Note that this option is TILE-Gx specific; currently TILEPro page size is set by rebuilding the hypervisor. config PAGE_SIZE_16KB bool "16KB" config PAGE_SIZE_64KB bool "64KB" endchoice endif source "kernel/Kconfig.hz" config KEXEC bool "kexec system call" ---help--- kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. It is used to implement the "mboot" Tilera booter. The name comes from the similarity to the exec system call. config COMPAT bool "Support 32-bit TILE-Gx binaries in addition to 64-bit" depends on TILEGX select COMPAT_BINFMT_ELF default y ---help--- If enabled, the kernel will support running TILE-Gx binaries that were built with the -m32 option. config SYSVIPC_COMPAT def_bool y depends on COMPAT && SYSVIPC # We do not currently support disabling HIGHMEM on tilepro. config HIGHMEM bool # "Support for more than 512 MB of RAM" default !TILEGX ---help--- Linux can use the full amount of RAM in the system by default. However, the address space of TILE processors is only 4 Gigabytes large. That means that, if you have a large amount of physical memory, not all of it can be "permanently mapped" by the kernel. The physical memory that's not permanently mapped is called "high memory". If you are compiling a kernel which will never run on a machine with more than 512 MB total physical RAM, answer "false" here. This will result in the kernel mapping all of physical memory into the top 1 GB of virtual memory space. If unsure, say "true". config ZONE_DMA def_bool y config IOMMU_HELPER bool config NEED_SG_DMA_LENGTH bool config SWIOTLB bool default TILEGX select IOMMU_HELPER select NEED_SG_DMA_LENGTH select ARCH_HAS_DMA_SET_COHERENT_MASK # We do not currently support disabling NUMA. config NUMA bool # "NUMA Memory Allocation and Scheduler Support" depends on SMP && DISCONTIGMEM default y ---help--- NUMA memory allocation is required for TILE processors unless booting with memory striping enabled in the hypervisor, or with only a single memory controller. It is recommended that this option always be enabled. config NODES_SHIFT int "Log base 2 of the max number of memory controllers" default 2 depends on NEED_MULTIPLE_NODES ---help--- By default, 2, i.e. 2^2 == 4 DDR2 controllers. In a system with more controllers, this value should be raised. choice depends on !TILEGX prompt "Memory split" if EXPERT default VMSPLIT_3G ---help--- Select the desired split between kernel and user memory. If the address range available to the kernel is less than the physical memory installed, the remaining memory will be available as "high memory". Accessing high memory is a little more costly than low memory, as it needs to be mapped into the kernel first. Note that increasing the kernel address space limits the range available to user programs, making the address space there tighter. Selecting anything other than the default 3G/1G split will also likely make your kernel incompatible with binary-only kernel modules. If you are not absolutely sure what you are doing, leave this option alone! config VMSPLIT_3_75G bool "3.75G/0.25G user/kernel split (no kernel networking)" config VMSPLIT_3_5G bool "3.5G/0.5G user/kernel split" config VMSPLIT_3G bool "3G/1G user/kernel split" config VMSPLIT_2_75G bool "2.75G/1.25G user/kernel split (for full 1G low memory)" config VMSPLIT_2_5G bool "2.5G/1.5G user/kernel split" config VMSPLIT_2_25G bool "2.25G/1.75G user/kernel split" config VMSPLIT_2G bool "2G/2G user/kernel split" config VMSPLIT_1G bool "1G/3G user/kernel split" endchoice config PAGE_OFFSET hex depends on !64BIT default 0xF0000000 if VMSPLIT_3_75G default 0xE0000000 if VMSPLIT_3_5G default 0xB0000000 if VMSPLIT_2_75G default 0xA0000000 if VMSPLIT_2_5G default 0x90000000 if VMSPLIT_2_25G default 0x80000000 if VMSPLIT_2G default 0x40000000 if VMSPLIT_1G default 0xC0000000 source "mm/Kconfig" source "kernel/Kconfig.preempt" config CMDLINE_BOOL bool "Built-in kernel command line" default n ---help--- Allow for specifying boot arguments to the kernel at build time. On some systems (e.g. embedded ones), it is necessary or convenient to provide some or all of the kernel boot arguments with the kernel itself (that is, to not rely on the boot loader to provide them.) To compile command line arguments into the kernel, set this option to 'Y', then fill in the the boot arguments in CONFIG_CMDLINE. Systems with fully functional boot loaders (e.g. mboot, or if booting over PCI) should leave this option set to 'N'. config CMDLINE string "Built-in kernel command string" depends on CMDLINE_BOOL default "" ---help--- Enter arguments here that should be compiled into the kernel image and used at boot time. If the boot loader provides a command line at boot time, it is appended to this string to form the full kernel command line, when the system boots. However, you can use the CONFIG_CMDLINE_OVERRIDE option to change this behavior. In most cases, the command line (whether built-in or provided by the boot loader) should specify the device for the root file system. config CMDLINE_OVERRIDE bool "Built-in command line overrides boot loader arguments" default n depends on CMDLINE_BOOL ---help--- Set this option to 'Y' to have the kernel ignore the boot loader command line, and use ONLY the built-in command line. This is used to work around broken boot loaders. This should be set to 'N' under normal conditions. config VMALLOC_RESERVE hex default 0x2000000 config HARDWALL bool "Hardwall support to allow access to user dynamic network" default y config KERNEL_PL int "Processor protection level for kernel" range 1 2 default 2 if TILEGX default 1 if !TILEGX ---help--- Since MDE 4.2, the Tilera hypervisor runs the kernel at PL2 by default. If running under an older hypervisor, or as a KVM guest, you must run at PL1. (The current hypervisor may also be recompiled with "make HV_PL=2" to allow it to run a kernel at PL1, but clients running at PL1 are not expected to be supported indefinitely.) If you're not sure, don't change the default. source "arch/tile/gxio/Kconfig" endmenu # Tilera-specific configuration menu "Bus options" config PCI bool "PCI support" default y select PCI_DOMAINS select GENERIC_PCI_IOMAP select TILE_GXIO_TRIO if TILEGX select PCI_MSI if TILEGX ---help--- Enable PCI root complex support, so PCIe endpoint devices can be attached to the Tile chip. Many, but not all, PCI devices are supported under Tilera's root complex driver. config PCI_DOMAINS bool config NO_IOMEM def_bool !PCI config NO_IOPORT def_bool !PCI config TILE_PCI_IO bool "PCI I/O space support" default n depends on PCI depends on TILEGX ---help--- Enable PCI I/O space support on TILEGx. Since the PCI I/O space is used by few modern PCIe endpoint devices, its support is disabled by default to save the TRIO PIO Region resource for other purposes. source "drivers/pci/Kconfig" source "drivers/pci/pcie/Kconfig" config TILE_USB tristate "Tilera USB host adapter support" default y depends on USB depends on TILEGX select TILE_GXIO_USB_HOST ---help--- Provides USB host adapter support for the built-in EHCI and OHCI interfaces on TILE-Gx chips. source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/tile/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" source "arch/tile/kvm/Kconfig" # Support direct access to TILE-Gx hardware from user space, via the # gxio library, or from kernel space, via kernel IORPC support. config TILE_GXIO bool depends on TILEGX # Support direct access to the common I/O DMA facility within the # TILE-Gx mPIPE and Trio hardware from kernel space. config TILE_GXIO_DMA bool select TILE_GXIO # Support direct access to the TILE-Gx mPIPE hardware from kernel space. config TILE_GXIO_MPIPE bool select TILE_GXIO select TILE_GXIO_DMA # Support direct access to the TILE-Gx TRIO hardware from kernel space. config TILE_GXIO_TRIO bool select TILE_GXIO select TILE_GXIO_DMA # Support direct access to the TILE-Gx USB hardware from kernel space. config TILE_GXIO_USB_HOST bool select TILE_GXIO # Support direct access to the TILE-Gx UART hardware from kernel space. config TILE_GXIO_UART bool select TILE_GXIO # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM tristate "Kernel-based Virtual Machine (KVM) support" depends on HAVE_KVM && MODULES select PREEMPT_NOTIFIERS select ANON_INODES ---help--- Support hosting paravirtualized guest machines. This module provides access to the hardware capabilities through a character device node named /dev/kvm. To compile this as a module, choose M here: the module will be called kvm. If unsure, say N. source drivers/vhost/Kconfig endif # VIRTUALIZATION config UNICORE32 def_bool y select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_MEMBLOCK select HAVE_GENERIC_DMA_COHERENT select HAVE_DMA_ATTRS select HAVE_KERNEL_GZIP select HAVE_KERNEL_BZIP2 select GENERIC_ATOMIC64 select HAVE_KERNEL_LZO select HAVE_KERNEL_LZMA select VIRT_TO_BUS select ARCH_HAVE_CUSTOM_GPIO_H select GENERIC_FIND_FIRST_BIT select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select ARCH_WANT_FRAME_POINTERS select GENERIC_IOMAP select MODULES_USE_ELF_REL help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip designs licensed by PKUnity Ltd. Please see web page at . config GENERIC_CSUM def_bool y config NO_IOPORT bool config STACKTRACE_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y config LOCKDEP_SUPPORT def_bool y config RWSEM_GENERIC_SPINLOCK def_bool y config RWSEM_XCHGADD_ALGORITHM bool config ARCH_HAS_ILOG2_U32 bool config ARCH_HAS_ILOG2_U64 bool config ARCH_HAS_CPUFREQ bool config GENERIC_HWEIGHT def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config ARCH_MAY_HAVE_PC_FDC bool config ZONE_DMA def_bool y config NEED_DMA_MAP_STATE def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "System Type" config MMU def_bool y config ARCH_FPGA bool config ARCH_PUV3 def_bool y select CPU_UCV2 select GENERIC_CLOCKEVENTS select HAVE_CLK select ARCH_REQUIRE_GPIOLIB select ARCH_HAS_CPUFREQ # CONFIGs for ARCH_PUV3 if ARCH_PUV3 choice prompt "Board Selection" default PUV3_DB0913 config PUV3_FPGA_DLX200 select ARCH_FPGA bool "FPGA board" config PUV3_DB0913 bool "DEBUG board (0913)" config PUV3_NB0916 bool "NetBook board (0916)" select PWM select PWM_PUV3 config PUV3_SMW0919 bool "Security Mini-Workstation board (0919)" endchoice config PUV3_PM def_bool y if !ARCH_FPGA endif source "arch/unicore32/mm/Kconfig" comment "Floating poing support" config UNICORE_FPU_F64 def_bool y if !ARCH_FPGA endmenu menu "Bus support" config PCI bool "PCI Support" help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" endmenu menu "Kernel Features" source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" source "mm/Kconfig" config LEDS def_bool y depends on GPIOLIB config ALIGNMENT_TRAP def_bool y help Unicore processors can not fetch/store information which is not naturally aligned on the bus, i.e., a 4 byte fetch must start at an address divisible by 4. On 32-bit Unicore processors, these non-aligned fetch/store instructions will be emulated in software if you say here, which has a severe performance impact. This is necessary for correct operation of some network protocols. With an IP-only configuration it is safe to say N, otherwise say Y. endmenu menu "Boot options" config CMDLINE string "Default kernel command string" default "" config CMDLINE_FORCE bool "Always use the default kernel command string" depends on CMDLINE != "" help Always use the default kernel command string, even if the boot loader passes other arguments to the kernel. This is useful if you cannot or don't want to change the command-line options your boot loader passes to the kernel. If unsure, say N. endmenu menu "Userspace binary formats" source "fs/Kconfig.binfmt" endmenu menu "Power management options" source "kernel/power/Kconfig" if ARCH_HAS_CPUFREQ source "drivers/cpufreq/Kconfig" endif config ARCH_SUSPEND_POSSIBLE def_bool y if !ARCH_FPGA config ARCH_HIBERNATION_POSSIBLE def_bool y if !ARCH_FPGA endmenu source "net/Kconfig" if ARCH_PUV3 config PUV3_GPIO bool depends on !ARCH_FPGA select GPIO_SYSFS default y if PUV3_NB0916 menu "PKUnity NetBook-0916 Features" config I2C_BATTERY_BQ27200 tristate "I2C Battery BQ27200 Support" select I2C_PUV3 select POWER_SUPPLY select BATTERY_BQ27x00 config I2C_EEPROM_AT24 tristate "I2C EEPROMs AT24 support" select I2C_PUV3 select EEPROM_AT24 config LCD_BACKLIGHT tristate "LCD Backlight support" select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_PWM endmenu endif endif source "drivers/Kconfig" source "fs/Kconfig" source "arch/unicore32/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" comment "Processor Type" # Select CPU types depending on the architecture selected. This selects # which CPUs we support in the kernel image, and the compiler instruction # optimiser behaviour. config CPU_UCV2 def_bool y comment "Processor Features" config CPU_ICACHE_DISABLE bool "Disable I-Cache (I-bit)" help Say Y here to disable the processor instruction cache. Unless you have a reason not to or are unsure, say N. config CPU_DCACHE_DISABLE bool "Disable D-Cache (D-bit)" help Say Y here to disable the processor data cache. Unless you have a reason not to or are unsure, say N. config CPU_DCACHE_WRITETHROUGH bool "Force write through D-cache" help Say Y here to use the data cache in writethrough mode. Unless you specifically require this or are unsure, say N. config CPU_DCACHE_LINE_DISABLE bool "Disable D-cache line ops" default y help Say Y here to disable the data cache line operations. config CPU_TLB_SINGLE_ENTRY_DISABLE bool "Disable TLB single entry ops" default y help Say Y here to disable the TLB single entry operations. config SWIOTLB def_bool y config IOMMU_HELPER def_bool SWIOTLB config NEED_SG_DMA_LENGTH def_bool SWIOTLB # Select 32 or 64 bit config 64BIT bool "64-bit kernel" if ARCH = "x86" default ARCH != "i386" ---help--- Say yes to build a 64-bit kernel - formerly known as x86_64 Say no to build a 32-bit kernel - formerly known as i386 config X86_32 def_bool y depends on !64BIT select CLKSRC_I8253 select HAVE_UID16 config X86_64 def_bool y depends on 64BIT select X86_DEV_DMA_OPS select ARCH_USE_CMPXCHG_LOCKREF ### Arch settings config X86 def_bool y select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_MIGHT_HAVE_PC_PARPORT select HAVE_AOUT if X86_32 select HAVE_UNSTABLE_SCHED_CLOCK select ARCH_SUPPORTS_NUMA_BALANCING select ARCH_SUPPORTS_INT128 if X86_64 select ARCH_WANTS_PROT_NUMA_PROT_NONE select HAVE_IDE select HAVE_OPROFILE select HAVE_PCSPKR_PLATFORM select HAVE_PERF_EVENTS select HAVE_IOREMAP_PROT select HAVE_KPROBES select HAVE_MEMBLOCK select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_WANT_FRAME_POINTERS select HAVE_DMA_ATTRS select HAVE_DMA_CONTIGUOUS if !SWIOTLB select HAVE_KRETPROBES select HAVE_OPTPROBES select HAVE_KPROBES_ON_FTRACE select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FENTRY if X86_64 select HAVE_C_RECORDMCOUNT select HAVE_DYNAMIC_FTRACE select HAVE_DYNAMIC_FTRACE_WITH_REGS select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_GRAPH_FP_TEST select HAVE_FUNCTION_TRACE_MCOUNT_TEST select HAVE_SYSCALL_TRACEPOINTS select SYSCTL_EXCEPTION_TRACE select HAVE_KVM select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK select HAVE_GENERIC_DMA_COHERENT if X86_32 select HAVE_EFFICIENT_UNALIGNED_ACCESS select USER_STACKTRACE_SUPPORT select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_DMA_API_DEBUG select HAVE_KERNEL_GZIP select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_LZMA select HAVE_KERNEL_XZ select HAVE_KERNEL_LZO select HAVE_KERNEL_LZ4 select HAVE_HW_BREAKPOINT select HAVE_MIXED_BREAKPOINTS_REGS select PERF_EVENTS select HAVE_PERF_EVENTS_NMI select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP select HAVE_DEBUG_KMEMLEAK select ANON_INODES select HAVE_ALIGNED_STRUCT_PAGE if SLUB select HAVE_CMPXCHG_LOCAL select HAVE_CMPXCHG_DOUBLE select HAVE_ARCH_KMEMCHECK select HAVE_USER_RETURN_NOTIFIER select ARCH_BINFMT_ELF_RANDOMIZE_PIE select HAVE_ARCH_JUMP_LABEL select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select SPARSE_IRQ select GENERIC_FIND_FIRST_BIT select GENERIC_IRQ_PROBE select GENERIC_PENDING_IRQ if SMP select GENERIC_IRQ_SHOW select GENERIC_CLOCKEVENTS_MIN_ADJUST select IRQ_FORCED_THREADING select HAVE_BPF_JIT if X86_64 select HAVE_ARCH_TRANSPARENT_HUGEPAGE select CLKEVT_I8253 select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_IOMAP select DCACHE_WORD_ACCESS select GENERIC_SMP_IDLE_THREAD select ARCH_WANT_IPC_PARSE_VERSION if X86_32 select HAVE_ARCH_SECCOMP_FILTER select BUILDTIME_EXTABLE_SORT select GENERIC_CMOS_UPDATE select HAVE_ARCH_SOFT_DIRTY select CLOCKSOURCE_WATCHDOG select GENERIC_CLOCKEVENTS select ARCH_CLOCKSOURCE_DATA if X86_64 select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) select GENERIC_TIME_VSYSCALL if X86_64 select KTIME_SCALAR if X86_32 select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER select HAVE_CONTEXT_TRACKING if X86_64 select HAVE_IRQ_TIME_ACCOUNTING select VIRT_TO_BUS select MODULES_USE_ELF_REL if X86_32 select MODULES_USE_ELF_RELA if X86_64 select CLONE_BACKWARDS if X86_32 select ARCH_USE_BUILTIN_BSWAP select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION select OLD_SIGACTION if X86_32 select COMPAT_OLD_SIGACTION if IA32_EMULATION select RTC_LIB select HAVE_DEBUG_STACKOVERFLOW select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64 config INSTRUCTION_DECODER def_bool y depends on KPROBES || PERF_EVENTS || UPROBES config OUTPUT_FORMAT string default "elf32-i386" if X86_32 default "elf64-x86-64" if X86_64 config ARCH_DEFCONFIG string default "arch/x86/configs/i386_defconfig" if X86_32 default "arch/x86/configs/x86_64_defconfig" if X86_64 config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y config HAVE_LATENCYTOP_SUPPORT def_bool y config MMU def_bool y config SBUS bool config NEED_DMA_MAP_STATE def_bool y depends on X86_64 || INTEL_IOMMU || DMA_API_DEBUG config NEED_SG_DMA_LENGTH def_bool y config GENERIC_ISA_DMA def_bool y depends on ISA_DMA_API config GENERIC_BUG def_bool y depends on BUG select GENERIC_BUG_RELATIVE_POINTERS if X86_64 config GENERIC_BUG_RELATIVE_POINTERS bool config GENERIC_HWEIGHT def_bool y config ARCH_MAY_HAVE_PC_FDC def_bool y depends on ISA_DMA_API config RWSEM_XCHGADD_ALGORITHM def_bool y config GENERIC_CALIBRATE_DELAY def_bool y config ARCH_HAS_CPU_RELAX def_bool y config ARCH_HAS_CACHE_LINE_SIZE def_bool y config ARCH_HAS_CPU_AUTOPROBE def_bool y config HAVE_SETUP_PER_CPU_AREA def_bool y config NEED_PER_CPU_EMBED_FIRST_CHUNK def_bool y config NEED_PER_CPU_PAGE_FIRST_CHUNK def_bool y config ARCH_HIBERNATION_POSSIBLE def_bool y config ARCH_SUSPEND_POSSIBLE def_bool y config ARCH_WANT_HUGE_PMD_SHARE def_bool y config ARCH_WANT_GENERAL_HUGETLB def_bool y config ZONE_DMA32 bool default X86_64 config AUDIT_ARCH bool default X86_64 config ARCH_SUPPORTS_OPTIMIZED_INLINING def_bool y config ARCH_SUPPORTS_DEBUG_PAGEALLOC def_bool y config HAVE_INTEL_TXT def_bool y depends on INTEL_IOMMU && ACPI config X86_32_SMP def_bool y depends on X86_32 && SMP config X86_64_SMP def_bool y depends on X86_64 && SMP config X86_HT def_bool y depends on SMP config X86_32_LAZY_GS def_bool y depends on X86_32 && !CC_STACKPROTECTOR config ARCH_HWEIGHT_CFLAGS string default "-fcall-saved-ecx -fcall-saved-edx" if X86_32 default "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" if X86_64 config ARCH_SUPPORTS_UPROBES def_bool y source "init/Kconfig" source "kernel/Kconfig.freezer" menu "Processor type and features" config ZONE_DMA bool "DMA memory allocation support" if EXPERT default y help DMA memory allocation support allows devices with less than 32-bit addressing to allocate within the first 16MB of address space. Disable if no such devices will be used. If unsure, say Y. config SMP bool "Symmetric multi-processing support" ---help--- This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here. Note that if you say Y here and choose architecture "586" or "Pentium" under "Processor family", the kernel will not work on 486 architectures. Similarly, multiprocessor kernels for the "PPro" architecture may not work on all Pentium based boards. People using multiprocessor machines who say Y here should also say Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Management" code will be disabled if you say Y here. See also , and the SMP-HOWTO available at . If you don't know what to do here, say N. config X86_X2APIC bool "Support x2apic" depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP ---help--- This enables x2apic support on CPUs that have this feature. This allows 32-bit apic IDs (so it can support very large systems), and accesses the local apic via MSRs not via mmio. If you don't know what to do here, say N. config X86_MPPARSE bool "Enable MPS table" if ACPI || SFI default y depends on X86_LOCAL_APIC ---help--- For old smp systems that do not have proper acpi support. Newer systems (esp with 64bit cpus) with acpi support, MADT and DSDT will override it config X86_BIGSMP bool "Support for big SMP systems with more than 8 CPUs" depends on X86_32 && SMP ---help--- This option is needed for the systems that have more than 8 CPUs config GOLDFISH def_bool y depends on X86_GOLDFISH if X86_32 config X86_EXTENDED_PLATFORM bool "Support for extended (non-PC) x86 platforms" default y ---help--- If you disable this option then the kernel will only support standard PC platforms. (which covers the vast majority of systems out there.) If you enable this option then you'll be able to select support for the following (non-PC) 32 bit x86 platforms: Goldfish (Android emulator) AMD Elan NUMAQ (IBM/Sequent) RDC R-321x SoC SGI 320/540 (Visual Workstation) STA2X11-based (e.g. Northville) Summit/EXA (IBM x440) Unisys ES7000 IA32 series Moorestown MID devices If you have one of these systems, or if you want to build a generic distribution kernel, say Y here - otherwise say N. endif if X86_64 config X86_EXTENDED_PLATFORM bool "Support for extended (non-PC) x86 platforms" default y ---help--- If you disable this option then the kernel will only support standard PC platforms. (which covers the vast majority of systems out there.) If you enable this option then you'll be able to select support for the following (non-PC) 64 bit x86 platforms: Numascale NumaChip ScaleMP vSMP SGI Ultraviolet If you have one of these systems, or if you want to build a generic distribution kernel, say Y here - otherwise say N. endif # This is an alphabetically sorted list of 64 bit extended platforms # Please maintain the alphabetic order if and when there are additions config X86_NUMACHIP bool "Numascale NumaChip" depends on X86_64 depends on X86_EXTENDED_PLATFORM depends on NUMA depends on SMP depends on X86_X2APIC depends on PCI_MMCONFIG ---help--- Adds support for Numascale NumaChip large-SMP systems. Needed to enable more than ~168 cores. If you don't have one of these, you should say N here. config X86_VSMP bool "ScaleMP vSMP" select HYPERVISOR_GUEST select PARAVIRT depends on X86_64 && PCI depends on X86_EXTENDED_PLATFORM depends on SMP ---help--- Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is supposed to run on these EM64T-based machines. Only choose this option if you have one of these machines. config X86_UV bool "SGI Ultraviolet" depends on X86_64 depends on X86_EXTENDED_PLATFORM depends on NUMA depends on X86_X2APIC ---help--- This option is needed in order to support SGI Ultraviolet systems. If you don't have one of these, you should say N here. # Following is an alphabetically sorted list of 32 bit extended platforms # Please maintain the alphabetic order if and when there are additions config X86_GOLDFISH bool "Goldfish (Virtual Platform)" depends on X86_32 depends on X86_EXTENDED_PLATFORM ---help--- Enable support for the Goldfish virtual platform used primarily for Android development. Unless you are building for the Android Goldfish emulator say N here. config X86_INTEL_CE bool "CE4100 TV platform" depends on PCI depends on PCI_GODIRECT depends on X86_32 depends on X86_EXTENDED_PLATFORM select X86_REBOOTFIXUPS select OF select OF_EARLY_FLATTREE select IRQ_DOMAIN ---help--- Select for the Intel CE media processor (CE4100) SOC. This option compiles in support for the CE4100 SOC for settop boxes and media devices. config X86_WANT_INTEL_MID bool "Intel MID platform support" depends on X86_32 depends on X86_EXTENDED_PLATFORM ---help--- Select to build a kernel capable of supporting Intel MID platform systems which do not have the PCI legacy interfaces (Moorestown, Medfield). If you are building for a PC class system say N here. if X86_WANT_INTEL_MID config X86_INTEL_MID bool config X86_MDFLD bool "Medfield MID platform" depends on PCI depends on PCI_GOANY depends on X86_IO_APIC select X86_INTEL_MID select SFI select DW_APB_TIMER select APB_TIMER select I2C select SPI select INTEL_SCU_IPC select X86_PLATFORM_DEVICES select MFD_INTEL_MSIC ---help--- Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin Internet Device(MID) platform. Unlike standard x86 PCs, Medfield does not have many legacy devices nor standard legacy replacement devices/features. e.g. Medfield does not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. endif config X86_INTEL_LPSS bool "Intel Low Power Subsystem Support" depends on ACPI select COMMON_CLK select PINCTRL ---help--- Select to build support for Intel Low Power Subsystem such as found on Intel Lynxpoint PCH. Selecting this option enables things like clock tree (common clock framework) and pincontrol which are needed by the LPSS peripheral drivers. config X86_RDC321X bool "RDC R-321x SoC" depends on X86_32 depends on X86_EXTENDED_PLATFORM select M486 select X86_REBOOTFIXUPS ---help--- This option is needed for RDC R-321x system-on-chip, also known as R-8610-(G). If you don't have one of these chips, you should say N here. config X86_32_NON_STANDARD bool "Support non-standard 32-bit SMP architectures" depends on X86_32 && SMP depends on X86_EXTENDED_PLATFORM ---help--- This option compiles in the NUMAQ, Summit, bigsmp, ES7000, STA2X11, default subarchitectures. It is intended for a generic binary kernel. If you select them all, kernel will probe it one by one and will fallback to default. # Alphabetically sorted list of Non standard 32 bit platforms config X86_NUMAQ bool "NUMAQ (IBM/Sequent)" depends on X86_32_NON_STANDARD depends on PCI select NUMA select X86_MPPARSE ---help--- This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) NUMA multiquad box. This changes the way that processors are bootstrapped, and uses Clustered Logical APIC addressing mode instead of Flat Logical. You will need a new lynxer.elf file to flash your firmware with - send email to . config X86_SUPPORTS_MEMORY_FAILURE def_bool y # MCE code calls memory_failure(): depends on X86_MCE # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags: depends on !X86_NUMAQ # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH: depends on X86_64 || !SPARSEMEM select ARCH_SUPPORTS_MEMORY_FAILURE config X86_VISWS bool "SGI 320/540 (Visual Workstation)" depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT depends on X86_32_NON_STANDARD ---help--- The SGI Visual Workstation series is an IA32-based workstation based on SGI systems chips with some legacy PC hardware attached. Say Y here to create a kernel to run on the SGI 320 or 540. A kernel compiled for the Visual Workstation will run on general PCs as well. See for details. config STA2X11 bool "STA2X11 Companion Chip Support" depends on X86_32_NON_STANDARD && PCI select X86_DEV_DMA_OPS select X86_DMA_REMAP select SWIOTLB select MFD_STA2X11 select ARCH_REQUIRE_GPIOLIB default n ---help--- This adds support for boards based on the STA2X11 IO-Hub, a.k.a. "ConneXt". The chip is used in place of the standard PC chipset, so all "standard" peripherals are missing. If this option is selected the kernel will still be able to boot on standard PC machines. config X86_SUMMIT bool "Summit/EXA (IBM x440)" depends on X86_32_NON_STANDARD ---help--- This option is needed for IBM systems that use the Summit/EXA chipset. In particular, it is needed for the x440. config X86_ES7000 bool "Unisys ES7000 IA32 series" depends on X86_32_NON_STANDARD && X86_BIGSMP ---help--- Support for Unisys ES7000 systems. Say 'Y' here if this kernel is supposed to run on an IA32-based Unisys ES7000 system. config X86_32_IRIS tristate "Eurobraille/Iris poweroff module" depends on X86_32 ---help--- The Iris machines from EuroBraille do not have APM or ACPI support to shut themselves down properly. A special I/O sequence is needed to do so, which is what this module does at kernel shutdown. This is only for Iris machines from EuroBraille. If unused, say N. config SCHED_OMIT_FRAME_POINTER def_bool y prompt "Single-depth WCHAN output" depends on X86 ---help--- Calculate simpler /proc//wchan values. If this option is disabled then wchan values will recurse back to the caller function. This provides more accurate wchan values, at the expense of slightly more scheduling overhead. If in doubt, say "Y". menuconfig HYPERVISOR_GUEST bool "Linux guest support" ---help--- Say Y here to enable options for running Linux under various hyper- visors. This option enables basic hypervisor detection and platform setup. If you say N, all options in this submenu will be skipped and disabled, and Linux guest support won't be built in. if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly over full virtualization. However, when run without a hypervisor the kernel is theoretically slower and slightly larger. config PARAVIRT_DEBUG bool "paravirt-ops debugging" depends on PARAVIRT && DEBUG_KERNEL ---help--- Enable to debug paravirt_ops internals. Specifically, BUG if a paravirt_op is missing when it is called. config PARAVIRT_SPINLOCKS bool "Paravirtualization layer for spinlocks" depends on PARAVIRT && SMP select UNINLINE_SPIN_UNLOCK ---help--- Paravirtualized spinlocks allow a pvops backend to replace the spinlock implementation with something virtualization-friendly (for example, block the virtual CPU rather than spinning). It has a minimal impact on native kernels and gives a nice performance benefit on paravirtualized KVM / Xen kernels. If you are unsure how to answer this question, answer Y. source "arch/x86/xen/Kconfig" config KVM_GUEST bool "KVM Guest support (including kvmclock)" depends on PARAVIRT select PARAVIRT_CLOCK default y ---help--- This option enables various optimizations for running under the KVM hypervisor. It includes a paravirtualized clock, so that instead of relying on a PIT (or probably other) emulation by the underlying device model, the host provides the guest with timing infrastructure such as time of day, and system time config KVM_DEBUG_FS bool "Enable debug information for KVM Guests in debugfs" depends on KVM_GUEST && DEBUG_FS default n ---help--- This option enables collection of various statistics for KVM guest. Statistics are displayed in debugfs filesystem. Enabling this option may incur significant overhead. source "arch/x86/lguest/Kconfig" config PARAVIRT_TIME_ACCOUNTING bool "Paravirtual steal time accounting" depends on PARAVIRT default n ---help--- Select this option to enable fine granularity task steal time accounting. Time spent executing other tasks in parallel with the current vCPU is discounted from the vCPU power. To account for that, there can be a small performance impact. If in doubt, say N here. config PARAVIRT_CLOCK bool endif #HYPERVISOR_GUEST config NO_BOOTMEM def_bool y config MEMTEST bool "Memtest" ---help--- This option adds a kernel parameter 'memtest', which allows memtest to be set. memtest=0, mean disabled; -- default memtest=1, mean do 1 test pattern; ... memtest=4, mean do 4 test patterns. If you are unsure how to answer this question, answer N. config X86_SUMMIT_NUMA def_bool y depends on X86_32 && NUMA && X86_32_NON_STANDARD config X86_CYCLONE_TIMER def_bool y depends on X86_SUMMIT source "arch/x86/Kconfig.cpu" config HPET_TIMER def_bool X86_64 prompt "HPET Timer Support" if X86_32 ---help--- Use the IA-PC HPET (High Precision Event Timer) to manage time in preference to the PIT and RTC, if a HPET is present. HPET is the next generation timer replacing legacy 8254s. The HPET provides a stable time base on SMP systems, unlike the TSC, but it is more expensive to access, as it is off-chip. You can find the HPET spec at . You can safely choose Y here. However, HPET will only be activated if the platform and the BIOS support this feature. Otherwise the 8254 will be used for timing services. Choose N to continue using the legacy 8254 timer. config HPET_EMULATE_RTC def_bool y depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y) config APB_TIMER def_bool y if X86_INTEL_MID prompt "Intel MID APB Timer Support" if X86_INTEL_MID select DW_APB_TIMER depends on X86_INTEL_MID && SFI help APB timer is the replacement for 8254, HPET on X86 MID platforms. The APBT provides a stable time base on SMP systems, unlike the TSC, but it is more expensive to access, as it is off-chip. APB timers are always running regardless of CPU C states, they are used as per CPU clockevent device when possible. # Mark as expert because too many people got it wrong. # The code disables itself when not needed. config DMI default y bool "Enable DMI scanning" if EXPERT ---help--- Enabled scanning of DMI to identify machine quirks. Say Y here unless you have verified that your setup is not affected by entries in the DMI blacklist. Required by PNP BIOS code. config GART_IOMMU bool "Old AMD GART IOMMU support" select SWIOTLB depends on X86_64 && PCI && AMD_NB ---help--- Provides a driver for older AMD Athlon64/Opteron/Turion/Sempron GART based hardware IOMMUs. The GART supports full DMA access for devices with 32-bit access limitations, on systems with more than 3 GB. This is usually needed for USB, sound, many IDE/SATA chipsets and some other devices. Newer systems typically have a modern AMD IOMMU, supported via the CONFIG_AMD_IOMMU=y config option. In normal configurations this driver is only active when needed: there's more than 3 GB of memory and the system contains a 32-bit limited device. If unsure, say Y. config CALGARY_IOMMU bool "IBM Calgary IOMMU support" select SWIOTLB depends on X86_64 && PCI ---help--- Support for hardware IOMMUs in IBM's xSeries x366 and x460 systems. Needed to run systems with more than 3GB of memory properly with 32-bit PCI devices that do not support DAC (Double Address Cycle). Calgary also supports bus level isolation, where all DMAs pass through the IOMMU. This prevents them from going anywhere except their intended destination. This catches hard-to-find kernel bugs and mis-behaving drivers and devices that do not use the DMA-API properly to set up their DMA buffers. The IOMMU can be turned off at boot time with the iommu=off parameter. Normally the kernel will make the right choice by itself. If unsure, say Y. config CALGARY_IOMMU_ENABLED_BY_DEFAULT def_bool y prompt "Should Calgary be enabled by default?" depends on CALGARY_IOMMU ---help--- Should Calgary be enabled by default? if you choose 'y', Calgary will be used (if it exists). If you choose 'n', Calgary will not be used even if it exists. If you choose 'n' and would like to use Calgary anyway, pass 'iommu=calgary' on the kernel command line. If unsure, say Y. # need this always selected by IOMMU for the VIA workaround config SWIOTLB def_bool y if X86_64 ---help--- Support for software bounce buffers used on x86-64 systems which don't have a hardware IOMMU. Using this PCI devices which can only access 32-bits of memory can be used on systems with more than 3 GB of memory. If unsure, say Y. config IOMMU_HELPER def_bool y depends on CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU config MAXSMP bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL select CPUMASK_OFFSTACK ---help--- Enable maximum number of CPUS and NUMA Nodes for this architecture. If unsure, say N. config NR_CPUS int "Maximum number of CPUs" if SMP && !MAXSMP range 2 8 if SMP && X86_32 && !X86_BIGSMP range 2 512 if SMP && !MAXSMP && !CPUMASK_OFFSTACK range 2 8192 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64 default "1" if !SMP default "8192" if MAXSMP default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000) default "8" if SMP ---help--- This allows you to specify the maximum number of CPUs which this kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum supported value is 4096, otherwise the maximum value is 512. The minimum value which makes sense is 2. This is purely to save memory - each supported CPU adds approximately eight kilobytes to the kernel image. config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on X86_HT ---help--- SMT scheduler support improves the CPU scheduler's decision making when dealing with Intel Pentium 4 chips with HyperThreading at a cost of slightly increased overhead in some places. If unsure say N here. config SCHED_MC def_bool y prompt "Multi-core scheduler support" depends on X86_HT ---help--- Multi-core scheduler support improves the CPU scheduler's decision making when dealing with multi-core CPU chips at a cost of slightly increased overhead in some places. If unsure say N here. source "kernel/Kconfig.preempt" config X86_UP_APIC bool "Local APIC support on uniprocessors" depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI ---help--- A local APIC (Advanced Programmable Interrupt Controller) is an integrated interrupt controller in the CPU. If you have a single-CPU system which has a processor with a local APIC, you can say Y here to enable and use it. If you say Y here even though your machine doesn't have a local APIC, then the kernel will still run with no slowdown at all. The local APIC supports CPU-generated self-interrupts (timer, performance counters), and the NMI watchdog which detects hard lockups. config X86_UP_IOAPIC bool "IO-APIC support on uniprocessors" depends on X86_UP_APIC ---help--- An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an SMP-capable replacement for PC-style interrupt controllers. Most SMP systems and many recent uniprocessor systems have one. If you have a single-CPU system with an IO-APIC, you can say Y here to use it. If you say Y here even though your machine doesn't have an IO-APIC, then the kernel will still run with no slowdown at all. config X86_LOCAL_APIC def_bool y depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI config X86_IO_APIC def_bool y depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_IOAPIC || PCI_MSI config X86_VISWS_APIC def_bool y depends on X86_32 && X86_VISWS config X86_REROUTE_FOR_BROKEN_BOOT_IRQS bool "Reroute for broken boot IRQs" depends on X86_IO_APIC ---help--- This option enables a workaround that fixes a source of spurious interrupts. This is recommended when threaded interrupt handling is used on systems where the generation of superfluous "boot interrupts" cannot be disabled. Some chipsets generate a legacy INTx "boot IRQ" when the IRQ entry in the chipset's IO-APIC is masked (as, e.g. the RT kernel does during interrupt handling). On chipsets where this boot IRQ generation cannot be disabled, this workaround keeps the original IRQ line masked so that only the equivalent "boot IRQ" is delivered to the CPUs. The workaround also tells the kernel to set up the IRQ handler on the boot IRQ line. In this way only one interrupt is delivered to the kernel. Otherwise the spurious second interrupt may cause the kernel to bring down (vital) interrupt lines. Only affects "broken" chipsets. Interrupt sharing may be increased on these systems. config X86_MCE bool "Machine Check / overheating reporting" default y ---help--- Machine Check support allows the processor to notify the kernel if it detects a problem (e.g. overheating, data corruption). The action the kernel takes depends on the severity of the problem, ranging from warning messages to halting the machine. config X86_MCE_INTEL def_bool y prompt "Intel MCE features" depends on X86_MCE && X86_LOCAL_APIC ---help--- Additional support for intel specific MCE features such as the thermal monitor. config X86_MCE_AMD def_bool y prompt "AMD MCE features" depends on X86_MCE && X86_LOCAL_APIC ---help--- Additional support for AMD specific MCE features such as the DRAM Error Threshold. config X86_ANCIENT_MCE bool "Support for old Pentium 5 / WinChip machine checks" depends on X86_32 && X86_MCE ---help--- Include support for machine check handling on old Pentium 5 or WinChip systems. These typically need to be enabled explicitely on the command line. config X86_MCE_THRESHOLD depends on X86_MCE_AMD || X86_MCE_INTEL def_bool y config X86_MCE_INJECT depends on X86_MCE tristate "Machine check injector support" ---help--- Provide support for injecting machine checks for testing purposes. If you don't know what a machine check is and you don't do kernel QA it is safe to say n. config X86_THERMAL_VECTOR def_bool y depends on X86_MCE_INTEL config VM86 bool "Enable VM86 support" if EXPERT default y depends on X86_32 ---help--- This option is required by programs like DOSEMU to run 16-bit legacy code on X86 processors. It also may be needed by software like XFree86 to initialize some video cards via BIOS. Disabling this option saves about 6k. config TOSHIBA tristate "Toshiba Laptop support" depends on X86_32 ---help--- This adds a driver to safely access the System Management Mode of the CPU on Toshiba portables with a genuine Toshiba BIOS. It does not work on models with a Phoenix BIOS. The System Management Mode is used to set the BIOS and power saving options on Toshiba portables. For information on utilities to make use of this driver see the Toshiba Linux utilities web site at: . Say Y if you intend to run this kernel on a Toshiba portable. Say N otherwise. config I8K tristate "Dell laptop support" select HWMON ---help--- This adds a driver to safely access the System Management Mode of the CPU on the Dell Inspiron 8000. The System Management Mode is used to read cpu temperature and cooling fan status and to control the fans on the I8K portables. This driver has been tested only on the Inspiron 8000 but it may also work with other Dell laptops. You can force loading on other models by passing the parameter `force=1' to the module. Use at your own risk. For information on utilities to make use of this driver see the I8K Linux utilities web site at: Say Y if you intend to run this kernel on a Dell Inspiron 8000. Say N otherwise. config X86_REBOOTFIXUPS bool "Enable X86 board specific fixups for reboot" depends on X86_32 ---help--- This enables chipset and/or board specific fixups to be done in order to get reboot to work correctly. This is only needed on some combinations of hardware and BIOS. The symptom, for which this config is intended, is when reboot ends with a stalled/hung system. Currently, the only fixup is for the Geode machines using CS5530A and CS5536 chipsets and the RDC R-321x SoC. Say Y if you want to enable the fixup. Currently, it's safe to enable this option even if you don't need it. Say N otherwise. config MICROCODE tristate "CPU microcode loading support" depends on CPU_SUP_AMD || CPU_SUP_INTEL select FW_LOADER ---help--- If you say Y here, you will be able to update the microcode on certain Intel and AMD processors. The Intel support is for the IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4, Xeon etc. The AMD support is for families 0x10 and later. You will obviously need the actual microcode binary data itself which is not shipped with the Linux kernel. This option selects the general module only, you need to select at least one vendor specific module as well. To compile this driver as a module, choose M here: the module will be called microcode. config MICROCODE_INTEL bool "Intel microcode loading support" depends on MICROCODE default MICROCODE select FW_LOADER ---help--- This options enables microcode patch loading support for Intel processors. For latest news and information on obtaining all the required Intel ingredients for this driver, check: . config MICROCODE_AMD bool "AMD microcode loading support" depends on MICROCODE select FW_LOADER ---help--- If you select this option, microcode patch loading support for AMD processors will be enabled. config MICROCODE_OLD_INTERFACE def_bool y depends on MICROCODE config MICROCODE_INTEL_LIB def_bool y depends on MICROCODE_INTEL config MICROCODE_INTEL_EARLY def_bool n config MICROCODE_AMD_EARLY def_bool n config MICROCODE_EARLY bool "Early load microcode" depends on MICROCODE=y && BLK_DEV_INITRD select MICROCODE_INTEL_EARLY if MICROCODE_INTEL select MICROCODE_AMD_EARLY if MICROCODE_AMD default y help This option provides functionality to read additional microcode data at the beginning of initrd image. The data tells kernel to load microcode to CPU's as early as possible. No functional change if no microcode data is glued to the initrd, therefore it's safe to say Y. config X86_MSR tristate "/dev/cpu/*/msr - Model-specific register support" ---help--- This device gives privileged processes access to the x86 Model-Specific Registers (MSRs). It is a character device with major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. MSR accesses are directed to a specific CPU on multi-processor systems. config X86_CPUID tristate "/dev/cpu/*/cpuid - CPU information support" ---help--- This device gives processes access to the x86 CPUID instruction to be executed on a specific processor. It is a character device with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. choice prompt "High Memory Support" default HIGHMEM64G if X86_NUMAQ default HIGHMEM4G depends on X86_32 config NOHIGHMEM bool "off" depends on !X86_NUMAQ ---help--- Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 Gigabytes large. That means that, if you have a large amount of physical memory, not all of it can be "permanently mapped" by the kernel. The physical memory that's not permanently mapped is called "high memory". If you are compiling a kernel which will never run on a machine with more than 1 Gigabyte total physical RAM, answer "off" here (default choice and suitable for most users). This will result in a "3GB/1GB" split: 3GB are mapped so that each process sees a 3GB virtual memory space and the remaining part of the 4GB virtual memory space is used by the kernel to permanently map as much physical memory as possible. If the machine has between 1 and 4 Gigabytes physical RAM, then answer "4GB" here. If more than 4 Gigabytes is used then answer "64GB" here. This selection turns Intel PAE (Physical Address Extension) mode on. PAE implements 3-level paging on IA32 processors. PAE is fully supported by Linux, PAE mode is implemented on all recent Intel processors (Pentium Pro and better). NOTE: If you say "64GB" here, then the kernel will not boot on CPUs that don't support PAE! The actual amount of total physical memory will either be auto detected or can be forced by using a kernel command line option such as "mem=256M". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If unsure, say "off". config HIGHMEM4G bool "4GB" depends on !X86_NUMAQ ---help--- Select this if you have a 32-bit processor and between 1 and 4 gigabytes of physical RAM. config HIGHMEM64G bool "64GB" depends on !M486 select X86_PAE ---help--- Select this if you have a 32-bit processor and more than 4 gigabytes of physical RAM. endchoice choice prompt "Memory split" if EXPERT default VMSPLIT_3G depends on X86_32 ---help--- Select the desired split between kernel and user memory. If the address range available to the kernel is less than the physical memory installed, the remaining memory will be available as "high memory". Accessing high memory is a little more costly than low memory, as it needs to be mapped into the kernel first. Note that increasing the kernel address space limits the range available to user programs, making the address space there tighter. Selecting anything other than the default 3G/1G split will also likely make your kernel incompatible with binary-only kernel modules. If you are not absolutely sure what you are doing, leave this option alone! config VMSPLIT_3G bool "3G/1G user/kernel split" config VMSPLIT_3G_OPT depends on !X86_PAE bool "3G/1G user/kernel split (for full 1G low memory)" config VMSPLIT_2G bool "2G/2G user/kernel split" config VMSPLIT_2G_OPT depends on !X86_PAE bool "2G/2G user/kernel split (for full 2G low memory)" config VMSPLIT_1G bool "1G/3G user/kernel split" endchoice config PAGE_OFFSET hex default 0xB0000000 if VMSPLIT_3G_OPT default 0x80000000 if VMSPLIT_2G default 0x78000000 if VMSPLIT_2G_OPT default 0x40000000 if VMSPLIT_1G default 0xC0000000 depends on X86_32 config HIGHMEM def_bool y depends on X86_32 && (HIGHMEM64G || HIGHMEM4G) config X86_PAE bool "PAE (Physical Address Extension) Support" depends on X86_32 && !HIGHMEM4G ---help--- PAE is required for NX support, and furthermore enables larger swapspace support for non-overcommit purposes. It has the cost of more pagetable lookup overhead, and also consumes more pagetable space per process. config ARCH_PHYS_ADDR_T_64BIT def_bool y depends on X86_64 || X86_PAE config ARCH_DMA_ADDR_T_64BIT def_bool y depends on X86_64 || HIGHMEM64G config DIRECT_GBPAGES bool "Enable 1GB pages for kernel pagetables" if EXPERT default y depends on X86_64 ---help--- Allow the kernel linear mapping to use 1GB pages on CPUs that support it. This can improve the kernel's performance a tiny bit by reducing TLB pressure. If in doubt, say "Y". # Common NUMA Features config NUMA bool "Numa Memory Allocation and Scheduler Support" depends on SMP depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI)) default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) ---help--- Enable NUMA (Non Uniform Memory Access) support. The kernel will try to allocate memory used by a CPU on the local memory controller of the CPU and add some more NUMA awareness to the kernel. For 64-bit this is recommended if the system is Intel Core i7 (or later), AMD Opteron, or EM64T NUMA. For 32-bit this is only needed on (rare) 32-bit-only platforms that support NUMA topologies, such as NUMAQ / Summit, or if you boot a 32-bit kernel on a 64-bit NUMA platform. Otherwise, you should say N. comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) config AMD_NUMA def_bool y prompt "Old style AMD Opteron NUMA detection" depends on X86_64 && NUMA && PCI ---help--- Enable AMD NUMA node topology detection. You should say Y here if you have a multi processor AMD system. This uses an old method to read the NUMA configuration directly from the builtin Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA instead, which also takes priority if both are compiled in. config X86_64_ACPI_NUMA def_bool y prompt "ACPI NUMA detection" depends on X86_64 && NUMA && ACPI && PCI select ACPI_NUMA ---help--- Enable ACPI SRAT based node topology detection. # Some NUMA nodes have memory ranges that span # other nodes. Even though a pfn is valid and # between a node's start and end pfns, it may not # reside on that node. See memmap_init_zone() # for details. config NODES_SPAN_OTHER_NODES def_bool y depends on X86_64_ACPI_NUMA config NUMA_EMU bool "NUMA emulation" depends on NUMA ---help--- Enable NUMA emulation. A flat machine will be split into virtual nodes when booted with "numa=fake=N", where N is the number of nodes. This is only useful for debugging. config NODES_SHIFT int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP range 1 10 default "10" if MAXSMP default "6" if X86_64 default "4" if X86_NUMAQ default "3" depends on NEED_MULTIPLE_NODES ---help--- Specify the maximum number of NUMA Nodes available on the target system. Increases memory reserved to accommodate various tables. config ARCH_HAVE_MEMORY_PRESENT def_bool y depends on X86_32 && DISCONTIGMEM config NEED_NODE_MEMMAP_SIZE def_bool y depends on X86_32 && (DISCONTIGMEM || SPARSEMEM) config ARCH_FLATMEM_ENABLE def_bool y depends on X86_32 && !NUMA config ARCH_DISCONTIGMEM_ENABLE def_bool y depends on NUMA && X86_32 config ARCH_DISCONTIGMEM_DEFAULT def_bool y depends on NUMA && X86_32 config ARCH_SPARSEMEM_ENABLE def_bool y depends on X86_64 || NUMA || X86_32 || X86_32_NON_STANDARD select SPARSEMEM_STATIC if X86_32 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 config ARCH_SPARSEMEM_DEFAULT def_bool y depends on X86_64 config ARCH_SELECT_MEMORY_MODEL def_bool y depends on ARCH_SPARSEMEM_ENABLE config ARCH_MEMORY_PROBE bool "Enable sysfs memory/probe interface" depends on X86_64 && MEMORY_HOTPLUG help This option enables a sysfs memory/probe interface for testing. See Documentation/memory-hotplug.txt for more information. If you are unsure how to answer this question, answer N. config ARCH_PROC_KCORE_TEXT def_bool y depends on X86_64 && PROC_KCORE config ILLEGAL_POINTER_VALUE hex default 0 if X86_32 default 0xdead000000000000 if X86_64 source "mm/Kconfig" config HIGHPTE bool "Allocate 3rd-level pagetables from highmem" depends on HIGHMEM ---help--- The VM uses one page table entry for each page of physical memory. For systems with a lot of RAM, this can be wasteful of precious low memory. Setting this option will put user-space page table entries in high memory. config X86_CHECK_BIOS_CORRUPTION bool "Check for low memory corruption" ---help--- Periodically check for memory corruption in low memory, which is suspected to be caused by BIOS. Even when enabled in the configuration, it is disabled at runtime. Enable it by setting "memory_corruption_check=1" on the kernel command line. By default it scans the low 64k of memory every 60 seconds; see the memory_corruption_check_size and memory_corruption_check_period parameters in Documentation/kernel-parameters.txt to adjust this. When enabled with the default parameters, this option has almost no overhead, as it reserves a relatively small amount of memory and scans it infrequently. It both detects corruption and prevents it from affecting the running system. It is, however, intended as a diagnostic tool; if repeatable BIOS-originated corruption always affects the same memory, you can use memmap= to prevent the kernel from using that memory. config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK bool "Set the default setting of memory_corruption_check" depends on X86_CHECK_BIOS_CORRUPTION default y ---help--- Set whether the default state of memory_corruption_check is on or off. config X86_RESERVE_LOW int "Amount of low memory, in kilobytes, to reserve for the BIOS" default 64 range 4 640 ---help--- Specify the amount of low memory to reserve for the BIOS. The first page contains BIOS data structures that the kernel must not use, so that page must always be reserved. By default we reserve the first 64K of physical RAM, as a number of BIOSes are known to corrupt that memory range during events such as suspend/resume or monitor cable insertion, so it must not be used by the kernel. You can set this to 4 if you are absolutely sure that you trust the BIOS to get all its memory reservations and usages right. If you know your BIOS have problems beyond the default 64K area, you can set this to 640 to avoid using the entire low memory range. If you have doubts about the BIOS (e.g. suspend/resume does not work or there's kernel crashes after certain hardware hotplug events) then you might want to enable X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical corruption patterns. Leave this to the default value of 64 if you are unsure. config MATH_EMULATION bool prompt "Math emulation" if X86_32 ---help--- Linux can emulate a math coprocessor (used for floating point operations) if you don't have one. 486DX and Pentium processors have a math coprocessor built in, 486SX and 386 do not, unless you added a 487DX or 387, respectively. (The messages during boot time can give you some hints here ["man dmesg"].) Everyone needs either a coprocessor or this emulation. If you don't have a math coprocessor, you need to say Y here; if you say Y here even though you have a coprocessor, the coprocessor will be used nevertheless. (This behavior can be changed with the kernel command line option "no387", which comes handy if your coprocessor is broken. Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) This means that it is a good idea to say Y here if you intend to use this kernel on different machines. More information about the internals of the Linux math coprocessor emulation can be found in . If you are not sure, say Y; apart from resulting in a 66 KB bigger kernel, it won't hurt. config MTRR def_bool y prompt "MTRR (Memory Type Range Register) support" if EXPERT ---help--- On Intel P6 family processors (Pentium Pro, Pentium II and later) the Memory Type Range Registers (MTRRs) may be used to control processor access to memory ranges. This is most useful if you have a video (VGA) card on a PCI or AGP bus. Enabling write-combining allows bus write transfers to be combined into a larger transfer before bursting over the PCI/AGP bus. This can increase performance of image write operations 2.5 times or more. Saying Y here creates a /proc/mtrr file which may be used to manipulate your processor's MTRRs. Typically the X server should use this. This code has a reasonably generic interface so that similar control registers on other processors can be easily supported as well: The Cyrix 6x86, 6x86MX and M II processors have Address Range Registers (ARRs) which provide a similar functionality to MTRRs. For these, the ARRs are used to emulate the MTRRs. The AMD K6-2 (stepping 8 and above) and K6-3 processors have two MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. All of these processors are supported by this code and it makes sense to say Y here if you have one of them. Saying Y here also fixes a problem with buggy SMP BIOSes which only set the MTRRs for the boot CPU and not for the secondary CPUs. This can lead to all sorts of problems, so it's good to say Y here. You can safely say Y even if your machine doesn't have MTRRs, you'll just add about 9 KB to your kernel. See for more information. config MTRR_SANITIZER def_bool y prompt "MTRR cleanup support" depends on MTRR ---help--- Convert MTRR layout from continuous to discrete, so X drivers can add writeback entries. Can be disabled with disable_mtrr_cleanup on the kernel command line. The largest mtrr entry size for a continuous block can be set with mtrr_chunk_size. If unsure, say Y. config MTRR_SANITIZER_ENABLE_DEFAULT int "MTRR cleanup enable value (0-1)" range 0 1 default "0" depends on MTRR_SANITIZER ---help--- Enable mtrr cleanup default value config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT int "MTRR cleanup spare reg num (0-7)" range 0 7 default "1" depends on MTRR_SANITIZER ---help--- mtrr cleanup spare entries default, it can be changed via mtrr_spare_reg_nr=N on the kernel command line. config X86_PAT def_bool y prompt "x86 PAT support" if EXPERT depends on MTRR ---help--- Use PAT attributes to setup page level cache control. PATs are the modern equivalents of MTRRs and are much more flexible than MTRRs. Say N here if you see bootup problems (boot crash, boot hang, spontaneous reboots) or a non-working video driver. If unsure, say Y. config ARCH_USES_PG_UNCACHED def_bool y depends on X86_PAT config ARCH_RANDOM def_bool y prompt "x86 architectural random number generator" if EXPERT ---help--- Enable the x86 architectural RDRAND instruction (Intel Bull Mountain technology) to generate random numbers. If supported, this is a high bandwidth, cryptographically secure hardware random number generator. config X86_SMAP def_bool y prompt "Supervisor Mode Access Prevention" if EXPERT ---help--- Supervisor Mode Access Prevention (SMAP) is a security feature in newer Intel processors. There is a small performance cost if this enabled and turned on; there is also a small increase in the kernel size if this is enabled. If unsure, say Y. config EFI bool "EFI runtime service support" depends on ACPI select UCS2_STRING ---help--- This enables the kernel to use EFI runtime services that are available (such as the EFI variable services). This option is only useful on systems that have EFI firmware. In addition, you should use the latest ELILO loader available at in order to take advantage of EFI runtime services. However, even with this option, the resultant kernel should continue to boot on existing non-EFI platforms. config EFI_STUB bool "EFI stub support" depends on EFI ---help--- This kernel feature allows a bzImage to be loaded directly by EFI firmware without the use of a bootloader. See Documentation/efi-stub.txt for more information. config SECCOMP def_bool y prompt "Enable seccomp to safely compute untrusted bytecode" ---help--- This kernel feature is useful for number crunching applications that may need to compute untrusted bytecode during their execution. By using pipes or other transports made available to the process as file descriptors supporting the read/write syscalls, it's possible to isolate those applications in their own address space using seccomp. Once seccomp is enabled via prctl(PR_SET_SECCOMP), it cannot be disabled and the task is only allowed to execute a few safe syscalls defined by each seccomp mode. If unsure, say Y. Only embedded should say N here. config CC_STACKPROTECTOR bool "Enable -fstack-protector buffer overflow detection" ---help--- This option turns on the -fstack-protector GCC feature. This feature puts, at the beginning of functions, a canary value on the stack just before the return address, and validates the value just before actually returning. Stack based buffer overflows (that need to overwrite this return address) now also overwrite the canary, which gets detected and the attack is then neutralized via a kernel panic. This feature requires gcc version 4.2 or above, or a distribution gcc with the feature backported. Older versions are automatically detected and for those versions, this configuration option is ignored. (and a warning is printed during bootup) source kernel/Kconfig.hz config KEXEC bool "kexec system call" ---help--- kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is independent of the system firmware. And like a reboot you can start any kernel with it, not just Linux. The name comes from the similarity to the exec system call. It is an ongoing process to be certain the hardware in a machine is properly shutdown, so do not be surprised if this code does not initially work for you. As of this writing the exact hardware interface is strongly in flux, so no good recommendation can be made. config CRASH_DUMP bool "kernel crash dumps" depends on X86_64 || (X86_32 && HIGHMEM) ---help--- Generate crash dump after being started by kexec. This should be normally only set in special crash dump kernels which are loaded in the main kernel with kexec-tools into a specially reserved region and then later executed after a crash by kdump/kexec. The crash dump kernel must be compiled to a memory address not used by the main kernel or BIOS using PHYSICAL_START, or it must be built as a relocatable image (CONFIG_RELOCATABLE=y). For more details see Documentation/kdump/kdump.txt config KEXEC_JUMP bool "kexec jump" depends on KEXEC && HIBERNATION ---help--- Jump between original kernel and kexeced kernel and invoke code in physical address mode via KEXEC config PHYSICAL_START hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP) default "0x1000000" ---help--- This gives the physical address where the kernel is loaded. If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then bzImage will decompress itself to above physical address and run from there. Otherwise, bzImage will run from the address where it has been loaded by the boot loader and will ignore above physical address. In normal kdump cases one does not have to set/change this option as now bzImage can be compiled as a completely relocatable image (CONFIG_RELOCATABLE=y) and be used to load and run from a different address. This option is mainly useful for the folks who don't want to use a bzImage for capturing the crash dump and want to use a vmlinux instead. vmlinux is not relocatable hence a kernel needs to be specifically compiled to run from a specific memory area (normally a reserved region) and this option comes handy. So if you are using bzImage for capturing the crash dump, leave the value here unchanged to 0x1000000 and set CONFIG_RELOCATABLE=y. Otherwise if you plan to use vmlinux for capturing the crash dump change this value to start of the reserved region. In other words, it can be set based on the "X" value as specified in the "crashkernel=YM@XM" command line boot parameter passed to the panic-ed kernel. Please take a look at Documentation/kdump/kdump.txt for more details about crash dumps. Usage of bzImage for capturing the crash dump is recommended as one does not have to build two kernels. Same kernel can be used as production kernel and capture kernel. Above option should have gone away after relocatable bzImage support is introduced. But it is present because there are users out there who continue to use vmlinux for dump capture. This option should go away down the line. Don't change this unless you know what you are doing. config RELOCATABLE bool "Build a relocatable kernel" default y ---help--- This builds a kernel image that retains relocation information so it can be loaded someplace besides the default 1MB. The relocations tend to make the kernel binary about 10% larger, but are discarded at runtime. One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel. Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical address (CONFIG_PHYSICAL_START) is ignored. # Relocation on x86-32 needs some additional build support config X86_NEED_RELOCS def_bool y depends on X86_32 && RELOCATABLE config PHYSICAL_ALIGN hex "Alignment value to which kernel should be aligned" default "0x1000000" range 0x2000 0x1000000 if X86_32 range 0x200000 0x1000000 if X86_64 ---help--- This value puts the alignment restrictions on physical address where kernel is loaded and run from. Kernel is compiled for an address which meets above alignment restriction. If bootloader loads the kernel at a non-aligned address and CONFIG_RELOCATABLE is set, kernel will move itself to nearest address aligned to above value and run from there. If bootloader loads the kernel at a non-aligned address and CONFIG_RELOCATABLE is not set, kernel will ignore the run time load address and decompress itself to the address it has been compiled for and run from there. The address for which kernel is compiled already meets above alignment restrictions. Hence the end result is that kernel runs from a physical address meeting above alignment restrictions. On 32-bit this value must be a multiple of 0x2000. On 64-bit this value must be a multiple of 0x200000. Don't change this unless you know what you are doing. config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP ---help--- Say Y here to allow turning CPUs off and on. CPUs can be controlled through /sys/devices/system/cpu. ( Note: power management support will enable this option automatically on SMP systems. ) Say N if you want to disable CPU hotplug. config BOOTPARAM_HOTPLUG_CPU0 bool "Set default setting of cpu0_hotpluggable" default n depends on HOTPLUG_CPU ---help--- Set whether default state of cpu0_hotpluggable is on or off. Say Y here to enable CPU0 hotplug by default. If this switch is turned on, there is no need to give cpu0_hotplug kernel parameter and the CPU0 hotplug feature is enabled by default. Please note: there are two known CPU0 dependencies if you want to enable the CPU0 hotplug feature either by this switch or by cpu0_hotplug kernel parameter. First, resume from hibernate or suspend always starts from CPU0. So hibernate and suspend are prevented if CPU0 is offline. Second dependency is PIC interrupts always go to CPU0. CPU0 can not offline if any interrupt can not migrate out of CPU0. There may be other CPU0 dependencies. Please make sure the dependencies are under your control before you enable this feature. Say N if you don't want to enable CPU0 hotplug feature by default. You still can enable the CPU0 hotplug feature at boot by kernel parameter cpu0_hotplug. config DEBUG_HOTPLUG_CPU0 def_bool n prompt "Debug CPU0 hotplug" depends on HOTPLUG_CPU ---help--- Enabling this option offlines CPU0 (if CPU0 can be offlined) as soon as possible and boots up userspace with CPU0 offlined. User can online CPU0 back after boot time. To debug CPU0 hotplug, you need to enable CPU0 offline/online feature by either turning on CONFIG_BOOTPARAM_HOTPLUG_CPU0 during compilation or giving cpu0_hotplug kernel parameter at boot. If unsure, say N. config COMPAT_VDSO def_bool y prompt "Compat VDSO support" depends on X86_32 || IA32_EMULATION ---help--- Map the 32-bit VDSO to the predictable old-style address too. Say N here if you are running a sufficiently recent glibc version (2.3.3 or later), to remove the high-mapped VDSO mapping and to exclusively use the randomized VDSO. If unsure, say Y. config CMDLINE_BOOL bool "Built-in kernel command line" ---help--- Allow for specifying boot arguments to the kernel at build time. On some systems (e.g. embedded ones), it is necessary or convenient to provide some or all of the kernel boot arguments with the kernel itself (that is, to not rely on the boot loader to provide them.) To compile command line arguments into the kernel, set this option to 'Y', then fill in the the boot arguments in CONFIG_CMDLINE. Systems with fully functional boot loaders (i.e. non-embedded) should leave this option set to 'N'. config CMDLINE string "Built-in kernel command string" depends on CMDLINE_BOOL default "" ---help--- Enter arguments here that should be compiled into the kernel image and used at boot time. If the boot loader provides a command line at boot time, it is appended to this string to form the full kernel command line, when the system boots. However, you can use the CONFIG_CMDLINE_OVERRIDE option to change this behavior. In most cases, the command line (whether built-in or provided by the boot loader) should specify the device for the root file system. config CMDLINE_OVERRIDE bool "Built-in command line overrides boot loader arguments" depends on CMDLINE_BOOL ---help--- Set this option to 'Y' to have the kernel ignore the boot loader command line, and use ONLY the built-in command line. This is used to work around broken boot loaders. This should be set to 'N' under normal conditions. endmenu config ARCH_ENABLE_MEMORY_HOTPLUG def_bool y depends on X86_64 || (X86_32 && HIGHMEM) config ARCH_ENABLE_MEMORY_HOTREMOVE def_bool y depends on MEMORY_HOTPLUG config USE_PERCPU_NUMA_NODE_ID def_bool y depends on NUMA config ARCH_ENABLE_SPLIT_PMD_PTLOCK def_bool y depends on X86_64 || X86_PAE menu "Power management and ACPI options" config ARCH_HIBERNATION_HEADER def_bool y depends on X86_64 && HIBERNATION source "kernel/power/Kconfig" source "drivers/acpi/Kconfig" source "drivers/sfi/Kconfig" config X86_APM_BOOT def_bool y depends on APM menuconfig APM tristate "APM (Advanced Power Management) BIOS support" depends on X86_32 && PM_SLEEP ---help--- APM is a BIOS specification for saving power using several different techniques. This is mostly useful for battery powered laptops with APM compliant BIOSes. If you say Y here, the system time will be reset after a RESUME operation, the /proc/apm device will provide battery status information, and user-space programs will receive notification of APM "events" (e.g. battery status change). If you select "Y" here, you can disable actual use of the APM BIOS by passing the "apm=off" option to the kernel at boot time. Note that the APM support is almost completely disabled for machines with more than one CPU. In order to use APM, you will need supporting software. For location and more information, read and the Battery Powered Linux mini-HOWTO, available from . This driver does not spin down disk drives (see the hdparm(8) manpage ("man 8 hdparm") for that), and it doesn't turn off VESA-compliant "green" monitors. This driver does not support the TI 4000M TravelMate and the ACER 486/DX4/75 because they don't have compliant BIOSes. Many "green" desktop machines also don't have compliant BIOSes, and this driver may cause those machines to panic during the boot phase. Generally, if you don't have a battery in your machine, there isn't much point in using this driver and you should say N. If you get random kernel OOPSes or reboots that don't seem to be related to anything, try disabling/enabling this option (or disabling/enabling APM in your BIOS). Some other things you should try when experiencing seemingly random, "weird" problems: 1) make sure that you have enough swap space and that it is enabled. 2) pass the "no-hlt" option to the kernel 3) switch on floating point emulation in the kernel and pass the "no387" option to the kernel 4) pass the "floppy=nodma" option to the kernel 5) pass the "mem=4M" option to the kernel (thereby disabling all but the first 4 MB of RAM) 6) make sure that the CPU is not over clocked. 7) read the sig11 FAQ at 8) disable the cache from your BIOS settings 9) install a fan for the video card or exchange video RAM 10) install a better fan for the CPU 11) exchange RAM chips 12) exchange the motherboard. To compile this driver as a module, choose M here: the module will be called apm. if APM config APM_IGNORE_USER_SUSPEND bool "Ignore USER SUSPEND" ---help--- This option will ignore USER SUSPEND requests. On machines with a compliant APM BIOS, you want to say N. However, on the NEC Versa M series notebooks, it is necessary to say Y because of a BIOS bug. config APM_DO_ENABLE bool "Enable PM at boot time" ---help--- Enable APM features at boot time. From page 36 of the APM BIOS specification: "When disabled, the APM BIOS does not automatically power manage devices, enter the Standby State, enter the Suspend State, or take power saving steps in response to CPU Idle calls." This driver will make CPU Idle calls when Linux is idle (unless this feature is turned off -- see "Do CPU IDLE calls", below). This should always save battery power, but more complicated APM features will be dependent on your BIOS implementation. You may need to turn this option off if your computer hangs at boot time when using APM support, or if it beeps continuously instead of suspending. Turn this off if you have a NEC UltraLite Versa 33/C or a Toshiba T400CDT. This is off by default since most machines do fine without this feature. config APM_CPU_IDLE depends on CPU_IDLE bool "Make CPU Idle calls when idle" ---help--- Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. On some machines, this can activate improved power savings, such as a slowed CPU clock rate, when the machine is idle. These idle calls are made after the idle loop has run for some length of time (e.g., 333 mS). On some machines, this will cause a hang at boot time or whenever the CPU becomes idle. (On machines with more than one CPU, this option does nothing.) config APM_DISPLAY_BLANK bool "Enable console blanking using APM" ---help--- Enable console blanking using the APM. Some laptops can use this to turn off the LCD backlight when the screen blanker of the Linux virtual console blanks the screen. Note that this is only used by the virtual console screen blanker, and won't turn off the backlight when using the X Window system. This also doesn't have anything to do with your VESA-compliant power-saving monitor. Further, this option doesn't work for all laptops -- it might not turn off your backlight at all, or it might print a lot of errors to the console, especially if you are using gpm. config APM_ALLOW_INTS bool "Allow interrupts during APM BIOS calls" ---help--- Normally we disable external interrupts while we are making calls to the APM BIOS as a measure to lessen the effects of a badly behaving BIOS implementation. The BIOS should reenable interrupts if it needs to. Unfortunately, some BIOSes do not -- especially those in many of the newer IBM Thinkpads. If you experience hangs when you suspend, try setting this to Y. Otherwise, say N. endif # APM source "drivers/cpufreq/Kconfig" source "drivers/cpuidle/Kconfig" source "drivers/idle/Kconfig" endmenu menu "Bus options (PCI etc.)" config PCI bool "PCI support" default y ---help--- Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. choice prompt "PCI access mode" depends on X86_32 && PCI default PCI_GOANY ---help--- On PCI systems, the BIOS can be used to detect the PCI devices and determine their configuration. However, some old PCI motherboards have BIOS bugs and may crash if this is done. Also, some embedded PCI-based systems don't have any BIOS at all. Linux can also try to detect the PCI hardware directly without using the BIOS. With this option, you can specify how Linux should detect the PCI devices. If you choose "BIOS", the BIOS will be used, if you choose "Direct", the BIOS won't be used, and if you choose "MMConfig", then PCI Express MMCONFIG will be used. If you choose "Any", the kernel will try MMCONFIG, then the direct access method and falls back to the BIOS if that doesn't work. If unsure, go with the default, which is "Any". config PCI_GOBIOS bool "BIOS" config PCI_GOMMCONFIG bool "MMConfig" config PCI_GODIRECT bool "Direct" config PCI_GOOLPC bool "OLPC XO-1" depends on OLPC config PCI_GOANY bool "Any" endchoice config PCI_BIOS def_bool y depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY) # x86-64 doesn't support PCI BIOS access from long mode so always go direct. config PCI_DIRECT def_bool y depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC || PCI_GOMMCONFIG)) config PCI_MMCONFIG def_bool y depends on X86_32 && PCI && (ACPI || SFI) && (PCI_GOMMCONFIG || PCI_GOANY) config PCI_OLPC def_bool y depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY) config PCI_XEN def_bool y depends on PCI && XEN select SWIOTLB_XEN config PCI_DOMAINS def_bool y depends on PCI config PCI_MMCONFIG bool "Support mmconfig PCI config space access" depends on X86_64 && PCI && ACPI config PCI_CNB20LE_QUIRK bool "Read CNB20LE Host Bridge Windows" if EXPERT depends on PCI help Read the PCI windows out of the CNB20LE host bridge. This allows PCI hotplug to work on systems with the CNB20LE chipset which do not have ACPI. There's no public spec for this chipset, and this functionality is known to be incomplete. You should say N unless you know you need this. source "drivers/pci/pcie/Kconfig" source "drivers/pci/Kconfig" # x86_64 have no ISA slots, but can have ISA-style DMA. config ISA_DMA_API bool "ISA-style DMA support" if (X86_64 && EXPERT) default y help Enables ISA-style DMA support for devices requiring such controllers. If unsure, say Y. if X86_32 config ISA bool "ISA support" ---help--- Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are PCI, EISA, MicroChannel (MCA) or VESA. ISA is an older system, now being displaced by PCI; newer boards don't support it. If you have ISA, say Y, otherwise N. config EISA bool "EISA support" depends on ISA ---help--- The Extended Industry Standard Architecture (EISA) bus was developed as an open alternative to the IBM MicroChannel bus. The EISA bus provided some of the features of the IBM MicroChannel bus while maintaining backward compatibility with cards made for the older ISA bus. The EISA bus saw limited use between 1988 and 1995 when it was made obsolete by the PCI bus. Say Y here if you are building a kernel for an EISA-based machine. Otherwise, say N. source "drivers/eisa/Kconfig" config SCx200 tristate "NatSemi SCx200 support" ---help--- This provides basic support for National Semiconductor's (now AMD's) Geode processors. The driver probes for the PCI-IDs of several on-chip devices, so its a good dependency for other scx200_* drivers. If compiled as a module, the driver is named scx200. config SCx200HR_TIMER tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" depends on SCx200 default y ---help--- This driver provides a clocksource built upon the on-chip 27MHz high-resolution timer. Its also a workaround for NSC Geode SC-1100's buggy TSC, which loses time when the processor goes idle (as is done by the scheduler). The other workaround is idle=poll boot option. config OLPC bool "One Laptop Per Child support" depends on !X86_PAE select GPIOLIB select OF select OF_PROMTREE select IRQ_DOMAIN ---help--- Add support for detecting the unique features of the OLPC XO hardware. config OLPC_XO1_PM bool "OLPC XO-1 Power Management" depends on OLPC && MFD_CS5535 && PM_SLEEP select MFD_CORE ---help--- Add support for poweroff and suspend of the OLPC XO-1 laptop. config OLPC_XO1_RTC bool "OLPC XO-1 Real Time Clock" depends on OLPC_XO1_PM && RTC_DRV_CMOS ---help--- Add support for the XO-1 real time clock, which can be used as a programmable wakeup source. config OLPC_XO1_SCI bool "OLPC XO-1 SCI extras" depends on OLPC && OLPC_XO1_PM depends on INPUT=y select POWER_SUPPLY select GPIO_CS5535 select MFD_CORE ---help--- Add support for SCI-based features of the OLPC XO-1 laptop: - EC-driven system wakeups - Power button - Ebook switch - Lid switch - AC adapter status updates - Battery status updates config OLPC_XO15_SCI bool "OLPC XO-1.5 SCI extras" depends on OLPC && ACPI select POWER_SUPPLY ---help--- Add support for SCI-based features of the OLPC XO-1.5 laptop: - EC-driven system wakeups - AC adapter status updates - Battery status updates config ALIX bool "PCEngines ALIX System Support (LED setup)" select GPIOLIB ---help--- This option enables system support for the PCEngines ALIX. At present this just sets up LEDs for GPIO control on ALIX2/3/6 boards. However, other system specific setup should get added here. Note: You must still enable the drivers for GPIO and LED support (GPIO_CS5535 & LEDS_GPIO) to actually use the LEDs Note: You have to set alix.force=1 for boards with Award BIOS. config NET5501 bool "Soekris Engineering net5501 System Support (LEDS, GPIO, etc)" select GPIOLIB ---help--- This option enables system support for the Soekris Engineering net5501. config GEOS bool "Traverse Technologies GEOS System Support (LEDS, GPIO, etc)" select GPIOLIB depends on DMI ---help--- This option enables system support for the Traverse Technologies GEOS. config TS5500 bool "Technologic Systems TS-5500 platform support" depends on MELAN select CHECK_SIGNATURE select NEW_LEDS select LEDS_CLASS ---help--- This option enables system support for the Technologic Systems TS-5500. endif # X86_32 config AMD_NB def_bool y depends on CPU_SUP_AMD && PCI source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" config RAPIDIO tristate "RapidIO support" depends on PCI default n help If enabled this option will include drivers and the core infrastructure code to support RapidIO interconnect devices. source "drivers/rapidio/Kconfig" config X86_SYSFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" help Firmwares often provide initial graphics framebuffers so the BIOS, bootloader or kernel can show basic video-output during boot for user-guidance and debugging. Historically, x86 used the VESA BIOS Extensions and EFI-framebuffers for this, which are mostly limited to x86. This option, if enabled, marks VGA/VBE/EFI framebuffers as generic framebuffers so the new generic system-framebuffer drivers can be used on x86. If the framebuffer is not compatible with the generic modes, it is adverticed as fallback platform framebuffer so legacy drivers like efifb, vesafb and uvesafb can pick it up. If this option is not selected, all system framebuffers are always marked as fallback platform framebuffers as usual. Note: Legacy fbdev drivers, including vesafb, efifb, uvesafb, will not be able to pick up generic system framebuffers if this option is selected. You are highly encouraged to enable simplefb as replacement if you select this option. simplefb can correctly deal with generic system framebuffers. But you should still keep vesafb and others enabled as fallback if a system framebuffer is incompatible with simplefb. If unsure, say Y. endmenu menu "Executable file formats / Emulations" source "fs/Kconfig.binfmt" config IA32_EMULATION bool "IA32 Emulation" depends on X86_64 select BINFMT_ELF select COMPAT_BINFMT_ELF select HAVE_UID16 ---help--- Include code to run legacy 32-bit programs under a 64-bit kernel. You should likely turn this on, unless you're 100% sure that you don't have any 32-bit programs left. config IA32_AOUT tristate "IA32 a.out support" depends on IA32_EMULATION ---help--- Support old a.out binaries in the 32bit emulation. config X86_X32 bool "x32 ABI for 64-bit mode" depends on X86_64 && IA32_EMULATION ---help--- Include code to run binaries for the x32 native 32-bit ABI for 64-bit processors. An x32 process gets access to the full 64-bit register file and wide data path while leaving pointers at 32 bits for smaller memory footprint. You will need a recent binutils (2.22 or later) with elf32_x86_64 support enabled to compile a kernel with this option set. config COMPAT def_bool y depends on IA32_EMULATION || X86_X32 select ARCH_WANT_OLD_COMPAT_IPC if COMPAT config COMPAT_FOR_U64_ALIGNMENT def_bool y config SYSVIPC_COMPAT def_bool y depends on SYSVIPC config KEYS_COMPAT def_bool y depends on KEYS endif endmenu config HAVE_ATOMIC_IOMAP def_bool y depends on X86_32 config X86_DEV_DMA_OPS bool depends on X86_64 || STA2X11 config X86_DMA_REMAP bool depends on STA2X11 source "net/Kconfig" source "drivers/Kconfig" source "drivers/firmware/Kconfig" source "fs/Kconfig" source "arch/x86/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "arch/x86/kvm/Kconfig" source "lib/Kconfig" # # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" depends on HAVE_KVM || X86 default y ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM tristate "Kernel-based Virtual Machine (KVM) support" depends on HAVE_KVM depends on HIGH_RES_TIMERS # for TASKSTATS/TASK_DELAY_ACCT: depends on NET select PREEMPT_NOTIFIERS select MMU_NOTIFIER select ANON_INODES select HAVE_KVM_IRQCHIP select HAVE_KVM_IRQ_ROUTING select HAVE_KVM_EVENTFD select KVM_APIC_ARCHITECTURE select KVM_ASYNC_PF select USER_RETURN_NOTIFIER select KVM_MMIO select TASKSTATS select TASK_DELAY_ACCT select PERF_EVENTS select HAVE_KVM_MSI select HAVE_KVM_CPU_RELAX_INTERCEPT select KVM_VFIO ---help--- Support hosting fully virtualized guest machines using hardware virtualization extensions. You will need a fairly recent processor equipped with virtualization extensions. You will also need to select one or more of the processor modules below. This module provides access to the hardware capabilities through a character device node named /dev/kvm. To compile this as a module, choose M here: the module will be called kvm. If unsure, say N. config KVM_INTEL tristate "KVM for Intel processors support" depends on KVM # for perf_guest_get_msrs(): depends on CPU_SUP_INTEL ---help--- Provides support for KVM on Intel processors equipped with the VT extensions. To compile this as a module, choose M here: the module will be called kvm-intel. config KVM_AMD tristate "KVM for AMD processors support" depends on KVM ---help--- Provides support for KVM on AMD processors equipped with the AMD-V (SVM) extensions. To compile this as a module, choose M here: the module will be called kvm-amd. config KVM_MMU_AUDIT bool "Audit KVM MMU" depends on KVM && TRACEPOINTS ---help--- This option adds a R/W kVM module parameter 'mmu_audit', which allows audit KVM MMU at runtime. config KVM_DEVICE_ASSIGNMENT bool "KVM legacy PCI device assignment support" depends on KVM && PCI && IOMMU_API default y ---help--- Provide support for legacy PCI device assignment through KVM. The kernel now also supports a full featured userspace device driver framework through VFIO, which supersedes much of this support. If unsure, say Y. # OK, it's a little counter-intuitive to do this, but it puts it neatly under # the virtualization menu. source drivers/vhost/Kconfig source drivers/lguest/Kconfig endif # VIRTUALIZATION config LGUEST_GUEST bool "Lguest guest support" depends on X86_32 && PARAVIRT select TTY select VIRTUALIZATION select VIRTIO select VIRTIO_CONSOLE help Lguest is a tiny in-kernel hypervisor. Selecting this will allow your kernel to boot under lguest. This option will increase your kernel size by about 6k. If in doubt, say N. If you say Y here, make sure you say Y (or M) to the virtio block and net drivers which lguest needs. mainmenu "User Mode Linux/$SUBARCH $KERNELVERSION Kernel Configuration" source "arch/um/Kconfig.common" menu "UML-specific options" menu "Host processor type and features" source "arch/x86/Kconfig.cpu" endmenu config UML_X86 def_bool y select GENERIC_FIND_FIRST_BIT config 64BIT bool "64-bit kernel" if SUBARCH = "x86" default SUBARCH != "i386" config X86_32 def_bool !64BIT select HAVE_AOUT select ARCH_WANT_IPC_PARSE_VERSION select MODULES_USE_ELF_REL select CLONE_BACKWARDS select OLD_SIGSUSPEND3 select OLD_SIGACTION config X86_64 def_bool 64BIT select MODULES_USE_ELF_RELA config ARCH_DEFCONFIG string default "arch/um/configs/i386_defconfig" if X86_32 default "arch/um/configs/x86_64_defconfig" if X86_64 config RWSEM_XCHGADD_ALGORITHM def_bool 64BIT config RWSEM_GENERIC_SPINLOCK def_bool !RWSEM_XCHGADD_ALGORITHM config 3_LEVEL_PGTABLES bool "Three-level pagetables" if !64BIT default 64BIT help Three-level pagetables will let UML have more than 4G of physical memory. All the memory that can't be mapped directly will be treated as high memory. However, this it experimental on 32-bit architectures, so if unsure say N (on x86-64 it's automatically enabled, instead, as it's safe there). config ARCH_HAS_SC_SIGNALS def_bool !64BIT config ARCH_REUSE_HOST_VSYSCALL_AREA def_bool !64BIT config GENERIC_HWEIGHT def_bool y source "arch/um/Kconfig.um" endmenu source "arch/um/Kconfig.rest" # # This Kconfig describes xen options # config XEN bool "Xen guest support" depends on PARAVIRT select PARAVIRT_CLOCK select XEN_HAVE_PVMMU depends on X86_64 || (X86_32 && X86_PAE && !X86_VISWS) depends on X86_TSC help This is the Linux Xen port. Enabling this will allow the kernel to boot in a paravirtualized environment under the Xen hypervisor. config XEN_DOM0 def_bool y depends on XEN && PCI_XEN && SWIOTLB_XEN depends on X86_LOCAL_APIC && X86_IO_APIC && ACPI && PCI # Dummy symbol since people have come to rely on the PRIVILEGED_GUEST # name in tools. config XEN_PRIVILEGED_GUEST def_bool XEN_DOM0 config XEN_PVHVM def_bool y depends on XEN && PCI && X86_LOCAL_APIC config XEN_MAX_DOMAIN_MEMORY int default 500 if X86_64 default 64 if X86_32 depends on XEN help This only affects the sizing of some bss arrays, the unused portions of which are freed. config XEN_SAVE_RESTORE bool depends on XEN select HIBERNATE_CALLBACKS default y config XEN_DEBUG_FS bool "Enable Xen debug and tuning parameters in debugfs" depends on XEN && DEBUG_FS default n help Enable statistics output and various tuning options in debugfs. Enabling this option may incur a significant performance overhead. config ZONE_DMA def_bool y config XTENSA def_bool y select ARCH_WANT_FRAME_POINTERS select HAVE_IDE select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS select VIRT_TO_BUS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES select GENERIC_SCHED_CLOCK select MODULES_USE_ELF_RELA select GENERIC_PCI_IOMAP select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_OPTIONAL_GPIOLIB select CLONE_BACKWARDS select IRQ_DOMAIN select HAVE_OPROFILE select HAVE_FUNCTION_TRACER help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both configurable and extensible. The Linux port to the Xtensa architecture supports all processor configurations and extensions, with reasonable minimum requirements. The Xtensa Linux project has a home page at . config RWSEM_XCHGADD_ALGORITHM def_bool y config GENERIC_HWEIGHT def_bool y config ARCH_HAS_ILOG2_U32 def_bool n config ARCH_HAS_ILOG2_U64 def_bool n config NO_IOPORT def_bool n config HZ int default 100 source "init/Kconfig" source "kernel/Kconfig.freezer" config LOCKDEP_SUPPORT def_bool y config STACKTRACE_SUPPORT def_bool y config TRACE_IRQFLAGS_SUPPORT def_bool y config MMU def_bool n config VARIANT_IRQ_SWITCH def_bool n menu "Processor type and features" choice prompt "Xtensa Processor Configuration" default XTENSA_VARIANT_FSF config XTENSA_VARIANT_FSF bool "fsf - default (not generic) configuration" select MMU config XTENSA_VARIANT_DC232B bool "dc232b - Diamond 232L Standard Core Rev.B (LE)" select MMU help This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE). config XTENSA_VARIANT_DC233C bool "dc233c - Diamond 233L Standard Core Rev.C (LE)" select MMU help This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE). config XTENSA_VARIANT_S6000 bool "s6000 - Stretch software configurable processor" select VARIANT_IRQ_SWITCH select ARCH_REQUIRE_GPIOLIB select XTENSA_CALIBRATE_CCOUNT endchoice config XTENSA_UNALIGNED_USER bool "Unaligned memory access in use space" help The Xtensa architecture currently does not handle unaligned memory accesses in hardware but through an exception handler. Per default, unaligned memory accesses are disabled in user space. Say Y here to enable unaligned memory access in user space. source "kernel/Kconfig.preempt" config MATH_EMULATION bool "Math emulation" help Can we use information of configuration file? config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX bool "Initialize Xtensa MMU inside the Linux kernel code" default y help Earlier version initialized the MMU in the exception vector before jumping to _startup in head.S and had an advantage that it was possible to place a software breakpoint at 'reset' and then enter your normal kernel breakpoints once the MMU was mapped to the kernel mappings (0XC0000000). This unfortunately doesn't work for U-Boot and likley also wont work for using KEXEC to have a hot kernel ready for doing a KDUMP. So now the MMU is initialized in head.S but it's necessary to use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup. xt-gdb can't place a Software Breakpoint in the 0XD region prior to mapping the MMU and after mapping even if the area of low memory was mapped gdb wouldn't remove the breakpoint on hitting it as the PC wouldn't match. Since Hardware Breakpoints are recommended for Linux configurations it seems reasonable to just assume they exist and leave this older mechanism for unfortunate souls that choose not to follow Tensilica's recommendation. Selecting this will cause U-Boot to set the KERNEL Load and Entry address at 0x00003000 instead of the mapped std of 0xD0003000. If in doubt, say Y. endmenu config XTENSA_CALIBRATE_CCOUNT def_bool n help On some platforms (XT2000, for example), the CPU clock rate can vary. The frequency can be determined, however, by measuring against a well known, fixed frequency, such as an UART oscillator. config SERIAL_CONSOLE def_bool n config XTENSA_ISS_NETWORK def_bool n menu "Bus options" config PCI bool "PCI support" default y help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or VESA. If you have PCI, say Y, otherwise N. source "drivers/pci/Kconfig" endmenu menu "Platform options" choice prompt "Xtensa System Type" default XTENSA_PLATFORM_ISS config XTENSA_PLATFORM_ISS bool "ISS" depends on TTY select XTENSA_CALIBRATE_CCOUNT select SERIAL_CONSOLE select XTENSA_ISS_NETWORK help ISS is an acronym for Tensilica's Instruction Set Simulator. config XTENSA_PLATFORM_XT2000 bool "XT2000" help XT2000 is the name of Tensilica's feature-rich emulation platform. This hardware is capable of running a full Linux distribution. config XTENSA_PLATFORM_S6105 bool "S6105" select SERIAL_CONSOLE select NO_IOPORT config XTENSA_PLATFORM_XTFPGA bool "XTFPGA" select SERIAL_CONSOLE select ETHOC select XTENSA_CALIBRATE_CCOUNT help XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605). This hardware is capable of running a full Linux distribution. endchoice config XTENSA_CPU_CLOCK int "CPU clock rate [MHz]" depends on !XTENSA_CALIBRATE_CCOUNT default 16 config GENERIC_CALIBRATE_DELAY bool "Auto calibration of the BogoMIPS value" help The BogoMIPS value can easily be derived from the CPU frequency. config CMDLINE_BOOL bool "Default bootloader kernel arguments" config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,38400 root=/dev/ram" help On some architectures (EBSA110 and CATS), there is currently no way for the boot loader to pass arguments to the kernel. For these architectures, you should supply some command-line options at build time by entering them here. As a minimum, you should specify the memory size and the root device (e.g., mem=64M root=/dev/nfs). config USE_OF bool "Flattened Device Tree support" select OF select OF_EARLY_FLATTREE help Include support for flattened device tree machine descriptions. config BUILTIN_DTB string "DTB to build into the kernel image" depends on OF config BLK_DEV_SIMDISK tristate "Host file-based simulated block device support" default n depends on XTENSA_PLATFORM_ISS help Create block devices that map to files in the host file system. Device binding to host file may be changed at runtime via proc interface provided the device is not in use. config BLK_DEV_SIMDISK_COUNT int "Number of host file-based simulated block devices" range 1 10 depends on BLK_DEV_SIMDISK default 2 help This is the default minimal number of created block devices. Kernel/module parameter 'simdisk_count' may be used to change this value at runtime. More file names (but no more than 10) may be specified as parameters, simdisk_count grows accordingly. config SIMDISK0_FILENAME string "Host filename for the first simulated device" depends on BLK_DEV_SIMDISK = y default "" help Attach a first simdisk to a host file. Conventionally, this file contains a root file system. config SIMDISK1_FILENAME string "Host filename for the second simulated device" depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1 default "" help Another simulated disk in a host file for a buildroot-independent storage. source "mm/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "Executable file formats" source "fs/Kconfig.binfmt" endmenu source "net/Kconfig" source "drivers/Kconfig" source "fs/Kconfig" source "arch/xtensa/Kconfig.debug" source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" # # Block layer core configuration # menuconfig BLOCK bool "Enable the block layer" if EXPERT default y help Provide block layer support for the kernel. Disable this option to remove the block layer support from the kernel. This may be useful for embedded devices. If this option is disabled: - block device files will become unusable - some filesystems (such as ext3) will become unavailable. Also, SCSI character devices and USB storage will be disabled since they make use of various block layer definitions and facilities. Say Y here unless you know you really don't want to mount disks and suchlike. if BLOCK config LBDAF bool "Support for large (2TB+) block devices and files" depends on !64BIT default y help Enable block devices or files of size 2TB and larger. This option is required to support the full capacity of large (2TB+) block devices, including RAID, disk, Network Block Device, Logical Volume Manager (LVM) and loopback. This option also enables support for single files larger than 2TB. The ext4 filesystem requires that this feature be enabled in order to support filesystems that have the huge_file feature enabled. Otherwise, it will refuse to mount in the read-write mode any filesystems that use the huge_file feature, which is enabled by default by mke2fs.ext4. The GFS2 filesystem also requires this feature. If unsure, say Y. config BLK_DEV_BSG bool "Block layer SG support v4" default y help Saying Y here will enable generic SG (SCSI generic) v4 support for any block device. Unlike SG v3 (aka block/scsi_ioctl.c drivers/scsi/sg.c), SG v4 can handle complicated SCSI commands: tagged variable length cdbs with bidirectional data transfers and generic request/response protocols (e.g. Task Management Functions and SMP in Serial Attached SCSI). This option is required by recent UDEV versions to properly access device serial numbers, etc. If unsure, say Y. config BLK_DEV_BSGLIB bool "Block layer SG support v4 helper lib" default n select BLK_DEV_BSG help Subsystems will normally enable this if needed. Users will not normally need to manually enable this. If unsure, say N. config BLK_DEV_INTEGRITY bool "Block layer data integrity support" ---help--- Some storage devices allow extra information to be stored/retrieved to help protect the data. The block layer data integrity option provides hooks which can be used by filesystems to ensure better data integrity. Say yes here if you have a storage device that provides the T10/SCSI Data Integrity Field or the T13/ATA External Path Protection. If in doubt, say N. config BLK_DEV_THROTTLING bool "Block layer bio throttling support" depends on BLK_CGROUP=y default n ---help--- Block layer bio throttling support. It can be used to limit the IO rate to a device. IO rate policies are per cgroup and one needs to mount and use blkio cgroup controller for creating cgroups and specifying per device IO rate policies. See Documentation/cgroups/blkio-controller.txt for more information. config BLK_CMDLINE_PARSER bool "Block device command line partition parser" default n ---help--- Enabling this option allows you to specify the partition layout from the kernel boot args. This is typically of use for embedded devices which don't otherwise have any standardized method for listing the partitions on a block device. See Documentation/block/cmdline-partition.txt for more information. menu "Partition Types" source "block/partitions/Kconfig" endmenu endif # BLOCK config BLOCK_COMPAT bool depends on BLOCK && COMPAT default y source block/Kconfig.iosched # # Partition configuration # config PARTITION_ADVANCED bool "Advanced partition selection" help Say Y here if you would like to use hard disks under Linux which were partitioned under an operating system running on a different architecture than your Linux system. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about foreign partitioning schemes. If unsure, say N. config ACORN_PARTITION bool "Acorn partition support" if PARTITION_ADVANCED default y if ARCH_ACORN help Support hard disks partitioned under Acorn operating systems. config ACORN_PARTITION_CUMANA bool "Cumana partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION help Say Y here if you would like to use hard disks under Linux which were partitioned using the Cumana interface on Acorn machines. config ACORN_PARTITION_EESOX bool "EESOX partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION config ACORN_PARTITION_ICS bool "ICS partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION help Say Y here if you would like to use hard disks under Linux which were partitioned using the ICS interface on Acorn machines. config ACORN_PARTITION_ADFS bool "Native filecore partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION help The Acorn Disc Filing System is the standard file system of the RiscOS operating system which runs on Acorn's ARM-based Risc PC systems and the Acorn Archimedes range of machines. If you say `Y' here, Linux will support disk partitions created under ADFS. config ACORN_PARTITION_POWERTEC bool "PowerTec partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION help Support reading partition tables created on Acorn machines using the PowerTec SCSI drive. config ACORN_PARTITION_RISCIX bool "RISCiX partition support" if PARTITION_ADVANCED default y if ARCH_ACORN depends on ACORN_PARTITION help Once upon a time, there was a native Unix port for the Acorn series of machines called RISCiX. If you say 'Y' here, Linux will be able to read disks partitioned under RISCiX. config AIX_PARTITION bool "AIX basic partition table support" if PARTITION_ADVANCED help Say Y here if you would like to be able to read the hard disk partition table format used by IBM or Motorola PowerPC machines running AIX. AIX actually uses a Logical Volume Manager, where "logical volumes" can be spread across one or multiple disks, but this driver works only for the simple case of partitions which are contiguous. Otherwise, say N. config OSF_PARTITION bool "Alpha OSF partition support" if PARTITION_ADVANCED default y if ALPHA help Say Y here if you would like to use hard disks under Linux which were partitioned on an Alpha machine. config AMIGA_PARTITION bool "Amiga partition table support" if PARTITION_ADVANCED default y if (AMIGA || AFFS_FS=y) help Say Y here if you would like to use hard disks under Linux which were partitioned under AmigaOS. config ATARI_PARTITION bool "Atari partition table support" if PARTITION_ADVANCED default y if ATARI help Say Y here if you would like to use hard disks under Linux which were partitioned under the Atari OS. config IBM_PARTITION bool "IBM disk label and partition support" depends on PARTITION_ADVANCED && S390 help Say Y here if you would like to be able to read the hard disk partition table format used by IBM DASD disks operating under CMS. Otherwise, say N. config MAC_PARTITION bool "Macintosh partition map support" if PARTITION_ADVANCED default y if (MAC || PPC_PMAC) help Say Y here if you would like to use hard disks under Linux which were partitioned on a Macintosh. config MSDOS_PARTITION bool "PC BIOS (MSDOS partition tables) support" if PARTITION_ADVANCED default y help Say Y here. config BSD_DISKLABEL bool "BSD disklabel (FreeBSD partition tables) support" depends on PARTITION_ADVANCED && MSDOS_PARTITION help FreeBSD uses its own hard disk partition scheme on your PC. It requires only one entry in the primary partition table of your disk and manages it similarly to DOS extended partitions, putting in its first sector a new partition table in BSD disklabel format. Saying Y here allows you to read these disklabels and further mount FreeBSD partitions from within Linux if you have also said Y to "UFS file system support", above. If you don't know what all this is about, say N. config MINIX_SUBPARTITION bool "Minix subpartition support" depends on PARTITION_ADVANCED && MSDOS_PARTITION help Minix 2.0.0/2.0.2 subpartition table support for Linux. Say Y here if you want to mount and use Minix 2.0.0/2.0.2 subpartitions. config SOLARIS_X86_PARTITION bool "Solaris (x86) partition table support" depends on PARTITION_ADVANCED && MSDOS_PARTITION help Like most systems, Solaris x86 uses its own hard disk partition table format, incompatible with all others. Saying Y here allows you to read these partition tables and further mount Solaris x86 partitions from within Linux if you have also said Y to "UFS file system support", above. config UNIXWARE_DISKLABEL bool "Unixware slices support" depends on PARTITION_ADVANCED && MSDOS_PARTITION ---help--- Like some systems, UnixWare uses its own slice table inside a partition (VTOC - Virtual Table of Contents). Its format is incompatible with all other OSes. Saying Y here allows you to read VTOC and further mount UnixWare partitions read-only from within Linux if you have also said Y to "UFS file system support" or "System V and Coherent file system support", above. This is mainly used to carry data from a UnixWare box to your Linux box via a removable medium like magneto-optical, ZIP or removable IDE drives. Note, however, that a good portable way to transport files and directories between unixes (and even other operating systems) is given by the tar program ("man tar" or preferably "info tar"). If you don't know what all this is about, say N. config LDM_PARTITION bool "Windows Logical Disk Manager (Dynamic Disk) support" depends on PARTITION_ADVANCED ---help--- Say Y here if you would like to use hard disks under Linux which were partitioned using Windows 2000's/XP's or Vista's Logical Disk Manager. They are also known as "Dynamic Disks". Note this driver only supports Dynamic Disks with a protective MBR label, i.e. DOS partition table. It does not support GPT labelled Dynamic Disks yet as can be created with Vista. Windows 2000 introduced the concept of Dynamic Disks to get around the limitations of the PC's partitioning scheme. The Logical Disk Manager allows the user to repartition a disk and create spanned, mirrored, striped or RAID volumes, all without the need for rebooting. Normal partitions are now called Basic Disks under Windows 2000, XP, and Vista. For a fuller description read . If unsure, say N. config LDM_DEBUG bool "Windows LDM extra logging" depends on LDM_PARTITION help Say Y here if you would like LDM to log verbosely. This could be helpful if the driver doesn't work as expected and you'd like to report a bug. If unsure, say N. config SGI_PARTITION bool "SGI partition support" if PARTITION_ADVANCED default y if DEFAULT_SGI_PARTITION help Say Y here if you would like to be able to read the hard disk partition table format used by SGI machines. config ULTRIX_PARTITION bool "Ultrix partition table support" if PARTITION_ADVANCED default y if MACH_DECSTATION help Say Y here if you would like to be able to read the hard disk partition table format used by DEC (now Compaq) Ultrix machines. Otherwise, say N. config SUN_PARTITION bool "Sun partition tables support" if PARTITION_ADVANCED default y if (SPARC || SUN3 || SUN3X) ---help--- Like most systems, SunOS uses its own hard disk partition table format, incompatible with all others. Saying Y here allows you to read these partition tables and further mount SunOS partitions from within Linux if you have also said Y to "UFS file system support", above. This is mainly used to carry data from a SPARC under SunOS to your Linux box via a removable medium like magneto-optical or ZIP drives; note however that a good portable way to transport files and directories between unixes (and even other operating systems) is given by the tar program ("man tar" or preferably "info tar"). If you don't know what all this is about, say N. config KARMA_PARTITION bool "Karma Partition support" depends on PARTITION_ADVANCED help Say Y here if you would like to mount the Rio Karma MP3 player, as it uses a proprietary partition table. config EFI_PARTITION bool "EFI GUID Partition support" if PARTITION_ADVANCED default y select CRC32 help Say Y here if you would like to use hard disks under Linux which were partitioned using EFI GPT. config SYSV68_PARTITION bool "SYSV68 partition table support" if PARTITION_ADVANCED default y if VME help Say Y here if you would like to be able to read the hard disk partition table format used by Motorola Delta machines (using sysv68). Otherwise, say N. config CMDLINE_PARTITION bool "Command line partition support" if PARTITION_ADVANCED select BLK_CMDLINE_PARSER help Say Y here if you want to read the partition table from bootargs. The format for the command line is just like mtdparts. # # Generic algorithms support # config XOR_BLOCKS tristate # # async_tx api: hardware offloaded memory transfer/transform support # source "crypto/async_tx/Kconfig" # # Cryptographic API Configuration # menuconfig CRYPTO tristate "Cryptographic API" help This option provides the core Cryptographic API. if CRYPTO comment "Crypto core or helper" config CRYPTO_FIPS bool "FIPS 200 compliance" depends on CRYPTO_ANSI_CPRNG && !CRYPTO_MANAGER_DISABLE_TESTS help This options enables the fips boot option which is required if you want to system to operate in a FIPS 200 certification. You should say no unless you know what this is. config CRYPTO_ALGAPI tristate select CRYPTO_ALGAPI2 help This option provides the API for cryptographic algorithms. config CRYPTO_ALGAPI2 tristate config CRYPTO_AEAD tristate select CRYPTO_AEAD2 select CRYPTO_ALGAPI config CRYPTO_AEAD2 tristate select CRYPTO_ALGAPI2 config CRYPTO_BLKCIPHER tristate select CRYPTO_BLKCIPHER2 select CRYPTO_ALGAPI config CRYPTO_BLKCIPHER2 tristate select CRYPTO_ALGAPI2 select CRYPTO_RNG2 select CRYPTO_WORKQUEUE config CRYPTO_HASH tristate select CRYPTO_HASH2 select CRYPTO_ALGAPI config CRYPTO_HASH2 tristate select CRYPTO_ALGAPI2 config CRYPTO_RNG tristate select CRYPTO_RNG2 select CRYPTO_ALGAPI config CRYPTO_RNG2 tristate select CRYPTO_ALGAPI2 config CRYPTO_PCOMP tristate select CRYPTO_PCOMP2 select CRYPTO_ALGAPI config CRYPTO_PCOMP2 tristate select CRYPTO_ALGAPI2 config CRYPTO_MANAGER tristate "Cryptographic algorithm manager" select CRYPTO_MANAGER2 help Create default cryptographic template instantiations such as cbc(aes). config CRYPTO_MANAGER2 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) select CRYPTO_AEAD2 select CRYPTO_HASH2 select CRYPTO_BLKCIPHER2 select CRYPTO_PCOMP2 config CRYPTO_USER tristate "Userspace cryptographic algorithm configuration" depends on NET select CRYPTO_MANAGER help Userspace configuration for cryptographic instantiations such as cbc(aes). config CRYPTO_MANAGER_DISABLE_TESTS bool "Disable run-time self tests" default y depends on CRYPTO_MANAGER2 help Disable run-time self tests that normally take place at algorithm registration. config CRYPTO_GF128MUL tristate "GF(2^128) multiplication functions" help Efficient table driven implementation of multiplications in the field GF(2^128). This is needed by some cypher modes. This option will be selected automatically if you select such a cipher mode. Only select this option by hand if you expect to load an external module that requires these functions. config CRYPTO_NULL tristate "Null algorithms" select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select CRYPTO_HASH help These are 'Null' algorithms, used by IPsec, which do nothing. config CRYPTO_PCRYPT tristate "Parallel crypto engine" depends on SMP select PADATA select CRYPTO_MANAGER select CRYPTO_AEAD help This converts an arbitrary crypto algorithm into a parallel algorithm that executes in kernel threads. config CRYPTO_WORKQUEUE tristate config CRYPTO_CRYPTD tristate "Software async crypto daemon" select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MANAGER select CRYPTO_WORKQUEUE help This is a generic software asynchronous crypto daemon that converts an arbitrary synchronous software crypto algorithm into an asynchronous algorithm that executes in a kernel thread. config CRYPTO_AUTHENC tristate "Authenc support" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_HASH help Authenc: Combined mode wrapper for IPsec. This is required for IPSec. config CRYPTO_TEST tristate "Testing module" depends on m select CRYPTO_MANAGER help Quick & dirty crypto test module. config CRYPTO_ABLK_HELPER tristate select CRYPTO_CRYPTD config CRYPTO_GLUE_HELPER_X86 tristate depends on X86 select CRYPTO_ALGAPI comment "Authenticated Encryption with Associated Data" config CRYPTO_CCM tristate "CCM support" select CRYPTO_CTR select CRYPTO_AEAD help Support for Counter with CBC MAC. Required for IPsec. config CRYPTO_GCM tristate "GCM/GMAC support" select CRYPTO_CTR select CRYPTO_AEAD select CRYPTO_GHASH select CRYPTO_NULL help Support for Galois/Counter Mode (GCM) and Galois Message Authentication Code (GMAC). Required for IPSec. config CRYPTO_SEQIV tristate "Sequence Number IV Generator" select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_RNG help This IV generator generates an IV based on a sequence number by xoring it with a salt. This algorithm is mainly useful for CTR comment "Block modes" config CRYPTO_CBC tristate "CBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help CBC: Cipher Block Chaining mode This block cipher algorithm is required for IPSec. config CRYPTO_CTR tristate "CTR support" select CRYPTO_BLKCIPHER select CRYPTO_SEQIV select CRYPTO_MANAGER help CTR: Counter mode This block cipher algorithm is required for IPSec. config CRYPTO_CTS tristate "CTS support" select CRYPTO_BLKCIPHER help CTS: Cipher Text Stealing This is the Cipher Text Stealing mode as described by Section 8 of rfc2040 and referenced by rfc3962. (rfc3962 includes errata information in its Appendix A) This mode is required for Kerberos gss mechanism support for AES encryption. config CRYPTO_ECB tristate "ECB support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help ECB: Electronic CodeBook mode This is the simplest block cipher algorithm. It simply encrypts the input block by block. config CRYPTO_LRW tristate "LRW support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_GF128MUL help LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable narrow block cipher mode for dm-crypt. Use it with cipher specification string aes-lrw-benbi, the key must be 256, 320 or 384. The first 128, 192 or 256 bits in the key are used for AES and the rest is used to tie each cipher block to its logical position. config CRYPTO_PCBC tristate "PCBC support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER help PCBC: Propagating Cipher Block Chaining mode This block cipher algorithm is required for RxRPC. config CRYPTO_XTS tristate "XTS support" select CRYPTO_BLKCIPHER select CRYPTO_MANAGER select CRYPTO_GF128MUL help XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain, key size 256, 384 or 512 bits. This implementation currently can't handle a sectorsize which is not a multiple of 16 bytes. comment "Hash modes" config CRYPTO_CMAC tristate "CMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help Cipher-based Message Authentication Code (CMAC) specified by The National Institute of Standards and Technology (NIST). https://tools.ietf.org/html/rfc4493 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf config CRYPTO_HMAC tristate "HMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help HMAC: Keyed-Hashing for Message Authentication (RFC2104). This is required for IPSec. config CRYPTO_XCBC tristate "XCBC support" select CRYPTO_HASH select CRYPTO_MANAGER help XCBC: Keyed-Hashing with encryption algorithm http://www.ietf.org/rfc/rfc3566.txt http://csrc.nist.gov/encryption/modes/proposedmodes/ xcbc-mac/xcbc-mac-spec.pdf config CRYPTO_VMAC tristate "VMAC support" select CRYPTO_HASH select CRYPTO_MANAGER help VMAC is a message authentication algorithm designed for very high speed on 64-bit architectures. See also: comment "Digest" config CRYPTO_CRC32C tristate "CRC32c CRC algorithm" select CRYPTO_HASH select CRC32 help Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used by iSCSI for header and data digests and by others. See Castagnoli93. Module will be crc32c. config CRYPTO_CRC32C_INTEL tristate "CRC32c INTEL hardware acceleration" depends on X86 select CRYPTO_HASH help In Intel processor with SSE4.2 supported, the processor will support CRC32C implementation using hardware accelerated CRC32 instruction. This option will create 'crc32c-intel' module, which will enable any routine to use the CRC32 instruction to gain performance compared with software implementation. Module will be crc32c-intel. config CRYPTO_CRC32C_SPARC64 tristate "CRC32c CRC algorithm (SPARC64)" depends on SPARC64 select CRYPTO_HASH select CRC32 help CRC32c CRC algorithm implemented using sparc64 crypto instructions, when available. config CRYPTO_CRC32 tristate "CRC32 CRC algorithm" select CRYPTO_HASH select CRC32 help CRC-32-IEEE 802.3 cyclic redundancy-check algorithm. Shash crypto api wrappers to crc32_le function. config CRYPTO_CRC32_PCLMUL tristate "CRC32 PCLMULQDQ hardware acceleration" depends on X86 select CRYPTO_HASH select CRC32 help From Intel Westmere and AMD Bulldozer processor with SSE4.2 and PCLMULQDQ supported, the processor will support CRC32 PCLMULQDQ implementation using hardware accelerated PCLMULQDQ instruction. This option will create 'crc32-plcmul' module, which will enable any routine to use the CRC-32-IEEE 802.3 checksum and gain better performance as compared with the table implementation. config CRYPTO_CRCT10DIF tristate "CRCT10DIF algorithm" select CRYPTO_HASH help CRC T10 Data Integrity Field computation is being cast as a crypto transform. This allows for faster crc t10 diff transforms to be used if they are available. config CRYPTO_CRCT10DIF_PCLMUL tristate "CRCT10DIF PCLMULQDQ hardware acceleration" depends on X86 && 64BIT && CRC_T10DIF select CRYPTO_HASH help For x86_64 processors with SSE4.2 and PCLMULQDQ supported, CRC T10 DIF PCLMULQDQ computation can be hardware accelerated PCLMULQDQ instruction. This option will create 'crct10dif-plcmul' module, which is faster when computing the crct10dif checksum as compared with the generic table implementation. config CRYPTO_GHASH tristate "GHASH digest algorithm" select CRYPTO_GF128MUL help GHASH is message digest algorithm for GCM (Galois/Counter Mode). config CRYPTO_MD4 tristate "MD4 digest algorithm" select CRYPTO_HASH help MD4 message digest algorithm (RFC1320). config CRYPTO_MD5 tristate "MD5 digest algorithm" select CRYPTO_HASH help MD5 message digest algorithm (RFC1321). config CRYPTO_MD5_SPARC64 tristate "MD5 digest algorithm (SPARC64)" depends on SPARC64 select CRYPTO_MD5 select CRYPTO_HASH help MD5 message digest algorithm (RFC1321) implemented using sparc64 crypto instructions, when available. config CRYPTO_MICHAEL_MIC tristate "Michael MIC keyed digest algorithm" select CRYPTO_HASH help Michael MIC is used for message integrity protection in TKIP (IEEE 802.11i). This algorithm is required for TKIP, but it should not be used for other purposes because of the weakness of the algorithm. config CRYPTO_RMD128 tristate "RIPEMD-128 digest algorithm" select CRYPTO_HASH help RIPEMD-128 (ISO/IEC 10118-3:2004). RIPEMD-128 is a 128-bit cryptographic hash function. It should only be used as a secure replacement for RIPEMD. For other use cases, RIPEMD-160 should be used. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. See config CRYPTO_RMD160 tristate "RIPEMD-160 digest algorithm" select CRYPTO_HASH help RIPEMD-160 (ISO/IEC 10118-3:2004). RIPEMD-160 is a 160-bit cryptographic hash function. It is intended to be used as a secure replacement for the 128-bit hash functions MD4, MD5 and it's predecessor RIPEMD (not to be confused with RIPEMD-128). It's speed is comparable to SHA1 and there are no known attacks against RIPEMD-160. Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. See config CRYPTO_RMD256 tristate "RIPEMD-256 digest algorithm" select CRYPTO_HASH help RIPEMD-256 is an optional extension of RIPEMD-128 with a 256 bit hash. It is intended for applications that require longer hash-results, without needing a larger security level (than RIPEMD-128). Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. See config CRYPTO_RMD320 tristate "RIPEMD-320 digest algorithm" select CRYPTO_HASH help RIPEMD-320 is an optional extension of RIPEMD-160 with a 320 bit hash. It is intended for applications that require longer hash-results, without needing a larger security level (than RIPEMD-160). Developed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. See config CRYPTO_SHA1 tristate "SHA1 digest algorithm" select CRYPTO_HASH help SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). config CRYPTO_SHA1_SSSE3 tristate "SHA1 digest algorithm (SSSE3/AVX)" depends on X86 && 64BIT select CRYPTO_SHA1 select CRYPTO_HASH help SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented using Supplemental SSE3 (SSSE3) instructions or Advanced Vector Extensions (AVX), when available. config CRYPTO_SHA256_SSSE3 tristate "SHA256 digest algorithm (SSSE3/AVX/AVX2)" depends on X86 && 64BIT select CRYPTO_SHA256 select CRYPTO_HASH help SHA-256 secure hash standard (DFIPS 180-2) implemented using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector Extensions version 1 (AVX1), or Advanced Vector Extensions version 2 (AVX2) instructions, when available. config CRYPTO_SHA512_SSSE3 tristate "SHA512 digest algorithm (SSSE3/AVX/AVX2)" depends on X86 && 64BIT select CRYPTO_SHA512 select CRYPTO_HASH help SHA-512 secure hash standard (DFIPS 180-2) implemented using Supplemental SSE3 (SSSE3) instructions, or Advanced Vector Extensions version 1 (AVX1), or Advanced Vector Extensions version 2 (AVX2) instructions, when available. config CRYPTO_SHA1_SPARC64 tristate "SHA1 digest algorithm (SPARC64)" depends on SPARC64 select CRYPTO_SHA1 select CRYPTO_HASH help SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented using sparc64 crypto instructions, when available. config CRYPTO_SHA1_ARM tristate "SHA1 digest algorithm (ARM-asm)" depends on ARM select CRYPTO_SHA1 select CRYPTO_HASH help SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented using optimized ARM assembler. config CRYPTO_SHA1_PPC tristate "SHA1 digest algorithm (powerpc)" depends on PPC help This is the powerpc hardware accelerated implementation of the SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). config CRYPTO_SHA256 tristate "SHA224 and SHA256 digest algorithm" select CRYPTO_HASH help SHA256 secure hash standard (DFIPS 180-2). This version of SHA implements a 256 bit hash with 128 bits of security against collision attacks. This code also includes SHA-224, a 224 bit hash with 112 bits of security against collision attacks. config CRYPTO_SHA256_SPARC64 tristate "SHA224 and SHA256 digest algorithm (SPARC64)" depends on SPARC64 select CRYPTO_SHA256 select CRYPTO_HASH help SHA-256 secure hash standard (DFIPS 180-2) implemented using sparc64 crypto instructions, when available. config CRYPTO_SHA512 tristate "SHA384 and SHA512 digest algorithms" select CRYPTO_HASH help SHA512 secure hash standard (DFIPS 180-2). This version of SHA implements a 512 bit hash with 256 bits of security against collision attacks. This code also includes SHA-384, a 384 bit hash with 192 bits of security against collision attacks. config CRYPTO_SHA512_SPARC64 tristate "SHA384 and SHA512 digest algorithm (SPARC64)" depends on SPARC64 select CRYPTO_SHA512 select CRYPTO_HASH help SHA-512 secure hash standard (DFIPS 180-2) implemented using sparc64 crypto instructions, when available. config CRYPTO_TGR192 tristate "Tiger digest algorithms" select CRYPTO_HASH help Tiger hash algorithm 192, 160 and 128-bit hashes Tiger is a hash function optimized for 64-bit processors while still having decent performance on 32-bit processors. Tiger was developed by Ross Anderson and Eli Biham. See also: . config CRYPTO_WP512 tristate "Whirlpool digest algorithms" select CRYPTO_HASH help Whirlpool hash algorithm 512, 384 and 256-bit hashes Whirlpool-512 is part of the NESSIE cryptographic primitives. Whirlpool will be part of the ISO/IEC 10118-3:2003(E) standard See also: config CRYPTO_GHASH_CLMUL_NI_INTEL tristate "GHASH digest algorithm (CLMUL-NI accelerated)" depends on X86 && 64BIT select CRYPTO_CRYPTD help GHASH is message digest algorithm for GCM (Galois/Counter Mode). The implementation is accelerated by CLMUL-NI of Intel. comment "Ciphers" config CRYPTO_AES tristate "AES cipher algorithms" select CRYPTO_ALGAPI help AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. config CRYPTO_AES_586 tristate "AES cipher algorithms (i586)" depends on (X86 || UML_X86) && !64BIT select CRYPTO_ALGAPI select CRYPTO_AES help AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. config CRYPTO_AES_X86_64 tristate "AES cipher algorithms (x86_64)" depends on (X86 || UML_X86) && 64BIT select CRYPTO_ALGAPI select CRYPTO_AES help AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. config CRYPTO_AES_NI_INTEL tristate "AES cipher algorithms (AES-NI)" depends on X86 select CRYPTO_AES_X86_64 if 64BIT select CRYPTO_AES_586 if !64BIT select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_ALGAPI select CRYPTO_GLUE_HELPER_X86 if 64BIT select CRYPTO_LRW select CRYPTO_XTS help Use Intel AES-NI instructions for AES algorithm. AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. In addition to AES cipher algorithm support, the acceleration for some popular block cipher mode is supported too, including ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional acceleration for CTR. config CRYPTO_AES_SPARC64 tristate "AES cipher algorithms (SPARC64)" depends on SPARC64 select CRYPTO_CRYPTD select CRYPTO_ALGAPI help Use SPARC64 crypto opcodes for AES algorithm. AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. In addition to AES cipher algorithm support, the acceleration for some popular block cipher mode is supported too, including ECB and CBC. config CRYPTO_AES_ARM tristate "AES cipher algorithms (ARM-asm)" depends on ARM select CRYPTO_ALGAPI select CRYPTO_AES help Use optimized AES assembler routines for ARM platforms. AES cipher algorithms (FIPS-197). AES uses the Rijndael algorithm. Rijndael appears to be consistently a very good performer in both hardware and software across a wide range of computing environments regardless of its use in feedback or non-feedback modes. Its key setup time is excellent, and its key agility is good. Rijndael's very low memory requirements make it very well suited for restricted-space environments, in which it also demonstrates excellent performance. Rijndael's operations are among the easiest to defend against power and timing attacks. The AES specifies three key sizes: 128, 192 and 256 bits See for more information. config CRYPTO_AES_ARM_BS tristate "Bit sliced AES using NEON instructions" depends on ARM && KERNEL_MODE_NEON select CRYPTO_ALGAPI select CRYPTO_AES_ARM select CRYPTO_ABLK_HELPER help Use a faster and more secure NEON based implementation of AES in CBC, CTR and XTS modes Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode and for XTS mode encryption, CBC and XTS mode decryption speedup is around 25%. (CBC encryption speed is not affected by this driver.) This implementation does not rely on any lookup tables so it is believed to be invulnerable to cache timing attacks. config CRYPTO_ANUBIS tristate "Anubis cipher algorithm" select CRYPTO_ALGAPI help Anubis cipher algorithm. Anubis is a variable key length cipher which can use keys from 128 bits to 320 bits in length. It was evaluated as a entrant in the NESSIE competition. See also: config CRYPTO_ARC4 tristate "ARC4 cipher algorithm" select CRYPTO_BLKCIPHER help ARC4 cipher algorithm. ARC4 is a stream cipher using keys ranging from 8 bits to 2048 bits in length. This algorithm is required for driver-based WEP, but it should not be for other purposes because of the weakness of the algorithm. config CRYPTO_BLOWFISH tristate "Blowfish cipher algorithm" select CRYPTO_ALGAPI select CRYPTO_BLOWFISH_COMMON help Blowfish cipher algorithm, by Bruce Schneier. This is a variable key length cipher which can use keys from 32 bits to 448 bits in length. It's fast, simple and specifically designed for use on "large microprocessors". See also: config CRYPTO_BLOWFISH_COMMON tristate help Common parts of the Blowfish cipher algorithm shared by the generic c and the assembler implementations. See also: config CRYPTO_BLOWFISH_X86_64 tristate "Blowfish cipher algorithm (x86_64)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_BLOWFISH_COMMON help Blowfish cipher algorithm (x86_64), by Bruce Schneier. This is a variable key length cipher which can use keys from 32 bits to 448 bits in length. It's fast, simple and specifically designed for use on "large microprocessors". See also: config CRYPTO_CAMELLIA tristate "Camellia cipher algorithms" depends on CRYPTO select CRYPTO_ALGAPI help Camellia cipher algorithms module. Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation. The Camellia specifies three key sizes: 128, 192 and 256 bits. See also: config CRYPTO_CAMELLIA_X86_64 tristate "Camellia cipher algorithm (x86_64)" depends on X86 && 64BIT depends on CRYPTO select CRYPTO_ALGAPI select CRYPTO_GLUE_HELPER_X86 select CRYPTO_LRW select CRYPTO_XTS help Camellia cipher algorithm module (x86_64). Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation. The Camellia specifies three key sizes: 128, 192 and 256 bits. See also: config CRYPTO_CAMELLIA_AESNI_AVX_X86_64 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX)" depends on X86 && 64BIT depends on CRYPTO select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_CAMELLIA_X86_64 select CRYPTO_LRW select CRYPTO_XTS help Camellia cipher algorithm module (x86_64/AES-NI/AVX). Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation. The Camellia specifies three key sizes: 128, 192 and 256 bits. See also: config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)" depends on X86 && 64BIT depends on CRYPTO select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_CAMELLIA_X86_64 select CRYPTO_CAMELLIA_AESNI_AVX_X86_64 select CRYPTO_LRW select CRYPTO_XTS help Camellia cipher algorithm module (x86_64/AES-NI/AVX2). Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation. The Camellia specifies three key sizes: 128, 192 and 256 bits. See also: config CRYPTO_CAMELLIA_SPARC64 tristate "Camellia cipher algorithm (SPARC64)" depends on SPARC64 depends on CRYPTO select CRYPTO_ALGAPI help Camellia cipher algorithm module (SPARC64). Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation. The Camellia specifies three key sizes: 128, 192 and 256 bits. See also: config CRYPTO_CAST_COMMON tristate help Common parts of the CAST cipher algorithms shared by the generic c and the assembler implementations. config CRYPTO_CAST5 tristate "CAST5 (CAST-128) cipher algorithm" select CRYPTO_ALGAPI select CRYPTO_CAST_COMMON help The CAST5 encryption algorithm (synonymous with CAST-128) is described in RFC2144. config CRYPTO_CAST5_AVX_X86_64 tristate "CAST5 (CAST-128) cipher algorithm (x86_64/AVX)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_CAST_COMMON select CRYPTO_CAST5 help The CAST5 encryption algorithm (synonymous with CAST-128) is described in RFC2144. This module provides the Cast5 cipher algorithm that processes sixteen blocks parallel using the AVX instruction set. config CRYPTO_CAST6 tristate "CAST6 (CAST-256) cipher algorithm" select CRYPTO_ALGAPI select CRYPTO_CAST_COMMON help The CAST6 encryption algorithm (synonymous with CAST-256) is described in RFC2612. config CRYPTO_CAST6_AVX_X86_64 tristate "CAST6 (CAST-256) cipher algorithm (x86_64/AVX)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_CAST_COMMON select CRYPTO_CAST6 select CRYPTO_LRW select CRYPTO_XTS help The CAST6 encryption algorithm (synonymous with CAST-256) is described in RFC2612. This module provides the Cast6 cipher algorithm that processes eight blocks parallel using the AVX instruction set. config CRYPTO_DES tristate "DES and Triple DES EDE cipher algorithms" select CRYPTO_ALGAPI help DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). config CRYPTO_DES_SPARC64 tristate "DES and Triple DES EDE cipher algorithms (SPARC64)" depends on SPARC64 select CRYPTO_ALGAPI select CRYPTO_DES help DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3), optimized using SPARC64 crypto opcodes. config CRYPTO_FCRYPT tristate "FCrypt cipher algorithm" select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help FCrypt algorithm used by RxRPC. config CRYPTO_KHAZAD tristate "Khazad cipher algorithm" select CRYPTO_ALGAPI help Khazad cipher algorithm. Khazad was a finalist in the initial NESSIE competition. It is an algorithm optimized for 64-bit processors with good performance on 32-bit processors. Khazad uses an 128 bit key size. See also: config CRYPTO_SALSA20 tristate "Salsa20 stream cipher algorithm" select CRYPTO_BLKCIPHER help Salsa20 stream cipher algorithm. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT Stream Cipher Project. See The Salsa20 stream cipher algorithm is designed by Daniel J. Bernstein . See config CRYPTO_SALSA20_586 tristate "Salsa20 stream cipher algorithm (i586)" depends on (X86 || UML_X86) && !64BIT select CRYPTO_BLKCIPHER help Salsa20 stream cipher algorithm. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT Stream Cipher Project. See The Salsa20 stream cipher algorithm is designed by Daniel J. Bernstein . See config CRYPTO_SALSA20_X86_64 tristate "Salsa20 stream cipher algorithm (x86_64)" depends on (X86 || UML_X86) && 64BIT select CRYPTO_BLKCIPHER help Salsa20 stream cipher algorithm. Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT Stream Cipher Project. See The Salsa20 stream cipher algorithm is designed by Daniel J. Bernstein . See config CRYPTO_SEED tristate "SEED cipher algorithm" select CRYPTO_ALGAPI help SEED cipher algorithm (RFC4269). SEED is a 128-bit symmetric key block cipher that has been developed by KISA (Korea Information Security Agency) as a national standard encryption algorithm of the Republic of Korea. It is a 16 round block cipher with the key size of 128 bit. See also: config CRYPTO_SERPENT tristate "Serpent cipher algorithm" select CRYPTO_ALGAPI help Serpent cipher algorithm, by Anderson, Biham & Knudsen. Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits. Also includes the 'Tnepres' algorithm, a reversed variant of Serpent for compatibility with old kerneli.org code. See also: config CRYPTO_SERPENT_SSE2_X86_64 tristate "Serpent cipher algorithm (x86_64/SSE2)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_SERPENT select CRYPTO_LRW select CRYPTO_XTS help Serpent cipher algorithm, by Anderson, Biham & Knudsen. Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits. This module provides Serpent cipher algorithm that processes eigth blocks parallel using SSE2 instruction set. See also: config CRYPTO_SERPENT_SSE2_586 tristate "Serpent cipher algorithm (i586/SSE2)" depends on X86 && !64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_SERPENT select CRYPTO_LRW select CRYPTO_XTS help Serpent cipher algorithm, by Anderson, Biham & Knudsen. Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits. This module provides Serpent cipher algorithm that processes four blocks parallel using SSE2 instruction set. See also: config CRYPTO_SERPENT_AVX_X86_64 tristate "Serpent cipher algorithm (x86_64/AVX)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_SERPENT select CRYPTO_LRW select CRYPTO_XTS help Serpent cipher algorithm, by Anderson, Biham & Knudsen. Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits. This module provides the Serpent cipher algorithm that processes eight blocks parallel using the AVX instruction set. See also: config CRYPTO_SERPENT_AVX2_X86_64 tristate "Serpent cipher algorithm (x86_64/AVX2)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_SERPENT select CRYPTO_SERPENT_AVX_X86_64 select CRYPTO_LRW select CRYPTO_XTS help Serpent cipher algorithm, by Anderson, Biham & Knudsen. Keys are allowed to be from 0 to 256 bits in length, in steps of 8 bits. This module provides Serpent cipher algorithm that processes 16 blocks parallel using AVX2 instruction set. See also: config CRYPTO_TEA tristate "TEA, XTEA and XETA cipher algorithms" select CRYPTO_ALGAPI help TEA cipher algorithm. Tiny Encryption Algorithm is a simple cipher that uses many rounds for security. It is very fast and uses little memory. Xtendend Tiny Encryption Algorithm is a modification to the TEA algorithm to address a potential key weakness in the TEA algorithm. Xtendend Encryption Tiny Algorithm is a mis-implementation of the XTEA algorithm for compatibility purposes. config CRYPTO_TWOFISH tristate "Twofish cipher algorithm" select CRYPTO_ALGAPI select CRYPTO_TWOFISH_COMMON help Twofish cipher algorithm. Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems. It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits. See also: config CRYPTO_TWOFISH_COMMON tristate help Common parts of the Twofish cipher algorithm shared by the generic c and the assembler implementations. config CRYPTO_TWOFISH_586 tristate "Twofish cipher algorithms (i586)" depends on (X86 || UML_X86) && !64BIT select CRYPTO_ALGAPI select CRYPTO_TWOFISH_COMMON help Twofish cipher algorithm. Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems. It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits. See also: config CRYPTO_TWOFISH_X86_64 tristate "Twofish cipher algorithm (x86_64)" depends on (X86 || UML_X86) && 64BIT select CRYPTO_ALGAPI select CRYPTO_TWOFISH_COMMON help Twofish cipher algorithm (x86_64). Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems. It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits. See also: config CRYPTO_TWOFISH_X86_64_3WAY tristate "Twofish cipher algorithm (x86_64, 3-way parallel)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_TWOFISH_COMMON select CRYPTO_TWOFISH_X86_64 select CRYPTO_GLUE_HELPER_X86 select CRYPTO_LRW select CRYPTO_XTS help Twofish cipher algorithm (x86_64, 3-way parallel). Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems. It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits. This module provides Twofish cipher algorithm that processes three blocks parallel, utilizing resources of out-of-order CPUs better. See also: config CRYPTO_TWOFISH_AVX_X86_64 tristate "Twofish cipher algorithm (x86_64/AVX)" depends on X86 && 64BIT select CRYPTO_ALGAPI select CRYPTO_CRYPTD select CRYPTO_ABLK_HELPER select CRYPTO_GLUE_HELPER_X86 select CRYPTO_TWOFISH_COMMON select CRYPTO_TWOFISH_X86_64 select CRYPTO_TWOFISH_X86_64_3WAY select CRYPTO_LRW select CRYPTO_XTS help Twofish cipher algorithm (x86_64/AVX). Twofish was submitted as an AES (Advanced Encryption Standard) candidate cipher by researchers at CounterPane Systems. It is a 16 round block cipher supporting key sizes of 128, 192, and 256 bits. This module provides the Twofish cipher algorithm that processes eight blocks parallel using the AVX Instruction Set. See also: comment "Compression" config CRYPTO_DEFLATE tristate "Deflate compression algorithm" select CRYPTO_ALGAPI select ZLIB_INFLATE select ZLIB_DEFLATE help This is the Deflate algorithm (RFC1951), specified for use in IPSec with the IPCOMP protocol (RFC3173, RFC2394). You will most probably want this if using IPSec. config CRYPTO_ZLIB tristate "Zlib compression algorithm" select CRYPTO_PCOMP select ZLIB_INFLATE select ZLIB_DEFLATE select NLATTR help This is the zlib algorithm. config CRYPTO_LZO tristate "LZO compression algorithm" select CRYPTO_ALGAPI select LZO_COMPRESS select LZO_DECOMPRESS help This is the LZO algorithm. config CRYPTO_842 tristate "842 compression algorithm" depends on CRYPTO_DEV_NX_COMPRESS # 842 uses lzo if the hardware becomes unavailable select LZO_COMPRESS select LZO_DECOMPRESS help This is the 842 algorithm. config CRYPTO_LZ4 tristate "LZ4 compression algorithm" select CRYPTO_ALGAPI select LZ4_COMPRESS select LZ4_DECOMPRESS help This is the LZ4 algorithm. config CRYPTO_LZ4HC tristate "LZ4HC compression algorithm" select CRYPTO_ALGAPI select LZ4HC_COMPRESS select LZ4_DECOMPRESS help This is the LZ4 high compression mode algorithm. comment "Random Number Generation" config CRYPTO_ANSI_CPRNG tristate "Pseudo Random Number Generation for Cryptographic modules" default m select CRYPTO_AES select CRYPTO_RNG help This option enables the generic pseudo random number generator for cryptographic modules. Uses the Algorithm specified in ANSI X9.31 A.2.4. Note that this option must be enabled if CRYPTO_FIPS is selected config CRYPTO_USER_API tristate config CRYPTO_USER_API_HASH tristate "User-space interface for hash algorithms" depends on NET select CRYPTO_HASH select CRYPTO_USER_API help This option enables the user-spaces interface for hash algorithms. config CRYPTO_USER_API_SKCIPHER tristate "User-space interface for symmetric key cipher algorithms" depends on NET select CRYPTO_BLKCIPHER select CRYPTO_USER_API help This option enables the user-spaces interface for symmetric key cipher algorithms. config CRYPTO_HASH_INFO bool source "drivers/crypto/Kconfig" source crypto/asymmetric_keys/Kconfig endif # if CRYPTO menuconfig ASYMMETRIC_KEY_TYPE tristate "Asymmetric (public-key cryptographic) key type" depends on KEYS help This option provides support for a key type that holds the data for the asymmetric keys used for public key cryptographic operations such as encryption, decryption, signature generation and signature verification. if ASYMMETRIC_KEY_TYPE config ASYMMETRIC_PUBLIC_KEY_SUBTYPE tristate "Asymmetric public-key crypto algorithm subtype" select MPILIB select PUBLIC_KEY_ALGO_RSA select CRYPTO_HASH_INFO help This option provides support for asymmetric public key type handling. If signature generation and/or verification are to be used, appropriate hash algorithms (such as SHA-1) must be available. ENOPKG will be reported if the requisite algorithm is unavailable. config PUBLIC_KEY_ALGO_RSA tristate "RSA public-key algorithm" select MPILIB_EXTRA select MPILIB help This option enables support for the RSA algorithm (PKCS#1, RFC3447). config X509_CERTIFICATE_PARSER tristate "X.509 certificate parser" depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE select ASN1 select OID_REGISTRY help This option procides support for parsing X.509 format blobs for key data and provides the ability to instantiate a crypto key from a public key packet found inside the certificate. endif # ASYMMETRIC_KEY_TYPE config ASYNC_CORE tristate config ASYNC_MEMCPY tristate select ASYNC_CORE config ASYNC_XOR tristate select ASYNC_CORE select XOR_BLOCKS config ASYNC_PQ tristate select ASYNC_CORE config ASYNC_RAID6_RECOV tristate select ASYNC_CORE select ASYNC_PQ select ASYNC_XOR config ASYNC_TX_DISABLE_PQ_VAL_DMA bool config ASYNC_TX_DISABLE_XOR_VAL_DMA bool menu "Device Drivers" source "drivers/base/Kconfig" source "drivers/bus/Kconfig" source "drivers/connector/Kconfig" source "drivers/mtd/Kconfig" source "drivers/of/Kconfig" source "drivers/parport/Kconfig" source "drivers/pnp/Kconfig" source "drivers/block/Kconfig" # misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4 source "drivers/misc/Kconfig" source "drivers/ide/Kconfig" source "drivers/scsi/Kconfig" source "drivers/ata/Kconfig" source "drivers/md/Kconfig" source "drivers/target/Kconfig" source "drivers/message/fusion/Kconfig" source "drivers/firewire/Kconfig" source "drivers/message/i2o/Kconfig" source "drivers/macintosh/Kconfig" source "drivers/net/Kconfig" source "drivers/isdn/Kconfig" # input before char - char/joystick depends on it. As does USB. source "drivers/input/Kconfig" source "drivers/char/Kconfig" source "drivers/i2c/Kconfig" source "drivers/spi/Kconfig" source "drivers/hsi/Kconfig" source "drivers/pps/Kconfig" source "drivers/ptp/Kconfig" source "drivers/pinctrl/Kconfig" source "drivers/gpio/Kconfig" source "drivers/w1/Kconfig" source "drivers/power/Kconfig" source "drivers/hwmon/Kconfig" source "drivers/thermal/Kconfig" source "drivers/watchdog/Kconfig" source "drivers/ssb/Kconfig" source "drivers/bcma/Kconfig" source "drivers/mfd/Kconfig" source "drivers/regulator/Kconfig" source "drivers/media/Kconfig" source "drivers/video/Kconfig" source "sound/Kconfig" source "drivers/hid/Kconfig" source "drivers/usb/Kconfig" source "drivers/uwb/Kconfig" source "drivers/mmc/Kconfig" source "drivers/memstick/Kconfig" source "drivers/leds/Kconfig" source "drivers/accessibility/Kconfig" source "drivers/infiniband/Kconfig" source "drivers/edac/Kconfig" source "drivers/rtc/Kconfig" source "drivers/dma/Kconfig" source "drivers/dca/Kconfig" source "drivers/auxdisplay/Kconfig" source "drivers/uio/Kconfig" source "drivers/vfio/Kconfig" source "drivers/vlynq/Kconfig" source "drivers/virt/Kconfig" source "drivers/virtio/Kconfig" source "drivers/hv/Kconfig" source "drivers/xen/Kconfig" source "drivers/staging/Kconfig" source "drivers/platform/Kconfig" source "drivers/clk/Kconfig" source "drivers/hwspinlock/Kconfig" source "drivers/clocksource/Kconfig" source "drivers/mailbox/Kconfig" source "drivers/iommu/Kconfig" source "drivers/remoteproc/Kconfig" source "drivers/rpmsg/Kconfig" source "drivers/devfreq/Kconfig" source "drivers/extcon/Kconfig" source "drivers/memory/Kconfig" source "drivers/iio/Kconfig" source "drivers/ntb/Kconfig" source "drivers/vme/Kconfig" source "drivers/pwm/Kconfig" source "drivers/irqchip/Kconfig" source "drivers/ipack/Kconfig" source "drivers/reset/Kconfig" source "drivers/fmc/Kconfig" source "drivers/phy/Kconfig" source "drivers/powercap/Kconfig" endmenu menuconfig ACCESSIBILITY bool "Accessibility support" ---help--- Accessibility handles all special kinds of hardware devices or software adapters which help people with disabilities (e.g. blindness) to use computers. That includes braille devices, speech synthesis, keyboard remapping, etc. Say Y here to get to see options for accessibility. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. If unsure, say N. if ACCESSIBILITY config A11Y_BRAILLE_CONSOLE bool "Console on braille device" depends on VT depends on SERIAL_CORE_CONSOLE ---help--- Enables console output on a braille device connected to a 8250 serial port. For now only the VisioBraille device is supported. To actually enable it, you need to pass option console=brl,ttyS0 to the kernel. Options are the same as for serial console. If unsure, say N. endif # ACCESSIBILITY # # ACPI Configuration # menuconfig ACPI bool "ACPI (Advanced Configuration and Power Interface) Support" depends on !IA64_HP_SIM depends on IA64 || X86 depends on PCI select PNP default y help Advanced Configuration and Power Interface (ACPI) support for Linux requires an ACPI-compliant platform (hardware/firmware), and assumes the presence of OS-directed configuration and power management (OSPM) software. This option will enlarge your kernel by about 70K. Linux ACPI provides a robust functional replacement for several legacy configuration and power management interfaces, including the Plug-and-Play BIOS specification (PnP BIOS), the MultiProcessor Specification (MPS), and the Advanced Power Management (APM) specification. If both ACPI and APM support are configured, ACPI is used. The project home page for the Linux ACPI subsystem is here: Linux support for ACPI is based on Intel Corporation's ACPI Component Architecture (ACPI CA). For more information on the ACPI CA, see: ACPI is an open industry specification co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. The specification is available at: if ACPI config ACPI_SLEEP bool depends on SUSPEND || HIBERNATION default y config ACPI_PROCFS bool "Deprecated /proc/acpi files" depends on PROC_FS help For backwards compatibility, this option allows deprecated /proc/acpi/ files to exist, even when they have been replaced by functions in /sys. This option has no effect on /proc/acpi/ files and functions which do not yet exist in /sys. Say N to delete /proc/acpi/ files that have moved to /sys/ config ACPI_EC_DEBUGFS tristate "EC read/write access through /sys/kernel/debug/ec" default n help Say N to disable Embedded Controller /sys/kernel/debug interface Be aware that using this interface can confuse your Embedded Controller in a way that a normal reboot is not enough. You then have to power off your system, and remove the laptop battery for some seconds. An Embedded Controller typically is available on laptops and reads sensor values like battery state and temperature. The kernel accesses the EC through ACPI parsed code provided by BIOS tables. This option allows to access the EC directly without ACPI code being involved. Thus this option is a debug option that helps to write ACPI drivers and can be used to identify ACPI code or EC firmware bugs. config ACPI_AC tristate "AC Adapter" depends on X86 select POWER_SUPPLY default y help This driver supports the AC Adapter object, which indicates whether a system is on AC or not. If you have a system that can switch between A/C and battery, say Y. To compile this driver as a module, choose M here: the module will be called ac. config ACPI_BATTERY tristate "Battery" depends on X86 select POWER_SUPPLY default y help This driver adds support for battery information through /proc/acpi/battery. If you have a mobile system with a battery, say Y. To compile this driver as a module, choose M here: the module will be called battery. config ACPI_BUTTON tristate "Button" depends on INPUT default y help This driver handles events on the power, sleep, and lid buttons. A daemon reads events from input devices or via netlink and performs user-defined actions such as shutting down the system. This is necessary for software-controlled poweroff. To compile this driver as a module, choose M here: the module will be called button. config ACPI_VIDEO tristate "Video" depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL depends on INPUT select THERMAL help This driver implements the ACPI Extensions For Display Adapters for integrated graphics devices on motherboard, as specified in ACPI 2.0 Specification, Appendix B. This supports basic operations such as defining the video POST device, retrieving EDID information, and setting up a video output. To compile this driver as a module, choose M here: the module will be called video. config ACPI_FAN tristate "Fan" select THERMAL default y help This driver supports ACPI fan devices, allowing user-mode applications to perform basic fan control (on, off, status). To compile this driver as a module, choose M here: the module will be called fan. config ACPI_DOCK bool "Dock" help This driver supports ACPI-controlled docking stations and removable drive bays such as the IBM Ultrabay and the Dell Module Bay. config ACPI_PROCESSOR tristate "Processor" select THERMAL select CPU_IDLE default y help This driver installs ACPI as the idle handler for Linux and uses ACPI C2 and C3 processor states to save power on systems that support it. It is required by several flavors of cpufreq performance-state drivers. To compile this driver as a module, choose M here: the module will be called processor. config ACPI_IPMI tristate "IPMI" depends on IPMI_SI default n help This driver enables the ACPI to access the BMC controller. And it uses the IPMI request/response message to communicate with BMC controller, which can be found on on the server. To compile this driver as a module, choose M here: the module will be called as acpi_ipmi. config ACPI_HOTPLUG_CPU bool depends on ACPI_PROCESSOR && HOTPLUG_CPU select ACPI_CONTAINER default y config ACPI_PROCESSOR_AGGREGATOR tristate "Processor Aggregator" depends on ACPI_PROCESSOR depends on X86 help ACPI 4.0 defines processor Aggregator, which enables OS to perform specific processor configuration and control that applies to all processors in the platform. Currently only logical processor idling is defined, which is to reduce power consumption. This driver supports the new device. config ACPI_THERMAL tristate "Thermal Zone" depends on ACPI_PROCESSOR select THERMAL default y help This driver supports ACPI thermal zones. Most mobile and some desktop systems support ACPI thermal zones. It is HIGHLY recommended that this option be enabled, as your processor(s) may be damaged without it. To compile this driver as a module, choose M here: the module will be called thermal. config ACPI_NUMA bool "NUMA support" depends on NUMA depends on (X86 || IA64) default y if IA64_GENERIC || IA64_SGI_SN2 config ACPI_CUSTOM_DSDT_FILE string "Custom DSDT Table file to include" default "" depends on !STANDALONE help This option supports a custom DSDT by linking it into the kernel. See Documentation/acpi/dsdt-override.txt Enter the full path name to the file which includes the AmlCode declaration. If unsure, don't enter a file name. config ACPI_CUSTOM_DSDT bool default ACPI_CUSTOM_DSDT_FILE != "" config ACPI_INITRD_TABLE_OVERRIDE bool "ACPI tables override via initrd" depends on BLK_DEV_INITRD && X86 default n help This option provides functionality to override arbitrary ACPI tables via initrd. No functional change if no ACPI tables are passed via initrd, therefore it's safe to say Y. See Documentation/acpi/initrd_table_override.txt for details config ACPI_DEBUG bool "Debug Statements" default n help The ACPI subsystem can produce debug output. Saying Y enables this output and increases the kernel size by around 50K. Use the acpi.debug_layer and acpi.debug_level kernel command-line parameters documented in Documentation/acpi/debug.txt and Documentation/kernel-parameters.txt to control the type and amount of debug output. config ACPI_PCI_SLOT bool "PCI slot detection driver" depends on SYSFS default n help This driver creates entries in /sys/bus/pci/slots/ for all PCI slots in the system. This can help correlate PCI bus addresses, i.e., segment/bus/device/function tuples, with physical slots in the system. If you are unsure, say N. config X86_PM_TIMER bool "Power Management Timer Support" if EXPERT depends on X86 default y help The Power Management Timer is available on all ACPI-capable, in most cases even if ACPI is unusable or blacklisted. This timing source is not affected by power management features like aggressive processor idling, throttling, frequency and/or voltage scaling, unlike the commonly used Time Stamp Counter (TSC) timing source. You should nearly always say Y here because many modern systems require this timer. config ACPI_CONTAINER bool "Container and Module Devices" default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) help This driver supports ACPI Container and Module devices (IDs ACPI0004, PNP0A05, and PNP0A06). This helps support hotplug of nodes, CPUs, and memory. To compile this driver as a module, choose M here: the module will be called container. config ACPI_HOTPLUG_MEMORY bool "Memory Hotplug" depends on MEMORY_HOTPLUG help This driver supports ACPI memory hotplug. The driver fields notifications on ACPI memory devices (PNP0C80), which represent memory ranges that may be onlined or offlined during runtime. If your hardware and firmware do not support adding or removing memory devices at runtime, you need not enable this driver. To compile this driver as a module, choose M here: the module will be called acpi_memhotplug. config ACPI_SBS tristate "Smart Battery System" depends on X86 select POWER_SUPPLY help This driver supports the Smart Battery System, another type of access to battery information, found on some laptops. To compile this driver as a module, choose M here: the modules will be called sbs and sbshc. config ACPI_HED tristate "Hardware Error Device" help This driver supports the Hardware Error Device (PNP0C33), which is used to report some hardware errors notified via SCI, mainly the corrected errors. config ACPI_CUSTOM_METHOD tristate "Allow ACPI methods to be inserted/replaced at run time" depends on DEBUG_FS default n help This debug facility allows ACPI AML methods to be inserted and/or replaced without rebooting the system. For details refer to: Documentation/acpi/method-customizing.txt. NOTE: This option is security sensitive, because it allows arbitrary kernel memory to be written to by root (uid=0) users, allowing them to bypass certain security measures (e.g. if root is not allowed to load additional kernel modules after boot, this feature may be used to override that restriction). config ACPI_BGRT bool "Boottime Graphics Resource Table support" depends on EFI && X86 help This driver adds support for exposing the ACPI Boottime Graphics Resource Table, which allows the operating system to obtain data from the firmware boot splash. It will appear under /sys/firmware/acpi/bgrt/ . source "drivers/acpi/apei/Kconfig" config ACPI_EXTLOG tristate "Extended Error Log support" depends on X86_MCE && X86_LOCAL_APIC select UEFI_CPER default n help Certain usages such as Predictive Failure Analysis (PFA) require more information about the error than what can be described in processor machine check banks. Most server processors log additional information about the error in processor uncore registers. Since the addresses and layout of these registers vary widely from one processor to another, system software cannot readily make use of them. To complicate matters further, some of the additional error information cannot be constructed without detailed knowledge about platform topology. Enhanced MCA Logging allows firmware to provide additional error information to system software, synchronous with MCE or CMCI. This driver adds support for that functionality. endif # ACPI config ACPI_APEI bool "ACPI Platform Error Interface (APEI)" select MISC_FILESYSTEMS select PSTORE select UEFI_CPER depends on X86 help APEI allows to report errors (for example from the chipset) to the operating system. This improves NMI handling especially. In addition it supports error serialization and error injection. config ACPI_APEI_GHES bool "APEI Generic Hardware Error Source" depends on ACPI_APEI && X86 select ACPI_HED select IRQ_WORK select GENERIC_ALLOCATOR help Generic Hardware Error Source provides a way to report platform hardware errors (such as that from chipset). It works in so called "Firmware First" mode, that is, hardware errors are reported to firmware firstly, then reported to Linux by firmware. This way, some non-standard hardware error registers or non-standard hardware link can be checked by firmware to produce more valuable hardware error information for Linux. config ACPI_APEI_PCIEAER bool "APEI PCIe AER logging/recovering support" depends on ACPI_APEI && PCIEAER help PCIe AER errors may be reported via APEI firmware first mode. Turn on this option to enable the corresponding support. config ACPI_APEI_MEMORY_FAILURE bool "APEI memory error recovering support" depends on ACPI_APEI && MEMORY_FAILURE help Memory errors may be reported via APEI firmware first mode. Turn on this option to enable the memory recovering support. config ACPI_APEI_EINJ tristate "APEI Error INJection (EINJ)" depends on ACPI_APEI && DEBUG_FS help EINJ provides a hardware error injection mechanism, it is mainly used for debugging and testing the other parts of APEI and some other RAS features. config ACPI_APEI_ERST_DEBUG tristate "APEI Error Record Serialization Table (ERST) Debug Support" depends on ACPI_APEI help ERST is a way provided by APEI to save and retrieve hardware error information to and from a persistent store. Enable this if you want to debugging and testing the ERST kernel support and firmware implementation. # # SATA/PATA driver configuration # config HAVE_PATA_PLATFORM bool help This is an internal configuration node for any machine that uses pata-platform driver to enable the relevant driver in the configuration structure without having to submit endless patches to update the PATA_PLATFORM entry. menuconfig ATA tristate "Serial ATA and Parallel ATA drivers" depends on HAS_IOMEM depends on BLOCK depends on !(M32R || M68K || S390) || BROKEN select SCSI ---help--- If you want to use a ATA hard disk, ATA tape drive, ATA CD-ROM or any other ATA device under Linux, say Y and make sure that you know the name of your ATA host adapter (the card inside your computer that "speaks" the ATA protocol, also called ATA controller), because you will be asked for it. NOTE: ATA enables basic SCSI support; *however*, 'SCSI disk support', 'SCSI tape support', or 'SCSI CDROM support' may also be needed, depending on your hardware configuration. if ATA config ATA_NONSTANDARD bool default n config ATA_VERBOSE_ERROR bool "Verbose ATA error reporting" default y help This option adds parsing of ATA command descriptions and error bits in libata kernel output, making it easier to interpret. This option will enlarge the kernel by approx. 6KB. Disable it only if kernel size is more important than ease of debugging. If unsure, say Y. config ATA_ACPI bool "ATA ACPI Support" depends on ACPI && PCI default y help This option adds support for ATA-related ACPI objects. These ACPI objects add the ability to retrieve taskfiles from the ACPI BIOS and write them to the disk controller. These objects may be related to performance, security, power management, or other areas. You can disable this at kernel boot time by using the option libata.noacpi=1 config SATA_ZPODD bool "SATA Zero Power Optical Disc Drive (ZPODD) support" depends on ATA_ACPI default n help This option adds support for SATA Zero Power Optical Disc Drive (ZPODD). It requires both the ODD and the platform support, and if enabled, will automatically power on/off the ODD when certain condition is satisfied. This does not impact end user's experience of the ODD, only power is saved when the ODD is not in use (i.e. no disc inside). If unsure, say N. config SATA_PMP bool "SATA Port Multiplier support" default y help This option adds support for SATA Port Multipliers (the SATA version of an ethernet hub, or SAS expander). comment "Controllers with non-SFF native interface" config SATA_AHCI tristate "AHCI SATA support" depends on PCI help This option enables support for AHCI Serial ATA. If unsure, say N. config SATA_AHCI_PLATFORM tristate "Platform AHCI SATA support" help This option enables support for Platform AHCI Serial ATA controllers. If unsure, say N. config AHCI_IMX tristate "Freescale i.MX AHCI SATA support" depends on SATA_AHCI_PLATFORM && MFD_SYSCON help This option enables support for the Freescale i.MX SoC's onboard AHCI SATA. If unsure, say N. config SATA_FSL tristate "Freescale 3.0Gbps SATA support" depends on FSL_SOC help This option enables support for Freescale 3.0Gbps SATA controller. It can be found on MPC837x and MPC8315. If unsure, say N. config SATA_INIC162X tristate "Initio 162x SATA support (Very Experimental)" depends on PCI help This option enables support for Initio 162x Serial ATA. config SATA_ACARD_AHCI tristate "ACard AHCI variant (ATP 8620)" depends on PCI help This option enables support for Acard. If unsure, say N. config SATA_SIL24 tristate "Silicon Image 3124/3132 SATA support" depends on PCI help This option enables support for Silicon Image 3124/3132 Serial ATA. If unsure, say N. config ATA_SFF bool "ATA SFF support (for legacy IDE and PATA)" default y help This option adds support for ATA controllers with SFF compliant or similar programming interface. SFF is the legacy IDE interface that has been around since the dawn of time. Almost all PATA controllers have an SFF interface. Many SATA controllers have an SFF interface when configured into a legacy compatibility mode. For users with exclusively modern controllers like AHCI, Silicon Image 3124, or Marvell 6440, you may choose to disable this unneeded SFF support. If unsure, say Y. if ATA_SFF comment "SFF controllers with custom DMA interface" config PDC_ADMA tristate "Pacific Digital ADMA support" depends on PCI help This option enables support for Pacific Digital ADMA controllers If unsure, say N. config PATA_OCTEON_CF tristate "OCTEON Boot Bus Compact Flash support" depends on CAVIUM_OCTEON_SOC help This option enables a polled compact flash driver for use with compact flash cards attached to the OCTEON boot bus. If unsure, say N. config SATA_QSTOR tristate "Pacific Digital SATA QStor support" depends on PCI help This option enables support for Pacific Digital Serial ATA QStor. If unsure, say N. config SATA_SX4 tristate "Promise SATA SX4 support (Experimental)" depends on PCI help This option enables support for Promise Serial ATA SX4. If unsure, say N. config ATA_BMDMA bool "ATA BMDMA support" default y help This option adds support for SFF ATA controllers with BMDMA capability. BMDMA stands for bus-master DMA and is the de facto DMA interface for SFF controllers. If unsure, say Y. if ATA_BMDMA comment "SATA SFF controllers with BMDMA" config ATA_PIIX tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support" depends on PCI help This option enables support for ICH5/6/7/8 Serial ATA and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series host controllers. If unsure, say N. config SATA_DWC tristate "DesignWare Cores SATA support" depends on 460EX help This option enables support for the on-chip SATA controller of the AppliedMicro processor 460EX. If unsure, say N. config SATA_DWC_DEBUG bool "Debugging driver version" depends on SATA_DWC help This option enables debugging output in the driver. config SATA_DWC_VDEBUG bool "Verbose debug output" depends on SATA_DWC_DEBUG help This option enables the taskfile dumping and NCQ debugging. config SATA_HIGHBANK tristate "Calxeda Highbank SATA support" help This option enables support for the Calxeda Highbank SoC's onboard SATA. If unsure, say N. config SATA_MV tristate "Marvell SATA support" help This option enables support for the Marvell Serial ATA family. Currently supports 88SX[56]0[48][01] PCI(-X) chips, as well as the newer [67]042 PCI-X/PCIe and SOC devices. If unsure, say N. config SATA_NV tristate "NVIDIA SATA support" depends on PCI help This option enables support for NVIDIA Serial ATA. If unsure, say N. config SATA_PROMISE tristate "Promise SATA TX2/TX4 support" depends on PCI help This option enables support for Promise Serial ATA TX2/TX4. If unsure, say N. config SATA_RCAR tristate "Renesas R-Car SATA support" help This option enables support for Renesas R-Car Serial ATA. If unsure, say N. config SATA_SIL tristate "Silicon Image SATA support" depends on PCI help This option enables support for Silicon Image Serial ATA. If unsure, say N. config SATA_SIS tristate "SiS 964/965/966/180 SATA support" depends on PCI select PATA_SIS help This option enables support for SiS Serial ATA on SiS 964/965/966/180 and Parallel ATA on SiS 180. The PATA support for SiS 180 requires additionally to enable the PATA_SIS driver in the config. If unsure, say N. config SATA_SVW tristate "ServerWorks Frodo / Apple K2 SATA support" depends on PCI help This option enables support for Broadcom/Serverworks/Apple K2 SATA support. If unsure, say N. config SATA_ULI tristate "ULi Electronics SATA support" depends on PCI help This option enables support for ULi Electronics SATA. If unsure, say N. config SATA_VIA tristate "VIA SATA support" depends on PCI help This option enables support for VIA Serial ATA. If unsure, say N. config SATA_VITESSE tristate "VITESSE VSC-7174 / INTEL 31244 SATA support" depends on PCI help This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA. If unsure, say N. comment "PATA SFF controllers with BMDMA" config PATA_ALI tristate "ALi PATA support" depends on PCI help This option enables support for the ALi ATA interfaces found on the many ALi chipsets. If unsure, say N. config PATA_AMD tristate "AMD/NVidia PATA support" depends on PCI help This option enables support for the AMD and NVidia PATA interfaces found on the chipsets for Athlon/Athlon64. If unsure, say N. config PATA_ARASAN_CF tristate "ARASAN CompactFlash PATA Controller Support" depends on DMADEVICES select DMA_ENGINE help Say Y here to support the ARASAN CompactFlash PATA controller config PATA_ARTOP tristate "ARTOP 6210/6260 PATA support" depends on PCI help This option enables support for ARTOP PATA controllers. If unsure, say N. config PATA_ATIIXP tristate "ATI PATA support" depends on PCI help This option enables support for the ATI ATA interfaces found on the many ATI chipsets. If unsure, say N. config PATA_ATP867X tristate "ARTOP/Acard ATP867X PATA support" depends on PCI help This option enables support for ARTOP/Acard ATP867X PATA controllers. If unsure, say N. config PATA_BF54X tristate "Blackfin 54x ATAPI support" depends on BF542 || BF548 || BF549 help This option enables support for the built-in ATAPI controller on Blackfin 54x family chips. If unsure, say N. config PATA_CMD64X tristate "CMD64x PATA support" depends on PCI help This option enables support for the CMD64x series chips except for the CMD640. If unsure, say N. config PATA_CS5520 tristate "CS5510/5520 PATA support" depends on PCI help This option enables support for the Cyrix 5510/5520 companion chip used with the MediaGX/Geode processor family. If unsure, say N. config PATA_CS5530 tristate "CS5530 PATA support" depends on PCI help This option enables support for the Cyrix/NatSemi/AMD CS5530 companion chip used with the MediaGX/Geode processor family. If unsure, say N. config PATA_CS5535 tristate "CS5535 PATA support (Experimental)" depends on PCI && X86 && !X86_64 help This option enables support for the NatSemi/AMD CS5535 companion chip used with the Geode processor family. If unsure, say N. config PATA_CS5536 tristate "CS5536 PATA support" depends on PCI help This option enables support for the AMD CS5536 companion chip used with the Geode LX processor family. If unsure, say N. config PATA_CYPRESS tristate "Cypress CY82C693 PATA support (Very Experimental)" depends on PCI help This option enables support for the Cypress/Contaq CY82C693 chipset found in some Alpha systems If unsure, say N. config PATA_EFAR tristate "EFAR SLC90E66 support" depends on PCI help This option enables support for the EFAR SLC90E66 IDE controller found on some older machines. If unsure, say N. config PATA_EP93XX tristate "Cirrus Logic EP93xx PATA support" depends on ARCH_EP93XX help This option enables support for the PATA controller in the Cirrus Logic EP9312 and EP9315 ARM CPU. If unsure, say N. config PATA_HPT366 tristate "HPT 366/368 PATA support" depends on PCI help This option enables support for the HPT 366 and 368 PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT37X tristate "HPT 370/370A/371/372/374/302 PATA support" depends on PCI help This option enables support for the majority of the later HPT PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT3X2N tristate "HPT 371N/372N/302N PATA support" depends on PCI help This option enables support for the N variant HPT PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT3X3 tristate "HPT 343/363 PATA support" depends on PCI help This option enables support for the HPT 343/363 PATA controllers via the new ATA layer If unsure, say N. config PATA_HPT3X3_DMA bool "HPT 343/363 DMA support" depends on PATA_HPT3X3 help This option enables DMA support for the HPT343/363 controllers. Enable with care as there are still some problems with DMA on this chipset. config PATA_ICSIDE tristate "Acorn ICS PATA support" depends on ARM && ARCH_ACORN help On Acorn systems, say Y here if you wish to use the ICS PATA interface card. This is not required for ICS partition support. If you are unsure, say N to this. config PATA_IMX tristate "PATA support for Freescale iMX" depends on ARCH_MXC help This option enables support for the PATA host available on Freescale iMX SoCs. If unsure, say N. config PATA_IT8213 tristate "IT8213 PATA support (Experimental)" depends on PCI help This option enables support for the ITE 821 PATA controllers via the new ATA layer. If unsure, say N. config PATA_IT821X tristate "IT8211/2 PATA support" depends on PCI help This option enables support for the ITE 8211 and 8212 PATA controllers via the new ATA layer, including RAID mode. If unsure, say N. config PATA_JMICRON tristate "JMicron PATA support" depends on PCI help Enable support for the JMicron IDE controller, via the new ATA layer. If unsure, say N. config PATA_MACIO tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE" depends on PPC_PMAC help Most IDE capable PowerMacs have IDE busses driven by a variant of this controller which is part of the Apple chipset used on most PowerMac models. Some models have multiple busses using different chipsets, though generally, MacIO is one of them. config PATA_MARVELL tristate "Marvell PATA support via legacy mode" depends on PCI help This option enables limited support for the Marvell 88SE61xx ATA controllers. If you wish to use only the SATA ports then select the AHCI driver alone. If you wish to the use the PATA port or both SATA and PATA include this driver. If unsure, say N. config PATA_MPC52xx tristate "Freescale MPC52xx SoC internal IDE" depends on PPC_MPC52xx && PPC_BESTCOMM select PPC_BESTCOMM_ATA help This option enables support for integrated IDE controller of the Freescale MPC52xx SoC. If unsure, say N. config PATA_NETCELL tristate "NETCELL Revolution RAID support" depends on PCI help This option enables support for the Netcell Revolution RAID PATA controller. If unsure, say N. config PATA_NINJA32 tristate "Ninja32/Delkin Cardbus ATA support" depends on PCI help This option enables support for the Ninja32, Delkin and possibly other brands of Cardbus ATA adapter If unsure, say N. config PATA_NS87415 tristate "Nat Semi NS87415 PATA support" depends on PCI help This option enables support for the National Semiconductor NS87415 PCI-IDE controller. If unsure, say N. config PATA_OLDPIIX tristate "Intel PATA old PIIX support" depends on PCI help This option enables support for early PIIX PATA support. If unsure, say N. config PATA_OPTIDMA tristate "OPTI FireStar PATA support (Very Experimental)" depends on PCI help This option enables DMA/PIO support for the later OPTi controllers found on some old motherboards and in some laptops. If unsure, say N. config PATA_PDC2027X tristate "Promise PATA 2027x support" depends on PCI help This option enables support for Promise PATA pdc20268 to pdc20277 host adapters. If unsure, say N. config PATA_PDC_OLD tristate "Older Promise PATA controller support" depends on PCI help This option enables support for the Promise 20246, 20262, 20263, 20265 and 20267 adapters. If unsure, say N. config PATA_RADISYS tristate "RADISYS 82600 PATA support (Experimental)" depends on PCI help This option enables support for the RADISYS 82600 PATA controllers via the new ATA layer If unsure, say N. config PATA_RDC tristate "RDC PATA support" depends on PCI help This option enables basic support for the later RDC PATA controllers controllers via the new ATA layer. For the RDC 1010, you need to enable the IT821X driver instead. If unsure, say N. config PATA_SC1200 tristate "SC1200 PATA support" depends on PCI help This option enables support for the NatSemi/AMD SC1200 SoC companion chip used with the Geode processor family. If unsure, say N. config PATA_SCC tristate "Toshiba's Cell Reference Set IDE support" depends on PCI && PPC_CELLEB help This option enables support for the built-in IDE controller on Toshiba Cell Reference Board. If unsure, say N. config PATA_SCH tristate "Intel SCH PATA support" depends on PCI help This option enables support for Intel SCH PATA on the Intel SCH (US15W, US15L, UL11L) series host controllers. If unsure, say N. config PATA_SERVERWORKS tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support" depends on PCI help This option enables support for the Serverworks OSB4/CSB5/CSB6 and HT1000 PATA controllers, via the new ATA layer. If unsure, say N. config PATA_SIL680 tristate "CMD / Silicon Image 680 PATA support" depends on PCI help This option enables support for CMD / Silicon Image 680 PATA. If unsure, say N. config PATA_SIS tristate "SiS PATA support" depends on PCI help This option enables support for SiS PATA controllers If unsure, say N. config PATA_TOSHIBA tristate "Toshiba Piccolo support (Experimental)" depends on PCI help Support for the Toshiba Piccolo controllers. Currently only the primary channel is supported by this driver. If unsure, say N. config PATA_TRIFLEX tristate "Compaq Triflex PATA support" depends on PCI help Enable support for the Compaq 'Triflex' IDE controller as found on many Compaq Pentium-Pro systems, via the new ATA layer. If unsure, say N. config PATA_VIA tristate "VIA PATA support" depends on PCI help This option enables support for the VIA PATA interfaces found on the many VIA chipsets. If unsure, say N. config PATA_PXA tristate "PXA DMA-capable PATA support" depends on ARCH_PXA help This option enables support for harddrive attached to PXA CPU's bus. NOTE: This driver utilizes PXA DMA controller, in case your hardware is not capable of doing MWDMA, use pata_platform instead. If unsure, say N. config PATA_WINBOND tristate "Winbond SL82C105 PATA support" depends on PCI help This option enables support for SL82C105 PATA devices found in the Netwinder and some other systems If unsure, say N. endif # ATA_BMDMA comment "PIO-only SFF controllers" config PATA_AT32 tristate "Atmel AVR32 PATA support (Experimental)" depends on AVR32 && PLATFORM_AT32AP help This option enables support for the IDE devices on the Atmel AT32AP platform. If unsure, say N. config PATA_AT91 tristate "PATA support for AT91SAM9260" depends on ARM && ARCH_AT91 help This option enables support for IDE devices on the Atmel AT91SAM9260 SoC. If unsure, say N. config PATA_CMD640_PCI tristate "CMD640 PCI PATA support (Experimental)" depends on PCI help This option enables support for the CMD640 PCI IDE interface chip. Only the primary channel is currently supported. If unsure, say N. config PATA_ISAPNP tristate "ISA Plug and Play PATA support" depends on ISAPNP help This option enables support for ISA plug & play ATA controllers such as those found on old soundcards. If unsure, say N. config PATA_IXP4XX_CF tristate "IXP4XX Compact Flash support" depends on ARCH_IXP4XX help This option enables support for a Compact Flash connected on the ixp4xx expansion bus. This driver had been written for Loft/Avila boards in mind but can work with others. If unsure, say N. config PATA_MPIIX tristate "Intel PATA MPIIX support" depends on PCI help This option enables support for MPIIX PATA support. If unsure, say N. config PATA_NS87410 tristate "Nat Semi NS87410 PATA support" depends on PCI help This option enables support for the National Semiconductor NS87410 PCI-IDE controller. If unsure, say N. config PATA_OPTI tristate "OPTI621/6215 PATA support (Very Experimental)" depends on PCI help This option enables full PIO support for the early Opti ATA controllers found on some old motherboards. If unsure, say N. config PATA_PALMLD tristate "Palm LifeDrive PATA support" depends on MACH_PALMLD help This option enables support for Palm LifeDrive's internal ATA port via the new ATA layer. If unsure, say N. config PATA_PCMCIA tristate "PCMCIA PATA support" depends on PCMCIA help This option enables support for PCMCIA ATA interfaces, including compact flash card adapters via the new ATA layer. If unsure, say N. config PATA_PLATFORM tristate "Generic platform device PATA support" depends on EXPERT || PPC || HAVE_PATA_PLATFORM help This option enables support for generic directly connected ATA devices commonly found on embedded systems. If unsure, say N. config PATA_OF_PLATFORM tristate "OpenFirmware platform device PATA support" depends on PATA_PLATFORM && OF help This option enables support for generic directly connected ATA devices commonly found on embedded systems with OpenFirmware bindings. If unsure, say N. config PATA_QDI tristate "QDI VLB PATA support" depends on ISA select PATA_LEGACY help Support for QDI 6500 and 6580 PATA controllers on VESA local bus. config PATA_RB532 tristate "RouterBoard 532 PATA CompactFlash support" depends on MIKROTIK_RB532 help This option enables support for the RouterBoard 532 PATA CompactFlash controller. If unsure, say N. config PATA_RZ1000 tristate "PC Tech RZ1000 PATA support" depends on PCI help This option enables basic support for the PC Tech RZ1000/1 PATA controllers via the new ATA layer If unsure, say N. config PATA_SAMSUNG_CF tristate "Samsung SoC PATA support" depends on SAMSUNG_DEV_IDE help This option enables basic support for Samsung's S3C/S5P board PATA controllers via the new ATA layer If unsure, say N. config PATA_WINBOND_VLB tristate "Winbond W83759A VLB PATA support (Experimental)" depends on ISA select PATA_LEGACY help Support for the Winbond W83759A controller on Vesa Local Bus systems. comment "Generic fallback / legacy drivers" config PATA_ACPI tristate "ACPI firmware driver for PATA" depends on ATA_ACPI && ATA_BMDMA help This option enables an ACPI method driver which drives motherboard PATA controller interfaces through the ACPI firmware in the BIOS. This driver can sometimes handle otherwise unsupported hardware. config ATA_GENERIC tristate "Generic ATA support" depends on PCI && ATA_BMDMA help This option enables support for generic BIOS configured ATA controllers via the new ATA layer If unsure, say N. config PATA_LEGACY tristate "Legacy ISA PATA support (Experimental)" depends on (ISA || PCI) help This option enables support for ISA/VLB/PCI bus legacy PATA ports and allows them to be accessed via the new ATA layer. If unsure, say N. endif # ATA_SFF endif # ATA # # ATM device configuration # menuconfig ATM_DRIVERS bool "ATM drivers" depends on NETDEVICES && ATM default y ---help--- Say Y here to get to see options for Asynchronous Transfer Mode device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if ATM_DRIVERS && NETDEVICES && ATM config ATM_DUMMY tristate "Dummy ATM driver" help Dummy ATM driver. Useful for proxy signalling, testing, and development. If unsure, say N. config ATM_TCP tristate "ATM over TCP" depends on INET help ATM over TCP driver. Useful mainly for development and for experiments. If unsure, say N. config ATM_LANAI tristate "Efficient Networks Speedstream 3010" depends on PCI && ATM help Supports ATM cards based on the Efficient Networks "Lanai" chipset such as the Speedstream 3010 and the ENI-25p. The Speedstream 3060 is currently not supported since we don't have the code to drive the on-board Alcatel DSL chipset (yet). config ATM_ENI tristate "Efficient Networks ENI155P" depends on PCI ---help--- Driver for the Efficient Networks ENI155p series and SMC ATM Power155 155 Mbps ATM adapters. Both, the versions with 512KB and 2MB on-board RAM (Efficient calls them "C" and "S", respectively), and the FPGA and the ASIC Tonga versions of the board are supported. The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D) adapters. To compile this driver as a module, choose M here: the module will be called eni. config ATM_ENI_DEBUG bool "Enable extended debugging" depends on ATM_ENI help Extended debugging records various events and displays that list when an inconsistency is detected. This mechanism is faster than generally using printks, but still has some impact on performance. Note that extended debugging may create certain race conditions itself. Enable this ONLY if you suspect problems with the driver. config ATM_ENI_TUNE_BURST bool "Fine-tune burst settings" depends on ATM_ENI ---help--- In order to obtain good throughput, the ENI NIC can transfer multiple words of data per PCI bus access cycle. Such a multi-word transfer is called a burst. The default settings for the burst sizes are suitable for most PCI chipsets. However, in some cases, large bursts may overrun buffers in the PCI chipset and cause data corruption. In such cases, large bursts must be disabled and only (slower) small bursts can be used. The burst sizes can be set independently in the send (TX) and receive (RX) direction. Note that enabling many different burst sizes in the same direction may increase the cost of setting up a transfer such that the resulting throughput is lower than when using only the largest available burst size. Also, sometimes larger bursts lead to lower throughput, e.g. on an Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed when going from 8W to 16W bursts. config ATM_ENI_BURST_TX_16W bool "Enable 16W TX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst sixteen words at once in the send direction. This may work with recent PCI chipsets, but is known to fail with older chipsets. config ATM_ENI_BURST_TX_8W bool "Enable 8W TX bursts (recommended)" depends on ATM_ENI_TUNE_BURST help Burst eight words at once in the send direction. This is the default setting. config ATM_ENI_BURST_TX_4W bool "Enable 4W TX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst four words at once in the send direction. You may want to try this if you have disabled 8W bursts. Enabling 4W if 8W is also set may or may not improve throughput. config ATM_ENI_BURST_TX_2W bool "Enable 2W TX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst two words at once in the send direction. You may want to try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W are also set may or may not improve throughput. config ATM_ENI_BURST_RX_16W bool "Enable 16W RX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst sixteen words at once in the receive direction. This may work with recent PCI chipsets, but is known to fail with older chipsets. config ATM_ENI_BURST_RX_8W bool "Enable 8W RX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst eight words at once in the receive direction. This may work with recent PCI chipsets, but is known to fail with older chipsets, such as the Intel Neptune series. config ATM_ENI_BURST_RX_4W bool "Enable 4W RX bursts (recommended)" depends on ATM_ENI_TUNE_BURST help Burst four words at once in the receive direction. This is the default setting. Enabling 4W if 8W is also set may or may not improve throughput. config ATM_ENI_BURST_RX_2W bool "Enable 2W RX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst two words at once in the receive direction. You may want to try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W are also set may or may not improve throughput. config ATM_FIRESTREAM tristate "Fujitsu FireStream (FS50/FS155) " depends on PCI && VIRT_TO_BUS help Driver for the Fujitsu FireStream 155 (MB86697) and FireStream 50 (MB86695) ATM PCI chips. To compile this driver as a module, choose M here: the module will be called firestream. config ATM_ZATM tristate "ZeitNet ZN1221/ZN1225" depends on PCI && VIRT_TO_BUS help Driver for the ZeitNet ZN1221 (MMF) and ZN1225 (UTP-5) 155 Mbps ATM adapters. To compile this driver as a module, choose M here: the module will be called zatm. config ATM_ZATM_DEBUG bool "Enable extended debugging" depends on ATM_ZATM help Extended debugging records various events and displays that list when an inconsistency is detected. This mechanism is faster than generally using printks, but still has some impact on performance. Note that extended debugging may create certain race conditions itself. Enable this ONLY if you suspect problems with the driver. config ATM_NICSTAR tristate "IDT 77201 (NICStAR) (ForeRunnerLE)" depends on PCI help The NICStAR chipset family is used in a large number of ATM NICs for 25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE series. Say Y if you have one of those. To compile this driver as a module, choose M here: the module will be called nicstar. config ATM_NICSTAR_USE_SUNI bool "Use suni PHY driver (155Mbps)" depends on ATM_NICSTAR help Support for the S-UNI and compatible PHYsical layer chips. These are found in most 155Mbps NICStAR based ATM cards, namely in the ForeRunner LE155 cards. This driver provides detection of cable~ removal and reinsertion and provides some statistics. This driver doesn't have removal capability when compiled as a module, so if you need that capability don't include S-UNI support (it's not needed to make the card work). config ATM_NICSTAR_USE_IDT77105 bool "Use IDT77015 PHY driver (25Mbps)" depends on ATM_NICSTAR help Support for the PHYsical layer chip in ForeRunner LE25 cards. In addition to cable removal/reinsertion detection, this driver allows you to control the loopback mode of the chip via a dedicated IOCTL. This driver is required for proper handling of temporary carrier loss, so if you have a 25Mbps NICStAR based ATM card you must say Y. config ATM_IDT77252 tristate "IDT 77252 (NICStAR II)" depends on PCI help Driver for the IDT 77252 ATM PCI chips. To compile this driver as a module, choose M here: the module will be called idt77252. config ATM_IDT77252_DEBUG bool "Enable debugging messages" depends on ATM_IDT77252 help Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument. See the file for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_IDT77252_RCV_ALL bool "Receive ALL cells in raw queue" depends on ATM_IDT77252 help Enable receiving of all cells on the ATM link, that do not match an open connection in the raw cell queue of the driver. Useful for debugging or special applications only, so the safe answer is N. config ATM_IDT77252_USE_SUNI bool depends on ATM_IDT77252 default y config ATM_AMBASSADOR tristate "Madge Ambassador (Collage PCI 155 Server)" depends on PCI && VIRT_TO_BUS select BITREVERSE help This is a driver for ATMizer based ATM card produced by Madge Networks Ltd. Say Y (or M to compile as a module named ambassador) here if you have one of these cards. config ATM_AMBASSADOR_DEBUG bool "Enable debugging messages" depends on ATM_AMBASSADOR ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (not yet) or changed by sending the string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_HORIZON tristate "Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client)" depends on PCI && VIRT_TO_BUS help This is a driver for the Horizon chipset ATM adapter cards once produced by Madge Networks Ltd. Say Y (or M to compile as a module named horizon) here if you have one of these cards. config ATM_HORIZON_DEBUG bool "Enable debugging messages" depends on ATM_HORIZON ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (not yet) or changed by sending the string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_IA tristate "Interphase ATM PCI x575/x525/x531" depends on PCI ---help--- This is a driver for the Interphase (i)ChipSAR adapter cards which include a variety of variants in term of the size of the control memory (128K-1KVC, 512K-4KVC), the size of the packet memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3, UTP155, UTP25, DS3 and E3). Go to: for more info about the cards. Say Y (or M to compile as a module named iphase) here if you have one of these cards. See the file for further details. config ATM_IA_DEBUG bool "Enable debugging messages" depends on ATM_IA ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (Get the debug utility, iadbg, from ). See the file for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_FORE200E tristate "FORE Systems 200E-series" depends on (PCI || SBUS) select FW_LOADER ---help--- This is a driver for the FORE Systems 200E-series ATM adapter cards. It simultaneously supports PCA-200E and SBA-200E models on PCI and SBUS hosts. Say Y (or M to compile as a module named fore_200e) here if you have one of these ATM adapters. See the file for further details. config ATM_FORE200E_USE_TASKLET bool "Defer interrupt work to a tasklet" depends on ATM_FORE200E default n help This defers work to be done by the interrupt handler to a tasklet instead of handling everything at interrupt time. This may improve the responsive of the host. config ATM_FORE200E_TX_RETRY int "Maximum number of tx retries" depends on ATM_FORE200E default "16" ---help--- Specifies the number of times the driver attempts to transmit a message before giving up, if the transmit queue of the ATM card is transiently saturated. Saturation of the transmit queue may occur only under extreme conditions, e.g. when a fast host continuously submits very small frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter. Note that under common conditions, it is unlikely that you encounter a saturation of the transmit queue, so the retry mechanism never comes into play. config ATM_FORE200E_DEBUG int "Debugging level (0-3)" depends on ATM_FORE200E default "0" help Specifies the level of debugging messages issued by the driver. The verbosity of the driver increases with the value of this parameter. When active, these messages can have a significant impact on the performances of the driver, and the size of your syslog files! Keep the debugging level to 0 during normal operations. config ATM_HE tristate "ForeRunner HE Series" depends on PCI help This is a driver for the Marconi ForeRunner HE-series ATM adapter cards. It simultaneously supports the 155 and 622 versions. config ATM_HE_USE_SUNI bool "Use S/UNI PHY driver" depends on ATM_HE help Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner HE cards. This driver provides carrier detection some statistics. config ATM_SOLOS tristate "Solos ADSL2+ PCI Multiport card driver" depends on PCI select FW_LOADER help Support for the Solos multiport ADSL2+ card. endif # ATM # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # # Auxiliary display drivers configuration. # menuconfig AUXDISPLAY bool "Auxiliary Display support" ---help--- Say Y here to get to see options for auxiliary display drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if AUXDISPLAY config KS0108 tristate "KS0108 LCD Controller" depends on PARPORT_PC default n ---help--- If you have a LCD controlled by one or more KS0108 controllers, say Y. You will need also another more specific driver for your LCD. Depends on Parallel Port support. If you say Y at parport, you will be able to compile this as a module (M) and built-in as well (Y). To compile this as a module, choose M here: the module will be called ks0108. If unsure, say N. config KS0108_PORT hex "Parallel port where the LCD is connected" depends on KS0108 default 0x378 ---help--- The address of the parallel port where the LCD is connected. The first standard parallel port address is 0x378. The second standard parallel port address is 0x278. The third standard parallel port address is 0x3BC. You can specify a different address if you need. If you don't know what I'm talking about, load the parport module, and execute "dmesg" or "cat /proc/ioports". You can see there how many parallel ports are present and which address each one has. Usually you only need to use 0x378. If you compile this as a module, you can still override this using the module parameters. config KS0108_DELAY int "Delay between each control writing (microseconds)" depends on KS0108 default "2" ---help--- Amount of time the ks0108 should wait between each control write to the parallel port. If your LCD seems to miss random writings, increment this. If you don't know what I'm talking about, ignore it. If you compile this as a module, you can still override this value using the module parameters. config CFAG12864B tristate "CFAG12864B LCD" depends on X86 depends on FB depends on KS0108 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS default n ---help--- If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series, say Y. You also need the ks0108 LCD Controller driver. For help about how to wire your LCD to the parallel port, check Documentation/auxdisplay/cfag12864b Depends on the x86 arch and the framebuffer support. The LCD framebuffer driver can be attached to a console. It will work fine. However, you can't attach it to the fbdev driver of the xorg server. To compile this as a module, choose M here: the modules will be called cfag12864b and cfag12864bfb. If unsure, say N. config CFAG12864B_RATE int "Refresh rate (hertz)" depends on CFAG12864B default "20" ---help--- Refresh rate of the LCD. As the LCD is not memory mapped, the driver has to make the work by software. This means you should be careful setting this value higher. If your CPUs are really slow or you feel the system is slowed down, decrease the value. Be careful modifying this value to a very high value: You can freeze the computer, or the LCD maybe can't draw as fast as you are requesting. If you don't know what I'm talking about, ignore it. If you compile this as a module, you can still override this value using the module parameters. endif # AUXDISPLAY menu "Generic Driver Options" config UEVENT_HELPER_PATH string "path to uevent helper" default "" help Path to uevent helper program forked by the kernel for every uevent. Before the switch to the netlink-based uevent source, this was used to hook hotplug scripts into kernel device events. It usually pointed to a shell script at /sbin/hotplug. This should not be used today, because usual systems create many events at bootup or device discovery in a very short time frame. One forked process per event can create so many processes that it creates a high system load, or on smaller systems it is known to create out-of-memory situations during bootup. To disable user space helper program execution at early boot time specify an empty string here. This setting can be altered via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper later at runtime. config DEVTMPFS bool "Maintain a devtmpfs filesystem to mount at /dev" help This creates a tmpfs/ramfs filesystem instance early at bootup. In this filesystem, the kernel driver core maintains device nodes with their default names and permissions for all registered devices with an assigned major/minor number. Userspace can modify the filesystem content as needed, add symlinks, and apply needed permissions. It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks. In very limited environments, it may provide a sufficient functional /dev without any further help. It also allows simple rescue systems, and reliably handles dynamic major/minor numbers. Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs file system will be used instead. config DEVTMPFS_MOUNT bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" depends on DEVTMPFS help This will instruct the kernel to automatically mount the devtmpfs filesystem at /dev, directly after the kernel has mounted the root filesystem. The behavior can be overridden with the commandline parameter: devtmpfs.mount=0|1. This option does not affect initramfs based booting, here the devtmpfs filesystem always needs to be mounted manually after the roots is mounted. With this option enabled, it allows to bring up a system in rescue mode with init=/bin/sh, even when the /dev directory on the rootfs is completely empty. config STANDALONE bool "Select only drivers that don't need compile-time external firmware" default y help Select this option if you don't have magic firmware for drivers that need it. If unsure, say Y. config PREVENT_FIRMWARE_BUILD bool "Prevent firmware from being built" default y help Say yes to avoid building firmware. Firmware is usually shipped with the driver and only when updating the firmware should a rebuild be made. If unsure, say Y here. config FW_LOADER tristate "Userspace firmware loading support" if EXPERT default y ---help--- This option is provided for the case where none of the in-tree modules require userspace firmware loading support, but a module built out-of-tree does. config FIRMWARE_IN_KERNEL bool "Include in-kernel firmware blobs in kernel binary" depends on FW_LOADER default y help The kernel source tree includes a number of firmware 'blobs' that are used by various drivers. The recommended way to use these is to run "make firmware_install", which, after converting ihex files to binary, copies all of the needed binary files in firmware/ to /lib/firmware/ on your system so that they can be loaded by userspace helpers on request. Enabling this option will build each required firmware blob into the kernel directly, where request_firmware() will find them without having to call out to userspace. This may be useful if your root file system requires a device that uses such firmware and do not wish to use an initrd. This single option controls the inclusion of firmware for every driver that uses request_firmware() and ships its firmware in the kernel source tree, which avoids a proliferation of 'Include firmware for xxx device' options. Say 'N' and let firmware be loaded from userspace. config EXTRA_FIRMWARE string "External firmware blobs to build into the kernel binary" depends on FW_LOADER help This option allows firmware to be built into the kernel for the case where the user either cannot or doesn't want to provide it from userspace at runtime (for example, when the firmware in question is required for accessing the boot device, and the user doesn't want to use an initrd). This option is a string and takes the (space-separated) names of the firmware files -- the same names that appear in MODULE_FIRMWARE() and request_firmware() in the source. These files should exist under the directory specified by the EXTRA_FIRMWARE_DIR option, which is by default the firmware subdirectory of the kernel source tree. For example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin", copy the usb8388.bin file into the firmware directory, and build the kernel. Then any request_firmware("usb8388.bin") will be satisfied internally without needing to call out to userspace. WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image. config EXTRA_FIRMWARE_DIR string "Firmware blobs root directory" depends on EXTRA_FIRMWARE != "" default "firmware" help This option controls the directory in which the kernel build system looks for the firmware files listed in the EXTRA_FIRMWARE option. The default is firmware/ in the kernel source tree, but by changing this option you can point it elsewhere, such as /lib/firmware/ or some other directory containing the firmware files. config FW_LOADER_USER_HELPER bool "Fallback user-helper invocation for firmware loading" depends on FW_LOADER default y help This option enables / disables the invocation of user-helper (e.g. udev) for loading firmware files as a fallback after the direct file loading in kernel fails. The user-mode helper is no longer required unless you have a special firmware file that resides in a non-standard path. config DEBUG_DRIVER bool "Driver Core verbose debug messages" depends on DEBUG_KERNEL help Say Y here if you want the Driver core to produce a bunch of debug messages to the system log. Select this if you are having a problem with the driver core and want to see more of what is going on. If you are unsure about this, say N here. config DEBUG_DEVRES bool "Managed device resources verbose debug messages" depends on DEBUG_KERNEL help This option enables kernel parameter devres.log. If set to non-zero, devres debug messages are printed. Select this if you are having a problem with devres or want to debug resource management for a managed device. devres.log can be switched on and off from sysfs node. If you are unsure about this, Say N here. config SYS_HYPERVISOR bool default n config GENERIC_CPU_DEVICES bool default n config SOC_BUS bool source "drivers/base/regmap/Kconfig" config DMA_SHARED_BUFFER bool default n select ANON_INODES help This option enables the framework for buffer-sharing between multiple drivers. A buffer is associated with a file using driver APIs extension; the file's descriptor can then be passed on to other driver. config DMA_CMA bool "DMA Contiguous Memory Allocator" depends on HAVE_DMA_CONTIGUOUS && CMA help This enables the Contiguous Memory Allocator which allows drivers to allocate big physically-contiguous blocks of memory for use with hardware components that do not support I/O map nor scatter-gather. For more information see . If unsure, say "n". if DMA_CMA comment "Default contiguous memory area size:" config CMA_SIZE_MBYTES int "Size in Mega Bytes" depends on !CMA_SIZE_SEL_PERCENTAGE default 16 help Defines the size (in MiB) of the default memory area for Contiguous Memory Allocator. config CMA_SIZE_PERCENTAGE int "Percentage of total memory" depends on !CMA_SIZE_SEL_MBYTES default 10 help Defines the size of the default memory area for Contiguous Memory Allocator as a percentage of the total memory in the system. choice prompt "Selected region size" default CMA_SIZE_SEL_MBYTES config CMA_SIZE_SEL_MBYTES bool "Use mega bytes value only" config CMA_SIZE_SEL_PERCENTAGE bool "Use percentage value only" config CMA_SIZE_SEL_MIN bool "Use lower value (minimum)" config CMA_SIZE_SEL_MAX bool "Use higher value (maximum)" endchoice config CMA_ALIGNMENT int "Maximum PAGE_SIZE order of alignment for contiguous buffers" range 4 9 default 8 help DMA mapping framework by default aligns all buffers to the smallest PAGE_SIZE order which is greater than or equal to the requested buffer size. This works well for buffers up to a few hundreds kilobytes, but for larger buffers it just a memory waste. With this parameter you can specify the maximum PAGE_SIZE order for contiguous buffers. Larger buffers will be aligned only to this specified order. The order is expressed as a power of two multiplied by the PAGE_SIZE. For example, if your system defaults to 4KiB pages, the order value of 8 means that the buffers will be aligned up to 1MiB only. If unsure, leave the default value "8". config CMA_AREAS int "Maximum count of the CMA device-private areas" default 7 help CMA allows to create CMA areas for particular devices. This parameter sets the maximum number of such device private CMA areas in the system. If unsure, leave the default value "7". endif endmenu # Generic register map support. There are no user servicable options here, # this is an API intended to be used by other kernel subsystems. These # subsystems should select the appropriate symbols. config REGMAP default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_MMIO || REGMAP_IRQ) select LZO_COMPRESS select LZO_DECOMPRESS select IRQ_DOMAIN if REGMAP_IRQ bool config REGMAP_I2C tristate config REGMAP_SPI tristate config REGMAP_SPMI tristate config REGMAP_MMIO tristate config REGMAP_IRQ bool config BCMA_POSSIBLE bool depends on HAS_IOMEM && HAS_DMA default y menu "Broadcom specific AMBA" depends on BCMA_POSSIBLE config BCMA tristate "BCMA support" depends on BCMA_POSSIBLE help Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture. # Support for Block-I/O. SELECT this from the driver that needs it. config BCMA_BLOCKIO bool depends on BCMA config BCMA_HOST_PCI_POSSIBLE bool depends on BCMA && PCI = y default y config BCMA_HOST_PCI bool "Support for BCMA on PCI-host bus" depends on BCMA_HOST_PCI_POSSIBLE default y config BCMA_DRIVER_PCI_HOSTMODE bool "Driver for PCI core working in hostmode" depends on BCMA && MIPS && BCMA_HOST_PCI help PCI core hostmode operation (external PCI bus). config BCMA_HOST_SOC bool "Support for BCMA in a SoC" depends on BCMA help Host interface for a Broadcom AIX bus directly mapped into the memory. This only works with the Broadcom SoCs from the BCM47XX line. If unsure, say N config BCMA_DRIVER_MIPS bool "BCMA Broadcom MIPS core driver" depends on BCMA && MIPS help Driver for the Broadcom MIPS core attached to Broadcom specific Advanced Microcontroller Bus. If unsure, say N config BCMA_SFLASH bool depends on BCMA_DRIVER_MIPS default y config BCMA_NFLASH bool depends on BCMA_DRIVER_MIPS default y config BCMA_DRIVER_GMAC_CMN bool "BCMA Broadcom GBIT MAC COMMON core driver" depends on BCMA help Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom specific Advanced Microcontroller Bus. If unsure, say N config BCMA_DRIVER_GPIO bool "BCMA GPIO driver" depends on BCMA && GPIOLIB help Driver to provide access to the GPIO pins of the bcma bus. If unsure, say N config BCMA_DEBUG bool "BCMA debugging" depends on BCMA help This turns on additional debugging messages. If unsure, say N endmenu # # Block device driver configuration # menuconfig BLK_DEV bool "Block devices" depends on BLOCK default y ---help--- Say Y here to get to see options for various different block device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled; only do this if you know what you are doing. if BLK_DEV config BLK_DEV_NULL_BLK tristate "Null test block driver" config BLK_DEV_FD tristate "Normal floppy disk support" depends on ARCH_MAY_HAVE_PC_FDC ---help--- If you want to use the floppy disk drive(s) of your PC under Linux, say Y. Information about this driver, especially important for IBM Thinkpad users, is contained in . That file also contains the location of the Floppy driver FAQ as well as location of the fdutils package used to configure additional parameters of the driver at run time. To compile this driver as a module, choose M here: the module will be called floppy. config AMIGA_FLOPPY tristate "Amiga floppy support" depends on AMIGA config ATARI_FLOPPY tristate "Atari floppy support" depends on ATARI config MAC_FLOPPY tristate "Support for PowerMac floppy" depends on PPC_PMAC && !PPC_PMAC64 help If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) floppy controller, say Y here. Most commonly found in PowerMacs. config BLK_DEV_SWIM tristate "Support for SWIM Macintosh floppy" depends on M68K && MAC help You should select this option if you want floppy support and you don't have a II, IIfx, Q900, Q950 or AV series. config AMIGA_Z2RAM tristate "Amiga Zorro II ramdisk support" depends on ZORRO help This enables support for using Chip RAM and Zorro II RAM as a ramdisk or as a swap partition. Say Y if you want to include this driver in the kernel. To compile this driver as a module, choose M here: the module will be called z2ram. config GDROM tristate "SEGA Dreamcast GD-ROM drive" depends on SH_DREAMCAST help A standard SEGA Dreamcast comes with a modified CD ROM drive called a "GD-ROM" by SEGA to signify it is capable of reading special disks with up to 1 GB of data. This drive will also read standard CD ROM disks. Select this option to access any disks in your GD ROM drive. Most users will want to say "Y" here. You can also build this as a module which will be called gdrom. config PARIDE tristate "Parallel port IDE device support" depends on PARPORT_PC ---help--- There are many external CD-ROM and disk devices that connect through your computer's parallel port. Most of them are actually IDE devices using a parallel port IDE adapter. This option enables the PARIDE subsystem which contains drivers for many of these external drives. Read for more information. If you have said Y to the "Parallel-port support" configuration option, you may share a single port between your printer and other parallel port devices. Answer Y to build PARIDE support into your kernel, or M if you would like to build it as a loadable module. If your parallel port support is in a loadable module, you must build PARIDE as a module. If you built PARIDE support into your kernel, you may still build the individual protocol modules and high-level drivers as loadable modules. If you build this support as a module, it will be called paride. To use the PARIDE support, you must say Y or M here and also to at least one high-level driver (e.g. "Parallel port IDE disks", "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and to at least one protocol driver (e.g. "ATEN EH-100 protocol", "MicroSolutions backpack protocol", "DataStor Commuter protocol" etc.). source "drivers/block/paride/Kconfig" source "drivers/block/mtip32xx/Kconfig" config BLK_CPQ_DA tristate "Compaq SMART2 support" depends on PCI && VIRT_TO_BUS && 0 help This is the driver for Compaq Smart Array controllers. Everyone using these boards should say Y here. See the file for the current list of boards supported by this driver, and for further information on the use of this driver. config BLK_CPQ_CISS_DA tristate "Compaq Smart Array 5xxx support" depends on PCI select CHECK_SIGNATURE help This is the driver for Compaq Smart Array 5xxx controllers. Everyone using these boards should say Y here. See for the current list of boards supported by this driver, and for further information on the use of this driver. config CISS_SCSI_TAPE bool "SCSI tape drive support for Smart Array 5xxx" depends on BLK_CPQ_CISS_DA && PROC_FS depends on SCSI=y || SCSI=BLK_CPQ_CISS_DA help When enabled (Y), this option allows SCSI tape drives and SCSI medium changers (tape robots) to be accessed via a Compaq 5xxx array controller. (See for more details.) "SCSI support" and "SCSI tape support" must also be enabled for this option to work. When this option is disabled (N), the SCSI portion of the driver is not compiled. config BLK_DEV_DAC960 tristate "Mylex DAC960/DAC1100 PCI RAID Controller support" depends on PCI help This driver adds support for the Mylex DAC960, AcceleRAID, and eXtremeRAID PCI RAID controllers. See the file for further information about this driver. To compile this driver as a module, choose M here: the module will be called DAC960. config BLK_DEV_UMEM tristate "Micro Memory MM5415 Battery Backed RAM support" depends on PCI ---help--- Saying Y here will include support for the MM5415 family of battery backed (Non-volatile) RAM cards. The cards appear as block devices that can be partitioned into as many as 15 partitions. To compile this driver as a module, choose M here: the module will be called umem. The umem driver has not yet been allocated a MAJOR number, so one is chosen dynamically. config BLK_DEV_UBD bool "Virtual block device" depends on UML ---help--- The User-Mode Linux port includes a driver called UBD which will let you access arbitrary files on the host computer as block devices. Unless you know that you do not need such virtual block devices say Y here. config BLK_DEV_UBD_SYNC bool "Always do synchronous disk IO for UBD" depends on BLK_DEV_UBD ---help--- Writes to the virtual block device are not immediately written to the host's disk; this may cause problems if, for example, the User-Mode Linux 'Virtual Machine' uses a journalling filesystem and the host computer crashes. Synchronous operation (i.e. always writing data to the host's disk immediately) is configurable on a per-UBD basis by using a special kernel command line option. Alternatively, you can say Y here to turn on synchronous operation by default for all block devices. If you're running a journalling file system (like reiserfs, for example) in your virtual machine, you will want to say Y here. If you care for the safety of the data in your virtual machine, Y is a wise choice too. In all other cases (for example, if you're just playing around with User-Mode Linux) you can choose N. config BLK_DEV_COW_COMMON bool default BLK_DEV_UBD config BLK_DEV_LOOP tristate "Loopback device support" ---help--- Saying Y here will allow you to use a regular file as a block device; you can then create a file system on that block device and mount it just as you would mount other block devices such as hard drive partitions, CD-ROM drives or floppy drives. The loop devices are block special device files with major number 7 and typically called /dev/loop0, /dev/loop1 etc. This is useful if you want to check an ISO 9660 file system before burning the CD, or if you want to use floppy images without first writing them to floppy. Furthermore, some Linux distributions avoid the need for a dedicated Linux partition by keeping their complete root file system inside a DOS FAT file using this loop device driver. To use the loop device, you need the losetup utility, found in the util-linux package, see . The loop device driver can also be used to "hide" a file system in a disk partition, floppy, or regular file, either using encryption (scrambling the data) or steganography (hiding the data in the low bits of, say, a sound file). This is also safe if the file resides on a remote file server. There are several ways of encrypting disks. Some of these require kernel patches. The vanilla kernel offers the cryptoloop option and a Device Mapper target (which is superior, as it supports all file systems). If you want to use the cryptoloop, say Y to both LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12 or later) version of util-linux. Additionally, be aware that the cryptoloop is not safe for storing journaled filesystems. Note that this loop device has nothing to do with the loopback device used for network connections from the machine to itself. To compile this driver as a module, choose M here: the module will be called loop. Most users will answer N here. config BLK_DEV_LOOP_MIN_COUNT int "Number of loop devices to pre-create at init time" depends on BLK_DEV_LOOP default 8 help Static number of loop devices to be unconditionally pre-created at init time. This default value can be overwritten on the kernel command line or with module-parameter loop.max_loop. The historic default is 8. If a late 2011 version of losetup(8) is used, it can be set to 0, since needed loop devices can be dynamically allocated with the /dev/loop-control interface. config BLK_DEV_CRYPTOLOOP tristate "Cryptoloop Support" select CRYPTO select CRYPTO_CBC depends on BLK_DEV_LOOP ---help--- Say Y here if you want to be able to use the ciphers that are provided by the CryptoAPI as loop transformation. This might be used as hard disk encryption. WARNING: This device is not safe for journaled file systems like ext3 or Reiserfs. Please use the Device Mapper crypto module instead, which can be configured to be on-disk compatible with the cryptoloop device. source "drivers/block/drbd/Kconfig" config BLK_DEV_NBD tristate "Network block device support" depends on NET ---help--- Saying Y here will allow your computer to be a client for network block devices, i.e. it will be able to use block devices exported by servers (mount file systems on them etc.). Communication between client and server works over TCP/IP networking, but to the client program this is hidden: it looks like a regular local file access to a block device special file such as /dev/nd0. Network block devices also allows you to run a block-device in userland (making server and client physically the same computer, communicating using the loopback network device). Read for more information, especially about where to find the server code, which runs in user space and does not need special kernel support. Note that this has nothing to do with the network file systems NFS or Coda; you can say N here even if you intend to use NFS or Coda. To compile this driver as a module, choose M here: the module will be called nbd. If unsure, say N. config BLK_DEV_NVME tristate "NVM Express block device" depends on PCI ---help--- The NVM Express driver is for solid state drives directly connected to the PCI or PCI Express bus. If you know you don't have one of these, it is safe to answer N. To compile this driver as a module, choose M here: the module will be called nvme. config BLK_DEV_SKD tristate "STEC S1120 Block Driver" depends on PCI depends on 64BIT ---help--- Saying Y or M here will enable support for the STEC, Inc. S1120 PCIe SSD. Use device /dev/skd$N amd /dev/skd$Np$M. config BLK_DEV_OSD tristate "OSD object-as-blkdev support" depends on SCSI_OSD_ULD ---help--- Saying Y or M here will allow the exporting of a single SCSI OSD (object-based storage) object as a Linux block device. For example, if you create a 2G object on an OSD device, you can then use this module to present that 2G object as a Linux block device. To compile this driver as a module, choose M here: the module will be called osdblk. If unsure, say N. config BLK_DEV_SX8 tristate "Promise SATA SX8 support" depends on PCI ---help--- Saying Y or M here will enable support for the Promise SATA SX8 controllers. Use devices /dev/sx8/$N and /dev/sx8/$Np$M. config BLK_DEV_RAM tristate "RAM block device support" ---help--- Saying Y here will allow you to use a portion of your RAM memory as a block device, so that you can make file systems on it, read and write to it and do all the other things that you can do with normal block devices (such as hard drives). It is usually used to load and store a copy of a minimal root file system off of a floppy into RAM during the initial install of Linux. Note that the kernel command line option "ramdisk=XX" is now obsolete. For details, read . To compile this driver as a module, choose M here: the module will be called rd. Most normal users won't need the RAM disk functionality, and can thus say N here. config BLK_DEV_RAM_COUNT int "Default number of RAM disks" default "16" depends on BLK_DEV_RAM help The default value is 16 RAM disks. Change this if you know what you are doing. If you boot from a filesystem that needs to be extracted in memory, you will need at least one RAM disk (e.g. root on cramfs). config BLK_DEV_RAM_SIZE int "Default RAM disk size (kbytes)" depends on BLK_DEV_RAM default "4096" help The default value is 4096 kilobytes. Only change this if you know what you are doing. config BLK_DEV_XIP bool "Support XIP filesystems on RAM block device" depends on BLK_DEV_RAM default n help Support XIP filesystems (such as ext2 with XIP support on) on top of block ram device. This will slightly enlarge the kernel, and will prevent RAM block device backing store memory from being allocated from highmem (only a problem for highmem systems). config CDROM_PKTCDVD tristate "Packet writing on CD/DVD media" depends on !UML help If you have a CDROM/DVD drive that supports packet writing, say Y to include support. It should work with any MMC/Mt Fuji compliant ATAPI or SCSI drive, which is just about any newer DVD/CD writer. Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs is possible. DVD-RW disks must be in restricted overwrite mode. See the file for further information on the use of this driver. To compile this driver as a module, choose M here: the module will be called pktcdvd. config CDROM_PKTCDVD_BUFFERS int "Free buffers for data gathering" depends on CDROM_PKTCDVD default "8" help This controls the maximum number of active concurrent packets. More concurrent packets can increase write performance, but also require more memory. Each concurrent packet will require approximately 64Kb of non-swappable kernel memory, memory which will be allocated when a disc is opened for writing. config CDROM_PKTCDVD_WCACHE bool "Enable write caching" depends on CDROM_PKTCDVD help If enabled, write caching will be set for the CD-R/W device. For now this option is dangerous unless the CD-RW media is known good, as we don't do deferred write error handling yet. config ATA_OVER_ETH tristate "ATA over Ethernet support" depends on NET help This driver provides Support for ATA over Ethernet block devices like the Coraid EtherDrive (R) Storage Blade. config MG_DISK tristate "mGine mflash, gflash support" depends on ARM && GPIOLIB help mGine mFlash(gFlash) block device driver config MG_DISK_RES int "Size of reserved area before MBR" depends on MG_DISK default 0 help Define size of reserved area that usually used for boot. Unit is KB. All of the block device operation will be taken this value as start offset Examples: 1024 => 1 MB config SUNVDC tristate "Sun Virtual Disk Client support" depends on SUN_LDOMS help Support for virtual disk devices as a client under Sun Logical Domains. source "drivers/s390/block/Kconfig" config XILINX_SYSACE tristate "Xilinx SystemACE support" depends on 4xx || MICROBLAZE help Include support for the Xilinx SystemACE CompactFlash interface config XEN_BLKDEV_FRONTEND tristate "Xen virtual block device support" depends on XEN default y select XEN_XENBUS_FRONTEND help This driver implements the front-end of the Xen virtual block device driver. It communicates with a back-end driver in another domain which drives the actual block device. config XEN_BLKDEV_BACKEND tristate "Xen block-device backend driver" depends on XEN_BACKEND help The block-device backend driver allows the kernel to export its block devices to other guests via a high-performance shared-memory interface. The corresponding Linux frontend driver is enabled by the CONFIG_XEN_BLKDEV_FRONTEND configuration option. The backend driver attaches itself to a any block device specified in the XenBus configuration. There are no limits to what the block device as long as it has a major and minor. If you are compiling a kernel to run in a Xen block backend driver domain (often this is domain 0) you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-blkback. config VIRTIO_BLK tristate "Virtio block driver" depends on VIRTIO ---help--- This is the virtual block driver for virtio. It can be used with lguest or QEMU based VMMs (like KVM or Xen). Say Y or M. config BLK_DEV_HD bool "Very old hard disk (MFM/RLL/IDE) driver" depends on HAVE_IDE depends on !ARM || ARCH_RPC || BROKEN help This is a very old hard disk driver that lacks the enhanced functionality of the newer ones. It is required for systems with ancient MFM/RLL/ESDI drives. If unsure, say N. config BLK_DEV_RBD tristate "Rados block device (RBD)" depends on INET && BLOCK select CEPH_LIB select LIBCRC32C select CRYPTO_AES select CRYPTO default n help Say Y here if you want include the Rados block device, which stripes a block device over objects stored in the Ceph distributed object store. More information at http://ceph.newdream.net/. If unsure, say N. config BLK_DEV_RSXX tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver" depends on PCI help Device driver for IBM's high speed PCIe SSD storage device: Flash Adapter 900GB Full Height. To compile this driver as a module, choose M here: the module will be called rsxx. endif # BLK_DEV # # DRBD device driver configuration # comment "DRBD disabled because PROC_FS or INET not selected" depends on PROC_FS='n' || INET='n' config BLK_DEV_DRBD tristate "DRBD Distributed Replicated Block Device support" depends on PROC_FS && INET select LRU_CACHE select LIBCRC32C default n help NOTE: In order to authenticate connections you have to select CRYPTO_HMAC and a hash function as well. DRBD is a shared-nothing, synchronously replicated block device. It is designed to serve as a building block for high availability clusters and in this context, is a "drop-in" replacement for shared storage. Simplistically, you could see it as a network RAID 1. Each minor device has a role, which can be 'primary' or 'secondary'. On the node with the primary device the application is supposed to run and to access the device (/dev/drbdX). Every write is sent to the local 'lower level block device' and, across the network, to the node with the device in 'secondary' state. The secondary device simply writes the data to its lower level block device. DRBD can also be used in dual-Primary mode (device writable on both nodes), which means it can exhibit shared disk semantics in a shared-nothing cluster. Needless to say, on top of dual-Primary DRBD utilizing a cluster file system is necessary to maintain for cache coherency. For automatic failover you need a cluster manager (e.g. heartbeat). See also: http://www.drbd.org/, http://www.linux-ha.org If unsure, say N. config DRBD_FAULT_INJECTION bool "DRBD fault injection" depends on BLK_DEV_DRBD help Say Y here if you want to simulate IO errors, in order to test DRBD's behavior. The actual simulation of IO errors is done by writing 3 values to /sys/module/drbd/parameters/ enable_faults: bitmask of... 1 meta data write 2 read 4 resync data write 8 read 16 data write 32 data read 64 read ahead 128 kmalloc of bitmap 256 allocation of peer_requests 512 insert data corruption on receiving side fault_devs: bitmask of minor numbers fault_rate: frequency in percent Example: Simulate data write errors on /dev/drbd0 with a probability of 5%. echo 16 > /sys/module/drbd/parameters/enable_faults echo 1 > /sys/module/drbd/parameters/fault_devs echo 5 > /sys/module/drbd/parameters/fault_rate If unsure, say N. # # mtip32xx device driver configuration # config BLK_DEV_PCIESSD_MTIP32XX tristate "Block Device Driver for Micron PCIe SSDs" depends on PCI help This enables the block driver for Micron PCIe SSDs. # # PARIDE configuration # # PARIDE doesn't need PARPORT, but if PARPORT is configured as a module, # PARIDE must also be a module. # PARIDE only supports PC style parports. Tough for USB or other parports... comment "Parallel IDE high-level drivers" depends on PARIDE config PARIDE_PD tristate "Parallel port IDE disks" depends on PARIDE help This option enables the high-level driver for IDE-type disk devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port IDE driver, otherwise you should answer M to build it as a loadable module. The module will be called pd. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the SyQuest EZ-135, EZ-230 and SparQ drives, the Avatar Shark and the backpack hard drives from MicroSolutions. config PARIDE_PCD tristate "Parallel port ATAPI CD-ROMs" depends on PARIDE ---help--- This option enables the high-level driver for ATAPI CD-ROM devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI CD-ROM driver, otherwise you should answer M to build it as a loadable module. The module will be called pcd. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If you have such a CD-ROM drive, you should also say Y or M to "ISO 9660 CD-ROM file system support" below, because that's the file system used on CD-ROMs. config PARIDE_PF tristate "Parallel port ATAPI disks" depends on PARIDE help This option enables the high-level driver for ATAPI disk devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI disk driver, otherwise you should answer M to build it as a loadable module. The module will be called pf. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the MicroSolutions backpack PD/CD drive and the Imation Superdisk LS-120 drive. config PARIDE_PT tristate "Parallel port ATAPI tapes" depends on PARIDE help This option enables the high-level driver for ATAPI tape devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI disk driver, otherwise you should answer M to build it as a loadable module. The module will be called pt. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver is the parallel port version of the HP 5GB drive. config PARIDE_PG tristate "Parallel port generic ATAPI devices" depends on PARIDE ---help--- This option enables a special high-level driver for generic ATAPI devices connected through a parallel port. The driver allows user programs, such as cdrtools, to send ATAPI commands directly to a device. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port generic ATAPI driver, otherwise you should answer M to build it as a loadable module. The module will be called pg. You must also have at least one parallel port protocol driver in your system. This driver implements an API loosely related to the generic SCSI driver. See . for details. You can obtain the most recent version of cdrtools from . Versions 1.6.1a3 and later fully support this driver. comment "Parallel IDE protocol modules" depends on PARIDE config PARIDE_ATEN tristate "ATEN EH-100 protocol" depends on PARIDE help This option enables support for the ATEN EH-100 parallel port IDE protocol. This protocol is used in some inexpensive low performance parallel port kits made in Hong Kong. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called aten. You must also have a high-level driver for the type of device that you want to support. config PARIDE_BPCK tristate "MicroSolutions backpack (Series 5) protocol" depends on PARIDE ---help--- This option enables support for the Micro Solutions BACKPACK parallel port Series 5 IDE protocol. (Most BACKPACK drives made before 1999 were Series 5) Series 5 drives will NOT always have the Series noted on the bottom of the drive. Series 6 drivers will. In other words, if your BACKPACK drive doesn't say "Series 6" on the bottom, enable this option. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called bpck. You must also have a high-level driver for the type of device that you want to support. config PARIDE_BPCK6 tristate "MicroSolutions backpack (Series 6) protocol" depends on PARIDE && !64BIT ---help--- This option enables support for the Micro Solutions BACKPACK parallel port Series 6 IDE protocol. (Most BACKPACK drives made after 1999 were Series 6) Series 6 drives will have the Series noted on the bottom of the drive. Series 5 drivers don't always have it noted. In other words, if your BACKPACK drive says "Series 6" on the bottom, enable this option. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called bpck6. You must also have a high-level driver for the type of device that you want to support. config PARIDE_COMM tristate "DataStor Commuter protocol" depends on PARIDE help This option enables support for the Commuter parallel port IDE protocol from DataStor. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called comm. You must also have a high-level driver for the type of device that you want to support. config PARIDE_DSTR tristate "DataStor EP-2000 protocol" depends on PARIDE help This option enables support for the EP-2000 parallel port IDE protocol from DataStor. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called dstr. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FIT2 tristate "FIT TD-2000 protocol" depends on PARIDE help This option enables support for the TD-2000 parallel port IDE protocol from Fidelity International Technology. This is a simple (low speed) adapter that is used in some portable hard drives. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called ktti. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FIT3 tristate "FIT TD-3000 protocol" depends on PARIDE help This option enables support for the TD-3000 parallel port IDE protocol from Fidelity International Technology. This protocol is used in newer models of their portable disk, CD-ROM and PD/CD devices. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called fit3. You must also have a high-level driver for the type of device that you want to support. config PARIDE_EPAT tristate "Shuttle EPAT/EPEZ protocol" depends on PARIDE help This option enables support for the EPAT parallel port IDE protocol. EPAT is a parallel port IDE adapter manufactured by Shuttle Technology and widely used in devices from major vendors such as Hewlett-Packard, SyQuest, Imation and Avatar. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called epat. You must also have a high-level driver for the type of device that you want to support. config PARIDE_EPATC8 bool "Support c7/c8 chips" depends on PARIDE_EPAT help This option enables support for the newer Shuttle EP1284 (aka c7 and c8) chip. You need this if you are using any recent Imation SuperDisk (LS-120) drive. config PARIDE_EPIA tristate "Shuttle EPIA protocol" depends on PARIDE help This option enables support for the (obsolete) EPIA parallel port IDE protocol from Shuttle Technology. This adapter can still be found in some no-name kits. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called epia. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FRIQ tristate "Freecom IQ ASIC-2 protocol" depends on PARIDE help This option enables support for version 2 of the Freecom IQ parallel port IDE adapter. This adapter is used by the Maxell Superdisk drive. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called friq. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FRPW tristate "FreeCom power protocol" depends on PARIDE help This option enables support for the Freecom power parallel port IDE protocol. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called frpw. You must also have a high-level driver for the type of device that you want to support. config PARIDE_KBIC tristate "KingByte KBIC-951A/971A protocols" depends on PARIDE help This option enables support for the KBIC-951A and KBIC-971A parallel port IDE protocols from KingByte Information Corp. KingByte's adapters appear in many no-name portable disk and CD-ROM products, especially in Europe. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called kbic. You must also have a high-level driver for the type of device that you want to support. config PARIDE_KTTI tristate "KT PHd protocol" depends on PARIDE help This option enables support for the "PHd" parallel port IDE protocol from KT Technology. This is a simple (low speed) adapter that is used in some 2.5" portable hard drives. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called ktti. You must also have a high-level driver for the type of device that you want to support. config PARIDE_ON20 tristate "OnSpec 90c20 protocol" depends on PARIDE help This option enables support for the (obsolete) 90c20 parallel port IDE protocol from OnSpec (often marketed under the ValuStore brand name). If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called on20. You must also have a high-level driver for the type of device that you want to support. config PARIDE_ON26 tristate "OnSpec 90c26 protocol" depends on PARIDE help This option enables support for the 90c26 parallel port IDE protocol from OnSpec Electronics (often marketed under the ValuStore brand name). If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called on26. You must also have a high-level driver for the type of device that you want to support. # menu "Bluetooth device drivers" depends on BT config BT_HCIBTUSB tristate "HCI USB driver" depends on USB help Bluetooth HCI USB driver. This driver is required if you want to use Bluetooth devices with USB interface. Say Y here to compile support for Bluetooth USB devices into the kernel or say M to compile it as module (btusb). config BT_HCIBTSDIO tristate "HCI SDIO driver" depends on MMC help Bluetooth HCI SDIO driver. This driver is required if you want to use Bluetooth device with SDIO interface. Say Y here to compile support for Bluetooth SDIO devices into the kernel or say M to compile it as module (btsdio). config BT_HCIUART tristate "HCI UART driver" depends on TTY help Bluetooth HCI UART driver. This driver is required if you want to use Bluetooth devices with serial port interface. You will also need this driver if you have UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card adapter and BrainBoxes Bluetooth PC Card. Say Y here to compile support for Bluetooth UART devices into the kernel or say M to compile it as module (hci_uart). config BT_HCIUART_H4 bool "UART (H4) protocol support" depends on BT_HCIUART help UART (H4) is serial protocol for communication between Bluetooth device and host. This protocol is required for most Bluetooth devices with UART interface, including PCMCIA and CF cards. Say Y here to compile support for HCI UART (H4) protocol. config BT_HCIUART_BCSP bool "BCSP protocol support" depends on BT_HCIUART select BITREVERSE help BCSP (BlueCore Serial Protocol) is serial protocol for communication between Bluetooth device and host. This protocol is required for non USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and CF cards. Say Y here to compile support for HCI BCSP protocol. config BT_HCIUART_ATH3K bool "Atheros AR300x serial support" depends on BT_HCIUART help HCIATH3K (HCI Atheros AR300x) is a serial protocol for communication between host and Atheros AR300x Bluetooth devices. This protocol enables AR300x chips to be enabled with power management support. Enable this if you have Atheros AR300x serial Bluetooth device. Say Y here to compile support for HCI UART ATH3K protocol. config BT_HCIUART_LL bool "HCILL protocol support" depends on BT_HCIUART help HCILL (HCI Low Level) is a serial protocol for communication between Bluetooth device and host. This protocol is required for serial Bluetooth devices that are based on Texas Instruments' BRF chips. Say Y here to compile support for HCILL protocol. config BT_HCIUART_3WIRE bool "Three-wire UART (H5) protocol support" depends on BT_HCIUART help The HCI Three-wire UART Transport Layer makes it possible to user the Bluetooth HCI over a serial port interface. The HCI Three-wire UART Transport Layer assumes that the UART communication may have bit errors, overrun errors or burst errors and thereby making CTS/RTS lines unnecessary. Say Y here to compile support for Three-wire UART protocol. config BT_HCIBCM203X tristate "HCI BCM203x USB driver" depends on USB select FW_LOADER help Bluetooth HCI BCM203x USB driver. This driver provides the firmware loading mechanism for the Broadcom Blutonium based devices. Say Y here to compile support for HCI BCM203x devices into the kernel or say M to compile it as module (bcm203x). config BT_HCIBPA10X tristate "HCI BPA10x USB driver" depends on USB help Bluetooth HCI BPA10x USB driver. This driver provides support for the Digianswer BPA 100/105 Bluetooth sniffer devices. Say Y here to compile support for HCI BPA10x devices into the kernel or say M to compile it as module (bpa10x). config BT_HCIBFUSB tristate "HCI BlueFRITZ! USB driver" depends on USB select FW_LOADER help Bluetooth HCI BlueFRITZ! USB driver. This driver provides support for Bluetooth USB devices with AVM interface: AVM BlueFRITZ! USB Say Y here to compile support for HCI BFUSB devices into the kernel or say M to compile it as module (bfusb). config BT_HCIDTL1 tristate "HCI DTL1 (PC Card) driver" depends on PCMCIA help Bluetooth HCI DTL1 (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with Nokia DTL1 interface: Nokia Bluetooth Card Socket Bluetooth CF Card Say Y here to compile support for HCI DTL1 devices into the kernel or say M to compile it as module (dtl1_cs). config BT_HCIBT3C tristate "HCI BT3C (PC Card) driver" depends on PCMCIA select FW_LOADER help Bluetooth HCI BT3C (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with 3Com BT3C interface: 3Com Bluetooth Card (3CRWB6096) HP Bluetooth Card Say Y here to compile support for HCI BT3C devices into the kernel or say M to compile it as module (bt3c_cs). config BT_HCIBLUECARD tristate "HCI BlueCard (PC Card) driver" depends on PCMCIA help Bluetooth HCI BlueCard (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with Anycom BlueCard interface: Anycom Bluetooth PC Card Anycom Bluetooth CF Card Say Y here to compile support for HCI BlueCard devices into the kernel or say M to compile it as module (bluecard_cs). config BT_HCIBTUART tristate "HCI UART (PC Card) device driver" depends on PCMCIA help Bluetooth HCI UART (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with an UART interface: Xircom CreditCard Bluetooth Adapter Xircom RealPort2 Bluetooth Adapter Sphinx PICO Card H-Soft blue+Card Cyber-blue Compact Flash Card Say Y here to compile support for HCI UART devices into the kernel or say M to compile it as module (btuart_cs). config BT_HCIVHCI tristate "HCI VHCI (Virtual HCI device) driver" help Bluetooth Virtual HCI device driver. This driver is required if you want to use HCI Emulation software. Say Y here to compile support for virtual HCI devices into the kernel or say M to compile it as module (hci_vhci). config BT_MRVL tristate "Marvell Bluetooth driver support" help The core driver to support Marvell Bluetooth devices. This driver is required if you want to support Marvell Bluetooth devices, such as 8688/8787/8797/8897. Say Y here to compile Marvell Bluetooth driver into the kernel or say M to compile it as module. config BT_MRVL_SDIO tristate "Marvell BT-over-SDIO driver" depends on BT_MRVL && MMC select FW_LOADER help The driver for Marvell Bluetooth chipsets with SDIO interface. This driver is required if you want to use Marvell Bluetooth devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8897 chipsets are supported. Say Y here to compile support for Marvell BT-over-SDIO driver into the kernel or say M to compile it as module. config BT_ATH3K tristate "Atheros firmware download driver" depends on BT_HCIBTUSB select FW_LOADER help Bluetooth firmware download driver. This driver loads the firmware into the Atheros Bluetooth chipset. Say Y here to compile support for "Atheros firmware download driver" into the kernel or say M to compile it as module (ath3k). config BT_WILINK tristate "Texas Instruments WiLink7 driver" depends on TI_ST help This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS combo devices. This makes use of shared transport line discipline core driver to communicate with the BT core of the combo chip. Say Y here to compile support for Texas Instrument's WiLink7 driver into the kernel or say M to compile it as module. endmenu # # Bus Devices # menu "Bus devices" config IMX_WEIM bool "Freescale EIM DRIVER" depends on ARCH_MXC help Driver for i.MX WEIM controller. The WEIM(Wireless External Interface Module) works like a bus. You can attach many different devices on it, such as NOR, onenand. config MVEBU_MBUS bool depends on PLAT_ORION help Driver needed for the MBus configuration on Marvell EBU SoCs (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP). config OMAP_OCP2SCP tristate "OMAP OCP2SCP DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable ocp2scp module which transforms ocp interface protocol to scp protocol. In OMAP4, USB PHY is connected via OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via OCP2SCP. config OMAP_INTERCONNECT tristate "OMAP INTERCONNECT DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable OMAP interconnect error handling driver. config ARM_CCI bool "ARM CCI driver support" depends on ARM help Driver supporting the CCI cache coherent interconnect for ARM platforms. endmenu # # Character device configuration # menu "Character devices" source "drivers/tty/Kconfig" config DEVKMEM bool "/dev/kmem virtual device support" default y help Say Y here if you want to support the /dev/kmem device. The /dev/kmem device is rarely used, but can be used for certain kind of kernel debugging operations. When in doubt, say "N". config SGI_SNSC bool "SGI Altix system controller communication support" depends on (IA64_SGI_SN2 || IA64_GENERIC) help If you have an SGI Altix and you want to enable system controller communication from user space (you want this!), say Y. Otherwise, say N. config SGI_TIOCX bool "SGI TIO CX driver support" depends on (IA64_SGI_SN2 || IA64_GENERIC) help If you have an SGI Altix and you have fpga devices attached to your TIO, say Y here, otherwise say N. config SGI_MBCS tristate "SGI FPGA Core Services driver support" depends on SGI_TIOCX help If you have an SGI Altix with an attached SABrick say Y or M here, otherwise say N. source "drivers/tty/serial/Kconfig" config TTY_PRINTK bool "TTY driver to output user messages via printk" depends on EXPERT && TTY default n ---help--- If you say Y here, the support for writing user messages (i.e. console messages) via printk is available. The feature is useful to inline user messages with kernel messages. In order to use this feature, you should output user messages to /dev/ttyprintk or redirect console to this TTY. If unsure, say N. config BFIN_OTP tristate "Blackfin On-Chip OTP Memory Support" depends on BLACKFIN && (BF51x || BF52x || BF54x) default y help If you say Y here, you will get support for a character device interface into the One Time Programmable memory pages that are stored on the Blackfin processor. This will not get you access to the secure memory pages however. You will need to write your own secure code and reader for that. To compile this driver as a module, choose M here: the module will be called bfin-otp. If unsure, it is safe to say Y. config BFIN_OTP_WRITE_ENABLE bool "Enable writing support of OTP pages" depends on BFIN_OTP default n help If you say Y here, you will enable support for writing of the OTP pages. This is dangerous by nature as you can only program the pages once, so only enable this option when you actually need it so as to not inadvertently clobber data. If unsure, say N. config PRINTER tristate "Parallel printer support" depends on PARPORT ---help--- If you intend to attach a printer to the parallel port of your Linux box (as opposed to using a serial printer; if the connector at the printer has 9 or 25 holes ["female"], then it's serial), say Y. Also read the Printing-HOWTO, available from . It is possible to share one parallel port among several devices (e.g. printer and ZIP drive) and it is safe to compile the corresponding drivers into the kernel. To compile this driver as a module, choose M here and read . The module will be called lp. If you have several parallel ports, you can specify which ports to use with the "lp" kernel command line option. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) The syntax of the "lp" command line option can be found in . If you have more than 8 printers, you need to increase the LP_NO macro in lp.c and the PARPORT_MAX macro in parport.h. config LP_CONSOLE bool "Support for console on line printer" depends on PRINTER ---help--- If you want kernel messages to be printed out as they occur, you can have a console on the printer. This option adds support for doing that; to actually get it to happen you need to pass the option "console=lp0" to the kernel at boot time. If the printer is out of paper (or off, or unplugged, or too busy..) the kernel will stall until the printer is ready again. By defining CONSOLE_LP_STRICT to 0 (at your own risk) you can make the kernel continue when this happens, but it'll lose the kernel messages. If unsure, say N. config PPDEV tristate "Support for user-space parallel port device drivers" depends on PARPORT ---help--- Saying Y to this adds support for /dev/parport device nodes. This is needed for programs that want portable access to the parallel port, for instance deviceid (which displays Plug-and-Play device IDs). This is the parallel port equivalent of SCSI generic support (sg). It is safe to say N to this -- it is not needed for normal printing or parallel port CD-ROM/disk support. To compile this driver as a module, choose M here: the module will be called ppdev. If unsure, say N. source "drivers/tty/hvc/Kconfig" config VIRTIO_CONSOLE tristate "Virtio console" depends on VIRTIO && TTY select HVC_DRIVER help Virtio console for use with lguest and other hypervisors. Also serves as a general-purpose serial device for data transfer between the guest and host. Character devices at /dev/vportNpn will be created when corresponding ports are found, where N is the device number and n is the port number within that device. If specified by the host, a sysfs attribute called 'name' will be populated with a name for the port which can be used by udev scripts to create a symlink to the device. config IBM_BSR tristate "IBM POWER Barrier Synchronization Register support" depends on PPC_PSERIES help This devices exposes a hardware mechanism for fast synchronization of threads across a large system which avoids bouncing a cacheline between several cores on a system source "drivers/char/ipmi/Kconfig" config DS1620 tristate "NetWinder thermometer support" depends on ARCH_NETWINDER help Say Y here to include support for the thermal management hardware found in the NetWinder. This driver allows the user to control the temperature set points and to read the current temperature. It is also possible to say M here to build it as a module (ds1620) It is recommended to be used on a NetWinder, but it is not a necessity. config NWBUTTON tristate "NetWinder Button" depends on ARCH_NETWINDER ---help--- If you say Y here and create a character device node /dev/nwbutton with major and minor numbers 10 and 158 ("man mknod"), then every time the orange button is pressed a number of times, the number of times the button was pressed will be written to that device. This is most useful for applications, as yet unwritten, which perform actions based on how many times the button is pressed in a row. Do not hold the button down for too long, as the driver does not alter the behaviour of the hardware reset circuitry attached to the button; it will still execute a hard reset if the button is held down for longer than approximately five seconds. To compile this driver as a module, choose M here: the module will be called nwbutton. Most people will answer Y to this question and "Reboot Using Button" below to be able to initiate a system shutdown from the button. config NWBUTTON_REBOOT bool "Reboot Using Button" depends on NWBUTTON help If you say Y here, then you will be able to initiate a system shutdown and reboot by pressing the orange button a number of times. The number of presses to initiate the shutdown is two by default, but this can be altered by modifying the value of NUM_PRESSES_REBOOT in nwbutton.h and recompiling the driver or, if you compile the driver as a module, you can specify the number of presses at load time with "insmod button reboot_count=". config NWFLASH tristate "NetWinder flash support" depends on ARCH_NETWINDER ---help--- If you say Y here and create a character device /dev/flash with major 10 and minor 160 you can manipulate the flash ROM containing the NetWinder firmware. Be careful as accidentally overwriting the flash contents can render your computer unbootable. On no account allow random users access to this device. :-) To compile this driver as a module, choose M here: the module will be called nwflash. If you're not sure, say N. source "drivers/char/hw_random/Kconfig" config NVRAM tristate "/dev/nvram support" depends on ATARI || X86 || (ARM && RTC_DRV_CMOS) || GENERIC_NVRAM ---help--- If you say Y here and create a character special file /dev/nvram with major number 10 and minor number 144 using mknod ("man mknod"), you get read and write access to the extra bytes of non-volatile memory in the real time clock (RTC), which is contained in every PC and most Ataris. The actual number of bytes varies, depending on the nvram in the system, but is usually 114 (128-14 for the RTC). This memory is conventionally called "CMOS RAM" on PCs and "NVRAM" on Ataris. /dev/nvram may be used to view settings there, or to change them (with some utility). It could also be used to frequently save a few bits of very important data that may not be lost over power-off and for which writing to disk is too insecure. Note however that most NVRAM space in a PC belongs to the BIOS and you should NEVER idly tamper with it. See Ralf Brown's interrupt list for a guide to the use of CMOS bytes by your BIOS. On Atari machines, /dev/nvram is always configured and does not need to be selected. To compile this driver as a module, choose M here: the module will be called nvram. # # These legacy RTC drivers just cause too many conflicts with the generic # RTC framework ... let's not even try to coexist any more. # if RTC_LIB=n config RTC tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \ && !ARM && !SUPERH && !S390 && !AVR32 && !BLACKFIN && !UML ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. Every PC has such a clock built in. It can be used to generate signals from as low as 1Hz up to 8192Hz, and can also be used as a 24 hour alarm. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you run Linux on a multiprocessor machine and said Y to "Symmetric Multi Processing" above, you should say Y here to read and set the RTC in an SMP compatible fashion. If you think you have a use for such a device (such as periodic data sampling), then say Y here, and read for details. To compile this driver as a module, choose M here: the module will be called rtc. config JS_RTC tristate "Enhanced Real Time Clock Support" depends on SPARC32 && PCI ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. Every PC has such a clock built in. It can be used to generate signals from as low as 1Hz up to 8192Hz, and can also be used as a 24 hour alarm. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you think you have a use for such a device (such as periodic data sampling), then say Y here, and read for details. To compile this driver as a module, choose M here: the module will be called js-rtc. config GEN_RTC tristate "Generic /dev/rtc emulation" depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 && !BLACKFIN && !UML ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you enable the "extended RTC operation" below it will also provide an emulation for RTC_UIE which is required by some programs and may improve precision in some cases. To compile this driver as a module, choose M here: the module will be called genrtc. config GEN_RTC_X bool "Extended RTC operation" depends on GEN_RTC help Provides an emulation for RTC_UIE which is required by some programs and may improve precision of the generic RTC support in some cases. config EFI_RTC bool "EFI Real Time Clock Services" depends on IA64 config DS1302 tristate "DS1302 RTC support" depends on M32R && (PLAT_M32700UT || PLAT_OPSPUT) help If you say Y here and create a character special file /dev/rtc with major number 121 and minor number 0 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. endif # RTC_LIB config DTLK tristate "Double Talk PC internal speech card support" depends on ISA help This driver is for the DoubleTalk PC, a speech synthesizer manufactured by RC Systems (). It is also called the `internal DoubleTalk'. To compile this driver as a module, choose M here: the module will be called dtlk. config XILINX_HWICAP tristate "Xilinx HWICAP Support" depends on XILINX_VIRTEX || MICROBLAZE help This option enables support for Xilinx Internal Configuration Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex FPGA platforms to partially reconfigure the FPGA at runtime. If unsure, say N. config R3964 tristate "Siemens R3964 line discipline" depends on TTY ---help--- This driver allows synchronous communication with devices using the Siemens R3964 packet protocol. Unless you are dealing with special hardware like PLCs, you are unlikely to need this. To compile this driver as a module, choose M here: the module will be called n_r3964. If unsure, say N. config APPLICOM tristate "Applicom intelligent fieldbus card support" depends on PCI ---help--- This driver provides the kernel-side support for the intelligent fieldbus cards made by Applicom International. More information about these cards can be found on the WWW at the address , or by email from David Woodhouse . To compile this driver as a module, choose M here: the module will be called applicom. If unsure, say N. config SONYPI tristate "Sony Vaio Programmable I/O Control Device support" depends on X86 && PCI && INPUT && !64BIT ---help--- This driver enables access to the Sony Programmable I/O Control Device which can be found in many (all ?) Sony Vaio laptops. If you have one of those laptops, read , and say Y or M here. To compile this driver as a module, choose M here: the module will be called sonypi. config GPIO_TB0219 tristate "TANBAC TB0219 GPIO support" depends on TANBAC_TB022X select GPIO_VR41XX source "drivers/char/pcmcia/Kconfig" config MWAVE tristate "ACP Modem (Mwave) support" depends on X86 && TTY select SERIAL_8250 ---help--- The ACP modem (Mwave) for Linux is a WinModem. It is composed of a kernel driver and a user level application. Together these components support direct attachment to public switched telephone networks (PSTNs) and support selected world wide countries. This version of the ACP Modem driver supports the IBM Thinkpad 600E, 600, and 770 that include on board ACP modem hardware. The modem also supports the standard communications port interface (ttySx) and is compatible with the Hayes AT Command Set. The user level application needed to use this driver can be found at the IBM Linux Technology Center (LTC) web site: . If you own one of the above IBM Thinkpads which has the Mwave chipset in it, say Y. To compile this driver as a module, choose M here: the module will be called mwave. config SCx200_GPIO tristate "NatSemi SCx200 GPIO Support" depends on SCx200 select NSC_GPIO help Give userspace access to the GPIO pins on the National Semiconductor SCx200 processors. If compiled as a module, it will be called scx200_gpio. config PC8736x_GPIO tristate "NatSemi PC8736x GPIO Support" depends on X86_32 && !UML default SCx200_GPIO # mostly N select NSC_GPIO # needed for support routines help Give userspace access to the GPIO pins on the National Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip has multiple functional units, inc several managed by hwmon/pc87360 driver. Tested with PC-87366 If compiled as a module, it will be called pc8736x_gpio. config NSC_GPIO tristate "NatSemi Base GPIO Support" depends on X86_32 # selected by SCx200_GPIO and PC8736x_GPIO # what about 2 selectors differing: m != y help Common support used (and needed) by scx200_gpio and pc8736x_gpio drivers. If those drivers are built as modules, this one will be too, named nsc_gpio config RAW_DRIVER tristate "RAW driver (/dev/raw/rawN)" depends on BLOCK help The raw driver permits block devices to be bound to /dev/raw/rawN. Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. See the raw(8) manpage for more details. Applications should preferably open the device (eg /dev/hda1) with the O_DIRECT flag. config MAX_RAW_DEVS int "Maximum number of RAW devices to support (1-65536)" depends on RAW_DRIVER default "256" help The maximum number of RAW devices that are supported. Default is 256. Increase this number in case you need lots of raw devices. config HPET bool "HPET - High Precision Event Timer" if (X86 || IA64) default n depends on ACPI help If you say Y here, you will have a miscdevice named "/dev/hpet/". Each open selects one of the timers supported by the HPET. The timers are non-periodic and/or periodic. config HPET_MMAP bool "Allow mmap of HPET" default y depends on HPET help If you say Y here, user applications will be able to mmap the HPET registers. config HPET_MMAP_DEFAULT bool "Enable HPET MMAP access by default" default y depends on HPET_MMAP help In some hardware implementations, the page containing HPET registers may also contain other things that shouldn't be exposed to the user. This option selects the default (if kernel parameter hpet_mmap is not set) user access to the registers for applications that require it. config HANGCHECK_TIMER tristate "Hangcheck timer" depends on X86 || IA64 || PPC64 || S390 help The hangcheck-timer module detects when the system has gone out to lunch past a certain margin. It can reboot the system or merely print a warning. config MMTIMER tristate "MMTIMER Memory mapped RTC for SGI Altix" depends on IA64_GENERIC || IA64_SGI_SN2 default y help The mmtimer device allows direct userspace access to the Altix system timer. config UV_MMTIMER tristate "UV_MMTIMER Memory mapped RTC for SGI UV" depends on X86_UV default m help The uv_mmtimer device allows direct userspace access to the UV system timer. source "drivers/char/tpm/Kconfig" config TELCLOCK tristate "Telecom clock driver for ATCA SBC" depends on X86 default n help The telecom clock device is specific to the MPCBL0010 and MPCBL0050 ATCA computers and allows direct userspace access to the configuration of the telecom clock configuration settings. This device is used for hardware synchronization across the ATCA backplane fabric. Upon loading, the driver exports a sysfs directory, /sys/devices/platform/telco_clock, with a number of files for controlling the behavior of this hardware. config DEVPORT bool depends on !M68K depends on ISA || PCI default y source "drivers/s390/char/Kconfig" config MSM_SMD_PKT bool "Enable device interface for some SMD packet ports" default n depends on MSM_SMD help Enables userspace clients to read and write to some packet SMD ports via device interface for MSM chipset. config TILE_SROM bool "Character-device access via hypervisor to the Tilera SPI ROM" depends on TILE default y ---help--- This device provides character-level read-write access to the SROM, typically via the "0", "1", and "2" devices in /dev/srom/. The Tilera hypervisor makes the flash device appear much like a simple EEPROM, and knows how to partition a single ROM for multiple purposes. endmenu menuconfig AGP tristate "/dev/agpgart (AGP Support)" depends on ALPHA || IA64 || PARISC || PPC || X86 depends on PCI ---help--- AGP (Accelerated Graphics Port) is a bus system mainly used to connect graphics cards to the rest of the system. If you have an AGP system and you say Y here, it will be possible to use the AGP features of your 3D rendering video card. This code acts as a sort of "AGP driver" for the motherboard's chipset. If you need more texture memory than you can get with the AGP GART (theoretically up to 256 MB, but in practice usually 64 or 128 MB due to kernel allocation issues), you could use PCI accesses and have up to a couple gigs of texture space. Note that this is the only means to have X/GLX use write-combining with MTRR support on the AGP bus. Without it, OpenGL direct rendering will be a lot slower but still faster than PIO. To compile this driver as a module, choose M here: the module will be called agpgart. You should say Y here if you want to use GLX or DRI. If unsure, say N. config AGP_ALI tristate "ALI chipset support" depends on AGP && X86_32 ---help--- This option gives you AGP support for the GLX component of X on the following ALi chipsets. The supported chipsets include M1541, M1621, M1631, M1632, M1641,M1647,and M1651. For the ALi-chipset question, ALi suggests you refer to . The M1541 chipset can do AGP 1x and 2x, but note that there is an acknowledged incompatibility with Matrox G200 cards. Due to timing issues, this chipset cannot do AGP 2x with the G200. This is a hardware limitation. AGP 1x seems to be fine, though. config AGP_ATI tristate "ATI chipset support" depends on AGP && X86_32 ---help--- This option gives you AGP support for the GLX component of X on the ATI RadeonIGP family of chipsets. config AGP_AMD tristate "AMD Irongate, 761, and 762 chipset support" depends on AGP && X86_32 help This option gives you AGP support for the GLX component of X on AMD Irongate, 761, and 762 chipsets. config AGP_AMD64 tristate "AMD Opteron/Athlon64 on-CPU GART support" depends on AGP && X86 && AMD_NB help This option gives you AGP support for the GLX component of X using the on-CPU northbridge of the AMD Athlon64/Opteron CPUs. You still need an external AGP bridge like the AMD 8151, VIA K8T400M, SiS755. It may also support other AGP bridges when loaded with agp_try_unsupported=1. config AGP_INTEL tristate "Intel 440LX/BX/GX, I8xx and E7x05 chipset support" depends on AGP && X86 help This option gives you AGP support for the GLX component of X on Intel 440LX/BX/GX, 815, 820, 830, 840, 845, 850, 860, 875, E7205 and E7505 chipsets and full support for the 810, 815, 830M, 845G, 852GM, 855GM, 865G and I915 integrated graphics chipsets. config AGP_NVIDIA tristate "NVIDIA nForce/nForce2 chipset support" depends on AGP && X86_32 help This option gives you AGP support for the GLX component of X on NVIDIA chipsets including nForce and nForce2 config AGP_SIS tristate "SiS chipset support" depends on AGP && X86 help This option gives you AGP support for the GLX component of X on Silicon Integrated Systems [SiS] chipsets. Note that 5591/5592 AGP chipsets are NOT supported. config AGP_SWORKS tristate "Serverworks LE/HE chipset support" depends on AGP && X86_32 help Say Y here to support the Serverworks AGP card. See for product descriptions and images. config AGP_VIA tristate "VIA chipset support" depends on AGP && X86 help This option gives you AGP support for the GLX component of X on VIA MVP3/Apollo Pro chipsets. config AGP_I460 tristate "Intel 460GX chipset support" depends on AGP && (IA64_DIG || IA64_GENERIC) help This option gives you AGP GART support for the Intel 460GX chipset for IA64 processors. config AGP_HP_ZX1 tristate "HP ZX1 chipset AGP support" depends on AGP && (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC) help This option gives you AGP GART support for the HP ZX1 chipset for IA64 processors. config AGP_PARISC tristate "HP Quicksilver AGP support" depends on AGP && PARISC && 64BIT help This option gives you AGP GART support for the HP Quicksilver AGP bus adapter on HP PA-RISC machines (Ok, just on the C8000 workstation...) config AGP_ALPHA_CORE tristate "Alpha AGP support" depends on AGP && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL) default AGP config AGP_UNINORTH tristate "Apple UniNorth & U3 AGP support" depends on AGP && PPC_PMAC help This option gives you AGP support for Apple machines with a UniNorth or U3 (Apple G5) bridge. config AGP_EFFICEON tristate "Transmeta Efficeon support" depends on AGP && X86_32 help This option gives you AGP support for the Transmeta Efficeon series processors with integrated northbridges. config AGP_SGI_TIOCA tristate "SGI TIO chipset AGP support" depends on AGP && (IA64_SGI_SN2 || IA64_GENERIC) help This option gives you AGP GART support for the SGI TIO chipset for IA64 processors. # # Hardware Random Number Generator (RNG) configuration # config HW_RANDOM tristate "Hardware Random Number Generator Core support" default m ---help--- Hardware Random Number Generator Core infrastructure. To compile this driver as a module, choose M here: the module will be called rng-core. This provides a device that's usually called /dev/hw_random, and which exposes one of possibly several hardware random number generators. These hardware random number generators do not feed directly into the kernel's random number generator. That is usually handled by the "rngd" daemon. Documentation/hw_random.txt has more information. If unsure, say Y. config HW_RANDOM_TIMERIOMEM tristate "Timer IOMEM HW Random Number Generator support" depends on HW_RANDOM && HAS_IOMEM ---help--- This driver provides kernel-side support for a generic Random Number Generator used by reading a 'dumb' iomem address that is to be read no faster than, for example, once a second; the default FPGA bitstream on the TS-7800 has such functionality. To compile this driver as a module, choose M here: the module will be called timeriomem-rng. If unsure, say Y. config HW_RANDOM_INTEL tristate "Intel HW Random Number Generator support" depends on HW_RANDOM && (X86 || IA64) && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Intel i8xx-based motherboards. To compile this driver as a module, choose M here: the module will be called intel-rng. If unsure, say Y. config HW_RANDOM_AMD tristate "AMD HW Random Number Generator support" depends on HW_RANDOM && (X86 || PPC_MAPLE) && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on AMD 76x-based motherboards. To compile this driver as a module, choose M here: the module will be called amd-rng. If unsure, say Y. config HW_RANDOM_ATMEL tristate "Atmel Random Number Generator support" depends on HW_RANDOM && HAVE_CLK default (HW_RANDOM && ARCH_AT91) ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Atmel AT91 devices. To compile this driver as a module, choose M here: the module will be called atmel-rng. If unsure, say Y. config HW_RANDOM_BCM63XX tristate "Broadcom BCM63xx Random Number Generator support" depends on HW_RANDOM && BCM63XX default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on the Broadcom BCM63xx SoCs. To compile this driver as a module, choose M here: the module will be called bcm63xx-rng If unusure, say Y. config HW_RANDOM_BCM2835 tristate "Broadcom BCM2835 Random Number Generator support" depends on HW_RANDOM && ARCH_BCM2835 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on the Broadcom BCM2835 SoCs. To compile this driver as a module, choose M here: the module will be called bcm2835-rng If unsure, say Y. config HW_RANDOM_GEODE tristate "AMD Geode HW Random Number Generator support" depends on HW_RANDOM && X86_32 && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on the AMD Geode LX. To compile this driver as a module, choose M here: the module will be called geode-rng. If unsure, say Y. config HW_RANDOM_N2RNG tristate "Niagara2 Random Number Generator support" depends on HW_RANDOM && SPARC64 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Niagara2 cpus. To compile this driver as a module, choose M here: the module will be called n2-rng. If unsure, say Y. config HW_RANDOM_VIA tristate "VIA HW Random Number Generator support" depends on HW_RANDOM && X86 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on VIA based motherboards. To compile this driver as a module, choose M here: the module will be called via-rng. If unsure, say Y. config HW_RANDOM_IXP4XX tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" depends on HW_RANDOM && ARCH_IXP4XX default HW_RANDOM ---help--- This driver provides kernel-side support for the Pseudo-Random Number Generator hardware found on the Intel IXP45x/46x NPU. To compile this driver as a module, choose M here: the module will be called ixp4xx-rng. If unsure, say Y. config HW_RANDOM_OMAP tristate "OMAP Random Number Generator support" depends on HW_RANDOM && (ARCH_OMAP16XX || ARCH_OMAP2PLUS) default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors. To compile this driver as a module, choose M here: the module will be called omap-rng. If unsure, say Y. config HW_RANDOM_OMAP3_ROM tristate "OMAP3 ROM Random Number Generator support" depends on HW_RANDOM && ARCH_OMAP3 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on OMAP34xx processors. To compile this driver as a module, choose M here: the module will be called omap3-rom-rng. If unsure, say Y. config HW_RANDOM_OCTEON tristate "Octeon Random Number Generator support" depends on HW_RANDOM && CAVIUM_OCTEON_SOC default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Octeon processors. To compile this driver as a module, choose M here: the module will be called octeon-rng. If unsure, say Y. config HW_RANDOM_PASEMI tristate "PA Semi HW Random Number Generator support" depends on HW_RANDOM && PPC_PASEMI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on PA Semi PWRficient SoCs. To compile this driver as a module, choose M here: the module will be called pasemi-rng. If unsure, say Y. config HW_RANDOM_VIRTIO tristate "VirtIO Random Number Generator support" depends on HW_RANDOM && VIRTIO ---help--- This driver provides kernel-side support for the virtual Random Number Generator hardware. To compile this driver as a module, choose M here: the module will be called virtio-rng. If unsure, say N. config HW_RANDOM_TX4939 tristate "TX4939 Random Number Generator support" depends on HW_RANDOM && SOC_TX4939 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on TX4939 SoC. To compile this driver as a module, choose M here: the module will be called tx4939-rng. If unsure, say Y. config HW_RANDOM_MXC_RNGA tristate "Freescale i.MX RNGA Random Number Generator" depends on HW_RANDOM && ARCH_HAS_RNGA ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Freescale i.MX processors. To compile this driver as a module, choose M here: the module will be called mxc-rnga. If unsure, say Y. config HW_RANDOM_NOMADIK tristate "ST-Ericsson Nomadik Random Number Generator support" depends on HW_RANDOM && ARCH_NOMADIK ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on ST-Ericsson SoCs (8815 and 8500). To compile this driver as a module, choose M here: the module will be called nomadik-rng. If unsure, say Y. config HW_RANDOM_PICOXCELL tristate "Picochip picoXcell true random number generator support" depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3 ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Picochip PC3x3 and later devices. To compile this driver as a module, choose M here: the module will be called picoxcell-rng. If unsure, say Y. config HW_RANDOM_PPC4XX tristate "PowerPC 4xx generic true random number generator support" depends on HW_RANDOM && PPC && 4xx ---help--- This driver provides the kernel-side support for the TRNG hardware found in the security function of some PowerPC 4xx SoCs. To compile this driver as a module, choose M here: the module will be called ppc4xx-rng. If unsure, say N. config UML_RANDOM depends on UML tristate "Hardware random number generator" help This option enables UML's "hardware" random number generator. It attaches itself to the host's /dev/random, supplying as much entropy as the host has, rather than the small amount the UML gets from its own drivers. It registers itself as a standard hardware random number generator, major 10, minor 183, and the canonical device name is /dev/hwrng. The way to make use of this is to install the rng-tools package (check your distro, or download from http://sourceforge.net/projects/gkernel/). rngd periodically reads /dev/hwrng and injects the entropy into /dev/random. config HW_RANDOM_PSERIES tristate "pSeries HW Random Number Generator support" depends on HW_RANDOM && PPC64 && IBMVIO default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on POWER7+ machines and above To compile this driver as a module, choose M here: the module will be called pseries-rng. If unsure, say Y. config HW_RANDOM_POWERNV tristate "PowerNV Random Number Generator support" depends on HW_RANDOM && PPC_POWERNV default HW_RANDOM ---help--- This is the driver for Random Number Generator hardware found in POWER7+ and above machines for PowerNV platform. To compile this driver as a module, choose M here: the module will be called powernv-rng. If unsure, say Y. config HW_RANDOM_EXYNOS tristate "EXYNOS HW random number generator support" depends on HW_RANDOM && HAS_IOMEM && HAVE_CLK ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on EXYNOS SOCs. To compile this driver as a module, choose M here: the module will be called exynos-rng. If unsure, say Y. config HW_RANDOM_TPM tristate "TPM HW Random Number Generator support" depends on HW_RANDOM && TCG_TPM default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator in the Trusted Platform Module To compile this driver as a module, choose M here: the module will be called tpm-rng. If unsure, say Y. config HW_RANDOM_MSM tristate "Qualcomm MSM Random Number Generator support" depends on HW_RANDOM && ARCH_MSM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Qualcomm MSM SoCs. To compile this driver as a module, choose M here. the module will be called msm-rng. If unsure, say Y. # # IPMI device configuration # menuconfig IPMI_HANDLER tristate 'IPMI top-level message handler' depends on HAS_IOMEM help This enables the central IPMI message handler, required for IPMI to work. IPMI is a standard for managing sensors (temperature, voltage, etc.) in a system. See for more details on the driver. If unsure, say N. if IPMI_HANDLER config IPMI_PANIC_EVENT bool 'Generate a panic event to all BMCs on a panic' help When a panic occurs, this will cause the IPMI message handler to generate an IPMI event describing the panic to each interface registered with the message handler. config IPMI_PANIC_STRING bool 'Generate OEM events containing the panic string' depends on IPMI_PANIC_EVENT help When a panic occurs, this will cause the IPMI message handler to generate IPMI OEM type f0 events holding the IPMB address of the panic generator (byte 4 of the event), a sequence number for the string (byte 5 of the event) and part of the string (the rest of the event). Bytes 1, 2, and 3 are the normal usage for an OEM event. You can fetch these events and use the sequence numbers to piece the string together. config IPMI_DEVICE_INTERFACE tristate 'Device interface for IPMI' help This provides an IOCTL interface to the IPMI message handler so userland processes may use IPMI. It supports poll() and select(). config IPMI_SI tristate 'IPMI System Interface handler' help Provides a driver for System Interfaces (KCS, SMIC, BT). Currently, only KCS and SMIC are supported. If you are using IPMI, you should probably say "y" here. config IPMI_WATCHDOG tristate 'IPMI Watchdog Timer' help This enables the IPMI watchdog timer. config IPMI_POWEROFF tristate 'IPMI Poweroff' help This enables a function to power off the system with IPMI if the IPMI management controller is capable of this. endif # IPMI_HANDLER # # PCMCIA character device configuration # menu "PCMCIA character devices" depends on PCMCIA!=n config SYNCLINK_CS tristate "SyncLink PC Card support" depends on PCMCIA && TTY help Enable support for the SyncLink PC Card serial adapter, running asynchronous and HDLC communications up to 512Kbps. The port is selectable for RS-232, V.35, RS-449, RS-530, and X.21 This driver may be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclinkmp. If you want to do that, say M here. config CARDMAN_4000 tristate "Omnikey Cardman 4000 support" depends on PCMCIA select BITREVERSE help Enable support for the Omnikey Cardman 4000 PCMCIA Smartcard reader. This kernel driver requires additional userspace support, either by the vendor-provided PC/SC ifd_handler (http://www.omnikey.com/), or via the cm4000 backend of OpenCT (http://www.opensc-project.org/opensc). config CARDMAN_4040 tristate "Omnikey CardMan 4040 support" depends on PCMCIA help Enable support for the Omnikey CardMan 4040 PCMCIA Smartcard reader. This card is basically a USB CCID device connected to a FIFO in I/O space. To use the kernel driver, you will need either the PC/SC ifdhandler provided from the Omnikey homepage (http://www.omnikey.com/), or a current development version of OpenCT (http://www.opensc-project.org/opensc). config IPWIRELESS tristate "IPWireless 3G UMTS PCMCIA card support" depends on PCMCIA && NETDEVICES && TTY select PPP help This is a driver for 3G UMTS PCMCIA card from IPWireless company. In some countries (for example Czech Republic, T-Mobile ISP) this card is shipped for service called UMTS 4G. endmenu # # TPM device configuration # menuconfig TCG_TPM tristate "TPM Hardware Support" depends on HAS_IOMEM select SECURITYFS ---help--- If you have a TPM security chip in your system, which implements the Trusted Computing Group's specification, say Yes and it will be accessible from within Linux. For more information see . An implementation of the Trusted Software Stack (TSS), the userspace enablement piece of the specification, can be obtained at: . To compile this driver as a module, choose M here; the module will be called tpm. If unsure, say N. Notes: 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI and CONFIG_PNPACPI. 2) Without ACPI enabled, the BIOS event log won't be accessible, which is required to validate the PCR 0-7 values. if TCG_TPM config TCG_TIS tristate "TPM Interface Specification 1.2 Interface" depends on X86 ---help--- If you have a TPM security chip that is compliant with the TCG TIS 1.2 TPM specification say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_tis. config TCG_TIS_I2C_ATMEL tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)" depends on I2C ---help--- If you have an Atmel I2C TPM security chip say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_tis_i2c_atmel. config TCG_TIS_I2C_INFINEON tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)" depends on I2C ---help--- If you have a TPM security chip that is compliant with the TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack Specification 0.20 say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_i2c_infineon. config TCG_TIS_I2C_NUVOTON tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)" depends on I2C ---help--- If you have a TPM security chip with an I2C interface from Nuvoton Technology Corp. say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_i2c_nuvoton. config TCG_NSC tristate "National Semiconductor TPM Interface" depends on X86 ---help--- If you have a TPM security chip from National Semiconductor say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_nsc. config TCG_ATMEL tristate "Atmel TPM Interface" depends on PPC64 || HAS_IOPORT ---help--- If you have a TPM security chip from Atmel say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_atmel. config TCG_INFINEON tristate "Infineon Technologies TPM Interface" depends on PNP ---help--- If you have a TPM security chip from Infineon Technologies (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_infineon. Further information on this driver and the supported hardware can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/ config TCG_IBMVTPM tristate "IBM VTPM Interface" depends on PPC_PSERIES ---help--- If you have IBM virtual TPM (VTPM) support say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_ibmvtpm. config TCG_ST33_I2C tristate "STMicroelectronics ST33 I2C TPM" depends on I2C depends on GPIOLIB ---help--- If you have a TPM security chip from STMicroelectronics working with an I2C bus say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_stm_st33_i2c. config TCG_XEN tristate "XEN TPM Interface" depends on TCG_TPM && XEN select XEN_XENBUS_FRONTEND ---help--- If you want to make TPM support available to a Xen user domain, say Yes and it will be accessible from within Linux. See the manpages for xl, xl.conf, and docs/misc/vtpm.txt in the Xen source repository for more details. To compile this driver as a module, choose M here; the module will be called xen-tpmfront. endif # TCG_TPM config CLKDEV_LOOKUP bool select HAVE_CLK config HAVE_CLK_PREPARE bool config HAVE_MACH_CLKDEV bool config COMMON_CLK bool select HAVE_CLK_PREPARE select CLKDEV_LOOKUP ---help--- The common clock framework is a single definition of struct clk, useful across many platforms, as well as an implementation of the clock API in include/linux/clk.h. Architectures utilizing the common struct clk should select this option. menu "Common Clock Framework" depends on COMMON_CLK config COMMON_CLK_DEBUG bool "DebugFS representation of clock tree" select DEBUG_FS ---help--- Creates a directory hierarchy in debugfs for visualizing the clk tree structure. Each directory contains read-only members that export information specific to that clk node: clk_rate, clk_flags, clk_prepare_count, clk_enable_count & clk_notifier_count. config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" depends on MFD_WM831X ---help--- Supports the clocking subsystem of the WM831x/2x series of PMICs from Wolfson Microlectronics. config COMMON_CLK_VERSATILE bool "Clock driver for ARM Reference designs" depends on ARCH_INTEGRATOR || ARCH_REALVIEW || ARCH_VEXPRESS || ARM64 ---help--- Supports clocking on ARM Reference designs: - Integrator/AP and Integrator/CP - RealView PB1176, EB, PB11MP and PBX - Versatile Express config COMMON_CLK_MAX77686 tristate "Clock driver for Maxim 77686 MFD" depends on MFD_MAX77686 ---help--- This driver supports Maxim 77686 crystal oscillator clock. config COMMON_CLK_SI5351 tristate "Clock driver for SiLabs 5351A/B/C" depends on I2C select REGMAP_I2C select RATIONAL ---help--- This driver supports Silicon Labs 5351A/B/C programmable clock generators. config COMMON_CLK_S2MPS11 tristate "Clock driver for S2MPS11 MFD" depends on MFD_SEC_CORE ---help--- This driver supports S2MPS11 crystal oscillator clock. config CLK_TWL6040 tristate "External McPDM functional clock from twl6040" depends on TWL6040_CORE ---help--- Enable the external functional clock support on OMAP4+ platforms for McPDM. McPDM module is using the external bit clock on the McPDM bus as functional clock. config COMMON_CLK_AXI_CLKGEN tristate "AXI clkgen driver" depends on ARCH_ZYNQ || MICROBLAZE help ---help--- Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx FPGAs. It is commonly used in Analog Devices' reference designs. config CLK_PPC_CORENET bool "Clock driver for PowerPC corenet platforms" depends on PPC_E500MC && OF ---help--- This adds the clock driver support for Freescale PowerPC corenet platforms using common clock framework. config COMMON_CLK_XGENE bool "Clock driver for APM XGene SoC" default y depends on ARM64 ---help--- Sypport for the APM X-Gene SoC reference, PLL, and device clocks. config COMMON_CLK_KEYSTONE tristate "Clock drivers for Keystone based SOCs" depends on ARCH_KEYSTONE && OF ---help--- Supports clock drivers for Keystone based SOCs. These SOCs have local a power sleep control module that gate the clock to the IPs and PLLs. endmenu source "drivers/clk/mvebu/Kconfig" config MVEBU_CLK_COMMON bool config MVEBU_CLK_CPU bool config ARMADA_370_CLK bool select MVEBU_CLK_COMMON select MVEBU_CLK_CPU config ARMADA_XP_CLK bool select MVEBU_CLK_COMMON select MVEBU_CLK_CPU config DOVE_CLK bool select MVEBU_CLK_COMMON config KIRKWOOD_CLK bool select MVEBU_CLK_COMMON config CLKSRC_OF bool config CLKSRC_I8253 bool config CLKEVT_I8253 bool config I8253_LOCK bool config CLKBLD_I8253 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK config CLKSRC_MMIO bool config DW_APB_TIMER bool config DW_APB_TIMER_OF bool select DW_APB_TIMER select CLKSRC_OF config ARMADA_370_XP_TIMER bool select CLKSRC_OF config ORION_TIMER select CLKSRC_OF select CLKSRC_MMIO bool config SUN4I_TIMER select CLKSRC_MMIO bool config VT8500_TIMER bool config CADENCE_TTC_TIMER bool config CLKSRC_NOMADIK_MTU bool depends on (ARCH_NOMADIK || ARCH_U8500) select CLKSRC_MMIO help Support for Multi Timer Unit. MTU provides access to multiple interrupt generating programmable 32-bit free running decrementing counters. config CLKSRC_NOMADIK_MTU_SCHED_CLOCK bool depends on CLKSRC_NOMADIK_MTU help Use the Multi Timer Unit as the sched_clock. config CLKSRC_DBX500_PRCMU bool "Clocksource PRCMU Timer" depends on UX500_SOC_DB8500 default y help Use the always on PRCMU Timer as clocksource config CLKSRC_DBX500_PRCMU_SCHED_CLOCK bool "Clocksource PRCMU Timer sched_clock" depends on (CLKSRC_DBX500_PRCMU && !CLKSRC_NOMADIK_MTU_SCHED_CLOCK) default y help Use the always on PRCMU Timer as sched_clock config CLKSRC_EFM32 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) select CLKSRC_MMIO default ARCH_EFM32 help Support to use the timers of EFM32 SoCs as clock source and clock event device. config ARM_ARCH_TIMER bool select CLKSRC_OF if OF config ARM_ARCH_TIMER_EVTSTREAM bool "Support for ARM architected timer event stream generation" default y if ARM_ARCH_TIMER depends on ARM_ARCH_TIMER help This option enables support for event stream generation based on the ARM architected timer. It is used for waking up CPUs executing the wfe instruction at a frequency represented as a power-of-2 divisor of the clock rate. The main use of the event stream is wfe-based timeouts of userspace locking implementations. It might also be useful for imposing timeout on wfe to safeguard against any programming errors in case an expected event is not generated. This must be disabled for hardware validation purposes to detect any hardware anomalies of missing events. config ARM_GLOBAL_TIMER bool select CLKSRC_OF if OF help This options enables support for the ARM global timer unit config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK bool depends on ARM_GLOBAL_TIMER default y help Use ARM global timer clock source as sched_clock config CLKSRC_METAG_GENERIC def_bool y if METAG help This option enables support for the Meta per-thread timers. config CLKSRC_EXYNOS_MCT def_bool y if ARCH_EXYNOS help Support for Multi Core Timer controller on Exynos SoCs. config CLKSRC_SAMSUNG_PWM bool help This is a new clocksource driver for the PWM timer found in Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver for all devicetree enabled platforms. This driver will be needed only on systems that do not have the Exynos MCT available. config VF_PIT_TIMER bool help Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. menuconfig CONNECTOR tristate "Connector - unified userspace <-> kernelspace linker" depends on NET ---help--- This is unified userspace <-> kernelspace connector working on top of the netlink socket protocol. Connector support can also be built as a module. If so, the module will be called cn. if CONNECTOR config PROC_EVENTS boolean "Report process events to userspace" depends on CONNECTOR=y default y ---help--- Provide a connector that reports process events to userspace. Send events such as fork, exec, id change (uid, gid, suid, etc), and exit. endif # CONNECTOR menu "CPU Frequency scaling" config CPU_FREQ bool "CPU Frequency scaling" help CPU Frequency scaling allows you to change the clock speed of CPUs on the fly. This is a nice method to save power, because the lower the CPU clock speed, the less power the CPU consumes. Note that this driver doesn't automatically change the CPU clock speed, you need to either enable a dynamic cpufreq governor (see below) after boot, or use a userspace tool. For details, take a look at . If in doubt, say N. if CPU_FREQ config CPU_FREQ_GOV_COMMON bool config CPU_FREQ_STAT tristate "CPU frequency translation statistics" default y help This driver exports CPU frequency statistics information through sysfs file system. To compile this driver as a module, choose M here: the module will be called cpufreq_stats. If in doubt, say N. config CPU_FREQ_STAT_DETAILS bool "CPU frequency translation statistics details" depends on CPU_FREQ_STAT help This will show detail CPU frequency translation table in sysfs file system. If in doubt, say N. choice prompt "Default CPUFreq governor" default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ default CPU_FREQ_DEFAULT_GOV_PERFORMANCE help This option sets which CPUFreq governor shall be loaded at startup. If in doubt, select 'performance'. config CPU_FREQ_DEFAULT_GOV_PERFORMANCE bool "performance" select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'performance' as default. This sets the frequency statically to the highest frequency supported by the CPU. config CPU_FREQ_DEFAULT_GOV_POWERSAVE bool "powersave" depends on EXPERT select CPU_FREQ_GOV_POWERSAVE help Use the CPUFreq governor 'powersave' as default. This sets the frequency statically to the lowest frequency supported by the CPU. config CPU_FREQ_DEFAULT_GOV_USERSPACE bool "userspace" select CPU_FREQ_GOV_USERSPACE help Use the CPUFreq governor 'userspace' as default. This allows you to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically without having to enable the userspace governor manually. config CPU_FREQ_DEFAULT_GOV_ONDEMAND bool "ondemand" select CPU_FREQ_GOV_ONDEMAND select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'ondemand' as default. This allows you to get a full dynamic frequency capable system by simply loading your cpufreq low-level hardware driver. Be aware that not all cpufreq drivers support the ondemand governor. If unsure have a look at the help section of the driver. Fallback governor will be the performance governor. config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE bool "conservative" select CPU_FREQ_GOV_CONSERVATIVE select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'conservative' as default. This allows you to get a full dynamic frequency capable system by simply loading your cpufreq low-level hardware driver. Be aware that not all cpufreq drivers support the conservative governor. If unsure have a look at the help section of the driver. Fallback governor will be the performance governor. endchoice config CPU_FREQ_GOV_PERFORMANCE tristate "'performance' governor" help This cpufreq governor sets the frequency statically to the highest available CPU frequency. To compile this driver as a module, choose M here: the module will be called cpufreq_performance. If in doubt, say Y. config CPU_FREQ_GOV_POWERSAVE tristate "'powersave' governor" help This cpufreq governor sets the frequency statically to the lowest available CPU frequency. To compile this driver as a module, choose M here: the module will be called cpufreq_powersave. If in doubt, say Y. config CPU_FREQ_GOV_USERSPACE tristate "'userspace' governor for userspace frequency scaling" help Enable this cpufreq governor when you either want to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically, like on LART . To compile this driver as a module, choose M here: the module will be called cpufreq_userspace. For details, take a look at . If in doubt, say Y. config CPU_FREQ_GOV_ONDEMAND tristate "'ondemand' cpufreq policy governor" select CPU_FREQ_GOV_COMMON help 'ondemand' - This driver adds a dynamic cpufreq policy governor. The governor does a periodic polling and changes frequency based on the CPU utilization. The support for this governor depends on CPU capability to do fast frequency switching (i.e, very low latency frequency transitions). To compile this driver as a module, choose M here: the module will be called cpufreq_ondemand. For details, take a look at linux/Documentation/cpu-freq. If in doubt, say N. config CPU_FREQ_GOV_CONSERVATIVE tristate "'conservative' cpufreq governor" depends on CPU_FREQ select CPU_FREQ_GOV_COMMON help 'conservative' - this driver is rather similar to the 'ondemand' governor both in its source code and its purpose, the difference is its optimisation for better suitability in a battery powered environment. The frequency is gracefully increased and decreased rather than jumping to 100% when speed is required. If you have a desktop machine then you should really be considering the 'ondemand' governor instead, however if you are using a laptop, PDA or even an AMD64 based computer (due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU) you will probably want to use this governor. To compile this driver as a module, choose M here: the module will be called cpufreq_conservative. For details, take a look at linux/Documentation/cpu-freq. If in doubt, say N. config GENERIC_CPUFREQ_CPU0 tristate "Generic CPU0 cpufreq driver" depends on HAVE_CLK && REGULATOR && PM_OPP && OF help This adds a generic cpufreq driver for CPU0 frequency management. It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) systems which share clock and voltage across all CPUs. If in doubt, say N. menu "x86 CPU frequency scaling drivers" depends on X86 source "drivers/cpufreq/Kconfig.x86" endmenu menu "ARM CPU frequency scaling drivers" depends on ARM source "drivers/cpufreq/Kconfig.arm" endmenu menu "AVR32 CPU frequency scaling drivers" depends on AVR32 config AVR32_AT32AP_CPUFREQ bool "CPU frequency driver for AT32AP" depends on PLATFORM_AT32AP default n help This enables the CPU frequency driver for AT32AP processors. If in doubt, say N. endmenu menu "CPUFreq processor drivers" depends on IA64 config IA64_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" depends on ACPI_PROCESSOR help This driver adds a CPUFreq driver which utilizes the ACPI Processor Performance States. For details, take a look at . If in doubt, say N. endmenu menu "MIPS CPUFreq processor drivers" depends on MIPS config LOONGSON2_CPUFREQ tristate "Loongson2 CPUFreq Driver" help This option adds a CPUFreq driver for loongson processors which support software configurable cpu frequency. Loongson2F and it's successors support this feature. For details, take a look at . If in doubt, say N. endmenu menu "PowerPC CPU frequency scaling drivers" depends on PPC32 || PPC64 source "drivers/cpufreq/Kconfig.powerpc" endmenu menu "SPARC CPU frequency scaling drivers" depends on SPARC64 config SPARC_US3_CPUFREQ tristate "UltraSPARC-III CPU Frequency driver" help This adds the CPUFreq driver for UltraSPARC-III processors. For details, take a look at . If in doubt, say N. config SPARC_US2E_CPUFREQ tristate "UltraSPARC-IIe CPU Frequency driver" help This adds the CPUFreq driver for UltraSPARC-IIe processors. For details, take a look at . If in doubt, say N. endmenu menu "SH CPU Frequency scaling" depends on SUPERH config SH_CPU_FREQ tristate "SuperH CPU Frequency driver" help This adds the cpufreq driver for SuperH. Any CPU that supports clock rate rounding through the clock framework can use this driver. While it will make the kernel slightly larger, this is harmless for CPUs that don't support rate rounding. The driver will also generate a notice in the boot log before disabling itself if the CPU in question is not capable of rate rounding. For details, take a look at . If unsure, say N. endmenu endif endmenu menu "CPU Idle" config CPU_IDLE bool "CPU idle PM support" default y if ACPI || PPC_PSERIES select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE) select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) help CPU idle is a generic framework for supporting software-controlled idle processor power management. It includes modular cross-platform governors that can be swapped during runtime. If you're using an ACPI-enabled platform, you should say Y here. if CPU_IDLE config CPU_IDLE_MULTIPLE_DRIVERS bool "Support multiple cpuidle drivers" default n help Allows the cpuidle framework to use different drivers for each CPU. This is useful if you have a system with different CPU latencies and states. If unsure say N. config CPU_IDLE_GOV_LADDER bool "Ladder governor (for periodic timer tick)" default y config CPU_IDLE_GOV_MENU bool "Menu governor (for tickless system)" default y menu "ARM CPU Idle Drivers" depends on ARM source "drivers/cpuidle/Kconfig.arm" endmenu endif config ARCH_NEEDS_CPU_IDLE_COUPLED def_bool n endmenu menuconfig CRYPTO_HW bool "Hardware crypto devices" default y ---help--- Say Y here to get to see options for hardware crypto devices and processors. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if CRYPTO_HW config CRYPTO_DEV_PADLOCK tristate "Support for VIA PadLock ACE" depends on X86 && !UML help Some VIA processors come with an integrated crypto engine (so called VIA PadLock ACE, Advanced Cryptography Engine) that provides instructions for very fast cryptographic operations with supported algorithms. The instructions are used only when the CPU supports them. Otherwise software encryption is used. config CRYPTO_DEV_PADLOCK_AES tristate "PadLock driver for AES algorithm" depends on CRYPTO_DEV_PADLOCK select CRYPTO_BLKCIPHER select CRYPTO_AES help Use VIA PadLock for AES algorithm. Available in VIA C3 and newer CPUs. If unsure say M. The compiled module will be called padlock-aes. config CRYPTO_DEV_PADLOCK_SHA tristate "PadLock driver for SHA1 and SHA256 algorithms" depends on CRYPTO_DEV_PADLOCK select CRYPTO_HASH select CRYPTO_SHA1 select CRYPTO_SHA256 help Use VIA PadLock for SHA1/SHA256 algorithms. Available in VIA C7 and newer processors. If unsure say M. The compiled module will be called padlock-sha. config CRYPTO_DEV_GEODE tristate "Support for the Geode LX AES engine" depends on X86_32 && PCI select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help Say 'Y' here to use the AMD Geode LX processor on-board AES engine for the CryptoAPI AES algorithm. To compile this driver as a module, choose M here: the module will be called geode-aes. config ZCRYPT tristate "Support for PCI-attached cryptographic adapters" depends on S390 select HW_RANDOM help Select this option if you want to use a PCI-attached cryptographic adapter like: + PCI Cryptographic Accelerator (PCICA) + PCI Cryptographic Coprocessor (PCICC) + PCI-X Cryptographic Coprocessor (PCIXCC) + Crypto Express2 Coprocessor (CEX2C) + Crypto Express2 Accelerator (CEX2A) + Crypto Express3 Coprocessor (CEX3C) + Crypto Express3 Accelerator (CEX3A) config CRYPTO_SHA1_S390 tristate "SHA1 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). It is available as of z990. config CRYPTO_SHA256_S390 tristate "SHA256 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA256 secure hash standard (DFIPS 180-2). It is available as of z9. config CRYPTO_SHA512_S390 tristate "SHA384 and SHA512 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA512 secure hash standard. It is available as of z10. config CRYPTO_DES_S390 tristate "DES and Triple DES cipher algorithms" depends on S390 select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select CRYPTO_DES help This is the s390 hardware accelerated implementation of the DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). As of z990 the ECB and CBC mode are hardware accelerated. As of z196 the CTR mode is hardware accelerated. config CRYPTO_AES_S390 tristate "AES cipher algorithms" depends on S390 select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help This is the s390 hardware accelerated implementation of the AES cipher algorithms (FIPS-197). As of z9 the ECB and CBC modes are hardware accelerated for 128 bit keys. As of z10 the ECB and CBC modes are hardware accelerated for all AES key sizes. As of z196 the CTR mode is hardware accelerated for all AES key sizes and XTS mode is hardware accelerated for 256 and 512 bit keys. config S390_PRNG tristate "Pseudo random number generator device driver" depends on S390 default "m" help Select this option if you want to use the s390 pseudo random number generator. The PRNG is part of the cryptographic processor functions and uses triple-DES to generate secure random numbers like the ANSI X9.17 standard. User-space programs access the pseudo-random-number device through the char device /dev/prandom. It is available as of z9. config CRYPTO_GHASH_S390 tristate "GHASH digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the GHASH message digest algorithm for GCM (Galois/Counter Mode). It is available as of z196. config CRYPTO_DEV_MV_CESA tristate "Marvell's Cryptographic Engine" depends on PLAT_ORION select CRYPTO_ALGAPI select CRYPTO_AES select CRYPTO_BLKCIPHER2 select CRYPTO_HASH help This driver allows you to utilize the Cryptographic Engines and Security Accelerator (CESA) which can be found on the Marvell Orion and Kirkwood SoCs, such as QNAP's TS-209. Currently the driver supports AES in ECB and CBC mode without DMA. config CRYPTO_DEV_NIAGARA2 tristate "Niagara2 Stream Processing Unit driver" select CRYPTO_DES select CRYPTO_ALGAPI depends on SPARC64 help Each core of a Niagara2 processor contains a Stream Processing Unit, which itself contains several cryptographic sub-units. One set provides the Modular Arithmetic Unit, used for SSL offload. The other set provides the Cipher Group, which can perform encryption, decryption, hashing, checksumming, and raw copies. config CRYPTO_DEV_HIFN_795X tristate "Driver HIFN 795x crypto accelerator chips" select CRYPTO_DES select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG depends on PCI depends on !ARCH_DMA_ADDR_T_64BIT help This option allows you to have support for HIFN 795x crypto adapters. config CRYPTO_DEV_HIFN_795X_RNG bool "HIFN 795x random number generator" depends on CRYPTO_DEV_HIFN_795X help Select this option if you want to enable the random number generator on the HIFN 795x crypto adapters. source drivers/crypto/caam/Kconfig config CRYPTO_DEV_TALITOS tristate "Talitos Freescale Security Engine (SEC)" select CRYPTO_ALGAPI select CRYPTO_AUTHENC select HW_RANDOM depends on FSL_SOC help Say 'Y' here to use the Freescale Security Engine (SEC) to offload cryptographic algorithm computation. The Freescale SEC is present on PowerQUICC 'E' processors, such as the MPC8349E and MPC8548E. To compile this driver as a module, choose M here: the module will be called talitos. config CRYPTO_DEV_IXP4XX tristate "Driver for IXP4xx crypto hardware acceleration" depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE select CRYPTO_DES select CRYPTO_ALGAPI select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER help Driver for the IXP4xx NPE crypto engine. config CRYPTO_DEV_PPC4XX tristate "Driver AMCC PPC4xx crypto accelerator" depends on PPC && 4xx select CRYPTO_HASH select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help This option allows you to have support for AMCC crypto acceleration. config CRYPTO_DEV_OMAP_SHAM tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" depends on ARCH_OMAP2PLUS select CRYPTO_SHA1 select CRYPTO_MD5 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_HMAC help OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you want to use the OMAP module for MD5/SHA1/SHA2 algorithms. config CRYPTO_DEV_OMAP_AES tristate "Support for OMAP AES hw engine" depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS select CRYPTO_AES select CRYPTO_BLKCIPHER2 help OMAP processors have AES module accelerator. Select this if you want to use the OMAP module for AES algorithms. config CRYPTO_DEV_PICOXCELL tristate "Support for picoXcell IPSEC and Layer2 crypto engines" depends on ARCH_PICOXCELL && HAVE_CLK select CRYPTO_AES select CRYPTO_AUTHENC select CRYPTO_ALGAPI select CRYPTO_DES select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_SEQIV help This option enables support for the hardware offload engines in the Picochip picoXcell SoC devices. Select this for IPSEC ESP offload and for 3gpp Layer 2 ciphering support. Saying m here will build a module named pipcoxcell_crypto. config CRYPTO_DEV_SAHARA tristate "Support for SAHARA crypto accelerator" depends on ARCH_MXC && OF select CRYPTO_BLKCIPHER select CRYPTO_AES select CRYPTO_ECB help This option enables support for the SAHARA HW crypto accelerator found in some Freescale i.MX chips. config CRYPTO_DEV_DCP tristate "Support for the DCP engine" depends on ARCH_MXS && OF select CRYPTO_BLKCIPHER select CRYPTO_AES select CRYPTO_CBC help This options enables support for the hardware crypto-acceleration capabilities of the DCP co-processor config CRYPTO_DEV_S5P tristate "Support for Samsung S5PV210 crypto accelerator" depends on ARCH_S5PV210 select CRYPTO_AES select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help This option allows you to have support for S5P crypto acceleration. Select this to offload Samsung S5PV210 or S5PC110 from AES algorithms execution. config CRYPTO_DEV_TEGRA_AES tristate "Support for TEGRA AES hw engine" depends on ARCH_TEGRA select CRYPTO_AES help TEGRA processors have AES module accelerator. Select this if you want to use the TEGRA module for AES algorithms. To compile this driver as a module, choose M here: the module will be called tegra-aes. config CRYPTO_DEV_NX bool "Support for IBM Power7+ in-Nest cryptographic acceleration" depends on PPC64 && IBMVIO default n help Support for Power7+ in-Nest cryptographic acceleration. if CRYPTO_DEV_NX source "drivers/crypto/nx/Kconfig" endif config CRYPTO_DEV_UX500 tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" depends on ARCH_U8500 select CRYPTO_ALGAPI help Driver for ST-Ericsson UX500 crypto engine. if CRYPTO_DEV_UX500 source "drivers/crypto/ux500/Kconfig" endif # if CRYPTO_DEV_UX500 config CRYPTO_DEV_BFIN_CRC tristate "Support for Blackfin CRC hardware" depends on BF60x help Newer Blackfin processors have CRC hardware. Select this if you want to use the Blackfin CRC module. config CRYPTO_DEV_ATMEL_AES tristate "Support for Atmel AES hw accelerator" depends on ARCH_AT91 select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_AES select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select AT_HDMAC help Some Atmel processors have AES hw accelerator. Select this if you want to use the Atmel module for AES algorithms. To compile this driver as a module, choose M here: the module will be called atmel-aes. config CRYPTO_DEV_ATMEL_TDES tristate "Support for Atmel DES/TDES hw accelerator" depends on ARCH_AT91 select CRYPTO_DES select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help Some Atmel processors have DES/TDES hw accelerator. Select this if you want to use the Atmel module for DES/TDES algorithms. To compile this driver as a module, choose M here: the module will be called atmel-tdes. config CRYPTO_DEV_ATMEL_SHA tristate "Support for Atmel SHA hw accelerator" depends on ARCH_AT91 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_ALGAPI help Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 hw accelerator. Select this if you want to use the Atmel module for SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. To compile this driver as a module, choose M here: the module will be called atmel-sha. endif # CRYPTO_HW config CRYPTO_DEV_FSL_CAAM tristate "Freescale CAAM-Multicore driver backend" depends on FSL_SOC help Enables the driver module for Freescale's Cryptographic Accelerator and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). This module creates job ring devices, and configures h/w to operate as a DPAA component automatically, depending on h/w feature availability. To compile this driver as a module, choose M here: the module will be called caam. config CRYPTO_DEV_FSL_CAAM_JR tristate "Freescale CAAM Job Ring driver backend" depends on CRYPTO_DEV_FSL_CAAM default y help Enables the driver module for Job Rings which are part of Freescale's Cryptographic Accelerator and Assurance Module (CAAM). This module adds a job ring operation interface. To compile this driver as a module, choose M here: the module will be called caam_jr. config CRYPTO_DEV_FSL_CAAM_RINGSIZE int "Job Ring size" depends on CRYPTO_DEV_FSL_CAAM_JR range 2 9 default "9" help Select size of Job Rings as a power of 2, within the range 2-9 (ring size 4-512). Examples: 2 => 4 3 => 8 4 => 16 5 => 32 6 => 64 7 => 128 8 => 256 9 => 512 config CRYPTO_DEV_FSL_CAAM_INTC bool "Job Ring interrupt coalescing" depends on CRYPTO_DEV_FSL_CAAM_JR default n help Enable the Job Ring's interrupt coalescing feature. Note: the driver already provides adequate interrupt coalescing in software. config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD int "Job Ring interrupt coalescing count threshold" depends on CRYPTO_DEV_FSL_CAAM_INTC range 1 255 default 255 help Select number of descriptor completions to queue before raising an interrupt, in the range 1-255. Note that a selection of 1 functionally defeats the coalescing feature, and a selection equal or greater than the job ring size will force timeouts. config CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD int "Job Ring interrupt coalescing timer threshold" depends on CRYPTO_DEV_FSL_CAAM_INTC range 1 65535 default 2048 help Select number of bus clocks/64 to timeout in the case that one or more descriptor completions are queued without reaching the count threshold. Range is 1-65535. config CRYPTO_DEV_FSL_CAAM_CRYPTO_API tristate "Register algorithm implementations with the Crypto API" depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR default y select CRYPTO_ALGAPI select CRYPTO_AUTHENC help Selecting this will offload crypto for users of the scatterlist crypto API (such as the linux native IPSec stack) to the SEC4 via job ring. To compile this as a module, choose M here: the module will be called caamalg. config CRYPTO_DEV_FSL_CAAM_AHASH_API tristate "Register hash algorithm implementations with Crypto API" depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR default y select CRYPTO_HASH help Selecting this will offload ahash for users of the scatterlist crypto API to the SEC4 via job ring. To compile this as a module, choose M here: the module will be called caamhash. config CRYPTO_DEV_FSL_CAAM_RNG_API tristate "Register caam device for hwrng API" depends on CRYPTO_DEV_FSL_CAAM && CRYPTO_DEV_FSL_CAAM_JR default y select CRYPTO_RNG select HW_RANDOM help Selecting this will register the SEC4 hardware rng to the hw_random API for suppying the kernel entropy pool. To compile this as a module, choose M here: the module will be called caamrng. config CRYPTO_DEV_FSL_CAAM_DEBUG bool "Enable debug output in CAAM driver" depends on CRYPTO_DEV_FSL_CAAM default n help Selecting this will enable printing of various debug information in the CAAM driver. config CRYPTO_DEV_NX_ENCRYPT tristate "Encryption acceleration support" depends on PPC64 && IBMVIO default y select CRYPTO_AES select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_CCM select CRYPTO_GCM select CRYPTO_AUTHENC select CRYPTO_XCBC select CRYPTO_SHA256 select CRYPTO_SHA512 help Support for Power7+ in-Nest encryption acceleration. This module supports acceleration for AES and SHA2 algorithms. If you choose 'M' here, this module will be called nx_crypto. config CRYPTO_DEV_NX_COMPRESS tristate "Compression acceleration support" depends on PPC64 && IBMVIO default y help Support for Power7+ in-Nest compression acceleration. This module supports acceleration for AES and SHA2 algorithms. If you choose 'M' here, this module will be called nx_compress. # # Copyright (C) ST-Ericsson SA 2010 # Author: Shujuan Chen (shujuan.chen@stericsson.com) # License terms: GNU General Public License (GPL) version 2 # config CRYPTO_DEV_UX500_CRYP tristate "UX500 crypto driver for CRYP block" depends on CRYPTO_DEV_UX500 select CRYPTO_DES help This selects the crypto driver for the UX500_CRYP hardware. It supports AES-ECB, CBC and CTR with keys sizes of 128, 192 and 256 bit sizes. config CRYPTO_DEV_UX500_HASH tristate "UX500 crypto driver for HASH block" depends on CRYPTO_DEV_UX500 select CRYPTO_HASH select CRYPTO_HMAC help This selects the hash driver for the UX500_HASH hardware. Depends on UX500/STM DMA if running in DMA mode. config CRYPTO_DEV_UX500_DEBUG bool "Activate ux500 platform debug-mode for crypto and hash block" depends on CRYPTO_DEV_UX500_CRYP || CRYPTO_DEV_UX500_HASH default n help Say Y if you want to add debug prints to ux500_hash and ux500_cryp devices. # # DCA server configuration # config DCA tristate menuconfig PM_DEVFREQ bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" help A device may have a list of frequencies and voltages available. devfreq, a generic DVFS framework can be registered for a device in order to let the governor provided to devfreq choose an operating frequency based on the device driver's policy. Each device may have its own governor and policy. Devfreq can reevaluate the device state periodically and/or based on the notification to "nb", a notifier block, of devfreq. Like some CPUs with CPUfreq, a device may have multiple clocks. However, because the clock frequencies of a single device are determined by the single device's state, an instance of devfreq is attached to a single device and returns a "representative" clock frequency of the device, which is also attached to a device by 1-to-1. The device registering devfreq takes the responsibility to "interpret" the representative frequency and to set its every clock accordingly with the "target" callback given to devfreq. When OPP is used with the devfreq device, it is recommended to register devfreq's nb to the OPP's notifier head. If OPP is used with the devfreq device, you may use OPP helper functions defined in devfreq.h. if PM_DEVFREQ comment "DEVFREQ Governors" config DEVFREQ_GOV_SIMPLE_ONDEMAND tristate "Simple Ondemand" help Chooses frequency based on the recent load on the device. Works similar as ONDEMAND governor of CPUFREQ does. A device with Simple-Ondemand should be able to provide busy/total counter values that imply the usage rate. A device may provide tuned values to the governor with data field at devfreq_add_device(). config DEVFREQ_GOV_PERFORMANCE tristate "Performance" help Sets the frequency at the maximum available frequency. This governor always returns UINT_MAX as frequency so that the DEVFREQ framework returns the highest frequency available at any time. config DEVFREQ_GOV_POWERSAVE tristate "Powersave" help Sets the frequency at the minimum available frequency. This governor always returns 0 as frequency so that the DEVFREQ framework returns the lowest frequency available at any time. config DEVFREQ_GOV_USERSPACE tristate "Userspace" help Sets the frequency at the user specified one. This governor returns the user configured frequency if there has been an input to /sys/devices/.../power/devfreq_set_freq. Otherwise, the governor does not change the frequnecy given at the initialization. comment "DEVFREQ Drivers" config ARM_EXYNOS4_BUS_DEVFREQ bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver" depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412 select ARCH_HAS_OPP select DEVFREQ_GOV_SIMPLE_ONDEMAND help This adds the DEVFREQ driver for Exynos4210 memory bus (vdd_int) and Exynos4212/4412 memory interface and bus (vdd_mif + vdd_int). It reads PPMU counters of memory controllers and adjusts the operating frequencies and voltages with OPP support. To operate with optimal voltages, ASV support is required (CONFIG_EXYNOS_ASV). config ARM_EXYNOS5_BUS_DEVFREQ bool "ARM Exynos5250 Bus DEVFREQ Driver" depends on SOC_EXYNOS5250 select ARCH_HAS_OPP select DEVFREQ_GOV_SIMPLE_ONDEMAND help This adds the DEVFREQ driver for Exynos5250 bus interface (vdd_int). It reads PPMU counters of memory controllers and adjusts the operating frequencies and voltages with OPP support. endif # PM_DEVFREQ # # DMA engine configuration # menuconfig DMADEVICES bool "DMA Engine support" depends on HAS_DMA help DMA engines can do asynchronous data transfers without involving the host CPU. Currently, this framework can be used to offload memory copies in the network stack and RAID operations in the MD driver. This menu only presents DMA Device drivers supported by the configured arch, it may be empty in some cases. config DMADEVICES_DEBUG bool "DMA Engine debugging" depends on DMADEVICES != n help This is an option for use by developers; most people should say N here. This enables DMA engine core and driver debugging. config DMADEVICES_VDEBUG bool "DMA Engine verbose debugging" depends on DMADEVICES_DEBUG != n help This is an option for use by developers; most people should say N here. This enables deeper (more verbose) debugging of the DMA engine core and drivers. if DMADEVICES comment "DMA Devices" config INTEL_MID_DMAC tristate "Intel MID DMA support for Peripheral DMA controllers" depends on PCI && X86 select DMA_ENGINE default n help Enable support for the Intel(R) MID DMA engine present in Intel MID chipsets. Say Y here if you have such a chipset. If unsure, say N. config ASYNC_TX_ENABLE_CHANNEL_SWITCH bool config AMBA_PL08X bool "ARM PrimeCell PL080 or PL081 support" depends on ARM_AMBA select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Platform has a PL08x DMAC device which can provide DMA engine support config INTEL_IOATDMA tristate "Intel I/OAT DMA support" depends on PCI && X86 select DMA_ENGINE select DMA_ENGINE_RAID select DCA help Enable support for the Intel(R) I/OAT DMA engine present in recent Intel Xeon chipsets. Say Y here if you have such a chipset. If unsure, say N. config INTEL_IOP_ADMA tristate "Intel IOP ADMA support" depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX select DMA_ENGINE select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for the Intel(R) IOP Series RAID engines. source "drivers/dma/dw/Kconfig" config AT_HDMAC tristate "Atmel AHB DMA support" depends on ARCH_AT91 select DMA_ENGINE help Support the Atmel AHB DMA controller. config FSL_DMA tristate "Freescale Elo series DMA support" depends on FSL_SOC select DMA_ENGINE select ASYNC_TX_ENABLE_CHANNEL_SWITCH ---help--- Enable support for the Freescale Elo series DMA controllers. The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on some Txxx and Bxxx parts. config MPC512X_DMA tristate "Freescale MPC512x built-in DMA engine support" depends on PPC_MPC512x || PPC_MPC831x select DMA_ENGINE ---help--- Enable support for the Freescale MPC512x built-in DMA engine. source "drivers/dma/bestcomm/Kconfig" config MV_XOR bool "Marvell XOR engine support" depends on PLAT_ORION select DMA_ENGINE select DMA_ENGINE_RAID select ASYNC_TX_ENABLE_CHANNEL_SWITCH ---help--- Enable support for the Marvell XOR engine. config MX3_IPU bool "MX3x Image Processing Unit support" depends on ARCH_MXC select DMA_ENGINE default y help If you plan to use the Image Processing unit in the i.MX3x, say Y here. If unsure, select Y. config MX3_IPU_IRQS int "Number of dynamically mapped interrupts for IPU" depends on MX3_IPU range 2 137 default 4 help Out of 137 interrupt sources on i.MX31 IPU only very few are used. To avoid bloating the irq_desc[] array we allocate a sufficient number of IRQ slots and map them dynamically to specific sources. config TXX9_DMAC tristate "Toshiba TXx9 SoC DMA support" depends on MACH_TX49XX || MACH_TX39XX select DMA_ENGINE help Support the TXx9 SoC internal DMA controller. This can be integrated in chips such as the Toshiba TX4927/38/39. config TEGRA20_APB_DMA bool "NVIDIA Tegra20 APB DMA support" depends on ARCH_TEGRA select DMA_ENGINE help Support for the NVIDIA Tegra20 APB DMA controller driver. The DMA controller is having multiple DMA channel which can be configured for different peripherals like audio, UART, SPI, I2C etc which is in APB bus. This DMA controller transfers data from memory to peripheral fifo or vice versa. It does not support memory to memory data transfer. config S3C24XX_DMAC tristate "Samsung S3C24XX DMA support" depends on ARCH_S3C24XX && !S3C24XX_DMA select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support for the Samsung S3C24XX DMA controller driver. The DMA controller is having multiple DMA channels which can be configured for different peripherals like audio, UART, SPI. The DMA controller can transfer data from memory to peripheral, periphal to memory, periphal to periphal and memory to memory. source "drivers/dma/sh/Kconfig" config COH901318 bool "ST-Ericsson COH901318 DMA support" select DMA_ENGINE depends on ARCH_U300 help Enable support for ST-Ericsson COH 901 318 DMA. config STE_DMA40 bool "ST-Ericsson DMA40 support" depends on ARCH_U8500 select DMA_ENGINE help Support for ST-Ericsson DMA40 controller config AMCC_PPC440SPE_ADMA tristate "AMCC PPC440SPe ADMA support" depends on 440SPe || 440SP select DMA_ENGINE select DMA_ENGINE_RAID select ARCH_HAS_ASYNC_TX_FIND_CHANNEL select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for the AMCC PPC440SPe RAID engines. config TIMB_DMA tristate "Timberdale FPGA DMA support" depends on MFD_TIMBERDALE || HAS_IOMEM select DMA_ENGINE help Enable support for the Timberdale FPGA DMA engine. config SIRF_DMA tristate "CSR SiRFprimaII/SiRFmarco DMA support" depends on ARCH_SIRF select DMA_ENGINE help Enable support for the CSR SiRFprimaII DMA engine. config TI_EDMA bool "TI EDMA support" depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select TI_PRIV_EDMA default n help Enable support for the TI EDMA controller. This DMA engine is found on TI DaVinci and AM33xx parts. config ARCH_HAS_ASYNC_TX_FIND_CHANNEL bool config PL330_DMA tristate "DMA API Driver for PL330" select DMA_ENGINE depends on ARM_AMBA help Select if your platform has one or more PL330 DMACs. You need to provide platform specific settings via platform_data for a dma-pl330 device. config PCH_DMA tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA" depends on PCI && X86 select DMA_ENGINE help Enable support for Intel EG20T PCH DMA engine. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config IMX_SDMA tristate "i.MX SDMA support" depends on ARCH_MXC select DMA_ENGINE help Support the i.MX SDMA engine. This engine is integrated into Freescale i.MX25/31/35/51/53 chips. config IMX_DMA tristate "i.MX DMA support" depends on ARCH_MXC select DMA_ENGINE help Support the i.MX DMA engine. This engine is integrated into Freescale i.MX1/21/27 chips. config MXS_DMA bool "MXS DMA support" depends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q select STMP_DEVICE select DMA_ENGINE help Support the MXS DMA engine. This engine including APBH-DMA and APBX-DMA is integrated into Freescale i.MX23/28 chips. config EP93XX_DMA bool "Cirrus Logic EP93xx DMA support" depends on ARCH_EP93XX select DMA_ENGINE help Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller. config DMA_SA11X0 tristate "SA-11x0 DMA support" depends on ARCH_SA1100 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine found on Intel StrongARM SA-1100 and SA-1110 SoCs. This DMA engine can only be used with on-chip devices. config MMP_TDMA bool "MMP Two-Channel DMA support" depends on ARCH_MMP select DMA_ENGINE help Support the MMP Two-Channel DMA engine. This engine used for MMP Audio DMA and pxa910 SQU. Say Y here if you enabled MMP ADMA, otherwise say N. config DMA_OMAP tristate "OMAP DMA support" depends on ARCH_OMAP select DMA_ENGINE select DMA_VIRTUAL_CHANNELS config TI_CPPI41 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP select DMA_ENGINE help The Communications Port Programming Interface (CPPI) 4.1 DMA engine is currently used by the USB driver on AM335x platforms. config MMP_PDMA bool "MMP PDMA support" depends on (ARCH_MMP || ARCH_PXA) select DMA_ENGINE help Support the MMP PDMA engine for PXA and MMP platform. config DMA_JZ4740 tristate "JZ4740 DMA support" depends on MACH_JZ4740 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS config K3_DMA tristate "Hisilicon K3 DMA support" depends on ARCH_HI3xxx select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine for Hisilicon K3 platform devices. config DMA_ENGINE bool config DMA_VIRTUAL_CHANNELS tristate config DMA_ACPI def_bool y depends on ACPI config DMA_OF def_bool y depends on OF comment "DMA Clients" depends on DMA_ENGINE config NET_DMA bool "Network: TCP receive copy offload" depends on DMA_ENGINE && NET default (INTEL_IOATDMA || FSL_DMA) depends on BROKEN help This enables the use of DMA engines in the network stack to offload receive copy-to-user operations, freeing CPU cycles. Say Y here if you enabled INTEL_IOATDMA or FSL_DMA, otherwise say N. config ASYNC_TX_DMA bool "Async_tx: Offload support for the async_tx api" depends on DMA_ENGINE help This allows the async_tx api to take advantage of offload engines for memcpy, memset, xor, and raid6 p+q operations. If your platform has a dma engine that can perform raid operations and you have enabled MD_RAID456 say Y. If unsure, say N. config DMATEST tristate "DMA Test client" depends on DMA_ENGINE help Simple DMA test client. Say N unless you're debugging a DMA Device driver. config DMA_ENGINE_RAID bool endif # # Kconfig options for Bestcomm # config PPC_BESTCOMM tristate "Bestcomm DMA engine support" depends on PPC_MPC52xx default n select PPC_LIB_RHEAP help BestComm is the name of the communication coprocessor found on the Freescale MPC5200 family of processor. Its usage is optional for some drivers (like ATA), but required for others (like FEC). If you want to use drivers that require DMA operations, answer Y or M. Otherwise say N. config PPC_BESTCOMM_ATA tristate depends on PPC_BESTCOMM help This option enables the support for the ATA task. config PPC_BESTCOMM_FEC tristate depends on PPC_BESTCOMM help This option enables the support for the FEC tasks. config PPC_BESTCOMM_GEN_BD tristate depends on PPC_BESTCOMM help This option enables the support for the GenBD tasks. # # DMA engine configuration for dw # config DW_DMAC_CORE tristate "Synopsys DesignWare AHB DMA support" select DMA_ENGINE config DW_DMAC tristate "Synopsys DesignWare AHB DMA platform driver" select DW_DMAC_CORE select DW_DMAC_BIG_ENDIAN_IO if AVR32 default y if CPU_AT32AP7000 help Support the Synopsys DesignWare AHB DMA controller. This can be integrated in chips such as the Atmel AT32ap7000. config DW_DMAC_PCI tristate "Synopsys DesignWare AHB DMA PCI driver" depends on PCI select DW_DMAC_CORE help Support the Synopsys DesignWare AHB DMA controller on the platfroms that enumerate it as a PCI device. For example, Intel Medfield has integrated this GPDMA controller. config DW_DMAC_BIG_ENDIAN_IO bool # # DMA engine configuration for sh # config SH_DMAE_BASE bool "Renesas SuperH DMA Engine support" depends on (SUPERH && SH_DMA) || (ARM && ARCH_SHMOBILE) depends on !SH_DMA_API default y select DMA_ENGINE help Enable support for the Renesas SuperH DMA controllers. config SH_DMAE tristate "Renesas SuperH DMAC support" depends on SH_DMAE_BASE help Enable support for the Renesas SuperH DMA controllers. config SUDMAC tristate "Renesas SUDMAC support" depends on SH_DMAE_BASE help Enable support for the Renesas SUDMAC controllers. config RCAR_HPB_DMAE tristate "Renesas R-Car HPB DMAC support" depends on SH_DMAE_BASE help Enable support for the Renesas R-Car series DMA controllers. config SHDMA_R8A73A4 def_bool y depends on ARCH_R8A73A4 && SH_DMAE != n # # EDAC Kconfig # Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com # Licensed and distributed under the GPL # config EDAC_SUPPORT bool menuconfig EDAC bool "EDAC (Error Detection And Correction) reporting" depends on HAS_IOMEM depends on X86 || PPC || TILE || ARM || EDAC_SUPPORT help EDAC is designed to report errors in the core system. These are low-level errors that are reported in the CPU or supporting chipset or other subsystems: memory errors, cache errors, PCI errors, thermal throttling, etc.. If unsure, select 'Y'. If this code is reporting problems on your system, please see the EDAC project web pages for more information at: and: There is also a mailing list for the EDAC project, which can be found via the sourceforge page. if EDAC config EDAC_LEGACY_SYSFS bool "EDAC legacy sysfs" default y help Enable the compatibility sysfs nodes. Use 'Y' if your edac utilities aren't ported to work with the newer structures. config EDAC_DEBUG bool "Debugging" help This turns on debugging information for the entire EDAC subsystem. You do so by inserting edac_module with "edac_debug_level=x." Valid levels are 0-4 (from low to high) and by default it is set to 2. Usually you should select 'N' here. config EDAC_DECODE_MCE tristate "Decode MCEs in human-readable form (only on AMD for now)" depends on CPU_SUP_AMD && X86_MCE_AMD default y ---help--- Enable this option if you want to decode Machine Check Exceptions occurring on your machine in human-readable form. You should definitely say Y here in case you want to decode MCEs which occur really early upon boot, before the module infrastructure has been initialized. config EDAC_MCE_INJ tristate "Simple MCE injection interface over /sysfs" depends on EDAC_DECODE_MCE default n help This is a simple interface to inject MCEs over /sysfs and test the MCE decoding code in EDAC. This is currently AMD-only. config EDAC_MM_EDAC tristate "Main Memory EDAC (Error Detection And Correction) reporting" help Some systems are able to detect and correct errors in main memory. EDAC can report statistics on memory error detection and correction (EDAC - or commonly referred to ECC errors). EDAC will also try to decode where these errors occurred so that a particular failing memory module can be replaced. If unsure, select 'Y'. config EDAC_GHES bool "Output ACPI APEI/GHES BIOS detected errors via EDAC" depends on ACPI_APEI_GHES && (EDAC_MM_EDAC=y) default y help Not all machines support hardware-driven error report. Some of those provide a BIOS-driven error report mechanism via ACPI, using the APEI/GHES driver. By enabling this option, the error reports provided by GHES are sent to userspace via the EDAC API. When this option is enabled, it will disable the hardware-driven mechanisms, if a GHES BIOS is detected, entering into the "Firmware First" mode. It should be noticed that keeping both GHES and a hardware-driven error mechanism won't work well, as BIOS will race with OS, while reading the error registers. So, if you want to not use "Firmware first" GHES error mechanism, you should disable GHES either at compilation time or by passing "ghes.disable=1" Kernel parameter at boot time. In doubt, say 'Y'. config EDAC_AMD64 tristate "AMD64 (Opteron, Athlon64) K8, F10h" depends on EDAC_MM_EDAC && AMD_NB && X86_64 && EDAC_DECODE_MCE help Support for error detection and correction of DRAM ECC errors on the AMD64 families of memory controllers (K8 and F10h) config EDAC_AMD64_ERROR_INJECTION bool "Sysfs HW Error injection facilities" depends on EDAC_AMD64 help Recent Opterons (Family 10h and later) provide for Memory Error Injection into the ECC detection circuits. The amd64_edac module allows the operator/user to inject Uncorrectable and Correctable errors into DRAM. When enabled, in each of the respective memory controller directories (/sys/devices/system/edac/mc/mcX), there are 3 input files: - inject_section (0..3, 16-byte section of 64-byte cacheline), - inject_word (0..8, 16-bit word of 16-byte section), - inject_ecc_vector (hex ecc vector: select bits of inject word) In addition, there are two control files, inject_read and inject_write, which trigger the DRAM ECC Read and Write respectively. config EDAC_AMD76X tristate "AMD 76x (760, 762, 768)" depends on EDAC_MM_EDAC && PCI && X86_32 help Support for error detection and correction on the AMD 76x series of chipsets used with the Athlon processor. config EDAC_E7XXX tristate "Intel e7xxx (e7205, e7500, e7501, e7505)" depends on EDAC_MM_EDAC && PCI && X86_32 help Support for error detection and correction on the Intel E7205, E7500, E7501 and E7505 server chipsets. config EDAC_E752X tristate "Intel e752x (e7520, e7525, e7320) and 3100" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction on the Intel E7520, E7525, E7320 server chipsets. config EDAC_I82443BXGX tristate "Intel 82443BX/GX (440BX/GX)" depends on EDAC_MM_EDAC && PCI && X86_32 depends on BROKEN help Support for error detection and correction on the Intel 82443BX/GX memory controllers (440BX/GX chipsets). config EDAC_I82875P tristate "Intel 82875p (D82875P, E7210)" depends on EDAC_MM_EDAC && PCI && X86_32 help Support for error detection and correction on the Intel DP82785P and E7210 server chipsets. config EDAC_I82975X tristate "Intel 82975x (D82975x)" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction on the Intel DP82975x server chipsets. config EDAC_I3000 tristate "Intel 3000/3010" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction on the Intel 3000 and 3010 server chipsets. config EDAC_I3200 tristate "Intel 3200" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction on the Intel 3200 and 3210 server chipsets. config EDAC_X38 tristate "Intel X38" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction on the Intel X38 server chipsets. config EDAC_I5400 tristate "Intel 5400 (Seaburg) chipsets" depends on EDAC_MM_EDAC && PCI && X86 help Support for error detection and correction the Intel i5400 MCH chipset (Seaburg). config EDAC_I7CORE tristate "Intel i7 Core (Nehalem) processors" depends on EDAC_MM_EDAC && PCI && X86 && X86_MCE_INTEL help Support for error detection and correction the Intel i7 Core (Nehalem) Integrated Memory Controller that exists on newer processors like i7 Core, i7 Core Extreme, Xeon 35xx and Xeon 55xx processors. config EDAC_I82860 tristate "Intel 82860" depends on EDAC_MM_EDAC && PCI && X86_32 help Support for error detection and correction on the Intel 82860 chipset. config EDAC_R82600 tristate "Radisys 82600 embedded chipset" depends on EDAC_MM_EDAC && PCI && X86_32 help Support for error detection and correction on the Radisys 82600 embedded chipset. config EDAC_I5000 tristate "Intel Greencreek/Blackford chipset" depends on EDAC_MM_EDAC && X86 && PCI help Support for error detection and correction the Intel Greekcreek/Blackford chipsets. config EDAC_I5100 tristate "Intel San Clemente MCH" depends on EDAC_MM_EDAC && X86 && PCI help Support for error detection and correction the Intel San Clemente MCH. config EDAC_I7300 tristate "Intel Clarksboro MCH" depends on EDAC_MM_EDAC && X86 && PCI help Support for error detection and correction the Intel Clarksboro MCH (Intel 7300 chipset). config EDAC_SBRIDGE tristate "Intel Sandy-Bridge Integrated MC" depends on EDAC_MM_EDAC && PCI && X86_64 && X86_MCE_INTEL depends on PCI_MMCONFIG help Support for error detection and correction the Intel Sandy Bridge Integrated Memory Controller. config EDAC_MPC85XX tristate "Freescale MPC83xx / MPC85xx" depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx) help Support for error detection and correction on the Freescale MPC8349, MPC8560, MPC8540, MPC8548 config EDAC_MV64X60 tristate "Marvell MV64x60" depends on EDAC_MM_EDAC && MV64X60 help Support for error detection and correction on the Marvell MV64360 and MV64460 chipsets. config EDAC_PASEMI tristate "PA Semi PWRficient" depends on EDAC_MM_EDAC && PCI depends on PPC_PASEMI help Support for error detection and correction on PA Semi PWRficient. config EDAC_CELL tristate "Cell Broadband Engine memory controller" depends on EDAC_MM_EDAC && PPC_CELL_COMMON help Support for error detection and correction on the Cell Broadband Engine internal memory controller on platform without a hypervisor config EDAC_PPC4XX tristate "PPC4xx IBM DDR2 Memory Controller" depends on EDAC_MM_EDAC && 4xx help This enables support for EDAC on the ECC memory used with the IBM DDR2 memory controller found in various PowerPC 4xx embedded processors such as the 405EX[r], 440SP, 440SPe, 460EX, 460GT and 460SX. config EDAC_AMD8131 tristate "AMD8131 HyperTransport PCI-X Tunnel" depends on EDAC_MM_EDAC && PCI && PPC_MAPLE help Support for error detection and correction on the AMD8131 HyperTransport PCI-X Tunnel chip. Note, add more Kconfig dependency if it's adopted on some machine other than Maple. config EDAC_AMD8111 tristate "AMD8111 HyperTransport I/O Hub" depends on EDAC_MM_EDAC && PCI && PPC_MAPLE help Support for error detection and correction on the AMD8111 HyperTransport I/O Hub chip. Note, add more Kconfig dependency if it's adopted on some machine other than Maple. config EDAC_CPC925 tristate "IBM CPC925 Memory Controller (PPC970FX)" depends on EDAC_MM_EDAC && PPC64 help Support for error detection and correction on the IBM CPC925 Bridge and Memory Controller, which is a companion chip to the PowerPC 970 family of processors. config EDAC_TILE tristate "Tilera Memory Controller" depends on EDAC_MM_EDAC && TILE default y help Support for error detection and correction on the Tilera memory controller. config EDAC_HIGHBANK_MC tristate "Highbank Memory Controller" depends on EDAC_MM_EDAC && ARCH_HIGHBANK help Support for error detection and correction on the Calxeda Highbank memory controller. config EDAC_HIGHBANK_L2 tristate "Highbank L2 Cache" depends on EDAC_MM_EDAC && ARCH_HIGHBANK help Support for error detection and correction on the Calxeda Highbank memory controller. config EDAC_OCTEON_PC tristate "Cavium Octeon Primary Caches" depends on EDAC_MM_EDAC && CPU_CAVIUM_OCTEON help Support for error detection and correction on the primary caches of the cnMIPS cores of Cavium Octeon family SOCs. config EDAC_OCTEON_L2C tristate "Cavium Octeon Secondary Caches (L2C)" depends on EDAC_MM_EDAC && CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. config EDAC_OCTEON_LMC tristate "Cavium Octeon DRAM Memory Controller (LMC)" depends on EDAC_MM_EDAC && CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. config EDAC_OCTEON_PCI tristate "Cavium Octeon PCI Controller" depends on EDAC_MM_EDAC && PCI && CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. endif # EDAC # # EISA configuration # config EISA_VLB_PRIMING bool "Vesa Local Bus priming" depends on X86 && EISA default n ---help--- Activate this option if your system contains a Vesa Local Bus (VLB) card that identify itself as an EISA card (such as the Adaptec AHA-284x). When in doubt, say N. config EISA_PCI_EISA bool "Generic PCI/EISA bridge" depends on !PARISC && PCI && EISA default y ---help--- Activate this option if your system contains a PCI to EISA bridge. If your system have both PCI and EISA slots, you certainly need this option. When in doubt, say Y. # Using EISA_VIRTUAL_ROOT on something other than an Alpha or # an X86 may lead to crashes... config EISA_VIRTUAL_ROOT bool "EISA virtual root device" depends on EISA && (ALPHA || X86) default y ---help--- Activate this option if your system only have EISA bus (no PCI slots). The Alpha Jensen is an example of such a system. When in doubt, say Y. config EISA_NAMES bool "EISA device name database" depends on EISA default y ---help--- By default, the kernel contains a database of all known EISA device names to make the information in sysfs comprehensible to the user. This database increases size of the kernel image by about 40KB, but it gets freed after the system boots up, so it doesn't take up kernel memory. Anyway, if you are building an installation floppy or kernel for an embedded system where kernel image size really matters, you can disable this feature and you'll get device ID instead of names. When in doubt, say Y. menuconfig EXTCON tristate "External Connector Class (extcon) support" help Say Y here to enable external connector class (extcon) support. This allows monitoring external connectors by userspace via sysfs and uevent and supports external connectors with multiple states; i.e., an extcon that may have multiple cables attached. For example, an external connector of a device may be used to connect an HDMI cable and a AC adaptor, and to host USB ports. Many of 30-pin connectors including PDMI are also good examples. if EXTCON comment "Extcon Device Drivers" config OF_EXTCON def_tristate y depends on OF config EXTCON_GPIO tristate "GPIO extcon support" depends on GPIOLIB help Say Y here to enable GPIO based extcon support. Note that GPIO extcon supports single state per extcon instance. config EXTCON_ADC_JACK tristate "ADC Jack extcon support" depends on IIO help Say Y here to enable extcon device driver based on ADC values. config EXTCON_MAX77693 tristate "MAX77693 EXTCON Support" depends on MFD_MAX77693 && INPUT select IRQ_DOMAIN select REGMAP_I2C help If you say yes here you get support for the MUIC device of Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory detector and switch. config EXTCON_MAX8997 tristate "MAX8997 EXTCON Support" depends on MFD_MAX8997 && IRQ_DOMAIN help If you say yes here you get support for the MUIC device of Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory detector and switch. config EXTCON_ARIZONA tristate "Wolfson Arizona EXTCON support" depends on MFD_ARIZONA && INPUT && SND_SOC help Say Y here to enable support for external accessory detection with Wolfson Arizona devices. These are audio CODECs with advanced audio accessory detection support. config EXTCON_PALMAS tristate "Palmas USB EXTCON support" depends on MFD_PALMAS help Say Y here to enable support for USB peripheral and USB host detection by palmas usb. endif # MULTISTATE_SWITCH menu "IEEE 1394 (FireWire) support" depends on PCI || BROKEN # firewire-core does not depend on PCI but is # not useful without PCI controller driver config FIREWIRE tristate "FireWire driver stack" select CRC_ITU_T help This is the new-generation IEEE 1394 (FireWire) driver stack a.k.a. Juju, a new implementation designed for robustness and simplicity. See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for information about migration from the older Linux 1394 stack to the new driver stack. To compile this driver as a module, say M here: the module will be called firewire-core. config FIREWIRE_OHCI tristate "OHCI-1394 controllers" depends on PCI && FIREWIRE && MMU help Enable this driver if you have a FireWire controller based on the OHCI specification. For all practical purposes, this is the only chipset in use, so say Y here. To compile this driver as a module, say M here: The module will be called firewire-ohci. config FIREWIRE_SBP2 tristate "Storage devices (SBP-2 protocol)" depends on FIREWIRE && SCSI help This option enables you to use SBP-2 devices connected to a FireWire bus. SBP-2 devices include storage devices like harddisks and DVD drives, also some other FireWire devices like scanners. To compile this driver as a module, say M here: The module will be called firewire-sbp2. You should also enable support for disks, CD-ROMs, etc. in the SCSI configuration section. config FIREWIRE_NET tristate "IP networking over 1394" depends on FIREWIRE && INET help This enables IPv4/IPv6 over IEEE 1394, providing IP connectivity with other implementations of RFC 2734/3146 as found on several operating systems. Multicast support is currently limited. To compile this driver as a module, say M here: The module will be called firewire-net. config FIREWIRE_NOSY tristate "Nosy - a FireWire traffic sniffer for PCILynx cards" depends on PCI help Nosy is an IEEE 1394 packet sniffer that is used for protocol analysis and in development of IEEE 1394 drivers, applications, or firmwares. This driver lets you use a Texas Instruments PCILynx 1394 to PCI link layer controller TSB12LV21/A/B as a low-budget bus analyzer. PCILynx is a nowadays very rare IEEE 1394 controller which is not OHCI 1394 compliant. The following cards are known to be based on PCILynx or PCILynx-2: IOI IOI-1394TT (PCI card), Unibrain Fireboard 400 PCI Lynx-2 (PCI card), Newer Technology FireWire 2 Go (CardBus card), Apple Power Mac G3 blue & white and G4 with PCI graphics (onboard controller). To compile this driver as a module, say M here: The module will be called nosy. Source code of a userspace interface to nosy, called nosy-dump, can be found in tools/firewire/ of the kernel sources. If unsure, say N. endmenu # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # menu "Firmware Drivers" config EDD tristate "BIOS Enhanced Disk Drive calls determine boot disk" depends on X86 help Say Y or M here if you want to enable BIOS Enhanced Disk Drive Services real mode BIOS calls to determine which disk BIOS tries boot from. This information is then exported via sysfs. This option is experimental and is known to fail to boot on some obscure configurations. Most disk controller BIOS vendors do not yet implement this feature. config EDD_OFF bool "Sets default behavior for EDD detection to off" depends on EDD default n help Say Y if you want EDD disabled by default, even though it is compiled into the kernel. Say N if you want EDD enabled by default. EDD can be dynamically set using the kernel parameter 'edd={on|skipmbr|off}'. config FIRMWARE_MEMMAP bool "Add firmware-provided memory map to sysfs" if EXPERT default X86 help Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. That memory map is used for example by kexec to set up parameter area for the next kernel, but can also be used for debugging purposes. See also Documentation/ABI/testing/sysfs-firmware-memmap. config EFI_PCDP bool "Console device selection via EFI PCDP or HCDP table" depends on ACPI && EFI && IA64 default y if IA64 help If your firmware supplies the PCDP table, and you want to automatically use the primary console device it describes as the Linux console, say Y here. If your firmware supplies the HCDP table, and you want to use the first serial port it describes as the Linux console, say Y here. If your EFI ConOut path contains only a UART device, it will become the console automatically. Otherwise, you must specify the "console=hcdp" kernel boot argument. Neither the PCDP nor the HCDP affects naming of serial devices, so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending on how the driver discovers devices. You must also enable the appropriate drivers (serial, VGA, etc.) See DIG64_HCDPv20_042804.pdf available from config DELL_RBU tristate "BIOS update support for DELL systems via sysfs" depends on X86 select FW_LOADER select FW_LOADER_USER_HELPER help Say m if you want to have the option of updating the BIOS for your DELL system. Note you need a Dell OpenManage or Dell Update package (DUP) supporting application to communicate with the BIOS regarding the new image for the image update to take effect. See for more details on the driver. config DCDBAS tristate "Dell Systems Management Base Driver" depends on X86 help The Dell Systems Management Base Driver provides a sysfs interface for systems management software to perform System Management Interrupts (SMIs) and Host Control Actions (system power cycle or power off after OS shutdown) on certain Dell systems. See for more details on the driver and the Dell systems on which Dell systems management software makes use of this driver. Say Y or M here to enable the driver for use by Dell systems management software such as Dell OpenManage. config DMIID bool "Export DMI identification via sysfs to userspace" depends on DMI default y help Say Y here if you want to query SMBIOS/DMI system identification information from userspace through /sys/class/dmi/id/ or if you want DMI-based module auto-loading. config DMI_SYSFS tristate "DMI table support in sysfs" depends on SYSFS && DMI default n help Say Y or M here to enable the exporting of the raw DMI table data via sysfs. This is useful for consuming the data without requiring any access to /dev/mem at all. Tables are found under /sys/firmware/dmi when this option is enabled and loaded. config ISCSI_IBFT_FIND bool "iSCSI Boot Firmware Table Attributes" depends on X86 default n help This option enables the kernel to find the region of memory in which the ISCSI Boot Firmware Table (iBFT) resides. This is necessary for iSCSI Boot Firmware Table Attributes module to work properly. config ISCSI_IBFT tristate "iSCSI Boot Firmware Table Attributes module" select ISCSI_BOOT_SYSFS depends on ISCSI_IBFT_FIND && SCSI && SCSI_LOWLEVEL default n help This option enables support for detection and exposing of iSCSI Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to detect iSCSI boot parameters dynamically during system boot, say Y. Otherwise, say N. source "drivers/firmware/google/Kconfig" source "drivers/firmware/efi/Kconfig" endmenu menu "EFI (Extensible Firmware Interface) Support" depends on EFI config EFI_VARS tristate "EFI Variable Support via sysfs" depends on EFI default n help If you say Y here, you are able to get EFI (Extensible Firmware Interface) variable information via sysfs. You may read, write, create, and destroy EFI variables through this interface. Note that using this driver in concert with efibootmgr requires at least test release version 0.5.0-test3 or later, which is available from Matt Domsch's website located at: Subsequent efibootmgr releases may be found at: config EFI_VARS_PSTORE tristate "Register efivars backend for pstore" depends on EFI_VARS && PSTORE default y help Say Y here to enable use efivars as a backend to pstore. This will allow writing console messages, crash dumps, or anything else supported by pstore to EFI variables. config EFI_VARS_PSTORE_DEFAULT_DISABLE bool "Disable using efivars as a pstore backend by default" depends on EFI_VARS_PSTORE default n help Saying Y here will disable the use of efivars as a storage backend for pstore by default. This setting can be overridden using the efivars module's pstore_disable parameter. endmenu config UEFI_CPER bool config GOOGLE_FIRMWARE bool "Google Firmware Drivers" depends on X86 default n help These firmware drivers are used by Google's servers. They are only useful if you are working directly on one of their proprietary servers. If in doubt, say "N". menu "Google Firmware Drivers" depends on GOOGLE_FIRMWARE config GOOGLE_SMI tristate "SMI interface for Google platforms" depends on ACPI && DMI select EFI select EFI_VARS help Say Y here if you want to enable SMI callbacks for Google platforms. This provides an interface for writing to and clearing the EFI event log and reading and writing NVRAM variables. config GOOGLE_MEMCONSOLE tristate "Firmware Memory Console" depends on DMI help This option enables the kernel to search for a firmware log in the EBDA on Google servers. If found, this log is exported to userland in the file /sys/firmware/log. endmenu # # FMC (ANSI-VITA 57.1) bus support # menuconfig FMC tristate "FMC support" help FMC (FPGA Mezzanine Carrier) is a mechanical and electrical standard for mezzanine cards that plug into a carrier board. This kernel subsystem supports the matching between carrier and mezzanine based on identifiers stored in the internal I2C EEPROM, as well as having carrier-independent drivers. The framework was born outside of the kernel and at this time the off-tree code base is more complete. Code and documentation is at git://ohwr.org/fmc-projects/fmc-bus.git . if FMC config FMC_FAKEDEV tristate "FMC fake device (software testing)" help This is a fake carrier, bringing a default EEPROM content that can be rewritten at run time and usef for matching mezzanines. config FMC_TRIVIAL tristate "FMC trivial mezzanine driver (software testing)" help This is a fake mezzanine driver, to show how FMC works and test it. The driver also handles interrupts (we used it with a real carrier before the mezzanines were produced) config FMC_WRITE_EEPROM tristate "FMC mezzanine driver to write I2C EEPROM" help This driver matches every mezzanine device and can write the internal EEPROM of the PCB, using the firmware loader to get its binary and the function carrier->reprogram to actually do it. It is useful when the mezzanines are produced. config FMC_CHARDEV tristate "FMC mezzanine driver that registers a char device" help This driver matches every mezzanine device and allows user space to read and write registers using a char device. It can be used to write user-space drivers, or just get acquainted with a mezzanine before writing its specific driver. endif # FMC # # GPIO infrastructure and drivers # config ARCH_HAVE_CUSTOM_GPIO_H bool help Selecting this config option from the architecture Kconfig allows the architecture to provide a custom asm/gpio.h implementation overriding the default implementations. New uses of this are strongly discouraged. config ARCH_WANT_OPTIONAL_GPIOLIB bool help Select this config option from the architecture Kconfig, if it is possible to use gpiolib on the architecture, but let the user decide whether to actually build it or not. Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does not depend on GPIOs being available, but rather let the user decide whether he needs it or not. config ARCH_REQUIRE_GPIOLIB bool select GPIOLIB help Platforms select gpiolib if they use this infrastructure for all their GPIOs, usually starting with ones integrated into SOC processors. Selecting this from the architecture code will cause the gpiolib code to always get built in. menuconfig GPIOLIB bool "GPIO Support" depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB help This enables GPIO support through the generic GPIO library. You only need to enable this, if you also want to enable one or more of the GPIO drivers below. If unsure, say N. if GPIOLIB config GPIO_DEVRES def_bool y depends on HAS_IOMEM config OF_GPIO def_bool y depends on OF config GPIO_ACPI def_bool y depends on ACPI config DEBUG_GPIO bool "Debug GPIO calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to GPIO calls. These checks help ensure that GPIOs have been properly initialized before they are used, and that sleeping calls are not made from non-sleeping contexts. They can make bitbanged serial protocols slower. The diagnostics help catch the type of setup errors that are most common when setting up new platforms or boards. config GPIO_SYSFS bool "/sys/class/gpio/... (sysfs interface)" depends on SYSFS help Say Y here to add a sysfs interface for GPIOs. This is mostly useful to work around omissions in a system's kernel support. Those are common in custom and semicustom hardware assembled using standard kernels with a minimum of custom patches. In those cases, userspace code may import a given GPIO from the kernel, if no kernel driver requested it. Kernel drivers may also request that a particular GPIO be exported to userspace; this can be useful when debugging. config GPIO_GENERIC tristate # put drivers in the right section, in alphabetical order config GPIO_DA9052 tristate "Dialog DA9052 GPIO" depends on PMIC_DA9052 help Say yes here to enable the GPIO driver for the DA9052 chip. config GPIO_DA9055 tristate "Dialog Semiconductor DA9055 GPIO" depends on MFD_DA9055 help Say yes here to enable the GPIO driver for the DA9055 chip. The Dialog DA9055 PMIC chip has 3 GPIO pins that can be be controller by this driver. If driver is built as a module it will be called gpio-da9055. config GPIO_MAX730X tristate comment "Memory mapped GPIO drivers:" config GPIO_CLPS711X tristate "CLPS711X GPIO support" depends on ARCH_CLPS711X select GPIO_GENERIC help Say yes here to support GPIO on CLPS711X SoCs. config GPIO_GENERIC_PLATFORM tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" select GPIO_GENERIC help Say yes here to support basic platform_device memory-mapped GPIO controllers. config GPIO_IT8761E tristate "IT8761E GPIO support" depends on X86 # unconditional access to IO space. help Say yes here to support GPIO functionality of IT8761E super I/O chip. config GPIO_EM tristate "Emma Mobile GPIO" depends on ARM && OF_GPIO help Say yes here to support GPIO on Renesas Emma Mobile SoCs. config GPIO_EP93XX def_bool y depends on ARCH_EP93XX select GPIO_GENERIC config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" depends on LANTIQ && SOC_XWAY help This enables support for memory mapped GPIOs on the External Bus Unit (EBU) found on Lantiq SoCs. The gpios are output only as they are created by attaching a 16bit latch to the bus. config GPIO_F7188X tristate "F71882FG and F71889F GPIO support" depends on X86 help This option enables support for GPIOs found on Fintek Super-I/O chips F71882FG and F71889F. To compile this driver as a module, choose M here: the module will be called f7188x-gpio. config GPIO_MPC5200 def_bool y depends on PPC_MPC52xx config GPIO_MPC8XXX bool "MPC512x/MPC8xxx GPIO support" depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ FSL_SOC_BOOKE || PPC_86xx help Say Y here if you're going to use hardware that connects to the MPC512x/831x/834x/837x/8572/8610 GPIOs. config GPIO_MSM_V1 tristate "Qualcomm MSM GPIO v1" depends on GPIOLIB && ARCH_MSM && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50) help Say yes here to support the GPIO interface on ARM v6 based Qualcomm MSM chips. Most of the pins on the MSM can be selected for GPIO, and are controlled by this driver. config GPIO_MSM_V2 tristate "Qualcomm MSM GPIO v2" depends on GPIOLIB && OF && ARCH_MSM help Say yes here to support the GPIO interface on ARM v7 based Qualcomm MSM chips. Most of the pins on the MSM can be selected for GPIO, and are controlled by this driver. config GPIO_MVEBU def_bool y depends on PLAT_ORION depends on OF select GPIO_GENERIC select GENERIC_IRQ_CHIP config GPIO_MXC def_bool y depends on ARCH_MXC select GPIO_GENERIC select GENERIC_IRQ_CHIP config GPIO_MXS def_bool y depends on ARCH_MXS select GPIO_GENERIC select GENERIC_IRQ_CHIP config GPIO_OCTEON tristate "Cavium OCTEON GPIO" depends on GPIOLIB && CAVIUM_OCTEON_SOC default y help Say yes here to support the on-chip GPIO lines on the OCTEON family of SOCs. config GPIO_PL061 bool "PrimeCell PL061 GPIO support" depends on ARM_AMBA select GENERIC_IRQ_CHIP help Say yes here to support the PrimeCell PL061 GPIO device config GPIO_PXA bool "PXA GPIO support" depends on ARCH_PXA || ARCH_MMP help Say yes here to support the PXA GPIO device config GPIO_RCAR tristate "Renesas R-Car GPIO" depends on ARM help Say yes here to support GPIO on Renesas R-Car SoCs. config GPIO_SAMSUNG bool depends on PLAT_SAMSUNG help Legacy GPIO support. Use only for platforms without support for pinctrl. config GPIO_SPEAR_SPICS bool "ST SPEAr13xx SPI Chip Select as GPIO support" depends on PLAT_SPEAR select GENERIC_IRQ_CHIP help Say yes here to support ST SPEAr SPI Chip Select as GPIO device config GPIO_STA2X11 bool "STA2x11/ConneXt GPIO support" depends on MFD_STA2X11 select GENERIC_IRQ_CHIP help Say yes here to support the STA2x11/ConneXt GPIO device. The GPIO module has 128 GPIO pins with alternate functions. config GPIO_TS5500 tristate "TS-5500 DIO blocks and compatibles" help This driver supports Digital I/O exposed by pin blocks found on some Technologic Systems platforms. It includes, but is not limited to, 3 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 LCD port. config GPIO_TZ1090 bool "Toumaz Xenif TZ1090 GPIO support" depends on SOC_TZ1090 select GENERIC_IRQ_CHIP default y help Say yes here to support Toumaz Xenif TZ1090 GPIOs. config GPIO_TZ1090_PDC bool "Toumaz Xenif TZ1090 PDC GPIO support" depends on SOC_TZ1090 default y help Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs. config GPIO_XILINX bool "Xilinx GPIO support" depends on PPC_OF || MICROBLAZE || ARCH_ZYNQ help Say yes here to support the Xilinx FPGA GPIO device config GPIO_VR41XX tristate "NEC VR4100 series General-purpose I/O Uint support" depends on CPU_VR41XX help Say yes here to support the NEC VR4100 series General-purpose I/O Uint config GPIO_SCH tristate "Intel SCH/TunnelCreek/Centerton GPIO" depends on PCI && X86 select MFD_CORE select LPC_SCH help Say yes here to support GPIO interface on Intel Poulsbo SCH, Intel Tunnel Creek processor or Intel Centerton processor. The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are powered by the core power rail and are turned off during sleep modes (S3 and higher). The remaining four GPIOs are powered by the Intel SCH suspend power supply. These GPIOs remain active during S3. The suspend powered GPIOs can be used to wake the system from the Suspend-to-RAM state. The Intel Tunnel Creek processor has 5 GPIOs powered by the core power rail and 9 from suspend power supply. The Intel Centerton processor has a total of 30 GPIO pins. Twenty-one are powered by the core power rail and 9 from the suspend power supply. config GPIO_ICH tristate "Intel ICH GPIO" depends on PCI && X86 select MFD_CORE select LPC_ICH help Say yes here to support the GPIO functionality of a number of Intel ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). If unsure, say N. config GPIO_IOP tristate "Intel IOP GPIO" depends on ARM && (ARCH_IOP32X || ARCH_IOP33X) help Say yes here to support the GPIO functionality of a number of Intel IOP32X or IOP33X. If unsure, say N. config GPIO_VX855 tristate "VIA VX855/VX875 GPIO" depends on PCI select MFD_CORE select MFD_VX855 help Support access to the VX855/VX875 GPIO lines through the gpio library. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config GPIO_GE_FPGA bool "GE FPGA based GPIO" depends on GE_FPGA help Support for common GPIO functionality provided on some GE Single Board Computers. This driver provides basic support (configure as input or output, read and write pin state) for GPIO implemented in a number of GE single board computers. config GPIO_LYNXPOINT bool "Intel Lynxpoint GPIO support" depends on ACPI && X86 select IRQ_DOMAIN help driver for GPIO functionality on Intel Lynxpoint PCH chipset Requires ACPI device enumeration code to set up a platform device. config GPIO_GRGPIO tristate "Aeroflex Gaisler GRGPIO support" depends on OF select GPIO_GENERIC select IRQ_DOMAIN help Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB VHDL IP core library. config GPIO_TB10X bool select OF_GPIO comment "I2C GPIO expanders:" config GPIO_ARIZONA tristate "Wolfson Microelectronics Arizona class devices" depends on MFD_ARIZONA help Support for GPIOs on Wolfson Arizona class devices. config GPIO_MAX7300 tristate "Maxim MAX7300 GPIO expander" depends on I2C select GPIO_MAX730X help GPIO driver for Maxim MAX7300 I2C-based GPIO expander. config GPIO_MAX732X tristate "MAX7319, MAX7320-7327 I2C Port Expanders" depends on I2C help Say yes here to support the MAX7319, MAX7320-7327 series of I2C Port Expanders. Each IO port on these chips has a fixed role of Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain Input and Output (designed by 'P'). The combinations are listed below: 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), max7322 (4I4O), max7323 (4P4O) 16 bits: max7324 (8I8O), max7325 (8P8O), max7326 (4I12O), max7327 (4P12O) Board setup code must specify the model to use, and the start number for these GPIOs. config GPIO_MAX732X_IRQ bool "Interrupt controller support for MAX732x" depends on GPIO_MAX732X=y help Say yes here to enable the max732x to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_MC9S08DZ60 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions" depends on I2C=y && MACH_MX35_3DS help Select this to enable the MC9S08DZ60 GPIO driver config GPIO_PCA953X tristate "PCA953x, PCA955x, PCA957x, TCA64xx, and MAX7310 I/O ports" depends on I2C help Say yes here to provide access to several register-oriented SMBus I/O expanders, made mostly by NXP or TI. Compatible models include: 4 bits: pca9536, pca9537 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, pca9556, pca9557, pca9574, tca6408 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, tca6416 config GPIO_PCA953X_IRQ bool "Interrupt controller support for PCA953x" depends on GPIO_PCA953X=y help Say yes here to enable the pca953x to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_PCF857X tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" depends on I2C select IRQ_DOMAIN help Say yes here to provide access to most "quasi-bidirectional" I2C GPIO expanders used for additional digital outputs or inputs. Most of these parts are from NXP, though TI is a second source for some of them. Compatible models include: 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, pca9670, pca9672, pca9674, pca9674a, max7328, max7329 16 bits: pcf8575, pcf8575c, pca8575, pca9671, pca9673, pca9675 Your board setup code will need to declare the expanders in use, and assign numbers to the GPIOs they expose. Those GPIOs can then be used from drivers and other kernel code, just like other GPIOs, but only accessible from task contexts. This driver provides an in-kernel interface to those GPIOs using platform-neutral GPIO calls. config GPIO_RC5T583 bool "RICOH RC5T583 GPIO" depends on MFD_RC5T583 help Select this option to enable GPIO driver for the Ricoh RC5T583 chip family. This driver provides the support for driving/reading the gpio pins of RC5T583 device through standard gpio library. config GPIO_SX150X bool "Semtech SX150x I2C GPIO expander" depends on I2C=y default n help Say yes here to provide support for Semtech SX150-series I2C GPIO expanders. Compatible models include: 8 bits: sx1508q 16 bits: sx1509q config GPIO_STMPE bool "STMPE GPIOs" depends on MFD_STMPE help This enables support for the GPIOs found on the STMPE I/O Expanders. config GPIO_STP_XWAY bool "XWAY STP GPIOs" depends on SOC_XWAY help This enables support for the Serial To Parallel (STP) unit found on XWAY SoC. The STP allows the SoC to drive a shift registers cascade, that can be up to 24 bit. This peripheral is aimed at driving leds. Some of the gpios/leds can be auto updated by the soc with dsl and phy status. config GPIO_TC3589X bool "TC3589X GPIOs" depends on MFD_TC3589X help This enables support for the GPIOs found on the TC3589X I/O Expander. config GPIO_TPS65912 tristate "TI TPS65912 GPIO" depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI) help This driver supports TPS65912 gpio chip config GPIO_TWL4030 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" depends on TWL4030_CORE help Say yes here to access the GPIO signals of various multi-function power management chips from Texas Instruments. config GPIO_TWL6040 tristate "TWL6040 GPO" depends on TWL6040_CORE help Say yes here to access the GPO signals of twl6040 audio chip from Texas Instruments. config GPIO_WM831X tristate "WM831x GPIOs" depends on MFD_WM831X help Say yes here to access the GPIO signals of WM831x power management chips from Wolfson Microelectronics. config GPIO_WM8350 tristate "WM8350 GPIOs" depends on MFD_WM8350 help Say yes here to access the GPIO signals of WM8350 power management chips from Wolfson Microelectronics. config GPIO_WM8994 tristate "WM8994 GPIOs" depends on MFD_WM8994 help Say yes here to access the GPIO signals of WM8994 audio hub CODECs from Wolfson Microelectronics. config GPIO_ADP5520 tristate "GPIO Support for ADP5520 PMIC" depends on PMIC_ADP5520 help This option enables support for on-chip GPIO found on Analog Devices ADP5520 PMICs. config GPIO_ADP5588 tristate "ADP5588 I2C GPIO expander" depends on I2C help This option enables support for 18 GPIOs found on Analog Devices ADP5588 GPIO Expanders. config GPIO_ADP5588_IRQ bool "Interrupt controller support for ADP5588" depends on GPIO_ADP5588=y help Say yes here to enable the adp5588 to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_ADNP tristate "Avionic Design N-bit GPIO expander" depends on I2C && OF_GPIO help This option enables support for N GPIOs found on Avionic Design I2C GPIO expanders. The register space will be extended by powers of two, so the controller will need to accommodate for that. For example: if a controller provides 48 pins, 6 registers will be enough to represent all pins, but the driver will assume a register layout for 64 pins (8 registers). comment "PCI GPIO expanders:" config GPIO_CS5535 tristate "AMD CS5535/CS5536 GPIO support" depends on PCI && X86 && MFD_CS5535 help The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that can be used for quite a number of things. The CS5535/6 is found on AMD Geode and Lemote Yeeloong devices. If unsure, say N. config GPIO_BT8XX tristate "BT8XX GPIO abuser" depends on PCI && VIDEO_BT848=n help The BT8xx frame grabber chip has 24 GPIO pins than can be abused as a cheap PCI GPIO card. This chip can be found on Miro, Hauppauge and STB TV-cards. The card needs to be physically altered for using it as a GPIO card. For more information on how to build a GPIO card from a BT8xx TV card, see the documentation file at Documentation/bt8xxgpio.txt If unsure, say N. config GPIO_AMD8111 tristate "AMD 8111 GPIO driver" depends on PCI help The AMD 8111 south bridge contains 32 GPIO pins which can be used. Note, that usually system firmware/ACPI handles GPIO pins on their own and users might easily break their systems with uncarefull usage of this driver! If unsure, say N config GPIO_INTEL_MID bool "Intel Mid GPIO support" depends on PCI && X86 select IRQ_DOMAIN help Say Y here to support Intel Mid GPIO. config GPIO_PCH tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO" depends on PCI && X86 select GENERIC_IRQ_CHIP help This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded processor. This driver can access PCH GPIO device. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7223 and ML7831. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7223/ML7831 is completely compatible for Intel EG20T PCH. config GPIO_ML_IOH tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" depends on PCI select GENERIC_IRQ_CHIP help ML7213 is companion chip for Intel Atom E6xx series. This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output Hub) which is for IVI(In-Vehicle Infotainment) use. This driver can access the IOH's GPIO device. config GPIO_SODAVILLE bool "Intel Sodaville GPIO support" depends on X86 && PCI && OF select GPIO_GENERIC select GENERIC_IRQ_CHIP help Say Y here to support Intel Sodaville GPIO. config GPIO_TIMBERDALE bool "Support for timberdale GPIO IP" depends on MFD_TIMBERDALE && HAS_IOMEM ---help--- Add support for the GPIO IP in the timberdale FPGA. config GPIO_RDC321X tristate "RDC R-321x GPIO support" depends on PCI select MFD_CORE select MFD_RDC321X help Support for the RDC R321x SoC GPIOs over southbridge PCI configuration space. comment "SPI GPIO expanders:" config GPIO_MAX7301 tristate "Maxim MAX7301 GPIO expander" depends on SPI_MASTER select GPIO_MAX730X help GPIO driver for Maxim MAX7301 SPI-based GPIO expander. config GPIO_MCP23S08 tristate "Microchip MCP23xxx I/O expander" depends on (SPI_MASTER && !I2C) || I2C help SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 I/O expanders. This provides a GPIO interface supporting inputs and outputs. config GPIO_MC33880 tristate "Freescale MC33880 high-side/low-side switch" depends on SPI_MASTER help SPI driver for Freescale MC33880 high-side/low-side switch. This provides GPIO interface supporting inputs and outputs. config GPIO_74X164 tristate "74x164 serial-in/parallel-out 8-bits shift register" depends on SPI_MASTER help Platform driver for 74x164 compatible serial-in/parallel-out 8-outputs shift registers. This driver can be used to provide access to more gpio outputs. comment "AC97 GPIO expanders:" config GPIO_UCB1400 tristate "Philips UCB1400 GPIO" depends on UCB1400_CORE help This enables support for the Philips UCB1400 GPIO pins. The UCB1400 is an AC97 audio codec. comment "LPC GPIO expanders:" config GPIO_KEMPLD tristate "Kontron ETX / COMexpress GPIO" depends on MFD_KEMPLD help This enables support for the PLD GPIO interface on some Kontron ETX and COMexpress (ETXexpress) modules. This driver can also be built as a module. If so, the module will be called gpio-kempld. comment "MODULbus GPIO expanders:" config GPIO_JANZ_TTL tristate "Janz VMOD-TTL Digital IO Module" depends on MFD_JANZ_CMODIO help This enables support for the Janz VMOD-TTL Digital IO module. This driver provides support for driving the pins in output mode only. Input mode is not supported. config GPIO_PALMAS bool "TI PALMAS series PMICs GPIO" depends on MFD_PALMAS help Select this option to enable GPIO driver for the TI PALMAS series chip family. config GPIO_TPS6586X bool "TPS6586X GPIO" depends on MFD_TPS6586X help Select this option to enable GPIO driver for the TPS6586X chip family. config GPIO_TPS65910 bool "TPS65910 GPIO" depends on MFD_TPS65910 help Select this option to enable GPIO driver for the TPS65910 chip family. config GPIO_MSIC bool "Intel MSIC mixed signal gpio support" depends on MFD_INTEL_MSIC help Enable support for GPIO on intel MSIC controllers found in intel MID devices config GPIO_BCM_KONA bool "Broadcom Kona GPIO" depends on OF_GPIO help Turn on GPIO support for Broadcom "Kona" chips. comment "USB GPIO expanders:" config GPIO_VIPERBOARD tristate "Viperboard GPIO a & b support" depends on MFD_VIPERBOARD && USB help Say yes here to access the GPIO signals of Nano River Technologies Viperboard. There are two GPIO chips on the board: gpioa and gpiob. See viperboard API specification and Nano River Tech's viperboard.h for detailed meaning of the module parameters. endif # # Drm device configuration # # This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. # menuconfig DRM tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && MMU && HAS_DMA select HDMI select I2C select I2C_ALGOBIT select DMA_SHARED_BUFFER help Kernel-level support for the Direct Rendering Infrastructure (DRI) introduced in XFree86 4.0. If you say Y here, you need to select the module that's right for your graphics card from the list below. These modules provide support for synchronization, security, and DMA transfers. Please see for more details. You should also select and configure AGP (/dev/agpgart) support if it is available for your platform. config DRM_USB tristate depends on DRM depends on USB_SUPPORT && USB_ARCH_HAS_HCD select USB config DRM_KMS_HELPER tristate depends on DRM help CRTC helpers for KMS drivers. config DRM_KMS_FB_HELPER bool depends on DRM_KMS_HELPER select FB select FRAMEBUFFER_CONSOLE if !EXPERT select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE help FBDEV helpers for KMS drivers. config DRM_LOAD_EDID_FIRMWARE bool "Allow to specify an EDID data set instead of probing for it" depends on DRM_KMS_HELPER help Say Y here, if you want to use EDID data to be loaded from the /lib/firmware directory or one of the provided built-in data sets. This may be necessary, if the graphics adapter or monitor are unable to provide appropriate EDID data. Since this feature is provided as a workaround for broken hardware, the default case is N. Details and instructions how to build your own EDID data are given in Documentation/EDID/HOWTO.txt. config DRM_TTM tristate depends on DRM help GPU memory management subsystem for devices with multiple GPU memory types. Will be enabled automatically if a device driver uses it. config DRM_GEM_CMA_HELPER bool depends on DRM help Choose this if you need the GEM CMA helper functions config DRM_KMS_CMA_HELPER bool select DRM_GEM_CMA_HELPER select DRM_KMS_FB_HELPER select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT help Choose this if you need the KMS CMA helper functions source "drivers/gpu/drm/i2c/Kconfig" config DRM_TDFX tristate "3dfx Banshee/Voodoo3+" depends on DRM && PCI help Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), graphics card. If M is selected, the module will be called tdfx. config DRM_R128 tristate "ATI Rage 128" depends on DRM && PCI select FW_LOADER help Choose this option if you have an ATI Rage 128 graphics card. If M is selected, the module will be called r128. AGP support for this card is strongly suggested (unless you have a PCI version). config DRM_RADEON tristate "ATI Radeon" depends on DRM && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FW_LOADER select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM select POWER_SUPPLY select HWMON select BACKLIGHT_CLASS_DEVICE help Choose this option if you have an ATI Radeon graphics card. There are both PCI and AGP versions. You don't need to choose this to run the Radeon in plain VGA mode. If M is selected, the module will be called radeon. source "drivers/gpu/drm/radeon/Kconfig" source "drivers/gpu/drm/nouveau/Kconfig" config DRM_I810 tristate "Intel I810" # !PREEMPT because of missing ioctl locking depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN) help Choose this option if you have an Intel I810 graphics card. If M is selected, the module will be called i810. AGP support is required for this driver to work. source "drivers/gpu/drm/i915/Kconfig" config DRM_MGA tristate "Matrox g200/g400" depends on DRM && PCI select FW_LOADER help Choose this option if you have a Matrox G200, G400 or G450 graphics card. If M is selected, the module will be called mga. AGP support is required for this driver to work. config DRM_SIS tristate "SiS video cards" depends on DRM && AGP depends on FB_SIS || FB_SIS=n help Choose this option if you have a SiS 630 or compatible video chipset. If M is selected the module will be called sis. AGP support is required for this driver to work. config DRM_VIA tristate "Via unichrome video cards" depends on DRM && PCI help Choose this option if you have a Via unichrome or compatible video chipset. If M is selected the module will be called via. config DRM_SAVAGE tristate "Savage video cards" depends on DRM && PCI help Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister chipset. If M is selected the module will be called savage. source "drivers/gpu/drm/exynos/Kconfig" source "drivers/gpu/drm/vmwgfx/Kconfig" source "drivers/gpu/drm/gma500/Kconfig" source "drivers/gpu/drm/udl/Kconfig" source "drivers/gpu/drm/ast/Kconfig" source "drivers/gpu/drm/mgag200/Kconfig" source "drivers/gpu/drm/cirrus/Kconfig" source "drivers/gpu/drm/armada/Kconfig" source "drivers/gpu/drm/rcar-du/Kconfig" source "drivers/gpu/drm/shmobile/Kconfig" source "drivers/gpu/drm/omapdrm/Kconfig" source "drivers/gpu/drm/tilcdc/Kconfig" source "drivers/gpu/drm/qxl/Kconfig" source "drivers/gpu/drm/msm/Kconfig" source "drivers/gpu/drm/tegra/Kconfig" config DRM_ARMADA tristate "DRM support for Marvell Armada SoCs" depends on DRM && HAVE_CLK && ARM select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select DRM_KMS_HELPER help Support the "LCD" controllers found on the Marvell Armada 510 devices. There are two controllers on the device, each controller supports graphics and video overlays. This driver provides no built-in acceleration; acceleration is performed by other IP found on the SoC. This driver provides kernel mode setting and buffer management to userspace. config DRM_ARMADA_TDA1998X bool "Support TDA1998X HDMI output" depends on DRM_ARMADA != n depends on I2C && DRM_I2C_NXP_TDA998X = y default y help Support the TDA1998x HDMI output device found on the Solid-Run CuBox. config DRM_AST tristate "AST server chips" depends on DRM && PCI select DRM_TTM select FB_SYS_COPYAREA select FB_SYS_FILLRECT select FB_SYS_IMAGEBLIT select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM help Say yes for experimental AST GPU driver. Do not enable this driver without having a working -modesetting, and a version of AST that knows to fail if KMS is bound to the driver. These GPUs are commonly found in server chipsets. config DRM_CIRRUS_QEMU tristate "Cirrus driver for QEMU emulated device" depends on DRM && PCI select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM help This is a KMS driver for emulated cirrus device in qemu. It is *NOT* intended for real cirrus devices. This requires the modesetting userspace X.org driver. config DRM_EXYNOS tristate "DRM Support for Samsung SoC EXYNOS Series" depends on OF && DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM) select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE select VIDEOMODE_HELPERS help Choose this option if you have a Samsung SoC EXYNOS chipset. If M is selected the module will be called exynosdrm. config DRM_EXYNOS_IOMMU bool "EXYNOS DRM IOMMU Support" depends on DRM_EXYNOS && EXYNOS_IOMMU && ARM_DMA_USE_IOMMU help Choose this option if you want to use IOMMU feature for DRM. config DRM_EXYNOS_DMABUF bool "EXYNOS DRM DMABUF" depends on DRM_EXYNOS help Choose this option if you want to use DMABUF feature for DRM. config DRM_EXYNOS_FIMD bool "Exynos DRM FIMD" depends on DRM_EXYNOS && !FB_S3C && !ARCH_MULTIPLATFORM select FB_MODE_HELPERS help Choose this option if you want to use Exynos FIMD for DRM. config DRM_EXYNOS_HDMI bool "Exynos DRM HDMI" depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV help Choose this option if you want to use Exynos HDMI for DRM. config DRM_EXYNOS_VIDI bool "Exynos DRM Virtual Display" depends on DRM_EXYNOS help Choose this option if you want to use Exynos VIDI for DRM. config DRM_EXYNOS_G2D bool "Exynos DRM G2D" depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_G2D help Choose this option if you want to use Exynos G2D for DRM. config DRM_EXYNOS_IPP bool "Exynos DRM IPP" depends on DRM_EXYNOS && !ARCH_MULTIPLATFORM help Choose this option if you want to use IPP feature for DRM. config DRM_EXYNOS_FIMC bool "Exynos DRM FIMC" depends on DRM_EXYNOS_IPP && MFD_SYSCON help Choose this option if you want to use Exynos FIMC for DRM. config DRM_EXYNOS_ROTATOR bool "Exynos DRM Rotator" depends on DRM_EXYNOS_IPP help Choose this option if you want to use Exynos Rotator for DRM. config DRM_EXYNOS_GSC bool "Exynos DRM GSC" depends on DRM_EXYNOS_IPP && ARCH_EXYNOS5 help Choose this option if you want to use Exynos GSC for DRM. config DRM_GMA500 tristate "Intel GMA5/600 KMS Framebuffer" depends on DRM && PCI && X86 select FB_CFB_COPYAREA select FB_CFB_FILLRECT select FB_CFB_IMAGEBLIT select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM # GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915 select ACPI_VIDEO if ACPI select BACKLIGHT_CLASS_DEVICE if ACPI select VIDEO_OUTPUT_CONTROL if ACPI select INPUT if ACPI help Say yes for an experimental 2D KMS framebuffer driver for the Intel GMA500 ('Poulsbo') and other Intel IMG based graphics devices. config DRM_GMA600 bool "Intel GMA600 support (Experimental)" depends on DRM_GMA500 help Say yes to include support for GMA600 (Intel Moorestown/Oaktrail) platforms with LVDS ports. MIPI is not currently supported. config DRM_GMA3600 bool "Intel GMA3600/3650 support (Experimental)" depends on DRM_GMA500 help Say yes to include basic support for Intel GMA3600/3650 (Intel Cedar Trail) platforms. config DRM_MEDFIELD bool "Intel Medfield support (Experimental)" depends on DRM_GMA500 && X86_INTEL_MID help Say yes to include support for the Intel Medfield platform. menu "I2C encoder or helper chips" depends on DRM && DRM_KMS_HELPER && I2C config DRM_I2C_CH7006 tristate "Chrontel ch7006 TV encoder" default m if DRM_NOUVEAU help Support for Chrontel ch7006 and similar TV encoders, found on some nVidia video cards. This driver is currently only useful if you're also using the nouveau driver. config DRM_I2C_SIL164 tristate "Silicon Image sil164 TMDS transmitter" default m if DRM_NOUVEAU help Support for sil164 and similar single-link (or dual-link when used in pairs) TMDS transmitters, used in some nVidia video cards. config DRM_I2C_NXP_TDA998X tristate "NXP Semiconductors TDA998X HDMI encoder" default m if DRM_TILCDC help Support for NXP Semiconductors TDA998X HDMI encoders. endmenu config DRM_I915 tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics" depends on DRM depends on AGP depends on AGP_INTEL # we need shmfs for the swappable backing store, and in particular # the shmem_readpage() which depends upon tmpfs select SHMEM select TMPFS select DRM_KMS_HELPER # i915 depends on ACPI_VIDEO when ACPI is enabled # but for select to work, need to select ACPI_VIDEO's dependencies, ick select BACKLIGHT_LCD_SUPPORT if ACPI select BACKLIGHT_CLASS_DEVICE if ACPI select VIDEO_OUTPUT_CONTROL if ACPI select INPUT if ACPI select ACPI_VIDEO if ACPI select ACPI_BUTTON if ACPI help Choose this option if you have a system that has "Intel Graphics Media Accelerator" or "HD Graphics" integrated graphics, including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G, G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3, Core i5, Core i7 as well as Atom CPUs with integrated graphics. If M is selected, the module will be called i915. AGP support is required for this driver to work. This driver is used by the Intel driver in X.org 6.8 and XFree86 4.4 and above. It replaces the older i830 module that supported a subset of the hardware in older X.org releases. Note that the older i810/i815 chipsets require the use of the i810 driver instead, and the Atom z5xx series has an entirely different implementation. config DRM_I915_KMS bool "Enable modesetting on intel by default" depends on DRM_I915 help Choose this option if you want kernel modesetting enabled by default, and you have a new enough userspace to support this. Running old userspaces with this enabled will cause pain. Note that this causes the driver to bind to PCI devices, which precludes loading things like intelfb. config DRM_I915_FBDEV bool "Enable legacy fbdev support for the modesettting intel driver" depends on DRM_I915 select DRM_KMS_FB_HELPER select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y help Choose this option if you have a need for the legacy fbdev support. Note that this support also provide the linux console support on top of the intel modesetting driver. config DRM_I915_PRELIMINARY_HW_SUPPORT bool "Enable preliminary support for prerelease Intel hardware by default" depends on DRM_I915 help Choose this option if you have prerelease Intel hardware and want the i915 driver to support it by default. You can enable such support at runtime with the module option i915.preliminary_hw_support=1; this option changes the default for that module option. If in doubt, say "N". config DRM_MGAG200 tristate "Kernel modesetting driver for MGA G200 server engines" depends on DRM && PCI select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM help This is a KMS driver for the MGA G200 server chips, it does not support the original MGA G200 or any of the desktop chips. It requires 0.3.0 of the modesetting userspace driver, and a version of mga driver that will fail on KMS enabled devices. config DRM_MSM tristate "MSM DRM" depends on DRM depends on ARCH_MSM depends on ARCH_MSM8960 select DRM_KMS_HELPER select SHMEM select TMPFS default y help DRM/KMS driver for MSM/snapdragon. config DRM_MSM_FBDEV bool "Enable legacy fbdev support for MSM modesetting driver" depends on DRM_MSM select DRM_KMS_FB_HELPER select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS default y help Choose this option if you have a need for the legacy fbdev support. Note that this support also provide the linux console support on top of the MSM modesetting driver. config DRM_MSM_REGISTER_LOGGING bool "MSM DRM register logging" depends on DRM_MSM default n help Compile in support for logging register reads/writes in a format that can be parsed by envytools demsm tool. If enabled, register logging can be switched on via msm.reglog=y module param. config DRM_NOUVEAU tristate "Nouveau (nVidia) cards" depends on DRM && PCI select FW_LOADER select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB select FRAMEBUFFER_CONSOLE if !EXPERT select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT select X86_PLATFORM_DEVICES if ACPI && X86 select ACPI_WMI if ACPI && X86 select MXM_WMI if ACPI && X86 select POWER_SUPPLY # Similar to i915, we need to select ACPI_VIDEO and it's dependencies select BACKLIGHT_LCD_SUPPORT if ACPI && X86 select BACKLIGHT_CLASS_DEVICE if ACPI && X86 select VIDEO_OUTPUT_CONTROL if ACPI && X86 select INPUT if ACPI && X86 select THERMAL if ACPI && X86 select ACPI_VIDEO if ACPI && X86 help Choose this option for open-source nVidia support. config NOUVEAU_DEBUG int "Maximum debug level" depends on DRM_NOUVEAU range 0 7 default 5 help Selects the maximum debug level to compile support for. 0 - fatal 1 - error 2 - warning 3 - info 4 - debug 5 - trace (recommended) 6 - paranoia 7 - spam The paranoia and spam levels will add a lot of extra checks which may potentially slow down driver operation. config NOUVEAU_DEBUG_DEFAULT int "Default debug level" depends on DRM_NOUVEAU range 0 7 default 3 help Selects the default debug level config DRM_NOUVEAU_BACKLIGHT bool "Support for backlight control" depends on DRM_NOUVEAU default y help Say Y here if you want to control the backlight of your display (e.g. a laptop panel). config DRM_OMAP tristate "OMAP DRM" depends on DRM depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM depends on OMAP2_DSS select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS default n help DRM display driver for OMAP2/3/4 based boards. config DRM_OMAP_NUM_CRTCS int "Number of CRTCs" range 1 10 default 1 if ARCH_OMAP2 || ARCH_OMAP3 default 2 if ARCH_OMAP4 depends on DRM_OMAP help Select the number of video overlays which can be used as framebuffers. The remaining overlays are reserved for video. config DRM_QXL tristate "QXL virtual GPU" depends on DRM && PCI select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_TTM select CRC32 help QXL virtual GPU for Spice virtualization desktop integration. Do not enable this driver unless your distro ships a corresponding X.org QXL driver that can handle kernel modesetting. config DRM_RADEON_UMS bool "Enable userspace modesetting on radeon (DEPRECATED)" depends on DRM_RADEON help Choose this option if you still need userspace modesetting. Userspace modesetting is deprecated for quite some time now, so enable this only if you have ancient versions of the DDX drivers. config DRM_RCAR_DU tristate "DRM Support for R-Car Display Unit" depends on DRM && ARM select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_FB_HELPER help Choose this option if you have an R-Car chipset. If M is selected the module will be called rcar-du-drm. config DRM_RCAR_LVDS bool "R-Car DU LVDS Encoder Support" depends on DRM_RCAR_DU help Enable support the R-Car Display Unit embedded LVDS encoders (currently only on R8A7790). config DRM_SHMOBILE tristate "DRM Support for SH Mobile" depends on DRM && (ARM || SUPERH) select BACKLIGHT_CLASS_DEVICE select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER help Choose this option if you have an SH Mobile chipset. If M is selected the module will be called shmob-drm. config DRM_TEGRA bool "NVIDIA Tegra DRM" depends on ARCH_TEGRA || ARCH_MULTIPLATFORM depends on DRM select TEGRA_HOST1X select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT help Choose this option if you have an NVIDIA Tegra SoC. To compile this driver as a module, choose M here: the module will be called tegra-drm. if DRM_TEGRA config DRM_TEGRA_DEBUG bool "NVIDIA Tegra DRM debug support" help Say yes here to enable debugging support. config DRM_TEGRA_STAGING bool "Enable HOST1X interface" depends on STAGING help Say yes if HOST1X should be available for userspace DRM users. If unsure, choose N. endif config DRM_TILCDC tristate "DRM Support for TI LCDC Display Controller" depends on DRM && OF && ARM select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VIDEOMODE_HELPERS select BACKLIGHT_CLASS_DEVICE select BACKLIGHT_LCD_SUPPORT help Choose this option if you have an TI SoC with LCDC display controller, for example AM33xx in beagle-bone, DA8xx, or OMAP-L1xx. This driver replaces the FB_DA8XX fbdev driver. config DRM_UDL tristate "DisplayLink" depends on DRM depends on USB_ARCH_HAS_HCD select DRM_USB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO select DRM_KMS_HELPER select DRM_KMS_FB_HELPER help This is a KMS driver for the USB displaylink video adapters. Say M/Y to add support for these devices via drm/kms interfaces. config DRM_VMWGFX tristate "DRM driver for VMware Virtual GPU" depends on DRM && PCI && FB select FB_DEFERRED_IO select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select DRM_TTM help Choose this option if you would like to run 3D acceleration in a VMware virtual machine. This is a KMS enabled DRM driver for the VMware SVGA2 virtual hardware. The compiled module will be called "vmwgfx.ko". config DRM_VMWGFX_FBCON depends on DRM_VMWGFX bool "Enable framebuffer console under vmwgfx by default" help Choose this option if you are shipping a new vmwgfx userspace driver that supports using the kernel driver. config TEGRA_HOST1X tristate "NVIDIA Tegra host1x driver" depends on ARCH_TEGRA || ARCH_MULTIPLATFORM help Driver for the NVIDIA Tegra host1x hardware. The Tegra host1x module is the DMA engine for register access to Tegra's graphics- and multimedia-related modules. The modules served by host1x are referred to as clients. host1x includes some other functionality, such as synchronization. if TEGRA_HOST1X config TEGRA_HOST1X_FIREWALL bool "Enable HOST1X security firewall" default y help Say yes if kernel should protect command streams from tampering. If unsure, choose Y. endif config VGA_ARB bool "VGA Arbitration" if EXPERT default y depends on (PCI && !S390) help Some "legacy" VGA devices implemented on PCI typically have the same hard-decoded addresses as they did on ISA. When multiple PCI devices are accessed at same time they need some kind of coordination. Please see Documentation/vgaarbiter.txt for more details. Select this to enable VGA arbiter. config VGA_ARB_MAX_GPUS int "Maximum number of GPUs" default 16 depends on VGA_ARB help Reserves space in the kernel to maintain resource locking for multiple GPUS. The overhead for each GPU is very small. config VGA_SWITCHEROO bool "Laptop Hybrid Graphics - GPU switching support" depends on X86 depends on ACPI select VGA_ARB help Many laptops released in 2008/9/10 have two GPUs with a multiplexer to switch between them. This adds support for dynamic switching when X isn't running and delayed switching until the next logoff. This feature is called hybrid graphics, ATI PowerXpress, and Nvidia HybridPower. menu "I2C HID support" depends on I2C config I2C_HID tristate "HID over I2C transport layer" default n depends on I2C && INPUT select HID ---help--- Say Y here if you use a keyboard, a touchpad, a touchscreen, or any other HID based devices which is connected to your computer via I2C. If unsure, say N. This support is also available as a module. If so, the module will be called i2c-hid. endmenu # # HID driver configuration # menu "HID support" depends on INPUT config HID tristate "HID bus support" depends on INPUT default y ---help--- A human interface device (HID) is a type of computer device that interacts directly with and takes input from humans. The term "HID" most commonly used to refer to the USB-HID specification, but other devices (such as, but not strictly limited to, Bluetooth) are designed using HID specification (this involves certain keyboards, mice, tablets, etc). This option adds the HID bus to the kernel, together with generic HID layer code. The HID devices are added and removed from the HID bus by the transport-layer drivers, such as usbhid (USB_HID) and hidp (BT_HIDP). For docs and specs, see http://www.usb.org/developers/hidpage/ If unsure, say Y. if HID config HID_BATTERY_STRENGTH bool "Battery level reporting for HID devices" depends on HID && POWER_SUPPLY && HID = POWER_SUPPLY default n ---help--- This option adds support of reporting battery strength (for HID devices that support this feature) through power_supply class so that userspace tools, such as upower, can display it. config HIDRAW bool "/dev/hidraw raw HID device support" depends on HID ---help--- Say Y here if you want to support HID devices (from the USB specification standpoint) that aren't strictly user interface devices, like monitor controls and Uninterruptable Power Supplies. This module supports these devices separately using a separate event interface on /dev/hidraw. There is also a /dev/hiddev configuration option in the USB HID configuration menu. In comparison to hiddev, this device does not process the hid events at all (no parsing, no lookups). This lets applications to work on raw hid events when they want to, and avoid using transport-specific userspace libhid/libusb libraries. If unsure, say Y. config UHID tristate "User-space I/O driver support for HID subsystem" depends on HID default n ---help--- Say Y here if you want to provide HID I/O Drivers from user-space. This allows to write I/O drivers in user-space and feed the data from the device into the kernel. The kernel parses the HID reports, loads the corresponding HID Device Driver or provides input devices on top of your user-space device. This driver cannot be used to parse HID-reports in user-space and write special HID-drivers. You should use hidraw for that. Instead, this driver allows to write the transport-layer driver in user-space like USB-HID and Bluetooth-HID do in kernel-space. If unsure, say N. To compile this driver as a module, choose M here: the module will be called uhid. config HID_GENERIC tristate "Generic HID driver" depends on HID default HID ---help--- Support for generic devices on the HID bus. This includes most keyboards and mice, joysticks, tablets and digitizers. To compile this driver as a module, choose M here: the module will be called hid-generic. If unsure, say Y. menu "Special HID drivers" depends on HID config HID_A4TECH tristate "A4 tech mice" if EXPERT depends on HID default !EXPERT ---help--- Support for A4 tech X5 and WOP-35 / Trust 450L mice. config HID_ACRUX tristate "ACRUX game controller support" depends on HID ---help--- Say Y here if you want to enable support for ACRUX game controllers. config HID_ACRUX_FF bool "ACRUX force feedback support" depends on HID_ACRUX select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for ACRUX game controllers. config HID_APPLE tristate "Apple {i,Power,Mac}Books" if EXPERT depends on HID default !EXPERT ---help--- Support for some Apple devices which less or more break HID specification. Say Y here if you want support for keyboards of Apple iBooks, PowerBooks, MacBooks, MacBook Pros and Apple Aluminum. config HID_APPLEIR tristate "Apple infrared receiver" depends on (USB_HID) ---help--- Support for Apple infrared remote control. All the Apple computers from 2005 onwards include such a port, except the unibody Macbook (2009), and Mac Pros. This receiver is also used in the Apple TV set-top box prior to the 2010 model. Say Y here if you want support for Apple infrared remote control. config HID_AUREAL tristate "Aureal" depends on HID ---help--- Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. config HID_BELKIN tristate "Belkin Flip KVM and Wireless keyboard" if EXPERT depends on HID default !EXPERT ---help--- Support for Belkin Flip KVM and Wireless keyboard. config HID_CHERRY tristate "Cherry Cymotion keyboard" if EXPERT depends on HID default !EXPERT ---help--- Support for Cherry Cymotion keyboard. config HID_CHICONY tristate "Chicony Tactical pad" if EXPERT depends on HID default !EXPERT ---help--- Support for Chicony Tactical pad. config HID_PRODIKEYS tristate "Prodikeys PC-MIDI Keyboard support" depends on HID && SND select SND_RAWMIDI ---help--- Support for Prodikeys PC-MIDI Keyboard device support. Say Y here to enable support for this device. - Prodikeys PC-MIDI keyboard. The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Note: if you say N here, this device will still function as a basic multimedia keyboard, but will lack support for the musical keyboard and some additional multimedia keys. config HID_CYPRESS tristate "Cypress mouse and barcode readers" if EXPERT depends on HID default !EXPERT ---help--- Support for cypress mouse and barcode readers. config HID_DRAGONRISE tristate "DragonRise Inc. game controller" depends on HID ---help--- Say Y here if you have DragonRise Inc. game controllers. These might be branded as: - Tesun USB-703 - Media-tech MT1504 "Rogue" - DVTech JS19 "Gear" - Defender Game Master config DRAGONRISE_FF bool "DragonRise Inc. force feedback" depends on HID_DRAGONRISE select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for DragonRise Inc. game controllers. config HID_EMS_FF tristate "EMS Production Inc. force feedback support" depends on HID select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for devices by EMS Production Ltd. Currently the following devices are known to be supported: - Trio Linker Plus II config HID_ELECOM tristate "ELECOM BM084 bluetooth mouse" depends on HID ---help--- Support for the ELECOM BM084 (bluetooth mouse). config HID_ELO tristate "ELO USB 4000/4500 touchscreen" depends on USB_HID ---help--- Support for the ELO USB 4000/4500 touchscreens. Note that this is for different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO. config HID_EZKEY tristate "Ezkey BTC 8193 keyboard" if EXPERT depends on HID default !EXPERT ---help--- Support for Ezkey BTC 8193 keyboard. config HID_HOLTEK tristate "Holtek HID devices" depends on USB_HID ---help--- Support for Holtek based devices: - Holtek On Line Grip based game controller - Trust GXT 18 Gaming Keyboard - Sharkoon Drakonia / Perixx MX-2000 gaming mice - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 / Zalman ZM-GM1 - SHARKOON DarkGlider Gaming mouse - LEETGION Hellion Gaming Mouse config HOLTEK_FF bool "Holtek On Line Grip force feedback support" depends on HID_HOLTEK select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Holtek On Line Grip based game controller and want to have force feedback support for it. config HID_HUION tristate "Huion tablets" depends on USB_HID ---help--- Support for Huion 580 tablet. config HID_KEYTOUCH tristate "Keytouch HID devices" depends on HID ---help--- Support for Keytouch HID devices not fully compliant with the specification. Currently supported: - Keytouch IEC 60945 config HID_KYE tristate "KYE/Genius devices" depends on HID ---help--- Support for KYE/Genius devices not fully compliant with HID standard: - Ergo Mouse - EasyPen i405X tablet - MousePen i608X tablet - EasyPen M610X tablet config HID_UCLOGIC tristate "UC-Logic" depends on HID ---help--- Support for UC-Logic tablets. config HID_WALTOP tristate "Waltop" depends on HID ---help--- Support for Waltop tablets. config HID_GYRATION tristate "Gyration remote control" depends on HID ---help--- Support for Gyration remote control. config HID_ICADE tristate "ION iCade arcade controller" depends on HID ---help--- Support for the ION iCade arcade controller to work as a joystick. To compile this driver as a module, choose M here: the module will be called hid-icade. config HID_TWINHAN tristate "Twinhan IR remote control" depends on HID ---help--- Support for Twinhan IR remote control. config HID_KENSINGTON tristate "Kensington Slimblade Trackball" if EXPERT depends on HID default !EXPERT ---help--- Support for Kensington Slimblade Trackball. config HID_LCPOWER tristate "LC-Power" depends on HID ---help--- Support for LC-Power RC1000MCE RF remote control. config HID_LENOVO_TPKBD tristate "Lenovo ThinkPad USB Keyboard with TrackPoint" depends on HID select NEW_LEDS select LEDS_CLASS ---help--- Support for the Lenovo ThinkPad USB Keyboard with TrackPoint. Say Y here if you have a Lenovo ThinkPad USB Keyboard with TrackPoint and would like to use device-specific features like changing the sensitivity of the trackpoint, using the microphone mute button or controlling the mute and microphone mute LEDs. config HID_LOGITECH tristate "Logitech devices" if EXPERT depends on HID default !EXPERT ---help--- Support for Logitech devices that are not fully compliant with HID standard. config HID_LOGITECH_DJ tristate "Logitech Unifying receivers full support" depends on HID_LOGITECH ---help--- Say Y if you want support for Logitech Unifying receivers and devices. Unifying receivers are capable of pairing up to 6 Logitech compliant devices to the same receiver. Without this driver it will be handled by generic USB_HID driver and all incoming events will be multiplexed into a single mouse and a single keyboard device. config LOGITECH_FF bool "Logitech force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you have one of these devices: - Logitech WingMan Cordless RumblePad - Logitech WingMan Cordless RumblePad 2 - Logitech WingMan Force 3D - Logitech Formula Force EX - Logitech WingMan Formula Force GP and if you want to enable force feedback for them. Note: if you say N here, this device will still be supported, but without force feedback. config LOGIRUMBLEPAD2_FF bool "Logitech force feedback support (variant 2)" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you want to enable force feedback support for: - Logitech RumblePad - Logitech Rumblepad 2 - Logitech Formula Vibration Feedback Wheel config LOGIG940_FF bool "Logitech Flight System G940 force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you want to enable force feedback support for Logitech Flight System G940 devices. config LOGIWHEELS_FF bool "Logitech wheels configuration and force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS default LOGITECH_FF help Say Y here if you want to enable force feedback and range setting support for following Logitech wheels: - Logitech Driving Force - Logitech Driving Force Pro - Logitech Driving Force GT - Logitech G25 - Logitech G27 - Logitech MOMO/MOMO 2 - Logitech Formula Force EX config HID_MAGICMOUSE tristate "Apple Magic Mouse/Trackpad multi-touch support" depends on HID ---help--- Support for the Apple Magic Mouse/Trackpad multi-touch. Say Y here if you want support for the multi-touch features of the Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad. config HID_MICROSOFT tristate "Microsoft non-fully HID-compliant devices" if EXPERT depends on HID default !EXPERT ---help--- Support for Microsoft devices that are not fully compliant with HID standard. config HID_MONTEREY tristate "Monterey Genius KB29E keyboard" if EXPERT depends on HID default !EXPERT ---help--- Support for Monterey Genius KB29E. config HID_MULTITOUCH tristate "HID Multitouch panels" depends on HID ---help--- Generic support for HID multitouch panels. Say Y here if you have one of the following devices: - 3M PCT touch screens - ActionStar dual touch panels - Atmel panels - Cando dual touch panels - Chunghwa panels - CVTouch panels - Cypress TrueTouch panels - Elan Microelectronics touch panels - Elo TouchSystems IntelliTouch Plus panels - GeneralTouch 'Sensing Win7-TwoFinger' panels - GoodTouch panels - Hanvon dual touch panels - Ilitek dual touch panels - IrTouch Infrared USB panels - LG Display panels (Dell ST2220Tc) - Lumio CrystalTouch panels - MosArt dual-touch panels - Panasonic multitouch panels - PenMount dual touch panels - Perixx Peripad 701 touchpad - PixArt optical touch screen - Pixcir dual touch panels - Quanta panels - eGalax dual-touch panels, including the Joojoo and Wetab tablets - SiS multitouch panels - Stantum multitouch panels - Touch International Panels - Unitec Panels - Wistron optical touch panels - XAT optical touch panels - Xiroku optical touch panels - Zytronic touch panels If unsure, say N. To compile this driver as a module, choose M here: the module will be called hid-multitouch. config HID_NTRIG tristate "N-Trig touch screen" depends on USB_HID ---help--- Support for N-Trig touch screen. config HID_ORTEK tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" depends on HID ---help--- There are certain devices which have LogicalMaximum wrong in the keyboard usage page of their report descriptor. The most prevailing ones so far are manufactured by Ortek, thus the name of the driver. Currently supported devices by this driver are - Ortek PKB-1700 - Ortek WKB-2000 - Skycable wireless presenter config HID_PANTHERLORD tristate "Pantherlord/GreenAsia game controller" depends on HID ---help--- Say Y here if you have a PantherLord/GreenAsia based game controller or adapter. config PANTHERLORD_FF bool "Pantherlord force feedback support" depends on HID_PANTHERLORD select INPUT_FF_MEMLESS ---help--- Say Y here if you have a PantherLord/GreenAsia based game controller or adapter and want to enable force feedback support for it. config HID_PETALYNX tristate "Petalynx Maxter remote control" depends on HID ---help--- Support for Petalynx Maxter remote control. config HID_PICOLCD tristate "PicoLCD (graphic version)" depends on HID ---help--- This provides support for Minibox PicoLCD devices, currently only the graphical ones are supported. This includes support for the following device features: - Keypad - Switching between Firmware and Flash mode - EEProm / Flash access (via debugfs) Features selectively enabled: - Framebuffer for monochrome 256x64 display - Backlight control - Contrast control - General purpose outputs Features that are not (yet) supported: - IR config HID_PICOLCD_FB bool "Framebuffer support" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=FB || FB=y select FB_DEFERRED_IO select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS ---help--- Provide access to PicoLCD's 256x64 monochrome display via a framebuffer device. config HID_PICOLCD_BACKLIGHT bool "Backlight control" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y ---help--- Provide access to PicoLCD's backlight control via backlight class. config HID_PICOLCD_LCD bool "Contrast control" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y ---help--- Provide access to PicoLCD's LCD contrast via lcd class. config HID_PICOLCD_LEDS bool "GPO via leds class" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y ---help--- Provide access to PicoLCD's GPO pins via leds class. config HID_PICOLCD_CIR bool "CIR via RC class" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=RC_CORE || RC_CORE=y ---help--- Provide access to PicoLCD's CIR interface via remote control (LIRC). config HID_PRIMAX tristate "Primax non-fully HID-compliant devices" depends on HID ---help--- Support for Primax devices that are not fully compliant with the HID standard. config HID_ROCCAT tristate "Roccat device support" depends on USB_HID ---help--- Support for Roccat devices. Say Y here if you have a Roccat mouse or keyboard and want support for its special functionalities. config HID_SAITEK tristate "Saitek non-fully HID-compliant devices" depends on HID ---help--- Support for Saitek devices that are not fully compliant with the HID standard. Currently only supports the PS1000 controller. config HID_SAMSUNG tristate "Samsung InfraRed remote control or keyboards" depends on HID ---help--- Support for Samsung InfraRed remote control or keyboards. config HID_SONY tristate "Sony PS2/3 accessories" depends on USB_HID depends on NEW_LEDS depends on LEDS_CLASS ---help--- Support for * Sony PS3 6-axis controllers * Buzz controllers * Sony PS3 Blue-ray Disk Remote Control (Bluetooth) * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth) config SONY_FF bool "Sony PS2/3 accessories force feedback support" depends on HID_SONY select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Sony PS2/3 accessory and want to enable force feedback support for it. config HID_SPEEDLINK tristate "Speedlink VAD Cezanne mouse support" depends on HID ---help--- Support for Speedlink Vicious and Divine Cezanne mouse. config HID_STEELSERIES tristate "Steelseries SRW-S1 steering wheel support" depends on HID ---help--- Support for Steelseries SRW-S1 steering wheel config HID_SUNPLUS tristate "Sunplus wireless desktop" depends on HID ---help--- Support for Sunplus wireless desktop. config HID_GREENASIA tristate "GreenAsia (Product ID 0x12) game controller support" depends on HID ---help--- Say Y here if you have a GreenAsia (Product ID 0x12) based game controller or adapter. config GREENASIA_FF bool "GreenAsia (Product ID 0x12) force feedback support" depends on HID_GREENASIA select INPUT_FF_MEMLESS ---help--- Say Y here if you have a GreenAsia (Product ID 0x12) based game controller (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter and want to enable force feedback support for it. config HID_HYPERV_MOUSE tristate "Microsoft Hyper-V mouse driver" depends on HYPERV ---help--- Select this option to enable the Hyper-V mouse driver. config HID_SMARTJOYPLUS tristate "SmartJoy PLUS PS2/USB adapter support" depends on HID ---help--- Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. Note that DDR (Dance Dance Revolution) mode is not supported, nor is pressure sensitive buttons on the pro models. config SMARTJOYPLUS_FF bool "SmartJoy PLUS PS2/USB adapter force feedback support" depends on HID_SMARTJOYPLUS select INPUT_FF_MEMLESS ---help--- Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to enable force feedback support for it. config HID_TIVO tristate "TiVo Slide Bluetooth remote control support" depends on HID ---help--- Say Y if you have a TiVo Slide Bluetooth remote control. config HID_TOPSEED tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" depends on HID ---help--- Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic CLLRCMCE remote control. config HID_THINGM tristate "ThingM blink(1) USB RGB LED" depends on HID depends on LEDS_CLASS ---help--- Support for the ThingM blink(1) USB RGB LED. This driver registers a Linux LED class instance, plus additional sysfs attributes to control RGB colors, fade time and playing. The device is exposed through hidraw to access other functions. config HID_THRUSTMASTER tristate "ThrustMaster devices support" depends on HID ---help--- Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or a THRUSTMASTER Ferrari GT Rumble Wheel. config THRUSTMASTER_FF bool "ThrustMaster devices force feedback support" depends on HID_THRUSTMASTER select INPUT_FF_MEMLESS ---help--- Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT Rumble Force or Force Feedback Wheel. config HID_WACOM tristate "Wacom Bluetooth devices support" depends on HID depends on LEDS_CLASS select POWER_SUPPLY ---help--- Support for Wacom Graphire Bluetooth and Intuos4 WL tablets. config HID_WIIMOTE tristate "Nintendo Wii / Wii U peripherals" depends on HID depends on LEDS_CLASS select POWER_SUPPLY select INPUT_FF_MEMLESS ---help--- Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported devices are the Wii Remote and its extension devices, but also devices based on the Wii Remote like the Wii U Pro Controller or the Wii Balance Board. Support for all official Nintendo extensions is available, however, 3rd party extensions might not be supported. Please report these devices to: http://github.com/dvdhrm/xwiimote/issues Other Nintendo Wii U peripherals that are IEEE 802.11 based (including the Wii U Gamepad) might be supported in the future. But currently support is limited to Bluetooth based devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called hid-wiimote. config HID_XINMO tristate "Xin-Mo non-fully compliant devices" depends on HID ---help--- Support for Xin-Mo devices that are not fully compliant with the HID standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here if you have a Xin-Mo Dual Arcade controller. config HID_ZEROPLUS tristate "Zeroplus based game controller support" depends on HID ---help--- Say Y here if you have a Zeroplus based game controller. config ZEROPLUS_FF bool "Zeroplus based game controller force feedback support" depends on HID_ZEROPLUS select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Zeroplus based game controller and want to have force feedback support for it. config HID_ZYDACRON tristate "Zydacron remote control support" depends on HID ---help--- Support for Zydacron remote control. config HID_SENSOR_HUB tristate "HID Sensors framework support" depends on HID select MFD_CORE default n ---help--- Support for HID Sensor framework. This creates a MFD instance for a sensor hub and identifies all the sensors connected to it. Each sensor is registered as a MFD cell, so that sensor specific processing can be done in a separate driver. Each sensor drivers can use the service provided by this driver to register for events and handle data streams. Each sensor driver can format data and present to user mode using input or IIO interface. endmenu endif # HID source "drivers/hid/usbhid/Kconfig" source "drivers/hid/i2c-hid/Kconfig" endmenu menu "USB HID support" depends on USB config USB_HID tristate "USB HID transport layer" default y depends on USB && INPUT select HID ---help--- Say Y here if you want to connect USB keyboards, mice, joysticks, graphic tablets, or any other HID based devices to your computer via USB, as well as Uninterruptible Power Supply (UPS) and monitor control devices. You can't use this driver and the HIDBP (Boot Protocol) keyboard and mouse drivers at the same time. More information is available: . If unsure, say Y. To compile this driver as a module, choose M here: the module will be called usbhid. comment "Input core support is needed for USB HID input layer or HIDBP support" depends on USB_HID && INPUT=n config HID_PID bool "PID device support" help Say Y here if you have a PID-compliant device and wish to enable force feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such devices. config USB_HIDDEV bool "/dev/hiddev raw HID device support" depends on USB_HID help Say Y here if you want to support HID devices (from the USB specification standpoint) that aren't strictly user interface devices, like monitor controls and Uninterruptable Power Supplies. This module supports these devices separately using a separate event interface on /dev/usb/hiddevX (char 180:96 to 180:111). If unsure, say Y. menu "USB HID Boot Protocol drivers" depends on USB!=n && USB_HID!=y && EXPERT config USB_KBD tristate "USB HIDBP Keyboard (simple Boot) support" depends on USB && INPUT ---help--- Say Y here only if you are absolutely sure that you don't want to use the generic HID driver for your USB keyboard and prefer to use the keyboard in its limited Boot Protocol mode instead. This is almost certainly not what you want. This is mostly useful for embedded applications or simple keyboards. To compile this driver as a module, choose M here: the module will be called usbkbd. If even remotely unsure, say N. config USB_MOUSE tristate "USB HIDBP Mouse (simple Boot) support" depends on USB && INPUT ---help--- Say Y here only if you are absolutely sure that you don't want to use the generic HID driver for your USB mouse and prefer to use the mouse in its limited Boot Protocol mode instead. This is almost certainly not what you want. This is mostly useful for embedded applications or simple mice. To compile this driver as a module, choose M here: the module will be called usbmouse. If even remotely unsure, say N. endmenu endmenu # # HSI driver configuration # menuconfig HSI tristate "HSI support" ---help--- The "High speed synchronous Serial Interface" is synchronous serial interface used mainly to connect application engines and cellular modems. if HSI config HSI_BOARDINFO bool default y source "drivers/hsi/clients/Kconfig" endif # HSI # # HSI clients configuration # comment "HSI clients" config HSI_CHAR tristate "HSI/SSI character driver" depends on HSI ---help--- If you say Y here, you will enable the HSI/SSI character driver. This driver provides a simple character device interface for serial communication with the cellular modem over HSI/SSI bus. menu "Microsoft Hyper-V guest support" config HYPERV tristate "Microsoft Hyper-V client drivers" depends on X86 && ACPI && PCI && X86_LOCAL_APIC && HYPERVISOR_GUEST help Select this option to run Linux as a Hyper-V client operating system. config HYPERV_UTILS tristate "Microsoft Hyper-V Utilities driver" depends on HYPERV && CONNECTOR && NLS help Select this option to enable the Hyper-V Utilities. config HYPERV_BALLOON tristate "Microsoft Hyper-V Balloon driver" depends on HYPERV help Select this option to enable Hyper-V Balloon driver. endmenu # # Hardware monitoring chip drivers configuration # menuconfig HWMON tristate "Hardware Monitoring support" depends on HAS_IOMEM default y help Hardware monitoring devices let you monitor the hardware health of a system. Most modern motherboards include such a device. It can include temperature sensors, voltage sensors, fan speed sensors and various additional features such as the ability to control the speed of the fans. If you want this support you should say Y here and also to the specific driver(s) for your sensors chip(s) below. To find out which specific driver(s) you need, use the sensors-detect script from the lm_sensors package. Read for details. This support can also be built as a module. If so, the module will be called hwmon. if HWMON config HWMON_VID tristate default n config HWMON_DEBUG_CHIP bool "Hardware Monitoring Chip debugging messages" default n help Say Y here if you want the I2C chip drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. comment "Native drivers" config SENSORS_AB8500 tristate "AB8500 thermal monitoring" depends on AB8500_GPADC && AB8500_BM default n help If you say yes here you get support for the thermal sensor part of the AB8500 chip. The driver includes thermal management for AB8500 die and two GPADC channels. The GPADC channel are preferably used to access sensors outside the AB8500 chip. This driver can also be built as a module. If so, the module will be called abx500-temp. config SENSORS_ABITUGURU tristate "Abit uGuru (rev 1 & 2)" depends on X86 && DMI help If you say yes here you get support for the sensor part of the first and second revision of the Abit uGuru chip. The voltage and frequency control parts of the Abit uGuru are not supported. The Abit uGuru chip can be found on Abit uGuru featuring motherboards (most modern Abit motherboards from before end 2005). For more info and a list of which motherboards have which revision see Documentation/hwmon/abituguru This driver can also be built as a module. If so, the module will be called abituguru. config SENSORS_ABITUGURU3 tristate "Abit uGuru (rev 3)" depends on X86 && DMI help If you say yes here you get support for the sensor part of the third revision of the Abit uGuru chip. Only reading the sensors and their settings is supported. The third revision of the Abit uGuru chip can be found on recent Abit motherboards (since end 2005). For more info and a list of which motherboards have which revision see Documentation/hwmon/abituguru3 This driver can also be built as a module. If so, the module will be called abituguru3. config SENSORS_AD7314 tristate "Analog Devices AD7314 and compatibles" depends on SPI help If you say yes here you get support for the Analog Devices AD7314, ADT7301 and ADT7302 temperature sensors. This driver can also be built as a module. If so, the module will be called ad7314. config SENSORS_AD7414 tristate "Analog Devices AD7414" depends on I2C help If you say yes here you get support for the Analog Devices AD7414 temperature monitoring chip. This driver can also be built as a module. If so, the module will be called ad7414. config SENSORS_AD7418 tristate "Analog Devices AD7416, AD7417 and AD7418" depends on I2C help If you say yes here you get support for the Analog Devices AD7416, AD7417 and AD7418 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called ad7418. config SENSORS_ADCXX tristate "National Semiconductor ADCxxxSxxx" depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor ADCS chip family, where * bb is the resolution in number of bits (8, 10, 12) * c is the number of channels (1, 2, 4, 8) * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 kSPS and 101 for 1 MSPS) Examples : ADC081S101, ADC124S501, ... This driver can also be built as a module. If so, the module will be called adcxx. config SENSORS_ADM1021 tristate "Analog Devices ADM1021 and compatibles" depends on I2C help If you say yes here you get support for Analog Devices ADM1021 and ADM1023 sensor chips and clones: Maxim MAX1617 and MAX1617A, Genesys Logic GL523SM, National Semiconductor LM84 and TI THMC10. This driver can also be built as a module. If so, the module will be called adm1021. config SENSORS_ADM1025 tristate "Analog Devices ADM1025 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM1025 and Philips NE1619 sensor chips. This driver can also be built as a module. If so, the module will be called adm1025. config SENSORS_ADM1026 tristate "Analog Devices ADM1026 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM1026 sensor chip. This driver can also be built as a module. If so, the module will be called adm1026. config SENSORS_ADM1029 tristate "Analog Devices ADM1029" depends on I2C help If you say yes here you get support for Analog Devices ADM1029 sensor chip. Very rare chip, please let us know you use it. This driver can also be built as a module. If so, the module will be called adm1029. config SENSORS_ADM1031 tristate "Analog Devices ADM1031 and compatibles" depends on I2C help If you say yes here you get support for Analog Devices ADM1031 and ADM1030 sensor chips. This driver can also be built as a module. If so, the module will be called adm1031. config SENSORS_ADM9240 tristate "Analog Devices ADM9240 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM9240, Dallas DS1780, National Semiconductor LM81 sensor chips. This driver can also be built as a module. If so, the module will be called adm9240. config SENSORS_ADT7X10 tristate help This module contains common code shared by the ADT7310/ADT7320 and ADT7410/ADT7420 temperature monitoring chip drivers. If build as a module, the module will be called adt7x10. config SENSORS_ADT7310 tristate "Analog Devices ADT7310/ADT7320" depends on SPI_MASTER select SENSORS_ADT7X10 help If you say yes here you get support for the Analog Devices ADT7310 and ADT7320 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7310. config SENSORS_ADT7410 tristate "Analog Devices ADT7410/ADT7420" depends on I2C select SENSORS_ADT7X10 help If you say yes here you get support for the Analog Devices ADT7410 and ADT7420 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7410. config SENSORS_ADT7411 tristate "Analog Devices ADT7411" depends on I2C help If you say yes here you get support for the Analog Devices ADT7411 voltage and temperature monitoring chip. This driver can also be built as a module. If so, the module will be called adt7411. config SENSORS_ADT7462 tristate "Analog Devices ADT7462" depends on I2C help If you say yes here you get support for the Analog Devices ADT7462 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7462. config SENSORS_ADT7470 tristate "Analog Devices ADT7470" depends on I2C help If you say yes here you get support for the Analog Devices ADT7470 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7470. config SENSORS_ADT7475 tristate "Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490" depends on I2C select HWMON_VID help If you say yes here you get support for the Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490 hardware monitoring chips. This driver can also be build as a module. If so, the module will be called adt7475. config SENSORS_ASC7621 tristate "Andigilog aSC7621" depends on I2C help If you say yes here you get support for the aSC7621 family of SMBus sensors chip found on most Intel X38, X48, X58, 945, 965 and 975 desktop boards. Currently supported chips: aSC7621 aSC7621a This driver can also be built as a module. If so, the module will be called asc7621. config SENSORS_K8TEMP tristate "AMD Athlon64/FX or Opteron temperature sensor" depends on X86 && PCI help If you say yes here you get support for the temperature sensor(s) inside your CPU. Supported is whole AMD K8 microarchitecture. Please note that you will need at least lm-sensors 2.10.1 for proper userspace support. This driver can also be built as a module. If so, the module will be called k8temp. config SENSORS_K10TEMP tristate "AMD Family 10h+ temperature sensor" depends on X86 && PCI help If you say yes here you get support for the temperature sensor(s) inside your CPU. Supported are later revisions of the AMD Family 10h and all revisions of the AMD Family 11h, 12h (Llano), 14h (Brazos), 15h (Bulldozer/Trinity) and 16h (Kabini) microarchitectures. This driver can also be built as a module. If so, the module will be called k10temp. config SENSORS_FAM15H_POWER tristate "AMD Family 15h processor power" depends on X86 && PCI help If you say yes here you get support for processor power information of your AMD family 15h CPU. This driver can also be built as a module. If so, the module will be called fam15h_power. config SENSORS_ASB100 tristate "Asus ASB100 Bach" depends on X86 && I2C select HWMON_VID help If you say yes here you get support for the ASB100 Bach sensor chip found on some Asus mainboards. This driver can also be built as a module. If so, the module will be called asb100. config SENSORS_ATXP1 tristate "Attansic ATXP1 VID controller" depends on I2C select HWMON_VID help If you say yes here you get support for the Attansic ATXP1 VID controller. If your board have such a chip, you are able to control your CPU core and other voltages. This driver can also be built as a module. If so, the module will be called atxp1. config SENSORS_DS620 tristate "Dallas Semiconductor DS620" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS620 sensor chip. This driver can also be built as a module. If so, the module will be called ds620. config SENSORS_DS1621 tristate "Dallas Semiconductor DS1621 and compatibles" depends on I2C help If you say yes here you get support for Dallas Semiconductor/Maxim Integrated DS1621 sensor chips and compatible models including: - Dallas Semiconductor DS1625 - Maxim Integrated DS1631 - Maxim Integrated DS1721 - Maxim Integrated DS1731 This driver can also be built as a module. If so, the module will be called ds1621. config SENSORS_DA9052_ADC tristate "Dialog DA9052/DA9053 ADC" depends on PMIC_DA9052 help Say y here to support the ADC found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. This driver can also be built as module. If so, the module will be called da9052-hwmon. config SENSORS_DA9055 tristate "Dialog Semiconductor DA9055 ADC" depends on MFD_DA9055 help If you say yes here you get support for ADC on the Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055-hwmon. config SENSORS_I5K_AMB tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets" depends on PCI help If you say yes here you get support for FB-DIMM AMB temperature monitoring chips on systems with the Intel 5000 series chipset. This driver can also be built as a module. If so, the module will be called i5k_amb. config SENSORS_F71805F tristate "Fintek F71805F/FG, F71806F/FG and F71872F/FG" depends on !PPC help If you say yes here you get support for hardware monitoring features of the Fintek F71805F/FG, F71806F/FG and F71872F/FG Super-I/O chips. This driver can also be built as a module. If so, the module will be called f71805f. config SENSORS_F71882FG tristate "Fintek F71882FG and compatibles" depends on !PPC help If you say yes here you get support for hardware monitoring features of many Fintek Super-I/O (LPC) chips. The currently supported chips are: F71808E/A F71858FG F71862FG F71863FG F71869F/E/A F71882FG F71883FG F71889FG/ED/A F8000 F81801U F81865F This driver can also be built as a module. If so, the module will be called f71882fg. config SENSORS_F75375S tristate "Fintek F75375S/SP, F75373 and F75387" depends on I2C help If you say yes here you get support for hardware monitoring features of the Fintek F75375S/SP, F75373 and F75387 This driver can also be built as a module. If so, the module will be called f75375s. config SENSORS_FSCHMD tristate "Fujitsu Siemens Computers sensor chips" depends on X86 && I2C help If you say yes here you get support for the following Fujitsu Siemens Computers (FSC) sensor chips: Poseidon, Scylla, Hermes, Heimdall, Heracles, Hades and Syleus including support for the integrated watchdog. This is a merged driver for FSC sensor chips replacing the fscpos, fscscy and fscher drivers and adding support for several other FSC sensor chips. This driver can also be built as a module. If so, the module will be called fschmd. config SENSORS_G760A tristate "GMT G760A" depends on I2C help If you say yes here you get support for Global Mixed-mode Technology Inc G760A fan speed PWM controller chips. This driver can also be built as a module. If so, the module will be called g760a. config SENSORS_G762 tristate "GMT G762 and G763" depends on I2C help If you say yes here you get support for Global Mixed-mode Technology Inc G762 and G763 fan speed PWM controller chips. This driver can also be built as a module. If so, the module will be called g762. config SENSORS_GL518SM tristate "Genesys Logic GL518SM" depends on I2C help If you say yes here you get support for Genesys Logic GL518SM sensor chips. This driver can also be built as a module. If so, the module will be called gl518sm. config SENSORS_GL520SM tristate "Genesys Logic GL520SM" depends on I2C select HWMON_VID help If you say yes here you get support for Genesys Logic GL520SM sensor chips. This driver can also be built as a module. If so, the module will be called gl520sm. config SENSORS_GPIO_FAN tristate "GPIO fan" depends on GPIOLIB help If you say yes here you get support for fans connected to GPIO lines. This driver can also be built as a module. If so, the module will be called gpio-fan. config SENSORS_HIH6130 tristate "Honeywell Humidicon HIH-6130 humidity/temperature sensor" depends on I2C help If you say yes here you get support for Honeywell Humidicon HIH-6130 and HIH-6131 Humidicon humidity sensors. This driver can also be built as a module. If so, the module will be called hih6130. config SENSORS_HTU21 tristate "Measurement Specialties HTU21D humidity/temperature sensors" depends on I2C help If you say yes here you get support for the Measurement Specialties HTU21D humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called htu21. config SENSORS_CORETEMP tristate "Intel Core/Core2/Atom temperature sensor" depends on X86 help If you say yes here you get support for the temperature sensor inside your CPU. Most of the family 6 CPUs are supported. Check Documentation/hwmon/coretemp for details. config SENSORS_IBMAEM tristate "IBM Active Energy Manager temperature/power sensors and control" select IPMI_SI depends on IPMI_HANDLER help If you say yes here you get support for the temperature and power sensors and capping hardware in various IBM System X servers that support Active Energy Manager. This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2, x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades. This driver can also be built as a module. If so, the module will be called ibmaem. config SENSORS_IBMPEX tristate "IBM PowerExecutive temperature/power sensors" select IPMI_SI depends on IPMI_HANDLER help If you say yes here you get support for the temperature and power sensors in various IBM System X servers that support PowerExecutive. So far this includes the x3350, x3550, x3650, x3655, and x3755; the x3800, x3850, and x3950 models that have PCI Express; and some of the HS2x, LS2x, and QS2x blades. This driver can also be built as a module. If so, the module will be called ibmpex. config SENSORS_IIO_HWMON tristate "Hwmon driver that uses channels specified via iio maps" depends on IIO help This is a platform driver that in combination with a suitable map allows IIO devices to provide basic hwmon functionality for those channels specified in the map. This map can be provided either via platform data or the device tree bindings. config SENSORS_IT87 tristate "ITE IT87xx and compatibles" depends on !PPC select HWMON_VID help If you say yes here you get support for ITE IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, IT8772E, IT8782F, and IT8783E/F sensor chips, and the SiS950 clone. This driver can also be built as a module. If so, the module will be called it87. config SENSORS_JZ4740 tristate "Ingenic JZ4740 SoC ADC driver" depends on MACH_JZ4740 && MFD_JZ4740_ADC help If you say yes here you get support for reading adc values from the ADCIN pin on Ingenic JZ4740 SoC based boards. This driver can also be build as a module. If so, the module will be called jz4740-hwmon. config SENSORS_JC42 tristate "JEDEC JC42.4 compliant memory module temperature sensors" depends on I2C help If you say yes here, you get support for JEDEC JC42.4 compliant temperature sensors, which are used on many DDR3 memory modules for mobile devices and servers. Support will include, but not be limited to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805, MCP98242, MCP98243, MCP98244, MCP9843, SE97, SE98, STTS424(E), STTS2002, STTS3000, TSE2002B3, TSE2002GB2, TS3000B3, and TS3000GB2. This driver can also be built as a module. If so, the module will be called jc42. config SENSORS_LINEAGE tristate "Lineage Compact Power Line Power Entry Module" depends on I2C help If you say yes here you get support for the Lineage Compact Power Line series of DC/DC and AC/DC converters such as CP1800, CP2000AC, CP2000DC, CP2725, and others. This driver can also be built as a module. If so, the module will be called lineage-pem. config SENSORS_LM63 tristate "National Semiconductor LM63 and compatibles" depends on I2C help If you say yes here you get support for the National Semiconductor LM63, LM64, and LM96163 remote diode digital temperature sensors with integrated fan control. Such chips are found on the Tyan S4882 (Thunder K8QS Pro) motherboard, among others. This driver can also be built as a module. If so, the module will be called lm63. config SENSORS_LM70 tristate "National Semiconductor LM70 and compatibles" depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera- ture sensor chips. This driver can also be built as a module. If so, the module will be called lm70. config SENSORS_LM73 tristate "National Semiconductor LM73" depends on I2C help If you say yes here you get support for National Semiconductor LM73 sensor chips. This driver can also be built as a module. If so, the module will be called lm73. config SENSORS_LM75 tristate "National Semiconductor LM75 and compatibles" depends on I2C help If you say yes here you get support for one common type of temperature sensor chip, with models including: - Analog Devices ADT75 - Dallas Semiconductor DS75, DS1775 and DS7505 - Global Mixed-mode Technology (GMT) G751 - Maxim MAX6625 and MAX6626 - Microchip MCP980x - National Semiconductor LM75, LM75A - NXP's LM75A - ST Microelectronics STDS75 - TelCom (now Microchip) TCN75 - Texas Instruments TMP100, TMP101, TMP105, TMP75, TMP175, TMP275 This driver supports driver model based binding through board specific I2C device tables. It also supports the "legacy" style of driver binding. To use that with some chips which don't replicate LM75 quirks exactly, you may need the "force" module parameter. This driver can also be built as a module. If so, the module will be called lm75. config SENSORS_LM77 tristate "National Semiconductor LM77" depends on I2C help If you say yes here you get support for National Semiconductor LM77 sensor chips. This driver can also be built as a module. If so, the module will be called lm77. config SENSORS_LM78 tristate "National Semiconductor LM78 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM78, LM78-J and LM79. This driver can also be built as a module. If so, the module will be called lm78. config SENSORS_LM80 tristate "National Semiconductor LM80 and LM96080" depends on I2C help If you say yes here you get support for National Semiconductor LM80 and LM96080 sensor chips. This driver can also be built as a module. If so, the module will be called lm80. config SENSORS_LM83 tristate "National Semiconductor LM83 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM82 and LM83 sensor chips. This driver can also be built as a module. If so, the module will be called lm83. config SENSORS_LM85 tristate "National Semiconductor LM85 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM85 sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100, EMC6D101, EMC6D102, and EMC6D103. This driver can also be built as a module. If so, the module will be called lm85. config SENSORS_LM87 tristate "National Semiconductor LM87 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM87 and Analog Devices ADM1024 sensor chips. This driver can also be built as a module. If so, the module will be called lm87. config SENSORS_LM90 tristate "National Semiconductor LM90 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM90, LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, and ADT7461A, Maxim MAX6646, MAX6647, MAX6648, MAX6649, MAX6657, MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips SA56004, and GMT G781 sensor chips. This driver can also be built as a module. If so, the module will be called lm90. config SENSORS_LM92 tristate "National Semiconductor LM92 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM92 and Maxim MAX6635 sensor chips. This driver can also be built as a module. If so, the module will be called lm92. config SENSORS_LM93 tristate "National Semiconductor LM93 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM93, LM94, and compatible sensor chips. This driver can also be built as a module. If so, the module will be called lm93. config SENSORS_LTC4151 tristate "Linear Technology LTC4151" depends on I2C default n help If you say yes here you get support for Linear Technology LTC4151 High Voltage I2C Current and Voltage Monitor interface. This driver can also be built as a module. If so, the module will be called ltc4151. config SENSORS_LTC4215 tristate "Linear Technology LTC4215" depends on I2C default n help If you say yes here you get support for Linear Technology LTC4215 Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4215. config SENSORS_LTC4245 tristate "Linear Technology LTC4245" depends on I2C default n help If you say yes here you get support for Linear Technology LTC4245 Multiple Supply Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4245. config SENSORS_LTC4261 tristate "Linear Technology LTC4261" depends on I2C default n help If you say yes here you get support for Linear Technology LTC4261 Negative Voltage Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4261. config SENSORS_LM95234 tristate "National Semiconductor LM95234" depends on I2C help If you say yes here you get support for the LM95234 temperature sensor. This driver can also be built as a module. If so, the module will be called lm95234. config SENSORS_LM95241 tristate "National Semiconductor LM95241 and compatibles" depends on I2C help If you say yes here you get support for LM95231 and LM95241 sensor chips. This driver can also be built as a module. If so, the module will be called lm95241. config SENSORS_LM95245 tristate "National Semiconductor LM95245 sensor chip" depends on I2C help If you say yes here you get support for LM95245 sensor chip. This driver can also be built as a module. If so, the module will be called lm95245. config SENSORS_MAX1111 tristate "Maxim MAX1111 Serial 8-bit ADC chip and compatibles" depends on SPI_MASTER help Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113 ADC chips. This driver can also be built as a module. If so, the module will be called max1111. config SENSORS_MAX16065 tristate "Maxim MAX16065 System Manager and compatibles" depends on I2C help If you say yes here you get support for hardware monitoring capabilities of the following Maxim System Manager chips. MAX16065 MAX16066 MAX16067 MAX16068 MAX16070 MAX16071 This driver can also be built as a module. If so, the module will be called max16065. config SENSORS_MAX1619 tristate "Maxim MAX1619 sensor chip" depends on I2C help If you say yes here you get support for MAX1619 sensor chip. This driver can also be built as a module. If so, the module will be called max1619. config SENSORS_MAX1668 tristate "Maxim MAX1668 and compatibles" depends on I2C help If you say yes here you get support for MAX1668, MAX1989 and MAX1805 chips. This driver can also be built as a module. If so, the module will be called max1668. config SENSORS_MAX197 tristate "Maxim MAX197 and compatibles" help Support for the Maxim MAX197 A/D converter. Support will include, but not be limited to, MAX197, and MAX199. This driver can also be built as a module. If so, the module will be called max197. config SENSORS_MAX6639 tristate "Maxim MAX6639 sensor chip" depends on I2C help If you say yes here you get support for the MAX6639 sensor chips. This driver can also be built as a module. If so, the module will be called max6639. config SENSORS_MAX6642 tristate "Maxim MAX6642 sensor chip" depends on I2C help If you say yes here you get support for MAX6642 sensor chip. MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor with Overtemperature Alarm from Maxim. This driver can also be built as a module. If so, the module will be called max6642. config SENSORS_MAX6650 tristate "Maxim MAX6650 sensor chip" depends on I2C help If you say yes here you get support for the MAX6650 / MAX6651 sensor chips. This driver can also be built as a module. If so, the module will be called max6650. config SENSORS_MAX6697 tristate "Maxim MAX6697 and compatibles" depends on I2C help If you say yes here you get support for MAX6581, MAX6602, MAX6622, MAX6636, MAX6689, MAX6693, MAX6694, MAX6697, MAX6698, and MAX6699 temperature sensor chips. This driver can also be built as a module. If so, the module will be called max6697. config SENSORS_MCP3021 tristate "Microchip MCP3021 and compatibles" depends on I2C help If you say yes here you get support for MCP3021 and MCP3221. The MCP3021 is a A/D converter (ADC) with 10-bit and the MCP3221 with 12-bit resolution. This driver can also be built as a module. If so, the module will be called mcp3021. config SENSORS_NCT6775 tristate "Nuvoton NCT6775F and compatibles" depends on !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring functionality of the Nuvoton NCT6775F, NCT6776F, NCT6779D and compatible Super-I/O chips. This driver replaces the w83627ehf driver for NCT6775F and NCT6776F. This driver can also be built as a module. If so, the module will be called nct6775. config SENSORS_NTC_THERMISTOR tristate "NTC thermistor support" depends on (!OF && !IIO) || (OF && IIO) help This driver supports NTC thermistors sensor reading and its interpretation. The driver can also monitor the temperature and send notifications about the temperature. Currently, this driver supports NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, and NCP15WL333. This driver can also be built as a module. If so, the module will be called ntc-thermistor. config SENSORS_PC87360 tristate "National Semiconductor PC87360 family" depends on !PPC select HWMON_VID help If you say yes here you get access to the hardware monitoring functions of the National Semiconductor PC8736x Super-I/O chips. The PC87360, PC87363 and PC87364 only have fan monitoring and control. The PC87365 and PC87366 additionally have voltage and temperature monitoring. This driver can also be built as a module. If so, the module will be called pc87360. config SENSORS_PC87427 tristate "National Semiconductor PC87427" depends on !PPC help If you say yes here you get access to the hardware monitoring functions of the National Semiconductor PC87427 Super-I/O chip. The chip has two distinct logical devices, one for fan speed monitoring and control, and one for voltage and temperature monitoring. Fan speed monitoring and control are supported, as well as temperature monitoring. Voltages aren't supported yet. This driver can also be built as a module. If so, the module will be called pc87427. config SENSORS_PCF8591 tristate "Philips PCF8591 ADC/DAC" depends on I2C default n help If you say yes here you get support for Philips PCF8591 4-channel ADC, 1-channel DAC chips. This driver can also be built as a module. If so, the module will be called pcf8591. These devices are hard to detect and rarely found on mainstream hardware. If unsure, say N. source drivers/hwmon/pmbus/Kconfig config SENSORS_SHT15 tristate "Sensiron humidity and temperature sensors. SHT15 and compat." depends on GPIOLIB help If you say yes here you get support for the Sensiron SHT10, SHT11, SHT15, SHT71, SHT75 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called sht15. config SENSORS_SHT21 tristate "Sensiron humidity and temperature sensors. SHT21 and compat." depends on I2C help If you say yes here you get support for the Sensiron SHT21, SHT25 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called sht21. config SENSORS_S3C tristate "Samsung built-in ADC" depends on S3C_ADC help If you say yes here you get support for the on-board ADCs of the Samsung S3C24XX, S3C64XX and other series of SoC This driver can also be built as a module. If so, the module will be called s3c-hwmon. config SENSORS_S3C_RAW bool "Include raw channel attributes in sysfs" depends on SENSORS_S3C help Say Y here if you want to include raw copies of all the ADC channels in sysfs. config SENSORS_SIS5595 tristate "Silicon Integrated Systems Corp. SiS5595" depends on PCI help If you say yes here you get support for the integrated sensors in SiS5595 South Bridges. This driver can also be built as a module. If so, the module will be called sis5595. config SENSORS_SMM665 tristate "Summit Microelectronics SMM665" depends on I2C default n help If you say yes here you get support for the hardware monitoring features of the Summit Microelectronics SMM665/SMM665B Six-Channel Active DC Output Controller / Monitor. Other supported chips are SMM465, SMM665C, SMM764, and SMM766. Support for those chips is untested. This driver can also be built as a module. If so, the module will be called smm665. config SENSORS_DME1737 tristate "SMSC DME1737, SCH311x and compatibles" depends on I2C && !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring and fan control features of the SMSC DME1737, SCH311x, SCH5027, and Asus A8000 Super-I/O chips. This driver can also be built as a module. If so, the module will be called dme1737. config SENSORS_EMC1403 tristate "SMSC EMC1403/23 thermal sensor" depends on I2C help If you say yes here you get support for the SMSC EMC1403/23 temperature monitoring chip. Threshold values can be configured using sysfs. Data from the different diodes are accessible via sysfs. config SENSORS_EMC2103 tristate "SMSC EMC2103" depends on I2C help If you say yes here you get support for the temperature and fan sensors of the SMSC EMC2103 chips. This driver can also be built as a module. If so, the module will be called emc2103. config SENSORS_EMC6W201 tristate "SMSC EMC6W201" depends on I2C help If you say yes here you get support for the SMSC EMC6W201 hardware monitoring chip. This driver can also be built as a module. If so, the module will be called emc6w201. config SENSORS_SMSC47M1 tristate "SMSC LPC47M10x and compatibles" depends on !PPC help If you say yes here you get support for the integrated fan monitoring and control capabilities of the SMSC LPC47B27x, LPC47M10x, LPC47M112, LPC47M13x, LPC47M14x, LPC47M15x, LPC47M192, LPC47M292 and LPC47M997 chips. The temperature and voltage sensor features of the LPC47M15x, LPC47M192, LPC47M292 and LPC47M997 are supported by another driver, select also "SMSC LPC47M192 and compatibles" below for those. This driver can also be built as a module. If so, the module will be called smsc47m1. config SENSORS_SMSC47M192 tristate "SMSC LPC47M192 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for the temperature and voltage sensors of the SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997 chips. The fan monitoring and control capabilities of these chips are supported by another driver, select "SMSC LPC47M10x and compatibles" above. You need both drivers if you want fan control and voltage/temperature sensor support. This driver can also be built as a module. If so, the module will be called smsc47m192. config SENSORS_SMSC47B397 tristate "SMSC LPC47B397-NC" depends on !PPC help If you say yes here you get support for the SMSC LPC47B397-NC sensor chip. This driver can also be built as a module. If so, the module will be called smsc47b397. config SENSORS_SCH56XX_COMMON tristate default n config SENSORS_SCH5627 tristate "SMSC SCH5627" depends on !PPC && WATCHDOG select SENSORS_SCH56XX_COMMON select WATCHDOG_CORE help If you say yes here you get support for the hardware monitoring features of the SMSC SCH5627 Super-I/O chip including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called sch5627. config SENSORS_SCH5636 tristate "SMSC SCH5636" depends on !PPC && WATCHDOG select SENSORS_SCH56XX_COMMON select WATCHDOG_CORE help SMSC SCH5636 Super I/O chips include an embedded microcontroller for hardware monitoring solutions, allowing motherboard manufacturers to create their own custom hwmon solution based upon the SCH5636. Currently this driver only supports the Fujitsu Theseus SCH5636 based hwmon solution. Say yes here if you want support for the Fujitsu Theseus' hardware monitoring features including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called sch5636. config SENSORS_ADS1015 tristate "Texas Instruments ADS1015" depends on I2C help If you say yes here you get support for Texas Instruments ADS1015/ADS1115 12/16-bit 4-input ADC device. This driver can also be built as a module. If so, the module will be called ads1015. config SENSORS_ADS7828 tristate "Texas Instruments ADS7828 and compatibles" depends on I2C help If you say yes here you get support for Texas Instruments ADS7828 and ADS7830 8-channel A/D converters. ADS7828 resolution is 12-bit, while it is 8-bit on ADS7830. This driver can also be built as a module. If so, the module will be called ads7828. config SENSORS_ADS7871 tristate "Texas Instruments ADS7871 A/D converter" depends on SPI help If you say yes here you get support for TI ADS7871 & ADS7870 This driver can also be built as a module. If so, the module will be called ads7871. config SENSORS_AMC6821 tristate "Texas Instruments AMC6821" depends on I2C help If you say yes here you get support for the Texas Instruments AMC6821 hardware monitoring chips. This driver can also be build as a module. If so, the module will be called amc6821. config SENSORS_INA209 tristate "TI / Burr Brown INA209" depends on I2C help If you say yes here you get support for the TI / Burr Brown INA209 voltage / current / power monitor I2C interface. This driver can also be built as a module. If so, the module will be called ina209. config SENSORS_INA2XX tristate "Texas Instruments INA219 and compatibles" depends on I2C help If you say yes here you get support for INA219, INA220, INA226, and INA230 power monitor chips. The INA2xx driver is configured for the default configuration of the part as described in the datasheet. Default value for Rshunt is 10 mOhms. This driver can also be built as a module. If so, the module will be called ina2xx. config SENSORS_THMC50 tristate "Texas Instruments THMC50 / Analog Devices ADM1022" depends on I2C help If you say yes here you get support for Texas Instruments THMC50 sensor chips and clones: the Analog Devices ADM1022. This driver can also be built as a module. If so, the module will be called thmc50. config SENSORS_TMP102 tristate "Texas Instruments TMP102" depends on I2C help If you say yes here you get support for Texas Instruments TMP102 sensor chips. This driver can also be built as a module. If so, the module will be called tmp102. config SENSORS_TMP401 tristate "Texas Instruments TMP401 and compatibles" depends on I2C help If you say yes here you get support for Texas Instruments TMP401, TMP411, TMP431, and TMP432 temperature sensor chips. This driver can also be built as a module. If so, the module will be called tmp401. config SENSORS_TMP421 tristate "Texas Instruments TMP421 and compatible" depends on I2C help If you say yes here you get support for Texas Instruments TMP421, TMP422 and TMP423 temperature sensor chips. This driver can also be built as a module. If so, the module will be called tmp421. config SENSORS_TWL4030_MADC tristate "Texas Instruments TWL4030 MADC Hwmon" depends on TWL4030_MADC help If you say yes here you get hwmon support for triton TWL4030-MADC. This driver can also be built as a module. If so it will be called twl4030-madc-hwmon. config SENSORS_VEXPRESS tristate "Versatile Express" depends on VEXPRESS_CONFIG help This driver provides support for hardware sensors available on the ARM Ltd's Versatile Express platform. It can provide wide range of information like temperature, power, energy. config SENSORS_VIA_CPUTEMP tristate "VIA CPU temperature sensor" depends on X86 select HWMON_VID help If you say yes here you get support for the temperature sensor inside your CPU. Supported are all known variants of the VIA C7 and Nano. config SENSORS_VIA686A tristate "VIA686A" depends on PCI help If you say yes here you get support for the integrated sensors in Via 686A/B South Bridges. This driver can also be built as a module. If so, the module will be called via686a. config SENSORS_VT1211 tristate "VIA VT1211" depends on !PPC select HWMON_VID help If you say yes here then you get support for hardware monitoring features of the VIA VT1211 Super-I/O chip. This driver can also be built as a module. If so, the module will be called vt1211. config SENSORS_VT8231 tristate "VIA VT8231" depends on PCI select HWMON_VID help If you say yes here then you get support for the integrated sensors in the VIA VT8231 device. This driver can also be built as a module. If so, the module will be called vt8231. config SENSORS_W83781D tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W8378x series of sensor chips: the W83781D, W83782D and W83783S, and the similar Asus AS99127F. This driver can also be built as a module. If so, the module will be called w83781d. config SENSORS_W83791D tristate "Winbond W83791D" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W83791D chip. This driver can also be built as a module. If so, the module will be called w83791d. config SENSORS_W83792D tristate "Winbond W83792D" depends on I2C help If you say yes here you get support for the Winbond W83792D chip. This driver can also be built as a module. If so, the module will be called w83792d. config SENSORS_W83793 tristate "Winbond W83793" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W83793 hardware monitoring chip, including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called w83793. config SENSORS_W83795 tristate "Winbond/Nuvoton W83795G/ADG" depends on I2C help If you say yes here you get support for the Winbond W83795G and W83795ADG hardware monitoring chip, including manual fan speed control. This driver can also be built as a module. If so, the module will be called w83795. config SENSORS_W83795_FANCTRL boolean "Include automatic fan control support (DANGEROUS)" depends on SENSORS_W83795 default n help If you say yes here, support for automatic fan speed control will be included in the driver. This part of the code wasn't carefully reviewed and tested yet, so enabling this option is strongly discouraged on production servers. Only developers and testers should enable it for the time being. Please also note that this option will create sysfs attribute files which may change in the future, so you shouldn't rely on them being stable. config SENSORS_W83L785TS tristate "Winbond W83L785TS-S" depends on I2C help If you say yes here you get support for the Winbond W83L785TS-S sensor chip, which is used on the Asus A7N8X, among other motherboards. This driver can also be built as a module. If so, the module will be called w83l785ts. config SENSORS_W83L786NG tristate "Winbond W83L786NG, W83L786NR" depends on I2C help If you say yes here you get support for the Winbond W83L786NG and W83L786NR sensor chips. This driver can also be built as a module. If so, the module will be called w83l786ng. config SENSORS_W83627HF tristate "Winbond W83627HF, W83627THF, W83637HF, W83687THF, W83697HF" depends on !PPC select HWMON_VID help If you say yes here you get support for the Winbond W836X7 series of sensor chips: the W83627HF, W83627THF, W83637HF, W83687THF and W83697HF. This driver can also be built as a module. If so, the module will be called w83627hf. config SENSORS_W83627EHF tristate "Winbond W83627EHF/EHG/DHG/UHG, W83667HG, NCT6775F, NCT6776F" depends on !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring functionality of the Winbond W83627EHF Super-I/O chip. This driver also supports the W83627EHG, which is the lead-free version of the W83627EHF, and the W83627DHG, which is a similar chip suited for specific Intel processors that use PECI such as the Core 2 Duo. And also the W83627UHG, which is a stripped down version of the W83627DHG (as far as hardware monitoring goes.) This driver also supports Nuvoton W83667HG, W83667HG-B, NCT6775F (also known as W83667HG-I), and NCT6776F. This driver can also be built as a module. If so, the module will be called w83627ehf. config SENSORS_WM831X tristate "WM831x PMICs" depends on MFD_WM831X help If you say yes here you get support for the hardware monitoring functionality of the Wolfson Microelectronics WM831x series of PMICs. This driver can also be built as a module. If so, the module will be called wm831x-hwmon. config SENSORS_WM8350 tristate "Wolfson Microelectronics WM835x" depends on MFD_WM8350 help If you say yes here you get support for the hardware monitoring features of the WM835x series of PMICs. This driver can also be built as a module. If so, the module will be called wm8350-hwmon. config SENSORS_ULTRA45 tristate "Sun Ultra45 PIC16F747" depends on SPARC64 help This driver provides support for the Ultra45 workstation environmental sensors. config SENSORS_APPLESMC tristate "Apple SMC (Motion sensor, light sensor, keyboard backlight)" depends on INPUT && X86 select NEW_LEDS select LEDS_CLASS select INPUT_POLLDEV default n help This driver provides support for the Apple System Management Controller, which provides an accelerometer (Apple Sudden Motion Sensor), light sensors, temperature sensors, keyboard backlight control and fan control. Only Intel-based Apple's computers are supported (MacBook Pro, MacBook, MacMini). Data from the different sensors, keyboard backlight control and fan control are accessible via sysfs. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. Say Y here if you have an applicable laptop and want to experience the awesome power of applesmc. config SENSORS_MC13783_ADC tristate "Freescale MC13783/MC13892 ADC" depends on MFD_MC13XXX help Support for the A/D converter on MC13783 and MC13892 PMIC. if ACPI comment "ACPI drivers" config SENSORS_ACPI_POWER tristate "ACPI 4.0 power meter" help This driver exposes ACPI 4.0 power meters as hardware monitoring devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware and a power meter. To compile this driver as a module, choose M here: the module will be called acpi_power_meter. config SENSORS_ATK0110 tristate "ASUS ATK0110" depends on X86 help If you say yes here you get support for the ACPI hardware monitoring interface found in many ASUS motherboards. This driver will provide readings of fans, voltages and temperatures through the system firmware. This driver can also be built as a module. If so, the module will be called asus_atk0110. endif # ACPI endif # HWMON # # PMBus chip drivers configuration # menuconfig PMBUS tristate "PMBus support" depends on I2C default n help Say yes here if you want to enable PMBus support. This driver can also be built as a module. If so, the module will be called pmbus_core. if PMBUS config SENSORS_PMBUS tristate "Generic PMBus devices" default y help If you say yes here you get hardware monitoring support for generic PMBus devices, including but not limited to ADP4000, BMR453, BMR454, MDT040, NCP4200, NCP4208, PDT003, PDT006, PDT012, UDT020, TPS40400, and TPS40422. This driver can also be built as a module. If so, the module will be called pmbus. config SENSORS_ADM1275 tristate "Analog Devices ADM1275 and compatibles" default n help If you say yes here you get hardware monitoring support for Analog Devices ADM1075, ADM1275, and ADM1276 Hot-Swap Controller and Digital Power Monitors. This driver can also be built as a module. If so, the module will be called adm1275. config SENSORS_LM25066 tristate "National Semiconductor LM25066 and compatibles" default n help If you say yes here you get hardware monitoring support for National Semiconductor LM25056, LM25066, LM5064, and LM5066. This driver can also be built as a module. If so, the module will be called lm25066. config SENSORS_LTC2978 tristate "Linear Technologies LTC2974, LTC2978, LTC3880, and LTC3883" default n help If you say yes here you get hardware monitoring support for Linear Technology LTC2974, LTC2978, LTC3880, and LTC3883. This driver can also be built as a module. If so, the module will be called ltc2978. config SENSORS_MAX16064 tristate "Maxim MAX16064" default n help If you say yes here you get hardware monitoring support for Maxim MAX16064. This driver can also be built as a module. If so, the module will be called max16064. config SENSORS_MAX34440 tristate "Maxim MAX34440 and compatibles" default n help If you say yes here you get hardware monitoring support for Maxim MAX34440, MAX34441, MAX34446, MAX34460, and MAX34461. This driver can also be built as a module. If so, the module will be called max34440. config SENSORS_MAX8688 tristate "Maxim MAX8688" default n help If you say yes here you get hardware monitoring support for Maxim MAX8688. This driver can also be built as a module. If so, the module will be called max8688. config SENSORS_UCD9000 tristate "TI UCD90120, UCD90124, UCD9090, UCD90910" default n help If you say yes here you get hardware monitoring support for TI UCD90120, UCD90124, UCD9090, UCD90910 Sequencer and System Health Controllers. This driver can also be built as a module. If so, the module will be called ucd9000. config SENSORS_UCD9200 tristate "TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, UCD9248" default n help If you say yes here you get hardware monitoring support for TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248 Digital PWM System Controllers. This driver can also be built as a module. If so, the module will be called ucd9200. config SENSORS_ZL6100 tristate "Intersil ZL6100 and compatibles" default n help If you say yes here you get hardware monitoring support for Intersil ZL2004, ZL2005, ZL2006, ZL2008, ZL2105, ZL2106, ZL6100, ZL6105, ZL9101M, and ZL9117M Digital DC/DC Controllers, as well as for Ericsson BMR450, BMR451, BMR462, BMR463, and BMR464. This driver can also be built as a module. If so, the module will be called zl6100. endif # PMBUS # # Generic HWSPINLOCK framework # # HWSPINLOCK always gets selected by whoever wants it. config HWSPINLOCK tristate menu "Hardware Spinlock drivers" config HWSPINLOCK_OMAP tristate "OMAP Hardware Spinlock device" depends on ARCH_OMAP4 || SOC_OMAP5 select HWSPINLOCK help Say y here to support the OMAP Hardware Spinlock device (firstly introduced in OMAP4). If unsure, say N. config HSEM_U8500 tristate "STE Hardware Semaphore functionality" depends on ARCH_U8500 select HWSPINLOCK help Say y here to support the STE Hardware Semaphore functionality, which provides a synchronisation mechanism for the various processor on the SoC. If unsure, say N. endmenu # # I2C subsystem configuration # menuconfig I2C tristate "I2C support" select RT_MUTEXES ---help--- I2C (pronounce: I-squared-C) is a slow serial bus protocol used in many micro controller applications and developed by Philips. SMBus, or System Management Bus is a subset of the I2C protocol. More information is contained in the directory , especially in the file called "summary" there. Both I2C and SMBus are supported here. You will need this for hardware sensors support, and also for Video For Linux support. If you want I2C support, you should say Y here and also to the specific driver for your bus adapter(s) below. This I2C support can also be built as a module. If so, the module will be called i2c-core. if I2C config I2C_BOARDINFO boolean default y config I2C_COMPAT boolean "Enable compatibility bits for old user-space" default y help Say Y here if you intend to run lm-sensors 3.1.1 or older, or any other user-space package which expects i2c adapters to be class devices. If you don't know, say Y. config I2C_CHARDEV tristate "I2C device interface" help Say Y here to use i2c-* device files, usually found in the /dev directory on your system. They make it possible to have user-space programs use the I2C bus. Information on how to do this is contained in the file . This support is also available as a module. If so, the module will be called i2c-dev. config I2C_MUX tristate "I2C bus multiplexing support" depends on HAS_IOMEM help Say Y here if you want the I2C core to support the ability to handle multiplexed I2C bus topologies, by presenting each multiplexed segment as a I2C adapter. This support is also available as a module. If so, the module will be called i2c-mux. source drivers/i2c/muxes/Kconfig config I2C_HELPER_AUTO bool "Autoselect pertinent helper modules" default y help Some I2C bus drivers require so-called "I2C algorithm" modules to work. These are basically software-only abstractions of generic I2C interfaces. This option will autoselect them so that you don't have to care. Unselect this only if you need to enable additional helper modules, for example for use with external I2C bus drivers. In doubt, say Y. config I2C_SMBUS tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO help Say Y here if you want support for SMBus extensions to the I2C specification. At the moment, the only supported extension is the SMBus alert protocol. This support is also available as a module. If so, the module will be called i2c-smbus. source drivers/i2c/algos/Kconfig source drivers/i2c/busses/Kconfig config I2C_STUB tristate "I2C/SMBus Test Stub" depends on m default 'n' help This module may be useful to developers of SMBus client drivers, especially for certain kinds of sensor chips. If you do build this module, be sure to read the notes and warnings in . If you don't know what to do here, definitely say N. config I2C_DEBUG_CORE bool "I2C Core debugging messages" help Say Y here if you want the I2C core to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. config I2C_DEBUG_ALGO bool "I2C Algorithm debugging messages" help Say Y here if you want the I2C algorithm drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. config I2C_DEBUG_BUS bool "I2C Bus debugging messages" depends on HAS_IOMEM help Say Y here if you want the I2C bus drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. endif # I2C # # I2C algorithm drivers configuration # menu "I2C Algorithms" visible if !I2C_HELPER_AUTO config I2C_ALGOBIT tristate "I2C bit-banging interfaces" config I2C_ALGOPCF tristate "I2C PCF 8584 interfaces" config I2C_ALGOPCA tristate "I2C PCA 9564 interfaces" endmenu # # Sensor device configuration # menu "I2C Hardware Bus support" depends on HAS_IOMEM comment "PC SMBus host controller drivers" depends on PCI config I2C_ALI1535 tristate "ALI 1535" depends on PCI help If you say yes to this option, support will be included for the SMB Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB controller is part of the 7101 device, which is an ACPI-compliant Power Management Unit (PMU). This driver can also be built as a module. If so, the module will be called i2c-ali1535. config I2C_ALI1563 tristate "ALI 1563" depends on PCI help If you say yes to this option, support will be included for the SMB Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB controller is part of the 7101 device, which is an ACPI-compliant Power Management Unit (PMU). This driver can also be built as a module. If so, the module will be called i2c-ali1563. config I2C_ALI15X3 tristate "ALI 15x3" depends on PCI help If you say yes to this option, support will be included for the Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. This driver can also be built as a module. If so, the module will be called i2c-ali15x3. config I2C_AMD756 tristate "AMD 756/766/768/8111 and nVidia nForce" depends on PCI help If you say yes to this option, support will be included for the AMD 756/766/768 mainboard I2C interfaces. The driver also includes support for the first (SMBus 1.0) I2C interface of the AMD 8111 and the nVidia nForce I2C interface. This driver can also be built as a module. If so, the module will be called i2c-amd756. config I2C_AMD756_S4882 tristate "SMBus multiplexing on the Tyan S4882" depends on I2C_AMD756 && X86 help Enabling this option will add specific SMBus support for the Tyan S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed over 8 different channels, where the various memory module EEPROMs and temperature sensors live. Saying yes here will give you access to these in addition to the trunk. This driver can also be built as a module. If so, the module will be called i2c-amd756-s4882. config I2C_AMD8111 tristate "AMD 8111" depends on PCI help If you say yes to this option, support will be included for the second (SMBus 2.0) AMD 8111 mainboard I2C interface. This driver can also be built as a module. If so, the module will be called i2c-amd8111. config I2C_I801 tristate "Intel 82801 (ICH/PCH)" depends on PCI select CHECK_SIGNATURE if X86 && DMI help If you say yes to this option, support will be included for the Intel 801 family of mainboard I2C interfaces. Specifically, the following versions of the chipset are supported: 82801AA 82801AB 82801BA 82801CA/CAM 82801DB 82801EB/ER (ICH5/ICH5R) 6300ESB ICH6 ICH7 ESB2 ICH8 ICH9 EP80579 (Tolapai) ICH10 5/3400 Series (PCH) 6 Series (PCH) Patsburg (PCH) DH89xxCC (PCH) Panther Point (PCH) Lynx Point (PCH) Lynx Point-LP (PCH) Avoton (SOC) Wellsburg (PCH) Coleto Creek (PCH) Wildcat Point-LP (PCH) This driver can also be built as a module. If so, the module will be called i2c-i801. config I2C_ISCH tristate "Intel SCH SMBus 1.0" depends on PCI select LPC_SCH help Say Y here if you want to use SMBus controller on the Intel SCH based systems. This driver can also be built as a module. If so, the module will be called i2c-isch. config I2C_ISMT tristate "Intel iSMT SMBus Controller" depends on PCI && X86 help If you say yes to this option, support will be included for the Intel iSMT SMBus host controller interface. This driver can also be built as a module. If so, the module will be called i2c-ismt. config I2C_PIIX4 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" depends on PCI help If you say yes to this option, support will be included for the Intel PIIX4 family of mainboard I2C interfaces. Specifically, the following versions of the chipset are supported (note that Serverworks is part of Broadcom): Intel PIIX4 Intel 440MX ATI IXP200 ATI IXP300 ATI IXP400 ATI SB600 ATI SB700/SP5100 ATI SB800 AMD Hudson-2 AMD ML AMD CZ Serverworks OSB4 Serverworks CSB5 Serverworks CSB6 Serverworks HT-1000 Serverworks HT-1100 SMSC Victory66 Some AMD chipsets contain two PIIX4-compatible SMBus controllers. This driver will attempt to use both controllers on the SB700/SP5100, if they have been initialized by the BIOS. This driver can also be built as a module. If so, the module will be called i2c-piix4. config I2C_NFORCE2 tristate "Nvidia nForce2, nForce3 and nForce4" depends on PCI help If you say yes to this option, support will be included for the Nvidia nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. This driver can also be built as a module. If so, the module will be called i2c-nforce2. config I2C_NFORCE2_S4985 tristate "SMBus multiplexing on the Tyan S4985" depends on I2C_NFORCE2 && X86 help Enabling this option will add specific SMBus support for the Tyan S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed over 4 different channels, where the various memory module EEPROMs live. Saying yes here will give you access to these in addition to the trunk. This driver can also be built as a module. If so, the module will be called i2c-nforce2-s4985. config I2C_SIS5595 tristate "SiS 5595" depends on PCI help If you say yes to this option, support will be included for the SiS5595 SMBus (a subset of I2C) interface. This driver can also be built as a module. If so, the module will be called i2c-sis5595. config I2C_SIS630 tristate "SiS 630/730/964" depends on PCI help If you say yes to this option, support will be included for the SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. This driver can also be built as a module. If so, the module will be called i2c-sis630. config I2C_SIS96X tristate "SiS 96x" depends on PCI help If you say yes to this option, support will be included for the SiS 96x SMBus (a subset of I2C) interfaces. Specifically, the following chipsets are supported: 645/961 645DX/961 645DX/962 648/961 650/961 735 745 This driver can also be built as a module. If so, the module will be called i2c-sis96x. config I2C_VIA tristate "VIA VT82C586B" depends on PCI select I2C_ALGOBIT help If you say yes to this option, support will be included for the VIA 82C586B I2C interface This driver can also be built as a module. If so, the module will be called i2c-via. config I2C_VIAPRO tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" depends on PCI help If you say yes to this option, support will be included for the VIA VT82C596 and later SMBus interface. Specifically, the following chipsets are supported: VT82C596A/B VT82C686A/B VT8231 VT8233/A VT8235 VT8237R/A/S VT8251 CX700 VX800/VX820 VX855/VX875 VX900 This driver can also be built as a module. If so, the module will be called i2c-viapro. if ACPI comment "ACPI drivers" config I2C_SCMI tristate "SMBus Control Method Interface" help This driver supports the SMBus Control Method Interface. It needs the BIOS to declare ACPI control methods as described in the SMBus Control Method Interface specification. To compile this driver as a module, choose M here: the module will be called i2c-scmi. endif # ACPI comment "Mac SMBus host controller drivers" depends on PPC_CHRP || PPC_PMAC config I2C_HYDRA tristate "CHRP Apple Hydra Mac I/O I2C interface" depends on PCI && PPC_CHRP select I2C_ALGOBIT help This supports the use of the I2C interface in the Apple Hydra Mac I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you have such a machine. This support is also available as a module. If so, the module will be called i2c-hydra. config I2C_POWERMAC tristate "Powermac I2C interface" depends on PPC_PMAC default y help This exposes the various PowerMac i2c interfaces to the linux i2c layer and to userland. It is used by various drivers on the PowerMac platform, and should generally be enabled. This support is also available as a module. If so, the module will be called i2c-powermac. comment "I2C system bus drivers (mostly embedded / system-on-chip)" config I2C_AT91 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" depends on ARCH_AT91 help This supports the use of the I2C interface on Atmel AT91 processors. A serious problem is that there is no documented way to issue repeated START conditions for more than two messages, as needed to support combined I2C messages. Use the i2c-gpio driver unless your system can cope with this limitation. Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices don't have clock stretching in transmission mode. For that reason, you can encounter underrun issues causing premature stop sendings if the latency to fill the transmission register is too long. If you are facing this situation, use the i2c-gpio driver. config I2C_AU1550 tristate "Au1550/Au1200/Au1300 SMBus interface" depends on MIPS_ALCHEMY help If you say yes to this option, support will be included for the Au1550/Au1200/Au1300 SMBus interface. This driver can also be built as a module. If so, the module will be called i2c-au1550. config I2C_BCM2835 tristate "Broadcom BCM2835 I2C controller" depends on ARCH_BCM2835 help If you say yes to this option, support will be included for the BCM2835 I2C controller. If you don't know what to do here, say N. This support is also available as a module. If so, the module will be called i2c-bcm2835. config I2C_BCM_KONA tristate "BCM Kona I2C adapter" depends on ARCH_BCM_MOBILE default y help If you say yes to this option, support will be included for the I2C interface on the Broadcom Kona family of processors. If you do not need KONA I2C inteface, say N. config I2C_BLACKFIN_TWI tristate "Blackfin TWI I2C support" depends on BLACKFIN depends on !BF561 && !BF531 && !BF532 && !BF533 help This is the I2C bus driver for Blackfin on-chip TWI interface. This driver can also be built as a module. If so, the module will be called i2c-bfin-twi. config I2C_BLACKFIN_TWI_CLK_KHZ int "Blackfin TWI I2C clock (kHz)" depends on I2C_BLACKFIN_TWI range 21 400 default 50 help The unit of the TWI clock is kHz. config I2C_CBUS_GPIO tristate "CBUS I2C driver" depends on GPIOLIB help Support for CBUS access using I2C API. Mostly relevant for Nokia Internet Tablets (770, N800 and N810). This driver can also be built as a module. If so, the module will be called i2c-cbus-gpio. config I2C_CPM tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" depends on (CPM1 || CPM2) && OF_I2C help This supports the use of the I2C interface on Freescale processors with CPM1 or CPM2. This driver can also be built as a module. If so, the module will be called i2c-cpm. config I2C_DAVINCI tristate "DaVinci I2C driver" depends on ARCH_DAVINCI || ARCH_KEYSTONE help Support for TI DaVinci I2C controller driver. This driver can also be built as a module. If so, the module will be called i2c-davinci. Please note that this driver might be needed to bring up other devices such as DaVinci NIC. For details please see http://www.ti.com/davinci config I2C_DESIGNWARE_CORE tristate config I2C_DESIGNWARE_PLATFORM tristate "Synopsys DesignWare Platform" depends on HAVE_CLK select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. Only master mode is supported. This driver can also be built as a module. If so, the module will be called i2c-designware-platform. config I2C_DESIGNWARE_PCI tristate "Synopsys DesignWare PCI" depends on PCI select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. Only master mode is supported. This driver can also be built as a module. If so, the module will be called i2c-designware-pci. config I2C_EG20T tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" depends on PCI help This driver is for PCH(Platform controller Hub) I2C of EG20T which is an IOH(Input/Output Hub) for x86 embedded processor. This driver can access PCH I2C bus device. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config I2C_EXYNOS5 tristate "Exynos5 high-speed I2C driver" depends on ARCH_EXYNOS5 && OF help Say Y here to include support for high-speed I2C controller in the Exynos5 based Samsung SoCs. config I2C_GPIO tristate "GPIO-based bitbanging I2C" depends on GPIOLIB select I2C_ALGOBIT help This is a very simple bitbanging I2C driver utilizing the arch-neutral GPIO API to control the SCL and SDA lines. config I2C_HIGHLANDER tristate "Highlander FPGA SMBus interface" depends on SH_HIGHLANDER help If you say yes to this option, support will be included for the SMBus interface located in the FPGA on various Highlander boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL FPGAs. This is wholly unrelated to the SoC I2C. This driver can also be built as a module. If so, the module will be called i2c-highlander. config I2C_IBM_IIC tristate "IBM PPC 4xx on-chip I2C interface" depends on 4xx help Say Y here if you want to use IIC peripheral found on embedded IBM PPC 4xx based systems. This driver can also be built as a module. If so, the module will be called i2c-ibm_iic. config I2C_IMX tristate "IMX I2C interface" depends on ARCH_MXC help Say Y here if you want to use the IIC bus controller on the Freescale i.MX/MXC processors. This driver can also be built as a module. If so, the module will be called i2c-imx. config I2C_IOP3XX tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX help Say Y here if you want to use the IIC bus controller on the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. This driver can also be built as a module. If so, the module will be called i2c-iop3xx. config I2C_KEMPLD tristate "Kontron COM I2C Controller" depends on MFD_KEMPLD help This enables support for the I2C bus interface on some Kontron ETX and COMexpress (ETXexpress) modules. This driver can also be built as a module. If so, the module will be called i2c-kempld. config I2C_MPC tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" depends on PPC help If you say yes to this option, support will be included for the built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. This driver can also be built as a module. If so, the module will be called i2c-mpc. config I2C_MV64XXX tristate "Marvell mv64xxx I2C Controller" depends on (MV64X60 || PLAT_ORION || ARCH_SUNXI) help If you say yes to this option, support will be included for the built-in I2C interface on the Marvell 64xxx line of host bridges. This driver is also used for Allwinner SoCs I2C controllers. This driver can also be built as a module. If so, the module will be called i2c-mv64xxx. config I2C_MXS tristate "Freescale i.MX28 I2C interface" depends on SOC_IMX28 select STMP_DEVICE help Say Y here if you want to use the I2C bus controller on the Freescale i.MX28 processors. This driver can also be built as a module. If so, the module will be called i2c-mxs. config I2C_NOMADIK tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" depends on ARM_AMBA help If you say yes to this option, support will be included for the I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, as well as the STA2X11 PCIe I/O HUB. config I2C_NUC900 tristate "NUC900 I2C Driver" depends on ARCH_W90X900 help Say Y here to include support for I2C controller in the Winbond/Nuvoton NUC900 based System-on-Chip devices. config I2C_OCORES tristate "OpenCores I2C Controller" help If you say yes to this option, support will be included for the OpenCores I2C controller. For details see http://www.opencores.org/projects.cgi/web/i2c/overview This driver can also be built as a module. If so, the module will be called i2c-ocores. config I2C_OMAP tristate "OMAP I2C adapter" depends on ARCH_OMAP default y if MACH_OMAP_H3 || MACH_OMAP_OSK help If you say yes to this option, support will be included for the I2C interface on the Texas Instruments OMAP1/2 family of processors. Like OMAP1510/1610/1710/5912 and OMAP242x. For details see http://www.ti.com/omap. config I2C_PASEMI tristate "PA Semi SMBus interface" depends on PPC_PASEMI && PCI help Supports the PA Semi PWRficient on-chip SMBus interfaces. config I2C_PCA_PLATFORM tristate "PCA9564/PCA9665 as platform device" select I2C_ALGOPCA default n help This driver supports a memory mapped Philips PCA9564/PCA9665 parallel bus to I2C bus controller. This driver can also be built as a module. If so, the module will be called i2c-pca-platform. config I2C_PMCMSP tristate "PMC MSP I2C TWI Controller" depends on PMC_MSP help This driver supports the PMC TWI controller on MSP devices. This driver can also be built as module. If so, the module will be called i2c-pmcmsp. config I2C_PNX tristate "I2C bus support for Philips PNX and NXP LPC targets" depends on ARCH_LPC32XX help This driver supports the Philips IP3204 I2C IP block master and/or slave controller This driver can also be built as a module. If so, the module will be called i2c-pnx. config I2C_PUV3 tristate "PKUnity v3 I2C bus support" depends on UNICORE32 && ARCH_PUV3 select I2C_ALGOBIT help This driver supports the I2C IP inside the PKUnity-v3 SoC. This I2C bus controller is under AMBA/AXI bus. This driver can also be built as a module. If so, the module will be called i2c-puv3. config I2C_PXA tristate "Intel PXA2XX I2C adapter" depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF) help If you have devices in the PXA I2C bus, say yes to this option. This driver can also be built as a module. If so, the module will be called i2c-pxa. config I2C_PXA_PCI def_bool I2C_PXA && X86_32 && PCI && OF config I2C_PXA_SLAVE bool "Intel PXA2XX I2C Slave comms support" depends on I2C_PXA && !X86_32 help Support I2C slave mode communications on the PXA I2C bus. This is necessary for systems where the PXA may be a target on the I2C bus. config HAVE_S3C2410_I2C bool help This will include I2C support for Samsung SoCs. If you want to include I2C support for any machine, kindly select this in the respective Kconfig file. config I2C_S3C2410 tristate "S3C2410 I2C Driver" depends on HAVE_S3C2410_I2C help Say Y here to include support for I2C controller in the Samsung SoCs. config I2C_S6000 tristate "S6000 I2C support" depends on XTENSA_VARIANT_S6000 help This driver supports the on chip I2C device on the S6000 xtensa processor family. To compile this driver as a module, choose M here. The module will be called i2c-s6000. config I2C_SH7760 tristate "Renesas SH7760 I2C Controller" depends on CPU_SUBTYPE_SH7760 help This driver supports the 2 I2C interfaces on the Renesas SH7760. This driver can also be built as a module. If so, the module will be called i2c-sh7760. config I2C_SH_MOBILE tristate "SuperH Mobile I2C Controller" depends on SUPERH || ARM || COMPILE_TEST help If you say yes to this option, support will be included for the built-in I2C interface on the Renesas SH-Mobile processor. This driver can also be built as a module. If so, the module will be called i2c-sh_mobile. config I2C_SIMTEC tristate "Simtec Generic I2C interface" select I2C_ALGOBIT help If you say yes to this option, support will be included for the Simtec Generic I2C interface. This driver is for the simple I2C bus used on newer Simtec products for general I2C, such as DDC on the Simtec BBD2016A. This driver can also be built as a module. If so, the module will be called i2c-simtec. config I2C_SIRF tristate "CSR SiRFprimaII I2C interface" depends on ARCH_SIRF help If you say yes to this option, support will be included for the CSR SiRFprimaII I2C interface. This driver can also be built as a module. If so, the module will be called i2c-sirf. config I2C_ST tristate "STMicroelectronics SSC I2C support" depends on ARCH_STI help Enable this option to add support for STMicroelectronics SoCs hardware SSC (Synchronous Serial Controller) as an I2C controller. This driver can also be built as module. If so, the module will be called i2c-st. config I2C_STU300 tristate "ST Microelectronics DDC I2C interface" depends on MACH_U300 default y if MACH_U300 help If you say yes to this option, support will be included for the I2C interface from ST Microelectronics simply called "DDC I2C" supporting both I2C and DDC, used in e.g. the U300 series mobile platforms. This driver can also be built as a module. If so, the module will be called i2c-stu300. config I2C_TEGRA tristate "NVIDIA Tegra internal I2C controller" depends on ARCH_TEGRA help If you say yes to this option, support will be included for the I2C controller embedded in NVIDIA Tegra SOCs config I2C_VERSATILE tristate "ARM Versatile/Realview I2C bus support" depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS select I2C_ALGOBIT help Say yes if you want to support the I2C serial bus on ARMs Versatile range of platforms. This driver can also be built as a module. If so, the module will be called i2c-versatile. config I2C_WMT tristate "Wondermedia WM8xxx SoC I2C bus support" depends on ARCH_VT8500 help Say yes if you want to support the I2C bus on Wondermedia 8xxx-series SoCs. This driver can also be built as a module. If so, the module will be called i2c-wmt. config I2C_OCTEON tristate "Cavium OCTEON I2C bus support" depends on CAVIUM_OCTEON_SOC help Say yes if you want to support the I2C serial bus on Cavium OCTEON SOC. This driver can also be built as a module. If so, the module will be called i2c-octeon. config I2C_XILINX tristate "Xilinx I2C Controller" depends on HAS_IOMEM help If you say yes to this option, support will be included for the Xilinx I2C controller. This driver can also be built as a module. If so, the module will be called xilinx_i2c. config I2C_XLR tristate "XLR I2C support" depends on CPU_XLR help This driver enables support for the on-chip I2C interface of the Netlogic XLR/XLS MIPS processors. This driver can also be built as a module. If so, the module will be called i2c-xlr. config I2C_RCAR tristate "Renesas R-Car I2C Controller" depends on ARM || COMPILE_TEST help If you say yes to this option, support will be included for the R-Car I2C controller. This driver can also be built as a module. If so, the module will be called i2c-rcar. comment "External I2C/SMBus adapter drivers" config I2C_DIOLAN_U2C tristate "Diolan U2C-12 USB adapter" depends on USB help If you say yes to this option, support will be included for Diolan U2C-12, a USB to I2C interface. This driver can also be built as a module. If so, the module will be called i2c-diolan-u2c. config I2C_PARPORT tristate "Parallel port adapter" depends on PARPORT select I2C_ALGOBIT select I2C_SMBUS help This supports parallel port I2C adapters such as the ones made by Philips or Velleman, Analog Devices evaluation boards, and more. Basically any adapter using the parallel port as an I2C bus with no extra chipset is supported by this driver, or could be. This driver is a replacement for (and was inspired by) an older driver named i2c-philips-par. The new driver supports more devices, and makes it easier to add support for new devices. An adapter type parameter is now mandatory. Please read the file Documentation/i2c/busses/i2c-parport for details. Another driver exists, named i2c-parport-light, which doesn't depend on the parport driver. This is meant for embedded systems. Don't say Y here if you intend to say Y or M there. This support is also available as a module. If so, the module will be called i2c-parport. config I2C_PARPORT_LIGHT tristate "Parallel port adapter (light)" select I2C_ALGOBIT select I2C_SMBUS help This supports parallel port I2C adapters such as the ones made by Philips or Velleman, Analog Devices evaluation boards, and more. Basically any adapter using the parallel port as an I2C bus with no extra chipset is supported by this driver, or could be. This driver is a light version of i2c-parport. It doesn't depend on the parport driver, and uses direct I/O access instead. This might be preferred on embedded systems where wasting memory for the clean but heavy parport handling is not an option. The drawback is a reduced portability and the impossibility to daisy-chain other parallel port devices. Don't say Y here if you said Y or M to i2c-parport. Saying M to both is possible but both modules should not be loaded at the same time. This support is also available as a module. If so, the module will be called i2c-parport-light. config I2C_TAOS_EVM tristate "TAOS evaluation module" depends on TTY select SERIO select SERIO_SERPORT default n help This supports TAOS evaluation modules on serial port. In order to use this driver, you will need the inputattach tool, which is part of the input-utils package. If unsure, say N. This support is also available as a module. If so, the module will be called i2c-taos-evm. config I2C_TINY_USB tristate "Tiny-USB adapter" depends on USB help If you say yes to this option, support will be included for the i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See http://www.harbaum.org/till/i2c_tiny_usb for hardware details. This driver can also be built as a module. If so, the module will be called i2c-tiny-usb. config I2C_VIPERBOARD tristate "Viperboard I2C master support" depends on MFD_VIPERBOARD && USB help Say yes here to access the I2C part of the Nano River Technologies Viperboard as I2C master. See viperboard API specification and Nano River Tech's viperboard.h for detailed meaning of the module parameters. comment "Other I2C/SMBus bus drivers" config I2C_ACORN tristate "Acorn IOC/IOMD I2C bus support" depends on ARCH_ACORN default y select I2C_ALGOBIT help Say yes if you want to support the I2C bus on Acorn platforms. If you don't know, say Y. config I2C_ELEKTOR tristate "Elektor ISA card" depends on ISA && HAS_IOPORT && BROKEN_ON_SMP select I2C_ALGOPCF help This supports the PCF8584 ISA bus I2C adapter. Say Y if you own such an adapter. This support is also available as a module. If so, the module will be called i2c-elektor. config I2C_PCA_ISA tristate "PCA9564/PCA9665 on an ISA bus" depends on ISA select I2C_ALGOPCA default n help This driver supports ISA boards using the Philips PCA9564/PCA9665 parallel bus to I2C bus controller. This driver can also be built as a module. If so, the module will be called i2c-pca-isa. This device is almost undetectable and using this driver on a system which doesn't have this device will result in long delays when I2C/SMBus chip drivers are loaded (e.g. at boot time). If unsure, say N. config I2C_SIBYTE tristate "SiByte SMBus interface" depends on SIBYTE_SB1xxx_SOC help Supports the SiByte SOC on-chip I2C interfaces (2 channels). config SCx200_I2C tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)" depends on SCx200_GPIO select I2C_ALGOBIT help Enable the use of two GPIO pins of a SCx200 processor as an I2C bus. If you don't know what to do here, say N. This support is also available as a module. If so, the module will be called scx200_i2c. This driver is deprecated and will be dropped soon. Use i2c-gpio (or scx200_acb) instead. config SCx200_I2C_SCL int "GPIO pin used for SCL" depends on SCx200_I2C default "12" help Enter the GPIO pin number used for the SCL signal. This value can also be specified with a module parameter. config SCx200_I2C_SDA int "GPIO pin used for SDA" depends on SCx200_I2C default "13" help Enter the GPIO pin number used for the SSA signal. This value can also be specified with a module parameter. config SCx200_ACB tristate "Geode ACCESS.bus support" depends on X86_32 && PCI help Enable the use of the ACCESS.bus controllers on the Geode SCx200 and SC1100 processors and the CS5535 and CS5536 Geode companion devices. If you don't know what to do here, say N. This support is also available as a module. If so, the module will be called scx200_acb. endmenu # # Multiplexer I2C chip drivers configuration # menu "Multiplexer I2C Chip support" depends on I2C_MUX config I2C_ARB_GPIO_CHALLENGE tristate "GPIO-based I2C arbitration" depends on GPIOLIB && OF help If you say yes to this option, support will be included for an I2C multimaster arbitration scheme using GPIOs and a challenge & response mechanism where masters have to claim the bus by asserting a GPIO. This driver can also be built as a module. If so, the module will be called i2c-arb-gpio-challenge. config I2C_MUX_GPIO tristate "GPIO-based I2C multiplexer" depends on GPIOLIB help If you say yes to this option, support will be included for a GPIO based I2C multiplexer. This driver provides access to I2C busses connected through a MUX, which is controlled through GPIO pins. This driver can also be built as a module. If so, the module will be called i2c-mux-gpio. config I2C_MUX_PCA9541 tristate "NXP PCA9541 I2C Master Selector" help If you say yes here you get support for the NXP PCA9541 I2C Master Selector. This driver can also be built as a module. If so, the module will be called i2c-mux-pca9541. config I2C_MUX_PCA954x tristate "Philips PCA954x I2C Mux/switches" help If you say yes here you get support for the Philips PCA954x I2C mux/switch devices. This driver can also be built as a module. If so, the module will be called i2c-mux-pca954x. config I2C_MUX_PINCTRL tristate "pinctrl-based I2C multiplexer" depends on PINCTRL help If you say yes to this option, support will be included for an I2C multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. This is useful for SoCs whose I2C module's signals can be routed to different sets of pins at run-time. This driver can also be built as a module. If so, the module will be called pinctrl-i2cmux. endmenu # # IDE ATA ATAPI Block device driver configuration # # Select HAVE_IDE if IDE is supported config HAVE_IDE bool menuconfig IDE tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)" depends on HAVE_IDE depends on BLOCK ---help--- If you say Y here, your kernel will be able to manage ATA/(E)IDE and ATAPI units. The most common cases are IDE hard drives and ATAPI CD-ROM drives. This subsystem is currently in maintenance mode with only bug fix changes applied. Users of ATA hardware are encouraged to migrate to the newer ATA subsystem ("Serial ATA (prod) and Parallel ATA (experimental) drivers") which is more actively maintained. To compile this driver as a module, choose M here: the module will be called ide-core. For further information, please read . If unsure, say N. if IDE comment "Please see Documentation/ide/ide.txt for help/info on IDE drives" config IDE_XFER_MODE bool config IDE_TIMINGS bool select IDE_XFER_MODE config IDE_ATAPI bool config IDE_LEGACY bool config BLK_DEV_IDE_SATA bool "Support for SATA (deprecated; conflicts with libata SATA driver)" default n ---help--- There are two drivers for Serial ATA controllers. The main driver, "libata", uses the SCSI subsystem and supports most modern SATA controllers. In order to use it you may take a look at "Serial ATA (prod) and Parallel ATA (experimental) drivers". The IDE driver (which you are currently configuring) supports a few first-generation SATA controllers. In order to eliminate conflicts between the two subsystems, this config option enables the IDE driver's SATA support. Normally this is disabled, as it is preferred that libata supports SATA controllers, and this (IDE) driver supports PATA controllers. If unsure, say N. config IDE_GD tristate "generic ATA/ATAPI disk support" default y help Support for ATA/ATAPI disks (including ATAPI floppy drives). To compile this driver as a module, choose M here. The module will be called ide-gd_mod. If unsure, say Y. config IDE_GD_ATA bool "ATA disk support" depends on IDE_GD default y help This will include support for ATA hard disks. If unsure, say Y. config IDE_GD_ATAPI bool "ATAPI floppy support" depends on IDE_GD select IDE_ATAPI help This will include support for ATAPI floppy drives (i.e. Iomega ZIP or MKE LS-120). For information about jumper settings and the question of when a ZIP drive uses a partition table, see . If unsure, say N. config BLK_DEV_IDECS tristate "PCMCIA IDE support" depends on PCMCIA help Support for Compact Flash cards, outboard IDE disks, tape drives, and CD-ROM drives connected through a PCMCIA card. config BLK_DEV_DELKIN tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" depends on CARDBUS && PCI help Support for Delkin, ASKA, and Workbit Cardbus CompactFlash Adapters. This may also work for similar SD and XD adapters. config BLK_DEV_IDECD tristate "Include IDE/ATAPI CDROM support" select IDE_ATAPI ---help--- If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is a newer protocol used by IDE CD-ROM and TAPE drives, similar to the SCSI protocol. Most new CD-ROM drives use ATAPI, including the NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI double(2X) or better speed drives. If you say Y here, the CD-ROM drive will be identified at boot time along with other IDE devices, as "hdb" or "hdc", or something similar (check the boot messages with dmesg). If this is your only CD-ROM drive, you can say N to all other CD-ROM options, but be sure to say Y or M to "ISO 9660 CD-ROM file system support". To compile this driver as a module, choose M here: the module will be called ide-cd. config BLK_DEV_IDECD_VERBOSE_ERRORS bool "Verbose error logging for IDE/ATAPI CDROM driver" if EXPERT depends on BLK_DEV_IDECD default y help Turn this on to have the driver print out the meanings of the ATAPI error codes. This will use up additional 8kB of kernel-space memory, though. config BLK_DEV_IDETAPE tristate "Include IDE/ATAPI TAPE support" select IDE_ATAPI help If you have an IDE tape drive using the ATAPI protocol, say Y. ATAPI is a newer protocol used by IDE tape and CD-ROM drives, similar to the SCSI protocol. If you have an SCSI tape drive however, you can say N here. You should also say Y if you have an OnStream DI-30 tape drive; this will not work with the SCSI protocol, until there is support for the SC-30 and SC-50 versions. If you say Y here, the tape drive will be identified at boot time along with other IDE devices, as "hdb" or "hdc", or something similar, and will be mapped to a character device such as "ht0" (check the boot messages with dmesg). Be sure to consult the and files for usage information. To compile this driver as a module, choose M here: the module will be called ide-tape. config BLK_DEV_IDEACPI bool "IDE ACPI support" depends on ACPI ---help--- Implement ACPI support for generic IDE devices. On modern machines ACPI support is required to properly handle ACPI S3 states. config IDE_TASK_IOCTL bool "IDE Taskfile Access" help This is a direct raw access to the media. It is a complex but elegant solution to test and validate the domain of the hardware and perform below the driver data recovery if needed. This is the most basic form of media-forensics. If you are unsure, say N here. config IDE_PROC_FS bool "legacy /proc/ide/ support" depends on IDE && PROC_FS default y help This option enables support for the various files in /proc/ide. In Linux 2.6 this has been superseded by files in sysfs but many legacy applications rely on this. If unsure say Y. comment "IDE chipset support/bugfixes" config IDE_GENERIC tristate "generic/default IDE chipset support" depends on ALPHA || X86 || IA64 || M32R || MIPS || ARCH_RPC default ARM && ARCH_RPC help This is the generic IDE driver. This driver attaches to the fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and so on). Please note that if this driver is built into the kernel or loaded before other ATA (IDE or libata) drivers and the controller is located at legacy ports, this driver may grab those ports and thus can prevent the controller specific driver from attaching. Also, currently, IDE generic doesn't allow IRQ sharing meaning that the IRQs it grabs won't be available to other controllers sharing those IRQs which usually makes drivers for those controllers fail. Generally, it's not a good idea to load IDE generic driver on modern systems. If unsure, say N. config BLK_DEV_PLATFORM tristate "Platform driver for IDE interfaces" help This is the platform IDE driver, used mostly for Memory Mapped IDE devices, like Compact Flashes running in True IDE mode. If unsure, say N. config BLK_DEV_CMD640 tristate "CMD640 chipset bugfix/support" depends on X86 select IDE_TIMINGS ---help--- The CMD-Technologies CMD640 IDE chip is used on many common 486 and Pentium motherboards, usually in combination with a "Neptune" or "SiS" chipset. Unfortunately, it has a number of rather nasty design flaws that can cause severe data corruption under many common conditions. Say Y here to include code which tries to automatically detect and correct the problems under Linux. This option also enables access to the secondary IDE ports in some CMD640 based systems. This driver will work automatically in PCI based systems (most new systems have PCI slots). But if your system uses VESA local bus (VLB) instead of PCI, you must also supply a kernel boot parameter to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel.) The CMD640 chip is also used on add-in cards by Acculogic, and on the "CSA-6400E PCI to IDE controller" that some people have. For details, read . config BLK_DEV_CMD640_ENHANCED bool "CMD640 enhanced support" depends on BLK_DEV_CMD640 help This option includes support for setting/autotuning PIO modes and prefetch on CMD640 IDE interfaces. For details, read . If you have a CMD640 IDE interface and your BIOS does not already do this for you, then say Y here. Otherwise say N. config BLK_DEV_IDEPNP tristate "PNP EIDE support" depends on PNP help If you have a PnP (Plug and Play) compatible EIDE card and would like the kernel to automatically detect and activate it, say Y here. config BLK_DEV_IDEDMA_SFF bool if PCI comment "PCI IDE chipsets support" config BLK_DEV_IDEPCI bool config IDEPCI_PCIBUS_ORDER bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)" depends on IDE=y && BLK_DEV_IDEPCI default y help Probe IDE PCI devices in the order in which they appear on the PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device) instead of the order in which IDE PCI host drivers are loaded. Please note that this method of assuring stable naming of IDE devices is unreliable and use other means for achieving it (i.e. udev). If in doubt, say N. # TODO: split it on per host driver config options (or module parameters) config BLK_DEV_OFFBOARD bool "Boot off-board chipsets first support (DEPRECATED)" depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001) help Normally, IDE controllers built into the motherboard (on-board controllers) are assigned to ide0 and ide1 while those on add-in PCI cards (off-board controllers) are relegated to ide2 and ide3. Answering Y here will allow you to reverse the situation, with off-board controllers on ide0/1 and on-board controllers on ide2/3. This can improve the usability of some boot managers such as lilo when booting from a drive on an off-board controller. Note that, if you do this, the order of the hd* devices will be rearranged which may require modification of fstab and other files. Please also note that this method of assuring stable naming of IDE devices is unreliable and use other means for achieving it (i.e. udev). If in doubt, say N. config BLK_DEV_GENERIC tristate "Generic PCI IDE Chipset Support" select BLK_DEV_IDEPCI help This option provides generic support for various PCI IDE Chipsets which otherwise might not be supported. config BLK_DEV_OPTI621 tristate "OPTi 82C621 chipset enhanced support" select BLK_DEV_IDEPCI help This is a driver for the OPTi 82C621 EIDE controller. Please read the comments at the top of . config BLK_DEV_RZ1000 tristate "RZ1000 chipset bugfix/support" depends on X86 select BLK_DEV_IDEPCI help The PC-Technologies RZ1000 IDE chip is used on many common 486 and Pentium motherboards, usually along with the "Neptune" chipset. Unfortunately, it has a rather nasty design flaw that can cause severe data corruption under many conditions. Say Y here to include code which automatically detects and corrects the problem under Linux. This may slow disk throughput by a few percent, but at least things will operate 100% reliably. config BLK_DEV_IDEDMA_PCI bool select BLK_DEV_IDEPCI select BLK_DEV_IDEDMA_SFF config BLK_DEV_AEC62XX tristate "AEC62XX chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for Acard AEC62xx (Artop ATP8xx) IDE controllers. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_ALI15X3 tristate "ALI M15x3 chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C onboard chipsets. It also tests for Simplex mode and enables normal dual channel support. Please read the comments at the top of . If unsure, say N. config BLK_DEV_AMD74XX tristate "AMD and nVidia IDE support" depends on !ARM select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for AMD-7xx and AMD-8111 chips and also for the nVidia nForce chip. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_ATIIXP tristate "ATI IXP chipset IDE support" depends on X86 select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for ATI IXP chipset. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. Say Y here if you have an ATI IXP chipset IDE controller. config BLK_DEV_CMD64X tristate "CMD64{3|6|8|9} chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help Say Y here if you have an IDE controller which uses any of these chipsets: CMD643, CMD646, or CMD648. config BLK_DEV_TRIFLEX tristate "Compaq Triflex IDE support" select BLK_DEV_IDEDMA_PCI help Say Y here if you have a Compaq Triflex IDE controller, such as those commonly found on Compaq Pentium-Pro systems config BLK_DEV_CY82C693 tristate "CY82C693 chipset support" depends on ALPHA select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds detection and support for the CY82C693 chipset used on Digital's PC-Alpha 164SX boards. config BLK_DEV_CS5520 tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)" select BLK_DEV_IDEDMA_PCI help Include support for PIO tuning and virtual DMA on the Cyrix MediaGX 5510/5520 chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5530 tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support" select BLK_DEV_IDEDMA_PCI help Include support for UDMA on the Cyrix MediaGX 5530 chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5535 tristate "AMD CS5535 chipset support" depends on X86 && !X86_64 select BLK_DEV_IDEDMA_PCI help Include support for UDMA on the NSC/AMD CS5535 companion chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5536 tristate "CS5536 chipset support" depends on X86_32 select BLK_DEV_IDEDMA_PCI help This option enables support for the AMD CS5536 companion chip used with the Geode LX processor family. If unsure, say N. config BLK_DEV_HPT366 tristate "HPT36X/37X chipset support" select BLK_DEV_IDEDMA_PCI help HPT366 is an Ultra DMA chipset for ATA-66. HPT368 is an Ultra DMA chipset for ATA-66 RAID Based. HPT370 is an Ultra DMA chipset for ATA-100. HPT372 is an Ultra DMA chipset for ATA-100. HPT374 is an Ultra DMA chipset for ATA-100. This driver adds up to 4 more EIDE devices sharing a single interrupt. The HPT366 chipset in its current form is bootable. One solution for this problem are special LILO commands for redirecting the reference to device 0x80. The other solution is to say Y to "Boot off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless your mother board has the chipset natively mounted. Regardless one should use the fore mentioned option and call at LILO. This driver requires dynamic tuning of the chipset during the ide-probe at boot. It is reported to support DVD II drives, by the manufacturer. config BLK_DEV_JMICRON tristate "JMicron JMB36x support" select BLK_DEV_IDEDMA_PCI help Basic support for the JMicron ATA controllers. For full support use the libata drivers. config BLK_DEV_SC1200 tristate "National SCx200 chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the on-board IDE controller on the National SCx200 series of embedded x86 "Geode" systems. config BLK_DEV_PIIX tristate "Intel PIIX/ICH chipsets support" select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for Intel PIIX and ICH chips. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_IT8172 tristate "IT8172 IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the IDE controller on the IT8172 System Controller. config BLK_DEV_IT8213 tristate "IT8213 IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the ITE 8213 IDE controller. config BLK_DEV_IT821X tristate "IT821X IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the ITE 8211 IDE controller and the IT 8212 IDE RAID controller in both RAID and pass-through mode. config BLK_DEV_NS87415 tristate "NS87415 chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds detection and support for the NS87415 chip (used mainly on SPARC64 and PA-RISC machines). Please read the comments at the top of . config BLK_DEV_PDC202XX_OLD tristate "PROMISE PDC202{46|62|65|67} support" select BLK_DEV_IDEDMA_PCI help Promise Ultra33 or PDC20246 Promise Ultra66 or PDC20262 Promise Ultra100 or PDC20265/PDC20267/PDC20268 This driver adds up to 4 more EIDE devices sharing a single interrupt. This add-on card is a bootable PCI UDMA controller. Since multiple cards can be installed and there are BIOS ROM problems that happen if the BIOS revisions of all installed cards (three-max) do not match, the driver attempts to do dynamic tuning of the chipset at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required for more than one card. Please read the comments at the top of . If unsure, say N. config BLK_DEV_PDC202XX_NEW tristate "PROMISE PDC202{68|69|70|71|75|76|77} support" select BLK_DEV_IDEDMA_PCI config BLK_DEV_SVWKS tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support" select BLK_DEV_IDEDMA_PCI help This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5 chipsets. config BLK_DEV_SGIIOC4 tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support" depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4 select BLK_DEV_IDEDMA_PCI help This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4 chipset, which has one channel and can support two devices. Please say Y here if you have an Altix System from SGI. config BLK_DEV_SIIMAGE tristate "Silicon Image chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds PIO/(U)DMA support for the SI CMD680 and SII 3112 (Serial ATA) chips. config BLK_DEV_SIS5513 tristate "SiS5513 chipset support" depends on X86 select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for SIS5513 chipset family based mainboards. The following chipsets are supported: ATA16: SiS5511, SiS5513 ATA33: SiS5591, SiS5597, SiS5598, SiS5600 ATA66: SiS530, SiS540, SiS620, SiS630, SiS640 ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740, SiS745, SiS750 Please read the comments at the top of . config BLK_DEV_SL82C105 tristate "Winbond SL82c105 support" depends on (PPC || ARM) select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help If you have a Winbond SL82c105 IDE controller, say Y here to enable special configuration for this chip. This is common on various CHRP motherboards, but could be used elsewhere. If in doubt, say Y. config BLK_DEV_SLC90E66 tristate "SLC90E66 chipset support" select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for Victory66 SouthBridges for SMsC with Intel NorthBridges. This is an Ultra66 based chipset. The nice thing about it is that you can mix Ultra/DMA/PIO devices and it will handle timing cycles. Since this is an improved look-a-like to the PIIX4 it should be a nice addition. Please read the comments at the top of . config BLK_DEV_TRM290 tristate "Tekram TRM290 chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds support for bus master DMA transfers using the Tekram TRM290 PCI IDE chip. Volunteers are needed for further tweaking and development. Please read the comments at the top of . config BLK_DEV_VIA82CXXX tristate "VIA82CXXX chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for VIA BusMastering IDE chips. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_TC86C001 tristate "Toshiba TC86C001 support" select BLK_DEV_IDEDMA_PCI help This driver adds support for Toshiba TC86C001 GOKU-S chip. config BLK_DEV_CELLEB tristate "Toshiba's Cell Reference Set IDE support" depends on PPC_CELLEB select BLK_DEV_IDEDMA_PCI help This driver provides support for the on-board IDE controller on Toshiba Cell Reference Board. If unsure, say Y. endif # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF config BLK_DEV_IDE_PMAC tristate "PowerMac on-board IDE support" depends on PPC_PMAC select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver provides support for the on-board IDE controller on most of the recent Apple Power Macintoshes and PowerBooks. If unsure, say Y. config BLK_DEV_IDE_PMAC_ATA100FIRST bool "Probe on-board ATA/100 (Kauai) first" depends on BLK_DEV_IDE_PMAC help This option will cause the ATA/100 controller found in UniNorth2 based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...) to be probed before the ATA/66 and ATA/33 controllers. Without these, those machine used to have the hard disk on hdc and the CD-ROM on hda. This option changes this to more natural hda for hard disk and hdc for CD-ROM. config BLK_DEV_IDE_AU1XXX bool "IDE for AMD Alchemy Au1200" depends on MIPS_ALCHEMY select IDE_XFER_MODE choice prompt "IDE Mode for AMD Alchemy Au1200" default BLK_DEV_IDE_AU1XXX_PIO_DBDMA depends on BLK_DEV_IDE_AU1XXX config BLK_DEV_IDE_AU1XXX_PIO_DBDMA bool "PIO+DbDMA IDE for AMD Alchemy Au1200" config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200" depends on BLK_DEV_IDE_AU1XXX endchoice config BLK_DEV_IDE_TX4938 tristate "TX4938 internal IDE support" depends on SOC_TX4938 select IDE_TIMINGS config BLK_DEV_IDE_TX4939 tristate "TX4939 internal IDE support" depends on SOC_TX4939 select BLK_DEV_IDEDMA_SFF config BLK_DEV_IDE_ICSIDE tristate "ICS IDE interface support" depends on ARM && ARCH_ACORN help On Acorn systems, say Y here if you wish to use the ICS IDE interface card. This is not required for ICS partition support. If you are unsure, say N to this. config BLK_DEV_IDEDMA_ICS bool "ICS DMA support" depends on BLK_DEV_IDE_ICSIDE help Say Y here if you want to add DMA (Direct Memory Access) support to the ICS IDE driver. config BLK_DEV_IDE_RAPIDE tristate "RapIDE interface support" depends on ARM && ARCH_ACORN help Say Y here if you want to support the Yellowstone RapIDE controller manufactured for use with Acorn computers. config BLK_DEV_GAYLE tristate "Amiga Gayle IDE interface support" depends on AMIGA help This is the IDE driver for the Amiga Gayle IDE interface. It supports both the `A1200 style' and `A4000 style' of the Gayle IDE interface, This includes on-board IDE interfaces on some Amiga models (A600, A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion bus (M-Tech E-Matrix 530 expansion card). It also provides support for the so-called `IDE doublers' (made by various manufacturers, e.g. Eyetech) that can be connected to the on-board IDE interface of some Amiga models. Using such an IDE doubler, you can connect up to four instead of two IDE devices to the Amiga's on-board IDE interface. The feature is enabled at kernel runtime using the "gayle.doubler" kernel boot parameter. Say Y if you have an Amiga with a Gayle IDE interface and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to it. Note that you also have to enable Zorro bus support if you want to use Gayle IDE interfaces on the Zorro expansion bus. config BLK_DEV_BUDDHA tristate "Buddha/Catweasel/X-Surf IDE interface support" depends on ZORRO help This is the IDE driver for the IDE interfaces on the Buddha, Catweasel and X-Surf expansion boards. It supports up to two interfaces on the Buddha, three on the Catweasel and two on the X-Surf. Say Y if you have a Buddha or Catweasel expansion board and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to one of its IDE interfaces. config BLK_DEV_FALCON_IDE tristate "Falcon IDE interface support" depends on ATARI help This is the IDE driver for the on-board IDE interface on the Atari Falcon. Say Y if you have a Falcon and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to the on-board IDE interface. config BLK_DEV_MAC_IDE tristate "Macintosh Quadra/Powerbook IDE interface support" depends on MAC help This is the IDE driver for the on-board IDE interface on some m68k Macintosh models. It supports both the `Quadra style' (used in Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' (used in the Powerbook 150 and 190 models) IDE interface. Say Y if you have such an Macintosh model and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to the on-board IDE interface. config BLK_DEV_Q40IDE tristate "Q40/Q60 IDE interface support" depends on Q40 help Enable the on-board IDE controller in the Q40/Q60. This should normally be on; disable it only if you are running a custom hard drive subsystem through an expansion card. config BLK_DEV_PALMCHIP_BK3710 tristate "Palmchip bk3710 IDE controller support" depends on ARCH_DAVINCI select IDE_TIMINGS select BLK_DEV_IDEDMA_SFF help Say Y here if you want to support the onchip IDE controller on the TI DaVinci SoC # no isa -> no vlb if ISA && (ALPHA || X86 || MIPS) comment "Other IDE chipsets support" comment "Note: most of these also require special kernel boot parameters" config BLK_DEV_4DRIVES tristate "Generic 4 drives/port support" help Certain older chipsets, including the Tekram 690CD, use a single set of I/O ports at 0x1f0 to control up to four drives, instead of the customary two drives per port. Support for this can be enabled at runtime using the "ide-4drives.probe" kernel boot parameter if you say Y here. config BLK_DEV_ALI14XX tristate "ALI M14xx support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "ali14xx.probe" kernel boot parameter. It enables support for the secondary IDE interface of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster I/O speeds to be set as well. See the files and for more info. config BLK_DEV_DTC2278 tristate "DTC-2278 support" select IDE_XFER_MODE select IDE_LEGACY help This driver is enabled at runtime using the "dtc2278.probe" kernel boot parameter. It enables support for the secondary IDE interface of the DTC-2278 card, and permits faster I/O speeds to be set as well. See the and files for more info. config BLK_DEV_HT6560B tristate "Holtek HT6560B support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "ht6560b.probe" kernel boot parameter. It enables support for the secondary IDE interface of the Holtek card, and permits faster I/O speeds to be set as well. See the and files for more info. config BLK_DEV_QD65XX tristate "QDI QD65xx support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "qd65xx.probe" kernel boot parameter. It permits faster I/O speeds to be set. See the and for more info. config BLK_DEV_UMC8672 tristate "UMC-8672 support" select IDE_XFER_MODE select IDE_LEGACY help This driver is enabled at runtime using the "umc8672.probe" kernel boot parameter. It enables support for the secondary IDE interface of the UMC-8672, and permits faster I/O speeds to be set as well. See the files and for more info. endif config BLK_DEV_IDEDMA def_bool BLK_DEV_IDEDMA_SFF || \ BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA select IDE_XFER_MODE endif # IDE config INTEL_IDLE bool "Cpuidle Driver for Intel Processors" depends on CPU_IDLE depends on X86 depends on CPU_SUP_INTEL help Enable intel_idle, a cpuidle driver that includes knowledge of native Intel hardware idle features. The acpi_idle driver can be configured at the same time, in order to handle processors intel_idle does not support. menu "Memory power savings" depends on X86_64 config I7300_IDLE_IOAT_CHANNEL bool config I7300_IDLE tristate "Intel chipset idle memory power saving driver" select I7300_IDLE_IOAT_CHANNEL help Enable memory power savings when idle with certain Intel server chipsets. The chipset must have I/O AT support, such as the Intel 7300. The power savings depends on the type and quantity of DRAM devices. endmenu # # Industrial I/O subsystem configuration # menuconfig IIO tristate "Industrial I/O support" help The industrial I/O subsystem provides a unified framework for drivers for many different types of embedded sensors using a number of different physical interfaces (i2c, spi, etc). if IIO config IIO_BUFFER bool "Enable buffer support within IIO" help Provide core support for various buffer based data acquisition methods. if IIO_BUFFER config IIO_BUFFER_CB boolean "IIO callback buffer used for push in-kernel interfaces" help Should be selected by any drivers that do in-kernel push usage. That is, those where the data is pushed to the consumer. config IIO_KFIFO_BUF select IIO_TRIGGER tristate "Industrial I/O buffering based on kfifo" help A simple fifo based on kfifo. Note that this currently provides no buffer events so it is up to userspace to work out how often to read from the buffer. config IIO_TRIGGERED_BUFFER tristate select IIO_TRIGGER select IIO_KFIFO_BUF help Provides helper functions for setting up triggered buffers. endif # IIO_BUFFER config IIO_TRIGGER boolean "Enable triggered sampling support" help Provides IIO core support for triggers. Currently these are used to initialize capture of samples to push into buffers. The triggers are effectively a 'capture data now' interrupt. config IIO_CONSUMERS_PER_TRIGGER int "Maximum number of consumers per trigger" depends on IIO_TRIGGER default "2" help This value controls the maximum number of consumers that a given trigger may handle. Default is 2. source "drivers/iio/accel/Kconfig" source "drivers/iio/adc/Kconfig" source "drivers/iio/amplifiers/Kconfig" source "drivers/iio/common/Kconfig" source "drivers/iio/dac/Kconfig" source "drivers/iio/frequency/Kconfig" source "drivers/iio/gyro/Kconfig" source "drivers/iio/imu/Kconfig" source "drivers/iio/light/Kconfig" source "drivers/iio/magnetometer/Kconfig" if IIO_TRIGGER source "drivers/iio/trigger/Kconfig" endif #IIO_TRIGGER source "drivers/iio/pressure/Kconfig" source "drivers/iio/temperature/Kconfig" endif # IIO # # Accelerometer drivers # # When adding new entries keep the list in alphabetical order menu "Accelerometers" config BMA180 tristate "Bosch BMA180 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for the Bosch BMA180 triaxial acceleration sensor. To compile this driver as a module, choose M here: the module will be called bma180. config HID_SENSOR_ACCEL_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Accelerometers 3D" help Say yes here to build support for the HID SENSOR accelerometers 3D. config IIO_ST_ACCEL_3AXIS tristate "STMicroelectronics accelerometers 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_ACCEL_I2C_3AXIS if (I2C) select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics accelerometers: LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, LIS331DLH, LSM303DL, LSM303DLM, LSM330. This driver can also be built as a module. If so, these modules will be created: - st_accel (core functions for the driver [it is mandatory]); - st_accel_i2c (necessary for the I2C devices [optional*]); - st_accel_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_ACCEL_I2C_3AXIS tristate depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_ACCEL_SPI_3AXIS tristate depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_SENSORS_SPI config KXSD9 tristate "Kionix KXSD9 Accelerometer Driver" depends on SPI help Say yes here to build support for the Kionix KXSD9 accelerometer. Currently this only supports the device via an SPI interface. endmenu # # ADC drivers # # When adding new entries keep the list in alphabetical order menu "Analog to digital converters" config AD_SIGMA_DELTA tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config AD7266 tristate "Analog Devices AD7265/AD7266 ADC driver" depends on SPI_MASTER select IIO_BUFFER select IIO_TRIGGER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7265 and AD7266 ADCs. config AD7298 tristate "Analog Devices AD7298 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7298 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7298. config AD7476 tristate "Analog Devices AD7476 and similar 1-channel ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7273, AD7274, AD7276, AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920, AD7920 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7476. config AD7791 tristate "Analog Devices AD7791 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7787, AD7788, AD7789, AD7790 and AD7791 SPI analog to digital converters (ADC). If unsure, say N (but it is safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7791. config AD7793 tristate "Analog Devices AD7793 and similar ADCs driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7785, AD7792, AD7793, AD7794 and AD7795 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called AD7793. config AD7887 tristate "Analog Devices AD7887 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7887 SPI analog to digital converter (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7887. config AD7923 tristate "Analog Devices AD7923 and similar ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs. To compile this driver as a module, choose M here: the module will be called ad7923. config AT91_ADC tristate "Atmel AT91 ADC" depends on ARCH_AT91 select IIO_BUFFER select IIO_TRIGGERED_BUFFER select SYSFS help Say yes here to build support for Atmel AT91 ADC. config EXYNOS_ADC bool "Exynos ADC driver support" depends on OF help Core support for the ADC block found in the Samsung EXYNOS series of SoCs for drivers such as the touchscreen and hwmon to use to share this resource. config LP8788_ADC bool "LP8788 ADC driver" depends on MFD_LP8788 help Say yes here to build support for TI LP8788 ADC. config MAX1363 tristate "Maxim max1363 ADC driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for many Maxim i2c analog to digital converters (ADC). (max1361, max1362, max1363, max1364, max1036, max1037, max1038, max1039, max1136, max1136, max1137, max1138, max1139, max1236, max1237, max11238, max1239, max11600, max11601, max11602, max11603, max11604, max11605, max11606, max11607, max11608, max11609, max11610, max11611, max11612, max11613, max11614, max11615, max11616, max11617, max11644, max11645, max11646, max11647) Provides direct access via sysfs and buffered data via the iio dev interface. config MCP320X tristate "Microchip Technology MCP3204/08" depends on SPI help Say yes here to build support for Microchip Technology's MCP3204 or MCP3208 analog to digital converter. This driver can also be built as a module. If so, the module will be called mcp320x. config MCP3422 tristate "Microchip Technology MCP3422/3/4 driver" depends on I2C help Say yes here to build support for Microchip Technology's MCP3422, MCP3423 or MCP3424 analog to digital converters. This driver can also be built as a module. If so, the module will be called mcp3422. config NAU7802 tristate "Nuvoton NAU7802 ADC driver" depends on I2C help Say yes here to build support for Nuvoton NAU7802 ADC. To compile this driver as a module, choose M here: the module will be called nau7802. config TI_ADC081C tristate "Texas Instruments ADC081C021/027" depends on I2C help If you say yes here you get support for Texas Instruments ADC081C021 and ADC081C027 ADC chips. This driver can also be built as a module. If so, the module will be called ti-adc081c. config TI_AM335X_ADC tristate "TI's AM335X ADC driver" depends on MFD_TI_AM335X_TSCADC select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for Texas Instruments ADC driver which is also a MFD client. config TWL6030_GPADC tristate "TWL6030 GPADC (General Purpose A/D Converter) Support" depends on TWL4030_CORE default n help Say yes here if you want support for the TWL6030/TWL6032 General Purpose A/D Converter. This will add support for battery type detection, battery voltage and temperature measurement, die temperature measurement, system supply voltage, audio accessory, USB ID detection. This driver can also be built as a module. If so, the module will be called twl6030-gpadc. config VIPERBOARD_ADC tristate "Viperboard ADC support" depends on MFD_VIPERBOARD && USB help Say yes here to access the ADC part of the Nano River Technologies Viperboard. endmenu # # Gain Amplifiers, etc. # # When adding new entries keep the list in alphabetical order menu "Amplifiers" config AD8366 tristate "Analog Devices AD8366 VGA" depends on SPI select BITREVERSE help Say yes here to build support for Analog Devices AD8366 SPI Dual-Digital Variable Gain Amplifier (VGA). To compile this driver as a module, choose M here: the module will be called ad8366. endmenu # # IIO common modules # source "drivers/iio/common/hid-sensors/Kconfig" source "drivers/iio/common/st_sensors/Kconfig" # # Hid Sensor common modules # menu "Hid Sensor IIO Common" config HID_SENSOR_IIO_COMMON tristate "Common modules for all HID Sensor IIO drivers" depends on HID_SENSOR_HUB select HID_SENSOR_IIO_TRIGGER if IIO_BUFFER help Say yes here to build support for HID sensor to use HID sensor common processing for attributes and IIO triggers. There are many attributes which can be shared among multiple HID sensor drivers, this module contains processing for those attributes. config HID_SENSOR_IIO_TRIGGER tristate "Common module (trigger) for all HID Sensor IIO drivers" depends on HID_SENSOR_HUB && HID_SENSOR_IIO_COMMON select IIO_TRIGGER help Say yes here to build trigger support for HID sensors. Triggers will be send if all requested attributes were read. If this driver is compiled as a module, it will be named hid-sensor-trigger. endmenu # # STMicroelectronics sensors common library # config IIO_ST_SENSORS_I2C tristate config IIO_ST_SENSORS_SPI tristate config IIO_ST_SENSORS_CORE tristate select IIO_ST_SENSORS_I2C if I2C select IIO_ST_SENSORS_SPI if SPI_MASTER # # DAC drivers # # When adding new entries keep the list in alphabetical order menu "Digital to analog converters" config AD5064 tristate "Analog Devices AD5064 and similar multi-channel DAC driver" depends on (SPI_MASTER && I2C!=m) || I2C help Say yes here to build support for Analog Devices AD5024, AD5025, AD5044, AD5045, AD5064, AD5064-1, AD5065, AD5628, AD5629R, AD5648, AD5666, AD5668, AD5669R Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5064. config AD5360 tristate "Analog Devices AD5360/61/62/63/70/71/73 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD5360, AD5361, AD5362, AD5363, AD5370, AD5371, AD5373 multi-channel Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad5360. config AD5380 tristate "Analog Devices AD5380/81/82/83/84/90/91/92 DAC driver" depends on (SPI_MASTER && I2C!=m) || I2C select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER help Say yes here to build support for Analog Devices AD5380, AD5381, AD5382, AD5383, AD5384, AD5390, AD5391, AD5392 multi-channel Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad5380. config AD5421 tristate "Analog Devices AD5421 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD5421 loop-powered digital-to-analog convertors (DAC). To compile this driver as module choose M here: the module will be called ad5421. config AD5446 tristate "Analog Devices AD5446 and similar single channel DACs driver" depends on (SPI_MASTER && I2C!=m) || I2C help Say yes here to build support for Analog Devices AD5300, AD5301, AD5310, AD5311, AD5320, AD5321, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453, AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601, AD5602, AD5611, AD5612, AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs. To compile this driver as a module, choose M here: the module will be called ad5446. config AD5449 tristate "Analog Devices AD5449 and similar DACs driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5415, AD5426, AD5429, AD5432, AD5439, AD5443, AD5449 Digital to Analog Converters. To compile this driver as a module, choose M here: the module will be called ad5449. config AD5504 tristate "Analog Devices AD5504/AD5501 DAC SPI driver" depends on SPI help Say yes here to build support for Analog Devices AD5504, AD5501, High Voltage Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5504. config AD5624R_SPI tristate "Analog Devices AD5624/44/64R DAC spi driver" depends on SPI help Say yes here to build support for Analog Devices AD5624R, AD5644R and AD5664R converters (DAC). This driver uses the common SPI interface. config AD5686 tristate "Analog Devices AD5686R/AD5685R/AD5684R DAC SPI driver" depends on SPI help Say yes here to build support for Analog Devices AD5686R, AD5685R, AD5684R, AD5791 Voltage Output Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5686. config AD5755 tristate "Analog Devices AD5755/AD5755-1/AD5757/AD5735/AD5737 DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5755, AD5755-1, AD5757, AD5735, AD5737 quad channel Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5755. config AD5764 tristate "Analog Devices AD5764/64R/44/44R DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5764, AD5764R, AD5744, AD5744R Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5764. config AD5791 tristate "Analog Devices AD5760/AD5780/AD5781/AD5790/AD5791 DAC SPI driver" depends on SPI help Say yes here to build support for Analog Devices AD5760, AD5780, AD5781, AD5790, AD5791 High Resolution Voltage Output Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5791. config AD7303 tristate "Analog Devices AD7303 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD7303 Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad7303. config MAX517 tristate "Maxim MAX517/518/519 DAC driver" depends on I2C help If you say yes here you get support for the Maxim chips MAX517, MAX518 and MAX519 (I2C 8-Bit DACs with rail-to-rail outputs). This driver can also be built as a module. If so, the module will be called max517. config MCP4725 tristate "MCP4725 DAC driver" depends on I2C ---help--- Say Y here if you want to build a driver for the Microchip MCP 4725 12-bit digital-to-analog converter (DAC) with I2C interface. To compile this driver as a module, choose M here: the module will be called mcp4725. endmenu # # Frequency # Direct Digital Synthesis drivers (DDS) # Clock Distribution device drivers # Phase-Locked Loop (PLL) frequency synthesizers # # When adding new entries keep the list in alphabetical order menu "Frequency Synthesizers DDS/PLL" menu "Clock Generator/Distribution" config AD9523 tristate "Analog Devices AD9523 Low Jitter Clock Generator" depends on SPI help Say yes here to build support for Analog Devices AD9523 Low Jitter Clock Generator. The driver provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9523. endmenu # # Phase-Locked Loop (PLL) frequency synthesizers # menu "Phase-Locked Loop (PLL) frequency synthesizers" config ADF4350 tristate "Analog Devices ADF4350/ADF4351 Wideband Synthesizers" depends on SPI help Say yes here to build support for Analog Devices ADF4350/ADF4351 Wideband Synthesizers. The driver provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called adf4350. endmenu endmenu # # IIO Digital Gyroscope Sensor drivers configuration # # When adding new entries keep the list in alphabetical order menu "Digital gyroscope sensors" config ADIS16080 tristate "Analog Devices ADIS16080/100 Yaw Rate Gyroscope with SPI driver" depends on SPI help Say yes here to build support for Analog Devices ADIS16080, ADIS16100 Yaw Rate Gyroscope with SPI. config ADIS16130 tristate "Analog Devices ADIS16130 High Precision Angular Rate Sensor driver" depends on SPI help Say yes here to build support for Analog Devices ADIS16130 High Precision Angular Rate Sensor driver. config ADIS16136 tristate "Analog devices ADIS16136 and similar gyroscopes driver" depends on SPI_MASTER select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for the Analog Devices ADIS16133, ADIS16135, ADIS16136 gyroscope devices. config ADIS16260 tristate "Analog Devices ADIS16260 Digital Gyroscope Sensor SPI driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices ADIS16260 ADIS16265 ADIS16250 ADIS16255 and ADIS16251 programmable digital gyroscope sensors. This driver can also be built as a module. If so, the module will be called adis16260. config ADXRS450 tristate "Analog Devices ADXRS450/3 Digital Output Gyroscope SPI driver" depends on SPI help Say yes here to build support for Analog Devices ADXRS450 and ADXRS453 programmable digital output gyroscope. This driver can also be built as a module. If so, the module will be called adxrs450. config HID_SENSOR_GYRO_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Gyroscope 3D" help Say yes here to build support for the HID SENSOR Gyroscope 3D. config IIO_ST_GYRO_3AXIS tristate "STMicroelectronics gyroscopes 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_GYRO_I2C_3AXIS if (I2C) select IIO_ST_GYRO_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics gyroscopes: L3G4200D, LSM330DL, L3GD20, L3GD20H, LSM330DLC, L3G4IS, LSM330. This driver can also be built as a module. If so, these modules will be created: - st_gyro (core functions for the driver [it is mandatory]); - st_gyro_i2c (necessary for the I2C devices [optional*]); - st_gyro_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_GYRO_I2C_3AXIS tristate depends on IIO_ST_GYRO_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_GYRO_SPI_3AXIS tristate depends on IIO_ST_GYRO_3AXIS depends on IIO_ST_SENSORS_SPI config ITG3200 tristate "InvenSense ITG3200 Digital 3-Axis Gyroscope I2C driver" depends on I2C select IIO_TRIGGERED_BUFFER if IIO_BUFFER help Say yes here to add support for the InvenSense ITG3200 digital 3-axis gyroscope sensor. endmenu # # IIO imu drivers configuration # # When adding new entries keep the list in alphabetical order menu "Inertial measurement units" config ADIS16400 tristate "Analog Devices ADIS16400 and similar IMU SPI driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16300, adis16344, adis16350, adis16354, adis16355, adis16360, adis16362, adis16364, adis16365, adis16400 and adis16405 triaxial inertial sensors (adis16400 series also have magnetometers). config ADIS16480 tristate "Analog Devices ADIS16480 and similar IMU driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices ADIS16375, ADIS16480, ADIS16485, ADIS16488 inertial sensors. endmenu config IIO_ADIS_LIB tristate help A set of IO helper functions for the Analog Devices ADIS* device family. config IIO_ADIS_LIB_BUFFER bool select IIO_TRIGGERED_BUFFER help A set of buffer helper functions for the Analog Devices ADIS* device family. source "drivers/iio/imu/inv_mpu6050/Kconfig" # # inv-mpu6050 drivers for Invensense MPU devices and combos # config INV_MPU6050_IIO tristate "Invensense MPU6050 devices" depends on I2C && SYSFS select IIO_BUFFER select IIO_TRIGGERED_BUFFER help This driver supports the Invensense MPU6050 devices. It is a gyroscope/accelerometer combo device. This driver can be built as a module. The module will be called inv-mpu6050. # # Light sensors # # When adding new entries keep the list in alphabetical order menu "Light sensors" config ADJD_S311 tristate "ADJD-S311-CR999 digital color sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER depends on I2C help If you say yes here you get support for the Avago ADJD-S311-CR999 digital color light sensor. This driver can also be built as a module. If so, the module will be called adjd_s311. config APDS9300 tristate "APDS9300 ambient light sensor" depends on I2C help Say Y here if you want to build a driver for the Avago APDS9300 ambient light sensor. To compile this driver as a module, choose M here: the module will be called apds9300. config CM36651 depends on I2C tristate "CM36651 driver" help Say Y here if you use cm36651. This option enables proximity & RGB sensor using Capella cm36651 device driver. To compile this driver as a module, choose M here: the module will be called cm36651. config GP2AP020A00F tristate "Sharp GP2AP020A00F Proximity/ALS sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER select IRQ_WORK help Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called gp2ap020a00f. config HID_SENSOR_ALS depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID ALS" help Say yes here to build support for the HID SENSOR Ambient light sensor. config SENSORS_LM3533 tristate "LM3533 ambient light sensor" depends on MFD_LM3533 help If you say yes here you get support for the ambient light sensor interface on National Semiconductor / TI LM3533 Lighting Power chips. The sensor interface can be used to control the LEDs and backlights of the chip through defining five light zones and three sets of corresponding output-current values. The driver provides raw and mean adc readings along with the current light zone through sysfs. A threshold event can be generated on zone changes. The ALS-control output values can be set per zone for the three current output channels. config TCS3472 tristate "TAOS TCS3472 color light-to-digital converter" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the TAOS TCS3472 family of color light-to-digital converters with IR filter. This driver can also be built as a module. If so, the module will be called tcs3472. config SENSORS_TSL2563 tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors" depends on I2C help If you say yes here you get support for the Taos TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors. This driver can also be built as a module. If so, the module will be called tsl2563. config TSL4531 tristate "TAOS TSL4531 ambient light sensors" depends on I2C help Say Y here if you want to build a driver for the TAOS TSL4531 family of ambient light sensors with direct lux output. To compile this driver as a module, choose M here: the module will be called tsl4531. config VCNL4000 tristate "VCNL4000 combined ALS and proximity sensor" depends on I2C help Say Y here if you want to build a driver for the Vishay VCNL4000 combined ambient light and proximity sensor. To compile this driver as a module, choose M here: the module will be called vcnl4000. endmenu # # Magnetometer sensors # # When adding new entries keep the list in alphabetical order menu "Magnetometer sensors" config AK8975 tristate "Asahi Kasei AK8975 3-Axis Magnetometer" depends on I2C depends on GPIOLIB help Say yes here to build support for Asahi Kasei AK8975 3-Axis Magnetometer. To compile this driver as a module, choose M here: the module will be called ak8975. config MAG3110 tristate "Freescale MAG3110 3-Axis Magnetometer" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Freescale MAG3110 3-Axis magnetometer. To compile this driver as a module, choose M here: the module will be called mag3110. config HID_SENSOR_MAGNETOMETER_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Magenetometer 3D" help Say yes here to build support for the HID SENSOR Magnetometer 3D. config IIO_ST_MAGN_3AXIS tristate "STMicroelectronics magnetometers 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_MAGN_I2C_3AXIS if (I2C) select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics magnetometers: LSM303DLHC, LSM303DLM, LIS3MDL. This driver can also be built as a module. If so, these modules will be created: - st_magn (core functions for the driver [it is mandatory]); - st_magn_i2c (necessary for the I2C devices [optional*]); - st_magn_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_MAGN_I2C_3AXIS tristate depends on IIO_ST_MAGN_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_MAGN_SPI_3AXIS tristate depends on IIO_ST_MAGN_3AXIS depends on IIO_ST_SENSORS_SPI endmenu # # Pressure drivers # # When adding new entries keep the list in alphabetical order menu "Pressure sensors" config IIO_ST_PRESS tristate "STMicroelectronics pressure sensor Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_PRESS_I2C if (I2C) select IIO_ST_PRESS_SPI if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics pressure sensors: LPS001WP, LPS331AP. This driver can also be built as a module. If so, these modules will be created: - st_pressure (core functions for the driver [it is mandatory]); - st_pressure_i2c (necessary for the I2C devices [optional*]); - st_pressure_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_PRESS_I2C tristate depends on IIO_ST_PRESS depends on IIO_ST_SENSORS_I2C config IIO_ST_PRESS_SPI tristate depends on IIO_ST_PRESS depends on IIO_ST_SENSORS_SPI endmenu # # Temperature sensor drivers # menu "Temperature sensors" config TMP006 tristate "TMP006 infrared thermopile sensor" depends on I2C help If you say yes here you get support for the Texas Instruments TMP006 infrared thermopile sensor. This driver can also be built as a module. If so, the module will be called tmp006. endmenu # # Industrial I/O standalone triggers # # When adding new entries keep the list in alphabetical order menu "Triggers - standalone" config IIO_INTERRUPT_TRIGGER tristate "Generic interrupt trigger" help Provides support for using an interrupt of any type as an IIO trigger. This may be provided by a gpio driver for example. To compile this driver as a module, choose M here: the module will be called iio-trig-interrupt. config IIO_SYSFS_TRIGGER tristate "SYSFS trigger" depends on SYSFS select IRQ_WORK help Provides support for using SYSFS entries as IIO triggers. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called iio-trig-sysfs. endmenu menuconfig INFINIBAND tristate "InfiniBand support" depends on PCI || BROKEN depends on HAS_IOMEM depends on NET ---help--- Core support for InfiniBand (IB). Make sure to also select any protocols you wish to use as well as drivers for your InfiniBand hardware. if INFINIBAND config INFINIBAND_USER_MAD tristate "InfiniBand userspace MAD support" depends on INFINIBAND ---help--- Userspace InfiniBand Management Datagram (MAD) support. This is the kernel side of the userspace MAD support, which allows userspace processes to send and receive MADs. You will also need libibumad from . config INFINIBAND_USER_ACCESS tristate "InfiniBand userspace access (verbs and CM)" select ANON_INODES ---help--- Userspace InfiniBand access support. This enables the kernel side of userspace verbs and the userspace communication manager (CM). This allows userspace processes to set up connections and directly access InfiniBand hardware for fast-path operations. You will also need libibverbs, libibcm and a hardware driver library from . config INFINIBAND_USER_MEM bool depends on INFINIBAND_USER_ACCESS != n default y config INFINIBAND_ADDR_TRANS bool depends on INET depends on !(INFINIBAND = y && IPV6 = m) default y source "drivers/infiniband/hw/mthca/Kconfig" source "drivers/infiniband/hw/ipath/Kconfig" source "drivers/infiniband/hw/qib/Kconfig" source "drivers/infiniband/hw/ehca/Kconfig" source "drivers/infiniband/hw/amso1100/Kconfig" source "drivers/infiniband/hw/cxgb3/Kconfig" source "drivers/infiniband/hw/cxgb4/Kconfig" source "drivers/infiniband/hw/mlx4/Kconfig" source "drivers/infiniband/hw/mlx5/Kconfig" source "drivers/infiniband/hw/nes/Kconfig" source "drivers/infiniband/hw/ocrdma/Kconfig" source "drivers/infiniband/ulp/ipoib/Kconfig" source "drivers/infiniband/ulp/srp/Kconfig" source "drivers/infiniband/ulp/srpt/Kconfig" source "drivers/infiniband/ulp/iser/Kconfig" source "drivers/infiniband/ulp/isert/Kconfig" endif # INFINIBAND config INFINIBAND_AMSO1100 tristate "Ammasso 1100 HCA support" depends on PCI && INET ---help--- This is a low-level driver for the Ammasso 1100 host channel adapter (HCA). config INFINIBAND_AMSO1100_DEBUG bool "Verbose debugging output" depends on INFINIBAND_AMSO1100 default n ---help--- This option causes the amso1100 driver to produce a bunch of debug messages. Select this if you are developing the driver or trying to diagnose a problem. config INFINIBAND_CXGB3 tristate "Chelsio RDMA Driver" depends on CHELSIO_T3 && INET select GENERIC_ALLOCATOR ---help--- This is an iWARP/RDMA driver for the Chelsio T3 1GbE and 10GbE adapters. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module, choose M here: the module will be called iw_cxgb3. config INFINIBAND_CXGB3_DEBUG bool "Verbose debugging output" depends on INFINIBAND_CXGB3 default n ---help--- This option causes the Chelsio RDMA driver to produce copious amounts of debug messages. Select this if you are developing the driver or trying to diagnose a problem. config INFINIBAND_CXGB4 tristate "Chelsio T4 RDMA Driver" depends on CHELSIO_T4 && INET && (IPV6 || IPV6=n) select GENERIC_ALLOCATOR ---help--- This is an iWARP/RDMA driver for the Chelsio T4 1GbE and 10GbE adapters. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module, choose M here: the module will be called iw_cxgb4. config INFINIBAND_EHCA tristate "eHCA support" depends on IBMEBUS ---help--- This driver supports the IBM pSeries eHCA InfiniBand adapter. To compile the driver as a module, choose M here. The module will be called ib_ehca. config INFINIBAND_IPATH tristate "QLogic HTX HCA support" depends on 64BIT && NET && HT_IRQ ---help--- This is a driver for the obsolete QLogic Hyper-Transport IB host channel adapter (model QHT7140), including InfiniBand verbs support. This driver allows these devices to be used with both kernel upper level protocols such as IP-over-InfiniBand as well as with userspace applications (in conjunction with InfiniBand userspace access). For QLogic PCIe QLE based cards, use the QIB driver instead. config MLX4_INFINIBAND tristate "Mellanox ConnectX HCA support" depends on NETDEVICES && ETHERNET && PCI select NET_VENDOR_MELLANOX select MLX4_CORE ---help--- This driver provides low-level InfiniBand support for Mellanox ConnectX PCI Express host channel adapters (HCAs). This is required to use InfiniBand protocols such as IP-over-IB or SRP with these devices. config MLX5_INFINIBAND tristate "Mellanox Connect-IB HCA support" depends on NETDEVICES && ETHERNET && PCI && X86 select NET_VENDOR_MELLANOX select MLX5_CORE ---help--- This driver provides low-level InfiniBand support for Mellanox Connect-IB PCI Express host channel adapters (HCAs). This is required to use InfiniBand protocols such as IP-over-IB or SRP with these devices. config INFINIBAND_MTHCA tristate "Mellanox HCA support" depends on PCI ---help--- This is a low-level driver for Mellanox InfiniHost host channel adapters (HCAs), including the MT23108 PCI-X HCA ("Tavor") and the MT25208 PCI Express HCA ("Arbel"). config INFINIBAND_MTHCA_DEBUG bool "Verbose debugging output" if EXPERT depends on INFINIBAND_MTHCA default y ---help--- This option causes debugging code to be compiled into the mthca driver. The output can be turned on via the debug_level module parameter (which can also be set after the driver is loaded through sysfs). config INFINIBAND_NES tristate "NetEffect RNIC Driver" depends on PCI && INET && INFINIBAND select LIBCRC32C select INET_LRO ---help--- This is the RDMA Network Interface Card (RNIC) driver for NetEffect Ethernet Cluster Server Adapters. config INFINIBAND_NES_DEBUG bool "Verbose debugging output" depends on INFINIBAND_NES default n ---help--- This option enables debug messages from the NetEffect RNIC driver. Select this if you are diagnosing a problem. config INFINIBAND_OCRDMA tristate "Emulex One Connect HCA support" depends on ETHERNET && NETDEVICES && PCI && (IPV6 || IPV6=n) select NET_VENDOR_EMULEX select BE2NET ---help--- This driver provides low-level InfiniBand over Ethernet support for Emulex One Connect host channel adapters (HCAs). config INFINIBAND_QIB tristate "Intel PCIe HCA support" depends on 64BIT ---help--- This is a low-level driver for Intel PCIe QLE InfiniBand host channel adapters. This driver does not support the Intel HyperTransport card (model QHT7140). config INFINIBAND_QIB_DCA bool "QIB DCA support" depends on INFINIBAND_QIB && DCA && SMP && !(INFINIBAND_QIB=y && DCA=m) default y ---help--- Setting this enables DCA support on some Intel chip sets with the iba7322 HCA. config INFINIBAND_IPOIB tristate "IP-over-InfiniBand" depends on NETDEVICES && INET && (IPV6 || IPV6=n) ---help--- Support for the IP-over-InfiniBand protocol (IPoIB). This transports IP packets over InfiniBand so you can use your IB device as a fancy NIC. See Documentation/infiniband/ipoib.txt for more information config INFINIBAND_IPOIB_CM bool "IP-over-InfiniBand Connected Mode support" depends on INFINIBAND_IPOIB default n ---help--- This option enables support for IPoIB connected mode. After enabling this option, you need to switch to connected mode through /sys/class/net/ibXXX/mode to actually create connections, and then increase the interface MTU with e.g. ifconfig ib0 mtu 65520. WARNING: Enabling connected mode will trigger some packet drops for multicast and UD mode traffic from this interface, unless you limit mtu for these destinations to 2044. config INFINIBAND_IPOIB_DEBUG bool "IP-over-InfiniBand debugging" if EXPERT depends on INFINIBAND_IPOIB default y ---help--- This option causes debugging code to be compiled into the IPoIB driver. The output can be turned on via the debug_level and mcast_debug_level module parameters (which can also be set after the driver is loaded through sysfs). This option also creates a directory tree under ipoib/ in debugfs, which contains files that expose debugging information about IB multicast groups used by the IPoIB driver. config INFINIBAND_IPOIB_DEBUG_DATA bool "IP-over-InfiniBand data path debugging" depends on INFINIBAND_IPOIB_DEBUG ---help--- This option compiles debugging code into the data path of the IPoIB driver. The output can be turned on via the data_debug_level module parameter; however, even with output turned off, this debugging code will have some performance impact. config INFINIBAND_ISER tristate "iSCSI Extensions for RDMA (iSER)" depends on SCSI && INET && INFINIBAND_ADDR_TRANS select SCSI_ISCSI_ATTRS ---help--- Support for the iSCSI Extensions for RDMA (iSER) Protocol over InfiniBand. This allows you to access storage devices that speak iSCSI over iSER over InfiniBand. The iSER protocol is defined by IETF. See and config INFINIBAND_ISERT tristate "iSCSI Extensions for RDMA (iSER) target support" depends on INET && INFINIBAND_ADDR_TRANS && TARGET_CORE && ISCSI_TARGET ---help--- Support for iSCSI Extensions for RDMA (iSER) Target on Infiniband fabrics. config INFINIBAND_SRP tristate "InfiniBand SCSI RDMA Protocol" depends on SCSI select SCSI_SRP_ATTRS ---help--- Support for the SCSI RDMA Protocol over InfiniBand. This allows you to access storage devices that speak SRP over InfiniBand. The SRP protocol is defined by the INCITS T10 technical committee. See . config INFINIBAND_SRPT tristate "InfiniBand SCSI RDMA Protocol target support" depends on INFINIBAND && TARGET_CORE ---help--- Support for the SCSI RDMA Protocol (SRP) Target driver. The SRP protocol is a protocol that allows an initiator to access a block storage device on another host (target) over a network that supports the RDMA protocol. Currently the RDMA protocol is supported by InfiniBand and by iWarp network hardware. More information about the SRP protocol can be found on the website of the INCITS T10 technical committee (http://www.t10.org/). # # Input device configuration # menu "Input device support" depends on !UML config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT default y help Say Y here if you have any input device (mouse, keyboard, tablet, joystick, steering wheel ...) connected to your system and want it to be available to applications. This includes standard PS/2 keyboard and mouse. Say N here if you have a headless (no monitor, no keyboard) system. More information is available: If unsure, say Y. To compile this driver as a module, choose M here: the module will be called input. if INPUT config INPUT_FF_MEMLESS tristate "Support for memoryless force-feedback devices" help Say Y here if you have memoryless force-feedback input device such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual Power 2, or similar. You will also need to enable hardware-specific driver. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ff-memless. config INPUT_POLLDEV tristate "Polled input device skeleton" help Say Y here if you are using a driver for an input device that periodically polls hardware state. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called input-polldev. config INPUT_SPARSEKMAP tristate "Sparse keymap support library" help Say Y here if you are using a driver for an input device that uses sparse keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sparse-keymap. config INPUT_MATRIXKMAP tristate "Matrix keymap support library" help Say Y here if you are using a driver for an input device that uses matrix keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called matrix-keymap. comment "Userland interfaces" config INPUT_MOUSEDEV tristate "Mouse interface" default y help Say Y here if you want your mouse to be accessible as char devices 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an emulated IntelliMouse Explorer PS/2 mouse. That way, all user space programs (including SVGAlib, GPM and X) will be able to use your mouse. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called mousedev. config INPUT_MOUSEDEV_PSAUX bool "Provide legacy /dev/psaux device" default y depends on INPUT_MOUSEDEV help Say Y here if you want your mouse also be accessible as char device 10:1 - /dev/psaux. The data available through /dev/psaux is exactly the same as the data from /dev/input/mice. If unsure, say Y. config INPUT_MOUSEDEV_SCREEN_X int "Horizontal screen resolution" depends on INPUT_MOUSEDEV default "1024" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored. config INPUT_MOUSEDEV_SCREEN_Y int "Vertical screen resolution" depends on INPUT_MOUSEDEV default "768" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored. config INPUT_JOYDEV tristate "Joystick interface" help Say Y here if you want your joystick or gamepad to be accessible as char device 13:0+ - /dev/input/jsX device. If unsure, say Y. More information is available: To compile this driver as a module, choose M here: the module will be called joydev. config INPUT_EVDEV tristate "Event interface" help Say Y here if you want your input device events be accessible under char device 13:64+ - /dev/input/eventX in a generic way. To compile this driver as a module, choose M here: the module will be called evdev. config INPUT_EVBUG tristate "Event debugging" help Say Y here if you have a problem with the input subsystem and want all events (keypresses, mouse movements), to be output to the system log. While this is useful for debugging, it's also a security threat - your keypresses include your passwords, of course. If unsure, say N. To compile this driver as a module, choose M here: the module will be called evbug. config INPUT_APMPOWER tristate "Input Power Event -> APM Bridge" if EXPERT depends on INPUT && APM_EMULATION help Say Y here if you want suspend key events to trigger a user requested suspend through APM. This is useful on embedded systems where such behaviour is desired without userspace interaction. If unsure, say N. To compile this driver as a module, choose M here: the module will be called apm-power. comment "Input Device Drivers" source "drivers/input/keyboard/Kconfig" source "drivers/input/mouse/Kconfig" source "drivers/input/joystick/Kconfig" source "drivers/input/tablet/Kconfig" source "drivers/input/touchscreen/Kconfig" source "drivers/input/misc/Kconfig" endif menu "Hardware I/O ports" source "drivers/input/serio/Kconfig" source "drivers/input/gameport/Kconfig" endmenu endmenu # # Gameport configuration # config GAMEPORT tristate "Gameport support" ---help--- Gameport support is for the standard 15-pin PC gameport. If you have a joystick, gamepad, gameport card, a soundcard with a gameport or anything else that uses the gameport, say Y or M here and also to at least one of the hardware specific drivers. For Ensoniq AudioPCI (ES1370), AudioPCI 97 (ES1371), ESS Solo1, S3 SonicVibes, Trident 4DWave, SiS7018, and ALi 5451 gameport support is provided by the sound drivers, so you won't need any from the below listed modules. You still need to say Y here. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called gameport. if GAMEPORT config GAMEPORT_NS558 tristate "Classic ISA and PnP gameport support" help Say Y here if you have an ISA or PnP gameport. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called ns558. config GAMEPORT_L4 tristate "PDPI Lightning 4 gamecard support" help Say Y here if you have a PDPI Lightning 4 gamecard. To compile this driver as a module, choose M here: the module will be called lightning. config GAMEPORT_EMU10K1 tristate "SB Live and Audigy gameport support" depends on PCI help Say Y here if you have a SoundBlaster Live! or SoundBlaster Audigy card and want to use its gameport. To compile this driver as a module, choose M here: the module will be called emu10k1-gp. config GAMEPORT_FM801 tristate "ForteMedia FM801 gameport support" depends on PCI help Say Y here if you have ForteMedia FM801 PCI audio controller (Abit AU10, Genius Sound Maker, HP Workstation zx2000, and others), and want to use its gameport. To compile this driver as a module, choose M here: the module will be called fm801-gp. endif # # Joystick driver configuration # menuconfig INPUT_JOYSTICK bool "Joysticks/Gamepads" help If you have a joystick, 6dof controller, gamepad, steering wheel, weapon control system or something like that you can say Y here and the list of supported devices will be displayed. This option doesn't affect the kernel. Please read the file which contains more information. if INPUT_JOYSTICK config JOYSTICK_ANALOG tristate "Classic PC analog joysticks and gamepads" select GAMEPORT ---help--- Say Y here if you have a joystick that connects to the PC gameport. In addition to the usual PC analog joystick, this driver supports many extensions, including joysticks with throttle control, with rudders, additional hats and buttons compatible with CH Flightstick Pro, ThrustMaster FCS, 6 and 8 button gamepads, or Saitek Cyborg joysticks. Please read the file which contains more information. To compile this driver as a module, choose M here: the module will be called analog. config JOYSTICK_A3D tristate "Assassin 3D and MadCatz Panther devices" select GAMEPORT help Say Y here if you have an FPGaming or MadCatz controller using the A3D protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called a3d. config JOYSTICK_ADI tristate "Logitech ADI digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Logitech controller using the ADI protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called adi. config JOYSTICK_COBRA tristate "Creative Labs Blaster Cobra gamepad" select GAMEPORT help Say Y here if you have a Creative Labs Blaster Cobra gamepad. To compile this driver as a module, choose M here: the module will be called cobra. config JOYSTICK_GF2K tristate "Genius Flight2000 Digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Genius Flight2000 or MaxFighter digitally communicating joystick or gamepad. To compile this driver as a module, choose M here: the module will be called gf2k. config JOYSTICK_GRIP tristate "Gravis GrIP joysticks and gamepads" select GAMEPORT help Say Y here if you have a Gravis controller using the GrIP protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called grip. config JOYSTICK_GRIP_MP tristate "Gravis GrIP MultiPort" select GAMEPORT help Say Y here if you have the original Gravis GrIP MultiPort, a hub that connects to the gameport and you connect gamepads to it. To compile this driver as a module, choose M here: the module will be called grip_mp. config JOYSTICK_GUILLEMOT tristate "Guillemot joysticks and gamepads" select GAMEPORT help Say Y here if you have a Guillemot joystick using a digital protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called guillemot. config JOYSTICK_INTERACT tristate "InterAct digital joysticks and gamepads" select GAMEPORT help Say Y here if you have an InterAct gameport or joystick communicating digitally over the gameport. To compile this driver as a module, choose M here: the module will be called interact. config JOYSTICK_SIDEWINDER tristate "Microsoft SideWinder digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Microsoft controller using the Digital Overdrive protocol over PC gameport. To compile this driver as a module, choose M here: the module will be called sidewinder. config JOYSTICK_TMDC tristate "ThrustMaster DirectConnect joysticks and gamepads" select GAMEPORT help Say Y here if you have a ThrustMaster controller using the DirectConnect (BSP) protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called tmdc. source "drivers/input/joystick/iforce/Kconfig" config JOYSTICK_WARRIOR tristate "Logitech WingMan Warrior joystick" select SERIO help Say Y here if you have a Logitech WingMan Warrior joystick connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called warrior. config JOYSTICK_MAGELLAN tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers" select SERIO help Say Y here if you have a Magellan or Space Mouse 6DOF controller connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called magellan. config JOYSTICK_SPACEORB tristate "SpaceTec SpaceOrb/Avenger 6dof controllers" select SERIO help Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF controller connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called spaceorb. config JOYSTICK_SPACEBALL tristate "SpaceTec SpaceBall 6dof controllers" select SERIO help Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX controller connected to your computer's serial port. For the SpaceBall 4000 USB model, use the USB HID driver. To compile this driver as a module, choose M here: the module will be called spaceball. config JOYSTICK_STINGER tristate "Gravis Stinger gamepad" select SERIO help Say Y here if you have a Gravis Stinger connected to one of your serial ports. To compile this driver as a module, choose M here: the module will be called stinger. config JOYSTICK_TWIDJOY tristate "Twiddler as a joystick" select SERIO help Say Y here if you have a Handykey Twiddler connected to your computer's serial port and want to use it as a joystick. To compile this driver as a module, choose M here: the module will be called twidjoy. config JOYSTICK_ZHENHUA tristate "5-byte Zhenhua RC transmitter" select SERIO help Say Y here if you have a Zhen Hua PPM-4CH transmitter which is supplied with a ready to fly micro electric indoor helicopters such as EasyCopter, Lama, MiniCopter, DragonFly or Jabo and want to use it via serial cable as a joystick. To compile this driver as a module, choose M here: the module will be called zhenhua. config JOYSTICK_DB9 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" depends on PARPORT help Say Y here if you have a Sega Master System gamepad, Sega Genesis gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick connected to your parallel port. For more information on how to use the driver please read . To compile this driver as a module, choose M here: the module will be called db9. config JOYSTICK_GAMECON tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads" depends on PARPORT select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Nintendo Entertainment System gamepad, Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad, Sony PlayStation gamepad or a Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick connected to your parallel port. For more information on how to use the driver please read . To compile this driver as a module, choose M here: the module will be called gamecon. config JOYSTICK_TURBOGRAFX tristate "Multisystem joysticks via TurboGraFX device" depends on PARPORT help Say Y here if you have the TurboGraFX interface by Steffen Schwenke, and want to use it with Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick. For more information on how to use the driver please read . To compile this driver as a module, choose M here: the module will be called turbografx. config JOYSTICK_AMIGA tristate "Amiga joysticks" depends on AMIGA help Say Y here if you have an Amiga with a digital joystick connected to it. To compile this driver as a module, choose M here: the module will be called amijoy. config JOYSTICK_AS5011 tristate "Austria Microsystem AS5011 joystick" depends on I2C help Say Y here if you have an AS5011 digital joystick connected to your system. To compile this driver as a module, choose M here: the module will be called as5011. config JOYSTICK_JOYDUMP tristate "Gameport data dumper" select GAMEPORT help Say Y here if you want to dump data from your joystick into the system log for debugging purposes. Say N if you are making a production configuration or aren't sure. To compile this driver as a module, choose M here: the module will be called joydump. config JOYSTICK_XPAD tristate "X-Box gamepad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the X-Box pad with your computer. Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. For information about how to connect the X-Box pad to USB, see . To compile this driver as a module, choose M here: the module will be called xpad. config JOYSTICK_XPAD_FF bool "X-Box gamepad rumble support" depends on JOYSTICK_XPAD && INPUT select INPUT_FF_MEMLESS ---help--- Say Y here if you want to take advantage of xbox 360 rumble features. config JOYSTICK_XPAD_LEDS bool "LED Support for Xbox360 controller 'BigX' LED" depends on JOYSTICK_XPAD && (LEDS_CLASS=y || LEDS_CLASS=JOYSTICK_XPAD) ---help--- This option enables support for the LED which surrounds the Big X on XBox 360 controller. config JOYSTICK_WALKERA0701 tristate "Walkera WK-0701 RC transmitter" depends on HIGH_RES_TIMERS && PARPORT help Say Y or M here if you have a Walkera WK-0701 transmitter which is supplied with a ready to fly Walkera helicopters such as HM36, HM37, HM60 and want to use it via parport as a joystick. More information is available: To compile this driver as a module, choose M here: the module will be called walkera0701. config JOYSTICK_MAPLE tristate "Dreamcast control pad" depends on MAPLE help Say Y here if you have a SEGA Dreamcast and want to use your controller as a joystick. Most Dreamcast users will say Y. To compile this as a module choose M here: the module will be called maplecontrol. endif # # I-Force driver configuration # config JOYSTICK_IFORCE tristate "I-Force devices" depends on INPUT && INPUT_JOYSTICK help Say Y here if you have an I-Force joystick or steering wheel You also must choose at least one of the two options below. To compile this driver as a module, choose M here: the module will be called iforce. config JOYSTICK_IFORCE_USB bool "I-Force USB joysticks and wheels" depends on JOYSTICK_IFORCE && (JOYSTICK_IFORCE=m || USB=y) && USB help Say Y here if you have an I-Force joystick or steering wheel connected to your USB port. config JOYSTICK_IFORCE_232 bool "I-Force Serial joysticks and wheels" depends on JOYSTICK_IFORCE && (JOYSTICK_IFORCE=m || SERIO=y) && SERIO help Say Y here if you have an I-Force joystick or steering wheel connected to your serial (COM) port. You will need an additional utility called inputattach, see and . # # Input core configuration # menuconfig INPUT_KEYBOARD bool "Keyboards" default y help Say Y here, and a list of supported keyboards will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_KEYBOARD config KEYBOARD_ADP5520 tristate "Keypad Support for ADP5520 PMIC" depends on PMIC_ADP5520 help This option enables support for the keypad scan matrix on Analog Devices ADP5520 PMICs. To compile this driver as a module, choose M here: the module will be called adp5520-keys. config KEYBOARD_ADP5588 tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander" depends on I2C help Say Y here if you want to use a ADP5588/87 attached to your system I2C bus. To compile this driver as a module, choose M here: the module will be called adp5588-keys. config KEYBOARD_ADP5589 tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander" depends on I2C help Say Y here if you want to use a ADP5585/ADP5589 attached to your system I2C bus. To compile this driver as a module, choose M here: the module will be called adp5589-keys. config KEYBOARD_AMIGA tristate "Amiga keyboard" depends on AMIGA help Say Y here if you are running Linux on any AMIGA and have a keyboard attached. To compile this driver as a module, choose M here: the module will be called amikbd. config ATARI_KBD_CORE bool config KEYBOARD_ATARI tristate "Atari keyboard" depends on ATARI select ATARI_KBD_CORE help Say Y here if you are running Linux on any Atari and have a keyboard attached. To compile this driver as a module, choose M here: the module will be called atakbd. config KEYBOARD_ATKBD tristate "AT keyboard" default y select SERIO select SERIO_LIBPS2 select SERIO_I8042 if X86 select SERIO_GSCPS2 if GSC help Say Y here if you want to use a standard AT or PS/2 keyboard. Usually you'll need this, unless you have a different type keyboard (USB, ADB or other). This also works for AT and PS/2 keyboards connected over a PS/2 to serial converter. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called atkbd. config KEYBOARD_ATKBD_HP_KEYCODES bool "Use HP keyboard scancodes" depends on PARISC && KEYBOARD_ATKBD default y help Say Y here if you have a PA-RISC machine and want to use an AT or PS/2 keyboard, and your keyboard uses keycodes that are specific to PA-RISC keyboards. Say N if you use a standard keyboard. config KEYBOARD_ATKBD_RDI_KEYCODES bool "Use PrecisionBook keyboard scancodes" depends on KEYBOARD_ATKBD_HP_KEYCODES default n help If you have an RDI PrecisionBook, say Y here if you want to use its built-in keyboard (as opposed to an external keyboard). The PrecisionBook has five keys that conflict with those used by most AT and PS/2 keyboards. These are as follows: PrecisionBook Standard AT or PS/2 F1 F12 Left Ctrl Left Alt Caps Lock Left Ctrl Right Ctrl Caps Lock Left 102nd key (the key to the right of Left Shift) If you say N here, and use the PrecisionBook keyboard, then each key in the left-hand column will be interpreted as the corresponding key in the right-hand column. If you say Y here, and use an external keyboard, then each key in the right-hand column will be interpreted as the key shown in the left-hand column. config KEYBOARD_QT1070 tristate "Atmel AT42QT1070 Touch Sensor Chip" depends on I2C help Say Y here if you want to use Atmel AT42QT1070 QTouch Sensor chip as input device. To compile this driver as a module, choose M here: the module will be called qt1070 config KEYBOARD_QT2160 tristate "Atmel AT42QT2160 Touch Sensor Chip" depends on I2C help If you say yes here you get support for Atmel AT42QT2160 Touch Sensor chip as a keyboard input. This driver can also be built as a module. If so, the module will be called qt2160. config KEYBOARD_BFIN tristate "Blackfin BF54x keypad support" depends on (BF54x && !BF544) help Say Y here if you want to use the BF54x keypad. To compile this driver as a module, choose M here: the module will be called bf54x-keys. config KEYBOARD_LKKBD tristate "DECstation/VAXstation LK201/LK401 keyboard" select SERIO help Say Y here if you want to use a LK201 or LK401 style serial keyboard. This keyboard is also useable on PCs if you attach it with the inputattach program. The connector pinout is described within lkkbd.c. To compile this driver as a module, choose M here: the module will be called lkkbd. config KEYBOARD_EP93XX tristate "EP93xx Matrix Keypad support" depends on ARCH_EP93XX select INPUT_MATRIXKMAP help Say Y here to enable the matrix keypad on the Cirrus EP93XX. To compile this driver as a module, choose M here: the module will be called ep93xx_keypad. config KEYBOARD_GPIO tristate "GPIO Buttons" depends on GPIOLIB help This driver implements support for buttons connected to GPIO pins of various CPUs (and some other chips). Say Y here if your device has buttons connected directly to such GPIO pins. Your board-specific setup logic must also provide a platform device, with configuration data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_keys. config KEYBOARD_GPIO_POLLED tristate "Polled GPIO buttons" depends on GPIOLIB select INPUT_POLLDEV help This driver implements support for buttons connected to GPIO pins that are not capable of generating interrupts. Say Y here if your device has buttons connected directly to such GPIO pins. Your board-specific setup logic must also provide a platform device, with configuration data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_keys_polled. config KEYBOARD_TCA6416 tristate "TCA6416/TCA6408A Keypad Support" depends on I2C help This driver implements basic keypad functionality for keys connected through TCA6416/TCA6408A IO expanders. Say Y here if your device has keys connected to TCA6416/TCA6408A IO expander. Your board-specific setup logic must also provide pin-mask details(of which TCA6416 pins are used for keypad). If enabled the entire TCA6416 device will be managed through this driver. To compile this driver as a module, choose M here: the module will be called tca6416_keypad. config KEYBOARD_TCA8418 tristate "TCA8418 Keypad Support" depends on I2C select INPUT_MATRIXKMAP help This driver implements basic keypad functionality for keys connected through TCA8418 keypad decoder. Say Y here if your device has keys connected to TCA8418 keypad decoder. If enabled the complete TCA8418 device will be managed through this driver. To compile this driver as a module, choose M here: the module will be called tca8418_keypad. config KEYBOARD_MATRIX tristate "GPIO driven matrix keypad support" depends on GPIOLIB select INPUT_MATRIXKMAP help Enable support for GPIO driven matrix keypad. To compile this driver as a module, choose M here: the module will be called matrix_keypad. config KEYBOARD_HIL_OLD tristate "HP HIL keyboard support (simple driver)" depends on GSC || HP300 default y help The "Human Interface Loop" is a older, 8-channel USB-like controller used in several Hewlett Packard models. This driver was adapted from the one written for m68k/hp300, and implements support for a keyboard attached to the HIL port, but not for any other types of HIL input devices like mice or tablets. However, it has been thoroughly tested and is stable. If you want full HIL support including support for multiple keyboards, mice, and tablets, you have to enable the "HP System Device Controller i8042 Support" in the input/serio submenu. config KEYBOARD_HIL tristate "HP HIL keyboard/pointer support" depends on GSC || HP300 default y select HP_SDC select HIL_MLC select SERIO help The "Human Interface Loop" is a older, 8-channel USB-like controller used in several Hewlett Packard models. This driver implements support for HIL-keyboards and pointing devices (mice, tablets, touchscreens) attached to your machine, so normally you should say Y here. config KEYBOARD_HP6XX tristate "HP Jornada 6xx keyboard" depends on SH_HP6XX select INPUT_POLLDEV help Say Y here if you have a HP Jornada 620/660/680/690 and want to support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada680_kbd. config KEYBOARD_HP7XX tristate "HP Jornada 7xx keyboard" depends on SA1100_JORNADA720_SSP && SA1100_SSP help Say Y here if you have a HP Jornada 710/720/728 and want to support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada720_kbd. config KEYBOARD_LM8323 tristate "LM8323 keypad chip" depends on I2C depends on LEDS_CLASS help If you say yes here you get support for the National Semiconductor LM8323 keypad controller. To compile this driver as a module, choose M here: the module will be called lm8323. config KEYBOARD_LM8333 tristate "LM8333 keypad chip" depends on I2C select INPUT_MATRIXKMAP help If you say yes here you get support for the National Semiconductor LM8333 keypad controller. To compile this driver as a module, choose M here: the module will be called lm8333. config KEYBOARD_LOCOMO tristate "LoCoMo Keyboard Support" depends on SHARP_LOCOMO help Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA To compile this driver as a module, choose M here: the module will be called locomokbd. config KEYBOARD_LPC32XX tristate "LPC32XX matrix key scanner support" depends on ARCH_LPC32XX && OF select INPUT_MATRIXKMAP help Say Y here if you want to use NXP LPC32XX SoC key scanner interface, connected to a key matrix. To compile this driver as a module, choose M here: the module will be called lpc32xx-keys. config KEYBOARD_MAPLE tristate "Maple bus keyboard" depends on SH_DREAMCAST && MAPLE help Say Y here if you have a Dreamcast console running Linux and have a keyboard attached to its Maple bus. To compile this driver as a module, choose M here: the module will be called maple_keyb. config KEYBOARD_MAX7359 tristate "Maxim MAX7359 Key Switch Controller" depends on I2C help If you say yes here you get support for the Maxim MAX7359 Key Switch Controller chip. This providers microprocessors with management of up to 64 key switches To compile this driver as a module, choose M here: the module will be called max7359_keypad. config KEYBOARD_MCS tristate "MELFAS MCS Touchkey" depends on I2C help Say Y here if you have the MELFAS MCS5000/5080 touchkey controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mcs_touchkey. config KEYBOARD_MPR121 tristate "Freescale MPR121 Touchkey" depends on I2C help Say Y here if you have Freescale MPR121 touchkey controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mpr121_touchkey. config KEYBOARD_IMX tristate "IMX keypad support" depends on ARCH_MXC select INPUT_MATRIXKMAP help Enable support for IMX keypad port. To compile this driver as a module, choose M here: the module will be called imx_keypad. config KEYBOARD_NEWTON tristate "Newton keyboard" select SERIO help Say Y here if you have a Newton keyboard on a serial port. To compile this driver as a module, choose M here: the module will be called newtonkbd. config KEYBOARD_NOMADIK tristate "ST-Ericsson Nomadik SKE keyboard" depends on (ARCH_NOMADIK || ARCH_U8500) select INPUT_MATRIXKMAP help Say Y here if you want to use a keypad provided on the SKE controller used on the Ux500 and Nomadik platforms To compile this driver as a module, choose M here: the module will be called nmk-ske-keypad. config KEYBOARD_NSPIRE tristate "TI-NSPIRE built-in keyboard" depends on ARCH_NSPIRE && OF select INPUT_MATRIXKMAP help Say Y here if you want to use the built-in keypad on TI-NSPIRE. To compile this driver as a module, choose M here: the module will be called nspire-keypad. config KEYBOARD_TEGRA tristate "NVIDIA Tegra internal matrix keyboard controller support" depends on ARCH_TEGRA && OF select INPUT_MATRIXKMAP help Say Y here if you want to use a matrix keyboard connected directly to the internal keyboard controller on Tegra SoCs. To compile this driver as a module, choose M here: the module will be called tegra-kbc. config KEYBOARD_OPENCORES tristate "OpenCores Keyboard Controller" depends on HAS_IOMEM help Say Y here if you want to use the OpenCores Keyboard Controller http://www.opencores.org/project,keyboardcontroller To compile this driver as a module, choose M here; the module will be called opencores-kbd. config KEYBOARD_PXA27x tristate "PXA27x/PXA3xx keypad support" depends on PXA27x || PXA3xx || ARCH_MMP select INPUT_MATRIXKMAP help Enable support for PXA27x/PXA3xx keypad controller. To compile this driver as a module, choose M here: the module will be called pxa27x_keypad. config KEYBOARD_PXA930_ROTARY tristate "PXA930/PXA935 Enhanced Rotary Controller Support" depends on CPU_PXA930 || CPU_PXA935 help Enable support for PXA930/PXA935 Enhanced Rotary Controller. To compile this driver as a module, choose M here: the module will be called pxa930_rotary. config KEYBOARD_PMIC8XXX tristate "Qualcomm PMIC8XXX keypad support" depends on MFD_PM8XXX select INPUT_MATRIXKMAP help Say Y here if you want to enable the driver for the PMIC8XXX keypad provided as a reference design from Qualcomm. This is intended to support upto 18x8 matrix based keypad design. To compile this driver as a module, choose M here: the module will be called pmic8xxx-keypad. config KEYBOARD_SAMSUNG tristate "Samsung keypad support" depends on HAVE_CLK select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad on your Samsung mobile device. To compile this driver as a module, choose M here: the module will be called samsung-keypad. config KEYBOARD_GOLDFISH_EVENTS depends on GOLDFISH tristate "Generic Input Event device for Goldfish" help Say Y here to get an input event device for the Goldfish virtual device emulator. To compile this driver as a module, choose M here: the module will be called goldfish-events. config KEYBOARD_STOWAWAY tristate "Stowaway keyboard" select SERIO help Say Y here if you have a Stowaway keyboard on a serial port. Stowaway compatible keyboards like Dicota Input-PDA keyboard are also supported by this driver. To compile this driver as a module, choose M here: the module will be called stowaway. config KEYBOARD_SUNKBD tristate "Sun Type 4 and Type 5 keyboard" select SERIO help Say Y here if you want to use a Sun Type 4 or Type 5 keyboard, connected either to the Sun keyboard connector or to an serial (RS-232) port via a simple adapter. To compile this driver as a module, choose M here: the module will be called sunkbd. config KEYBOARD_SH_KEYSC tristate "SuperH KEYSC keypad support" depends on SUPERH || ARM || COMPILE_TEST help Say Y here if you want to use a keypad attached to the KEYSC block on SuperH processors such as sh7722 and sh7343. To compile this driver as a module, choose M here: the module will be called sh_keysc. config KEYBOARD_STMPE tristate "STMPE keypad support" depends on MFD_STMPE select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad controller on STMPE I/O expanders. To compile this driver as a module, choose M here: the module will be called stmpe-keypad. config KEYBOARD_DAVINCI tristate "TI DaVinci Key Scan" depends on ARCH_DAVINCI_DM365 help Say Y to enable keypad module support for the TI DaVinci platforms (DM365). To compile this driver as a module, choose M here: the module will be called davinci_keyscan. config KEYBOARD_OMAP tristate "TI OMAP keypad support" depends on ARCH_OMAP1 select INPUT_MATRIXKMAP help Say Y here if you want to use the OMAP keypad. To compile this driver as a module, choose M here: the module will be called omap-keypad. config KEYBOARD_OMAP4 tristate "TI OMAP4+ keypad support" depends on ARCH_OMAP2PLUS select INPUT_MATRIXKMAP help Say Y here if you want to use the OMAP4+ keypad. To compile this driver as a module, choose M here: the module will be called omap4-keypad. config KEYBOARD_SPEAR tristate "ST SPEAR keyboard support" depends on PLAT_SPEAR select INPUT_MATRIXKMAP help Say Y here if you want to use the SPEAR keyboard. To compile this driver as a module, choose M here: the module will be called spear-keboard. config KEYBOARD_TC3589X tristate "TC3589X Keypad support" depends on MFD_TC3589X select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad controller on TC35892/3 I/O expander. To compile this driver as a module, choose M here: the module will be called tc3589x-keypad. config KEYBOARD_TNETV107X tristate "TI TNETV107X keypad support" depends on ARCH_DAVINCI_TNETV107X select INPUT_MATRIXKMAP help Say Y here if you want to use the TNETV107X keypad. To compile this driver as a module, choose M here: the module will be called tnetv107x-keypad. config KEYBOARD_TWL4030 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support" depends on TWL4030_CORE select INPUT_MATRIXKMAP help Say Y here if your board use the keypad controller on TWL4030 family chips. It's safe to say enable this even on boards that don't use the keypad controller. To compile this driver as a module, choose M here: the module will be called twl4030_keypad. config KEYBOARD_XTKBD tristate "XT keyboard" select SERIO help Say Y here if you want to use the old IBM PC/XT keyboard (or compatible) on your system. This is only possible with a parallel port keyboard adapter, you cannot connect it to the keyboard port on a PC that runs Linux. To compile this driver as a module, choose M here: the module will be called xtkbd. config KEYBOARD_W90P910 tristate "W90P910 Matrix Keypad support" depends on ARCH_W90X900 select INPUT_MATRIXKMAP help Say Y here to enable the matrix keypad on evaluation board based on W90P910. To compile this driver as a module, choose M here: the module will be called w90p910_keypad. config KEYBOARD_CROS_EC tristate "ChromeOS EC keyboard" select INPUT_MATRIXKMAP depends on MFD_CROS_EC help Say Y here to enable the matrix keyboard used by ChromeOS devices and implemented on the ChromeOS EC. You must enable one bus option (MFD_CROS_EC_I2C or MFD_CROS_EC_SPI) to use this. To compile this driver as a module, choose M here: the module will be called cros_ec_keyb. endif # # Input misc drivers configuration # menuconfig INPUT_MISC bool "Miscellaneous devices" help Say Y here, and a list of miscellaneous input drivers will be displayed. Everything that didn't fit into the other categories is here. This option doesn't affect the kernel. If unsure, say Y. if INPUT_MISC config INPUT_88PM860X_ONKEY tristate "88PM860x ONKEY support" depends on MFD_88PM860X help Support the ONKEY of Marvell 88PM860x PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called 88pm860x_onkey. config INPUT_88PM80X_ONKEY tristate "88PM80x ONKEY support" depends on MFD_88PM800 help Support the ONKEY of Marvell 88PM80x PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called 88pm80x_onkey. config INPUT_AB8500_PONKEY tristate "AB8500 Pon (PowerOn) Key" depends on AB8500_CORE help Say Y here to use the PowerOn Key for ST-Ericsson's AB8500 Mix-Sig PMIC. To compile this driver as a module, choose M here: the module will be called ab8500-ponkey. config INPUT_AD714X tristate "Analog Devices AD714x Capacitance Touch Sensor" help Say Y here if you want to support an AD7142/3/7/8/7A touch sensor. You should select a bus connection too. To compile this driver as a module, choose M here: the module will be called ad714x. config INPUT_AD714X_I2C tristate "support I2C bus connection" depends on INPUT_AD714X && I2C default y help Say Y here if you have AD7142/AD7147 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad714x-i2c. config INPUT_AD714X_SPI tristate "support SPI bus connection" depends on INPUT_AD714X && SPI default y help Say Y here if you have AD7142/AD7147 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called ad714x-spi. config INPUT_ARIZONA_HAPTICS tristate "Arizona haptics support" depends on MFD_ARIZONA && SND_SOC select INPUT_FF_MEMLESS help Say Y to enable support for the haptics module in Arizona CODECs. To compile this driver as a module, choose M here: the module will be called arizona-haptics. config INPUT_BMA150 tristate "BMA150/SMB380 acceleration sensor support" depends on I2C select INPUT_POLLDEV help Say Y here if you have Bosch Sensortec's BMA150 or SMB380 acceleration sensor hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called bma150. config INPUT_PCSPKR tristate "PC Speaker support" depends on PCSPKR_PLATFORM help Say Y here if you want the standard PC Speaker to be used for bells and whistles. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called pcspkr. config INPUT_PM8XXX_VIBRATOR tristate "Qualcomm PM8XXX vibrator support" depends on MFD_PM8XXX select INPUT_FF_MEMLESS help This option enables device driver support for the vibrator on Qualcomm PM8xxx chip. This driver supports ff-memless interface from input framework. To compile this driver as module, choose M here: the module will be called pm8xxx-vibrator. config INPUT_PMIC8XXX_PWRKEY tristate "PMIC8XXX power key support" depends on MFD_PM8XXX help Say Y here if you want support for the PMIC8XXX power key. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pmic8xxx-pwrkey. config INPUT_SPARCSPKR tristate "SPARC Speaker support" depends on PCI && SPARC64 help Say Y here if you want the standard Speaker on Sparc PCI systems to be used for bells and whistles. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called sparcspkr. config INPUT_M68K_BEEP tristate "M68k Beeper support" depends on M68K config INPUT_MAX8925_ONKEY tristate "MAX8925 ONKEY support" depends on MFD_MAX8925 help Support the ONKEY of MAX8925 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called max8925_onkey. config INPUT_MAX8997_HAPTIC tristate "MAXIM MAX8997 haptic controller support" depends on PWM && HAVE_PWM && MFD_MAX8997 select INPUT_FF_MEMLESS help This option enables device driver support for the haptic controller on MAXIM MAX8997 chip. This driver supports ff-memless interface from input framework. To compile this driver as module, choose M here: the module will be called max8997-haptic. config INPUT_MC13783_PWRBUTTON tristate "MC13783 ON buttons" depends on MFD_MC13783 help Support the ON buttons of MC13783 PMIC as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called mc13783-pwrbutton. config INPUT_MMA8450 tristate "MMA8450 - Freescale's 3-Axis, 8/12-bit Digital Accelerometer" depends on I2C select INPUT_POLLDEV help Say Y here if you want to support Freescale's MMA8450 Accelerometer through I2C interface. To compile this driver as a module, choose M here: the module will be called mma8450. config INPUT_MPU3050 tristate "MPU3050 Triaxial gyroscope sensor" depends on I2C help Say Y here if you want to support InvenSense MPU3050 connected via an I2C bus. To compile this driver as a module, choose M here: the module will be called mpu3050. config INPUT_APANEL tristate "Fujitsu Lifebook Application Panel buttons" depends on X86 && I2C && LEDS_CLASS select INPUT_POLLDEV select CHECK_SIGNATURE help Say Y here for support of the Application Panel buttons, used on Fujitsu Lifebook. These are attached to the mainboard through an SMBus interface managed by the I2C Intel ICH (i801) driver, which you should also build for this kernel. To compile this driver as a module, choose M here: the module will be called apanel. config INPUT_GP2A tristate "Sharp GP2AP002A00F I2C Proximity/Opto sensor driver" depends on I2C depends on GPIOLIB help Say Y here if you have a Sharp GP2AP002A00F proximity/als combo-chip hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called gp2ap002a00f. config INPUT_GPIO_TILT_POLLED tristate "Polled GPIO tilt switch" depends on GPIOLIB select INPUT_POLLDEV help This driver implements support for tilt switches connected to GPIO pins that are not capable of generating interrupts. The list of gpios to use and the mapping of their states to specific angles is done via platform data. To compile this driver as a module, choose M here: the module will be called gpio_tilt_polled. config INPUT_IXP4XX_BEEPER tristate "IXP4XX Beeper support" depends on ARCH_IXP4XX help If you say yes here, you can connect a beeper to the ixp4xx gpio pins. This is used by the LinkSys NSLU2. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called ixp4xx-beeper. config INPUT_COBALT_BTNS tristate "Cobalt button interface" depends on MIPS_COBALT select INPUT_POLLDEV help Say Y here if you want to support MIPS Cobalt button interface. To compile this driver as a module, choose M here: the module will be called cobalt_btns. config INPUT_WISTRON_BTNS tristate "x86 Wistron laptop button interface" depends on X86 && !X86_64 select INPUT_POLLDEV select INPUT_SPARSEKMAP select NEW_LEDS select LEDS_CLASS select CHECK_SIGNATURE help Say Y here for support of Wistron laptop button interfaces, used on laptops of various brands, including Acer and Fujitsu-Siemens. If available, mail and wifi LEDs will be controllable via /sys/class/leds. To compile this driver as a module, choose M here: the module will be called wistron_btns. config INPUT_ATLAS_BTNS tristate "x86 Atlas button interface" depends on X86 && ACPI help Say Y here for support of Atlas wallmount touchscreen buttons. The events will show up as scancodes F1 through F9 via evdev. To compile this driver as a module, choose M here: the module will be called atlas_btns. config INPUT_ATI_REMOTE2 tristate "ATI / Philips USB RF remote control" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use an ATI or Philips USB RF remote control. These are RF remotes with USB receivers. ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards and is also available as a separate product. This driver provides mouse pointer, left and right mouse buttons, and maps all the other remote buttons to keypress events. To compile this driver as a module, choose M here: the module will be called ati_remote2. config INPUT_KEYSPAN_REMOTE tristate "Keyspan DMR USB remote control" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use a Keyspan DMR USB remote control. Currently only the UIA-11 type of receiver has been tested. The tag on the receiver that connects to the USB port should have a P/N that will tell you what type of DMR you have. The UIA-10 type is not supported at this time. This driver maps all buttons to keypress events. To compile this driver as a module, choose M here: the module will be called keyspan_remote. config INPUT_KXTJ9 tristate "Kionix KXTJ9 tri-axis digital accelerometer" depends on I2C help Say Y here to enable support for the Kionix KXTJ9 digital tri-axis accelerometer. To compile this driver as a module, choose M here: the module will be called kxtj9. config INPUT_KXTJ9_POLLED_MODE bool "Enable polling mode support" depends on INPUT_KXTJ9 select INPUT_POLLDEV help Say Y here if you need accelerometer to work in polling mode. config INPUT_POWERMATE tristate "Griffin PowerMate and Contour Jog support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use Griffin PowerMate or Contour Jog devices. These are aluminum dials which can measure clockwise and anticlockwise rotation. The dial also acts as a pushbutton. The base contains an LED which can be instructed to pulse or to switch to a particular intensity. You can download userspace tools from . To compile this driver as a module, choose M here: the module will be called powermate. config INPUT_YEALINK tristate "Yealink usb-p1k voip phone" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to enable keyboard and LCD functions of the Yealink usb-p1k usb phones. The audio part is enabled by the generic usb sound driver, so you might want to enable that as well. For information about how to use these additional functions, see . To compile this driver as a module, choose M here: the module will be called yealink. config INPUT_CM109 tristate "C-Media CM109 USB I/O Controller" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to enable keyboard and buzzer functions of the C-Media CM109 usb phones. The audio part is enabled by the generic usb sound driver, so you might want to enable that as well. To compile this driver as a module, choose M here: the module will be called cm109. config INPUT_RETU_PWRBUTTON tristate "Retu Power button Driver" depends on MFD_RETU help Say Y here if you want to enable power key reporting via the Retu chips found in Nokia Internet Tablets (770, N800, N810). To compile this driver as a module, choose M here. The module will be called retu-pwrbutton. config INPUT_TWL4030_PWRBUTTON tristate "TWL4030 Power button Driver" depends on TWL4030_CORE help Say Y here if you want to enable power key reporting via the TWL4030 family of chips. To compile this driver as a module, choose M here. The module will be called twl4030_pwrbutton. config INPUT_TWL4030_VIBRA tristate "Support for TWL4030 Vibrator" depends on TWL4030_CORE select MFD_TWL4030_AUDIO select INPUT_FF_MEMLESS help This option enables support for TWL4030 Vibrator Driver. To compile this driver as a module, choose M here. The module will be called twl4030_vibra. config INPUT_TWL6040_VIBRA tristate "Support for TWL6040 Vibrator" depends on TWL6040_CORE select INPUT_FF_MEMLESS help This option enables support for TWL6040 Vibrator Driver. To compile this driver as a module, choose M here. The module will be called twl6040_vibra. config INPUT_UINPUT tristate "User level driver support" help Say Y here if you want to support user level drivers for input subsystem accessible under char device 10:223 - /dev/input/uinput. To compile this driver as a module, choose M here: the module will be called uinput. config INPUT_SGI_BTNS tristate "SGI Indy/O2 volume button interface" depends on SGI_IP22 || SGI_IP32 select INPUT_POLLDEV help Say Y here if you want to support SGI Indy/O2 volume button interface. To compile this driver as a module, choose M here: the module will be called sgi_btns. config HP_SDC_RTC tristate "HP SDC Real Time Clock" depends on (GSC || HP300) && SERIO select HP_SDC help Say Y here if you want to support the built-in real time clock of the HP SDC controller. config INPUT_PCF50633_PMU tristate "PCF50633 PMU events" depends on MFD_PCF50633 help Say Y to include support for delivering PMU events via input layer on NXP PCF50633. config INPUT_PCF8574 tristate "PCF8574 Keypad input device" depends on I2C help Say Y here if you want to support a keypad connected via I2C with a PCF8574. To compile this driver as a module, choose M here: the module will be called pcf8574_keypad. config INPUT_PWM_BEEPER tristate "PWM beeper support" depends on PWM && HAVE_PWM help Say Y here to get support for PWM based beeper devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pwm-beeper. config INPUT_GPIO_ROTARY_ENCODER tristate "Rotary encoders connected to GPIO pins" depends on GPIOLIB help Say Y here to add support for rotary encoders connected to GPIO lines. Check file:Documentation/input/rotary-encoder.txt for more information. To compile this driver as a module, choose M here: the module will be called rotary_encoder. config INPUT_RB532_BUTTON tristate "Mikrotik Routerboard 532 button interface" depends on MIKROTIK_RB532 depends on GPIOLIB select INPUT_POLLDEV help Say Y here if you want support for the S1 button built into Mikrotik's Routerboard 532. To compile this driver as a module, choose M here: the module will be called rb532_button. config INPUT_DA9052_ONKEY tristate "Dialog DA9052/DA9053 Onkey" depends on PMIC_DA9052 help Support the ONKEY of Dialog DA9052 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called da9052_onkey. config INPUT_DA9055_ONKEY tristate "Dialog Semiconductor DA9055 ONKEY" depends on MFD_DA9055 help Support the ONKEY of DA9055 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called da9055_onkey. config INPUT_DM355EVM tristate "TI DaVinci DM355 EVM Keypad and IR Remote" depends on MFD_DM355EVM_MSP select INPUT_SPARSEKMAP help Supports the pushbuttons and IR remote used with the DM355 EVM board. To compile this driver as a module, choose M here: the module will be called dm355evm_keys. config INPUT_BFIN_ROTARY tristate "Blackfin Rotary support" depends on BF54x || BF52x help Say Y here if you want to use the Blackfin Rotary. To compile this driver as a module, choose M here: the module will be called bfin-rotary. config INPUT_WM831X_ON tristate "WM831X ON pin" depends on MFD_WM831X help Support the ON pin of WM831X PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called wm831x_on. config INPUT_PCAP tristate "Motorola EZX PCAP misc input events" depends on EZX_PCAP help Say Y here if you want to use Power key and Headphone button on Motorola EZX phones. To compile this driver as a module, choose M here: the module will be called pcap_keys. config INPUT_ADXL34X tristate "Analog Devices ADXL34x Three-Axis Digital Accelerometer" default n help Say Y here if you have a Accelerometer interface using the ADXL345/6 controller, and your board-specific initialization code includes that in its table of devices. This driver can use either I2C or SPI communication to the ADXL345/6 controller. Select the appropriate method for your system. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called adxl34x. config INPUT_ADXL34X_I2C tristate "support I2C bus connection" depends on INPUT_ADXL34X && I2C default y help Say Y here if you have ADXL345/6 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called adxl34x-i2c. config INPUT_ADXL34X_SPI tristate "support SPI bus connection" depends on INPUT_ADXL34X && SPI default y help Say Y here if you have ADXL345/6 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called adxl34x-spi. config INPUT_IMS_PCU tristate "IMS Passenger Control Unit driver" depends on USB depends on LEDS_CLASS help Say Y here if you have system with IMS Rave Passenger Control Unit. To compile this driver as a module, choose M here: the module will be called ims_pcu. config INPUT_CMA3000 tristate "VTI CMA3000 Tri-axis accelerometer" help Say Y here if you want to use VTI CMA3000_D0x Accelerometer driver This driver currently only supports I2C interface to the controller. Also select the I2C method. If unsure, say N To compile this driver as a module, choose M here: the module will be called cma3000_d0x. config INPUT_CMA3000_I2C tristate "Support I2C bus connection" depends on INPUT_CMA3000 && I2C help Say Y here if you want to use VTI CMA3000_D0x Accelerometer through I2C interface. To compile this driver as a module, choose M here: the module will be called cma3000_d0x_i2c. config INPUT_XEN_KBDDEV_FRONTEND tristate "Xen virtual keyboard and mouse support" depends on XEN default y select XEN_XENBUS_FRONTEND help This driver implements the front-end of the Xen virtual keyboard and mouse device driver. It communicates with a back-end in another domain. To compile this driver as a module, choose M here: the module will be called xen-kbdfront. config INPUT_SIRFSOC_ONKEY bool "CSR SiRFSoC power on/off/suspend key support" depends on ARCH_SIRF && OF default y help Say Y here if you want to support for the SiRFSoC power on/off/suspend key in Linux, after you press the onkey, system will suspend. If unsure, say N. config INPUT_IDEAPAD_SLIDEBAR tristate "IdeaPad Laptop Slidebar" depends on INPUT depends on SERIO_I8042 help Say Y here if you have an IdeaPad laptop with a slidebar. To compile this driver as a module, choose M here: the module will be called ideapad_slidebar. endif # # Mouse driver configuration # menuconfig INPUT_MOUSE bool "Mice" default y help Say Y here, and a list of supported mice will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_MOUSE config MOUSE_PS2 tristate "PS/2 mouse" default y select SERIO select SERIO_LIBPS2 select SERIO_I8042 if X86 select SERIO_GSCPS2 if GSC help Say Y here if you have a PS/2 mouse connected to your system. This includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 mice with wheels and extra buttons, Microsoft, Logitech or Genius compatible. Synaptics, ALPS or Elantech TouchPad users might be interested in a specialized Xorg/XFree86 driver at: and a new version of GPM at: to take advantage of the advanced features of the touchpad. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called psmouse. config MOUSE_PS2_ALPS bool "ALPS PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have an ALPS PS/2 touchpad connected to your system. If unsure, say Y. config MOUSE_PS2_LOGIPS2PP bool "Logitech PS/2++ mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Logictech PS/2++ mouse connected to your system. If unsure, say Y. config MOUSE_PS2_SYNAPTICS bool "Synaptics PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Synaptics PS/2 TouchPad connected to your system. If unsure, say Y. config MOUSE_PS2_CYPRESS bool "Cypress PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Cypress PS/2 Trackpad connected to your system. If unsure, say Y. config MOUSE_PS2_LIFEBOOK bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 && X86 && DMI help Say Y here if you have a Fujitsu B-series Lifebook PS/2 TouchScreen connected to your system. If unsure, say Y. config MOUSE_PS2_TRACKPOINT bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have an IBM Trackpoint PS/2 mouse connected to your system. If unsure, say Y. config MOUSE_PS2_ELANTECH bool "Elantech PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have an Elantech PS/2 touchpad connected to your system. Note that if you enable this driver you will need an updated X.org Synaptics driver that does not require ABS_PRESSURE reports from the touchpad (i.e. post 1.5.0 version). You can grab a patch for the driver here: http://userweb.kernel.org/~dtor/synaptics-no-abspressure.patch If unsure, say N. This driver exposes some configuration registers via sysfs entries. For further information, see . config MOUSE_PS2_SENTELIC bool "Sentelic Finger Sensing Pad PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have a laptop (such as MSI WIND Netbook) with Sentelic Finger Sensing Pad touchpad. If unsure, say N. config MOUSE_PS2_TOUCHKIT bool "eGalax TouchKit PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have an eGalax TouchKit PS/2 touchscreen connected to your system. If unsure, say N. config MOUSE_PS2_OLPC bool "OLPC PS/2 mouse protocol extension" depends on MOUSE_PS2 && OLPC help Say Y here if you have an OLPC XO-1 laptop (with built-in PS/2 touchpad/tablet device). The manufacturer calls the touchpad an HGPK. If unsure, say N. config MOUSE_SERIAL tristate "Serial mouse" select SERIO help Say Y here if you have a serial (RS-232, COM port) mouse connected to your system. This includes Sun, MouseSystems, Microsoft, Logitech and all other compatible serial mice. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sermouse. config MOUSE_APPLETOUCH tristate "Apple USB Touchpad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use an Apple USB Touchpad. These are the touchpads that can be found on post-February 2005 Apple Powerbooks (prior models have a Synaptics touchpad connected to the ADB bus). This driver provides a basic mouse driver but can be interfaced with the synaptics X11 driver to provide acceleration and scrolling in X11. For further information, see . To compile this driver as a module, choose M here: the module will be called appletouch. config MOUSE_BCM5974 tristate "Apple USB BCM5974 Multitouch trackpad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you have an Apple USB BCM5974 Multitouch trackpad. The BCM5974 is the multitouch trackpad found in the Macbook Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops. It is also found in the IPhone (2007) and Ipod Touch (2008). This driver provides multitouch functionality together with the synaptics X11 driver. The interface is currently identical to the appletouch interface, for further information, see . To compile this driver as a module, choose M here: the module will be called bcm5974. config MOUSE_CYAPA tristate "Cypress APA I2C Trackpad support" depends on I2C help This driver adds support for Cypress All Points Addressable (APA) I2C Trackpads, including the ones used in 2012 Samsung Chromebooks. Say Y here if you have a Cypress APA I2C Trackpad. To compile this driver as a module, choose M here: the module will be called cyapa. config MOUSE_INPORT tristate "InPort/MS/ATIXL busmouse" depends on ISA help Say Y here if you have an InPort, Microsoft or ATI XL busmouse. They are rather rare these days. To compile this driver as a module, choose M here: the module will be called inport. config MOUSE_ATIXL bool "ATI XL variant" depends on MOUSE_INPORT help Say Y here if your mouse is of the ATI XL variety. config MOUSE_LOGIBM tristate "Logitech busmouse" depends on ISA help Say Y here if you have a Logitech busmouse. They are rather rare these days. To compile this driver as a module, choose M here: the module will be called logibm. config MOUSE_PC110PAD tristate "IBM PC110 touchpad" depends on ISA help Say Y if you have the IBM PC-110 micro-notebook and want its touchpad supported. To compile this driver as a module, choose M here: the module will be called pc110pad. config MOUSE_AMIGA tristate "Amiga mouse" depends on AMIGA help Say Y here if you have an Amiga and want its native mouse supported by the kernel. To compile this driver as a module, choose M here: the module will be called amimouse. config MOUSE_ATARI tristate "Atari mouse" depends on ATARI select ATARI_KBD_CORE help Say Y here if you have an Atari and want its native mouse supported by the kernel. To compile this driver as a module, choose M here: the module will be called atarimouse. config MOUSE_RISCPC tristate "Acorn RiscPC mouse" depends on ARCH_ACORN help Say Y here if you have the Acorn RiscPC computer and want its native mouse supported. To compile this driver as a module, choose M here: the module will be called rpcmouse. config MOUSE_VSXXXAA tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" select SERIO help Say Y (or M) if you want to use a DEC VSXXX-AA (hockey puck) or a VSXXX-GA (rectangular) mouse. Theses mice are typically used on DECstations or VAXstations, but can also be used on any box capable of RS232 (with some adaptor described in the source file). This driver also works with the digitizer (VSXXX-AB) DEC produced. config MOUSE_GPIO tristate "GPIO mouse" depends on GPIOLIB select INPUT_POLLDEV help This driver simulates a mouse on GPIO lines of various CPUs (and some other chips). Say Y here if your device has buttons or a simple joystick connected directly to GPIO lines. Your board-specific setup logic must also provide a platform device and platform data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_mouse. config MOUSE_PXA930_TRKBALL tristate "PXA930 Trackball mouse" depends on CPU_PXA930 || CPU_PXA935 help Say Y here to support PXA930 Trackball mouse. config MOUSE_MAPLE tristate "Maple mouse (for the Dreamcast)" depends on MAPLE help This driver supports the Maple mouse on the SEGA Dreamcast. Most Dreamcast users, who have a mouse, will say Y here. To compile this driver as a module choose M here: the module will be called maplemouse. config MOUSE_SYNAPTICS_I2C tristate "Synaptics I2C Touchpad support" depends on I2C help This driver supports Synaptics I2C touchpad controller on eXeda mobile device. The device will not work the synaptics X11 driver because (i) it reports only relative coordinates and has no capabilities to report absolute coordinates (ii) the eXeda device itself uses Xfbdev as X Server and it does not allow using xf86-input-* drivers. Say y here if you have eXeda device and want to use a Synaptics I2C Touchpad. To compile this driver as a module, choose M here: the module will be called synaptics_i2c. config MOUSE_SYNAPTICS_USB tristate "Synaptics USB device support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use a Synaptics USB touchpad or pointing stick. While these devices emulate an USB mouse by default and can be used with standard usbhid driver, this driver, together with its X.Org counterpart, allows you to fully utilize capabilities of the device. More information can be found at: To compile this driver as a module, choose M here: the module will be called synaptics_usb. config MOUSE_NAVPOINT_PXA27x tristate "Synaptics NavPoint (PXA27x SSP/SPI)" depends on PXA27x && PXA_SSP help This driver adds support for the Synaptics NavPoint touchpad connected to a PXA27x SSP port in SPI slave mode. The device emulates a mouse; a tap or tap-and-a-half drag gesture emulates the left mouse button. For example, use the xf86-input-evdev driver for an X pointing device. To compile this driver as a module, choose M here: the module will be called navpoint. endif # # Input core configuration # config SERIO tristate "Serial I/O support" default y help Say Yes here if you have any input device that uses serial I/O to communicate with the system. This includes the * standard AT keyboard and PS/2 mouse * as well as serial mice, Sun keyboards, some joysticks and 6dof devices and more. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called serio. if SERIO config SERIO_I8042 tristate "i8042 PC Keyboard controller" default y depends on !PARISC && (!ARM || FOOTBRIDGE_HOST) && \ (!SUPERH || SH_CAYMAN) && !M68K && !BLACKFIN && !S390 && \ !ARC help i8042 is the chip over which the standard AT keyboard and PS/2 mouse are connected to the computer. If you use these devices, you'll need to say Y here. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called i8042. config SERIO_SERPORT tristate "Serial port line discipline" default y depends on TTY help Say Y here if you plan to use an input device (mouse, joystick, tablet, 6dof) that communicates over the RS232 serial (COM) port. More information is available: If unsure, say Y. To compile this driver as a module, choose M here: the module will be called serport. config SERIO_CT82C710 tristate "ct82c710 Aux port controller" depends on X86 help Say Y here if you have a Texas Instruments TravelMate notebook equipped with the ct82c710 chip and want to use a mouse connected to the "QuickPort". If unsure, say N. To compile this driver as a module, choose M here: the module will be called ct82c710. config SERIO_Q40KBD tristate "Q40 keyboard controller" depends on Q40 config SERIO_PARKBD tristate "Parallel port keyboard adapter" depends on PARPORT help Say Y here if you built a simple parallel port adapter to attach an additional AT keyboard, XT keyboard or PS/2 mouse. More information is available: If unsure, say N. To compile this driver as a module, choose M here: the module will be called parkbd. config SERIO_RPCKBD tristate "Acorn RiscPC keyboard controller" depends on ARCH_ACORN default y help Say Y here if you have the Acorn RiscPC and want to use an AT keyboard connected to its keyboard controller. To compile this driver as a module, choose M here: the module will be called rpckbd. config SERIO_AT32PSIF tristate "AVR32 PSIF PS/2 keyboard and mouse controller" depends on AVR32 help Say Y here if you want to use the PSIF peripheral on AVR32 devices and connect a PS/2 keyboard and/or mouse to it. To compile this driver as a module, choose M here: the module will be called at32psif. config SERIO_AMBAKMI tristate "AMBA KMI keyboard controller" depends on ARM_AMBA config SERIO_SA1111 tristate "Intel SA1111 keyboard controller" depends on SA1111 config SERIO_GSCPS2 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" depends on GSC default y help This driver provides support for the PS/2 ports on PA-RISC machines over which HP PS/2 keyboards and PS/2 mice may be connected. If you use these devices, you'll need to say Y here. It's safe to enable this driver, so if unsure, say Y. To compile this driver as a module, choose M here: the module will be called gscps2. config HP_SDC tristate "HP System Device Controller i8042 Support" depends on (GSC || HP300) && SERIO default y help This option enables support for the "System Device Controller", an i8042 carrying microcode to manage a few miscellaneous devices on some Hewlett Packard systems. The SDC itself contains a 10ms resolution timer/clock capable of delivering interrupts on a periodic and one-shot basis. The SDC may also be connected to a battery-backed real-time clock, a basic audio waveform generator, and an HP-HIL Master Link Controller serving up to seven input devices. By itself this option is rather useless, but enabling it will enable selection of drivers for the abovementioned devices. It is, however, incompatible with the old, reliable HIL keyboard driver, and the new HIL driver is experimental, so if you plan to use a HIL keyboard as your primary keyboard, you may wish to keep using that driver until the new HIL drivers have had more testing. config HIL_MLC tristate "HIL MLC Support (needed for HIL input devices)" depends on HP_SDC config SERIO_PCIPS2 tristate "PCI PS/2 keyboard and PS/2 mouse controller" depends on PCI help Say Y here if you have a Mobility Docking station with PS/2 keyboard and mice ports. To compile this driver as a module, choose M here: the module will be called pcips2. config SERIO_MACEPS2 tristate "SGI O2 MACE PS/2 controller" depends on SGI_IP32 help Say Y here if you have SGI O2 workstation and want to use its PS/2 ports. To compile this driver as a module, choose M here: the module will be called maceps2. config SERIO_LIBPS2 tristate "PS/2 driver library" depends on SERIO_I8042 || SERIO_I8042=n help Say Y here if you are using a driver for device connected to a PS/2 port, such as PS/2 mouse or standard AT keyboard. To compile this driver as a module, choose M here: the module will be called libps2. config SERIO_RAW tristate "Raw access to serio ports" help Say Y here if you want to have raw access to serio ports, such as AUX ports on i8042 keyboard controller. Each serio port that is bound to this driver will be accessible via a char device with major 10 and dynamically allocated minor. The driver will try allocating minor 1 (that historically corresponds to /dev/psaux) first. To bind this driver to a serio port use sysfs interface: echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl To compile this driver as a module, choose M here: the module will be called serio_raw. config SERIO_XILINX_XPS_PS2 tristate "Xilinx XPS PS/2 Controller Support" depends on PPC || MICROBLAZE help This driver supports XPS PS/2 IP from the Xilinx EDK on PowerPC platform. To compile this driver as a module, choose M here: the module will be called xilinx_ps2. config SERIO_ALTERA_PS2 tristate "Altera UP PS/2 controller" depends on HAS_IOMEM help Say Y here if you have Altera University Program PS/2 ports. To compile this driver as a module, choose M here: the module will be called altera_ps2. config SERIO_AMS_DELTA tristate "Amstrad Delta (E3) mailboard support" depends on MACH_AMS_DELTA default y ---help--- Say Y here if you have an E3 and want to use its mailboard, or any standard AT keyboard connected to the mailboard port. When used for the E3 mailboard, a non-standard key table must be loaded from userspace, possibly using udev extras provided keymap helper utility. To compile this driver as a module, choose M here; the module will be called ams_delta_serio. config SERIO_PS2MULT tristate "TQC PS/2 multiplexer" help Say Y here if you have the PS/2 line multiplexer like the one present on TQC boards. To compile this driver as a module, choose M here: the module will be called ps2mult. config SERIO_ARC_PS2 tristate "ARC PS/2 support" help Say Y here if you have an ARC FPGA platform with a PS/2 controller in it. To compile this driver as a module, choose M here; the module will be called arc_ps2. config SERIO_APBPS2 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" depends on OF help Say Y here if you want support for GRLIB APBPS2 peripherals used to connect to PS/2 keyboard and/or mouse. To compile this driver as a module, choose M here: the module will be called apbps2. config SERIO_OLPC_APSP tristate "OLPC AP-SP input support" depends on OF help Say Y here if you want support for the keyboard and touchpad included in the OLPC XO-1.75 and XO-4 laptops. To compile this driver as a module, choose M here: the module will be called olpc_apsp. config HYPERV_KEYBOARD tristate "Microsoft Synthetic Keyboard driver" depends on HYPERV default HYPERV help Select this option to enable the Hyper-V Keyboard driver. To compile this driver as a module, choose M here: the module will be called hyperv_keyboard. endif # # Tablet driver configuration # menuconfig INPUT_TABLET bool "Tablets" help Say Y here, and a list of supported tablets will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_TABLET config TABLET_USB_ACECAD tristate "Acecad Flair tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Acecad Flair tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called acecad. config TABLET_USB_AIPTEK tristate "Aiptek 6000U/8000U and Genius G_PEN tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Aiptek 6000U, Aiptek 8000U or Genius G-PEN 560 tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called aiptek. config TABLET_USB_GTCO tristate "GTCO CalComp/InterWrite USB Support" depends on USB && INPUT help Say Y here if you want to use the USB version of the GTCO CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called gtco. config TABLET_USB_HANWANG tristate "Hanwang Art Master III tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Hanwang Art Master III tablet. To compile this driver as a module, choose M here: the module will be called hanwang. config TABLET_USB_KBTAB tristate "KB Gear JamStudio tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the KB Gear JamStudio tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called kbtab. config TABLET_USB_WACOM tristate "Wacom Intuos/Graphire tablet support (USB)" depends on USB_ARCH_HAS_HCD select POWER_SUPPLY select USB select NEW_LEDS select LEDS_CLASS help Say Y here if you want to use the USB version of the Wacom Intuos or Graphire tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called wacom. endif # # Touchscreen driver configuration # menuconfig INPUT_TOUCHSCREEN bool "Touchscreens" help Say Y here, and a list of supported touchscreens will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_TOUCHSCREEN config TOUCHSCREEN_88PM860X tristate "Marvell 88PM860x touchscreen" depends on MFD_88PM860X help Say Y here if you have a 88PM860x PMIC and want to enable support for the built-in touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called 88pm860x-ts. config TOUCHSCREEN_ADS7846 tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens" depends on SPI_MASTER depends on HWMON = n || HWMON help Say Y here if you have a touchscreen interface using the ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller, and your board-specific setup code includes that in its table of SPI devices. If HWMON is selected, and the driver is told the reference voltage on your board, you will also get hwmon interfaces for the voltage (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ads7846. config TOUCHSCREEN_AD7877 tristate "AD7877 based touchscreens" depends on SPI_MASTER help Say Y here if you have a touchscreen interface using the AD7877 controller, and your board-specific initialization code includes that in its table of SPI devices. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7877. config TOUCHSCREEN_AD7879 tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface" help Say Y here if you want to support a touchscreen interface using the AD7879-1/AD7889-1 controller. You should select a bus connection too. To compile this driver as a module, choose M here: the module will be called ad7879. config TOUCHSCREEN_AD7879_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_AD7879 && I2C help Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad7879-i2c. config TOUCHSCREEN_AD7879_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_AD7879 && SPI_MASTER help Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7879-spi. config TOUCHSCREEN_ATMEL_MXT tristate "Atmel mXT I2C Touchscreen" depends on I2C help Say Y here if you have Atmel mXT series I2C touchscreen, such as AT42QT602240/ATMXT224, connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called atmel_mxt_ts. config TOUCHSCREEN_AUO_PIXCIR tristate "AUO in-cell touchscreen using Pixcir ICs" depends on I2C depends on GPIOLIB help Say Y here if you have a AUO display with in-cell touchscreen using Pixcir ICs. If unsure, say N. To compile this driver as a module, choose M here: the module will be called auo-pixcir-ts. config TOUCHSCREEN_BU21013 tristate "BU21013 based touch panel controllers" depends on I2C help Say Y here if you have a bu21013 touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called bu21013_ts. config TOUCHSCREEN_CY8CTMG110 tristate "cy8ctmg110 touchscreen" depends on I2C depends on GPIOLIB help Say Y here if you have a cy8ctmg110 capacitive touchscreen on an AAVA device. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cy8ctmg110_ts. config TOUCHSCREEN_CYTTSP_CORE tristate "Cypress TTSP touchscreen" help Say Y here if you have a touchscreen using controller from the Cypress TrueTouch(tm) Standard Product family connected to your system. You will also need to select appropriate bus connection below. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp_core. config TOUCHSCREEN_CYTTSP_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_CYTTSP_CORE && I2C help Say Y here if the touchscreen is connected via I2C bus. To compile this driver as a module, choose M here: the module will be called cyttsp_i2c. config TOUCHSCREEN_CYTTSP_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER help Say Y here if the touchscreen is connected via SPI bus. To compile this driver as a module, choose M here: the module will be called cyttsp_spi. config TOUCHSCREEN_CYTTSP4_CORE tristate "Cypress TrueTouch Gen4 Touchscreen Driver" help Core driver for Cypress TrueTouch(tm) Standard Product Generation4 touchscreen controllers. Say Y here if you have a Cypress Gen4 touchscreen. If unsure, say N. To compile this driver as a module, choose M here. config TOUCHSCREEN_CYTTSP4_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_CYTTSP4_CORE && I2C help Say Y here if the touchscreen is connected via I2C bus. To compile this driver as a module, choose M here: the module will be called cyttsp4_i2c. config TOUCHSCREEN_CYTTSP4_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_CYTTSP4_CORE && SPI_MASTER help Say Y here if the touchscreen is connected via SPI bus. To compile this driver as a module, choose M here: the module will be called cyttsp4_spi. config TOUCHSCREEN_DA9034 tristate "Touchscreen support for Dialog Semiconductor DA9034" depends on PMIC_DA903X default y help Say Y here to enable the support for the touchscreen found on Dialog Semiconductor DA9034 PMIC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called da9034-ts. config TOUCHSCREEN_DA9052 tristate "Dialog DA9052/DA9053 TSI" depends on PMIC_DA9052 help Say Y here to support the touchscreen found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. If unsure, say N. To compile this driver as a module, choose M here: the module will be called da9052_tsi. config TOUCHSCREEN_DYNAPRO tristate "Dynapro serial touchscreen" select SERIO help Say Y here if you have a Dynapro serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called dynapro. config TOUCHSCREEN_HAMPSHIRE tristate "Hampshire serial touchscreen" select SERIO help Say Y here if you have a Hampshire serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called hampshire. config TOUCHSCREEN_EETI tristate "EETI touchscreen panel support" depends on I2C help Say Y here to enable support for I2C connected EETI touch panels. To compile this driver as a module, choose M here: the module will be called eeti_ts. config TOUCHSCREEN_EGALAX tristate "EETI eGalax multi-touch panel support" depends on I2C && OF help Say Y here to enable support for I2C connected EETI eGalax multi-touch panels. To compile this driver as a module, choose M here: the module will be called egalax_ts. config TOUCHSCREEN_FUJITSU tristate "Fujitsu serial touchscreen" select SERIO help Say Y here if you have the Fujitsu touchscreen (such as one installed in Lifebook P series laptop) connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called fujitsu-ts. config TOUCHSCREEN_ILI210X tristate "Ilitek ILI210X based touchscreen" depends on I2C help Say Y here if you have a ILI210X based touchscreen controller. This driver supports models ILI2102, ILI2102s, ILI2103, ILI2103s and ILI2105. Such kind of chipsets can be found in Amazon Kindle Fire touchscreens. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ili210x. config TOUCHSCREEN_S3C2410 tristate "Samsung S3C2410/generic touchscreen input driver" depends on ARCH_S3C24XX || SAMSUNG_DEV_TS select S3C_ADC help Say Y here if you have the s3c2410 touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called s3c2410_ts. config TOUCHSCREEN_GUNZE tristate "Gunze AHL-51S touchscreen" select SERIO help Say Y here if you have the Gunze AHL-51 touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called gunze. config TOUCHSCREEN_ELO tristate "Elo serial touchscreens" select SERIO help Say Y here if you have an Elo serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called elo. config TOUCHSCREEN_WACOM_W8001 tristate "Wacom W8001 penabled serial touchscreen" select SERIO help Say Y here if you have an Wacom W8001 penabled serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wacom_w8001. config TOUCHSCREEN_WACOM_I2C tristate "Wacom Tablet support (I2C)" depends on I2C help Say Y here if you want to use the I2C version of the Wacom Pen Tablet. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wacom_i2c. config TOUCHSCREEN_LPC32XX tristate "LPC32XX touchscreen controller" depends on ARCH_LPC32XX help Say Y here if you have a LPC32XX device and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called lpc32xx_ts. config TOUCHSCREEN_MAX11801 tristate "MAX11801 based touchscreens" depends on I2C help Say Y here if you have a MAX11801 based touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called max11801_ts. config TOUCHSCREEN_MCS5000 tristate "MELFAS MCS-5000 touchscreen" depends on I2C help Say Y here if you have the MELFAS MCS-5000 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mcs5000_ts. config TOUCHSCREEN_MMS114 tristate "MELFAS MMS114 touchscreen" depends on I2C help Say Y here if you have the MELFAS MMS114 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mms114. config TOUCHSCREEN_MTOUCH tristate "MicroTouch serial touchscreens" select SERIO help Say Y here if you have a MicroTouch (3M) serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mtouch. config TOUCHSCREEN_INEXIO tristate "iNexio serial touchscreens" select SERIO help Say Y here if you have an iNexio serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called inexio. config TOUCHSCREEN_INTEL_MID tristate "Intel MID platform resistive touchscreen" depends on INTEL_SCU_IPC help Say Y here if you have a Intel MID based touchscreen in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called intel_mid_touch. config TOUCHSCREEN_MK712 tristate "ICS MicroClock MK712 touchscreen" help Say Y here if you have the ICS MicroClock MK712 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mk712. config TOUCHSCREEN_HP600 tristate "HP Jornada 6xx touchscreen" depends on SH_HP6XX && SH_ADC help Say Y here if you have a HP Jornada 620/660/680/690 and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called hp680_ts_input. config TOUCHSCREEN_HP7XX tristate "HP Jornada 7xx touchscreen" depends on SA1100_JORNADA720_SSP help Say Y here if you have a HP Jornada 710/720/728 and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called jornada720_ts. config TOUCHSCREEN_HTCPEN tristate "HTC Shift X9500 touchscreen" depends on ISA help Say Y here if you have an HTC Shift UMPC also known as HTC X9500 Clio / Shangrila and want to support the built-in touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called htcpen. config TOUCHSCREEN_PENMOUNT tristate "Penmount serial touchscreen" select SERIO help Say Y here if you have a Penmount serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called penmount. config TOUCHSCREEN_EDT_FT5X06 tristate "EDT FocalTech FT5x06 I2C Touchscreen support" depends on I2C help Say Y here if you have an EDT "Polytouch" touchscreen based on the FocalTech FT5x06 family of controllers connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called edt-ft5x06. config TOUCHSCREEN_MIGOR tristate "Renesas MIGO-R touchscreen" depends on SH_MIGOR && I2C help Say Y here to enable MIGO-R touchscreen support. If unsure, say N. To compile this driver as a module, choose M here: the module will be called migor_ts. config TOUCHSCREEN_TNETV107X tristate "TI TNETV107X touchscreen support" depends on ARCH_DAVINCI_TNETV107X help Say Y here if you want to use the TNETV107X touchscreen. To compile this driver as a module, choose M here: the module will be called tnetv107x-ts. config TOUCHSCREEN_TOUCHRIGHT tristate "Touchright serial touchscreen" select SERIO help Say Y here if you have a Touchright serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchright. config TOUCHSCREEN_TOUCHWIN tristate "Touchwin serial touchscreen" select SERIO help Say Y here if you have a Touchwin serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchwin. config TOUCHSCREEN_TI_AM335X_TSC tristate "TI Touchscreen Interface" depends on MFD_TI_AM335X_TSCADC help Say Y here if you have 4/5/8 wire touchscreen controller to be connected to the ADC controller on your TI AM335x SoC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ti_am335x_tsc. config TOUCHSCREEN_ATMEL_TSADCC tristate "Atmel Touchscreen Interface" depends on ARCH_AT91 help Say Y here if you have a 4-wire touchscreen connected to the ADC Controller on your Atmel SoC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called atmel_tsadcc. config TOUCHSCREEN_UCB1400 tristate "Philips UCB1400 touchscreen" depends on AC97_BUS depends on UCB1400_CORE help This enables support for the Philips UCB1400 touchscreen interface. The UCB1400 is an AC97 audio codec. The touchscreen interface will be initialized only after the ALSA subsystem has been brought up and the UCB1400 detected. You therefore have to configure ALSA support as well (either built-in or modular, independently of whether this driver is itself built-in or modular) for this driver to work. To compile this driver as a module, choose M here: the module will be called ucb1400_ts. config TOUCHSCREEN_PIXCIR tristate "PIXCIR I2C touchscreens" depends on I2C help Say Y here if you have a pixcir i2c touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pixcir_i2c_ts. config TOUCHSCREEN_WM831X tristate "Support for WM831x touchscreen controllers" depends on MFD_WM831X help This enables support for the touchscreen controller on the WM831x series of PMICs. To compile this driver as a module, choose M here: the module will be called wm831x-ts. config TOUCHSCREEN_WM97XX tristate "Support for WM97xx AC97 touchscreen controllers" depends on AC97_BUS help Say Y here if you have a Wolfson Microelectronics WM97xx touchscreen connected to your system. Note that this option only enables core driver, you will also need to select support for appropriate chip below. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wm97xx-ts. config TOUCHSCREEN_WM9705 bool "WM9705 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9705 touchscreen controller. config TOUCHSCREEN_WM9712 bool "WM9712 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9712 touchscreen controller. config TOUCHSCREEN_WM9713 bool "WM9713 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9713 touchscreen controller. config TOUCHSCREEN_WM97XX_ATMEL tristate "WM97xx Atmel accelerated touch" depends on TOUCHSCREEN_WM97XX && (AVR32 || ARCH_AT91) help Say Y here for support for streaming mode with WM97xx touchscreens on Atmel AT91 or AVR32 systems with an AC97C module. Be aware that this will use channel B in the controller for streaming data, this must not conflict with other AC97C drivers. If unsure, say N. To compile this driver as a module, choose M here: the module will be called atmel-wm97xx. config TOUCHSCREEN_WM97XX_MAINSTONE tristate "WM97xx Mainstone/Palm accelerated touch" depends on TOUCHSCREEN_WM97XX && ARCH_PXA help Say Y here for support for streaming mode with WM97xx touchscreens on Mainstone, Palm Tungsten T5, TX and LifeDrive systems. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mainstone-wm97xx. config TOUCHSCREEN_WM97XX_ZYLONITE tristate "Zylonite accelerated touch" depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE select TOUCHSCREEN_WM9713 help Say Y here for support for streaming mode with the touchscreen on Zylonite systems. If unsure, say N. To compile this driver as a module, choose M here: the module will be called zylonite-wm97xx. config TOUCHSCREEN_USB_COMPOSITE tristate "USB Touchscreen Driver" depends on USB_ARCH_HAS_HCD select USB help USB Touchscreen driver for: - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) - PanJit TouchSet USB - 3M MicroTouch USB (EX II series) - ITM - some other eTurboTouch - Gunze AHL61 - DMC TSC-10/25 - IRTOUCHSYSTEMS/UNITOP - IdealTEK URTC1000 - GoTop Super_Q2/GogoPen/PenPower tablets - JASTEC USB Touch Controller/DigiTech DTR-02U - Zytronic controllers - Elo TouchSystems 2700 IntelliTouch - EasyTouch USB Touch Controller from Data Modul - e2i (Mimo monitors) Have a look at for a usage description and the required user-space stuff. To compile this driver as a module, choose M here: the module will be called usbtouchscreen. config TOUCHSCREEN_MC13783 tristate "Freescale MC13783 touchscreen input driver" depends on MFD_MC13783 help Say Y here if you have an Freescale MC13783 PMIC on your board and want to use its touchscreen If unsure, say N. To compile this driver as a module, choose M here: the module will be called mc13783_ts. config TOUCHSCREEN_USB_EGALAX default y bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_PANJIT default y bool "PanJit device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_3M default y bool "3M/Microtouch EX II series device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ITM default y bool "ITM device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ETURBO default y bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GUNZE default y bool "Gunze AHL61 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_DMC_TSC10 default y bool "DMC TSC-10/25 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_IRTOUCH default y bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_IDEALTEK default y bool "IdealTEK URTC1000 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GENERAL_TOUCH default y bool "GeneralTouch Touchscreen device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GOTOP default y bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_JASTEC default y bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ELO default y bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_E2I default y bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ZYTRONIC default y bool "Zytronic controller" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ETT_TC45USB default y bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_NEXIO default y bool "NEXIO/iNexio device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_EASYTOUCH default y bool "EasyTouch USB Touch controller device support" if EMBEDDED depends on TOUCHSCREEN_USB_COMPOSITE help Say Y here if you have an EasyTouch USB Touch controller. If unsure, say N. config TOUCHSCREEN_TOUCHIT213 tristate "Sahara TouchIT-213 touchscreen" select SERIO help Say Y here if you have a Sahara TouchIT-213 Tablet PC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchit213. config TOUCHSCREEN_TSC_SERIO tristate "TSC-10/25/40 serial touchscreen support" select SERIO help Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc40. config TOUCHSCREEN_TSC2005 tristate "TSC2005 based touchscreens" depends on SPI_MASTER help Say Y here if you have a TSC2005 based touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc2005. config TOUCHSCREEN_TSC2007 tristate "TSC2007 based touchscreens" depends on I2C help Say Y here if you have a TSC2007 based touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc2007. config TOUCHSCREEN_W90X900 tristate "W90P910 touchscreen driver" depends on HAVE_CLK help Say Y here if you have a W90P910 based touchscreen. To compile this driver as a module, choose M here: the module will be called w90p910_ts. config TOUCHSCREEN_PCAP tristate "Motorola PCAP touchscreen" depends on EZX_PCAP help Say Y here if you have a Motorola EZX telephone and want to enable support for the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called pcap_ts. config TOUCHSCREEN_ST1232 tristate "Sitronix ST1232 touchscreen controllers" depends on I2C help Say Y here if you want to support Sitronix ST1232 touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called st1232_ts. config TOUCHSCREEN_STMPE tristate "STMicroelectronics STMPE touchscreens" depends on MFD_STMPE help Say Y here if you want support for STMicroelectronics STMPE touchscreen controllers. To compile this driver as a module, choose M here: the module will be called stmpe-ts. config TOUCHSCREEN_SUR40 tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen" depends on USB select INPUT_POLLDEV help Say Y here if you want support for the Samsung SUR40 touchscreen (also known as Microsoft Surface 2.0 or Microsoft PixelSense). To compile this driver as a module, choose M here: the module will be called sur40. config TOUCHSCREEN_TPS6507X tristate "TPS6507x based touchscreens" depends on I2C select INPUT_POLLDEV help Say Y here if you have a TPS6507x based touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tps6507x_ts. config TOUCHSCREEN_ZFORCE tristate "Neonode zForce infrared touchscreens" depends on I2C depends on GPIOLIB help Say Y here if you have a touchscreen using the zforce infraread technology from Neonode. If unsure, say N. To compile this driver as a module, choose M here: the module will be called zforce_ts. endif # IOMMU_API always gets selected by whoever wants it. config IOMMU_API bool menuconfig IOMMU_SUPPORT bool "IOMMU Hardware Support" default y ---help--- Say Y here if you want to compile device drivers for IO Memory Management Units into the kernel. These devices usually allow to remap DMA requests and/or remap interrupts from other devices on the system. if IOMMU_SUPPORT config OF_IOMMU def_bool y depends on OF config FSL_PAMU bool "Freescale IOMMU support" depends on PPC_E500MC select IOMMU_API select GENERIC_ALLOCATOR help Freescale PAMU support. PAMU is the IOMMU present on Freescale QorIQ platforms. PAMU can authorize memory access, remap the memory address, and remap I/O transaction types. # MSM IOMMU support config MSM_IOMMU bool "MSM IOMMU Support" depends on ARCH_MSM8X60 || ARCH_MSM8960 select IOMMU_API help Support for the IOMMUs found on certain Qualcomm SOCs. These IOMMUs allow virtualization of the address space used by most cores within the multimedia subsystem. If unsure, say N here. config IOMMU_PGTABLES_L2 def_bool y depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n # AMD IOMMU support config AMD_IOMMU bool "AMD IOMMU support" select SWIOTLB select PCI_MSI select PCI_ATS select PCI_PRI select PCI_PASID select IOMMU_API depends on X86_64 && PCI && ACPI ---help--- With this option you can enable support for AMD IOMMU hardware in your system. An IOMMU is a hardware component which provides remapping of DMA memory accesses from devices. With an AMD IOMMU you can isolate the DMA memory of different devices and protect the system from misbehaving device drivers or hardware. You can find out if your system has an AMD IOMMU if you look into your BIOS for an option to enable it or if you have an IVRS ACPI table. config AMD_IOMMU_STATS bool "Export AMD IOMMU statistics to debugfs" depends on AMD_IOMMU select DEBUG_FS ---help--- This option enables code in the AMD IOMMU driver to collect various statistics about whats happening in the driver and exports that information to userspace via debugfs. If unsure, say N. config AMD_IOMMU_V2 tristate "AMD IOMMU Version 2 driver" depends on AMD_IOMMU && PROFILING select MMU_NOTIFIER ---help--- This option enables support for the AMD IOMMUv2 features of the IOMMU hardware. Select this option if you want to use devices that support the PCI PRI and PASID interface. # Intel IOMMU support config DMAR_TABLE bool config INTEL_IOMMU bool "Support for Intel IOMMU using DMA Remapping Devices" depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) select IOMMU_API select DMAR_TABLE help DMA remapping (DMAR) devices support enables independent address translations for Direct Memory Access (DMA) from devices. These DMA remapping devices are reported via ACPI tables and include PCI device scope covered by these DMA remapping devices. config INTEL_IOMMU_DEFAULT_ON def_bool y prompt "Enable Intel DMA Remapping Devices by default" depends on INTEL_IOMMU help Selecting this option will enable a DMAR device at boot time if one is found. If this option is not selected, DMAR support can be enabled by passing intel_iommu=on to the kernel. config INTEL_IOMMU_BROKEN_GFX_WA bool "Workaround broken graphics drivers (going away soon)" depends on INTEL_IOMMU && BROKEN && X86 ---help--- Current Graphics drivers tend to use physical address for DMA and avoid using DMA APIs. Setting this config option permits the IOMMU driver to set a unity map for all the OS-visible memory. Hence the driver can continue to use physical addresses for DMA, at least until this option is removed in the 2.6.32 kernel. config INTEL_IOMMU_FLOPPY_WA def_bool y depends on INTEL_IOMMU && X86 ---help--- Floppy disk drivers are known to bypass DMA API calls thereby failing to work when IOMMU is enabled. This workaround will setup a 1:1 mapping for the first 16MiB to make floppy (an ISA device) work. config IRQ_REMAP bool "Support for Interrupt Remapping" depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI select DMAR_TABLE ---help--- Supports Interrupt remapping for IO-APIC and MSI devices. To use x2apic mode in the CPU's which support x2APIC enhancements or to support platforms with CPU's having > 8 bit APIC ID, say Y. # OMAP IOMMU support config OMAP_IOMMU bool "OMAP IOMMU Support" depends on ARCH_OMAP2PLUS select IOMMU_API config OMAP_IOVMM tristate "OMAP IO Virtual Memory Manager Support" depends on OMAP_IOMMU config OMAP_IOMMU_DEBUG tristate "Export OMAP IOMMU/IOVMM internals in DebugFS" depends on OMAP_IOVMM && DEBUG_FS help Select this to see extensive information about the internal state of OMAP IOMMU/IOVMM in debugfs. Say N unless you know you need this. config TEGRA_IOMMU_GART bool "Tegra GART IOMMU Support" depends on ARCH_TEGRA_2x_SOC select IOMMU_API help Enables support for remapping discontiguous physical memory shared with the operating system into contiguous I/O virtual space through the GART (Graphics Address Relocation Table) hardware included on Tegra SoCs. config TEGRA_IOMMU_SMMU bool "Tegra SMMU IOMMU Support" depends on ARCH_TEGRA && TEGRA_AHB select IOMMU_API help Enables support for remapping discontiguous physical memory shared with the operating system into contiguous I/O virtual space through the SMMU (System Memory Management Unit) hardware included on Tegra SoCs. config EXYNOS_IOMMU bool "Exynos IOMMU Support" depends on ARCH_EXYNOS && EXYNOS_DEV_SYSMMU select IOMMU_API help Support for the IOMMU(System MMU) of Samsung Exynos application processor family. This enables H/W multimedia accellerators to see non-linear physical memory chunks as a linear memory in their address spaces If unsure, say N here. config EXYNOS_IOMMU_DEBUG bool "Debugging log for Exynos IOMMU" depends on EXYNOS_IOMMU help Select this to see the detailed log message that shows what happens in the IOMMU driver Say N unless you need kernel log message for IOMMU debugging config SHMOBILE_IPMMU bool config SHMOBILE_IPMMU_TLB bool config SHMOBILE_IOMMU bool "IOMMU for Renesas IPMMU/IPMMUI" default n depends on ARM select IOMMU_API select ARM_DMA_USE_IOMMU select SHMOBILE_IPMMU select SHMOBILE_IPMMU_TLB help Support for Renesas IPMMU/IPMMUI. This option enables remapping of DMA memory accesses from all of the IP blocks on the ICB. Warning: Drivers (including userspace drivers of UIO devices) of the IP blocks on the ICB *must* use addresses allocated from the IPMMU (iova) for DMA with this option enabled. If unsure, say N. choice prompt "IPMMU/IPMMUI address space size" default SHMOBILE_IOMMU_ADDRSIZE_2048MB depends on SHMOBILE_IOMMU help This option sets IPMMU/IPMMUI address space size by adjusting the 1st level page table size. The page table size is calculated as follows: page table size = number of page table entries * 4 bytes number of page table entries = address space size / 1 MiB For example, when the address space size is 2048 MiB, the 1st level page table size is 8192 bytes. config SHMOBILE_IOMMU_ADDRSIZE_2048MB bool "2 GiB" config SHMOBILE_IOMMU_ADDRSIZE_1024MB bool "1 GiB" config SHMOBILE_IOMMU_ADDRSIZE_512MB bool "512 MiB" config SHMOBILE_IOMMU_ADDRSIZE_256MB bool "256 MiB" config SHMOBILE_IOMMU_ADDRSIZE_128MB bool "128 MiB" config SHMOBILE_IOMMU_ADDRSIZE_64MB bool "64 MiB" config SHMOBILE_IOMMU_ADDRSIZE_32MB bool "32 MiB" endchoice config SHMOBILE_IOMMU_L1SIZE int default 8192 if SHMOBILE_IOMMU_ADDRSIZE_2048MB default 4096 if SHMOBILE_IOMMU_ADDRSIZE_1024MB default 2048 if SHMOBILE_IOMMU_ADDRSIZE_512MB default 1024 if SHMOBILE_IOMMU_ADDRSIZE_256MB default 512 if SHMOBILE_IOMMU_ADDRSIZE_128MB default 256 if SHMOBILE_IOMMU_ADDRSIZE_64MB default 128 if SHMOBILE_IOMMU_ADDRSIZE_32MB config SPAPR_TCE_IOMMU bool "sPAPR TCE IOMMU Support" depends on PPC_POWERNV || PPC_PSERIES select IOMMU_API help Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO. config ARM_SMMU bool "ARM Ltd. System MMU (SMMU) Support" depends on ARM64 || (ARM_LPAE && OF) select IOMMU_API select ARM_DMA_USE_IOMMU if ARM help Support for implementations of the ARM System MMU architecture versions 1 and 2. The driver supports both v7l and v8l table formats with 4k and 64k page sizes. Say Y here if your SoC includes an IOMMU device implementing the ARM SMMU architecture. endif # IOMMU_SUPPORT # # IPACK configuration. # menuconfig IPACK_BUS tristate "IndustryPack bus support" depends on HAS_IOMEM ---help--- This option provides support for the IndustryPack framework. There are IndustryPack carrier boards, which interface another bus (such as PCI) to an IndustryPack bus, and IndustryPack modules, that are hosted on these buses. While IndustryPack modules can provide a large variety of functionality, they are most often found in industrial control applications. Say N if unsure. if IPACK_BUS source "drivers/ipack/carriers/Kconfig" source "drivers/ipack/devices/Kconfig" endif # IPACK config BOARD_TPCI200 tristate "Support for the TEWS TPCI-200 IndustryPack carrier board" depends on IPACK_BUS depends on PCI help This driver adds support for the TEWS TPCI200 IndustryPack carrier board. default n config SERIAL_IPOCTAL tristate "IndustryPack IP-OCTAL uart support" depends on IPACK_BUS && TTY help This driver supports the IPOCTAL serial port device for the IndustryPack bus. default n config IRQCHIP def_bool y depends on OF_IRQ config ARM_GIC bool select IRQ_DOMAIN select MULTI_IRQ_HANDLER config GIC_NON_BANKED bool config ARM_NVIC bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config ARM_VIC bool select IRQ_DOMAIN select MULTI_IRQ_HANDLER config ARM_VIC_NR int default 4 if ARCH_S5PV210 default 3 if ARCH_S5PC100 default 2 depends on ARM_VIC help The maximum number of VICs available in the system, for power management. config IMGPDC_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config ORION_IRQCHIP bool select IRQ_DOMAIN select MULTI_IRQ_HANDLER config RENESAS_INTC_IRQPIN bool select IRQ_DOMAIN config RENESAS_IRQC bool select IRQ_DOMAIN config TB10X_IRQC bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config VERSATILE_FPGA_IRQ bool select IRQ_DOMAIN config VERSATILE_FPGA_IRQ_NR int default 4 depends on VERSATILE_FPGA_IRQ # # ISDN device configuration # menuconfig ISDN bool "ISDN support" depends on NET && NETDEVICES depends on !S390 && !UML ---help--- ISDN ("Integrated Services Digital Network", called RNIS in France) is a fully digital telephone service that can be used for voice and data connections. If your computer is equipped with an ISDN adapter you can use it to connect to your Internet service provider (with SLIP or PPP) faster than via a conventional telephone modem (though still much slower than with DSL) or to make and accept voice calls (eg. turning your PC into a software answering machine or PABX). Select this option if you want your kernel to support ISDN. if ISDN menuconfig ISDN_I4L tristate "Old ISDN4Linux (deprecated)" depends on TTY ---help--- This driver allows you to use an ISDN adapter for networking connections and as dialin/out device. The isdn-tty's have a built in AT-compatible modem emulator. Network devices support autodial, channel-bundling, callback and caller-authentication without having a daemon running. A reduced T.70 protocol is supported with tty's suitable for German BTX. On D-Channel, the protocols EDSS1 (Euro-ISDN) and 1TR6 (German style) are supported. See for more information. ISDN support in the linux kernel is moving towards a new API, called CAPI (Common ISDN Application Programming Interface). Therefore the old ISDN4Linux layer will eventually become obsolete. It is still available, though, for use with adapters that are not supported by the new CAPI subsystem yet. source "drivers/isdn/i4l/Kconfig" menuconfig ISDN_CAPI tristate "CAPI 2.0 subsystem" help This provides CAPI (the Common ISDN Application Programming Interface) Version 2.0, a standard making it easy for programs to access ISDN hardware in a device independent way. (For details see .) CAPI supports making and accepting voice and data connections, controlling call options and protocols, as well as ISDN supplementary services like call forwarding or three-party conferences (if supported by the specific hardware driver). Select this option and the appropriate hardware driver below if you have an ISDN adapter supported by the CAPI subsystem. if ISDN_CAPI source "drivers/isdn/capi/Kconfig" source "drivers/isdn/hardware/Kconfig" endif # ISDN_CAPI source "drivers/isdn/gigaset/Kconfig" source "drivers/isdn/hysdn/Kconfig" source "drivers/isdn/mISDN/Kconfig" config ISDN_HDLC tristate select CRC_CCITT select BITREVERSE endif # ISDN config ISDN_DRV_ACT2000 tristate "IBM Active 2000 support" depends on ISA help Say Y here if you have an IBM Active 2000 ISDN card. In order to use this card, additional firmware is necessary, which has to be loaded into the card using a utility which is part of the latest isdn4k-utils package. Please read the file for more information. config ISDN_DRV_AVMB1_VERBOSE_REASON bool "Verbose reason code reporting" default y help If you say Y here, the CAPI drivers will give verbose reasons for disconnecting. This will increase the size of the kernel by 7 KB. If unsure, say Y. config CAPI_TRACE bool "CAPI trace support" default y help If you say Y here, the kernelcapi driver can make verbose traces of CAPI messages. This feature can be enabled/disabled via IOCTL for every controller (default disabled). This will increase the size of the kernelcapi module by 20 KB. If unsure, say Y. config ISDN_CAPI_MIDDLEWARE bool "CAPI2.0 Middleware support" depends on TTY help This option will enhance the capabilities of the /dev/capi20 interface. It will provide a means of moving a data connection, established via the usual /dev/capi20 interface to a special tty device. If you want to use pppd with pppdcapiplugin to dial up to your ISP, say Y here. config ISDN_CAPI_CAPI20 tristate "CAPI2.0 /dev/capi support" help This option will provide the CAPI 2.0 interface to userspace applications via /dev/capi20. Applications should use the standardized libcapi20 to access this functionality. You should say Y/M here. config ISDN_CAPI_CAPIDRV tristate "CAPI2.0 capidrv interface support" depends on ISDN_I4L help This option provides the glue code to hook up CAPI driven cards to the legacy isdn4linux link layer. If you have a card which is supported by a CAPI driver, but still want to use old features like ippp interfaces or ttyI emulation, say Y/M here. menuconfig ISDN_DRV_GIGASET tristate "Siemens Gigaset support" depends on TTY select CRC_CCITT select BITREVERSE help This driver supports the Siemens Gigaset SX205/255 family of ISDN DECT bases, including the predecessors Gigaset 3070/3075 and 4170/4175 and their T-Com versions Sinus 45isdn and Sinus 721X. If you have one of these devices, say M here and for at least one of the connection specific parts that follow. This will build a module called "gigaset". Note: If you build your ISDN subsystem (ISDN_CAPI or ISDN_I4L) as a module, you have to build this driver as a module too, otherwise the Gigaset device won't show up as an ISDN device. if ISDN_DRV_GIGASET config GIGASET_CAPI bool "Gigaset CAPI support" depends on ISDN_CAPI='y'||(ISDN_CAPI='m'&&ISDN_DRV_GIGASET='m') default ISDN_I4L='n' help Build the Gigaset driver as a CAPI 2.0 driver interfacing with the Kernel CAPI subsystem. To use it with the old ISDN4Linux subsystem you'll have to enable the capidrv glue driver. (select ISDN_CAPI_CAPIDRV.) Say N to build the old native ISDN4Linux variant. If unsure, say Y. config GIGASET_I4L bool depends on ISDN_I4L='y'||(ISDN_I4L='m'&&ISDN_DRV_GIGASET='m') default !GIGASET_CAPI config GIGASET_DUMMYLL bool default !GIGASET_CAPI&&!GIGASET_I4L config GIGASET_BASE tristate "Gigaset base station support" depends on USB help Say M here if you want to use the USB interface of the Gigaset base for connection to your system. This will build a module called "bas_gigaset". config GIGASET_M105 tristate "Gigaset M105 support" depends on USB help Say M here if you want to connect to the Gigaset base via DECT using a Gigaset M105 (Sinus 45 Data 2) USB DECT device. This will build a module called "usb_gigaset". config GIGASET_M101 tristate "Gigaset M101 support" help Say M here if you want to connect to the Gigaset base via DECT using a Gigaset M101 (Sinus 45 Data 1) RS232 DECT device. This will build a module called "ser_gigaset". config GIGASET_DEBUG bool "Gigaset debugging" help This enables debugging code in the Gigaset drivers. If in doubt, say yes. endif # ISDN_DRV_GIGASET # # ISDN hardware drivers # comment "CAPI hardware drivers" source "drivers/isdn/hardware/avm/Kconfig" source "drivers/isdn/hardware/eicon/Kconfig" # # ISDN AVM drivers # menuconfig CAPI_AVM bool "Active AVM cards" help Enable support for AVM active ISDN cards. if CAPI_AVM config ISDN_DRV_AVMB1_B1ISA tristate "AVM B1 ISA support" depends on ISA help Enable support for the ISA version of the AVM B1 card. config ISDN_DRV_AVMB1_B1PCI tristate "AVM B1 PCI support" depends on PCI help Enable support for the PCI version of the AVM B1 card. config ISDN_DRV_AVMB1_B1PCIV4 bool "AVM B1 PCI V4 support" depends on ISDN_DRV_AVMB1_B1PCI help Enable support for the V4 version of AVM B1 PCI card. config ISDN_DRV_AVMB1_T1ISA tristate "AVM T1/T1-B ISA support" depends on ISA help Enable support for the AVM T1 T1B card. Note: This is a PRI card and handle 30 B-channels. config ISDN_DRV_AVMB1_B1PCMCIA tristate "AVM B1/M1/M2 PCMCIA support" depends on PCMCIA help Enable support for the PCMCIA version of the AVM B1 card. config ISDN_DRV_AVMB1_AVM_CS tristate "AVM B1/M1/M2 PCMCIA cs module" depends on ISDN_DRV_AVMB1_B1PCMCIA help Enable the PCMCIA client driver for the AVM B1/M1/M2 PCMCIA cards. config ISDN_DRV_AVMB1_T1PCI tristate "AVM T1/T1-B PCI support" depends on PCI help Enable support for the AVM T1 T1B card. Note: This is a PRI card and handle 30 B-channels. config ISDN_DRV_AVMB1_C4 tristate "AVM C4/C2 support" depends on PCI help Enable support for the AVM C4/C2 PCI cards. These cards handle 4/2 BRI ISDN lines (8/4 channels). endif # CAPI_AVM # # ISDN DIVAS Eicon driver # menuconfig CAPI_EICON bool "Active Eicon DIVA Server cards" help Enable support for Eicon Networks active ISDN cards. if CAPI_EICON config ISDN_DIVAS tristate "Support Eicon DIVA Server cards" depends on PROC_FS && PCI help Say Y here if you have an Eicon Networks DIVA Server PCI ISDN card. In order to use this card, additional firmware is necessary, which has to be downloaded into the card using the divactrl utility. if ISDN_DIVAS config ISDN_DIVAS_BRIPCI bool "DIVA Server BRI/PCI support" help Enable support for DIVA Server BRI-PCI. config ISDN_DIVAS_PRIPCI bool "DIVA Server PRI/PCI support" help Enable support for DIVA Server PRI-PCI. config ISDN_DIVAS_DIVACAPI tristate "DIVA CAPI2.0 interface support" help You need this to provide the CAPI interface for DIVA Server cards. config ISDN_DIVAS_USERIDI tristate "DIVA User-IDI interface support" help Enable support for user-mode IDI interface. config ISDN_DIVAS_MAINT tristate "DIVA Maint driver support" depends on m help Enable Divas Maintenance driver. endif # ISDN_DIVAS endif # CAPI_EICON # # Hardware for mISDN # comment "mISDN hardware drivers" config MISDN_HFCPCI tristate "Support for HFC PCI cards" depends on MISDN depends on PCI help Enable support for cards with Cologne Chip AG's HFC PCI chip. config MISDN_HFCMULTI tristate "Support for HFC multiport cards (HFC-4S/8S/E1)" depends on PCI || 8xx depends on MISDN help Enable support for cards with Cologne Chip AG's HFC multiport chip. There are three types of chips that are quite similar, but the interface is different: * HFC-4S (4 S/T interfaces on one chip) * HFC-8S (8 S/T interfaces on one chip) * HFC-E1 (E1 interface for 2Mbit ISDN) config MISDN_HFCMULTI_8xx boolean "Support for XHFC embedded board in HFC multiport driver" depends on MISDN depends on MISDN_HFCMULTI depends on 8xx default 8xx help Enable support for the XHFC embedded solution from Speech Design. config MISDN_HFCUSB tristate "Support for HFC-S USB based TAs" depends on USB help Enable support for USB ISDN TAs with Cologne Chip AG's HFC-S USB ISDN Controller config MISDN_AVMFRITZ tristate "Support for AVM FRITZ!CARD PCI" depends on MISDN depends on PCI select MISDN_IPAC help Enable support for AVMs FRITZ!CARD PCI cards config MISDN_SPEEDFAX tristate "Support for Sedlbauer Speedfax+" depends on MISDN depends on PCI select MISDN_IPAC select MISDN_ISAR help Enable support for Sedlbauer Speedfax+. config MISDN_INFINEON tristate "Support for cards with Infineon chipset" depends on MISDN depends on PCI select MISDN_IPAC help Enable support for cards with ISAC + HSCX, IPAC or IPAC-SX chip from Infineon (former manufacturer Siemens). config MISDN_W6692 tristate "Support for cards with Winbond 6692" depends on MISDN depends on PCI help Enable support for Winbond 6692 PCI chip based cards. config MISDN_NETJET tristate "Support for NETJet cards" depends on MISDN depends on PCI depends on TTY select MISDN_IPAC select ISDN_HDLC select ISDN_I4L help Enable support for Traverse Technologies NETJet PCI cards. config MISDN_IPAC tristate depends on MISDN config MISDN_ISAR tristate depends on MISDN menu "Passive cards" config ISDN_DRV_HISAX tristate "HiSax SiemensChipSet driver support" select CRC_CCITT ---help--- This is a driver supporting the Siemens chipset on various ISDN-cards (like AVM A1, Elsa ISDN cards, Teles S0-16.0, Teles S0-16.3, Teles S0-8, Teles/Creatix PnP, ITK micro ix1 and many compatibles). HiSax is just the name of this driver, not the name of any hardware. If you have a card with such a chipset, you should say Y here and also to the configuration option of the driver for your particular card, below. if ISDN_DRV_HISAX!=n comment "D-channel protocol features" config HISAX_EURO bool "HiSax Support for EURO/DSS1" help Say Y or N according to the D-channel protocol which your local telephone service company provides. The call control protocol E-DSS1 is used in most European countries. If unsure, say Y. config DE_AOC bool "Support for german chargeinfo" depends on HISAX_EURO help If you want that the HiSax hardware driver sends messages to the upper level of the isdn code on each AOCD (Advice Of Charge, During the call -- transmission of the fee information during a call) and on each AOCE (Advice Of Charge, at the End of the call -- transmission of fee information at the end of the call), say Y here. This works only in Germany. config HISAX_NO_SENDCOMPLETE bool "Disable sending complete" depends on HISAX_EURO help If you have trouble with some ugly exchanges or you live in Australia select this option. config HISAX_NO_LLC bool "Disable sending low layer compatibility" depends on HISAX_EURO help If you have trouble with some ugly exchanges try to select this option. config HISAX_NO_KEYPAD bool "Disable keypad protocol option" depends on HISAX_EURO help If you like to send special dial strings including * or # without using the keypad protocol, select this option. config HISAX_1TR6 bool "HiSax Support for german 1TR6" help Say Y or N according to the D-channel protocol which your local telephone service company provides. 1TR6 is an old call control protocol which was used in Germany before E-DSS1 was established. Nowadays, all new lines in Germany use E-DSS1. config HISAX_NI1 bool "HiSax Support for US NI1" help Enable this if you like to use ISDN in US on a NI1 basic rate interface. config HISAX_MAX_CARDS int "Maximum number of cards supported by HiSax" default "8" help This option allows you to specify the maximum number of cards which the HiSax driver will be able to handle. comment "HiSax supported cards" config HISAX_16_0 bool "Teles 16.0/8.0" depends on ISA help This enables HiSax support for the Teles ISDN-cards S0-16.0, S0-8 and many compatibles. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port/shmem settings. config HISAX_16_3 bool "Teles 16.3 or PNP or PCMCIA" help This enables HiSax support for the Teles ISDN-cards S0-16.3 the Teles/Creatix PnP and the Teles PCMCIA. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_TELESPCI bool "Teles PCI" depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN))) help This enables HiSax support for the Teles PCI. See on how to configure it. config HISAX_S0BOX bool "Teles S0Box" help This enables HiSax support for the Teles/Creatix parallel port S0BOX. See on how to configure it. config HISAX_AVM_A1 bool "AVM A1 (Fritz)" depends on ISA help This enables HiSax support for the AVM A1 (aka "Fritz"). See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_FRITZPCI bool "AVM PnP/PCI (Fritz!PnP/PCI)" depends on BROKEN || !PPC64 help This enables HiSax support for the AVM "Fritz!PnP" and "Fritz!PCI". See on how to configure it. config HISAX_AVM_A1_PCMCIA bool "AVM A1 PCMCIA (Fritz)" help This enables HiSax support for the AVM A1 "Fritz!PCMCIA"). See on how to configure it. config HISAX_ELSA bool "Elsa cards" help This enables HiSax support for the Elsa Mircolink ISA cards, for the Elsa Quickstep series cards and Elsa PCMCIA. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_IX1MICROR2 bool "ITK ix1-micro Revision 2" depends on ISA help This enables HiSax support for the ITK ix1-micro Revision 2 card. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_DIEHLDIVA bool "Eicon.Diehl Diva cards" help This enables HiSax support for the Eicon.Diehl Diva none PRO versions passive ISDN cards. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_ASUSCOM bool "ASUSCOM ISA cards" depends on ISA help This enables HiSax support for the AsusCom and their OEM versions passive ISDN ISA cards. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_TELEINT bool "TELEINT cards" depends on ISA help This enables HiSax support for the TELEINT SA1 semiactiv ISDN card. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_HFCS bool "HFC-S based cards" depends on ISA help This enables HiSax support for the HFC-S 2BDS0 based cards, like teles 16.3c. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_SEDLBAUER bool "Sedlbauer cards" help This enables HiSax support for the Sedlbauer passive ISDN cards. See on how to configure it using the different cards, a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_SPORTSTER bool "USR Sportster internal TA" depends on ISA help This enables HiSax support for the USR Sportster internal TA card. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_MIC bool "MIC card" depends on ISA help This enables HiSax support for the ITH MIC card. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_NETJET bool "NETjet card" depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN))) depends on VIRT_TO_BUS help This enables HiSax support for the NetJet from Traverse Technologies. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_NETJET_U bool "NETspider U card" depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN))) depends on VIRT_TO_BUS help This enables HiSax support for the Netspider U interface ISDN card from Traverse Technologies. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_NICCY bool "Niccy PnP/PCI card" help This enables HiSax support for the Dr. Neuhaus Niccy PnP or PCI. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_ISURF bool "Siemens I-Surf card" depends on ISA help This enables HiSax support for the Siemens I-Talk/I-Surf card with ISAR chip. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_HSTSAPHIR bool "HST Saphir card" depends on ISA help This enables HiSax support for the HST Saphir card. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_BKM_A4T bool "Telekom A4T card" depends on PCI help This enables HiSax support for the Telekom A4T card. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_SCT_QUADRO bool "Scitel Quadro card" depends on PCI help This enables HiSax support for the Scitel Quadro card. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_GAZEL bool "Gazel cards" help This enables HiSax support for the Gazel cards. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_HFC_PCI bool "HFC PCI-Bus cards" depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN))) help This enables HiSax support for the HFC-S PCI 2BDS0 based cards. For more information see under . config HISAX_W6692 bool "Winbond W6692 based cards" depends on PCI help This enables HiSax support for Winbond W6692 based PCI ISDN cards. See on how to configure it using a different D-channel protocol, or non-standard IRQ/port settings. config HISAX_HFC_SX bool "HFC-S+, HFC-SP, HFC-PCMCIA cards" help This enables HiSax support for the HFC-S+, HFC-SP and HFC-PCMCIA cards. This code is not finished yet. config HISAX_ENTERNOW_PCI bool "Formula-n enter:now PCI card" depends on HISAX_NETJET && PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN))) help This enables HiSax support for the Formula-n enter:now PCI ISDN card. endif if ISDN_DRV_HISAX config HISAX_DEBUG bool "HiSax debugging" help This enables debugging code in the new-style HiSax drivers, i.e. the ST5481 USB driver currently. If in doubt, say yes. comment "HiSax PCMCIA card service modules" config HISAX_SEDLBAUER_CS tristate "Sedlbauer PCMCIA cards" depends on PCMCIA && HISAX_SEDLBAUER help This enables the PCMCIA client driver for the Sedlbauer Speed Star and Speed Star II cards. config HISAX_ELSA_CS tristate "ELSA PCMCIA MicroLink cards" depends on PCMCIA && HISAX_ELSA help This enables the PCMCIA client driver for the Elsa PCMCIA MicroLink card. config HISAX_AVM_A1_CS tristate "AVM A1 PCMCIA cards" depends on PCMCIA && ISDN_DRV_HISAX help This enables the PCMCIA client driver for the AVM A1 / Fritz!Card PCMCIA cards. config HISAX_TELES_CS tristate "TELES PCMCIA cards" depends on PCMCIA && HISAX_16_3 help This enables the PCMCIA client driver for the Teles PCMCIA cards. comment "HiSax sub driver modules" config HISAX_ST5481 tristate "ST5481 USB ISDN modem" depends on USB select ISDN_HDLC select CRC_CCITT select BITREVERSE help This enables the driver for ST5481 based USB ISDN adapters, e.g. the BeWan Gazel 128 USB config HISAX_HFCUSB tristate "HFC USB based ISDN modems" depends on USB help This enables the driver for HFC USB based ISDN modems. config HISAX_HFC4S8S tristate "HFC-4S/8S based ISDN cards" help This enables the driver for HFC-4S/8S based ISDN cards. config HISAX_FRITZ_PCIPNP tristate "AVM Fritz!Card PCI/PCIv2/PnP support" depends on PCI help This enables the driver for the AVM Fritz!Card PCI, Fritz!Card PCI v2 and Fritz!Card PnP. (the latter also needs you to select "ISA Plug and Play support" from the menu "Plug and Play configuration") config HISAX_AVM_A1_PCMCIA bool depends on HISAX_AVM_A1_CS default y endif endmenu config HYSDN tristate "Hypercope HYSDN cards (Champ, Ergo, Metro) support (module only)" depends on m && PROC_FS && PCI help Say Y here if you have one of Hypercope's active PCI ISDN cards Champ, Ergo and Metro. You will then get a module called hysdn. Please read the file for more information. config HYSDN_CAPI bool "HYSDN CAPI 2.0 support" depends on HYSDN && ISDN_CAPI help Say Y here if you like to use Hypercope's CAPI 2.0 interface. # # Old ISDN4Linux config # if ISDN_I4L config ISDN_PPP bool "Support synchronous PPP" depends on INET select SLHC help Over digital connections such as ISDN, there is no need to synchronize sender and recipient's clocks with start and stop bits as is done over analog telephone lines. Instead, one can use "synchronous PPP". Saying Y here will include this protocol. This protocol is used by Cisco and Sun for example. So you want to say Y here if the other end of your ISDN connection supports it. You will need a special version of pppd (called ipppd) for using this feature. See and for more information. config ISDN_PPP_VJ bool "Use VJ-compression with synchronous PPP" depends on ISDN_PPP help This enables Van Jacobson header compression for synchronous PPP. Say Y if the other end of the connection supports it. config ISDN_MPP bool "Support generic MP (RFC 1717)" depends on ISDN_PPP help With synchronous PPP enabled, it is possible to increase throughput by bundling several ISDN-connections, using this protocol. See for more information. config IPPP_FILTER bool "Filtering for synchronous PPP" depends on ISDN_PPP help Say Y here if you want to be able to filter the packets passing over IPPP interfaces. This allows you to control which packets count as activity (i.e. which packets will reset the idle timer or bring up a demand-dialled link) and which packets are to be dropped entirely. You need to say Y here if you wish to use the pass-filter and active-filter options to ipppd. config ISDN_PPP_BSDCOMP tristate "Support BSD compression" depends on ISDN_PPP help Support for the BSD-Compress compression method for PPP, which uses the LZW compression method to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the BSD-Compress compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. config ISDN_AUDIO bool "Support audio via ISDN" help If you say Y here, the modem-emulator will support a subset of the EIA Class 8 Voice commands. Using a getty with voice-support (mgetty+sendfax by with an extension, available with the ISDN utility package for example), you will be able to use your Linux box as an ISDN-answering machine. Of course, this must be supported by the lowlevel driver also. Currently, the HiSax driver is the only voice-supporting driver. See for more information. config ISDN_TTY_FAX bool "Support AT-Fax Class 1 and 2 commands" depends on ISDN_AUDIO help If you say Y here, the modem-emulator will support a subset of the Fax Class 1 and 2 commands. Using a getty with fax-support (mgetty+sendfax, hylafax), you will be able to use your Linux box as an ISDN-fax-machine. This must be supported by the lowlevel driver also. See for more information. config ISDN_X25 bool "X.25 PLP on top of ISDN" depends on X25 help This feature provides the X.25 protocol over ISDN connections. See for more information if you are thinking about using this. menu "ISDN feature submodules" config ISDN_DRV_LOOP tristate "isdnloop support" depends on BROKEN_ON_SMP help This driver provides a virtual ISDN card. Its primary purpose is testing of linklevel features or configuration without getting charged by your service-provider for lots of phone calls. You need will need the loopctrl utility from the latest isdn4k-utils package to set up this driver. config ISDN_DIVERSION tristate "Support isdn diversion services" help This option allows you to use some supplementary diversion services in conjunction with the HiSax driver on an EURO/DSS1 line. Supported options are CD (call deflection), CFU (Call forward unconditional), CFB (Call forward when busy) and CFNR (call forward not reachable). Additionally the actual CFU, CFB and CFNR state may be interrogated. The use of CFU, CFB, CFNR and interrogation may be limited to some countries. The keypad protocol is still not implemented. CD should work in all countries if the service has been subscribed to. Please read the file . endmenu comment "ISDN4Linux hardware drivers" source "drivers/isdn/hisax/Kconfig" menu "Active cards" source "drivers/isdn/icn/Kconfig" source "drivers/isdn/pcbit/Kconfig" source "drivers/isdn/sc/Kconfig" source "drivers/isdn/act2000/Kconfig" endmenu # end ISDN_I4L endif config ISDN_DRV_ICN tristate "ICN 2B and 4B support" depends on ISA help This enables support for two kinds of ISDN-cards made by a German company called ICN. 2B is the standard version for a single ISDN line with two B-channels, 4B supports two ISDN lines. For running this card, additional firmware is necessary, which has to be downloaded into the card using a utility which is distributed separately. See and for more information. # # modularer ISDN driver # menuconfig MISDN tristate "Modular ISDN driver" help Enable support for the modular ISDN driver. if MISDN != n config MISDN_DSP tristate "Digital Audio Processing of transparent data" depends on MISDN help Enable support for digital audio processing capability. This module may be used for special applications that require cross connecting of bchannels, conferencing, dtmf decoding, echo cancelation, tone generation, and Blowfish encryption and decryption. It may use hardware features if available. E.g. it is required for PBX4Linux. Go to http://isdn.eversberg.eu and get more information about this module and its usage. If unsure, say 'N'. config MISDN_L1OIP tristate "ISDN over IP tunnel" depends on MISDN help Enable support for ISDN over IP tunnel. It features: - dynamic IP exchange, if one or both peers have dynamic IPs - BRI (S0) and PRI (S2M) interface - layer 1 control via network keepalive frames - direct tunneling of physical interface via IP NOTE: This protocol is called 'Layer 1 over IP' and is not compatible with ISDNoIP (Agfeo) or TDMoIP. Protocol description is provided in the source code. source "drivers/isdn/hardware/mISDN/Kconfig" endif #MISDN config ISDN_DRV_PCBIT tristate "PCBIT-D support" depends on ISA && (BROKEN || X86) help This enables support for the PCBIT ISDN-card. This card is manufactured in Portugal by Octal. For running this card, additional firmware is necessary, which has to be downloaded into the card using a utility which is distributed separately. See and for more information. config ISDN_DRV_SC tristate "Spellcaster support" depends on ISA help This enables support for the Spellcaster BRI ISDN boards. This driver currently builds only in a modularized version. To build it, choose M here: the module will be called sc. See for more information. config LEDS_GPIO_REGISTER bool help This option provides the function gpio_led_register_device. As this function is used by arch code it must not be compiled as a module. menuconfig NEW_LEDS bool "LED Support" help Say Y to enable Linux LED support. This allows control of supported LEDs from both userspace and optionally, by kernel events (triggers). This is not related to standard keyboard LEDs which are controlled via the input system. if NEW_LEDS config LEDS_CLASS tristate "LED Class Support" help This option enables the led sysfs class in /sys/class/leds. You'll need this to do anything useful with LEDs. If unsure, say N. comment "LED drivers" config LEDS_88PM860X tristate "LED Support for Marvell 88PM860x PMIC" depends on LEDS_CLASS depends on MFD_88PM860X help This option enables support for on-chip LED drivers found on Marvell Semiconductor 88PM8606 PMIC. config LEDS_ATMEL_PWM tristate "LED Support using Atmel PWM outputs" depends on LEDS_CLASS depends on ATMEL_PWM help This option enables support for LEDs driven using outputs of the dedicated PWM controller found on newer Atmel SOCs. config LEDS_LM3530 tristate "LCD Backlight driver for LM3530" depends on LEDS_CLASS depends on I2C help This option enables support for the LCD backlight using LM3530 ambient light sensor chip. This ALS chip can be controlled manually or using PWM input or using ambient light automatically. config LEDS_LM3533 tristate "LED support for LM3533" depends on LEDS_CLASS depends on MFD_LM3533 help This option enables support for the LEDs on National Semiconductor / TI LM3533 Lighting Power chips. The LEDs can be controlled directly, through PWM input, or by the ambient-light-sensor interface. The chip supports hardware-accelerated blinking with maximum on and off periods of 9.8 and 77 seconds respectively. config LEDS_LM3642 tristate "LED support for LM3642 Chip" depends on LEDS_CLASS && I2C select REGMAP_I2C help This option enables support for LEDs connected to LM3642. The LM3642 is a 4MHz fixed-frequency synchronous boost converter plus 1.5A constant current driver for a high-current white LED. config LEDS_LOCOMO tristate "LED Support for Locomo device" depends on LEDS_CLASS depends on SHARP_LOCOMO help This option enables support for the LEDs on Sharp Locomo. Zaurus models SL-5500 and SL-5600. config LEDS_MIKROTIK_RB532 tristate "LED Support for Mikrotik Routerboard 532" depends on LEDS_CLASS depends on MIKROTIK_RB532 help This option enables support for the so called "User LED" of Mikrotik's Routerboard 532. config LEDS_S3C24XX tristate "LED Support for Samsung S3C24XX GPIO LEDs" depends on LEDS_CLASS depends on ARCH_S3C24XX help This option enables support for LEDs connected to GPIO lines on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440. config LEDS_NET48XX tristate "LED Support for Soekris net48xx series Error LED" depends on LEDS_CLASS depends on SCx200_GPIO help This option enables support for the Soekris net4801 and net4826 error LED. config LEDS_FSG tristate "LED Support for the Freecom FSG-3" depends on LEDS_CLASS depends on MACH_FSG help This option enables support for the LEDs on the Freecom FSG-3. config LEDS_WRAP tristate "LED Support for the WRAP series LEDs" depends on LEDS_CLASS depends on SCx200_GPIO help This option enables support for the PCEngines WRAP programmable LEDs. config LEDS_COBALT_QUBE tristate "LED Support for the Cobalt Qube series front LED" depends on LEDS_CLASS depends on MIPS_COBALT help This option enables support for the front LED on Cobalt Qube series config LEDS_COBALT_RAQ bool "LED Support for the Cobalt Raq series" depends on LEDS_CLASS=y && MIPS_COBALT select LEDS_TRIGGERS help This option enables support for the Cobalt Raq series LEDs. config LEDS_SUNFIRE tristate "LED support for SunFire servers." depends on LEDS_CLASS depends on SPARC64 select LEDS_TRIGGERS help This option enables support for the Left, Middle, and Right LEDs on the I/O and CPU boards of SunFire UltraSPARC servers. config LEDS_HP6XX tristate "LED Support for the HP Jornada 6xx" depends on LEDS_CLASS depends on SH_HP6XX help This option enables LED support for the handheld HP Jornada 620/660/680/690. config LEDS_PCA9532 tristate "LED driver for PCA9532 dimmer" depends on LEDS_CLASS depends on I2C && INPUT help This option enables support for NXP pca9532 LED controller. It is generally only useful as a platform driver config LEDS_PCA9532_GPIO bool "Enable GPIO support for PCA9532" depends on LEDS_PCA9532 depends on GPIOLIB help Allow unused pins on PCA9532 to be used as gpio. To use a pin as gpio pca9532_type in pca9532_platform data needs to set to PCA9532_TYPE_GPIO. config LEDS_GPIO tristate "LED Support for GPIO connected LEDs" depends on LEDS_CLASS depends on GPIOLIB help This option enables support for the LEDs connected to GPIO outputs. To be useful the particular board must have LEDs and they must be connected to the GPIO lines. The LEDs must be defined as platform devices and/or OpenFirmware platform devices. The code to use these bindings can be selected below. config LEDS_LP3944 tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to the National Semiconductor LP3944 Lighting Management Unit (LMU) also known as Fun Light Chip. To compile this driver as a module, choose M here: the module will be called leds-lp3944. config LEDS_LP55XX_COMMON tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501" depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 || LEDS_LP8501 select FW_LOADER help This option supports common operations for LP5521/5523/55231/5562/8501 devices. config LEDS_LP5521 tristate "LED Support for N.S. LP5521 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for the National Semiconductor LP5521 LED driver. It is 3 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP5523 tristate "LED Support for TI/National LP5523/55231 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI/National Semiconductor LP5523/55231 LED driver. It is 9 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP5562 tristate "LED Support for TI LP5562 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI LP5562 LED driver. It is 4 channels chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP8501 tristate "LED Support for TI LP8501 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI LP8501 LED driver. It is 9 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. It is similar as LP5523, but output power selection is available. And register layout and engine program schemes are different. config LEDS_LP8788 tristate "LED support for the TI LP8788 PMIC" depends on LEDS_CLASS depends on MFD_LP8788 help This option enables support for the Keyboard LEDs on the LP8788 PMIC. config LEDS_CLEVO_MAIL tristate "Mail LED on Clevo notebook" depends on LEDS_CLASS depends on X86 && SERIO_I8042 && DMI help This driver makes the mail LED accessible from userspace programs through the leds subsystem. This LED have three known mode: off, blink at 0.5Hz and blink at 1Hz. The driver supports two kinds of interface: using ledtrig-timer or through /sys/class/leds/clevo::mail/brightness. As this LED cannot change it's brightness it blinks instead. The brightness value 0 means off, 1..127 means blink at 0.5Hz and 128..255 means blink at 1Hz. This module can drive the mail LED for the following notebooks: Clevo D400P Clevo D410J Clevo D410V Clevo D400V/D470V (not tested, but might work) Clevo M540N Clevo M5x0N (not tested, but might work) Positivo Mobile (Clevo M5x0V) If your model is not listed here you can try the "nodetect" module parameter. To compile this driver as a module, choose M here: the module will be called leds-clevo-mail. config LEDS_PCA955X tristate "LED Support for PCA955x I2C chips" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to PCA955x LED driver chips accessed via the I2C bus. Supported devices include PCA9550, PCA9551, PCA9552, and PCA9553. config LEDS_PCA963X tristate "LED support for PCA963x I2C chip" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to the PCA963x LED driver chip accessed via the I2C bus. Supported devices include PCA9633 and PCA9634 config LEDS_PCA9685 tristate "LED support for PCA9685 I2C chip" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to the PCA9685 LED driver chip accessed via the I2C bus. The PCA9685 offers 12-bit PWM (4095 levels of brightness) on 16 individual channels. config LEDS_WM831X_STATUS tristate "LED support for status LEDs on WM831x PMICs" depends on LEDS_CLASS depends on MFD_WM831X help This option enables support for the status LEDs of the WM831x series of PMICs. config LEDS_WM8350 tristate "LED Support for WM8350 AudioPlus PMIC" depends on LEDS_CLASS depends on MFD_WM8350 help This option enables support for LEDs driven by the Wolfson Microelectronics WM8350 AudioPlus PMIC. config LEDS_DA903X tristate "LED Support for DA9030/DA9034 PMIC" depends on LEDS_CLASS depends on PMIC_DA903X help This option enables support for on-chip LED drivers found on Dialog Semiconductor DA9030/DA9034 PMICs. config LEDS_DA9052 tristate "Dialog DA9052/DA9053 LEDS" depends on LEDS_CLASS depends on PMIC_DA9052 help This option enables support for on-chip LED drivers found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. config LEDS_DAC124S085 tristate "LED Support for DAC124S085 SPI DAC" depends on LEDS_CLASS depends on SPI help This option enables support for DAC124S085 SPI DAC from NatSemi, which can be used to control up to four LEDs. config LEDS_PWM tristate "PWM driven LED Support" depends on LEDS_CLASS depends on PWM help This option enables support for pwm driven LEDs config LEDS_REGULATOR tristate "REGULATOR driven LED support" depends on LEDS_CLASS depends on REGULATOR help This option enables support for regulator driven LEDs. config LEDS_BD2802 tristate "LED driver for BD2802 RGB LED" depends on LEDS_CLASS depends on I2C help This option enables support for BD2802GU RGB LED driver chips accessed via the I2C bus. config LEDS_INTEL_SS4200 tristate "LED driver for Intel NAS SS4200 series" depends on LEDS_CLASS depends on PCI && DMI help This option enables support for the Intel SS4200 series of Network Attached Storage servers. You may control the hard drive or power LEDs on the front panel. Using this driver can stop the front LED from blinking after startup. config LEDS_LT3593 tristate "LED driver for LT3593 controllers" depends on LEDS_CLASS depends on GPIOLIB help This option enables support for LEDs driven by a Linear Technology LT3593 controller. This controller uses a special one-wire pulse coding protocol to set the brightness. config LEDS_ADP5520 tristate "LED Support for ADP5520/ADP5501 PMIC" depends on LEDS_CLASS depends on PMIC_ADP5520 help This option enables support for on-chip LED drivers found on Analog Devices ADP5520/ADP5501 PMICs. To compile this driver as a module, choose M here: the module will be called leds-adp5520. config LEDS_DELL_NETBOOKS tristate "External LED on Dell Business Netbooks" depends on LEDS_CLASS depends on X86 && ACPI_WMI help This adds support for the Latitude 2100 and similar notebooks that have an external LED. config LEDS_MC13783 tristate "LED Support for MC13XXX PMIC" depends on LEDS_CLASS depends on MFD_MC13XXX help This option enable support for on-chip LED drivers found on Freescale Semiconductor MC13783/MC13892 PMIC. config LEDS_NS2 tristate "LED support for Network Space v2 GPIO LEDs" depends on LEDS_CLASS depends on ARCH_KIRKWOOD default y help This option enable support for the dual-GPIO LED found on the Network Space v2 board (and parents). This include Internet Space v2, Network Space (Max) v2 and d2 Network v2 boards. config LEDS_NETXBIG tristate "LED support for Big Network series LEDs" depends on LEDS_CLASS depends on ARCH_KIRKWOOD default y help This option enable support for LEDs found on the LaCie 2Big and 5Big Network v2 boards. The LEDs are wired to a CPLD and are controlled through a GPIO extension bus. config LEDS_ASIC3 bool "LED support for the HTC ASIC3" depends on LEDS_CLASS=y depends on MFD_ASIC3 default y help This option enables support for the LEDs on the HTC ASIC3. The HTC ASIC3 LED GPIOs are inputs, not outputs, thus the leds-gpio driver cannot be used. This driver supports hardware blinking with an on+off period from 62ms to 125s. Say Y to enable LEDs on the HP iPAQ hx4700. config LEDS_TCA6507 tristate "LED Support for TCA6507 I2C chip" depends on LEDS_CLASS && I2C help This option enables support for LEDs connected to TC6507 LED driver chips accessed via the I2C bus. Driver support brightness control and hardware-assisted blinking. config LEDS_MAX8997 tristate "LED support for MAX8997 PMIC" depends on LEDS_CLASS && MFD_MAX8997 help This option enables support for on-chip LED drivers on MAXIM MAX8997 PMIC. config LEDS_LM355x tristate "LED support for LM355x Chips, LM3554 and LM3556" depends on LEDS_CLASS && I2C select REGMAP_I2C help This option enables support for LEDs connected to LM355x. LM355x includes Torch, Flash and Indicator functions. config LEDS_OT200 tristate "LED support for the Bachmann OT200" depends on LEDS_CLASS && HAS_IOMEM help This option enables support for the LEDs on the Bachmann OT200. Say Y to enable LEDs on the Bachmann OT200. config LEDS_BLINKM tristate "LED support for the BlinkM I2C RGB LED" depends on LEDS_CLASS depends on I2C help This option enables support for the BlinkM RGB LED connected through I2C. Say Y to enable support for the BlinkM LED. comment "LED Triggers" source "drivers/leds/trigger/Kconfig" endif # NEW_LEDS menuconfig LEDS_TRIGGERS bool "LED Trigger support" depends on LEDS_CLASS help This option enables trigger support for the leds class. These triggers allow kernel events to drive the LEDs and can be configured via sysfs. If unsure, say Y. if LEDS_TRIGGERS config LEDS_TRIGGER_TIMER tristate "LED Timer Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be controlled by a programmable timer via sysfs. Some LED hardware can be programmed to start blinking the LED without any further software interaction. For more details read Documentation/leds/leds-class.txt. If unsure, say Y. config LEDS_TRIGGER_ONESHOT tristate "LED One-shot Trigger" depends on LEDS_TRIGGERS help This allows LEDs to blink in one-shot pulses with parameters controlled via sysfs. It's useful to notify the user on sporadic events, when there are no clear begin and end trap points, or on dense events, where this blinks the LED at constant rate if rearmed continuously. It also shows how to use the led_blink_set_oneshot() function. If unsure, say Y. config LEDS_TRIGGER_IDE_DISK bool "LED IDE Disk Trigger" depends on IDE_GD_ATA depends on LEDS_TRIGGERS help This allows LEDs to be controlled by IDE disk activity. If unsure, say Y. config LEDS_TRIGGER_HEARTBEAT tristate "LED Heartbeat Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be controlled by a CPU load average. The flash frequency is a hyperbolic function of the 1-minute load average. If unsure, say Y. config LEDS_TRIGGER_BACKLIGHT tristate "LED backlight Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be controlled as a backlight device: they turn off and on when the display is blanked and unblanked. If unsure, say N. config LEDS_TRIGGER_CPU bool "LED CPU Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be controlled by active CPUs. This shows the active CPUs across an array of LEDs so you can see which CPUs are active on the system at any given moment. If unsure, say N. config LEDS_TRIGGER_GPIO tristate "LED GPIO Trigger" depends on LEDS_TRIGGERS depends on GPIOLIB help This allows LEDs to be controlled by gpio events. It's good when using gpios as switches and triggering the needed LEDs from there. One use case is n810's keypad LEDs that could be triggered by this trigger when user slides up to show keypad. If unsure, say N. config LEDS_TRIGGER_DEFAULT_ON tristate "LED Default ON Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be initialised in the ON state. If unsure, say Y. comment "iptables trigger is under Netfilter config (LED target)" depends on LEDS_TRIGGERS config LEDS_TRIGGER_TRANSIENT tristate "LED Transient Trigger" depends on LEDS_TRIGGERS help This allows one time activation of a transient state on GPIO/PWM based hardware. If unsure, say Y. config LEDS_TRIGGER_CAMERA tristate "LED Camera Flash/Torch Trigger" depends on LEDS_TRIGGERS help This allows LEDs to be controlled as a camera flash/torch device. This enables direct flash/torch on/off by the driver, kernel space. If unsure, say Y. endif # LEDS_TRIGGERS config LGUEST tristate "Linux hypervisor example code" depends on X86_32 && EVENTFD && TTY select HVC_DRIVER ---help--- This is a very simple module which allows you to run multiple instances of the same Linux kernel, using the "lguest" command found in the tools/lguest directory. Note that "lguest" is pronounced to rhyme with "fell quest", not "rustyvisor". See tools/lguest/lguest.txt. If unsure, say N. If curious, say M. If masochistic, say Y. menuconfig MACINTOSH_DRIVERS bool "Macintosh device drivers" depends on PPC || MAC || X86 default y if (PPC_PMAC || MAC) ---help--- Say Y here to get to see options for devices used with Macintosh computers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if MACINTOSH_DRIVERS config ADB bool "Apple Desktop Bus (ADB) support" depends on MAC || (PPC_PMAC && PPC32) help Apple Desktop Bus (ADB) support is for support of devices which are connected to an ADB port. ADB devices tend to have 4 pins. If you have an Apple Macintosh prior to the iMac, an iBook or PowerBook, or a "Blue and White G3", you probably want to say Y here. Otherwise say N. config ADB_MACII bool "Include Mac II ADB driver" depends on ADB && MAC help Say Y here if want your kernel to support Macintosh systems that use the Mac II style ADB. This includes the II, IIx, IIcx, SE/30, IIci, Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and Centris 650. config ADB_MACIISI bool "Include Mac IIsi ADB driver" depends on ADB && MAC help Say Y here if want your kernel to support Macintosh systems that use the Mac IIsi style ADB. This includes the IIsi, IIvi, IIvx, Classic II, LC, LC II, LC III, Performa 460, and the Performa 600. config ADB_IOP bool "Include IOP (IIfx/Quadra 9x0) ADB driver" depends on ADB && MAC help The I/O Processor (IOP) is an Apple custom IC designed to provide intelligent support for I/O controllers. It is described at to enable direct support for it, say 'Y' here. config ADB_PMU68K bool "Include PMU (Powerbook) ADB driver" depends on ADB && MAC help Say Y here if want your kernel to support the m68k based Powerbooks. This includes the PowerBook 140, PowerBook 145, PowerBook 150, PowerBook 160, PowerBook 165, PowerBook 165c, PowerBook 170, PowerBook 180, PowerBook, 180c, PowerBook 190cs, PowerBook 520, PowerBook Duo 210, PowerBook Duo 230, PowerBook Duo 250, PowerBook Duo 270c, PowerBook Duo 280 and PowerBook Duo 280c. # we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU config ADB_CUDA bool "Support for CUDA based Macs and PowerMacs" depends on (ADB || PPC_PMAC) && !PPC_PMAC64 help This provides support for CUDA based Macintosh and Power Macintosh systems. This includes many m68k based Macs (Color Classic, Mac TV, Performa 475, Performa 520, Performa 550, Performa 575, Performa 588, Quadra 605, Quadra 630, Quadra/Centris 660AV, and Quadra 840AV), most OldWorld PowerMacs, the first generation iMacs, the Blue&White G3 and the "Yikes" G4 (PCI Graphics). All later models should use CONFIG_ADB_PMU instead. It is safe to say Y here even if your machine doesn't have a CUDA. If unsure say Y. config ADB_PMU bool "Support for PMU based PowerMacs" depends on PPC_PMAC help On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the PMU is an embedded microprocessor whose primary function is to control system power, and battery charging on the portable models. The PMU also controls the ADB (Apple Desktop Bus) which connects to the keyboard and mouse on some machines, as well as the non-volatile RAM and the RTC (real time clock) chip. Say Y to enable support for this device; you should do so if your machine is one of those mentioned above. config ADB_PMU_LED bool "Support for the Power/iBook front LED" depends on ADB_PMU select NEW_LEDS select LEDS_CLASS help Support the front LED on Power/iBooks as a generic LED that can be triggered by any of the supported triggers. To get the behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this and the ide-disk LED trigger and configure appropriately through sysfs. config ADB_PMU_LED_IDE bool "Use front LED as IDE LED by default" depends on ADB_PMU_LED depends on LEDS_CLASS depends on IDE_GD_ATA select LEDS_TRIGGERS select LEDS_TRIGGER_IDE_DISK help This option makes the front LED default to the IDE trigger so that it blinks on IDE activity. config PMAC_SMU bool "Support for SMU based PowerMacs" depends on PPC_PMAC64 help This option adds support for the newer G5 iMacs and PowerMacs based on the "SMU" system control chip which replaces the old PMU. If you don't know, say Y. config PMAC_APM_EMU tristate "APM emulation" select APM_EMULATION depends on ADB_PMU && PM && PPC32 config PMAC_MEDIABAY bool "Support PowerBook hotswap media bay" depends on PPC_PMAC && PPC32 && BLOCK help This option adds support for older PowerBook's hotswap media bay that can contains batteries, floppy drives, or IDE devices. PCI devices are not fully supported in the bay as I never had one to try with config PMAC_BACKLIGHT bool "Backlight control for LCD screens" depends on ADB_PMU && FB = y && (BROKEN || !PPC64) select FB_BACKLIGHT help Say Y here to enable Macintosh specific extensions of the generic backlight code. With this enabled, the brightness keys on older PowerBooks will be enabled so you can change the screen brightness. Newer models should use a userspace daemon like pbbuttonsd. config PMAC_BACKLIGHT_LEGACY bool "Provide legacy ioctl's on /dev/pmu for the backlight" depends on PMAC_BACKLIGHT && (BROKEN || !PPC64) help Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for programs which use this old interface. New and updated programs should use the backlight classes in sysfs. config ADB_MACIO bool "Include MacIO (CHRP) ADB driver" depends on ADB && PPC_CHRP && !PPC_PMAC64 help Say Y here to include direct support for the ADB controller in the Hydra chip used on PowerPC Macintoshes of the CHRP type. (The Hydra also includes a MESH II SCSI controller, DBDMA controller, VIA chip, OpenPIC controller and two RS422/Geoports.) config INPUT_ADBHID bool "Support for ADB input devices (keyboard, mice, ...)" depends on ADB && INPUT=y help Say Y here if you want to have ADB (Apple Desktop Bus) HID devices such as keyboards, mice, joysticks, trackpads or graphic tablets handled by the input layer. If you say Y here, make sure to say Y to the corresponding drivers "Keyboard support" (CONFIG_INPUT_KEYBDEV), "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and "Event interface support" (CONFIG_INPUT_EVDEV) as well. If unsure, say Y. config MAC_EMUMOUSEBTN tristate "Support for mouse button 2+3 emulation" depends on SYSCTL && INPUT help This provides generic support for emulating the 2nd and 3rd mouse button with keypresses. If you say Y here, the emulation is still disabled by default. The emulation is controlled by these sysctl entries: /proc/sys/dev/mac_hid/mouse_button_emulation /proc/sys/dev/mac_hid/mouse_button2_keycode /proc/sys/dev/mac_hid/mouse_button3_keycode If you have an Apple machine with a 1-button mouse, say Y here. To compile this driver as a module, choose M here: the module will be called mac_hid. config THERM_WINDTUNNEL tristate "Support for thermal management on Windtunnel G4s" depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 help This driver provides some thermostat and fan control for the desktop G4 "Windtunnel" config THERM_ADT746X tristate "Support for thermal mgmnt on laptops with ADT 746x chipset" depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 help This driver provides some thermostat and fan control for the iBook G4, and the ATI based aluminium PowerBooks, allowing slightly better fan behaviour by default, and some manual control. config THERM_PM72 tristate "Support for thermal management on PowerMac G5 (AGP)" depends on I2C && I2C_POWERMAC && PPC_PMAC64 default n help This driver provides thermostat and fan control for the desktop G5 machines. This is deprecated, use windfarm instead. config WINDFARM tristate "New PowerMac thermal control infrastructure" depends on PPC config WINDFARM_PM81 tristate "Support for thermal management on iMac G5" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the iMacG5 config WINDFARM_PM72 tristate "Support for thermal management on PowerMac G5 (AGP)" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac G5 "AGP" variants (PowerMac 7,2 and 7,3) config WINDFARM_RM31 tristate "Support for thermal management on Xserve G5" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU select I2C_POWERMAC help This driver provides thermal control for the Xserve G5 (RackMac3,1) config WINDFARM_PM91 tristate "Support for thermal management on PowerMac9,1" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac9,1 which is the recent (SMU based) single CPU desktop G5 config WINDFARM_PM112 tristate "Support for thermal management on PowerMac11,2" depends on WINDFARM && I2C && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac11,2 which are the recent dual and quad G5 machines using the 970MP dual-core processor. config WINDFARM_PM121 tristate "Support for thermal management on PowerMac12,1" depends on WINDFARM && I2C && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac12,1 which is the iMac G5 (iSight). config ANSLCD tristate "Support for ANS LCD display" depends on ADB_CUDA && PPC_PMAC config PMAC_RACKMETER tristate "Support for Apple XServe front panel LEDs" depends on PPC_PMAC help This driver provides some support to control the front panel blue LEDs "vu-meter" of the XServer macs. config SENSORS_AMS tristate "Apple Motion Sensor driver" depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C) select INPUT_POLLDEV help Support for the motion sensor included in PowerBooks. Includes implementations for PMU and I2C. This driver can also be built as a module. If so, the module will be called ams. config SENSORS_AMS_PMU bool "PMU variant" depends on SENSORS_AMS && ADB_PMU default y help PMU variant of motion sensor, found in late 2005 PowerBooks. config SENSORS_AMS_I2C bool "I2C variant" depends on SENSORS_AMS && I2C default y help I2C variant of motion sensor, found in early 2005 PowerBooks and iBooks. endif # MACINTOSH_DRIVERS menuconfig MAILBOX bool "Mailbox Hardware Support" help Mailbox is a framework to control hardware communication between on-chip processors through queued messages and interrupt driven signals. Say Y if your platform supports hardware mailboxes. if MAILBOX config PL320_MBOX bool "ARM PL320 Mailbox" depends on ARM_AMBA help An implementation of the ARM PL320 Interprocessor Communication Mailbox (IPCM), tailored for the Calxeda Highbank. It is used to send short messages between Highbank's A9 cores and the EnergyCore Management Engine, primarily for cpufreq. Say Y here if you want to use the PL320 IPCM support. config OMAP_MBOX tristate help This option is selected by any OMAP architecture specific mailbox driver such as CONFIG_OMAP1_MBOX or CONFIG_OMAP2PLUS_MBOX. This enables the common OMAP mailbox framework code. config OMAP1_MBOX tristate "OMAP1 Mailbox framework support" depends on ARCH_OMAP1 select OMAP_MBOX help Mailbox implementation for OMAP chips with hardware for interprocessor communication involving DSP in OMAP1. Say Y here if you want to use OMAP1 Mailbox framework support. config OMAP2PLUS_MBOX tristate "OMAP2+ Mailbox framework support" depends on ARCH_OMAP2PLUS select OMAP_MBOX help Mailbox implementation for OMAP family chips with hardware for interprocessor communication involving DSP, IVA1.0 and IVA2 in OMAP2/3; or IPU, IVA HD and DSP in OMAP4/5. Say Y here if you want to use OMAP2+ Mailbox framework support. config OMAP_MBOX_KFIFO_SIZE int "Mailbox kfifo default buffer size (bytes)" depends on OMAP2PLUS_MBOX || OMAP1_MBOX default 256 help Specify the default size of mailbox's kfifo buffers (bytes). This can also be changed at runtime (via the mbox_kfifo_size module parameter). endif # # Block device driver configuration # menuconfig MD bool "Multiple devices driver support (RAID and LVM)" depends on BLOCK help Support multiple physical spindles through a single logical device. Required for RAID and logical volume management. if MD config BLK_DEV_MD tristate "RAID support" ---help--- This driver lets you combine several hard disk partitions into one logical block device. This can be used to simply append one partition to another one or to combine several redundant hard disks into a RAID1/4/5 device so as to provide protection against hard disk failures. This is called "Software RAID" since the combining of the partitions is done by the kernel. "Hardware RAID" means that the combining is done by a dedicated controller; if you have such a controller, you do not need to say Y here. More information about Software RAID on Linux is contained in the Software RAID mini-HOWTO, available from . There you will also learn where to get the supporting user space utilities raidtools. If unsure, say N. config MD_AUTODETECT bool "Autodetect RAID arrays during kernel boot" depends on BLK_DEV_MD=y default y ---help--- If you say Y here, then the kernel will try to autodetect raid arrays as part of its boot process. If you don't use raid and say Y, this autodetection can cause a several-second delay in the boot time due to various synchronisation steps that are part of this step. If unsure, say Y. config MD_LINEAR tristate "Linear (append) mode" depends on BLK_DEV_MD ---help--- If you say Y here, then your multiple devices driver will be able to use the so-called linear mode, i.e. it will combine the hard disk partitions by simply appending one to the other. To compile this as a module, choose M here: the module will be called linear. If unsure, say Y. config MD_RAID0 tristate "RAID-0 (striping) mode" depends on BLK_DEV_MD ---help--- If you say Y here, then your multiple devices driver will be able to use the so-called raid0 mode, i.e. it will combine the hard disk partitions into one logical device in such a fashion as to fill them up evenly, one chunk here and one chunk there. This will increase the throughput rate if the partitions reside on distinct disks. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from . There you will also learn where to get the supporting user space utilities raidtools. To compile this as a module, choose M here: the module will be called raid0. If unsure, say Y. config MD_RAID1 tristate "RAID-1 (mirroring) mode" depends on BLK_DEV_MD ---help--- A RAID-1 set consists of several disk drives which are exact copies of each other. In the event of a mirror failure, the RAID driver will continue to use the operational mirrors in the set, providing an error free MD (multiple device) to the higher levels of the kernel. In a set with N drives, the available space is the capacity of a single drive, and the set protects against a failure of (N - 1) drives. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from . There you will also learn where to get the supporting user space utilities raidtools. If you want to use such a RAID-1 set, say Y. To compile this code as a module, choose M here: the module will be called raid1. If unsure, say Y. config MD_RAID10 tristate "RAID-10 (mirrored striping) mode" depends on BLK_DEV_MD ---help--- RAID-10 provides a combination of striping (RAID-0) and mirroring (RAID-1) with easier configuration and more flexible layout. Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to be the same size (or at least, only as much as the smallest device will be used). RAID-10 provides a variety of layouts that provide different levels of redundancy and performance. RAID-10 requires mdadm-1.7.0 or later, available at: ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/ If unsure, say Y. config MD_RAID456 tristate "RAID-4/RAID-5/RAID-6 mode" depends on BLK_DEV_MD select RAID6_PQ select ASYNC_MEMCPY select ASYNC_XOR select ASYNC_PQ select ASYNC_RAID6_RECOV ---help--- A RAID-5 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 1) MB, and protects against a failure of a single drive. For a given sector (row) number, (N - 1) drives contain data sectors, and one drive contains the parity protection. For a RAID-4 set, the parity blocks are present on a single drive, while a RAID-5 set distributes the parity across the drives in one of the available parity distribution methods. A RAID-6 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 2) MB, and protects against a failure of any two drives. For a given sector (row) number, (N - 2) drives contain data sectors, and two drives contains two independent redundancy syndromes. Like RAID-5, RAID-6 distributes the syndromes across the drives in one of the available parity distribution methods. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from . There you will also learn where to get the supporting user space utilities raidtools. If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y. To compile this code as a module, choose M here: the module will be called raid456. If unsure, say Y. config MD_MULTIPATH tristate "Multipath I/O support" depends on BLK_DEV_MD help MD_MULTIPATH provides a simple multi-path personality for use the MD framework. It is not under active development. New projects should consider using DM_MULTIPATH which has more features and more testing. If unsure, say N. config MD_FAULTY tristate "Faulty test module for MD" depends on BLK_DEV_MD help The "faulty" module allows for a block device that occasionally returns read or write errors. It is useful for testing. In unsure, say N. source "drivers/md/bcache/Kconfig" config BLK_DEV_DM_BUILTIN boolean config BLK_DEV_DM tristate "Device mapper support" select BLK_DEV_DM_BUILTIN ---help--- Device-mapper is a low level volume manager. It works by allowing people to specify mappings for ranges of logical sectors. Various mapping types are available, in addition people may write their own modules containing custom mappings if they wish. Higher level volume managers such as LVM2 use this driver. To compile this as a module, choose M here: the module will be called dm-mod. If unsure, say N. config DM_DEBUG boolean "Device mapper debugging support" depends on BLK_DEV_DM ---help--- Enable this for messages that may help debug device-mapper problems. If unsure, say N. config DM_BUFIO tristate depends on BLK_DEV_DM ---help--- This interface allows you to do buffered I/O on a device and acts as a cache, holding recently-read blocks in memory and performing delayed writes. config DM_BIO_PRISON tristate depends on BLK_DEV_DM ---help--- Some bio locking schemes used by other device-mapper targets including thin provisioning. source "drivers/md/persistent-data/Kconfig" config DM_CRYPT tristate "Crypt target support" depends on BLK_DEV_DM select CRYPTO select CRYPTO_CBC ---help--- This device-mapper target allows you to create a device that transparently encrypts the data on it. You'll need to activate the ciphers you're going to use in the cryptoapi configuration. Information on how to use dm-crypt can be found on To compile this code as a module, choose M here: the module will be called dm-crypt. If unsure, say N. config DM_SNAPSHOT tristate "Snapshot target" depends on BLK_DEV_DM ---help--- Allow volume managers to take writable snapshots of a device. config DM_THIN_PROVISIONING tristate "Thin provisioning target" depends on BLK_DEV_DM select DM_PERSISTENT_DATA select DM_BIO_PRISON ---help--- Provides thin provisioning and snapshots that share a data store. config DM_DEBUG_BLOCK_STACK_TRACING boolean "Keep stack trace of thin provisioning block lock holders" depends on STACKTRACE_SUPPORT && DM_THIN_PROVISIONING select STACKTRACE ---help--- Enable this for messages that may help debug problems with the block manager locking used by thin provisioning. If unsure, say N. config DM_CACHE tristate "Cache target (EXPERIMENTAL)" depends on BLK_DEV_DM default n select DM_PERSISTENT_DATA select DM_BIO_PRISON ---help--- dm-cache attempts to improve performance of a block device by moving frequently used data to a smaller, higher performance device. Different 'policy' plugins can be used to change the algorithms used to select which blocks are promoted, demoted, cleaned etc. It supports writeback and writethrough modes. config DM_CACHE_MQ tristate "MQ Cache Policy (EXPERIMENTAL)" depends on DM_CACHE default y ---help--- A cache policy that uses a multiqueue ordered by recent hit count to select which blocks should be promoted and demoted. This is meant to be a general purpose policy. It prioritises reads over writes. config DM_CACHE_CLEANER tristate "Cleaner Cache Policy (EXPERIMENTAL)" depends on DM_CACHE default y ---help--- A simple cache policy that writes back all data to the origin. Used when decommissioning a dm-cache. config DM_MIRROR tristate "Mirror target" depends on BLK_DEV_DM ---help--- Allow volume managers to mirror logical volumes, also needed for live data migration tools such as 'pvmove'. config DM_LOG_USERSPACE tristate "Mirror userspace logging" depends on DM_MIRROR && NET select CONNECTOR ---help--- The userspace logging module provides a mechanism for relaying the dm-dirty-log API to userspace. Log designs which are more suited to userspace implementation (e.g. shared storage logs) or experimental logs can be implemented by leveraging this framework. config DM_RAID tristate "RAID 1/4/5/6/10 target" depends on BLK_DEV_DM select MD_RAID1 select MD_RAID10 select MD_RAID456 select BLK_DEV_MD ---help--- A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings A RAID-5 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 1) MB, and protects against a failure of a single drive. For a given sector (row) number, (N - 1) drives contain data sectors, and one drive contains the parity protection. For a RAID-4 set, the parity blocks are present on a single drive, while a RAID-5 set distributes the parity across the drives in one of the available parity distribution methods. A RAID-6 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 2) MB, and protects against a failure of any two drives. For a given sector (row) number, (N - 2) drives contain data sectors, and two drives contains two independent redundancy syndromes. Like RAID-5, RAID-6 distributes the syndromes across the drives in one of the available parity distribution methods. config DM_ZERO tristate "Zero target" depends on BLK_DEV_DM ---help--- A target that discards writes, and returns all zeroes for reads. Useful in some recovery situations. config DM_MULTIPATH tristate "Multipath target" depends on BLK_DEV_DM # nasty syntax but means make DM_MULTIPATH independent # of SCSI_DH if the latter isn't defined but if # it is, DM_MULTIPATH must depend on it. We get a build # error if SCSI_DH=m and DM_MULTIPATH=y depends on SCSI_DH || !SCSI_DH ---help--- Allow volume managers to support multipath hardware. config DM_MULTIPATH_QL tristate "I/O Path Selector based on the number of in-flight I/Os" depends on DM_MULTIPATH ---help--- This path selector is a dynamic load balancer which selects the path with the least number of in-flight I/Os. If unsure, say N. config DM_MULTIPATH_ST tristate "I/O Path Selector based on the service time" depends on DM_MULTIPATH ---help--- This path selector is a dynamic load balancer which selects the path expected to complete the incoming I/O in the shortest time. If unsure, say N. config DM_DELAY tristate "I/O delaying target" depends on BLK_DEV_DM ---help--- A target that delays reads and/or writes and can send them to different devices. Useful for testing. If unsure, say N. config DM_UEVENT bool "DM uevents" depends on BLK_DEV_DM ---help--- Generate udev events for DM events. config DM_FLAKEY tristate "Flakey target" depends on BLK_DEV_DM ---help--- A target that intermittently fails I/O for debugging purposes. config DM_VERITY tristate "Verity target support" depends on BLK_DEV_DM select CRYPTO select CRYPTO_HASH select DM_BUFIO ---help--- This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second device. You'll need to activate the digests you're going to use in the cryptoapi configuration. To compile this code as a module, choose M here: the module will be called dm-verity. If unsure, say N. config DM_SWITCH tristate "Switch target support (EXPERIMENTAL)" depends on BLK_DEV_DM ---help--- This device-mapper target creates a device that supports an arbitrary mapping of fixed-size regions of I/O across a fixed set of paths. The path used for any specific region can be switched dynamically by sending the target a message. To compile this code as a module, choose M here: the module will be called dm-switch. If unsure, say N. endif # MD config BCACHE tristate "Block device as cache" ---help--- Allows a block device to be used as cache for other devices; uses a btree for indexing and the layout is optimized for SSDs. See Documentation/bcache.txt for details. config BCACHE_DEBUG bool "Bcache debugging" depends on BCACHE ---help--- Don't select this option unless you're a developer Enables extra debugging tools, allows expensive runtime checks to be turned on. config BCACHE_CLOSURES_DEBUG bool "Debug closures" depends on BCACHE select DEBUG_FS ---help--- Keeps all active closures in a linked list and provides a debugfs interface to list them, which makes it possible to see asynchronous operations that get stuck. # cgroup code needs to be updated: # #config CGROUP_BCACHE # bool "Cgroup controls for bcache" # depends on BCACHE && BLK_CGROUP # ---help--- # TODO config DM_PERSISTENT_DATA tristate depends on BLK_DEV_DM select LIBCRC32C select DM_BUFIO ---help--- Library providing immutable on-disk data structure support for device-mapper targets such as the thin provisioning target. # # Multimedia device configuration # menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. Additional info and docs are available on the web at if MEDIA_SUPPORT comment "Multimedia core support" # # Multimedia support - automatically enable V4L2 and DVB core # config MEDIA_CAMERA_SUPPORT bool "Cameras/video grabbers support" ---help--- Enable support for webcams and video grabbers. Say Y when you have a webcam or a video capture grabber board. config MEDIA_ANALOG_TV_SUPPORT bool "Analog TV support" ---help--- Enable analog TV support. Say Y when you have a TV board with analog support or with a hybrid analog/digital TV chipset. Note: There are several DVB cards that are based on chips that support both analog and digital TV. Disabling this option will disable support for them. config MEDIA_DIGITAL_TV_SUPPORT bool "Digital TV support" ---help--- Enable digital TV support. Say Y when you have a board with digital support or a board with hybrid digital TV and analog TV. config MEDIA_RADIO_SUPPORT bool "AM/FM radio receivers/transmitters support" ---help--- Enable AM/FM radio support. Additional info and docs are available on the web at Say Y when you have a board with radio support. Note: There are several TV cards that are based on chips that support radio reception. Disabling this option will disable support for them. config MEDIA_RC_SUPPORT bool "Remote Controller support" depends on INPUT ---help--- Enable support for Remote Controllers on Linux. This is needed in order to support several video capture adapters, standalone IR receivers/transmitters, and RF receivers. Enable this option if you have a video capture board even if you don't need IR, as otherwise, you may not be able to compile the driver for your adapter. Say Y when you have a TV or an IR device. # # Media controller # Selectable only for webcam/grabbers, as other drivers don't use it # config MEDIA_CONTROLLER bool "Media Controller API" depends on MEDIA_CAMERA_SUPPORT ---help--- Enable the media controller API used to query media devices internal topology and configure it dynamically. This API is mostly used by camera interfaces in embedded platforms. # # Video4Linux support # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected # config VIDEO_DEV tristate depends on MEDIA_SUPPORT depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT default y config VIDEO_V4L2_SUBDEV_API bool "V4L2 sub-device userspace API" depends on VIDEO_DEV && MEDIA_CONTROLLER ---help--- Enables the V4L2 sub-device pad-level userspace API used to configure video format, size and frame rate between hardware blocks. This API is mostly used by camera interfaces in embedded platforms. source "drivers/media/v4l2-core/Kconfig" # # DVB Core # Only enables if one of DTV is selected # config DVB_CORE tristate depends on MEDIA_SUPPORT depends on MEDIA_DIGITAL_TV_SUPPORT default y select CRC32 config DVB_NET bool "DVB Network Support" default (NET && INET) depends on NET && INET && DVB_CORE help This option enables DVB Network Support which is a part of the DVB standard. It is used, for example, by automatic firmware updates used on Set-Top-Boxes. It can also be used to access the Internet via the DVB card, if the network provider supports it. You may want to disable the network support on embedded devices. If unsure say Y. # This Kconfig option is used by both PCI and USB drivers config TTPCI_EEPROM tristate depends on I2C default n source "drivers/media/dvb-core/Kconfig" comment "Media drivers" source "drivers/media/rc/Kconfig" # # V4L platform/mem2mem drivers # source "drivers/media/usb/Kconfig" source "drivers/media/pci/Kconfig" source "drivers/media/platform/Kconfig" source "drivers/media/mmc/Kconfig" source "drivers/media/parport/Kconfig" source "drivers/media/radio/Kconfig" comment "Supported FireWire (IEEE 1394) Adapters" depends on DVB_CORE && FIREWIRE source "drivers/media/firewire/Kconfig" # Common driver options source "drivers/media/common/Kconfig" comment "Media ancillary drivers (tuners, sensors, i2c, frontends)" # # Ancillary drivers (tuners, i2c, frontends) # config MEDIA_SUBDRV_AUTOSELECT bool "Autoselect ancillary drivers (tuners, sensors, i2c, frontends)" depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT default y help By default, a media driver auto-selects all possible ancillary devices such as tuners, sensors, video encoders/decoders and frontends, that are used by any of the supported devices. This is generally the right thing to do, except when there are strict constraints with regards to the kernel size, like on embedded systems. Use this option with care, as deselecting ancillary drivers which are, in fact, necessary will result in the lack of the needed functionality for your device (it may not tune or may not have the needed demodulators). If unsure say Y. config MEDIA_ATTACH bool depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT depends on MODULES default MODULES source "drivers/media/i2c/Kconfig" source "drivers/media/tuners/Kconfig" source "drivers/media/dvb-frontends/Kconfig" endif # MEDIA_SUPPORT # Used by common drivers, when they need to ask questions config MEDIA_COMMON_OPTIONS bool comment "common driver options" depends on MEDIA_COMMON_OPTIONS config VIDEO_CX2341X tristate config VIDEO_BTCX depends on PCI tristate config VIDEO_TVEEPROM tristate depends on I2C config CYPRESS_FIRMWARE tristate "Cypress firmware helper routines" depends on USB source "drivers/media/common/b2c2/Kconfig" source "drivers/media/common/saa7146/Kconfig" source "drivers/media/common/siano/Kconfig" config DVB_B2C2_FLEXCOP tristate depends on DVB_CORE && I2C depends on DVB_B2C2_FLEXCOP_PCI || DVB_B2C2_FLEXCOP_USB default y select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_BCM3510 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_ITD1000 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_CX24113 if MEDIA_SUBDRV_AUTOSELECT # Selected via the PCI or USB flexcop drivers config DVB_B2C2_FLEXCOP_DEBUG bool config VIDEO_SAA7146 tristate depends on I2C && PCI config VIDEO_SAA7146_VV tristate depends on VIDEO_V4L2 select VIDEOBUF_DMA_SG select VIDEO_SAA7146 # # Siano Mobile Silicon Digital TV device configuration # config SMS_SIANO_MDTV tristate depends on DVB_CORE && HAS_DMA depends on !RC_CORE || RC_CORE depends on SMS_USB_DRV || SMS_SDIO_DRV default y config SMS_SIANO_RC bool "Enable Remote Controller support for Siano devices" depends on SMS_SIANO_MDTV && RC_CORE depends on SMS_USB_DRV || SMS_SDIO_DRV depends on MEDIA_COMMON_OPTIONS default y ---help--- Choose Y to select Remote Controller support for Siano driver. config SMS_SIANO_DEBUGFS bool "Enable debugfs for smsdvb" depends on SMS_SIANO_MDTV depends on DEBUG_FS depends on SMS_USB_DRV depends on CONFIG_SMS_USB_DRV = CONFIG_SMS_SDIO_DRV ---help--- Choose Y to enable visualizing a dump of the frontend statistics response packets via debugfs. Currently, works only with Siano USB devices. Useful only for developers. In doubt, say N. # # DVB device configuration # config DVB_MAX_ADAPTERS int "maximum number of DVB/ATSC adapters" depends on DVB_CORE default 8 range 1 255 help Maximum number of DVB/ATSC adapters. Increasing this number increases the memory consumption of the DVB subsystem even if a much lower number of DVB/ATSC adapters is present. Only values in the range 4-32 are tested. If you are unsure about this, use the default value 8 config DVB_DYNAMIC_MINORS bool "Dynamic DVB minor allocation" depends on DVB_CORE default n help If you say Y here, the DVB subsystem will use dynamic minor allocation for any device that uses the DVB major number. This means that you can have more than 4 of a single type of device (like demuxes and frontends) per adapter, but udev will be required to manage the device nodes. If you are unsure about this, say N here. menu "Customise DVB Frontends" visible if !MEDIA_SUBDRV_AUTOSELECT comment "Multistandard (satellite) frontends" depends on DVB_CORE config DVB_STB0899 tristate "STB0899 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2/DSS Multistandard demodulator. Say Y when you want to support this demodulator based frontends config DVB_STB6100 tristate "STB6100 based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Silicon tuner from ST used in conjunction with the STB0899 demodulator. Say Y when you want to support this tuner. config DVB_STV090x tristate "STV0900/STV0903(A/B) based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help DVB-S/S2/DSS Multistandard Professional/Broadcast demodulators. Say Y when you want to support these frontends. config DVB_STV6110x tristate "STV6110/(A) based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Silicon tuner that supports DVB-S and DVB-S2 modes comment "Multistandard (cable + terrestrial) frontends" depends on DVB_CORE config DVB_DRXK tristate "Micronas DRXK based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Micronas DRX-K DVB-C/T demodulator. Say Y when you want to support this frontend. config DVB_TDA18271C2DD tristate "NXP TDA18271C2 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18271 silicon tuner. Say Y when you want to support this tuner. comment "DVB-S (satellite) frontends" depends on DVB_CORE config DVB_CX24110 tristate "Conexant CX24110 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_CX24123 tristate "Conexant CX24123 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_MT312 tristate "Zarlink VP310/MT312/ZL10313 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_ZL10036 tristate "Zarlink ZL10036 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_ZL10039 tristate "Zarlink ZL10039 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_S5H1420 tristate "Samsung S5H1420 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STV0288 tristate "ST STV0288 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STB6000 tristate "ST STB6000 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_STV0299 tristate "ST STV0299 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STV6110 tristate "ST STV6110 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_STV0900 tristate "ST STV0900 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 demodulator. Say Y when you want to support this frontend. config DVB_TDA8083 tristate "Philips TDA8083 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA10086 tristate "Philips TDA10086 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA8261 tristate "Philips TDA8261 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_VES1X93 tristate "VLSI VES1893 or VES1993 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TUNER_ITD1000 tristate "Integrant ITD1000 Zero IF tuner for DVB-S/DSS" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TUNER_CX24113 tristate "Conexant CX24113/CX24128 tuner for DVB-S/DSS" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA826X tristate "Philips TDA826X silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_TUA6100 tristate "Infineon TUA6100 PLL" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S PLL chip. config DVB_CX24116 tristate "Conexant CX24116 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_CX24117 tristate "Conexant CX24117 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Dual DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_SI21XX tristate "Silicon Labs SI21XX based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TS2020 tristate "Montage Tehnology TS2020 based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 silicon tuner. Say Y when you want to support this tuner. config DVB_DS3000 tristate "Montage Tehnology DS3000 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_MB86A16 tristate "Fujitsu MB86A16 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/DSS Direct Conversion reveiver. Say Y when you want to support this frontend. config DVB_TDA10071 tristate "NXP TDA10071" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "DVB-T (terrestrial) frontends" depends on DVB_CORE config DVB_SP8870 tristate "Spase sp8870 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "/Documentation/dvb/get_dvb_firmware sp8870" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_SP887X tristate "Spase sp887x based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "/Documentation/dvb/get_dvb_firmware sp887x" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_CX22700 tristate "Conexant CX22700 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_CX22702 tristate "Conexant cx22702 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_S5H1432 tristate "Samsung s5h1432 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_DRXD tristate "Micronas DRXD driver" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. Note: this driver was based on vendor driver reference code (released under the GPL) as opposed to the existing drx397xd driver, which was written via reverse engineering. config DVB_L64781 tristate "LSI L64781" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_TDA1004X tristate "Philips TDA10045H/TDA10046H based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "/Documentation/dvb/get_dvb_firmware tda10045", "/Documentation/dvb/get_dvb_firmware tda10046" to download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_NXT6000 tristate "NxtWave Communications NXT6000 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_MT352 tristate "Zarlink MT352 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_ZL10353 tristate "Zarlink ZL10353 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_DIB3000MB tristate "DiBcom 3000M-B" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB3000MC tristate "DiBcom 3000P/M-C" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB7000M tristate "DiBcom 7000MA/MB/PA/PB/MC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB7000P tristate "DiBcom 7000PC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB9000 tristate "DiBcom 9000" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_TDA10048 tristate "Philips TDA10048HN based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_AF9013 tristate "Afatech AF9013 demodulator" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_EC100 tristate "E3C EC100" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_HD29L2 tristate "HDIC HD29L2" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_STV0367 tristate "ST STV0367 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T/C tuner module. Say Y when you want to support this frontend. config DVB_CXD2820R tristate "Sony CXD2820R" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_RTL2830 tristate "Realtek RTL2830 DVB-T" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_RTL2832 tristate "Realtek RTL2832 DVB-T" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "DVB-C (cable) frontends" depends on DVB_CORE config DVB_VES1820 tristate "VLSI VES1820 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_TDA10021 tristate "Philips TDA10021 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_TDA10023 tristate "Philips TDA10023 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_STV0297 tristate "ST STV0297 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends" depends on DVB_CORE config DVB_NXT200X tristate "NxtWave Communications NXT2002/NXT2004 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "/Documentation/dvb/get_dvb_firmware nxt2002" and "/Documentation/dvb/get_dvb_firmware nxt2004" to download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_OR51211 tristate "Oren OR51211 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "/Documentation/dvb/get_dvb_firmware or51211" to download it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_OR51132 tristate "Oren OR51132 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "/Documentation/dvb/get_dvb_firmware or51132_vsb" and/or "/Documentation/dvb/get_dvb_firmware or51132_qam" to download firmwares for 8VSB and QAM64/256, respectively. Copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_BCM3510 tristate "Broadcom BCM3510" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LGDT330X tristate "LG Electronics LGDT3302/LGDT3303 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LGDT3305 tristate "LG Electronics LGDT3304 and LGDT3305 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LG2160 tristate "LG Electronics LG216x based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC/MH demodulator module. Say Y when you want to support this frontend. config DVB_S5H1409 tristate "Samsung S5H1409 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_AU8522 depends on I2C tristate config DVB_AU8522_DTV tristate "Auvitek AU8522 based DTV demod" depends on DVB_CORE && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when you want to enable DTV demodulation support for this frontend. config DVB_AU8522_V4L tristate "Auvitek AU8522 based ATV demod" depends on VIDEO_V4L2 && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when you want to enable ATV demodulation support for this frontend. config DVB_S5H1411 tristate "Samsung S5H1411 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. comment "ISDB-T (terrestrial) frontends" depends on DVB_CORE config DVB_S921 tristate "Sharp S921 frontend" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help AN ISDB-T DQPSK, QPSK, 16QAM and 64QAM 1seg tuner module. Say Y when you want to support this frontend. config DVB_DIB8000 tristate "DiBcom 8000MB/MC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for DiBcom's DiB8000 ISDB-T/ISDB-Tsb demodulator. Say Y when you want to support this frontend. config DVB_MB86A20S tristate "Fujitsu mb86a20s" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for Fujitsu mb86a20s ISDB-T/ISDB-Tsb demodulator. Say Y when you want to support this frontend. comment "Digital terrestrial only tuners/PLL" depends on DVB_CORE config DVB_PLL tristate "Generic I2C PLL based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help This module drives a number of tuners based on PLL chips with a common I2C interface. Say Y when you want to support these tuners. config DVB_TUNER_DIB0070 tristate "DiBcom DiB0070 silicon base-band tuner" depends on I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner DiB0070 from DiBcom. This device is only used inside a SiP called together with a demodulator for now. config DVB_TUNER_DIB0090 tristate "DiBcom DiB0090 silicon base-band tuner" depends on I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner DiB0090 from DiBcom. This device is only used inside a SiP called together with a demodulator for now. comment "SEC control devices for DVB-S" depends on DVB_CORE config DVB_LNBP21 tristate "LNBP21/LNBH24 SEC controllers" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chips. config DVB_LNBP22 tristate "LNBP22 SEC controllers" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help LNB power supply and control voltage regulator chip with step-up converter and I2C interface. Say Y when you want to support this chip. config DVB_ISL6405 tristate "ISL6405 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chip. config DVB_ISL6421 tristate "ISL6421 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chip. config DVB_ISL6423 tristate "ISL6423 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A SEC controller chip from Intersil config DVB_A8293 tristate "Allegro A8293" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT config DVB_LGS8GL5 tristate "Silicon Legend LGS-8GL5 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_LGS8GXX tristate "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" depends on DVB_CORE && I2C select FW_LOADER default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_ATBM8830 tristate "AltoBeam ATBM8830/8831 DMB-TH demodulator" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_TDA665x tristate "TDA665x tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Support for tuner modules based on Philips TDA6650/TDA6651 chips. Say Y when you want to support this chip. Currently supported tuners: * Panasonic ENV57H12D5 (ET-50DT) config DVB_IX2505V tristate "Sharp IX2505V silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_IT913X_FE tristate "it913x frontend and it9137 tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_M88RS2000 tristate "M88RS2000 DVB-S demodulator and tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_AF9033 tristate "Afatech AF9033 DVB-T demodulator" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT comment "Tools to develop new frontends" config DVB_DUMMY_FE tristate "Dummy frontend driver" default n endmenu config DVB_FIREDTV tristate "FireDTV and FloppyDTV" depends on DVB_CORE && FIREWIRE help Support for DVB receivers from Digital Everywhere which are connected via IEEE 1394 (FireWire). These devices don't have an MPEG decoder built in, so you need an external software decoder to watch TV. To compile this driver as a module, say M here: the module will be called firedtv. if DVB_FIREDTV config DVB_FIREDTV_INPUT def_bool INPUT = y || (INPUT = m && DVB_FIREDTV = m) endif # DVB_FIREDTV # # Multimedia Video device configuration # if VIDEO_V4L2 config VIDEO_IR_I2C tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT depends on I2C && RC_CORE default y ---help--- Most boards have an IR chip directly connected via GPIO. However, some video boards have the IR connected via I2C bus. If your board doesn't have an I2C IR chip, you may disable this option. In doubt, say Y. # # Encoder / Decoder module configuration # menu "Encoders, decoders, sensors and other helper chips" visible if !MEDIA_SUBDRV_AUTOSELECT comment "Audio decoders, processors and mixers" config VIDEO_TVAUDIO tristate "Simple audio decoder chips" depends on VIDEO_V4L2 && I2C ---help--- Support for several audio decoder chips found on some bt8xx boards: Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300, tea6320, tea6420, tda8425, ta8874z. Microchip: pic16c54 based design on ProVideo PV951 board. To compile this driver as a module, choose M here: the module will be called tvaudio. config VIDEO_TDA7432 tristate "Philips TDA7432 audio processor" depends on VIDEO_V4L2 && I2C ---help--- Support for tda7432 audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tda7432. config VIDEO_TDA9840 tristate "Philips TDA9840 audio processor" depends on I2C ---help--- Support for tda9840 audio decoder chip found on some Zoran boards. To compile this driver as a module, choose M here: the module will be called tda9840. config VIDEO_TEA6415C tristate "Philips TEA6415C audio processor" depends on I2C ---help--- Support for tea6415c audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tea6415c. config VIDEO_TEA6420 tristate "Philips TEA6420 audio processor" depends on I2C ---help--- Support for tea6420 audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tea6420. config VIDEO_MSP3400 tristate "Micronas MSP34xx audio decoders" depends on VIDEO_V4L2 && I2C ---help--- Support for the Micronas MSP34xx series of audio decoders. To compile this driver as a module, choose M here: the module will be called msp3400. config VIDEO_CS5345 tristate "Cirrus Logic CS5345 audio ADC" depends on VIDEO_V4L2 && I2C ---help--- Support for the Cirrus Logic CS5345 24-bit, 192 kHz stereo A/D converter. To compile this driver as a module, choose M here: the module will be called cs5345. config VIDEO_CS53L32A tristate "Cirrus Logic CS53L32A audio ADC" depends on VIDEO_V4L2 && I2C ---help--- Support for the Cirrus Logic CS53L32A low voltage stereo A/D converter. To compile this driver as a module, choose M here: the module will be called cs53l32a. config VIDEO_TLV320AIC23B tristate "Texas Instruments TLV320AIC23B audio codec" depends on VIDEO_V4L2 && I2C ---help--- Support for the Texas Instruments TLV320AIC23B audio codec. To compile this driver as a module, choose M here: the module will be called tlv320aic23b. config VIDEO_UDA1342 tristate "Philips UDA1342 audio codec" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips UDA1342 audio codec. To compile this driver as a module, choose M here: the module will be called uda1342. config VIDEO_WM8775 tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer" depends on VIDEO_V4L2 && I2C ---help--- Support for the Wolfson Microelectronics WM8775 high performance stereo A/D Converter with a 4 channel input mixer. To compile this driver as a module, choose M here: the module will be called wm8775. config VIDEO_WM8739 tristate "Wolfson Microelectronics WM8739 stereo audio ADC" depends on VIDEO_V4L2 && I2C ---help--- Support for the Wolfson Microelectronics WM8739 stereo A/D Converter. To compile this driver as a module, choose M here: the module will be called wm8739. config VIDEO_VP27SMPX tristate "Panasonic VP27's internal MPX" depends on VIDEO_V4L2 && I2C ---help--- Support for the internal MPX of the Panasonic VP27s tuner. To compile this driver as a module, choose M here: the module will be called vp27smpx. config VIDEO_SONY_BTF_MPX tristate "Sony BTF's internal MPX" depends on VIDEO_V4L2 && I2C help Support for the internal MPX of the Sony BTF-PG472Z tuner. To compile this driver as a module, choose M here: the module will be called sony-btf-mpx. comment "RDS decoders" config VIDEO_SAA6588 tristate "SAA6588 Radio Chip RDS decoder support" depends on VIDEO_V4L2 && I2C help Support for this Radio Data System (RDS) decoder. This allows seeing radio station identification transmitted using this standard. To compile this driver as a module, choose M here: the module will be called saa6588. comment "Video decoders" config VIDEO_ADV7180 tristate "Analog Devices ADV7180 decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Analog Devices ADV7180 video decoder. To compile this driver as a module, choose M here: the module will be called adv7180. config VIDEO_ADV7183 tristate "Analog Devices ADV7183 decoder" depends on VIDEO_V4L2 && I2C ---help--- V4l2 subdevice driver for the Analog Devices ADV7183 video decoder. To compile this driver as a module, choose M here: the module will be called adv7183. config VIDEO_ADV7604 tristate "Analog Devices ADV7604 decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API ---help--- Support for the Analog Devices ADV7604 video decoder. This is a Analog Devices Component/Graphics Digitizer with 4:1 Multiplexed HDMI Receiver. To compile this driver as a module, choose M here: the module will be called adv7604. config VIDEO_ADV7842 tristate "Analog Devices ADV7842 decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API ---help--- Support for the Analog Devices ADV7842 video decoder. This is a Analog Devices Component/Graphics/SD Digitizer with 2:1 Multiplexed HDMI Receiver. To compile this driver as a module, choose M here: the module will be called adv7842. config VIDEO_BT819 tristate "BT819A VideoStream decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for BT819A video decoder. To compile this driver as a module, choose M here: the module will be called bt819. config VIDEO_BT856 tristate "BT856 VideoStream decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for BT856 video decoder. To compile this driver as a module, choose M here: the module will be called bt856. config VIDEO_BT866 tristate "BT866 VideoStream decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for BT866 video decoder. To compile this driver as a module, choose M here: the module will be called bt866. config VIDEO_KS0127 tristate "KS0127 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for KS0127 video decoder. This chip is used on AverMedia AVS6EYES Zoran-based MJPEG cards. To compile this driver as a module, choose M here: the module will be called ks0127. config VIDEO_ML86V7667 tristate "OKI ML86V7667 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the OKI Semiconductor ML86V7667 video decoder. To compile this driver as a module, choose M here: the module will be called ml86v7667. config VIDEO_SAA7110 tristate "Philips SAA7110 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7110 video decoders. To compile this driver as a module, choose M here: the module will be called saa7110. config VIDEO_SAA711X tristate "Philips SAA7111/3/4/5 video decoders" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7111/3/4/5 video decoders. To compile this driver as a module, choose M here: the module will be called saa7115. config VIDEO_SAA7191 tristate "Philips SAA7191 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7191 video decoder. To compile this driver as a module, choose M here: the module will be called saa7191. config VIDEO_TVP514X tristate "Texas Instruments TVP514x video decoder" depends on VIDEO_V4L2 && I2C ---help--- This is a Video4Linux2 sensor-level driver for the TI TVP5146/47 decoder. It is currently working with the TI OMAP3 camera controller. To compile this driver as a module, choose M here: the module will be called tvp514x. config VIDEO_TVP5150 tristate "Texas Instruments TVP5150 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Texas Instruments TVP5150 video decoder. To compile this driver as a module, choose M here: the module will be called tvp5150. config VIDEO_TVP7002 tristate "Texas Instruments TVP7002 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Texas Instruments TVP7002 video decoder. To compile this driver as a module, choose M here: the module will be called tvp7002. config VIDEO_TW2804 tristate "Techwell TW2804 multiple video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Techwell tw2804 multiple video decoder. To compile this driver as a module, choose M here: the module will be called tw2804. config VIDEO_TW9903 tristate "Techwell TW9903 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Techwell tw9903 multi-standard video decoder with high quality down scaler. To compile this driver as a module, choose M here: the module will be called tw9903. config VIDEO_TW9906 tristate "Techwell TW9906 video decoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Techwell tw9906 enhanced multi-standard comb filter video decoder with YCbCr input support. To compile this driver as a module, choose M here: the module will be called tw9906. config VIDEO_VPX3220 tristate "vpx3220a, vpx3216b & vpx3214c video decoders" depends on VIDEO_V4L2 && I2C ---help--- Support for VPX322x video decoders. To compile this driver as a module, choose M here: the module will be called vpx3220. comment "Video and audio decoders" config VIDEO_SAA717X tristate "Philips SAA7171/3/4 audio/video decoders" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7171/3/4 audio/video decoders. To compile this driver as a module, choose M here: the module will be called saa717x. source "drivers/media/i2c/cx25840/Kconfig" comment "Video encoders" config VIDEO_SAA7127 tristate "Philips SAA7127/9 digital video encoders" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7127/9 digital video encoders. To compile this driver as a module, choose M here: the module will be called saa7127. config VIDEO_SAA7185 tristate "Philips SAA7185 video encoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Philips SAA7185 video encoder. To compile this driver as a module, choose M here: the module will be called saa7185. config VIDEO_ADV7170 tristate "Analog Devices ADV7170 video encoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Analog Devices ADV7170 video encoder driver To compile this driver as a module, choose M here: the module will be called adv7170. config VIDEO_ADV7175 tristate "Analog Devices ADV7175 video encoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Analog Devices ADV7175 video encoder driver To compile this driver as a module, choose M here: the module will be called adv7175. config VIDEO_ADV7343 tristate "ADV7343 video encoder" depends on I2C help Support for Analog Devices I2C bus based ADV7343 encoder. To compile this driver as a module, choose M here: the module will be called adv7343. config VIDEO_ADV7393 tristate "ADV7393 video encoder" depends on I2C help Support for Analog Devices I2C bus based ADV7393 encoder. To compile this driver as a module, choose M here: the module will be called adv7393. config VIDEO_ADV7511 tristate "Analog Devices ADV7511 encoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API ---help--- Support for the Analog Devices ADV7511 video encoder. This is a Analog Devices HDMI transmitter. To compile this driver as a module, choose M here: the module will be called adv7511. config VIDEO_AD9389B tristate "Analog Devices AD9389B encoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API ---help--- Support for the Analog Devices AD9389B video encoder. This is a Analog Devices HDMI transmitter. To compile this driver as a module, choose M here: the module will be called ad9389b. config VIDEO_AK881X tristate "AK8813/AK8814 video encoders" depends on I2C help Video output driver for AKM AK8813 and AK8814 TV encoders config VIDEO_THS8200 tristate "Texas Instruments THS8200 video encoder" depends on VIDEO_V4L2 && I2C ---help--- Support for the Texas Instruments THS8200 video encoder. To compile this driver as a module, choose M here: the module will be called ths8200. comment "Camera sensor devices" config VIDEO_APTINA_PLL tristate config VIDEO_SMIAPP_PLL tristate config VIDEO_OV7640 tristate "OmniVision OV7640 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the OmniVision OV7640 camera. To compile this driver as a module, choose M here: the module will be called ov7640. config VIDEO_OV7670 tristate "OmniVision OV7670 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the OmniVision OV7670 VGA camera. It currently only works with the M88ALP01 controller. config VIDEO_OV9650 tristate "OmniVision OV9650/OV9652 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ---help--- This is a V4L2 sensor-level driver for the Omnivision OV9650 and OV9652 camera sensors. config VIDEO_VS6624 tristate "ST VS6624 sensor support" depends on VIDEO_V4L2 && I2C depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the ST VS6624 camera. To compile this driver as a module, choose M here: the module will be called vs6624. config VIDEO_MT9M032 tristate "MT9M032 camera sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select VIDEO_APTINA_PLL ---help--- This driver supports MT9M032 camera sensors from Aptina, monochrome models only. config VIDEO_MT9P031 tristate "Aptina MT9P031 support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select VIDEO_APTINA_PLL ---help--- This is a Video4Linux2 sensor-level driver for the Aptina (Micron) mt9p031 5 Mpixel camera. config VIDEO_MT9T001 tristate "Aptina MT9T001 support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the Aptina (Micron) mt0t001 3 Mpixel camera. config VIDEO_MT9V011 tristate "Micron mt9v011 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the Micron mt0v011 1.3 Mpixel camera. It currently only works with the em28xx driver. config VIDEO_MT9V032 tristate "Micron MT9V032 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT ---help--- This is a Video4Linux2 sensor-level driver for the Micron MT9V032 752x480 CMOS sensor. config VIDEO_TCM825X tristate "TCM825x camera sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_INT_DEVICE depends on MEDIA_CAMERA_SUPPORT ---help--- This is a driver for the Toshiba TCM825x VGA camera sensor. It is used for example in Nokia N800. config VIDEO_SR030PC30 tristate "Siliconfile SR030PC30 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT ---help--- This driver supports SR030PC30 VGA camera from Siliconfile config VIDEO_NOON010PC30 tristate "Siliconfile NOON010PC30 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT ---help--- This driver supports NOON010PC30 CIF camera from Siliconfile source "drivers/media/i2c/m5mols/Kconfig" config VIDEO_S5K6AA tristate "Samsung S5K6AAFX sensor support" depends on MEDIA_CAMERA_SUPPORT depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ---help--- This is a V4L2 sensor-level driver for Samsung S5K6AA(FX) 1.3M camera sensor with an embedded SoC image signal processor. config VIDEO_S5K4ECGX tristate "Samsung S5K4ECGX sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ---help--- This is a V4L2 sensor-level driver for Samsung S5K4ECGX 5M camera sensor with an embedded SoC image signal processor. source "drivers/media/i2c/smiapp/Kconfig" config VIDEO_S5C73M3 tristate "Samsung S5C73M3 sensor support" depends on I2C && SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API ---help--- This is a V4L2 sensor-level driver for Samsung S5C73M3 8 Mpixel camera. comment "Flash devices" config VIDEO_ADP1653 tristate "ADP1653 flash support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT ---help--- This is a driver for the ADP1653 flash controller. It is used for example in Nokia N900. config VIDEO_AS3645A tristate "AS3645A flash driver support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT ---help--- This is a driver for the AS3645A and LM3555 flash controllers. It has build in control for flash, torch and indicator LEDs. config VIDEO_LM3560 tristate "LM3560 dual flash driver support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT select REGMAP_I2C ---help--- This is a driver for the lm3560 dual flash controllers. It controls flash, torch LEDs. comment "Video improvement chips" config VIDEO_UPD64031A tristate "NEC Electronics uPD64031A Ghost Reduction" depends on VIDEO_V4L2 && I2C ---help--- Support for the NEC Electronics uPD64031A Ghost Reduction video chip. It is most often found in NTSC TV cards made for Japan and is used to reduce the 'ghosting' effect that can be present in analog TV broadcasts. To compile this driver as a module, choose M here: the module will be called upd64031a. config VIDEO_UPD64083 tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation" depends on VIDEO_V4L2 && I2C ---help--- Support for the NEC Electronics uPD64083 3-Dimensional Y/C separation video chip. It is used to improve the quality of the colors of a composite signal. To compile this driver as a module, choose M here: the module will be called upd64083. comment "Miscellaneous helper chips" config VIDEO_THS7303 tristate "THS7303/53 Video Amplifier" depends on VIDEO_V4L2 && I2C help Support for TI THS7303/53 video amplifier To compile this driver as a module, choose M here: the module will be called ths7303. config VIDEO_M52790 tristate "Mitsubishi M52790 A/V switch" depends on VIDEO_V4L2 && I2C ---help--- Support for the Mitsubishi M52790 A/V switch. To compile this driver as a module, choose M here: the module will be called m52790. endmenu menu "Sensors used on soc_camera driver" if SOC_CAMERA source "drivers/media/i2c/soc_camera/Kconfig" endif endmenu endif config VIDEO_CX25840 tristate "Conexant CX2584x audio/video decoders" depends on VIDEO_V4L2 && I2C ---help--- Support for the Conexant CX2584x audio/video decoders. To compile this driver as a module, choose M here: the module will be called cx25840 config VIDEO_M5MOLS tristate "Fujitsu M-5MOLS 8MP sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT ---help--- This driver supports Fujitsu M-5MOLS camera sensor with ISP config VIDEO_SMIAPP tristate "SMIA++/SMIA sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAVE_CLK depends on MEDIA_CAMERA_SUPPORT select VIDEO_SMIAPP_PLL ---help--- This is a generic driver for SMIA++/SMIA camera modules. comment "soc_camera sensor drivers" config SOC_CAMERA_IMX074 tristate "imx074 support" depends on SOC_CAMERA && I2C help This driver supports IMX074 cameras from Sony config SOC_CAMERA_MT9M001 tristate "mt9m001 support" depends on SOC_CAMERA && I2C help This driver supports MT9M001 cameras from Micron, monochrome and colour models. config SOC_CAMERA_MT9M111 tristate "mt9m111, mt9m112 and mt9m131 support" depends on SOC_CAMERA && I2C help This driver supports MT9M111, MT9M112 and MT9M131 cameras from Micron/Aptina config SOC_CAMERA_MT9T031 tristate "mt9t031 support" depends on SOC_CAMERA && I2C help This driver supports MT9T031 cameras from Micron. config SOC_CAMERA_MT9T112 tristate "mt9t112 support" depends on SOC_CAMERA && I2C help This driver supports MT9T112 cameras from Aptina. config SOC_CAMERA_MT9V022 tristate "mt9v022 and mt9v024 support" depends on SOC_CAMERA && I2C help This driver supports MT9V022 cameras from Micron config SOC_CAMERA_OV2640 tristate "ov2640 camera support" depends on SOC_CAMERA && I2C help This is a ov2640 camera driver config SOC_CAMERA_OV5642 tristate "ov5642 camera support" depends on SOC_CAMERA && I2C help This is a V4L2 camera driver for the OmniVision OV5642 sensor config SOC_CAMERA_OV6650 tristate "ov6650 sensor support" depends on SOC_CAMERA && I2C ---help--- This is a V4L2 SoC camera driver for the OmniVision OV6650 sensor config SOC_CAMERA_OV772X tristate "ov772x camera support" depends on SOC_CAMERA && I2C help This is a ov772x camera driver config SOC_CAMERA_OV9640 tristate "ov9640 camera support" depends on SOC_CAMERA && I2C help This is a ov9640 camera driver config SOC_CAMERA_OV9740 tristate "ov9740 camera support" depends on SOC_CAMERA && I2C help This is a ov9740 camera driver config SOC_CAMERA_RJ54N1 tristate "rj54n1cb0c support" depends on SOC_CAMERA && I2C help This is a rj54n1cb0c video driver config SOC_CAMERA_TW9910 tristate "tw9910 support" depends on SOC_CAMERA && I2C help This is a tw9910 video driver comment "Supported MMC/SDIO adapters" source "drivers/media/mmc/siano/Kconfig" # # Siano Mobile Silicon Digital TV device configuration # config SMS_SDIO_DRV tristate "Siano SMS1xxx based MDTV via SDIO interface" depends on DVB_CORE && HAS_DMA depends on MMC select MEDIA_COMMON_OPTIONS ---help--- Choose if you would like to have Siano's support for SDIO interface menuconfig MEDIA_PARPORT_SUPPORT bool "ISA and parallel port devices" depends on (ISA || PARPORT) && MEDIA_CAMERA_SUPPORT help Enables drivers for ISA and parallel port bus. If you need media drivers using those legacy buses, say Y. if MEDIA_PARPORT_SUPPORT config VIDEO_BWQCAM tristate "Quickcam BW Video For Linux" depends on PARPORT && VIDEO_V4L2 select VIDEOBUF2_VMALLOC help Say Y have if you the black and white version of the QuickCam camera. See the next option for the color version. To compile this driver as a module, choose M here: the module will be called bw-qcam. config VIDEO_CQCAM tristate "QuickCam Colour Video For Linux" depends on PARPORT && VIDEO_V4L2 help This is the video4linux driver for the colour version of the Connectix QuickCam. If you have one of these cameras, say Y here, otherwise say N. This driver does not work with the original monochrome QuickCam, QuickCam VC or QuickClip. It is also available as a module (c-qcam). Read for more information. config VIDEO_PMS tristate "Mediavision Pro Movie Studio Video For Linux" depends on ISA && VIDEO_V4L2 help Say Y if you have the ISA Mediavision Pro Movie Studio capture card. To compile this driver as a module, choose M here: the module will be called pms. config VIDEO_W9966 tristate "W9966CF Webcam (FlyCam Supra and others) Video For Linux" depends on PARPORT_1284 && PARPORT && VIDEO_V4L2 help Video4linux driver for Winbond's w9966 based Webcams. Currently tested with the LifeView FlyCam Supra. If you have one of these cameras, say Y here otherwise say N. This driver is also available as a module (w9966). Check out for more information. endif if PCI && MEDIA_SUPPORT menuconfig MEDIA_PCI_SUPPORT bool "Media PCI Adapters" help Enable media drivers for PCI/PCIe bus. If you have such devices, say Y. if MEDIA_PCI_SUPPORT if MEDIA_CAMERA_SUPPORT comment "Media capture support" source "drivers/media/pci/meye/Kconfig" source "drivers/media/pci/sta2x11/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT comment "Media capture/analog TV support" source "drivers/media/pci/ivtv/Kconfig" source "drivers/media/pci/zoran/Kconfig" source "drivers/media/pci/saa7146/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT comment "Media capture/analog/hybrid TV support" source "drivers/media/pci/cx18/Kconfig" source "drivers/media/pci/cx23885/Kconfig" source "drivers/media/pci/cx25821/Kconfig" source "drivers/media/pci/cx88/Kconfig" source "drivers/media/pci/bt8xx/Kconfig" source "drivers/media/pci/saa7134/Kconfig" source "drivers/media/pci/saa7164/Kconfig" endif if MEDIA_DIGITAL_TV_SUPPORT comment "Media digital TV PCI Adapters" source "drivers/media/pci/ttpci/Kconfig" source "drivers/media/pci/b2c2/Kconfig" source "drivers/media/pci/pluto2/Kconfig" source "drivers/media/pci/dm1105/Kconfig" source "drivers/media/pci/pt1/Kconfig" source "drivers/media/pci/mantis/Kconfig" source "drivers/media/pci/ngene/Kconfig" source "drivers/media/pci/ddbridge/Kconfig" endif endif #MEDIA_PCI_SUPPORT endif #PCI config DVB_B2C2_FLEXCOP_PCI tristate "Technisat/B2C2 Air/Sky/Cable2PC PCI" depends on DVB_CORE && I2C help Support for the Air/Sky/CableStar2 PCI card (DVB/ATSC) by Technisat/B2C2. Say Y if you own such a device and want to use it. config DVB_B2C2_FLEXCOP_PCI_DEBUG bool "Enable debug for the B2C2 FlexCop drivers" depends on DVB_B2C2_FLEXCOP_PCI select DVB_B2C2_FLEXCOP_DEBUG help Say Y if you want to enable the module option to control debug messages of all B2C2 FlexCop drivers. config VIDEO_BT848 tristate "BT848 Video For Linux" depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 select I2C_ALGOBIT select VIDEO_BTCX select VIDEOBUF_DMA_SG depends on RC_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVAUDIO if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TDA7432 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT ---help--- Support for BT848 based frame grabber/overlay boards. This includes the Miro, Hauppauge and STB boards. Please read the material in for more information. To compile this driver as a module, choose M here: the module will be called bttv. config DVB_BT8XX tristate "DVB/ATSC Support for bt878 based TV cards" depends on DVB_CORE && PCI && I2C && VIDEO_BT848 select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24110 if MEDIA_SUBDRV_AUTOSELECT select DVB_OR51211 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT help Support for PCI cards based on the Bt8xx PCI bridge. Examples are the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards, the pcHDTV HD2000 cards, the DViCO FusionHDTV Lite cards, and some AVerMedia cards. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y if you own such a device and want to use it. config VIDEO_CX18 tristate "Conexant cx23418 MPEG encoder support" depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C select I2C_ALGOBIT select VIDEOBUF_VMALLOC depends on RC_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_CS5345 select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for Conexant cx23418 based PCI combo video recorder devices. This is used in devices such as the Hauppauge HVR-1600 cards. To compile this driver as a module, choose M here: the module will be called cx18. config VIDEO_CX18_ALSA tristate "Conexant 23418 DMA audio support" depends on VIDEO_CX18 && SND select SND_PCM ---help--- This is a video4linux driver for direct (DMA) audio on Conexant 23418 based TV cards using ALSA. To compile this driver as a module, choose M here: the module will be called cx18-alsa. config VIDEO_CX23885 tristate "Conexant cx23885 (2388x successor) support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND select SND_PCM select I2C_ALGOBIT select VIDEO_BTCX select VIDEO_TUNER select VIDEO_TVEEPROM depends on RC_CORE select VIDEOBUF_DVB select VIDEOBUF_DMA_SG select VIDEO_CX25840 select VIDEO_CX2341X select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24117 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for Conexant 23885 based TV cards. To compile this driver as a module, choose M here: the module will be called cx23885 config MEDIA_ALTERA_CI tristate "Altera FPGA based CI module" depends on VIDEO_CX23885 && DVB_CORE select ALTERA_STAPL ---help--- An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card. To compile this driver as a module, choose M here: the module will be called altera-ci config VIDEO_CX25821 tristate "Conexant cx25821 support" depends on VIDEO_DEV && PCI && I2C select I2C_ALGOBIT select VIDEO_BTCX select VIDEOBUF_DMA_SG ---help--- This is a video4linux driver for Conexant 25821 based TV cards. To compile this driver as a module, choose M here: the module will be called cx25821 config VIDEO_CX25821_ALSA tristate "Conexant 25821 DMA audio support" depends on VIDEO_CX25821 && SND select SND_PCM ---help--- This is a video4linux driver for direct (DMA) audio on Conexant 25821 based capture cards using ALSA. It only works with boards with function 01 enabled. To check if your board supports, use lspci -n. If supported, you should see 14f1:8801 or 14f1:8811 PCI device. To compile this driver as a module, choose M here: the module will be called cx25821-alsa. config VIDEO_CX88 tristate "Conexant 2388x (bt878 successor) support" depends on VIDEO_DEV && PCI && I2C && RC_CORE select I2C_ALGOBIT select VIDEO_BTCX select VIDEOBUF_DMA_SG select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_WM8775 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for Conexant 2388x based TV cards. To compile this driver as a module, choose M here: the module will be called cx8800 config VIDEO_CX88_ALSA tristate "Conexant 2388x DMA audio support" depends on VIDEO_CX88 && SND select SND_PCM ---help--- This is a video4linux driver for direct (DMA) audio on Conexant 2388x based TV cards using ALSA. It only works with boards with function 01 enabled. To check if your board supports, use lspci -n. If supported, you should see 14f1:8801 or 14f1:8811 PCI device. To compile this driver as a module, choose M here: the module will be called cx88-alsa. config VIDEO_CX88_BLACKBIRD tristate "Blackbird MPEG encoder support (cx2388x + cx23416)" depends on VIDEO_CX88 select VIDEO_CX2341X ---help--- This adds support for MPEG encoder cards based on the Blackbird reference design, using the Conexant 2388x and 23416 chips. To compile this driver as a module, choose M here: the module will be called cx88-blackbird. config VIDEO_CX88_DVB tristate "DVB/ATSC Support for cx2388x based TV cards" depends on VIDEO_CX88 && DVB_CORE select VIDEOBUF_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_OR51132 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT ---help--- This adds support for DVB/ATSC cards based on the Conexant 2388x chip. To compile this driver as a module, choose M here: the module will be called cx88-dvb. config VIDEO_CX88_ENABLE_VP3054 bool "VP-3054 Secondary I2C Bus Support" default y depends on VIDEO_CX88_DVB && DVB_MT352 ---help--- This adds DVB-T support for cards based on the Conexant 2388x chip and the MT352 demodulator, which also require support for the VP-3054 Secondary I2C bus, such at DNTV Live! DVB-T Pro. config VIDEO_CX88_VP3054 tristate depends on VIDEO_CX88_DVB && VIDEO_CX88_ENABLE_VP3054 default y config VIDEO_CX88_MPEG tristate depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD default y config DVB_DDBRIDGE tristate "Digital Devices bridge support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT ---help--- Support for cards with the Digital Devices PCI express bridge: - Octopus PCIe Bridge - Octopus mini PCIe Bridge - Octopus LE - DuoFlex S2 Octopus - DuoFlex CT Octopus - cineS2(v6) Say Y if you own such a card and want to use it. config DVB_DM1105 tristate "SDMC DM1105 based PCI cards" depends on DVB_CORE && PCI && I2C select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI21XX if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT depends on RC_CORE help Support for cards based on the SDMC DM1105 PCI chip like DvbWorld 2002 Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. config VIDEO_IVTV tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support" depends on VIDEO_V4L2 && PCI && I2C select I2C_ALGOBIT depends on RC_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_CX25840 select VIDEO_MSP3400 select VIDEO_SAA711X select VIDEO_SAA717X select VIDEO_SAA7127 select VIDEO_CS53L32A select VIDEO_M52790 select VIDEO_WM8775 select VIDEO_WM8739 select VIDEO_VP27SMPX select VIDEO_UPD64031A select VIDEO_UPD64083 ---help--- This is a video4linux driver for Conexant cx23416 or cx23415 based PCI personal video recorder devices. This is used in devices such as the Hauppauge PVR-150/250/350/500 cards. There is a driver homepage at . To compile this driver as a module, choose M here: the module will be called ivtv. config VIDEO_IVTV_ALSA tristate "Conexant cx23415/cx23416 ALSA interface for PCM audio capture" depends on VIDEO_IVTV && SND select SND_PCM ---help--- This driver provides an ALSA interface as another method for user applications to obtain PCM audio data from Conexant cx23415/cx23416 based PCI TV cards supported by the ivtv driver. The ALSA interface has much wider use in user applications performing PCM audio capture, than the V4L2 "/dev/video24" PCM audio interface provided by the main ivtv driver. To compile this driver as a module, choose M here: the module will be called ivtv-alsa. config VIDEO_FB_IVTV tristate "Conexant cx23415 framebuffer support" depends on VIDEO_IVTV && FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This is a framebuffer driver for the Conexant cx23415 MPEG encoder/decoder. This is used in the Hauppauge PVR-350 card. There is a driver homepage at . To compile this driver as a module, choose M here: the module will be called ivtvfb. config MANTIS_CORE tristate "Mantis/Hopper PCI bridge based devices" depends on PCI && I2C && INPUT && RC_CORE help Support for PCI cards based on the Mantis and Hopper PCi bridge. Say Y if you own such a device and want to use it. config DVB_MANTIS tristate "MANTIS based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_MB86A16 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA665x if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL help Support for PCI cards based on the Mantis PCI bridge. Say Y when you have a Mantis based DVB card and want to use it. If unsure say N. config DVB_HOPPER tristate "HOPPER based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL help Support for PCI cards based on the Hopper PCI bridge. Say Y when you have a Hopper based DVB card and want to use it. If unsure say N config VIDEO_MEYE tristate "Sony Vaio Picturebook Motion Eye Video For Linux" depends on PCI && SONY_LAPTOP && VIDEO_V4L2 ---help--- This is the video4linux driver for the Motion Eye camera found in the Vaio Picturebook laptops. Please read the material in for more information. If you say Y or M here, you need to say Y or M to "Sony Laptop Extras" in the misc device section. To compile this driver as a module, choose M here: the module will be called meye. config DVB_NGENE tristate "Micronas nGene support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT ---help--- Support for Micronas PCI express cards with nGene bridge. config DVB_PLUTO2 tristate "Pluto2 cards" depends on DVB_CORE && PCI && I2C select I2C_ALGOBIT select DVB_TDA1004X help Support for PCI cards based on the Pluto2 FPGA like the Satelco Easywatch Mobile Terrestrial DVB-T Receiver. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. config DVB_PT1 tristate "PT1 cards" depends on DVB_CORE && PCI && I2C help Support for Earthsoft PT1 PCI cards. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. config VIDEO_SAA7134 tristate "Philips SAA7134 support" depends on VIDEO_DEV && PCI && I2C select VIDEOBUF_DMA_SG select VIDEO_TUNER select VIDEO_TVEEPROM select CRC32 select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for Philips SAA713x based TV cards. To compile this driver as a module, choose M here: the module will be called saa7134. config VIDEO_SAA7134_ALSA tristate "Philips SAA7134 DMA audio support" depends on VIDEO_SAA7134 && SND select SND_PCM ---help--- This is a video4linux driver for direct (DMA) audio in Philips SAA713x based TV cards using ALSA To compile this driver as a module, choose M here: the module will be called saa7134-alsa. config VIDEO_SAA7134_RC bool "Philips SAA7134 Remote Controller support" depends on RC_CORE depends on VIDEO_SAA7134 depends on !(RC_CORE=m && VIDEO_SAA7134=y) default y ---help--- Enables Remote Controller support on saa7134 driver. config VIDEO_SAA7134_DVB tristate "DVB/ATSC Support for saa7134 based TV cards" depends on VIDEO_SAA7134 && DVB_CORE select VIDEOBUF_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6405 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10036 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT ---help--- This adds support for DVB cards based on the Philips saa7134 chip. To compile this driver as a module, choose M here: the module will be called saa7134-dvb. config VIDEO_HEXIUM_GEMINI tristate "Hexium Gemini frame grabber" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV ---help--- This is a video4linux driver for the Hexium Gemini frame grabber card by Hexium. Please note that the Gemini Dual card is *not* fully supported. To compile this driver as a module, choose M here: the module will be called hexium_gemini. config VIDEO_HEXIUM_ORION tristate "Hexium HV-PCI6 and Orion frame grabber" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV ---help--- This is a video4linux driver for the Hexium HV-PCI6 and Orion frame grabber cards by Hexium. To compile this driver as a module, choose M here: the module will be called hexium_orion. config VIDEO_MXB tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TDA9840 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TEA6415C if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TEA6420 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for the 'Multimedia eXtension Board' TV card by Siemens-Nixdorf. To compile this driver as a module, choose M here: the module will be called mxb. config VIDEO_SAA7164 tristate "NXP SAA7164 support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C select I2C_ALGOBIT select FW_LOADER select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEOBUF_DVB select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for NXP SAA7164 based TV cards. To compile this driver as a module, choose M here: the module will be called saa7164 config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" depends on STA2X11 select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT select VIDEOBUF2_DMA_CONTIG depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS depends on I2C help Say Y for support for STA2X11 VIP (Video Input Port) capture device. To compile this driver as a module, choose M here: the module will be called sta2x11_vip. config DVB_AV7110 tristate "AV7110 cards" depends on DVB_CORE && PCI && I2C select TTPCI_EEPROM select VIDEO_SAA7146_VV depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT help Support for SAA7146 and AV7110 based DVB cards as produced by Fujitsu-Siemens, Technotrend, Hauppauge and others. This driver only supports the fullfeatured cards with onboard MPEG2 decoder. This driver needs an external firmware. Please use the script "/Documentation/dvb/get_dvb_firmware av7110" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). Alternatively, you can download the file and use the kernel's EXTRA_FIRMWARE configuration option to build it into your kernel image by adding the filename to the EXTRA_FIRMWARE configuration option string. Say Y if you own such a card and want to use it. config DVB_AV7110_OSD bool "AV7110 OSD support" depends on DVB_AV7110 default y if DVB_AV7110=y || DVB_AV7110=m help The AV7110 firmware provides some code to generate an OnScreenDisplay on the video output. This is kind of nonstandard and not guaranteed to be maintained. Anyway, some popular DVB software like VDR uses this OSD to render its menus, so say Y if you want to use this software. All other people say N. config DVB_BUDGET_CORE tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)" depends on DVB_CORE && PCI && I2C select VIDEO_SAA7146 select TTPCI_EEPROM help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder. config DVB_BUDGET tristate "Budget cards" depends on DVB_BUDGET_CORE && I2C select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, and without analog inputs or an onboard Common Interface connector. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget. config DVB_BUDGET_CI tristate "Budget cards with onboard CI connector" depends on DVB_BUDGET_CORE && I2C select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT depends on RC_CORE help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, but with onboard Common Interface connector. Note: The Common Interface is not yet supported by this driver due to lack of information from the vendor. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-ci. config DVB_BUDGET_AV tristate "Budget cards with analog video inputs" depends on DVB_BUDGET_CORE && I2C select VIDEO_SAA7146_VV depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8261 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUA6100 if MEDIA_SUBDRV_AUTOSELECT help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, but with one or more analog video inputs. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-av. config DVB_BUDGET_PATCH tristate "AV7110 cards with Budget Patch" depends on DVB_BUDGET_CORE && I2C depends on DVB_AV7110 select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT help Support for Budget Patch (full TS) modification on SAA7146+AV7110 based cards (DVB-S cards). This driver doesn't use onboard MPEG2 decoder. The card is driven in Budget-only mode. Card is required to have loaded firmware to tune properly. Firmware can be loaded by insertion and removal of standard AV7110 driver prior to loading this driver. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-patch. config VIDEO_ZORAN tristate "Zoran ZR36057/36067 Video For Linux" depends on PCI && I2C_ALGOBIT && VIDEO_V4L2 && VIRT_TO_BUS depends on !ALPHA help Say Y for support for MJPEG capture cards based on the Zoran 36057/36067 PCI controller chipset. This includes the Iomega Buz, Pinnacle DC10+ and the Linux Media Labs LML33. There is a driver homepage at . For more information, check . To compile this driver as a module, choose M here: the module will be called zr36067. config VIDEO_ZORAN_DC30 tristate "Pinnacle/Miro DC30(+) support" depends on VIDEO_ZORAN select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_VPX3220 if MEDIA_SUBDRV_AUTOSELECT help Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback card. This also supports really old DC10 cards based on the zr36050 MJPEG codec and zr36016 VFE. config VIDEO_ZORAN_ZR36060 tristate "Zoran ZR36060" depends on VIDEO_ZORAN help Say Y to support Zoran boards based on 36060 chips. This includes Iomega Buz, Pinnacle DC10, Linux media Labs 33 and 33 R10 and AverMedia 6 boards. config VIDEO_ZORAN_BUZ tristate "Iomega Buz support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA7185 if MEDIA_SUBDRV_AUTOSELECT help Support for the Iomega Buz MJPEG capture/playback card. config VIDEO_ZORAN_DC10 tristate "Pinnacle/Miro DC10(+) support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA7110 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7175 if MEDIA_SUBDRV_AUTOSELECT help Support for the Pinnacle/Miro DC10(+) MJPEG capture/playback card. config VIDEO_ZORAN_LML33 tristate "Linux Media Labs LML33 support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_BT819 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT help Support for the Linux Media Labs LML33 MJPEG capture/playback card. config VIDEO_ZORAN_LML33R10 tristate "Linux Media Labs LML33R10 support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7170 if MEDIA_SUBDRV_AUTOSELECT help support for the Linux Media Labs LML33R10 MJPEG capture/playback card. config VIDEO_ZORAN_AVS6EYES tristate "AverMedia 6 Eyes support" depends on VIDEO_ZORAN_ZR36060 select VIDEO_BT856 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_BT866 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_KS0127 if MEDIA_SUBDRV_AUTOSELECT help Support for the AverMedia 6 Eyes video surveillance card. # # Platform drivers # All drivers here are currently for webcam support menuconfig V4L_PLATFORM_DRIVERS bool "V4L platform devices" depends on MEDIA_CAMERA_SUPPORT default n ---help--- Say Y here to enable support for platform-specific V4L drivers. if V4L_PLATFORM_DRIVERS source "drivers/media/platform/marvell-ccic/Kconfig" config VIDEO_VIA_CAMERA tristate "VIAFB camera controller support" depends on FB_VIA select VIDEOBUF_DMA_SG select VIDEO_OV7670 help Driver support for the integrated camera controller in VIA Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems with ov7670 sensors. # # Platform multimedia device configuration # source "drivers/media/platform/davinci/Kconfig" source "drivers/media/platform/omap/Kconfig" source "drivers/media/platform/blackfin/Kconfig" config VIDEO_SH_VOU tristate "SuperH VOU video output driver" depends on MEDIA_CAMERA_SUPPORT depends on VIDEO_DEV && ARCH_SHMOBILE && I2C select VIDEOBUF_DMA_CONTIG help Support for the Video Output Unit (VOU) on SuperH SoCs. config VIDEO_VIU tristate "Freescale VIU Video Driver" depends on VIDEO_V4L2 && PPC_MPC512x select VIDEOBUF_DMA_CONTIG default y ---help--- Support for Freescale VIU video driver. This device captures video data, or overlays video on DIU frame buffer. Say Y here if you want to enable VIU device on MPC5121e Rev2+. In doubt, say N. config VIDEO_TIMBERDALE tristate "Support for timberdale Video In/LogiWIN" depends on VIDEO_V4L2 && I2C && DMADEVICES select DMA_ENGINE select TIMB_DMA select VIDEO_ADV7180 select VIDEOBUF_DMA_CONTIG ---help--- Add support for the Video In peripherial of the timberdale FPGA. config VIDEO_VINO tristate "SGI Vino Video For Linux" depends on I2C && SGI_IP22 && VIDEO_V4L2 select VIDEO_SAA7191 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to build in support for the Vino video input system found on SGI Indy machines. config VIDEO_M32R_AR tristate "AR devices" depends on M32R && VIDEO_V4L2 ---help--- This is a video4linux driver for the Renesas AR (Artificial Retina) camera module. config VIDEO_M32R_AR_M64278 tristate "AR device with color module M64278(VGA)" depends on PLAT_M32700UT select VIDEO_M32R_AR ---help--- This is a video4linux driver for the Renesas AR (Artificial Retina) with M64278E-800 camera module. This module supports VGA(640x480 pixels) resolutions. To compile this driver as a module, choose M here: the module will be called arv. config VIDEO_OMAP2 tristate "OMAP2 Camera Capture Interface driver" depends on VIDEO_DEV && ARCH_OMAP2 && VIDEO_V4L2_INT_DEVICE select VIDEOBUF_DMA_SG ---help--- This is a v4l2 driver for the TI OMAP2 camera capture interface config VIDEO_OMAP3 tristate "OMAP 3 Camera support" depends on OMAP_IOVMM && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3 ---help--- Driver for an OMAP 3 camera controller. config VIDEO_OMAP3_DEBUG bool "OMAP 3 Camera debug messages" depends on VIDEO_OMAP3 ---help--- Enable debug messages on OMAP 3 camera controller driver. config VIDEO_S3C_CAMIF tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on (ARCH_S3C64XX || PLAT_S3C24XX) && PM_RUNTIME select VIDEOBUF2_DMA_CONTIG ---help--- This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera host interface (CAMIF). To compile this driver as a module, choose M here: the module will be called s3c-camif. source "drivers/media/platform/soc_camera/Kconfig" source "drivers/media/platform/exynos4-is/Kconfig" source "drivers/media/platform/s5p-tv/Kconfig" endif # V4L_PLATFORM_DRIVERS menuconfig V4L_MEM2MEM_DRIVERS bool "Memory-to-memory multimedia devices" depends on VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT default n ---help--- Say Y here to enable selecting drivers for V4L devices that use system memory for both source and destination buffers, as opposed to capture and output drivers, which use memory buffers for just one of those. if V4L_MEM2MEM_DRIVERS config VIDEO_CODA tristate "Chips&Media Coda multi-standard codec IP" depends on VIDEO_DEV && VIDEO_V4L2 && ARCH_MXC select SRAM select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV ---help--- Coda is a range of video codec IPs that supports H.264, MPEG-4, and other video formats. config VIDEO_MEM2MEM_DEINTERLACE tristate "Deinterlace support" depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Generic deinterlacing V4L2 driver. config VIDEO_SAMSUNG_S5P_G2D tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver" depends on VIDEO_DEV && VIDEO_V4L2 && (PLAT_S5P || ARCH_EXYNOS) select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV default n ---help--- This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D 2d graphics accelerator. config VIDEO_SAMSUNG_S5P_JPEG tristate "Samsung S5P/Exynos4 JPEG codec driver" depends on VIDEO_DEV && VIDEO_V4L2 && (PLAT_S5P || ARCH_EXYNOS) select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV ---help--- This is a v4l2 driver for Samsung S5P and EXYNOS4 JPEG codec config VIDEO_SAMSUNG_S5P_MFC tristate "Samsung S5P MFC Video Codec" depends on VIDEO_DEV && VIDEO_V4L2 && (PLAT_S5P || ARCH_EXYNOS) select VIDEOBUF2_DMA_CONTIG default n help MFC 5.1 and 6.x driver for V4L2 config VIDEO_MX2_EMMAPRP tristate "MX2 eMMa-PrP support" depends on VIDEO_DEV && VIDEO_V4L2 && SOC_IMX27 select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help MX2X chips have a PrP that can be used to process buffers from memory to memory. Operations include resizing and format conversion. config VIDEO_SAMSUNG_EXYNOS_GSC tristate "Samsung Exynos G-Scaler driver" depends on VIDEO_DEV && VIDEO_V4L2 && ARCH_EXYNOS5 select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler. config VIDEO_SH_VEU tristate "SuperH VEU mem2mem video processing driver" depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Support for the Video Engine Unit (VEU) on SuperH and SH-Mobile SoCs. config VIDEO_RENESAS_VSP1 tristate "Renesas VSP1 Video Processing Engine" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA select VIDEOBUF2_DMA_CONTIG ---help--- This is a V4L2 driver for the Renesas VSP1 video processing engine. To compile this driver as a module, choose M here: the module will be called vsp1. config VIDEO_TI_VPE tristate "TI VPE (Video Processing Engine) driver" depends on VIDEO_DEV && VIDEO_V4L2 && SOC_DRA7XX select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV default n ---help--- Support for the TI VPE(Video Processing Engine) block found on DRA7XX SoC. config VIDEO_TI_VPE_DEBUG bool "VPE debug messages" depends on VIDEO_TI_VPE ---help--- Enable debug messages on VPE driver. endif # V4L_MEM2MEM_DRIVERS menuconfig V4L_TEST_DRIVERS bool "Media test drivers" depends on MEDIA_CAMERA_SUPPORT if V4L_TEST_DRIVERS config VIDEO_VIVI tristate "Virtual Video Driver" depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64 select FONT_SUPPORT select FONT_8x16 select VIDEOBUF2_VMALLOC default n ---help--- Enables a virtual video driver. This device shows a color bar and a timestamp, as a real device would generate by using V4L2 api. Say Y here if you want to test video apps or debug V4L devices. In doubt, say N. config VIDEO_MEM2MEM_TESTDEV tristate "Virtual test device for mem2mem framework" depends on VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_VMALLOC select V4L2_MEM2MEM_DEV default n ---help--- This is a virtual test device for the memory-to-memory driver framework. endif #V4L_TEST_DRIVERS config VIDEO_BLACKFIN_CAPTURE tristate "Blackfin Video Capture Driver" depends on VIDEO_V4L2 && BLACKFIN && I2C select VIDEOBUF2_DMA_CONTIG help V4L2 bridge driver for Blackfin video capture device. Choose PPI or EPPI as its interface. To compile this driver as a module, choose M here: the module will be called bfin_capture. config VIDEO_BLACKFIN_PPI tristate depends on VIDEO_BLACKFIN_CAPTURE default VIDEO_BLACKFIN_CAPTURE config VIDEO_DAVINCI_VPIF_DISPLAY tristate "TI DaVinci VPIF V4L2-Display driver" depends on VIDEO_DEV && ARCH_DAVINCI select VIDEOBUF2_DMA_CONTIG select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT help Enables Davinci VPIF module used for display devices. This module is used for display on TI DM6467/DA850/OMAPL138 SoCs. To compile this driver as a module, choose M here. There will be two modules called vpif.ko and vpif_display.ko config VIDEO_DAVINCI_VPIF_CAPTURE tristate "TI DaVinci VPIF video capture driver" depends on VIDEO_DEV && ARCH_DAVINCI select VIDEOBUF2_DMA_CONTIG help Enables Davinci VPIF module used for capture devices. This module is used for capture on TI DM6467/DA850/OMAPL138 SoCs. To compile this driver as a module, choose M here. There will be two modules called vpif.ko and vpif_capture.ko config VIDEO_DM6446_CCDC tristate "TI DM6446 CCDC video capture driver" depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3) select VIDEOBUF_DMA_CONTIG help Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces with decoder modules such as TVP5146 over BT656 or sensor module such as MT9T001 over a raw interface. This module configures the interface and CCDC/ISIF to do video frame capture from slave decoders. To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko config VIDEO_DM355_CCDC tristate "TI DM355 CCDC video capture driver" depends on VIDEO_V4L2 && ARCH_DAVINCI select VIDEOBUF_DMA_CONTIG help Enables DM355 CCD hw module. DM355 CCDC hw interfaces with decoder modules such as TVP5146 over BT656 or sensor module such as MT9T001 over a raw interface. This module configures the interface and CCDC/ISIF to do video frame capture from a slave decoders To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko config VIDEO_DM365_ISIF tristate "TI DM365 ISIF video capture driver" depends on VIDEO_V4L2 && ARCH_DAVINCI select VIDEOBUF_DMA_CONTIG help Enables ISIF hw module. This is the hardware module for configuring ISIF in VPFE to capture Raw Bayer RGB data from a image sensor or YUV data from a YUV source. To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and isif.ko config VIDEO_DAVINCI_VPBE_DISPLAY tristate "TI DaVinci VPBE V4L2-Display driver" depends on ARCH_DAVINCI select VIDEOBUF2_DMA_CONTIG help Enables Davinci VPBE module used for display devices. This module is used for display on TI DM644x/DM365/DM355 based display devices. To compile this driver as a module, choose M here. There will be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko, vpbe_venc.ko and vpbe_display.ko config VIDEO_SAMSUNG_EXYNOS4_IS bool "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && PM_RUNTIME depends on (PLAT_S5P || ARCH_EXYNOS) help Say Y here to enable camera host interface devices for Samsung S5P and EXYNOS SoC series. if VIDEO_SAMSUNG_EXYNOS4_IS config VIDEO_EXYNOS4_IS_COMMON tristate config VIDEO_S5P_FIMC tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver" depends on I2C select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select MFD_SYSCON if OF select VIDEO_EXYNOS4_IS_COMMON help This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC camera host interface and video postprocessor (FIMC) devices. To compile this driver as a module, choose M here: the module will be called s5p-fimc. config VIDEO_S5P_MIPI_CSIS tristate "S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS) driver" depends on REGULATOR select GENERIC_PHY help This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC MIPI-CSI2 receiver (MIPI-CSIS) devices. To compile this driver as a module, choose M here: the module will be called s5p-csis. if SOC_EXYNOS4212 || SOC_EXYNOS4412 || SOC_EXYNOS5250 config VIDEO_EXYNOS_FIMC_LITE tristate "EXYNOS FIMC-LITE camera interface driver" depends on I2C select VIDEOBUF2_DMA_CONTIG select VIDEO_EXYNOS4_IS_COMMON help This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera host interface. To compile this driver as a module, choose M here: the module will be called exynos-fimc-lite. endif config VIDEO_EXYNOS4_FIMC_IS tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" select VIDEOBUF2_DMA_CONTIG depends on OF select FW_LOADER help This is a V4L2 driver for Samsung EXYNOS4x12 SoC series FIMC-IS (Imaging Subsystem). To compile this driver as a module, choose M here: the module will be called exynos4-fimc-is. endif # VIDEO_SAMSUNG_EXYNOS4_IS config VIDEO_CAFE_CCIC tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support" depends on PCI && I2C && VIDEO_V4L2 select VIDEO_OV7670 select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG ---help--- This is a video4linux2 driver for the Marvell 88ALP01 integrated CMOS camera controller. This is the controller found on first- generation OLPC systems. config VIDEO_MMP_CAMERA tristate "Marvell Armada 610 integrated camera controller support" depends on ARCH_MMP && I2C && VIDEO_V4L2 select VIDEO_OV7670 select I2C_GPIO select VIDEOBUF2_DMA_SG ---help--- This is a Video4Linux2 driver for the integrated camera controller found on Marvell Armada 610 application processors (and likely beyond). This is the controller found in OLPC XO 1.75 systems. config VIDEO_OMAP2_VOUT_VRFB bool config VIDEO_OMAP2_VOUT tristate "OMAP2/OMAP3 V4L2-Display driver" depends on ARCH_OMAP2 || ARCH_OMAP3 select VIDEOBUF_GEN select VIDEOBUF_DMA_CONTIG select OMAP2_DSS if HAS_IOMEM && ARCH_OMAP2PLUS select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3 select VIDEO_OMAP2_VOUT_VRFB if VIDEO_OMAP2_VOUT && OMAP2_VRFB default n ---help--- V4L2 Display driver support for OMAP2/3 based boards. # drivers/media/platform/s5p-tv/Kconfig # # Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. # http://www.samsung.com/ # Tomasz Stanislawski # # Licensed under GPL config VIDEO_SAMSUNG_S5P_TV bool "Samsung TV driver for S5P platform" depends on (PLAT_S5P || ARCH_EXYNOS) && PM_RUNTIME default n ---help--- Say Y here to enable selecting the TV output devices for Samsung S5P platform. if VIDEO_SAMSUNG_S5P_TV config VIDEO_SAMSUNG_S5P_HDMI tristate "Samsung HDMI Driver" depends on VIDEO_V4L2 depends on VIDEO_SAMSUNG_S5P_TV select VIDEO_SAMSUNG_S5P_HDMIPHY help Say Y here if you want support for the HDMI output interface in S5P Samsung SoC. The driver can be compiled as module. It is an auxiliary driver, that exposes a V4L2 subdev for use by other drivers. This driver requires hdmiphy driver to work correctly. config VIDEO_SAMSUNG_S5P_HDMI_DEBUG bool "Enable debug for HDMI Driver" depends on VIDEO_SAMSUNG_S5P_HDMI default n help Enables debugging for HDMI driver. config VIDEO_SAMSUNG_S5P_HDMIPHY tristate "Samsung HDMIPHY Driver" depends on VIDEO_DEV && VIDEO_V4L2 && I2C depends on VIDEO_SAMSUNG_S5P_TV help Say Y here if you want support for the physical HDMI interface in S5P Samsung SoC. The driver can be compiled as module. It is an I2C driver, that exposes a V4L2 subdev for use by other drivers. config VIDEO_SAMSUNG_S5P_SII9234 tristate "Samsung SII9234 Driver" depends on VIDEO_DEV && VIDEO_V4L2 && I2C depends on VIDEO_SAMSUNG_S5P_TV help Say Y here if you want support for the MHL interface in S5P Samsung SoC. The driver can be compiled as module. It is an I2C driver, that exposes a V4L2 subdev for use by other drivers. config VIDEO_SAMSUNG_S5P_SDO tristate "Samsung Analog TV Driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on VIDEO_SAMSUNG_S5P_TV help Say Y here if you want support for the analog TV output interface in S5P Samsung SoC. The driver can be compiled as module. It is an auxiliary driver, that exposes a V4L2 subdev for use by other drivers. This driver requires hdmiphy driver to work correctly. config VIDEO_SAMSUNG_S5P_MIXER tristate "Samsung Mixer and Video Processor Driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on VIDEO_SAMSUNG_S5P_TV select VIDEOBUF2_DMA_CONTIG help Say Y here if you want support for the Mixer in Samsung S5P SoCs. This device produce image data to one of output interfaces. config VIDEO_SAMSUNG_S5P_MIXER_DEBUG bool "Enable debug for Mixer Driver" depends on VIDEO_SAMSUNG_S5P_MIXER default n help Enables debugging for Mixer driver. endif # VIDEO_SAMSUNG_S5P_TV config SOC_CAMERA tristate "SoC camera support" depends on VIDEO_V4L2 && HAS_DMA && I2C select VIDEOBUF_GEN select VIDEOBUF2_CORE help SoC Camera is a common API to several cameras, not connecting over a bus like PCI or USB. For example some i2c camera connected directly to the data bus of an SoC. config SOC_CAMERA_SCALE_CROP tristate config SOC_CAMERA_PLATFORM tristate "platform camera support" depends on SOC_CAMERA help This is a generic SoC camera platform driver, useful for testing config MX1_VIDEO bool config VIDEO_MX1 tristate "i.MX1/i.MXL CMOS Sensor Interface driver" depends on BROKEN depends on VIDEO_DEV && ARCH_MX1 && SOC_CAMERA select FIQ select VIDEOBUF_DMA_CONTIG select MX1_VIDEO ---help--- This is a v4l2 driver for the i.MX1/i.MXL CMOS Sensor Interface config VIDEO_MX3 tristate "i.MX3x Camera Sensor Interface driver" depends on VIDEO_DEV && MX3_IPU && SOC_CAMERA select VIDEOBUF2_DMA_CONTIG ---help--- This is a v4l2 driver for the i.MX3x Camera Sensor Interface config VIDEO_PXA27x tristate "PXA27x Quick Capture Interface driver" depends on VIDEO_DEV && PXA27x && SOC_CAMERA select VIDEOBUF_DMA_SG ---help--- This is a v4l2 driver for the PXA27x Quick Capture Interface config VIDEO_RCAR_VIN tristate "R-Car Video Input (VIN) support" depends on VIDEO_DEV && SOC_CAMERA select VIDEOBUF2_DMA_CONTIG select SOC_CAMERA_SCALE_CROP ---help--- This is a v4l2 driver for the R-Car VIN Interface config VIDEO_SH_MOBILE_CSI2 tristate "SuperH Mobile MIPI CSI-2 Interface driver" depends on VIDEO_DEV && SOC_CAMERA && HAVE_CLK ---help--- This is a v4l2 driver for the SuperH MIPI CSI-2 Interface config VIDEO_SH_MOBILE_CEU tristate "SuperH Mobile CEU Interface driver" depends on VIDEO_DEV && SOC_CAMERA && HAS_DMA && HAVE_CLK select VIDEOBUF2_DMA_CONTIG select SOC_CAMERA_SCALE_CROP ---help--- This is a v4l2 driver for the SuperH Mobile CEU Interface config VIDEO_OMAP1 tristate "OMAP1 Camera Interface driver" depends on VIDEO_DEV && ARCH_OMAP1 && SOC_CAMERA select VIDEOBUF_DMA_CONTIG select VIDEOBUF_DMA_SG ---help--- This is a v4l2 driver for the TI OMAP1 camera interface config VIDEO_MX2 tristate "i.MX27 Camera Sensor Interface driver" depends on VIDEO_DEV && SOC_CAMERA && MACH_MX27 select VIDEOBUF2_DMA_CONTIG ---help--- This is a v4l2 driver for the i.MX27 Camera Sensor Interface config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on VIDEO_DEV && SOC_CAMERA && ARCH_AT91 select VIDEOBUF2_DMA_CONTIG ---help--- This module makes the ATMEL Image Sensor Interface available as a v4l2 device. # # Multimedia Video device configuration # menuconfig RADIO_ADAPTERS bool "Radio Adapters" depends on VIDEO_V4L2 depends on MEDIA_RADIO_SUPPORT default y ---help--- Say Y here to enable selecting AM/FM radio adapters. if RADIO_ADAPTERS && VIDEO_V4L2 config RADIO_TEA575X tristate config RADIO_SI470X bool "Silicon Labs Si470x FM Radio Receiver support" depends on VIDEO_V4L2 source "drivers/media/radio/si470x/Kconfig" config RADIO_SI476X tristate "Silicon Laboratories Si476x I2C FM Radio" depends on I2C && VIDEO_V4L2 depends on MFD_SI476X_CORE depends on SND_SOC select SND_SOC_SI476X ---help--- Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at . To compile this driver as a module, choose M here: the module will be called radio-si476x. config USB_MR800 tristate "AverMedia MR 800 USB FM radio support" depends on USB && VIDEO_V4L2 ---help--- Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers. To compile this driver as a module, choose M here: the module will be called radio-mr800. config USB_DSBR tristate "D-Link/GemTek USB FM radio support" depends on USB && VIDEO_V4L2 ---help--- Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers. To compile this driver as a module, choose M here: the module will be called dsbr100. config RADIO_MAXIRADIO tristate "Guillemot MAXI Radio FM 2000 radio" depends on VIDEO_V4L2 && PCI select RADIO_TEA575X ---help--- Choose Y here if you have this radio card. This card may also be found as Gemtek PCI FM. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at . To compile this driver as a module, choose M here: the module will be called radio-maxiradio. config RADIO_SHARK tristate "Griffin radioSHARK USB radio receiver" depends on USB select RADIO_TEA575X ---help--- Choose Y here if you have this radio receiver. There are 2 versions of this device, this driver is for version 1, which is white. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at . To compile this driver as a module, choose M here: the module will be called radio-shark. config RADIO_SHARK2 tristate "Griffin radioSHARK2 USB radio receiver" depends on USB ---help--- Choose Y here if you have this radio receiver. There are 2 versions of this device, this driver is for version 2, which is black. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at . To compile this driver as a module, choose M here: the module will be called radio-shark2. config I2C_SI4713 tristate "I2C driver for Silicon Labs Si4713 device" depends on I2C && VIDEO_V4L2 ---help--- Say Y here if you want support to Si4713 I2C device. This device driver supports only i2c bus. To compile this driver as a module, choose M here: the module will be called si4713. config RADIO_SI4713 tristate "Silicon Labs Si4713 FM Radio Transmitter support" depends on I2C && VIDEO_V4L2 select I2C_SI4713 ---help--- Say Y here if you want support to Si4713 FM Radio Transmitter. This device can transmit audio through FM. It can transmit RDS and RBDS signals as well. This module is the v4l2 radio interface for the i2c driver of this device. To compile this driver as a module, choose M here: the module will be called radio-si4713. config USB_KEENE tristate "Keene FM Transmitter USB support" depends on USB && VIDEO_V4L2 ---help--- Say Y here if you want to connect this type of FM transmitter to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-keene. config USB_MA901 tristate "Masterkit MA901 USB FM radio support" depends on USB && VIDEO_V4L2 ---help--- Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers or headphones. To compile this driver as a module, choose M here: the module will be called radio-ma901. config RADIO_TEA5764 tristate "TEA5764 I2C FM radio support" depends on I2C && VIDEO_V4L2 ---help--- Say Y here if you want to use the TEA5764 FM chip found in EZX phones. This FM chip is present in EZX phones from Motorola, connected to internal pxa I2C bus. To compile this driver as a module, choose M here: the module will be called radio-tea5764. config RADIO_TEA5764_XTAL bool "TEA5764 crystal reference" depends on RADIO_TEA5764=y default y help Say Y here if TEA5764 have a 32768 Hz crystal in circuit, say N here if TEA5764 reference frequency is connected in FREQIN. config RADIO_SAA7706H tristate "SAA7706H Car Radio DSP" depends on I2C && VIDEO_V4L2 ---help--- Say Y here if you want to use the SAA7706H Car radio Digital Signal Processor, found for instance on the Russellville development board. On the russellville the device is connected to internal timberdale I2C bus. To compile this driver as a module, choose M here: the module will be called SAA7706H. config RADIO_TEF6862 tristate "TEF6862 Car Radio Enhanced Selectivity Tuner" depends on I2C && VIDEO_V4L2 ---help--- Say Y here if you want to use the TEF6862 Car Radio Enhanced Selectivity Tuner, found for instance on the Russellville development board. On the russellville the device is connected to internal timberdale I2C bus. To compile this driver as a module, choose M here: the module will be called TEF6862. config RADIO_TIMBERDALE tristate "Enable the Timberdale radio driver" depends on MFD_TIMBERDALE && VIDEO_V4L2 depends on I2C # for RADIO_SAA7706H select RADIO_TEF6862 select RADIO_SAA7706H ---help--- This is a kind of umbrella driver for the Radio Tuner and DSP found behind the Timberdale FPGA on the Russellville board. Enabling this driver will automatically select the DSP and tuner. config RADIO_WL1273 tristate "Texas Instruments WL1273 I2C FM Radio" depends on I2C && VIDEO_V4L2 select MFD_CORE select MFD_WL1273_CORE select FW_LOADER ---help--- Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at . To compile this driver as a module, choose M here: the module will be called radio-wl1273. # TI's ST based wl128x FM radio source "drivers/media/radio/wl128x/Kconfig" # # ISA drivers configuration # menuconfig V4L_RADIO_ISA_DRIVERS bool "ISA radio devices" depends on ISA default n ---help--- Say Y here to enable support for these ISA drivers. if V4L_RADIO_ISA_DRIVERS config RADIO_ISA depends on ISA tristate config RADIO_CADET tristate "ADS Cadet AM/FM Tuner" depends on ISA && VIDEO_V4L2 ---help--- Choose Y here if you have one of these AM/FM radio cards, and then fill in the port address below. To compile this driver as a module, choose M here: the module will be called radio-cadet. config RADIO_RTRACK tristate "AIMSlab RadioTrack (aka RadioReveal) support" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have one of these FM radio cards, and then fill in the port address below. Note that newer AIMSlab RadioTrack cards have a different chipset and are not supported by this driver. For these cards, use the RadioTrack II driver below. If you have a GemTeks combined (PnP) sound- and radio card you must use this driver as a module and setup the card with isapnptools. You must also pass the module a suitable io parameter, 0x248 has been reported to be used by these cards. More information is contained in the file . To compile this driver as a module, choose M here: the module will be called radio-aimslab. config RADIO_RTRACK_PORT hex "RadioTrack i/o port (0x20f or 0x30f)" depends on RADIO_RTRACK=y default "30f" help Enter either 0x30f or 0x20f here. The card default is 0x30f, if you haven't changed the jumper setting on the card. config RADIO_RTRACK2 tristate "AIMSlab RadioTrack II support" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have this FM radio card, and then fill in the port address below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-rtrack2. config RADIO_RTRACK2_PORT hex "RadioTrack II i/o port (0x20c or 0x30c)" depends on RADIO_RTRACK2=y default "30c" help Enter either 0x30c or 0x20c here. The card default is 0x30c, if you haven't changed the jumper setting on the card. config RADIO_AZTECH tristate "Aztech/Packard Bell Radio" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have one of these FM radio cards, and then fill in the port address below. To compile this driver as a module, choose M here: the module will be called radio-aztech. config RADIO_AZTECH_PORT hex "Aztech/Packard Bell I/O port (0x350 or 0x358)" depends on RADIO_AZTECH=y default "350" help Enter either 0x350 or 0x358 here. The card default is 0x350, if you haven't changed the setting of jumper JP3 on the card. Removing the jumper sets the card to 0x358. config RADIO_GEMTEK tristate "GemTek Radio card (or compatible) support" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have this FM radio card, and then fill in the I/O port address and settings below. The following cards either have GemTek Radio tuner or are rebranded GemTek Radio cards: - Sound Vision 16 Gold with FM Radio - Typhoon Radio card (some models) - Hama Radio card To compile this driver as a module, choose M here: the module will be called radio-gemtek. config RADIO_GEMTEK_PORT hex "Fixed I/O port (0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c)" depends on RADIO_GEMTEK=y default "34c" help Enter either 0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c here. The card default is 0x34c, if you haven't changed the jumper setting on the card. On Sound Vision 16 Gold PnP with FM Radio (ESS1869+FM Gemtek), the I/O port is 0x20c, 0x248 or 0x28c. If automatic I/O port probing is enabled this port will be used only in case of automatic probing failure, ie. as a fallback. config RADIO_GEMTEK_PROBE bool "Automatic I/O port probing" depends on RADIO_GEMTEK=y default y help Say Y here to enable automatic probing for GemTek Radio card. The following ports will be probed: 0x20c, 0x30c, 0x24c, 0x34c, 0x248 and 0x28c. config RADIO_MIROPCM20 tristate "miroSOUND PCM20 radio" depends on ISA && ISA_DMA_API && VIDEO_V4L2 && SND select SND_ISA select SND_MIRO ---help--- Choose Y here if you have this FM radio card. You also need to enable the ALSA sound system. This choice automatically selects the ALSA sound card driver "Miro miroSOUND PCM1pro/PCM12/PCM20radio" as this is required for the radio-miropcm20. To compile this driver as a module, choose M here: the module will be called radio-miropcm20. config RADIO_SF16FMI tristate "SF16-FMI/SF16-FMP/SF16-FMD Radio" depends on ISA && VIDEO_V4L2 ---help--- Choose Y here if you have one of these FM radio cards. To compile this driver as a module, choose M here: the module will be called radio-sf16fmi. config RADIO_SF16FMR2 tristate "SF16-FMR2/SF16-FMD2 Radio" depends on ISA && VIDEO_V4L2 select RADIO_TEA575X ---help--- Choose Y here if you have one of these FM radio cards. To compile this driver as a module, choose M here: the module will be called radio-sf16fmr2. config RADIO_TERRATEC tristate "TerraTec ActiveRadio ISA Standalone" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have this FM radio card. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-terratec. config RADIO_TRUST tristate "Trust FM radio card" depends on ISA && VIDEO_V4L2 select RADIO_ISA help This is a driver for the Trust FM radio cards. Say Y if you have such a card and want to use it under Linux. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-trust. config RADIO_TRUST_PORT hex "Trust i/o port (usually 0x350 or 0x358)" depends on RADIO_TRUST=y default "350" help Enter the I/O port of your Trust FM radio card. If unsure, try the values "0x350" or "0x358". config RADIO_TYPHOON tristate "Typhoon Radio (a.k.a. EcoRadio)" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have one of these FM radio cards, and then fill in the port address and the frequency used for muting below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-typhoon. config RADIO_TYPHOON_PORT hex "Typhoon I/O port (0x316 or 0x336)" depends on RADIO_TYPHOON=y default "316" help Enter the I/O port of your Typhoon or EcoRadio radio card. config RADIO_TYPHOON_MUTEFREQ int "Typhoon frequency set when muting the device (kHz)" depends on RADIO_TYPHOON=y default "87500" help Enter the frequency used for muting the radio. The device is never completely silent. If the volume is just turned down, you can still hear silent voices and music. For that reason, the frequency of the radio device is set to the frequency you can enter here whenever the device is muted. There should be no local radio station at that frequency. config RADIO_ZOLTRIX tristate "Zoltrix Radio" depends on ISA && VIDEO_V4L2 select RADIO_ISA ---help--- Choose Y here if you have one of these FM radio cards, and then fill in the port address below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-zoltrix. config RADIO_ZOLTRIX_PORT hex "ZOLTRIX I/O port (0x20c or 0x30c)" depends on RADIO_ZOLTRIX=y default "20c" help Enter the I/O port of your Zoltrix radio card. endif # V4L_RADIO_ISA_DRIVERS endif # RADIO_ADAPTERS config USB_SI470X tristate "Silicon Labs Si470x FM Radio Receiver support with USB" depends on USB && RADIO_SI470X ---help--- This is a driver for USB devices with the Silicon Labs SI470x chip. Currently these devices are known to work: - 10c4:818a: Silicon Labs USB FM Radio Reference Design - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700) - 10c5:819a: Sanei Electric FM USB Radio (aka DealExtreme.com PCear) Sound is provided by the ALSA USB Audio/MIDI driver. Therefore if you don't want to use the device solely for RDS receiving, it is recommended to also select SND_USB_AUDIO. Please have a look at the documentation, especially on how to redirect the audio stream from the radio to your sound device: Documentation/video4linux/si470x.txt Say Y here if you want to connect this type of radio to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-usb-si470x. config I2C_SI470X tristate "Silicon Labs Si470x FM Radio Receiver support with I2C" depends on I2C && RADIO_SI470X && !USB_SI470X ---help--- This is a driver for I2C devices with the Silicon Labs SI470x chip. Say Y here if you want to connect this type of radio to your computer's I2C port. To compile this driver as a module, choose M here: the module will be called radio-i2c-si470x. # # TI's wl128x FM driver based on TI's ST driver. # menu "Texas Instruments WL128x FM driver (ST based)" config RADIO_WL128X tristate "Texas Instruments WL128x FM Radio" depends on VIDEO_V4L2 && RFKILL && GPIOLIB && TTY select TI_ST if NET help Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at . endmenu config RC_CORE tristate depends on MEDIA_RC_SUPPORT depends on INPUT default y source "drivers/media/rc/keymaps/Kconfig" menuconfig RC_DECODERS bool "Remote controller decoders" depends on RC_CORE default y if RC_DECODERS config LIRC tristate "LIRC interface driver" depends on RC_CORE ---help--- Enable this option to build the Linux Infrared Remote Control (LIRC) core device interface driver. The LIRC interface passes raw IR to and from userspace, where the LIRC daemon handles protocol decoding for IR reception and encoding for IR transmitting (aka "blasting"). config IR_LIRC_CODEC tristate "Enable IR to LIRC bridge" depends on RC_CORE depends on LIRC default y ---help--- Enable this option to pass raw IR to and from userspace via the LIRC interface. config IR_NEC_DECODER tristate "Enable IR raw decoder for the NEC protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have IR with NEC protocol, and if the IR is decoded in software config IR_RC5_DECODER tristate "Enable IR raw decoder for the RC-5 protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have IR with RC-5 protocol, and if the IR is decoded in software config IR_RC6_DECODER tristate "Enable IR raw decoder for the RC6 protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have an infrared remote control which uses the RC6 protocol, and you need software decoding support. config IR_JVC_DECODER tristate "Enable IR raw decoder for the JVC protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have an infrared remote control which uses the JVC protocol, and you need software decoding support. config IR_SONY_DECODER tristate "Enable IR raw decoder for the Sony protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have an infrared remote control which uses the Sony protocol, and you need software decoding support. config IR_RC5_SZ_DECODER tristate "Enable IR raw decoder for the RC-5 (streamzap) protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have IR with RC-5 (streamzap) protocol, and if the IR is decoded in software. (The Streamzap PC Remote uses an IR protocol that is almost standard RC-5, but not quite, as it uses an additional bit). config IR_SANYO_DECODER tristate "Enable IR raw decoder for the Sanyo protocol" depends on RC_CORE default y ---help--- Enable this option if you have an infrared remote control which uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes), and you need software decoding support. config IR_MCE_KBD_DECODER tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol" depends on RC_CORE select BITREVERSE default y ---help--- Enable this option if you have a Microsoft Remote Keyboard for Windows Media Center Edition, which you would like to use with a raw IR receiver in your system. endif #RC_DECODERS menuconfig RC_DEVICES bool "Remote Controller devices" depends on RC_CORE if RC_DEVICES config RC_ATI_REMOTE tristate "ATI / X10 based USB RF remote controls" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use an X10 based USB remote control. These are RF remotes with USB receivers. Such devices include the ATI remote that comes with many of ATI's All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote, Medion RF remote, and SnapStream FireFly remote. This driver provides mouse pointer, left and right mouse buttons, and maps all the other remote buttons to keypress events. To compile this driver as a module, choose M here: the module will be called ati_remote. config IR_ENE tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)" depends on PNP depends on RC_CORE ---help--- Say Y here to enable support for integrated infrared receiver /transceiver made by ENE. You can see if you have it by looking at lspnp output. Output should include ENE0100 ENE0200 or something similar. To compile this driver as a module, choose M here: the module will be called ene_ir. config IR_IMON tristate "SoundGraph iMON Receiver and Display" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB ---help--- Say Y here if you want to use a SoundGraph iMON (aka Antec Veris) IR Receiver and/or LCD/VFD/VGA display. To compile this driver as a module, choose M here: the module will be called imon. config IR_MCEUSB tristate "Windows Media Center Ed. eHome Infrared Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB ---help--- Say Y here if you want to use a Windows Media Center Edition eHome Infrared Transceiver. To compile this driver as a module, choose M here: the module will be called mceusb. config IR_ITE_CIR tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver" depends on PNP depends on RC_CORE ---help--- Say Y here to enable support for integrated infrared receivers /transceivers made by ITE Tech Inc. These are found in several ASUS devices, like the ASUS Digimatrix or the ASUS EEEBox 1501U. To compile this driver as a module, choose M here: the module will be called ite-cir. config IR_FINTEK tristate "Fintek Consumer Infrared Transceiver" depends on PNP depends on RC_CORE ---help--- Say Y here to enable support for integrated infrared receiver /transciever made by Fintek. This chip is found on assorted Jetway motherboards (and of course, possibly others). To compile this driver as a module, choose M here: the module will be called fintek-cir. config IR_NUVOTON tristate "Nuvoton w836x7hg Consumer Infrared Transceiver" depends on PNP depends on RC_CORE ---help--- Say Y here to enable support for integrated infrared receiver /transciever made by Nuvoton (formerly Winbond). This chip is found in the ASRock ION 330HT, as well as assorted Intel DP55-series motherboards (and of course, possibly others). To compile this driver as a module, choose M here: the module will be called nuvoton-cir. config IR_REDRAT3 tristate "RedRat3 IR Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select NEW_LEDS select LEDS_CLASS select USB ---help--- Say Y here if you want to use a RedRat3 Infrared Transceiver. To compile this driver as a module, choose M here: the module will be called redrat3. config IR_STREAMZAP tristate "Streamzap PC Remote IR Receiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB ---help--- Say Y here if you want to use a Streamzap PC Remote Infrared Receiver. To compile this driver as a module, choose M here: the module will be called streamzap. config IR_WINBOND_CIR tristate "Winbond IR remote control" depends on X86 && PNP depends on RC_CORE select NEW_LEDS select LEDS_CLASS select BITREVERSE ---help--- Say Y here if you want to use the IR remote functionality found in some Winbond SuperI/O chips. Currently only the WPCD376I chip is supported (included in some Intel Media series motherboards). To compile this driver as a module, choose M here: the module will be called winbond_cir. config IR_IGUANA tristate "IguanaWorks USB IR Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB ---help--- Say Y here if you want to use the IguanaWorks USB IR Transceiver. Both infrared receive and send are supported. If you want to change the ID or the pin config, use the user space driver from IguanaWorks. Only firmware 0x0205 and later is supported. To compile this driver as a module, choose M here: the module will be called iguanair. config IR_TTUSBIR tristate "TechnoTrend USB IR Receiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB select NEW_LEDS select LEDS_CLASS ---help--- Say Y here if you want to use the TechnoTrend USB IR Receiver. The driver can control the led. To compile this driver as a module, choose M here: the module will be called ttusbir. config IR_RX51 tristate "Nokia N900 IR transmitter diode" depends on OMAP_DM_TIMER && ARCH_OMAP2PLUS && LIRC && !ARCH_MULTIPLATFORM ---help--- Say Y or M here if you want to enable support for the IR transmitter diode built in the Nokia N900 (RX51) device. The driver uses omap DM timers for generating the carrier wave and pulses. config RC_LOOPBACK tristate "Remote Control Loopback Driver" depends on RC_CORE ---help--- Say Y here if you want support for the remote control loopback driver which allows TX data to be sent back as RX data. This is mostly useful for debugging purposes. If you're not sure, select N here. To compile this driver as a module, choose M here: the module will be called rc_loopback. config IR_GPIO_CIR tristate "GPIO IR remote control" depends on RC_CORE ---help--- Say Y if you want to use GPIO based IR Receiver. To compile this driver as a module, choose M here: the module will be called gpio-ir-recv. config RC_ST tristate "ST remote control receiver" depends on ARCH_STI && RC_CORE help Say Y here if you want support for ST remote control driver which allows both IR and UHF RX. The driver passes raw pulse and space information to the LIRC decoder. If you're not sure, select N here. endif #RC_DEVICES config RC_MAP tristate "Compile Remote Controller keymap modules" depends on RC_CORE default y ---help--- This option enables the compilation of lots of Remote Controller tables. They are short tables, but if you don't use a remote controller, or prefer to load the tables on userspace, you should disable it. The ir-keytable program, available at v4l-utils package provide the tool and the same RC maps for load from userspace. Its available at http://git.linuxtv.org/v4l-utils # Analog TV tuners, auto-loaded via tuner.ko config MEDIA_TUNER tristate depends on (MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT) && I2C default y select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT20XX if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TEA5761 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT select MEDIA_TUNER_TEA5767 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA9887 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT menu "Customize TV tuners" visible if !MEDIA_SUBDRV_AUTOSELECT depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT config MEDIA_TUNER_SIMPLE tristate "Simple tuner support" depends on MEDIA_SUPPORT && I2C select MEDIA_TUNER_TDA9887 default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for various simple tuners. config MEDIA_TUNER_TDA8290 tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo" depends on MEDIA_SUPPORT && I2C select MEDIA_TUNER_TDA827X select MEDIA_TUNER_TDA18271 default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for Philips TDA8290+8275(a) tuner. config MEDIA_TUNER_TDA827X tristate "Philips TDA827X silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T silicon tuner module. Say Y when you want to support this tuner. config MEDIA_TUNER_TDA18271 tristate "NXP TDA18271 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A silicon tuner module. Say Y when you want to support this tuner. config MEDIA_TUNER_TDA9887 tristate "TDA 9885/6/7 analog IF demodulator" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for Philips TDA9885/6/7 analog IF demodulator. config MEDIA_TUNER_TEA5761 tristate "TEA 5761 radio tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the Philips TEA5761 radio tuner. config MEDIA_TUNER_TEA5767 tristate "TEA 5767 radio tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the Philips TEA5767 radio tuner. config MEDIA_TUNER_MT20XX tristate "Microtune 2032 / 2050 tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the MT2032 / MT2050 tuner. config MEDIA_TUNER_MT2060 tristate "Microtune MT2060 silicon IF tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon IF tuner MT2060 from Microtune. config MEDIA_TUNER_MT2063 tristate "Microtune MT2063 silicon IF tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon IF tuner MT2063 from Microtune. config MEDIA_TUNER_MT2266 tristate "Microtune MT2266 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner MT2266 from Microtune. config MEDIA_TUNER_MT2131 tristate "Microtune MT2131 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner MT2131 from Microtune. config MEDIA_TUNER_QT1010 tristate "Quantek QT1010 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner QT1010 from Quantek. config MEDIA_TUNER_XC2028 tristate "XCeive xc2028/xc3028 tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the xc2028/xc3028 tuners. config MEDIA_TUNER_XC5000 tristate "Xceive XC5000 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner XC5000 from Xceive. This device is only used inside a SiP called together with a demodulator for now. config MEDIA_TUNER_XC4000 tristate "Xceive XC4000 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner XC4000 from Xceive. This device is only used inside a SiP called together with a demodulator for now. config MEDIA_TUNER_MXL5005S tristate "MaxLinear MSL5005S silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MXL5005S from MaxLinear. config MEDIA_TUNER_MXL5007T tristate "MaxLinear MxL5007T silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MxL5007T from MaxLinear. config MEDIA_TUNER_MC44S803 tristate "Freescale MC44S803 Low Power CMOS Broadband tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Freescale MC44S803 based tuners config MEDIA_TUNER_MAX2165 tristate "Maxim MAX2165 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MAX2165 from Maxim. config MEDIA_TUNER_TDA18218 tristate "NXP TDA18218 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18218 silicon tuner driver. config MEDIA_TUNER_FC0011 tristate "Fitipower FC0011 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0011 silicon tuner driver. config MEDIA_TUNER_FC0012 tristate "Fitipower FC0012 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0012 silicon tuner driver. config MEDIA_TUNER_FC0013 tristate "Fitipower FC0013 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0013 silicon tuner driver. config MEDIA_TUNER_TDA18212 tristate "NXP TDA18212 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18212 silicon tuner driver. config MEDIA_TUNER_E4000 tristate "Elonics E4000 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Elonics E4000 silicon tuner driver. config MEDIA_TUNER_FC2580 tristate "FCI FC2580 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help FCI FC2580 silicon tuner driver. config MEDIA_TUNER_TUA9001 tristate "Infineon TUA 9001 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Infineon TUA 9001 silicon tuner driver. config MEDIA_TUNER_IT913X tristate "ITE Tech IT913x silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help ITE Tech IT913x silicon tuner driver. config MEDIA_TUNER_R820T tristate "Rafael Micro R820T silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Rafael Micro R820T silicon tuner driver. endmenu if USB && MEDIA_SUPPORT menuconfig MEDIA_USB_SUPPORT bool "Media USB Adapters" help Enable media drivers for USB bus. If you have such devices, say Y. if MEDIA_USB_SUPPORT if MEDIA_CAMERA_SUPPORT comment "Webcam devices" source "drivers/media/usb/uvc/Kconfig" source "drivers/media/usb/gspca/Kconfig" source "drivers/media/usb/pwc/Kconfig" source "drivers/media/usb/cpia2/Kconfig" source "drivers/media/usb/zr364xx/Kconfig" source "drivers/media/usb/stkwebcam/Kconfig" source "drivers/media/usb/s2255/Kconfig" source "drivers/media/usb/sn9c102/Kconfig" source "drivers/media/usb/usbtv/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT comment "Analog TV USB devices" source "drivers/media/usb/pvrusb2/Kconfig" source "drivers/media/usb/hdpvr/Kconfig" source "drivers/media/usb/tlg2300/Kconfig" source "drivers/media/usb/usbvision/Kconfig" source "drivers/media/usb/stk1160/Kconfig" endif if (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT) comment "Analog/digital TV USB devices" source "drivers/media/usb/au0828/Kconfig" source "drivers/media/usb/cx231xx/Kconfig" source "drivers/media/usb/tm6000/Kconfig" endif if I2C && MEDIA_DIGITAL_TV_SUPPORT comment "Digital TV USB devices" source "drivers/media/usb/dvb-usb/Kconfig" source "drivers/media/usb/dvb-usb-v2/Kconfig" source "drivers/media/usb/ttusb-budget/Kconfig" source "drivers/media/usb/ttusb-dec/Kconfig" source "drivers/media/usb/siano/Kconfig" source "drivers/media/usb/b2c2/Kconfig" endif if (MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT) comment "Webcam, TV (analog/digital) USB devices" source "drivers/media/usb/em28xx/Kconfig" endif endif #MEDIA_USB_SUPPORT endif #USB config VIDEO_AU0828 tristate "Auvitek AU0828 support" depends on I2C && INPUT && DVB_CORE && USB select I2C_ALGOBIT select VIDEO_TVEEPROM select VIDEOBUF_VMALLOC select DVB_AU8522_DTV if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a hybrid analog/digital tv capture driver for Auvitek's AU0828 USB device. To compile this driver as a module, choose M here: the module will be called au0828 config VIDEO_AU0828_V4L2 bool "Auvitek AU0828 v4l2 analog video support" depends on VIDEO_AU0828 && VIDEO_V4L2 select DVB_AU8522_V4L if MEDIA_SUBDRV_AUTOSELECT default y ---help--- This is a video4linux driver for Auvitek's USB device. Choose Y here to include support for v4l2 analog video capture within the au0828 driver. config DVB_B2C2_FLEXCOP_USB tristate "Technisat/B2C2 Air/Sky/Cable2PC USB" depends on DVB_CORE && I2C help Support for the Air/Sky/Cable2PC USB1.1 box (DVB/ATSC) by Technisat/B2C2, Say Y if you own such a device and want to use it. config DVB_B2C2_FLEXCOP_USB_DEBUG bool "Enable debug for the B2C2 FlexCop drivers" depends on DVB_B2C2_FLEXCOP_USB select DVB_B2C2_FLEXCOP_DEBUG help Say Y if you want to enable the module option to control debug messages of all B2C2 FlexCop drivers. config VIDEO_CPIA2 tristate "CPiA2 Video For Linux" depends on VIDEO_DEV && USB && VIDEO_V4L2 ---help--- This is the video4linux driver for cameras based on Vision's CPiA2 (Colour Processor Interface ASIC), such as the Digital Blue QX5 Microscope. If you have one of these cameras, say Y here This driver is also available as a module (cpia2). config VIDEO_CX231XX tristate "Conexant cx231xx USB video capture support" depends on VIDEO_DEV && I2C select VIDEO_TUNER select VIDEO_TVEEPROM depends on RC_CORE select VIDEOBUF_VMALLOC select VIDEO_CX25840 select VIDEO_CX2341X ---help--- This is a video4linux driver for Conexant 231xx USB based TV cards. To compile this driver as a module, choose M here: the module will be called cx231xx config VIDEO_CX231XX_RC bool "Conexant cx231xx Remote Controller additional support" depends on RC_CORE depends on VIDEO_CX231XX default y ---help--- cx231xx hardware has a builtin RX/TX support. However, a few designs opted to not use it, but, instead, some other hardware. This module enables the usage of those other hardware, like the ones used with ISDB-T boards. On most cases, all you need for IR is mceusb module. config VIDEO_CX231XX_ALSA tristate "Conexant Cx231xx ALSA audio module" depends on VIDEO_CX231XX && SND select SND_PCM ---help--- This is an ALSA driver for Cx231xx USB based TV cards. To compile this driver as a module, choose M here: the module will be called cx231xx-alsa config VIDEO_CX231XX_DVB tristate "DVB/ATSC Support for Cx231xx based TV cards" depends on VIDEO_CX231XX && DVB_CORE select VIDEOBUF_DVB select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT ---help--- This adds support for DVB cards based on the Conexant cx231xx chips. config DVB_USB_V2 tristate "Support for various USB DVB devices v2" depends on DVB_CORE && USB && I2C && (RC_CORE || RC_CORE=n) help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. Almost every USB device needs a firmware, please look into . For a complete list of supported USB devices see the LinuxTV DVB Wiki: Say Y if you own a USB DVB device. config DVB_USB_AF9015 tristate "Afatech AF9015 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_AF9013 select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver config DVB_USB_AF9035 tristate "Afatech AF9035 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_AF9033 select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0011 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_IT913X if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9035 based DVB USB receiver. config DVB_USB_ANYSEE tristate "Anysee DVB-T/C USB2.0 support" depends on DVB_USB_V2 select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Anysee E30, Anysee E30 Plus or Anysee E30 C Plus DVB USB2.0 receiver. config DVB_USB_AU6610 tristate "Alcor Micro AU6610 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver. config DVB_USB_AZ6007 tristate "AzureWave 6007 and clones DVB-T/C USB2.0 support" depends on DVB_USB_V2 select CYPRESS_FIRMWARE select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AZ6007 receivers like Terratec H7. config DVB_USB_CE6230 tristate "Intel CE6230 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Intel CE6230 DVB-T USB2.0 receiver config DVB_USB_EC168 tristate "E3C EC168 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_EC100 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the E3C EC168 DVB-T USB2.0 receiver. config DVB_USB_GL861 tristate "Genesys Logic GL861 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0 receiver with USB ID 0db0:5581. config DVB_USB_IT913X tristate "ITE IT913X DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_IT913X_FE help Say Y here to support the ITE IT913X DVB-T USB2.0 config DVB_USB_LME2510 tristate "LME DM04/QQBOX DVB-S USB2.0 support" depends on DVB_USB_V2 depends on RC_CORE select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_IX2505V if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the LME DM04/QQBOX DVB-S USB2.0 config DVB_USB_MXL111SF tristate "MxL111SF DTV USB2.0 support" depends on DVB_USB_V2 select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_LG2160 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVEEPROM help Say Y here to support the MxL111SF USB2.0 DTV receiver. config DVB_USB_RTL28XXU tristate "Realtek RTL28xxU DVB USB support" depends on DVB_USB_V2 select DVB_RTL2830 select DVB_RTL2832 select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0012 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0013 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_E4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_R820T if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Realtek RTL28xxU DVB USB receiver. config DVB_USB tristate "Support for various USB DVB devices" depends on DVB_CORE && USB && I2C && RC_CORE help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. Almost every USB device needs a firmware, please look into . For a complete list of supported USB devices see the LinuxTV DVB Wiki: Say Y if you own a USB DVB device. config DVB_USB_DEBUG bool "Enable extended debug support for all DVB-USB devices" depends on DVB_USB help Say Y if you want to enable debugging. See modinfo dvb-usb (and the appropriate drivers) for debug levels. config DVB_USB_A800 tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)" depends on DVB_USB select DVB_DIB3000MC select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver. config DVB_USB_DIBUSB_MB tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB3000MB select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by DiBcom () equipped with a DiB3000M-B demodulator. For an up-to-date list of devices supported by this driver, have a look on the Linux-DVB Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_DIBUSB_MB_FAULTY bool "Support faulty USB IDs" depends on DVB_USB_DIBUSB_MB help Support for faulty USB IDs due to an invalid EEPROM on some Artec devices. config DVB_USB_DIBUSB_MC tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" depends on DVB_USB select DVB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Support for USB2.0 DVB-T receivers based on reference designs made by DiBcom () equipped with a DiB3000M-C/P demodulator. For an up-to-date list of devices supported by this driver, have a look on the Linux-DVB Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_DIB0700 tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" depends on DVB_USB select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB7000M if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB8000 if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB3000MC if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0090 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2266 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT help Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The USB bridge is also present in devices having the DiB7700 DVB-T-USB silicon. This chip can be found in devices offered by Hauppauge, Avermedia and other big and small companies. For an up-to-date list of devices supported by this driver, have a look on the LinuxTV Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_UMT_010 tristate "HanfTek UMT-010 DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver. config DVB_USB_CXUSB tristate "Conexant USB2.0 hybrid reference design support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT select DVB_ATBM8830 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGS8GXX if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MAX2165 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Conexant USB2.0 hybrid reference design. Currently, only DVB and ATSC modes are supported, analog mode shall be added in the future. Devices that require this module: Medion MD95700 hybrid USB2.0 device. DViCO FusionHDTV (Bluebird) USB2.0 devices config DVB_USB_M920X tristate "Uli m920x DVB-T USB2.0 support" depends on DVB_USB select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver. Currently, only devices with a product id of "DTV USB MINI" (in cold state) are supported. Firmware required. config DVB_USB_DIGITV tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Nebula Electronics uDigitV USB2.0 DVB-T receiver. config DVB_USB_VP7045 tristate "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support" depends on DVB_USB help Say Y here to support the TwinhanDTV Alpha (stick) (VP-7045), TwinhanDTV MagicBox II (VP-7046), DigitalNow TinyUSB 2 DVB-t, DigitalRise USB 2.0 Ter (Beetle) and TYPHOON DVB-T USB DRIVE DVB-T USB2.0 receivers. config DVB_USB_VP702X tristate "TwinhanDTV StarBox and clones DVB-S USB2.0 support" depends on DVB_USB help Say Y here to support the TwinhanDTV StarBox, DigitalRise USB Starbox and TYPHOON DVB-S USB 2.0 BOX DVB-S USB2.0 receivers. config DVB_USB_GP8PSK tristate "GENPIX 8PSK->USB module support" depends on DVB_USB help Say Y here to support the GENPIX 8psk module DVB-S USB2.0 receivers. config DVB_USB_NOVA_T_USB2 tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" depends on DVB_USB select DVB_DIB3000MC select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver. config DVB_USB_TTUSB2 tristate "Pinnacle 400e DVB-S USB2.0 support" depends on DVB_USB select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Pinnacle 400e DVB-S USB2.0 receiver and the TechnoTrend CT-3650 CI DVB-C/T USB2.0 receiver. The firmware protocol used by this module is similar to the one used by the old ttusb-driver - that's why the module is called dvb-usb-ttusb2. config DVB_USB_DTT200U tristate "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)" depends on DVB_USB help Say Y here to support the WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0 receiver. The receivers are also known as DTT200U (Yakumo) and UB300 (Yuan). The WT-220U and its clones are pen-sized. config DVB_USB_OPERA1 tristate "Opera1 DVB-S USB2.0 receiver" depends on DVB_USB select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Opera DVB-S USB2.0 receiver. config DVB_USB_AF9005 tristate "Afatech AF9005 DVB-T USB1.1 support" depends on DVB_USB select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver and the TerraTec Cinergy T USB XE (Rev.1) config DVB_USB_AF9005_REMOTE tristate "Afatech AF9005 default remote control support" depends on DVB_USB_AF9005 help Say Y here to support the default remote control decoding for the Afatech AF9005 based receiver. config DVB_USB_PCTV452E tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600" depends on DVB_USB select TTPCI_EEPROM select DVB_LNBP22 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT help Support for external USB adapter designed by Pinnacle, shipped under the brand name 'PCTV HDTV Pro USB'. Also supports TT Connect S2-3600/3650 cards. Say Y if you own such a device and want to use it. config DVB_USB_DW2102 tristate "DvbWorld & TeVii DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI21XX if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the DvbWorld, TeVii, Prof DVB-S/S2 USB2.0 receivers. config DVB_USB_CINERGY_T2 tristate "Terratec CinergyT2/qanu USB 2.0 DVB-T receiver" depends on DVB_USB help Support for "TerraTec CinergyT2" USB2.0 Highspeed DVB Receivers Say Y if you own such a device and want to use it. config DVB_USB_DTV5100 tristate "AME DTV-5100 USB2.0 DVB-T support" depends on DVB_USB select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver. config DVB_USB_FRIIO tristate "Friio ISDB-T USB2.0 Receiver support" depends on DVB_USB help Say Y here to support the Japanese DTV receiver Friio. config DVB_USB_AZ6027 tristate "Azurewave DVB-S/S2 USB2.0 AZ6027 support" depends on DVB_USB select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AZ6027 device config DVB_USB_TECHNISAT_USB2 tristate "Technisat DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Technisat USB2 DVB-S/S2 device config VIDEO_EM28XX tristate "Empia EM28xx USB video capture support" depends on VIDEO_DEV && I2C select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEOBUF2_VMALLOC select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT ---help--- This is a video4linux driver for Empia 28xx based TV cards. To compile this driver as a module, choose M here: the module will be called em28xx config VIDEO_EM28XX_ALSA depends on VIDEO_EM28XX && SND select SND_PCM tristate "Empia EM28xx ALSA audio module" ---help--- This is an ALSA driver for some Empia 28xx based TV cards. This is not required for em2800/em2820/em2821 boards. However, newer em28xx devices uses Vendor Class for audio, instead of implementing the USB Audio Class. For those chips, this module will enable digital audio. To compile this driver as a module, choose M here: the module will be called em28xx-alsa config VIDEO_EM28XX_DVB tristate "DVB/ATSC Support for em28xx based TV cards" depends on VIDEO_EM28XX && DVB_CORE select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT ---help--- This adds support for DVB cards based on the Empiatech em28xx chips. config VIDEO_EM28XX_RC tristate "EM28XX Remote Controller support" depends on RC_CORE depends on VIDEO_EM28XX depends on !(RC_CORE=m && VIDEO_EM28XX=y) default VIDEO_EM28XX ---help--- Enables Remote Controller support on em28xx driver. menuconfig USB_GSPCA tristate "GSPCA based webcams" depends on VIDEO_V4L2 default m ---help--- Say Y here if you want to enable selecting webcams based on the GSPCA framework. See for more info. This driver uses the Video For Linux API. You must say Y or M to "Video For Linux" to use this driver. To compile this driver as modules, choose M here: the module will be called gspca_main. if USB_GSPCA && VIDEO_V4L2 source "drivers/media/usb/gspca/m5602/Kconfig" source "drivers/media/usb/gspca/stv06xx/Kconfig" source "drivers/media/usb/gspca/gl860/Kconfig" config USB_GSPCA_BENQ tristate "Benq USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the Benq DC E300 camera. To compile this driver as a module, choose M here: the module will be called gspca_benq. config USB_GSPCA_CONEX tristate "Conexant Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Conexant chip. To compile this driver as a module, choose M here: the module will be called gspca_conex. config USB_GSPCA_CPIA1 tristate "cpia CPiA (version 1) Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for USB cameras based on the cpia CPiA chip. Note that you need atleast version 0.6.4 of libv4l for applications to understand the videoformat generated by this driver. To compile this driver as a module, choose M here: the module will be called gspca_cpia1. config USB_GSPCA_ETOMS tristate "Etoms USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Etoms chip. To compile this driver as a module, choose M here: the module will be called gspca_etoms. config USB_GSPCA_FINEPIX tristate "Fujifilm FinePix USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the FinePix chip. To compile this driver as a module, choose M here: the module will be called gspca_finepix. config USB_GSPCA_JEILINJ tristate "Jeilin JPEG USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on this Jeilin chip. To compile this driver as a module, choose M here: the module will be called gspca_jeilinj. config USB_GSPCA_JL2005BCD tristate "JL2005B/C/D USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based the JL2005B, JL2005C, or JL2005D chip. To compile this driver as a module, choose M here: the module will be called gspca_jl2005bcd. config USB_GSPCA_KINECT tristate "Kinect sensor device USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the Microsoft Kinect sensor device. To compile this driver as a module, choose M here: the module will be called gspca_kinect. config USB_GSPCA_KONICA tristate "Konica USB Camera V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Konica chip. To compile this driver as a module, choose M here: the module will be called gspca_konica. config USB_GSPCA_MARS tristate "Mars USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Mars chip. To compile this driver as a module, choose M here: the module will be called gspca_mars. config USB_GSPCA_MR97310A tristate "Mars-Semi MR97310A USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the MR97310A chip. To compile this driver as a module, choose M here: the module will be called gspca_mr97310a. config USB_GSPCA_NW80X tristate "Divio based (NW80x) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the NW80x chips. To compile this driver as a module, choose M here: the module will be called gspca_nw80x. config USB_GSPCA_OV519 tristate "OV51x / OVFX2 / W996xCF USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on one of these: OV511(+), OV518(+), OV519, OVFX2, W9967CF, W9968CF To compile this driver as a module, choose M here: the module will be called gspca_ov519. config USB_GSPCA_OV534 tristate "OV534 OV772x USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the OV534 chip and sensor OV772x (e.g. Sony Playstation EYE) To compile this driver as a module, choose M here: the module will be called gspca_ov534. config USB_GSPCA_OV534_9 tristate "OV534 OV965x USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the OV534 chip and sensor OV965x (e.g. Hercules Dualpix) To compile this driver as a module, choose M here: the module will be called gspca_ov534_9. config USB_GSPCA_PAC207 tristate "Pixart PAC207 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC207 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac207. config USB_GSPCA_PAC7302 tristate "Pixart PAC7302 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC7302 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac7302. config USB_GSPCA_PAC7311 tristate "Pixart PAC7311 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC7311 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac7311. config USB_GSPCA_SE401 tristate "SE401 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Endpoints (formerly known as AOX) se401 chip. To compile this driver as a module, choose M here: the module will be called gspca_se401. config USB_GSPCA_SN9C2028 tristate "SONIX Dual-Mode USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want streaming support for Sonix SN9C2028 cameras. These are supported as stillcams in libgphoto2/camlibs/sonix. To compile this driver as a module, choose M here: the module will be called gspca_sn9c2028. config USB_GSPCA_SN9C20X tristate "SN9C20X USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the sn9c20x chips (SN9C201 and SN9C202). To compile this driver as a module, choose M here: the module will be called gspca_sn9c20x. config USB_GSPCA_SONIXB tristate "SONIX Bayer USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sonix chips with Bayer format (SN9C101, SN9C102 and SN9C103). To compile this driver as a module, choose M here: the module will be called gspca_sonixb. config USB_GSPCA_SONIXJ tristate "SONIX JPEG USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sonix chips with JPEG format (SN9C102P, SN9C105 and >= SN9C110). To compile this driver as a module, choose M here: the module will be called gspca_sonixj config USB_GSPCA_SPCA500 tristate "SPCA500 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA500 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca500. config USB_GSPCA_SPCA501 tristate "SPCA501 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA501 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca501. config USB_GSPCA_SPCA505 tristate "SPCA505 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA505 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca505. config USB_GSPCA_SPCA506 tristate "SPCA506 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA506 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca506. config USB_GSPCA_SPCA508 tristate "SPCA508 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA508 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca508. config USB_GSPCA_SPCA561 tristate "SPCA561 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA561 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca561. config USB_GSPCA_SPCA1528 tristate "SPCA1528 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA1528 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca1528. config USB_GSPCA_SQ905 tristate "SQ Technologies SQ905 based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ905 chip. To compile this driver as a module, choose M here: the module will be called gspca_sq905. config USB_GSPCA_SQ905C tristate "SQ Technologies SQ905C based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ905C chip. To compile this driver as a module, choose M here: the module will be called gspca_sq905c. config USB_GSPCA_SQ930X tristate "SQ Technologies SQ930X based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ930X chip. To compile this driver as a module, choose M here: the module will be called gspca_sq930x. config USB_GSPCA_STK014 tristate "Syntek DV4000 (STK014) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STK014 chip. To compile this driver as a module, choose M here: the module will be called gspca_stk014. config USB_GSPCA_STK1135 tristate "Syntek STK1135 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STK1135 chip. To compile this driver as a module, choose M here: the module will be called gspca_stk1135. config USB_GSPCA_STV0680 tristate "STV0680 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STV0680 chip. To compile this driver as a module, choose M here: the module will be called gspca_stv0680. config USB_GSPCA_SUNPLUS tristate "SUNPLUS USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sunplus SPCA504(abc) SPCA533 SPCA536 chips. To compile this driver as a module, choose M here: the module will be called gspca_sunplus. config USB_GSPCA_T613 tristate "T613 (JPEG Compliance) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the T613 chip. To compile this driver as a module, choose M here: the module will be called gspca_t613. config USB_GSPCA_TOPRO tristate "TOPRO USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the TP6800 and TP6810 Topro chips. To compile this driver as a module, choose M here: the module will be called gspca_topro. config USB_GSPCA_TV8532 tristate "TV8532 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the TV8531 chip. To compile this driver as a module, choose M here: the module will be called gspca_tv8532. config USB_GSPCA_VC032X tristate "VC032X USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the VC032X chip. To compile this driver as a module, choose M here: the module will be called gspca_vc032x. config USB_GSPCA_VICAM tristate "ViCam USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the 3com homeconnect camera (vicam). To compile this driver as a module, choose M here: the module will be called gspca_vicam. config USB_GSPCA_XIRLINK_CIT tristate "Xirlink C-It USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for Xirlink C-It bases cameras. To compile this driver as a module, choose M here: the module will be called gspca_xirlink_cit. config USB_GSPCA_ZC3XX tristate "ZC3XX USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the ZC3XX chip. To compile this driver as a module, choose M here: the module will be called gspca_zc3xx. endif config USB_GL860 tristate "GL860 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the GL860 chip. To compile this driver as a module, choose M here: the module will be called gspca_gl860. config USB_M5602 tristate "ALi USB m5602 Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the ALi m5602 connected to various image sensors. See for more info. To compile this driver as a module, choose M here: the module will be called gspca_m5602. config USB_STV06XX tristate "STV06XX USB Camera Driver" depends on USB_GSPCA help Say Y here if you want support for cameras based on the ST STV06XX chip. To compile this driver as a module, choose M here: the module will be called gspca_stv06xx. config VIDEO_HDPVR tristate "Hauppauge HD PVR support" depends on VIDEO_DEV && VIDEO_V4L2 ---help--- This is a video4linux driver for Hauppauge's HD PVR USB device. To compile this driver as a module, choose M here: the module will be called hdpvr config VIDEO_PVRUSB2 tristate "Hauppauge WinTV-PVR USB2 support" depends on VIDEO_V4L2 && I2C select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_SAA711X select VIDEO_CX25840 select VIDEO_MSP3400 select VIDEO_WM8775 select VIDEO_CS53L32A ---help--- This is a video4linux driver for Conexant 23416 based usb2 personal video recorder devices. To compile this driver as a module, choose M here: the module will be called pvrusb2 config VIDEO_PVRUSB2_SYSFS bool "pvrusb2 sysfs support" default y depends on VIDEO_PVRUSB2 && SYSFS ---help--- This option enables the operation of a sysfs based interface for query and control of the pvrusb2 driver. This is not generally needed for v4l applications, although certain applications are optimized to take advantage of this feature. If you are in doubt, say Y. Note: This feature is experimental and subject to change. config VIDEO_PVRUSB2_DVB bool "pvrusb2 ATSC/DVB support" default y depends on VIDEO_PVRUSB2 && DVB_CORE select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT ---help--- This option enables a DVB interface for the pvrusb2 driver. If your device does not support digital television, this feature will have no affect on the driver's operation. If you are in doubt, say Y. config VIDEO_PVRUSB2_DEBUGIFC bool "pvrusb2 debug interface" depends on VIDEO_PVRUSB2_SYSFS ---help--- This option enables the inclusion of a debug interface in the pvrusb2 driver, hosted through sysfs. You do not need to select this option unless you plan on debugging the driver or performing a manual firmware extraction. If you are in doubt, say N. config USB_PWC tristate "USB Philips Cameras" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC ---help--- Say Y or M here if you want to use one of these Philips & OEM webcams: * Philips PCA645, PCA646 * Philips PCVC675, PCVC680, PCVC690 * Philips PCVC720/40, PCVC730, PCVC740, PCVC750 * Philips SPC900NC * Askey VC010 * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro' and 'Orbit'/'Sphere' * Samsung MPC-C10, MPC-C30 * Creative Webcam 5, Pro Ex * SOTEC Afina Eye * Visionite VCS-UC300, VCS-UM100 The PCA635, PCVC665 and PCVC720/20 are not supported by this driver and never will be, but the 665 and 720/20 are supported by other drivers. Some newer logitech webcams are not handled by this driver but by the Usb Video Class driver (linux-uvc). The built-in microphone is enabled by selecting USB Audio support. To compile this driver as a module, choose M here: the module will be called pwc. config USB_PWC_DEBUG bool "USB Philips Cameras verbose debug" depends on USB_PWC help Say Y here in order to have the pwc driver generate verbose debugging messages. A special module options 'trace' is used to control the verbosity. config USB_PWC_INPUT_EVDEV bool "USB Philips Cameras input events device support" default y depends on USB_PWC && (USB_PWC=INPUT || INPUT=y) ---help--- This option makes USB Philips cameras register the snapshot button as an input device to report button events. If you are in doubt, say Y. config USB_S2255 tristate "USB Sensoray 2255 video capture device" depends on VIDEO_V4L2 select VIDEOBUF_VMALLOC default n help Say Y here if you want support for the Sensoray 2255 USB device. This driver can be compiled as a module, called s2255drv. # # Siano Mobile Silicon Digital TV device configuration # config SMS_USB_DRV tristate "Siano SMS1xxx based MDTV receiver" depends on DVB_CORE && HAS_DMA select MEDIA_COMMON_OPTIONS ---help--- Choose if you would like to have Siano's support for USB interface config USB_SN9C102 tristate "USB SN9C1xx PC Camera Controller support (DEPRECATED)" depends on VIDEO_V4L2 ---help--- This driver is DEPRECATED please use the gspca sonixb and sonixj modules instead. Say Y here if you want support for cameras based on SONiX SN9C101, SN9C102, SN9C103, SN9C105 and SN9C120 PC Camera Controllers. See for more info. To compile this driver as a module, choose M here: the module will be called sn9c102. config VIDEO_STK1160_COMMON tristate "STK1160 USB video capture support" depends on VIDEO_DEV && I2C ---help--- This is a video4linux driver for STK1160 based video capture devices. To compile this driver as a module, choose M here: the module will be called stk1160 config VIDEO_STK1160_AC97 bool "STK1160 AC97 codec support" depends on VIDEO_STK1160_COMMON && SND ---help--- Enables AC97 codec support for stk1160 driver. config VIDEO_STK1160 tristate depends on (!VIDEO_STK1160_AC97 || (SND='n') || SND) && VIDEO_STK1160_COMMON default y select VIDEOBUF2_VMALLOC select VIDEO_SAA711X select SND_AC97_CODEC if SND config USB_STKWEBCAM tristate "USB Syntek DC1125 Camera support" depends on VIDEO_V4L2 ---help--- Say Y here if you want to use this type of camera. Supported devices are typically found in some Asus laptops, with USB id 174f:a311 and 05e1:0501. Other Syntek cameras may be supported by the stk11xx driver, from which this is derived, see To compile this driver as a module, choose M here: the module will be called stkwebcam. config VIDEO_TLG2300 tristate "Telegent TLG2300 USB video capture support" depends on VIDEO_DEV && I2C && SND && DVB_CORE select VIDEO_TUNER select VIDEO_TVEEPROM depends on RC_CORE select VIDEOBUF_VMALLOC select SND_PCM select VIDEOBUF_DVB ---help--- This is a video4linux driver for Telegent tlg2300 based TV cards. The driver supports V4L2, DVB-T and radio. To compile this driver as a module, choose M here: the module will be called poseidon config VIDEO_TM6000 tristate "TV Master TM5600/6000/6010 driver" depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB select VIDEO_TUNER select MEDIA_TUNER_XC2028 select MEDIA_TUNER_XC5000 select VIDEOBUF_VMALLOC help Support for TM5600/TM6000/TM6010 USB Device Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the usb bus, so you need an external software decoder to watch TV on your computer. Say Y if you own such a device and want to use it. config VIDEO_TM6000_ALSA tristate "TV Master TM5600/6000/6010 audio support" depends on VIDEO_TM6000 && SND select SND_PCM ---help--- This is a video4linux driver for direct (DMA) audio for TM5600/TM6000/TM6010 USB Devices. To compile this driver as a module, choose M here: the module will be called tm6000-alsa. config VIDEO_TM6000_DVB tristate "DVB Support for tm6000 based TV cards" depends on VIDEO_TM6000 && DVB_CORE && USB select DVB_ZL10353 ---help--- This adds support for DVB cards based on the tm5600/tm6000 chip. config DVB_TTUSB_BUDGET tristate "Technotrend/Hauppauge Nova-USB devices" depends on DVB_CORE && USB && I2C && PCI select DVB_CX22700 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT help Support for external USB adapters designed by Technotrend and produced by Hauppauge, shipped under the brand name 'Nova-USB'. These devices don't have a MPEG decoder built in, so you need an external software decoder to watch TV. Say Y if you own such a device and want to use it. config DVB_TTUSB_DEC tristate "Technotrend/Hauppauge USB DEC devices" depends on DVB_CORE && USB && INPUT && PCI select CRC32 help Support for external USB adapters designed by Technotrend and produced by Hauppauge, shipped under the brand name 'DEC2000-t' and 'DEC3000-s'. Even if these devices have a MPEG decoder built in, they transmit only compressed MPEG data over the USB bus, so you need an external software decoder to watch TV on your computer. This driver needs external firmware. Please use the commands "/Documentation/dvb/get_dvb_firmware dec2000t", "/Documentation/dvb/get_dvb_firmware dec2540t", "/Documentation/dvb/get_dvb_firmware dec3000s", download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). Say Y if you own such a device and want to use it. config VIDEO_USBTV tristate "USBTV007 video capture support" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC ---help--- This is a video4linux2 driver for USBTV007 based video capture devices. To compile this driver as a module, choose M here: the module will be called usbtv config VIDEO_USBVISION tristate "USB video devices based on Nogatech NT1003/1004/1005" depends on I2C && VIDEO_V4L2 select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT ---help--- There are more than 50 different USB video devices based on NT1003/1004/1005 USB Bridges. This driver enables using those devices. To compile this driver as a module, choose M here: the module will be called usbvision. config USB_VIDEO_CLASS tristate "USB Video Class (UVC)" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC ---help--- Support for the USB Video Class (UVC). Currently only video input devices, such as webcams, are supported. For more information see: config USB_VIDEO_CLASS_INPUT_EVDEV bool "UVC input events device support" default y depends on USB_VIDEO_CLASS depends on USB_VIDEO_CLASS=INPUT || INPUT=y ---help--- This option makes USB Video Class devices register an input device to report button events. If you are in doubt, say Y. config USB_ZR364XX tristate "USB ZR364XX Camera support" depends on VIDEO_V4L2 select VIDEOBUF_GEN select VIDEOBUF_VMALLOC ---help--- Say Y here if you want to connect this type of camera to your computer's USB port. See for more info and list of supported cameras. To compile this driver as a module, choose M here: the module will be called zr364xx. # # Generic video config states # # Enable the V4L2 core and API config VIDEO_V4L2 tristate depends on (I2C || I2C=n) && VIDEO_DEV default (I2C || I2C=n) && VIDEO_DEV config VIDEO_ADV_DEBUG bool "Enable advanced debug functionality on V4L2 drivers" default n ---help--- Say Y here to enable advanced debugging functionality on some V4L devices. In doubt, say N. config VIDEO_FIXED_MINOR_RANGES bool "Enable old-style fixed minor ranges on drivers/video devices" default n ---help--- Say Y here to enable the old-style fixed-range minor assignments. Only useful if you rely on the old behavior and use mknod instead of udev. When in doubt, say N. # Used by drivers that need tuner.ko config VIDEO_TUNER tristate depends on MEDIA_TUNER # Used by drivers that need v4l2-mem2mem.ko config V4L2_MEM2MEM_DEV tristate depends on VIDEOBUF2_CORE # Used by drivers that need Videobuf modules config VIDEOBUF_GEN tristate config VIDEOBUF_DMA_SG tristate depends on HAS_DMA select VIDEOBUF_GEN config VIDEOBUF_VMALLOC tristate select VIDEOBUF_GEN config VIDEOBUF_DMA_CONTIG tristate depends on HAS_DMA select VIDEOBUF_GEN config VIDEOBUF_DVB tristate select VIDEOBUF_GEN # Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate config VIDEOBUF2_MEMOPS tristate config VIDEOBUF2_DMA_CONTIG tristate depends on HAS_DMA select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS select DMA_SHARED_BUFFER config VIDEOBUF2_VMALLOC tristate select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS select DMA_SHARED_BUFFER config VIDEOBUF2_DMA_SG tristate #depends on HAS_DMA select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS config VIDEO_V4L2_INT_DEVICE tristate "V4L2 int device (DEPRECATED)" depends on VIDEO_V4L2 ---help--- An early framework for a hardware-independent interface for image sensors and bridges etc. Currently used by omap24xxcam and tcm825x drivers that should be converted to V4L2 subdev. Do not use for new developments. # # Memory devices # menuconfig MEMORY bool "Memory Controller drivers" if MEMORY config TI_EMIF tristate "Texas Instruments EMIF driver" depends on ARCH_OMAP2PLUS select DDR help This driver is for the EMIF module available in Texas Instruments SoCs. EMIF is an SDRAM controller that, based on its revision, supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. This driver takes care of only LPDDR2 memories presently. The functions of the driver includes re-configuring AC timing parameters and other settings during frequency, voltage and temperature changes config MVEBU_DEVBUS bool "Marvell EBU Device Bus Controller" default y depends on PLAT_ORION && OF help This driver is for the Device Bus controller available in some Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and Armada 370 and Armada XP. This controller allows to handle flash devices such as NOR, NAND, SRAM, and FPGA. config TEGRA20_MC bool "Tegra20 Memory Controller(MC) driver" default y depends on ARCH_TEGRA_2x_SOC help This driver is for the Memory Controller(MC) module available in Tegra20 SoCs, mainly for a address translation fault analysis, especially for IOMMU/GART(Graphics Address Relocation Table) module. config TEGRA30_MC bool "Tegra30 Memory Controller(MC) driver" default y depends on ARCH_TEGRA_3x_SOC help This driver is for the Memory Controller(MC) module available in Tegra30 SoCs, mainly for a address translation fault analysis, especially for IOMMU/SMMU(System Memory Management Unit) module. endif # # MemoryStick subsystem configuration # menuconfig MEMSTICK tristate "Sony MemoryStick card support" help Sony MemoryStick is a proprietary storage/extension card protocol. If you want MemoryStick support, you should say Y here and also to the specific driver for your MemoryStick interface. if MEMSTICK config MEMSTICK_DEBUG bool "MemoryStick debugging" help This is an option for use by developers; most people should say N here. This enables MemoryStick core and driver debugging. source "drivers/memstick/core/Kconfig" source "drivers/memstick/host/Kconfig" endif # MEMSTICK # # MemoryStick core configuration # comment "MemoryStick drivers" config MEMSTICK_UNSAFE_RESUME bool "Allow unsafe resume (DANGEROUS)" help If you say Y here, the MemoryStick layer will assume that all cards stayed in their respective slots during the suspend. The normal behaviour is to remove them at suspend and redetecting them at resume. Breaking this assumption will in most cases result in data corruption. This option is usually just for embedded systems which use a MemoryStick card for rootfs. Most people should say N here. config MSPRO_BLOCK tristate "MemoryStick Pro block device driver" depends on BLOCK help Say Y here to enable the MemoryStick Pro block device driver support. This provides a block device driver, which you can use to mount the filesystem. Almost everyone wishing MemoryStick support should say Y or M here. config MS_BLOCK tristate "MemoryStick Standard device driver" depends on BLOCK help Say Y here to enable the MemoryStick Standard device driver support. This provides a block device driver, which you can use to mount the filesystem. This driver works with old (bulky) MemoryStick and MemoryStick Duo but not PRO. Say Y if you have such card. Driver is new and not yet well tested, thus it can damage your card (even permanently) # # MemoryStick host controller drivers # comment "MemoryStick Host Controller Drivers" config MEMSTICK_TIFM_MS tristate "TI Flash Media MemoryStick Interface support " depends on PCI select TIFM_CORE help Say Y here if you want to be able to access MemoryStick cards with the Texas Instruments(R) Flash Media card reader, found in many laptops. This option 'selects' (turns on, enables) 'TIFM_CORE', but you probably also need appropriate card reader host adapter, such as 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support (TIFM_7XX1)'. To compile this driver as a module, choose M here: the module will be called tifm_ms. config MEMSTICK_JMICRON_38X tristate "JMicron JMB38X MemoryStick interface support" depends on PCI help Say Y here if you want to be able to access MemoryStick cards with the JMicron(R) JMB38X MemoryStick card reader. To compile this driver as a module, choose M here: the module will be called jmb38x_ms. config MEMSTICK_R592 tristate "Ricoh R5C592 MemoryStick interface support" depends on PCI help Say Y here if you want to be able to access MemoryStick cards with the Ricoh R5C592 MemoryStick card reader (which is part of 5 in one multifunction reader) To compile this driver as a module, choose M here: the module will be called r592. config MEMSTICK_REALTEK_PCI tristate "Realtek PCI-E Memstick Card Interface Driver" depends on MFD_RTSX_PCI help Say Y here to include driver code to support Memstick card interface of Realtek PCI-E card reader To compile this driver as a module, choose M here: the module will be called rtsx_pci_ms. menuconfig FUSION bool "Fusion MPT device support" depends on PCI ---help--- Say Y here to get to see options for Fusion Message Passing Technology (MPT) drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if FUSION config FUSION_SPI tristate "Fusion MPT ScsiHost drivers for SPI" depends on PCI && SCSI select SCSI_SPI_ATTRS ---help--- SCSI HOST support for a parallel SCSI host adapters. List of supported controllers: LSI53C1020 LSI53C1020A LSI53C1030 LSI53C1035 ATTO UL4D config FUSION_FC tristate "Fusion MPT ScsiHost drivers for FC" depends on PCI && SCSI select SCSI_FC_ATTRS ---help--- SCSI HOST support for a Fiber Channel host adapters. List of supported controllers: LSIFC909 LSIFC919 LSIFC919X LSIFC929 LSIFC929X LSIFC929XL LSIFC949X LSIFC949E Brocade FC 410/420 config FUSION_SAS tristate "Fusion MPT ScsiHost drivers for SAS" depends on PCI && SCSI select SCSI_SAS_ATTRS ---help--- SCSI HOST support for a SAS host adapters. List of supported controllers: LSISAS1064 LSISAS1068 LSISAS1064E LSISAS1068E LSISAS1078 config FUSION_MAX_SGE int "Maximum number of scatter gather entries (16 - 128)" default "128" range 16 128 help This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches SCSI_MAX_PHYS_SEGMENTS. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config FUSION_CTL tristate "Fusion MPT misc device (ioctl) driver" depends on FUSION_SPI || FUSION_FC || FUSION_SAS ---help--- The Fusion MPT misc device driver provides specialized control of MPT adapters via system ioctl calls. Use of ioctl calls to the MPT driver requires that you create and use a misc device node ala: mknod /dev/mptctl c 10 240 One use of this ioctl interface is to perform an upgrade (reflash) of the MPT adapter firmware. Refer to readme file(s) distributed with the Fusion MPT linux driver for additional details. If enabled by saying M to this, a driver named: mptctl will be compiled. If unsure whether you really want or need this, say N. config FUSION_LAN tristate "Fusion MPT LAN driver" depends on FUSION_FC && NET_FC ---help--- This module supports LAN IP traffic over Fibre Channel port(s) on Fusion MPT compatible hardware (LSIFC9xx chips). The physical interface used is defined in RFC 2625. Please refer to that document for details. Installing this driver requires the knowledge to configure and activate a new network interface, "fc0", using standard Linux tools. If enabled by saying M to this, a driver named: mptlan will be compiled. If unsure whether you really want or need this, say N. config FUSION_LOGGING bool "Fusion MPT logging facility" ---help--- This turns on a logging facility that can be used to debug a number of Fusion MPT related problems. The debug level can be programmed on the fly via SysFS (hex values) echo [level] > /sys/class/scsi_host/host#/debug_level There are various debug levels that can be found in the source: file:drivers/message/fusion/mptdebug.h endif # FUSION menuconfig I2O tristate "I2O device support" depends on PCI ---help--- The Intelligent Input/Output (I2O) architecture allows hardware drivers to be split into two parts: an operating system specific module called the OSM and an hardware specific module called the HDM. The OSM can talk to a whole range of HDM's, and ideally the HDM's are not OS dependent. This allows for the same HDM driver to be used under different operating systems if the relevant OSM is in place. In order for this to work, you need to have an I2O interface adapter card in your computer. This card contains a special I/O processor (IOP), thus allowing high speeds since the CPU does not have to deal with I/O. If you say Y here, you will get a choice of interface adapter drivers and OSM's with the following questions. To compile this support as a module, choose M here: the modules will be called i2o_core. If unsure, say N. if I2O config I2O_LCT_NOTIFY_ON_CHANGES bool "Enable LCT notification" default y ---help--- Only say N here if you have a I2O controller from SUN. The SUN firmware doesn't support LCT notification on changes. If this option is enabled on such a controller the driver will hang up in a endless loop. On all other controllers say Y. If unsure, say Y. config I2O_EXT_ADAPTEC bool "Enable Adaptec extensions" default y ---help--- Say Y for support of raidutils for Adaptec I2O controllers. You also have to say Y to "I2O Configuration support", "I2O SCSI OSM" below and to "SCSI generic support" under "SCSI device configuration". config I2O_EXT_ADAPTEC_DMA64 bool "Enable 64-bit DMA" depends on I2O_EXT_ADAPTEC && ( 64BIT || HIGHMEM64G ) default y ---help--- Say Y for support of 64-bit DMA transfer mode on Adaptec I2O controllers. Note: You need at least firmware version 3709. config I2O_CONFIG tristate "I2O Configuration support" depends on VIRT_TO_BUS ---help--- Say Y for support of the configuration interface for the I2O adapters. If you have a RAID controller from Adaptec and you want to use the raidutils to manage your RAID array, you have to say Y here. To compile this support as a module, choose M here: the module will be called i2o_config. Note: If you want to use the new API you have to download the i2o_config patch from http://i2o.shadowconnect.com/ config I2O_CONFIG_OLD_IOCTL bool "Enable ioctls (OBSOLETE)" depends on I2O_CONFIG default y ---help--- Enables old ioctls. config I2O_BUS tristate "I2O Bus Adapter OSM" ---help--- Include support for the I2O Bus Adapter OSM. The Bus Adapter OSM provides access to the busses on the I2O controller. The main purpose is to rescan the bus to find new devices. To compile this support as a module, choose M here: the module will be called i2o_bus. config I2O_BLOCK tristate "I2O Block OSM" depends on BLOCK ---help--- Include support for the I2O Block OSM. The Block OSM presents disk and other structured block devices to the operating system. If you are using an RAID controller, you could access the array only by the Block OSM driver. But it is possible to access the single disks by the SCSI OSM driver, for example to monitor the disks. To compile this support as a module, choose M here: the module will be called i2o_block. config I2O_SCSI tristate "I2O SCSI OSM" depends on SCSI ---help--- Allows direct SCSI access to SCSI devices on a SCSI or FibreChannel I2O controller. You can use both the SCSI and Block OSM together if you wish. To access a RAID array, you must use the Block OSM driver. But you could use the SCSI OSM driver to monitor the single disks. To compile this support as a module, choose M here: the module will be called i2o_scsi. config I2O_PROC tristate "I2O /proc support" ---help--- If you say Y here and to "/proc file system support", you will be able to read I2O related information from the virtual directory /proc/i2o. To compile this support as a module, choose M here: the module will be called i2o_proc. endif # I2O # # Multifunction miscellaneous devices # if HAS_IOMEM menu "Multifunction device drivers" config MFD_CORE tristate select IRQ_DOMAIN default n config MFD_CS5535 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE depends on PCI && X86 ---help--- This is the core driver for CS5535/CS5536 MFD functions. This is necessary for using the board's GPIO and MFGPT functionality. config MFD_AS3711 bool "AMS AS3711" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help Support for the AS3711 PMIC from AMS config MFD_AS3722 bool "ams AS3722 Power Management IC" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y && OF help The ams AS3722 is a compact system PMU suitable for mobile phones, tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down controllers, 11 LDOs, RTC, automatic battery, temperature and over current monitoring, GPIOs, ADC and a watchdog. config PMIC_ADP5520 bool "Analog Devices ADP5520/01 MFD PMIC Core Support" depends on I2C=y help Say yes here to add support for Analog Devices AD5520 and ADP5501, Multifunction Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like LCD backlight, LEDs, GPIOs and Kepad under the corresponding menus. config MFD_AAT2870_CORE bool "AnalogicTech AAT2870" select MFD_CORE depends on I2C=y && GPIOLIB help If you say yes here you get support for the AAT2870. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_CROS_EC tristate "ChromeOS Embedded Controller" select MFD_CORE help If you say Y here you get support for the ChromeOS Embedded Controller (EC) providing keyboard, battery and power services. You also need to enable the driver for the bus you are using. The protocol for talking to the EC is defined by the bus driver. config MFD_CROS_EC_I2C tristate "ChromeOS Embedded Controller (I2C)" depends on MFD_CROS_EC && I2C help If you say Y here, you get support for talking to the ChromeOS EC through an I2C bus. This uses a simple byte-level protocol with a checksum. Failing accesses will be retried three times to improve reliability. config MFD_CROS_EC_SPI tristate "ChromeOS Embedded Controller (SPI)" depends on MFD_CROS_EC && SPI ---help--- If you say Y here, you get support for talking to the ChromeOS EC through a SPI bus, using a byte-level protocol. Since the EC's response time cannot be guaranteed, we support ignoring 'pre-amble' bytes before the response actually starts. config MFD_ASIC3 bool "Compaq ASIC3" depends on GPIOLIB && ARM select MFD_CORE ---help--- This driver supports the ASIC3 multifunction chip found on many PDAs (mainly iPAQ and HTC based ones) config PMIC_DA903X bool "Dialog Semiconductor DA9030/DA9034 PMIC Support" depends on I2C=y help Say yes here to support for Dialog Semiconductor DA9030 (a.k.a ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC usually found on PXA processors-based platforms. This includes the I2C driver and the core APIs _only_, you have to select individual components like LCD backlight, voltage regulators, LEDs and battery-charger under the corresponding menus. config PMIC_DA9052 bool select MFD_CORE config MFD_DA9052_SPI bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI" select REGMAP_SPI select REGMAP_IRQ select PMIC_DA9052 depends on SPI_MASTER=y help Support for the Dialog Semiconductor DA9052 PMIC when controlled using SPI. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9052_I2C bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C" select REGMAP_I2C select REGMAP_IRQ select PMIC_DA9052 depends on I2C=y help Support for the Dialog Semiconductor DA9052 PMIC when controlled using I2C. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9055 bool "Dialog Semiconductor DA9055 PMIC Support" select REGMAP_I2C select REGMAP_IRQ select MFD_CORE depends on I2C=y help Say yes here for support of Dialog Semiconductor DA9055. This is a Power Management IC. This driver provides common support for accessing the device as well as the I2C interface to the chip itself. Additional drivers must be enabled in order to use the functionality of the device. This driver can be built as a module. If built as a module it will be called "da9055" config MFD_DA9063 bool "Dialog Semiconductor DA9063 PMIC Support" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help Say yes here for support for the Dialog Semiconductor DA9063 PMIC. This includes the I2C driver and core APIs. Additional drivers must be enabled in order to use the functionality of the device. config MFD_MC13783 tristate config MFD_MC13XXX tristate depends on (SPI_MASTER || I2C) select MFD_CORE select MFD_MC13783 help Enable support for the Freescale MC13783 and MC13892 PMICs. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_MC13XXX_SPI tristate "Freescale MC13783 and MC13892 SPI interface" depends on SPI_MASTER select REGMAP_SPI select MFD_MC13XXX help Select this if your MC13xxx is connected via an SPI bus. config MFD_MC13XXX_I2C tristate "Freescale MC13892 I2C interface" depends on I2C select REGMAP_I2C select MFD_MC13XXX help Select this if your MC13xxx is connected via an I2C bus. config HTC_EGPIO bool "HTC EGPIO support" depends on GPIOLIB && ARM help This driver supports the CPLD egpio chip present on several HTC phones. It provides basic support for input pins, output pins, and irqs. config HTC_PASIC3 tristate "HTC PASIC3 LED/DS1WM chip support" select MFD_CORE help This core driver provides register access for the LED/DS1WM chips labeled "AIC2" and "AIC3", found on HTC Blueangel and HTC Magician devices, respectively. Actual functionality is handled by the leds-pasic3 and ds1wm drivers. config HTC_I2CPLD bool "HTC I2C PLD chip support" depends on I2C=y && GPIOLIB help If you say yes here you get support for the supposed CPLD found on omap850 HTC devices like the HTC Wizard and HTC Herald. This device provides input and output GPIOs through an I2C interface to one or more sub-chips. config LPC_ICH tristate "Intel ICH LPC" depends on PCI select MFD_CORE help The LPC bridge function of the Intel ICH provides support for many functional units. This driver provides needed support for other drivers to control these functions, currently GPIO and watchdog. config LPC_SCH tristate "Intel SCH LPC" depends on PCI select MFD_CORE help LPC bridge function of the Intel SCH provides support for System Management Bus and General Purpose I/O. config MFD_INTEL_MSIC bool "Intel MSIC" depends on INTEL_SCU_IPC select MFD_CORE help Select this option to enable access to Intel MSIC (Avatele Passage) chip. This chip embeds audio, battery, GPIO, etc. devices used in Intel Medfield platforms. config MFD_JANZ_CMODIO tristate "Janz CMOD-IO PCI MODULbus Carrier Board" select MFD_CORE depends on PCI help This is the core driver for the Janz CMOD-IO PCI MODULbus carrier board. This device is a PCI to MODULbus bridge which may host many different types of MODULbus daughterboards, including CAN and GPIO controllers. config MFD_JZ4740_ADC bool "Janz JZ4740 ADC core" select MFD_CORE select GENERIC_IRQ_CHIP depends on MACH_JZ4740 help Say yes here if you want support for the ADC unit in the JZ4740 SoC. This driver is necessary for jz4740-battery and jz4740-hwmon driver. config MFD_KEMPLD tristate "Kontron module PLD device" select MFD_CORE help This is the core driver for the PLD (Programmable Logic Device) found on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD device may provide functions like watchdog, GPIO, UART and I2C bus. The following modules are supported: * COMe-bIP# * COMe-bPC2 (ETXexpress-PC) * COMe-bSC# (ETXexpress-SC T#) * COMe-cCT6 * COMe-cDC2 (microETXexpress-DC) * COMe-cPC2 (microETXexpress-PC) * COMe-mCT10 * ETX-OH This driver can also be built as a module. If so, the module will be called kempld-core. config MFD_88PM800 tristate "Marvell 88PM800" depends on I2C=y select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help This supports for Marvell 88PM800 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like voltage regulators, RTC and battery-charger under the corresponding menus. config MFD_88PM805 tristate "Marvell 88PM805" depends on I2C=y select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help This supports for Marvell 88PM805 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like codec device, headset/Mic device under the corresponding menus. config MFD_88PM860X bool "Marvell 88PM8606/88PM8607" depends on I2C=y select REGMAP_I2C select MFD_CORE help This supports for Marvell 88PM8606/88PM8607 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like voltage regulators, RTC and battery-charger under the corresponding menus. config MFD_MAX77686 bool "Maxim Semiconductor MAX77686 PMIC Support" depends on I2C=y select MFD_CORE select REGMAP_I2C select IRQ_DOMAIN help Say yes here to support for Maxim Semiconductor MAX77686. This is a Power Management IC with RTC on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX77693 bool "Maxim Semiconductor MAX77693 PMIC Support" depends on I2C=y select MFD_CORE select REGMAP_I2C help Say yes here to support for Maxim Semiconductor MAX77693. This is a companion Power Management IC with Flash, Haptic, Charger, and MUIC(Micro USB Interface Controller) controls on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8907 tristate "Maxim Semiconductor MAX8907 PMIC Support" select MFD_CORE depends on I2C=y select REGMAP_I2C select REGMAP_IRQ help Say yes here to support for Maxim Semiconductor MAX8907. This is a Power Management IC. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8925 bool "Maxim Semiconductor MAX8925 PMIC Support" depends on I2C=y select MFD_CORE help Say yes here to support for Maxim Semiconductor MAX8925. This is a Power Management IC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8997 bool "Maxim Semiconductor MAX8997/8966 PMIC Support" depends on I2C=y select MFD_CORE select IRQ_DOMAIN help Say yes here to support for Maxim Semiconductor MAX8997/8966. This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic, MUIC controls on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8998 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support" depends on I2C=y select MFD_CORE select IRQ_DOMAIN help Say yes here to support for Maxim Semiconductor MAX8998 and National Semiconductor LP3974. This is a Power Management IC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config EZX_PCAP bool "Motorola EZXPCAP Support" depends on SPI_MASTER help This enables the PCAP ASIC present on EZX Phones. This is needed for MMC, TouchScreen, Sound, USB, etc.. config MFD_VIPERBOARD tristate "Nano River Technologies Viperboard" select MFD_CORE depends on USB default n help Say yes here if you want support for Nano River Technologies Viperboard. There are mfd cell drivers available for i2c master, adc and both gpios found on the board. The spi part does not yet have a driver. You need to select the mfd cell drivers separately. The drivers do not support all features the board exposes. config MFD_RETU tristate "Nokia Retu and Tahvo multi-function device" select MFD_CORE depends on I2C select REGMAP_IRQ help Retu and Tahvo are a multi-function devices found on Nokia Internet Tablets (770, N800 and N810). config MFD_PCF50633 tristate "NXP PCF50633" depends on I2C select REGMAP_I2C help Say yes here if you have NXP PCF50633 chip on your board. This core driver provides register access and IRQ handling facilities, and registers devices for the various functions so that function-specific drivers can bind to them. config PCF50633_ADC tristate "NXP PCF50633 ADC" depends on MFD_PCF50633 help Say yes here if you want to include support for ADC in the NXP PCF50633 chip. config PCF50633_GPIO tristate "NXP PCF50633 GPIO" depends on MFD_PCF50633 help Say yes here if you want to include support GPIO for pins on the PCF50633 chip. config UCB1400_CORE tristate "Philips UCB1400 Core driver" depends on AC97_BUS depends on GPIOLIB help This enables support for the Philips UCB1400 core functions. The UCB1400 is an AC97 audio codec. To compile this driver as a module, choose M here: the module will be called ucb1400_core. config MFD_PM8XXX tristate config MFD_PM8921_CORE tristate "Qualcomm PM8921 PMIC chip" depends on (ARCH_MSM || HEXAGON) depends on BROKEN select MFD_CORE select MFD_PM8XXX help If you say yes to this option, support will be included for the built-in PM8921 PMIC chip. This is required if your board has a PM8921 and uses its features, such as: MPPs, GPIOs, regulators, interrupts, and PWM. Say M here if you want to include support for PM8921 chip as a module. This will build a module called "pm8921-core". config MFD_PM8XXX_IRQ bool "Qualcomm PM8xxx IRQ features" depends on MFD_PM8XXX default y if MFD_PM8XXX help This is the IRQ driver for Qualcomm PM 8xxx PMIC chips. This is required to use certain other PM 8xxx features, such as GPIO and MPP. config MFD_RDC321X tristate "RDC R-321x southbridge" select MFD_CORE depends on PCI help Say yes here if you want to have support for the RDC R-321x SoC southbridge which provides access to GPIOs and Watchdog using the southbridge PCI device configuration space. config MFD_RTSX_PCI tristate "Realtek PCI-E card reader" depends on PCI select MFD_CORE help This supports for Realtek PCI-Express card reader including rts5209, rts5229, rtl8411, etc. Realtek card reader supports access to many types of memory cards, such as Memory Stick, Memory Stick Pro, Secure Digital and MultiMediaCard. config MFD_RC5T583 bool "Ricoh RC5T583 Power Management system device" depends on I2C=y select MFD_CORE select REGMAP_I2C help Select this option to get support for the RICOH583 Power Management system device. This driver provides common support for accessing the device through i2c interface. The device supports multiple sub-devices like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey. Additional drivers must be enabled in order to use the different functionality of the device. config MFD_SEC_CORE bool "SAMSUNG Electronics PMIC Series Support" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Support for the Samsung Electronics MFD series. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device config MFD_SI476X_CORE tristate "Silicon Laboratories 4761/64/68 AM/FM radio." depends on I2C select MFD_CORE select REGMAP_I2C help This is the core driver for the SI476x series of AM/FM radio. This MFD driver connects the radio-si476x V4L2 module and the si476x audio codec. To compile this driver as a module, choose M here: the module will be called si476x-core. config MFD_SM501 tristate "Silicon Motion SM501" ---help--- This is the core driver for the Silicon Motion SM501 multimedia companion chip. This device is a multifunction device which may provide numerous interfaces including USB host controller, USB gadget, asynchronous serial ports, audio functions, and a dual display video interface. The device may be connected by PCI or local bus with varying functions enabled. config MFD_SM501_GPIO bool "Export GPIO via GPIO layer" depends on MFD_SM501 && GPIOLIB ---help--- This option uses the gpio library layer to export the 64 GPIO lines on the SM501. The platform data is used to supply the base number for the first GPIO line to register. config MFD_SMSC bool "SMSC ECE1099 series chips" depends on I2C=y select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the ece1099 chips from SMSC. To compile this driver as a module, choose M here: the module will be called smsc. config ABX500_CORE bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions" default y if ARCH_U300 || ARCH_U8500 help Say yes here if you have the ABX500 Mixed Signal IC family chips. This core driver expose register access functions. Functionality specific drivers using these functions can remain unchanged when IC changes. Binding of the functions to actual register access is done by the IC core driver. config AB3100_CORE bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions" depends on I2C=y && ABX500_CORE select MFD_CORE default y if ARCH_U300 help Select this to enable the AB3100 Mixed Signal IC core functionality. This connects to a AB3100 on the I2C bus and expose a number of symbols needed for dependent devices to read and write registers and subscribe to events from this multi-functional IC. This is needed to use other features of the AB3100 such as battery-backed RTC, charging control, LEDs, vibrator, system power and temperature, power management and ALSA sound. config AB3100_OTP tristate "ST-Ericsson AB3100 OTP functions" depends on AB3100_CORE default y if AB3100_CORE help Select this to enable the AB3100 Mixed Signal IC OTP (one-time programmable memory) support. This exposes a sysfs file to read out OTP values. config AB8500_CORE bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" depends on ABX500_CORE && MFD_DB8500_PRCMU select POWER_SUPPLY select MFD_CORE select IRQ_DOMAIN help Select this option to enable access to AB8500 power management chip. This connects to U8500 either on the SSP/SPI bus (deprecated since hardware version v1.0) or the I2C bus via PRCMU. It also adds the irq_chip parts for handling the Mixed Signal chip events. This chip embeds various other multimedia funtionalities as well. config AB8500_DEBUG bool "Enable debug info via debugfs" depends on AB8500_GPADC && DEBUG_FS default y if DEBUG_FS help Select this option if you want debug information using the debug filesystem, debugfs. config AB8500_GPADC bool "ST-Ericsson AB8500 GPADC driver" depends on AB8500_CORE && REGULATOR_AB8500 default y help AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage config MFD_DB8500_PRCMU bool "ST-Ericsson DB8500 Power Reset Control Management Unit" depends on UX500_SOC_DB8500 select MFD_CORE help Select this option to enable support for the DB8500 Power Reset and Control Management Unit. This is basically an autonomous system controller running an XP70 microprocessor, which is accessed through a register map. config MFD_STMPE bool "STMicroelectronics STMPE" depends on (I2C=y || SPI_MASTER=y) select MFD_CORE help Support for the STMPE family of I/O Expanders from STMicroelectronics. Currently supported devices are: STMPE811: GPIO, Touchscreen STMPE1601: GPIO, Keypad STMPE1801: GPIO, Keypad STMPE2401: GPIO, Keypad STMPE2403: GPIO, Keypad This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. Currently available sub drivers are: GPIO: stmpe-gpio Keypad: stmpe-keypad Touchscreen: stmpe-ts menu "STMicroelectronics STMPE Interface Drivers" depends on MFD_STMPE config STMPE_I2C bool "STMicroelectronics STMPE I2C Interface" depends on I2C=y default y help This is used to enable I2C interface of STMPE config STMPE_SPI bool "STMicroelectronics STMPE SPI Interface" depends on SPI_MASTER help This is used to enable SPI interface of STMPE endmenu config MFD_STA2X11 bool "STMicroelectronics STA2X11" depends on STA2X11 select MFD_CORE select REGMAP_MMIO config MFD_SYSCON bool "System Controller Register R/W Based on Regmap" select REGMAP_MMIO help Select this option to enable accessing system control registers via regmap. config MFD_DAVINCI_VOICECODEC tristate select MFD_CORE config MFD_TI_AM335X_TSCADC tristate "TI ADC / Touch Screen chip support" select MFD_CORE select REGMAP select REGMAP_MMIO help If you say yes here you get support for Texas Instruments series of Touch Screen /ADC chips. To compile this driver as a module, choose M here: the module will be called ti_am335x_tscadc. config MFD_DM355EVM_MSP bool "TI DaVinci DM355 EVM microcontroller" depends on I2C=y && MACH_DAVINCI_DM355_EVM help This driver supports the MSP430 microcontroller used on these boards. MSP430 firmware manages resets and power sequencing, inputs from buttons and the IR remote, LEDs, an RTC, and more. config MFD_LP8788 bool "TI LP8788 Power Management Unit Driver" depends on I2C=y select MFD_CORE select REGMAP_I2C select IRQ_DOMAIN help TI LP8788 PMU supports regulators, battery charger, RTC, ADC, backlight driver and current sinks. config MFD_OMAP_USB_HOST bool "TI OMAP USBHS core and TLL driver" depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3 default y help This is the core driver for the OAMP EHCI and OHCI drivers. This MFD driver does the required setup functionalities for OMAP USB Host drivers. config MFD_PALMAS bool "TI Palmas series chips" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help If you say yes here you get support for the Palmas series of PMIC chips from Texas Instruments. config MFD_TI_SSP tristate "TI Sequencer Serial Port support" depends on ARCH_DAVINCI_TNETV107X select MFD_CORE ---help--- Say Y here if you want support for the Sequencer Serial Port in a Texas Instruments TNETV107X SoC. To compile this driver as a module, choose M here: the module will be called ti-ssp. config TPS6105X tristate "TI TPS61050/61052 Boost Converters" depends on I2C select REGULATOR select MFD_CORE select REGULATOR_FIXED_VOLTAGE help This option enables a driver for the TP61050/TPS61052 high-power "white LED driver". This boost converter is sometimes used for other things than white LEDs, and also contains a GPIO pin. config TPS65010 tristate "TI TPS6501x Power Management chips" depends on I2C && GPIOLIB default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK help If you say yes here you get support for the TPS6501x series of Power Management chips. These include voltage regulators, lithium ion/polymer battery charging, and other features that are often used in portable devices like cell phones and cameras. This driver can also be built as a module. If so, the module will be called tps65010. config TPS6507X tristate "TI TPS6507x Power Management / Touch Screen chips" select MFD_CORE depends on I2C help If you say yes here you get support for the TPS6507x series of Power Management / Touch Screen chips. These include voltage regulators, lithium ion/polymer battery charging, touch screen and other features that are often used in portable devices. This driver can also be built as a module. If so, the module will be called tps6507x. config TPS65911_COMPARATOR tristate config MFD_TPS65090 bool "TI TPS65090 Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the TPS65090 series of Power Management chips. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_TPS65217 tristate "TI TPS65217 Power Management / White LED chips" depends on I2C select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the TPS65217 series of Power Management / White LED chips. These include voltage regulators, lithium ion/polymer battery charger, wled and other features that are often used in portable devices. This driver can also be built as a module. If so, the module will be called tps65217. config MFD_TPS6586X bool "TI TPS6586x Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the TPS6586X series of Power Management chips. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. This driver can also be built as a module. If so, the module will be called tps6586x. config MFD_TPS65910 bool "TI TPS65910 Power Management chip" depends on I2C=y && GPIOLIB select MFD_CORE select REGMAP_I2C select REGMAP_IRQ select IRQ_DOMAIN help if you say yes here you get support for the TPS65910 series of Power Management chips. config MFD_TPS65912 bool "TI TPS65912 Power Management chip" depends on GPIOLIB select MFD_CORE help If you say yes here you get support for the TPS65912 series of PM chips. config MFD_TPS65912_I2C bool "TI TPS65912 Power Management chip with I2C" select MFD_CORE select MFD_TPS65912 depends on I2C=y && GPIOLIB help If you say yes here you get support for the TPS65912 series of PM chips with I2C interface. config MFD_TPS65912_SPI bool "TI TPS65912 Power Management chip with SPI" select MFD_CORE select MFD_TPS65912 depends on SPI_MASTER && GPIOLIB help If you say yes here you get support for the TPS65912 series of PM chips with SPI interface. config MFD_TPS80031 bool "TI TPS80031/TPS80032 Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the Texas Instruments TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. The device provides five configurable step-down converters, 11 general purpose LDOs, USB OTG Module, ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with Power Path from USB, 32K clock generator. config TWL4030_CORE bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" depends on I2C=y select IRQ_DOMAIN select REGMAP_I2C help Say yes here if you have TWL4030 / TWL6030 family chip on your board. This core driver provides register access and IRQ handling facilities, and registers devices for the various functions so that function-specific drivers can bind to them. These multi-function chips are found on many OMAP2 and OMAP3 boards, providing power management, RTC, GPIO, keypad, a high speed USB OTG transceiver, an audio codec (on most versions) and many other features. config TWL4030_MADC tristate "TI TWL4030 MADC" depends on TWL4030_CORE help This driver provides support for triton TWL4030-MADC. The driver supports both RT and SW conversion methods. This driver can be built as a module. If so it will be named twl4030-madc config TWL4030_POWER bool "TI TWL4030 power resources" depends on TWL4030_CORE && ARM help Say yes here if you want to use the power resources on the TWL4030 family chips. Most of these resources are regulators, which have a separate driver; some are control signals, such as clock request handshaking. This driver uses board-specific data to initialize the resources and load scripts controlling which resources are switched off/on or reset when a sleep, wakeup or warm reset event occurs. config MFD_TWL4030_AUDIO bool "TI TWL4030 Audio" depends on TWL4030_CORE select MFD_CORE default n config TWL6040_CORE bool "TI TWL6040 audio codec" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ default n help Say yes here if you want support for Texas Instruments TWL6040 audio codec. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device (audio, vibra). config MENELAUS bool "TI TWL92330/Menelaus PM chip" depends on I2C=y && ARCH_OMAP2 help If you say yes here you get support for the Texas Instruments TWL92330/Menelaus Power Management chip. This include voltage regulators, Dual slot memory card transceivers, real-time clock and other features that are often used in portable devices like cell phones and PDAs. config MFD_WL1273_CORE tristate "TI WL1273 FM radio" depends on I2C select MFD_CORE default n help This is the core driver for the TI WL1273 FM radio. This MFD driver connects the radio-wl1273 V4L2 module and the wl1273 audio codec. config MFD_LM3533 tristate "TI/National Semiconductor LM3533 Lighting Power chip" depends on I2C select MFD_CORE select REGMAP_I2C help Say yes here to enable support for National Semiconductor / TI LM3533 Lighting Power chips. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the LED, backlight or ambient-light-sensor functionality of the device. config MFD_TIMBERDALE tristate "Timberdale FPGA" select MFD_CORE depends on PCI && GPIOLIB ---help--- This is the core driver for the timberdale FPGA. This device is a multifunction device which exposes numerous platform devices. The timberdale FPGA can be found on the Intel Atom development board for in-vehicle infontainment, called Russellville. config MFD_TC3589X bool "Toshiba TC35892 and variants" depends on I2C=y select MFD_CORE help Support for the Toshiba TC35892 and variants I/O Expander. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_TMIO bool default n config MFD_T7L66XB bool "Toshiba T7L66XB" depends on ARM && HAVE_CLK select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller T7L66XB config MFD_TC6387XB bool "Toshiba TC6387XB" depends on ARM && HAVE_CLK select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller TC6387XB config MFD_TC6393XB bool "Toshiba TC6393XB" depends on ARM && HAVE_CLK select GPIOLIB select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller TC6393XB config MFD_VX855 tristate "VIA VX855/VX875 integrated south bridge" depends on PCI select MFD_CORE help Say yes here to enable support for various functions of the VIA VX855/VX875 south bridge. You will need to enable the vx855_spi and/or vx855_gpio drivers for this to do anything useful. config MFD_ARIZONA select REGMAP select REGMAP_IRQ select MFD_CORE bool config MFD_ARIZONA_I2C tristate "Wolfson Microelectronics Arizona platform with I2C" select MFD_ARIZONA select MFD_CORE select REGMAP_I2C depends on I2C help Support for the Wolfson Microelectronics Arizona platform audio SoC core functionality controlled via I2C. config MFD_ARIZONA_SPI tristate "Wolfson Microelectronics Arizona platform with SPI" select MFD_ARIZONA select MFD_CORE select REGMAP_SPI depends on SPI_MASTER help Support for the Wolfson Microelectronics Arizona platform audio SoC core functionality controlled via I2C. config MFD_WM5102 bool "Wolfson Microelectronics WM5102" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM5102 low power audio SoC config MFD_WM5110 bool "Wolfson Microelectronics WM5110" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM5110 low power audio SoC config MFD_WM8997 bool "Wolfson Microelectronics WM8997" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM8997 low power audio SoC config MFD_WM8400 bool "Wolfson Microelectronics WM8400" select MFD_CORE depends on I2C=y select REGMAP_I2C help Support for the Wolfson Microelecronics WM8400 PMIC and audio CODEC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM831X bool config MFD_WM831X_I2C bool "Wolfson Microelectronics WM831x/2x PMICs with I2C" select MFD_CORE select MFD_WM831X select REGMAP_I2C select IRQ_DOMAIN depends on I2C=y help Support for the Wolfson Microelecronics WM831x and WM832x PMICs when controlled using I2C. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM831X_SPI bool "Wolfson Microelectronics WM831x/2x PMICs with SPI" select MFD_CORE select MFD_WM831X select REGMAP_SPI select IRQ_DOMAIN depends on SPI_MASTER help Support for the Wolfson Microelecronics WM831x and WM832x PMICs when controlled using SPI. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM8350 bool config MFD_WM8350_I2C bool "Wolfson Microelectronics WM8350 with I2C" select MFD_WM8350 depends on I2C=y help The WM8350 is an integrated audio and power management subsystem with watchdog and RTC functionality for embedded systems. This option enables core support for the WM8350 with I2C as the control interface. Additional options must be selected to enable support for the functionality of the chip. config MFD_WM8994 bool "Wolfson Microelectronics WM8994" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help The WM8994 is a highly integrated hi-fi CODEC designed for smartphone applicatiosn. As well as audio functionality it has on board GPIO and regulator functionality which is supported via the relevant subsystems. This driver provides core support for the WM8994, in order to use the actual functionaltiy of the device other drivers must be enabled. config MFD_STW481X bool "Support for ST Microelectronics STw481x" depends on I2C && ARCH_NOMADIK select REGMAP_I2C select MFD_CORE help Select this option to enable the STw481x chip driver used in various ST Microelectronics and ST-Ericsson embedded Nomadik series. endmenu endif menu "Multimedia Capabilities Port drivers" depends on ARCH_SA1100 config MCP tristate # Interface drivers config MCP_SA11X0 tristate "Support SA11x0 MCP interface" depends on ARCH_SA1100 select MCP # Chip drivers config MCP_UCB1200 bool "Support for UCB1200 / UCB1300" depends on MCP_SA11X0 select MCP config MCP_UCB1200_TS tristate "Touchscreen interface support" depends on MCP_UCB1200 && INPUT endmenu config VEXPRESS_CONFIG bool "ARM Versatile Express platform infrastructure" depends on ARM || ARM64 help Platform configuration infrastructure for the ARM Ltd. Versatile Express. # # Misc strange devices # menu "Misc devices" config SENSORS_LIS3LV02D tristate depends on INPUT select INPUT_POLLDEV default n config AD525X_DPOT tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS help If you say yes here, you get support for the Analog Devices AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255 AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203, AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235, AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293, AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282, ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270, AD5271, AD5272, AD5274 digital potentiometer chips. See Documentation/misc-devices/ad525x_dpot.txt for the userspace interface. This driver can also be built as a module. If so, the module will be called ad525x_dpot. config AD525X_DPOT_I2C tristate "support I2C bus connection" depends on AD525X_DPOT && I2C help Say Y here if you have a digital potentiometers hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad525x_dpot-i2c. config AD525X_DPOT_SPI tristate "support SPI bus connection" depends on AD525X_DPOT && SPI_MASTER help Say Y here if you have a digital potentiometers hooked to an SPI bus. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad525x_dpot-spi. config ATMEL_PWM tristate "Atmel AT32/AT91 PWM support" depends on HAVE_CLK help This option enables device driver support for the PWM channels on certain Atmel processors. Pulse Width Modulation is used for purposes including software controlled power-efficient backlights on LCD displays, motor control, and waveform generation. config ATMEL_TCLIB bool "Atmel AT32/AT91 Timer/Counter Library" depends on (AVR32 || ARCH_AT91) help Select this if you want a library to allocate the Timer/Counter blocks found on many Atmel processors. This facilitates using these blocks by different drivers despite processor differences. config ATMEL_TCB_CLKSRC bool "TC Block Clocksource" depends on ATMEL_TCLIB default y help Select this to get a high precision clocksource based on a TC block with a 5+ MHz base clock rate. Two timer channels are combined to make a single 32-bit timer. When GENERIC_CLOCKEVENTS is defined, the third timer channel may be used as a clock event device supporting oneshot mode (delays of up to two seconds) based on the 32 KiHz clock. config ATMEL_TCB_CLKSRC_BLOCK int depends on ATMEL_TCB_CLKSRC prompt "TC Block" if ARCH_AT91RM9200 || ARCH_AT91SAM9260 || CPU_AT32AP700X default 0 range 0 1 help Some chips provide more than one TC block, so you have the choice of which one to use for the clock framework. The other TC can be used for other purposes, such as PWM generation and interval timing. config DUMMY_IRQ tristate "Dummy IRQ handler" default n ---help--- This module accepts a single 'irq' parameter, which it should register for. The sole purpose of this module is to help with debugging of systems on which spurious IRQs would happen on disabled IRQ vector. config IBM_ASM tristate "Device driver for IBM RSA service processor" depends on X86 && PCI && INPUT ---help--- This option enables device driver support for in-band access to the IBM RSA (Condor) service processor in eServer xSeries systems. The ibmasm device driver allows user space application to access ASM (Advanced Systems Management) functions on the service processor. The driver is meant to be used in conjunction with a user space API. The ibmasm driver also enables the OS to use the UART on the service processor board as a regular serial port. To make use of this feature serial driver support (CONFIG_SERIAL_8250) must be enabled. WARNING: This software may not be supported or function correctly on your IBM server. Please consult the IBM ServerProven website for information on the specific driver level and support statement for your IBM server. config PHANTOM tristate "Sensable PHANToM (PCI)" depends on PCI help Say Y here if you want to build a driver for Sensable PHANToM device. This driver is only for PCI PHANToMs. If you choose to build module, its name will be phantom. If unsure, say N here. config INTEL_MID_PTI tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard" depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST) default n help The PTI (Parallel Trace Interface) driver directs trace data routed from various parts in the system out through an Intel Penwell PTI port and out of the mobile device for analysis with a debugging tool (Lauterbach or Fido). You should select this driver if the target kernel is meant for an Intel Atom (non-netbook) mobile device containing a MIPI P1149.7 standard implementation. config SGI_IOC4 tristate "SGI IOC4 Base IO support" depends on PCI ---help--- This option enables basic support for the IOC4 chip on certain SGI IO controller cards (IO9, IO10, and PCI-RT). This option does not enable any specific functions on such a card, but provides necessary infrastructure for other drivers to utilize. If you have an SGI Altix with an IOC4-based card say Y. Otherwise say N. config TIFM_CORE tristate "TI Flash Media interface support" depends on PCI help If you want support for Texas Instruments(R) Flash Media adapters you should select this option and then also choose an appropriate host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter support', if you have a TI PCI74xx compatible card reader, for example. You will also have to select some flash card format drivers. MMC/SD cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD Interface support (MMC_TIFM_SD)'. To compile this driver as a module, choose M here: the module will be called tifm_core. config TIFM_7XX1 tristate "TI Flash Media PCI74xx/PCI76xx host adapter support" depends on PCI && TIFM_CORE default TIFM_CORE help This option enables support for Texas Instruments(R) PCI74xx and PCI76xx families of Flash Media adapters, found in many laptops. To make actual use of the device, you will have to select some flash card format drivers, as outlined in the TIFM_CORE Help. To compile this driver as a module, choose M here: the module will be called tifm_7xx1. config ICS932S401 tristate "Integrated Circuits ICS932S401" depends on I2C help If you say yes here you get support for the Integrated Circuits ICS932S401 clock control chips. This driver can also be built as a module. If so, the module will be called ics932s401. config ATMEL_SSC tristate "Device driver for Atmel SSC peripheral" depends on HAS_IOMEM ---help--- This option enables device driver support for Atmel Synchronized Serial Communication peripheral (SSC). The SSC peripheral supports a wide variety of serial frame based communications, i.e. I2S, SPI, etc. If unsure, say N. config ENCLOSURE_SERVICES tristate "Enclosure Services" default n help Provides support for intelligent enclosures (bays which contain storage devices). You also need either a host driver (SCSI/ATA) which supports enclosures or a SCSI enclosure device (SES) to use these services. config SGI_XP tristate "Support communication between SGI SSIs" depends on NET depends on (IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || X86_UV) && SMP select IA64_UNCACHED_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2 select GENERIC_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2 select SGI_GRU if X86_64 && SMP ---help--- An SGI machine can be divided into multiple Single System Images which act independently of each other and have hardware based memory protection from the others. Enabling this feature will allow for direct communication between SSIs based on a network adapter and DMA messaging. config CS5535_MFGPT tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support" depends on PCI && X86 && MFD_CS5535 default n help This driver provides access to MFGPT functionality for other drivers that need timers. MFGPTs are available in the CS5535 and CS5536 companion chips that are found in AMD Geode and several other platforms. They have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. You probably don't want to enable this manually; other drivers that make use of it should enable it. config CS5535_MFGPT_DEFAULT_IRQ int depends on CS5535_MFGPT default 7 help MFGPTs on the CS5535 require an interrupt. The selected IRQ can be overridden as a module option as well as by driver that use the cs5535_mfgpt_ API; however, different architectures might want to use a different IRQ by default. This is here for architectures to set as necessary. config CS5535_CLOCK_EVENT_SRC tristate "CS5535/CS5536 high-res timer (MFGPT) events" depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT help This driver provides a clock event source based on the MFGPT timer(s) in the CS5535 and CS5536 companion chips. MFGPTs have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. config HP_ILO tristate "Channel interface driver for the HP iLO processor" depends on PCI default n help The channel interface driver allows applications to communicate with iLO management processors present on HP ProLiant servers. Upon loading, the driver creates /dev/hpilo/dXccbN files, which can be used to gather data from the management processor, via read and write system calls. To compile this driver as a module, choose M here: the module will be called hpilo. config SGI_GRU tristate "SGI GRU driver" depends on X86_UV && SMP default n select MMU_NOTIFIER ---help--- The GRU is a hardware resource located in the system chipset. The GRU contains memory that can be mmapped into the user address space. This memory is used to communicate with the GRU to perform functions such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user instructions using user virtual addresses. GRU instructions (ex., bcopy) use user virtual addresses for operands. If you are not running on a SGI UV system, say N. config SGI_GRU_DEBUG bool "SGI GRU driver debug" depends on SGI_GRU default n ---help--- This option enables addition debugging code for the SGI GRU driver. If you are unsure, say N. config APDS9802ALS tristate "Medfield Avago APDS9802 ALS Sensor module" depends on I2C help If you say yes here you get support for the ALS APDS9802 ambient light sensor. This driver can also be built as a module. If so, the module will be called apds9802als. config ISL29003 tristate "Intersil ISL29003 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Intersil ISL29003 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29003. config ISL29020 tristate "Intersil ISL29020 ambient light sensor" depends on I2C help If you say yes here you get support for the Intersil ISL29020 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29020. config SENSORS_TSL2550 tristate "Taos TSL2550 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Taos TSL2550 ambient light sensor. This driver can also be built as a module. If so, the module will be called tsl2550. config SENSORS_BH1780 tristate "ROHM BH1780GLI ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the ROHM BH1780GLI ambient light sensor. This driver can also be built as a module. If so, the module will be called bh1780gli. config SENSORS_BH1770 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" depends on I2C ---help--- Say Y here if you want to build a driver for BH1770GLC (ROHM) or SFH7770 (Osram) combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called bh1770glc. If unsure, say N here. config SENSORS_APDS990X tristate "APDS990X combined als and proximity sensors" depends on I2C default n ---help--- Say Y here if you want to build a driver for Avago APDS990x combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called apds990x. If unsure, say N here. config HMC6352 tristate "Honeywell HMC6352 compass" depends on I2C help This driver provides support for the Honeywell HMC6352 compass, providing configuration and heading data via sysfs. config DS1682 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS1682 Total Elapsed Time Recorder. This driver can also be built as a module. If so, the module will be called ds1682. config SPEAR13XX_PCIE_GADGET bool "PCIe gadget support for SPEAr13XX platform" depends on ARCH_SPEAR13XX && BROKEN default n help This option enables gadget support for PCIe controller. If board file defines any controller as PCIe endpoint then a sysfs entry will be created for that controller. User can use these sysfs node to configure PCIe EP as per his requirements. config TI_DAC7512 tristate "Texas Instruments DAC7512" depends on SPI && SYSFS help If you say yes here you get support for the Texas Instruments DAC7512 16-bit digital-to-analog converter. This driver can also be built as a module. If so, the module will be called ti_dac7512. config VMWARE_BALLOON tristate "VMware Balloon Driver" depends on X86 && HYPERVISOR_GUEST help This is VMware physical memory management driver which acts like a "balloon" that can be inflated to reclaim physical pages by reserving them in the guest and invalidating them in the monitor, freeing up the underlying machine pages so they can be allocated to other guests. The balloon can also be deflated to allow the guest to use more physical memory. If unsure, say N. To compile this driver as a module, choose M here: the module will be called vmw_balloon. config ARM_CHARLCD bool "ARM Ltd. Character LCD Driver" depends on PLAT_VERSATILE help This is a driver for the character LCD found on the ARM Ltd. Versatile and RealView Platform Baseboards. It doesn't do very much more than display the text "ARM Linux" on the first line and the Linux version on the second line, but that's still useful. config BMP085 bool depends on SYSFS config BMP085_I2C tristate "BMP085 digital pressure sensor on I2C" select BMP085 select REGMAP_I2C depends on I2C && SYSFS help Say Y here if you want to support Bosch Sensortec's digital pressure sensor hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called bmp085-i2c. config BMP085_SPI tristate "BMP085 digital pressure sensor on SPI" select BMP085 select REGMAP_SPI depends on SPI_MASTER && SYSFS help Say Y here if you want to support Bosch Sensortec's digital pressure sensor hooked to an SPI bus. To compile this driver as a module, choose M here: the module will be called bmp085-spi. config PCH_PHUB tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB" select GENERIC_NET_UTILS depends on PCI help This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded processor. The Topcliff has MAC address and Option ROM data in SROM. This driver can access MAC address and Option ROM data in SROM. This driver also can be used for LAPIS Semiconductor's IOH, ML7213/ML7223/ML7831. ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. To compile this driver as a module, choose M here: the module will be called pch_phub. config USB_SWITCH_FSA9480 tristate "FSA9480 USB Switch" depends on I2C help The FSA9480 is a USB port accessory detector and switch. The FSA9480 is fully controlled using I2C and enables USB data, stereo and mono audio, video, microphone and UART data to use a common connector port. config LATTICE_ECP3_CONFIG tristate "Lattice ECP3 FPGA bitstream configuration via SPI" depends on SPI && SYSFS select FW_LOADER default n help This option enables support for bitstream configuration (programming or loading) of the Lattice ECP3 FPGA family via SPI. If unsure, say N. config SRAM bool "Generic on-chip SRAM driver" depends on HAS_IOMEM select GENERIC_ALLOCATOR help This driver allows you to declare a memory region to be managed by the genalloc API. It is supposed to be used for small on-chip SRAM areas found on many SoCs. source "drivers/misc/c2port/Kconfig" source "drivers/misc/eeprom/Kconfig" source "drivers/misc/cb710/Kconfig" source "drivers/misc/ti-st/Kconfig" source "drivers/misc/lis3lv02d/Kconfig" source "drivers/misc/carma/Kconfig" source "drivers/misc/altera-stapl/Kconfig" source "drivers/misc/mei/Kconfig" source "drivers/misc/vmw_vmci/Kconfig" source "drivers/misc/mic/Kconfig" endmenu comment "Altera FPGA firmware download module" config ALTERA_STAPL tristate "Altera FPGA firmware download module" depends on I2C default n help An Altera FPGA module. Say Y when you want to support this tool. # # C2 port devices # menuconfig C2PORT tristate "Silicon Labs C2 port support" default n help This option enables support for Silicon Labs C2 port used to program Silicon micro controller chips (and other 8051 compatible). If your board have no such micro controllers you don't need this interface at all. To compile this driver as a module, choose M here: the module will be called c2port_core. Note that you also need a client module usually called c2port-*. If you are not sure, say N here. if C2PORT config C2PORT_DURAMAR_2150 tristate "C2 port support for Eurotech's Duramar 2150" depends on X86 default n help This option enables C2 support for the Eurotech's Duramar 2150 on board micro controller. To compile this driver as a module, choose M here: the module will be called c2port-duramar2150. endif # C2PORT config CARMA_FPGA tristate "CARMA DATA-FPGA Access Driver" depends on FSL_SOC && PPC_83xx && MEDIA_SUPPORT && HAS_DMA && FSL_DMA select VIDEOBUF_DMA_SG default n help Say Y here to include support for communicating with the data processing FPGAs on the OVRO CARMA board. config CARMA_FPGA_PROGRAM tristate "CARMA DATA-FPGA Programmer" depends on FSL_SOC && PPC_83xx && MEDIA_SUPPORT && HAS_DMA && FSL_DMA select VIDEOBUF_DMA_SG default n help Say Y here to include support for programming the data processing FPGAs on the OVRO CARMA board. config CB710_CORE tristate "ENE CB710/720 Flash memory card reader support" depends on PCI help This option enables support for PCI ENE CB710/720 Flash memory card reader found in some laptops (ie. some versions of HP Compaq nx9500). You will also have to select some flash card format drivers (MMC/SD, MemoryStick). This driver can also be built as a module. If so, the module will be called cb710. config CB710_DEBUG bool "Enable driver debugging" depends on CB710_CORE != n default n help This is an option for use by developers; most people should say N here. This adds a lot of debugging output to dmesg. config CB710_DEBUG_ASSUMPTIONS bool depends on CB710_CORE != n default y menu "EEPROM support" config EEPROM_AT24 tristate "I2C EEPROMs / RAMs / ROMs from most vendors" depends on I2C && SYSFS help Enable this driver to get read/write support to most I2C EEPROMs and compatible devices like FRAMs, SRAMs, ROMs etc. After you configure the driver to know about each chip on your target board. Use these generic chip names, instead of vendor-specific ones like at24c64, 24lc02 or fm24c04: 24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08, 24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024 Unless you like data loss puzzles, always be sure that any chip you configure as a 24c32 (32 kbit) or larger is NOT really a 24c16 (16 kbit) or smaller, and vice versa. Marking the chip as read-only won't help recover from this. Also, if your chip has any software write-protect mechanism you may want to review the code to make sure this driver won't turn it on by accident. If you use this with an SMBus adapter instead of an I2C adapter, full functionality is not available. Only smaller devices are supported (24c16 and below, max 4 kByte). This driver can also be built as a module. If so, the module will be called at24. config EEPROM_AT25 tristate "SPI EEPROMs from most vendors" depends on SPI && SYSFS help Enable this driver to get read/write support to most SPI EEPROMs, after you configure the board init code to know about each eeprom on your target board. This driver can also be built as a module. If so, the module will be called at25. config EEPROM_LEGACY tristate "Old I2C EEPROM reader" depends on I2C && SYSFS help If you say yes here you get read-only access to the EEPROM data available on modern memory DIMMs and Sony Vaio laptops via I2C. Such EEPROMs could theoretically be available on other devices as well. This driver can also be built as a module. If so, the module will be called eeprom. config EEPROM_MAX6875 tristate "Maxim MAX6874/5 power supply supervisor" depends on I2C help If you say yes here you get read-only support for the user EEPROM of the Maxim MAX6874/5 EEPROM-programmable, quad power-supply sequencer/supervisor. All other features of this chip should be accessed via i2c-dev. This driver can also be built as a module. If so, the module will be called max6875. config EEPROM_93CX6 tristate "EEPROM 93CX6 support" help This is a driver for the EEPROM chipsets 93c46 and 93c66. The driver supports both read as well as write commands. If unsure, say N. config EEPROM_93XX46 tristate "Microwire EEPROM 93XX46 support" depends on SPI && SYSFS help Driver for the microwire EEPROM chipsets 93xx46x. The driver supports both read and write commands and also the command to erase the whole EEPROM. This driver can also be built as a module. If so, the module will be called eeprom_93xx46. If unsure, say N. config EEPROM_DIGSY_MTC_CFG bool "DigsyMTC display configuration EEPROMs device" depends on GPIO_MPC5200 && SPI_GPIO help This option enables access to display configuration EEPROMs on digsy_mtc board. You have to additionally select Microwire EEPROM 93XX46 driver. sysfs entries will be created for that EEPROM allowing to read/write the configuration data or to erase the whole EEPROM. If unsure, say N. config EEPROM_SUNXI_SID tristate "Allwinner sunxi security ID support" depends on ARCH_SUNXI && SYSFS help This is a driver for the 'security ID' available on various Allwinner devices. Due to the potential risks involved with changing e-fuses, this driver is read-only. This driver can also be built as a module. If so, the module will be called sunxi_sid. endmenu # # STMicroelectonics LIS3LV02D and similar accelerometers # config SENSORS_LIS3_SPI tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (SPI)" depends on !ACPI && SPI_MASTER && INPUT select SENSORS_LIS3LV02D default n help This driver provides support for the LIS3LV02Dx accelerometer connected via SPI. The accelerometer data is readable via /sys/devices/platform/lis3lv02d. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. This driver can also be built as modules. If so, the core module will be called lis3lv02d and a specific module for the SPI transport is called lis3lv02d_spi. config SENSORS_LIS3_I2C tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)" depends on I2C && INPUT select SENSORS_LIS3LV02D default n help This driver provides support for the LIS3LV02Dx accelerometer connected via I2C. The accelerometer data is readable via /sys/devices/platform/lis3lv02d. This driver also provides an absolute input class device, allowing the device to act as a pinball machine-esque joystick. This driver can also be built as modules. If so, the core module will be called lis3lv02d and a specific module for the I2C transport is called lis3lv02d_i2c. config INTEL_MEI tristate "Intel Management Engine Interface" depends on X86 && PCI && WATCHDOG_CORE help The Intel Management Engine (Intel ME) provides Manageability, Security and Media services for system containing Intel chipsets. if selected /dev/mei misc device will be created. For more information see config INTEL_MEI_ME tristate "ME Enabled Intel Chipsets" select INTEL_MEI depends on X86 && PCI && WATCHDOG_CORE help MEI support for ME Enabled Intel chipsets. Supported Chipsets are: 7 Series Chipset Family 6 Series Chipset Family 5 Series Chipset Family 4 Series Chipset Family Mobile 4 Series Chipset Family ICH9 82946GZ/GL 82G35 Express 82Q963/Q965 82P965/G965 Mobile PM965/GM965 Mobile GME965/GLE960 82Q35 Express 82G33/G31/P35/P31 Express 82Q33 Express 82X38/X48 Express comment "Intel MIC Host Driver" config INTEL_MIC_HOST tristate "Intel MIC Host Driver" depends on 64BIT && PCI && X86 select VHOST_RING default N help This enables Host Driver support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor devices that run a 64 bit Linux OS. The driver manages card OS state and enables communication between host and card. Intel MIC X100 devices are currently supported. If you are building a host kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from . comment "Intel MIC Card Driver" config INTEL_MIC_CARD tristate "Intel MIC Card Driver" depends on 64BIT && X86 select VIRTIO default N help This enables card driver support for the Intel Many Integrated Core (MIC) device family. The card driver communicates shutdown/ crash events to the host and allows registration/configuration of virtio devices. Intel MIC X100 devices are currently supported. If you are building a card kernel for an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. For more information see . # # TI's shared transport line discipline and the protocol # drivers (BT, FM and GPS) # menu "Texas Instruments shared transport line discipline" config TI_ST tristate "Shared transport core driver" depends on NET && GPIOLIB && TTY select FW_LOADER help This enables the shared transport core driver for TI BT / FM and GPS combo chips. This enables protocol drivers to register themselves with core and send data, the responses are returned to relevant protocol drivers based on their packet types. endmenu # # VMware VMCI device # config VMWARE_VMCI tristate "VMware VMCI Driver" depends on X86 && PCI help This is VMware's Virtual Machine Communication Interface. It enables high-speed communication between host and guest in a virtual environment via the VMCI virtual device. If unsure, say N. To compile this driver as a module, choose M here: the module will be called vmw_vmci. # # MMC subsystem configuration # menuconfig MMC tristate "MMC/SD/SDIO card support" depends on HAS_IOMEM help This selects MultiMediaCard, Secure Digital and Secure Digital I/O support. If you want MMC/SD/SDIO support, you should say Y here and also to your specific host controller driver. config MMC_DEBUG bool "MMC debugging" depends on MMC != n help This is an option for use by developers; most people should say N here. This enables MMC core and driver debugging. if MMC source "drivers/mmc/core/Kconfig" source "drivers/mmc/card/Kconfig" source "drivers/mmc/host/Kconfig" endif # MMC # # MMC/SD card drivers # comment "MMC/SD/SDIO Card Drivers" config MMC_BLOCK tristate "MMC block device driver" depends on BLOCK default y help Say Y here to enable the MMC block device driver support. This provides a block device driver, which you can use to mount the filesystem. Almost everyone wishing MMC support should say Y or M here. config MMC_BLOCK_MINORS int "Number of minors per block device" depends on MMC_BLOCK range 4 256 default 8 help Number of minors per block device. One is needed for every partition on the disk (plus one for the whole disk). Number of total MMC minors available is 256, so your number of supported block devices will be limited to 256 divided by this number. Default is 8 to be backwards compatible with previous hardwired device numbering. If unsure, say 8 here. config MMC_BLOCK_BOUNCE bool "Use bounce buffer for simple hosts" depends on MMC_BLOCK default y help SD/MMC is a high latency protocol where it is crucial to send large requests in order to get high performance. Many controllers, however, are restricted to continuous memory (i.e. they can't do scatter-gather), something the kernel rarely can provide. Say Y here to help these restricted hosts by bouncing requests back and forth from a large buffer. You will get a big performance gain at the cost of up to 64 KiB of physical memory. If unsure, say Y here. config SDIO_UART tristate "SDIO UART/GPS class support" depends on TTY help SDIO function driver for SDIO cards that implements the UART class, as well as the GPS class which appears like a UART. config MMC_TEST tristate "MMC host test driver" help Development driver that performs a series of reads and writes to a memory card in order to expose certain well known bugs in host controllers. The tests are executed by writing to the "test" file in debugfs under each card. Note that whatever is on your card will be overwritten by these tests. This driver is only of interest to those developing or testing a host driver. Most people should say N here. # # MMC core configuration # config MMC_UNSAFE_RESUME bool "Assume MMC/SD cards are non-removable (DANGEROUS)" help If you say Y here, the MMC layer will assume that all cards stayed in their respective slots during the suspend. The normal behaviour is to remove them at suspend and redetecting them at resume. Breaking this assumption will in most cases result in data corruption. This option is usually just for embedded systems which use a MMC/SD card for rootfs. Most people should say N here. This option sets a default which can be overridden by the module parameter "removable=0" or "removable=1". config MMC_CLKGATE bool "MMC host clock gating" help This will attempt to aggressively gate the clock to the MMC card. This is done to save power due to gating off the logic and bus noise when the MMC card is not in use. Your host driver has to support handling this in order for it to be of any use. If unsure, say N. # # MMC/SD host controller drivers # comment "MMC/SD/SDIO Host Controller Drivers" config MMC_ARMMMCI tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA help This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card Interface (PL180 and PL181) support. If you have an ARM(R) platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_PXA tristate "Intel PXA25x/26x/27x Multimedia Card Interface support" depends on ARCH_PXA help This selects the Intel(R) PXA(R) Multimedia card Interface. If you have a PXA(R) platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_SDHCI tristate "Secure Digital Host Controller Interface support" depends on HAS_DMA help This selects the generic Secure Digital Host Controller Interface. It is used by manufacturers such as Texas Instruments(R), Ricoh(R) and Toshiba(R). Most controllers found in laptops are of this type. If you have a controller with this interface, say Y or M here. You also need to enable an appropriate bus interface. If unsure, say N. config MMC_SDHCI_IO_ACCESSORS bool depends on MMC_SDHCI help This is silent Kconfig symbol that is selected by the drivers that need to overwrite SDHCI IO memory accessors. config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER bool select MMC_SDHCI_IO_ACCESSORS help This option is selected by drivers running on big endian hosts and performing I/O to a SDHCI controller through a bus that implements a hardware byte swapper using a 32-bit datum. This endian mapping mode is called "data invariance" and has the effect of scrambling the addresses and formats of data accessed in sizes other than the datum size. This is the case for the Freescale eSDHC and Nintendo Wii SDHCI. config MMC_SDHCI_PCI tristate "SDHCI support on PCI bus" depends on MMC_SDHCI && PCI help This selects the PCI Secure Digital Host Controller Interface. Most controllers found today are PCI devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_RICOH_MMC bool "Ricoh MMC Controller Disabler" depends on MMC_SDHCI_PCI help This adds a pci quirk to disable Ricoh MMC Controller. This proprietary controller is unnecessary because the SDHCI driver supports MMC cards on the SD controller, but if it is not disabled, it will steal the MMC cards away - rendering them useless. It is safe to select this even if you don't have a Ricoh based card reader. If unsure, say Y. config MMC_SDHCI_ACPI tristate "SDHCI support for ACPI enumerated SDHCI controllers" depends on MMC_SDHCI && ACPI help This selects support for ACPI enumerated SDHCI controllers, identified by ACPI Compatibility ID PNP0D40 or specific ACPI Hardware IDs. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_PLTFM tristate "SDHCI platform and OF driver helper" depends on MMC_SDHCI help This selects the common helper functions support for Secure Digital Host Controller Interface based platform and OF drivers. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_ESDHC tristate "SDHCI OF support for the Freescale eSDHC controller" depends on MMC_SDHCI_PLTFM depends on PPC_OF select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER help This selects the Freescale eSDHC controller support. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_HLWD tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers" depends on MMC_SDHCI_PLTFM depends on PPC_OF select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER help This selects the Secure Digital Host Controller Interface (SDHCI) found in the "Hollywood" chipset of the Nintendo Wii video game console. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_CNS3XXX tristate "SDHCI support on the Cavium Networks CNS3xxx SoC" depends on ARCH_CNS3XXX depends on MMC_SDHCI_PLTFM help This selects the SDHCI support for CNS3xxx System-on-Chip devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_ESDHC_IMX tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller" depends on ARCH_MXC depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Freescale eSDHC/uSDHC controller support found on i.MX25, i.MX35 i.MX5x and i.MX6x. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_DOVE tristate "SDHCI support on Marvell's Dove SoC" depends on ARCH_DOVE depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Secure Digital Host Controller Interface in Marvell's Dove SoC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_TEGRA tristate "SDHCI platform support for the Tegra SD/MMC Controller" depends on ARCH_TEGRA depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Tegra SD/MMC controller. If you have a Tegra platform with SD or MMC devices, say Y or M here. If unsure, say N. config MMC_SDHCI_S3C tristate "SDHCI support on Samsung S3C SoC" depends on MMC_SDHCI && PLAT_SAMSUNG help This selects the Secure Digital Host Controller Interface (SDHCI) often referrered to as the HSMMC block in some of the Samsung S3C range of SoC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_SIRF tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs" depends on ARCH_SIRF depends on MMC_SDHCI_PLTFM help This selects the SDHCI support for SiRF System-on-Chip devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_PXAV3 tristate "Marvell MMP2 SD Host Controller support (PXAV3)" depends on CLKDEV_LOOKUP select MMC_SDHCI select MMC_SDHCI_PLTFM default CPU_MMP2 help This selects the Marvell(R) PXAV3 SD Host Controller. If you have a MMP2 platform with SD Host Controller and a card slot, say Y or M here. If unsure, say N. config MMC_SDHCI_PXAV2 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" depends on CLKDEV_LOOKUP select MMC_SDHCI select MMC_SDHCI_PLTFM default CPU_PXA910 help This selects the Marvell(R) PXAV2 SD Host Controller. If you have a PXA9XX platform with SD Host Controller and a card slot, say Y or M here. If unsure, say N. config MMC_SDHCI_SPEAR tristate "SDHCI support on ST SPEAr platform" depends on MMC_SDHCI && PLAT_SPEAR help This selects the Secure Digital Host Controller Interface (SDHCI) often referrered to as the HSMMC block in some of the ST SPEAR range of SoC If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_S3C_DMA bool "DMA support on S3C SDHCI" depends on MMC_SDHCI_S3C help Enable DMA support on the Samsung S3C SDHCI glue. The DMA has proved to be problematic if the controller encounters certain errors, and thus should be treated with care. YMMV. config MMC_SDHCI_BCM_KONA tristate "SDHCI support on Broadcom KONA platform" depends on ARCH_BCM select MMC_SDHCI_PLTFM help This selects the Broadcom Kona Secure Digital Host Controller Interface(SDHCI) support. This is used in Broadcom mobile SoCs. If you have a controller with this interface, say Y or M here. config MMC_SDHCI_BCM2835 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller" depends on ARCH_BCM2835 depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the BCM2835 SD/MMC controller. If you have a BCM2835 platform with SD or MMC devices, say Y or M here. If unsure, say N. config MMC_OMAP tristate "TI OMAP Multimedia Card Interface support" depends on ARCH_OMAP select TPS65010 if MACH_OMAP_H2 help This selects the TI OMAP Multimedia card Interface. If you have an OMAP board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_OMAP_HS tristate "TI OMAP High Speed Multimedia Card Interface support" depends on ARCH_OMAP2PLUS || COMPILE_TEST help This selects the TI OMAP High Speed Multimedia card Interface. If you have an omap2plus board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_WBSD tristate "Winbond W83L51xD SD/MMC Card Interface support" depends on ISA_DMA_API help This selects the Winbond(R) W83L51xD Secure digital and Multimedia card Interface. If you have a machine with a integrated W83L518D or W83L519D SD/MMC card reader, say Y or M here. If unsure, say N. config MMC_AU1X tristate "Alchemy AU1XX0 MMC Card Interface support" depends on MIPS_ALCHEMY help This selects the AMD Alchemy(R) Multimedia card interface. If you have a Alchemy platform with a MMC slot, say Y or M here. If unsure, say N. config MMC_ATMELMCI tristate "Atmel SD/MMC Driver (Multimedia Card Interface)" depends on AVR32 || ARCH_AT91 help This selects the Atmel Multimedia Card Interface driver. If you have an AT32 (AVR32) or AT91 platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_MSM tristate "Qualcomm SDCC Controller Support" depends on MMC && ARCH_MSM help This provides support for the SD/MMC cell found in the MSM and QSD SOCs from Qualcomm. The controller also has support for SDIO devices. config MMC_MXC tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" depends on ARCH_MXC || PPC_MPC512x help This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x Multimedia Card Interface. If you have an i.MX or MPC512x platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_MXS tristate "Freescale MXS Multimedia Card Interface support" depends on ARCH_MXS && MXS_DMA help This selects the Freescale SSP MMC controller found on MXS based platforms like mx23/28. If unsure, say N. config MMC_TIFM_SD tristate "TI Flash Media MMC/SD Interface support" depends on PCI select TIFM_CORE help Say Y here if you want to be able to access MMC/SD cards with the Texas Instruments(R) Flash Media card reader, found in many laptops. This option 'selects' (turns on, enables) 'TIFM_CORE', but you probably also need appropriate card reader host adapter, such as 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support (TIFM_7XX1)'. To compile this driver as a module, choose M here: the module will be called tifm_sd. config MMC_MVSDIO tristate "Marvell MMC/SD/SDIO host driver" depends on PLAT_ORION ---help--- This selects the Marvell SDIO host driver. SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 SoC controllers. To compile this driver as a module, choose M here: the module will be called mvsdio. config MMC_DAVINCI tristate "TI DAVINCI Multimedia Card Interface support" depends on ARCH_DAVINCI help This selects the TI DAVINCI Multimedia card Interface. If you have an DAVINCI board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_GOLDFISH tristate "goldfish qemu Multimedia Card Interface support" depends on GOLDFISH help This selects the Goldfish Multimedia card Interface emulation found on the Goldfish Android virtual device emulation. config MMC_SPI tristate "MMC/SD/SDIO over SPI" depends on SPI_MASTER && !HIGHMEM && HAS_DMA select CRC7 select CRC_ITU_T help Some systems access MMC/SD/SDIO cards using a SPI controller instead of using a "native" MMC/SD/SDIO controller. This has a disadvantage of being relatively high overhead, but a compensating advantage of working on many systems without dedicated MMC/SD/SDIO controllers. If unsure, or if your system has no SPI master driver, say N. config MMC_S3C tristate "Samsung S3C SD/MMC Card Interface support" depends on ARCH_S3C24XX help This selects a driver for the MCI interface found in Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. If you have a board based on one of those and a MMC/SD slot, say Y or M here. If unsure, say N. config MMC_S3C_HW_SDIO_IRQ bool "Hardware support for SDIO IRQ" depends on MMC_S3C help Enable the hardware support for SDIO interrupts instead of using the generic polling code. choice prompt "Samsung S3C SD/MMC transfer code" depends on MMC_S3C config MMC_S3C_PIO bool "Use PIO transfers only" help Use PIO to transfer data between memory and the hardware. PIO is slower than DMA as it requires CPU instructions to move the data. This has been the traditional default for the S3C MCI driver. config MMC_S3C_DMA bool "Use DMA transfers only" help Use DMA to transfer data between memory and the hardare. Currently, the DMA support in this driver seems to not be working properly and needs to be debugged before this option is useful. config MMC_S3C_PIODMA bool "Support for both PIO and DMA" help Compile both the PIO and DMA transfer routines into the driver and let the platform select at run-time which one is best. See notes for the DMA option. endchoice config MMC_SDRICOH_CS tristate "MMC/SD driver for Ricoh Bay1Controllers" depends on PCI && PCMCIA help Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA card whenever you insert a MMC or SD card into the card slot. To compile this driver as a module, choose M here: the module will be called sdricoh_cs. config MMC_TMIO_CORE tristate config MMC_TMIO tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" depends on MFD_TMIO || MFD_ASIC3 select MMC_TMIO_CORE help This provides support for the SD/MMC cell found in TC6393XB, T7L66XB and also HTC ASIC3 config MMC_SDHI tristate "SH-Mobile SDHI SD/SDIO controller support" depends on SUPERH || ARCH_SHMOBILE select MMC_TMIO_CORE help This provides support for the SDHI SD/SDIO controller found in SuperH and ARM SH-Mobile SoCs config MMC_CB710 tristate "ENE CB710 MMC/SD Interface support" depends on PCI select CB710_CORE help This option enables support for MMC/SD part of ENE CB710/720 Flash memory card reader found in some laptops (ie. some versions of HP Compaq nx9500). This driver can also be built as a module. If so, the module will be called cb710-mmc. config MMC_VIA_SDMMC tristate "VIA SD/MMC Card Reader Driver" depends on PCI help This selects the VIA SD/MMC Card Reader driver, say Y or M here. VIA provides one multi-functional card reader which integrated into some motherboards manufactured by VIA. This card reader supports SD/MMC/SDHC. If you have a controller with this interface, say Y or M here. If unsure, say N. config SDH_BFIN tristate "Blackfin Secure Digital Host support" depends on (BF54x && !BF544) || (BF51x && !BF512) help If you say yes here you will get support for the Blackfin on-chip Secure Digital Host interface. This includes support for MMC and SD cards. To compile this driver as a module, choose M here: the module will be called bfin_sdh. If unsure, say N. config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround" depends on SDH_BFIN help If you say yes here SD-Cards may work on the EZkit. config MMC_DW tristate "Synopsys DesignWare Memory Card Interface" depends on ARC || ARM help This selects support for the Synopsys DesignWare Mobile Storage IP block, this provides host support for SD and MMC interfaces, in both PIO and external DMA modes. config MMC_DW_IDMAC bool "Internal DMAC interface" depends on MMC_DW help This selects support for the internal DMAC block within the Synopsys Designware Mobile Storage IP block. This disables the external DMA interface. config MMC_DW_PLTFM tristate "Synopsys Designware MCI Support as platform device" depends on MMC_DW default y help This selects the common helper functions support for Host Controller Interface based platform driver. Please select this option if the IP is present as a platform device. This is the common interface for the Synopsys Designware IP. If you have a controller with this interface, say Y or M here. If unsure, say Y. config MMC_DW_EXYNOS tristate "Exynos specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW select MMC_DW_PLTFM help This selects support for Samsung Exynos SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on Exynos4 and Exynos5 SoC's. config MMC_DW_SOCFPGA tristate "SOCFPGA specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW && MFD_SYSCON select MMC_DW_PLTFM help This selects support for Altera SoCFPGA specific extensions to the Synopsys DesignWare Memory Card Interface driver. config MMC_DW_PCI tristate "Synopsys Designware MCI support on PCI bus" depends on MMC_DW && PCI help This selects the PCI bus for the Synopsys Designware Mobile Storage IP. Select this option if the IP is present on PCI platform. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SH_MMCIF tristate "SuperH Internal MMCIF support" depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE) help This selects the MMC Host Interface controller (MMCIF). This driver supports MMCIF in sh7724/sh7757/sh7372. config MMC_JZ4740 tristate "JZ4740 SD/Multimedia Card Interface support" depends on MACH_JZ4740 help This selects support for the SD/MMC controller on Ingenic JZ4740 SoCs. If you have a board based on such a SoC and with a SD/MMC slot, say Y or M here. config MMC_VUB300 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support" depends on USB help This selects support for Elan Digital Systems' VUB300 chip. The VUB300 is a USB-SDIO Host Controller Interface chip that enables the host computer to use SDIO/SD/MMC cards via a USB 2.0 or USB 1.1 host. The VUB300 chip will be found in both physically separate USB to SDIO/SD/MMC adapters and embedded on some motherboards. The VUB300 chip supports SD and MMC memory cards in addition to single and multifunction SDIO cards. Some SDIO cards will need a firmware file to be loaded and sent to VUB300 chip in order to achieve better data throughput. Download these "Offload Pseudocode" from Elan Digital Systems' web-site http://www.elandigitalsystems.com/support/downloads.php and put them in /lib/firmware. Note that without these additional firmware files the VUB300 chip will still function, but not at the best obtainable data rate. To compile this mmc host controller driver as a module, choose M here: the module will be called vub300. If you have a computer with an embedded VUB300 chip or if you intend connecting a USB adapter based on a VUB300 chip say Y or M here. config MMC_USHC tristate "USB SD Host Controller (USHC) support" depends on USB help This selects support for USB SD Host Controllers based on the Cypress Astoria chip with firmware compliant with CSR's USB SD Host Controller specification (CS-118793-SP). CSR boards with this device include: USB<>SDIO (M1985v2), and Ultrasira. Note: These controllers only support SDIO cards and do not support MMC or SD memory cards. config MMC_WMT tristate "Wondermedia SD/MMC Host Controller support" depends on ARCH_VT8500 default y help This selects support for the SD/MMC Host Controller on Wondermedia WM8505/WM8650 based SoCs. To compile this driver as a module, choose M here: the module will be called wmt-sdmmc. config MMC_REALTEK_PCI tristate "Realtek PCI-E SD/MMC Card Interface Driver" depends on MFD_RTSX_PCI help Say Y here to include driver code to support SD/MMC card interface of Realtek PCI-E card reader menuconfig MTD tristate "Memory Technology Device (MTD) support" depends on GENERIC_IO help Memory Technology Devices are flash, RAM and similar chips, often used for solid state file systems on embedded devices. This option will provide the generic support for MTD drivers to register themselves with the kernel and for potential users of MTD devices to enumerate the devices which are present and obtain a handle on them. It will also allow you to select individual drivers for particular hardware and users of MTD devices. If unsure, say N. if MTD config MTD_TESTS tristate "MTD tests support (DANGEROUS)" depends on m help This option includes various MTD tests into compilation. The tests should normally be compiled as kernel modules. The modules perform various checks and verifications when loaded. WARNING: some of the tests will ERASE entire MTD device which they test. Do not use these tests unless you really know what you do. config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" ---help--- RedBoot is a ROM monitor and bootloader which deals with multiple 'images' in flash devices by putting a table one of the erase blocks on the device, similar to a partition table, which gives the offsets, lengths and names of all the images stored in the flash. If you need code which can detect and parse this table, and register MTD 'partitions' corresponding to each image in the table, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. if MTD_REDBOOT_PARTS config MTD_REDBOOT_DIRECTORY_BLOCK int "Location of RedBoot partition table" default "-1" ---help--- This option is the Linux counterpart to the CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time option. The option specifies which Flash sectors holds the RedBoot partition table. A zero or positive value gives an absolute erase block number. A negative value specifies a number of sectors before the end of the device. For example "2" means block number 2, "-1" means the last block and "-2" means the penultimate block. config MTD_REDBOOT_PARTS_UNALLOCATED bool "Include unallocated flash regions" help If you need to register each unallocated flash region as a MTD 'partition', enable this option. config MTD_REDBOOT_PARTS_READONLY bool "Force read-only for RedBoot system images" help If you need to force read-only for 'RedBoot', 'RedBoot Config' and 'FIS directory' images, enable this option. endif # MTD_REDBOOT_PARTS config MTD_CMDLINE_PARTS tristate "Command line partition table parsing" depends on MTD ---help--- Allow generic configuration of the MTD partition tables via the kernel command line. Multiple flash resources are supported for hardware where different kinds of flash memory are available. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. The format for the command line is as follows: mtdparts=[; := :[,] := [@offset][][ro] := unique id used in mapping driver/device := standard linux memsize OR "-" to denote all remaining space := (NAME) Due to the way Linux handles the command line, no spaces are allowed in the partition definition, including mtd id's and partition names. Examples: 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: mtdparts=sa1100:- Same flash, but 2 named partitions, the first one being read-only: mtdparts=sa1100:256k(ARMboot)ro,-(root) If unsure, say 'N'. config MTD_AFS_PARTS tristate "ARM Firmware Suite partition parsing" depends on ARM ---help--- The ARM Firmware Suite allows the user to divide flash devices into multiple 'images'. Each such image has a header containing its name and offset/size etc. If you need code which can detect and parse these tables, and register MTD 'partitions' corresponding to each image detected, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example. config MTD_OF_PARTS tristate "OpenFirmware partitioning information support" default y depends on OF help This provides a partition parsing function which derives the partition map from the children of the flash node, as described in Documentation/devicetree/booting-without-of.txt. config MTD_AR7_PARTS tristate "TI AR7 partitioning support" ---help--- TI AR7 partitioning support config MTD_BCM63XX_PARTS tristate "BCM63XX CFE partitioning support" depends on BCM63XX select CRC32 help This provides partions parsing for BCM63xx devices with CFE bootloaders. config MTD_BCM47XX_PARTS tristate "BCM47XX partitioning support" depends on BCM47XX help This provides partitions parser for devices based on BCM47xx boards. comment "User Modules And Translation Layers" config MTD_BLKDEVS tristate "Common interface to block layer for MTD 'translation layers'" depends on BLOCK default n config MTD_BLOCK tristate "Caching block device access to MTD devices" depends on BLOCK select MTD_BLKDEVS ---help--- Although most flash chips have an erase size too large to be useful as block devices, it is possible to use MTD devices which are based on RAM chips in this manner. This block device is a user of MTD devices performing that function. At the moment, it is also required for the Journalling Flash File System(s) to obtain a handle on the MTD device when it's mounted (although JFFS and JFFS2 don't actually use any of the functionality of the mtdblock device). Later, it may be extended to perform read/erase/modify/write cycles on flash chips to emulate a smaller block size. Needless to say, this is very unsafe, but could be useful for file systems which are almost never written to. You do not need this option for use with the DiskOnChip devices. For those, enable NFTL support (CONFIG_NFTL) instead. config MTD_BLOCK_RO tristate "Readonly block device access to MTD devices" depends on MTD_BLOCK!=y && BLOCK select MTD_BLKDEVS help This allows you to mount read-only file systems (such as cramfs) from an MTD device, without the overhead (and danger) of the caching driver. You do not need this option for use with the DiskOnChip devices. For those, enable NFTL support (CONFIG_NFTL) instead. config FTL tristate "FTL (Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS ---help--- This provides support for the original Flash Translation Layer which is part of the PCMCIA specification. It uses a kind of pseudo- file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on PCMCIA hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config NFTL tristate "NFTL (NAND Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS ---help--- This provides support for the NAND Flash Translation Layer which is used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on DiskOnChip hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config NFTL_RW bool "Write support for NFTL" depends on NFTL help Support for writing to the NAND Flash Translation Layer, as used on the DiskOnChip. config INFTL tristate "INFTL (Inverse NAND Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS ---help--- This provides support for the Inverse NAND Flash Translation Layer which is used on M-Systems' newer DiskOnChip devices. It uses a kind of pseudo-file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on DiskOnChip hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config RFD_FTL tristate "Resident Flash Disk (Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS ---help--- This provides support for the flash translation layer known as the Resident Flash Disk (RFD), as used by the Embedded BIOS of General Software. There is a blurb at: http://www.gensw.com/pages/prod/bios/rfd.htm config SSFDC tristate "NAND SSFDC (SmartMedia) read only translation layer" depends on BLOCK select MTD_BLKDEVS help This enables read only access to SmartMedia formatted NAND flash. You can mount it with FAT file system. config SM_FTL tristate "SmartMedia/xD new translation layer" depends on BLOCK select MTD_BLKDEVS select MTD_NAND_ECC help This enables EXPERIMENTAL R/W support for SmartMedia/xD FTL (Flash translation layer). Write support is only lightly tested, therefore this driver isn't recommended to use with valuable data (anyway if you have valuable data, do backups regardless of software/hardware you use, because you never know what will eat your data...) If you only need R/O access, you can use older R/O driver (CONFIG_SSFDC) config MTD_OOPS tristate "Log panic/oops to an MTD buffer" help This enables panic and oops messages to be logged to a circular buffer in a flash partition where it can be read back at some later point. config MTD_SWAP tristate "Swap on MTD device support" depends on MTD && SWAP select MTD_BLKDEVS help Provides volatile block device driver on top of mtd partition suitable for swapping. The mapping of written blocks is not saved. The driver provides wear leveling by storing erase counter into the OOB. source "drivers/mtd/chips/Kconfig" source "drivers/mtd/maps/Kconfig" source "drivers/mtd/devices/Kconfig" source "drivers/mtd/nand/Kconfig" source "drivers/mtd/onenand/Kconfig" source "drivers/mtd/lpddr/Kconfig" source "drivers/mtd/ubi/Kconfig" endif # MTD menu "RAM/ROM/Flash chip drivers" depends on MTD!=n config MTD_CFI tristate "Detect flash chips by Common Flash Interface (CFI) probe" select MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface specification was developed by Intel, AMD and other flash manufactures that provides a universal method for probing the capabilities of flash devices. If you wish to support any device that is CFI-compliant, you need to enable this option. Visit for more information on CFI. config MTD_JEDECPROBE tristate "Detect non-CFI AMD/JEDEC-compatible flash chips" select MTD_GEN_PROBE help This option enables JEDEC-style probing of flash chips which are not compatible with the Common Flash Interface, but will use the common CFI-targeted flash drivers for any chips which are identified which are in fact compatible in all but the probe method. This actually covers most AMD/Fujitsu-compatible chips and also non-CFI Intel chips. config MTD_GEN_PROBE tristate config MTD_CFI_ADV_OPTIONS bool "Flash chip driver advanced configuration options" depends on MTD_GEN_PROBE help If you need to specify a specific endianness for access to flash chips, or if you wish to reduce the size of the kernel by including support for only specific arrangements of flash chips, say 'Y'. This option does not directly affect the code, but will enable other configuration options which allow you to do so. If unsure, say 'N'. choice prompt "Flash cmd/query data swapping" depends on MTD_CFI_ADV_OPTIONS default MTD_CFI_NOSWAP ---help--- This option defines the way in which the CPU attempts to arrange data bits when writing the 'magic' commands to the chips. Saying 'NO', which is the default when CONFIG_MTD_CFI_ADV_OPTIONS isn't enabled, means that the CPU will not do any swapping; the chips are expected to be wired to the CPU in 'host-endian' form. Specific arrangements are possible with the BIG_ENDIAN_BYTE and LITTLE_ENDIAN_BYTE, if the bytes are reversed. config MTD_CFI_NOSWAP bool "NO" config MTD_CFI_BE_BYTE_SWAP bool "BIG_ENDIAN_BYTE" config MTD_CFI_LE_BYTE_SWAP bool "LITTLE_ENDIAN_BYTE" endchoice config MTD_CFI_GEOMETRY bool "Specific CFI Flash geometry selection" depends on MTD_CFI_ADV_OPTIONS help This option does not affect the code directly, but will enable some other configuration options which would allow you to reduce the size of the kernel by including support for only certain arrangements of CFI chips. If unsure, say 'N' and all options which are supported by the current code will be enabled. config MTD_MAP_BANK_WIDTH_1 bool "Support 8-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 8 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_2 bool "Support 16-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 16 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_4 bool "Support 32-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 32 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_8 bool "Support 64-bit buswidth" if MTD_CFI_GEOMETRY default n help If you wish to support CFI devices on a physical bus which is 64 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_16 bool "Support 128-bit buswidth" if MTD_CFI_GEOMETRY default n help If you wish to support CFI devices on a physical bus which is 128 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_32 bool "Support 256-bit buswidth" if MTD_CFI_GEOMETRY default n help If you wish to support CFI devices on a physical bus which is 256 bits wide, say 'Y'. config MTD_CFI_I1 bool "Support 1-chip flash interleave" if MTD_CFI_GEOMETRY default y help If your flash chips are not interleaved - i.e. you only have one flash chip addressed by each bus cycle, then say 'Y'. config MTD_CFI_I2 bool "Support 2-chip flash interleave" if MTD_CFI_GEOMETRY default y help If your flash chips are interleaved in pairs - i.e. you have two flash chips addressed by each bus cycle, then say 'Y'. config MTD_CFI_I4 bool "Support 4-chip flash interleave" if MTD_CFI_GEOMETRY default n help If your flash chips are interleaved in fours - i.e. you have four flash chips addressed by each bus cycle, then say 'Y'. config MTD_CFI_I8 bool "Support 8-chip flash interleave" if MTD_CFI_GEOMETRY default n help If your flash chips are interleaved in eights - i.e. you have eight flash chips addressed by each bus cycle, then say 'Y'. config MTD_OTP bool "Protection Registers aka one-time programmable (OTP) bits" depends on MTD_CFI_ADV_OPTIONS default n help This enables support for reading, writing and locking so called "Protection Registers" present on some flash chips. A subset of them are pre-programmed at the factory with a unique set of values. The rest is user-programmable. The user-programmable Protection Registers contain one-time programmable (OTP) bits; when programmed, register bits cannot be erased. Each Protection Register can be accessed multiple times to program individual bits, as long as the register remains unlocked. Each Protection Register has an associated Lock Register bit. When a Lock Register bit is programmed, the associated Protection Register can only be read; it can no longer be programmed. Additionally, because the Lock Register bits themselves are OTP, when programmed, Lock Register bits cannot be erased. Therefore, when a Protection Register is locked, it cannot be unlocked. This feature should therefore be used with extreme care. Any mistake in the programming of OTP bits will waste them. config MTD_CFI_INTELEXT tristate "Support for Intel/Sharp flash chips" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for one of those command sets, used on Intel StrataFlash and other parts. config MTD_CFI_AMDSTD tristate "Support for AMD/Fujitsu/Spansion flash chips" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for one of those command sets, used on chips including the AMD Am29LV320. config MTD_CFI_STAA tristate "Support for ST (Advanced Architecture) flash chips" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for one of those command sets. config MTD_CFI_UTIL tristate config MTD_RAM tristate "Support for RAM chips in bus mapping" help This option enables basic support for RAM chips accessed through a bus mapping driver. config MTD_ROM tristate "Support for ROM chips in bus mapping" help This option enables basic support for ROM chips accessed through a bus mapping driver. config MTD_ABSENT tristate "Support for absent chips in bus mapping" help This option enables support for a dummy probing driver used to allocated placeholder MTD devices on systems that have socketed or removable media. Use of this driver as a fallback chip probe preserves the expected registration order of MTD device nodes on the system regardless of media presence. Device nodes created with this driver will return -ENODEV upon access. config MTD_XIP bool "XIP aware MTD support" depends on !SMP && (MTD_CFI_INTELEXT || MTD_CFI_AMDSTD) && ARCH_MTD_XIP default y if XIP_KERNEL help This allows MTD support to work with flash memory which is also used for XIP purposes. If you're not sure what this is all about then say N. endmenu menu "Self-contained MTD device drivers" depends on MTD!=n depends on HAS_IOMEM config MTD_PMC551 tristate "Ramix PMC551 PCI Mezzanine RAM card support" depends on PCI ---help--- This provides a MTD device driver for the Ramix PMC551 RAM PCI card from Ramix Inc. . These devices come in memory configurations from 32M - 1G. If you have one, you probably want to enable this. If this driver is compiled as a module you get the ability to select the size of the aperture window pointing into the devices memory. What this means is that if you have a 1G card, normally the kernel will use a 1G memory map as its view of the device. As a module, you can select a 1M window into the memory and the driver will "slide" the window around the PMC551's memory. This was particularly useful on the 2.2 kernels on PPC architectures as there was limited kernel space to deal with. config MTD_PMC551_BUGFIX bool "PMC551 256M DRAM Bugfix" depends on MTD_PMC551 help Some of Ramix's PMC551 boards with 256M configurations have invalid column and row mux values. This option will fix them, but will break other memory configurations. If unsure say N. config MTD_PMC551_DEBUG bool "PMC551 Debugging" depends on MTD_PMC551 help This option makes the PMC551 more verbose during its operation and is only really useful if you are developing on this driver or suspect a possible hardware or driver bug. If unsure say N. config MTD_MS02NV tristate "DEC MS02-NV NVRAM module support" depends on MACH_DECSTATION help This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery backed-up NVRAM module. The module was originally meant as an NFS accelerator. Say Y here if you have a DECstation 5000/2x0 or a DECsystem 5900 equipped with such a module. If you want to compile this driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read . The module will be called ms02-nv. config MTD_DATAFLASH tristate "Support for AT45xxx DataFlash" depends on SPI_MASTER help This enables access to AT45xxx DataFlash chips, using SPI. Sometimes DataFlash chips are packaged inside MMC-format cards; at this writing, the MMC stack won't handle those. config MTD_DATAFLASH_WRITE_VERIFY bool "Verify DataFlash page writes" depends on MTD_DATAFLASH help This adds an extra check when data is written to the flash. It may help if you are verifying chip setup (timings etc) on your board. There is a rare possibility that even though the device thinks the write was successful, a bit could have been flipped accidentally due to device wear or something else. config MTD_DATAFLASH_OTP bool "DataFlash OTP support (Security Register)" depends on MTD_DATAFLASH help Newer DataFlash chips (revisions C and D) support 128 bytes of one-time-programmable (OTP) data. The first half may be written (once) with up to 64 bytes of data, such as a serial number or other key product data. The second half is programmed with a unique-to-each-chip bit pattern at the factory. config MTD_M25P80 tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)" depends on SPI_MASTER help This enables access to most modern SPI flash chips, used for program and data storage. Series supported include Atmel AT26DF, Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips are supported as well. See the driver source for the current list, or to add other chips. Note that the original DataFlash chips (AT45 series, not AT26DF), need an entirely different driver. Set up your spi devices with the right board-specific platform data, if you want to specify device partitioning or to use a device which doesn't support the JEDEC ID instruction. config MTD_SPEAR_SMI tristate "SPEAR MTD NOR Support through SMI controller" depends on PLAT_SPEAR default y help This enable SNOR support on SPEAR platforms using SMI controller config MTD_SST25L tristate "Support SST25L (non JEDEC) SPI Flash chips" depends on SPI_MASTER help This enables access to the non JEDEC SST25L SPI flash chips, used for program and data storage. Set up your spi devices with the right board-specific platform data, if you want to specify device partitioning. config MTD_BCM47XXSFLASH tristate "R/O support for serial flash on BCMA bus" depends on BCMA_SFLASH help BCMA bus can have various flash memories attached, they are registered by bcma as platform devices. This enables driver for serial flash memories (only read-only mode is implemented). config MTD_SLRAM tristate "Uncached system RAM" help If your CPU cannot cache all of the physical memory in your machine, you can still use it for storage or swap by using this driver to present it to the system as a Memory Technology Device. config MTD_PHRAM tristate "Physical system RAM" help This is a re-implementation of the slram driver above. Use this driver to access physical memory that the kernel proper doesn't have access to, memory beyond the mem=xxx limit, nvram, memory on the video card, etc... config MTD_LART tristate "28F160xx flash driver for LART" depends on SA1100_LART help This enables the flash driver for LART. Please note that you do not need any mapping/chip driver for LART. This one does it all for you, so go disable all of those if you enabled some of them (: config MTD_MTDRAM tristate "Test driver using RAM" help This enables a test MTD device driver which uses vmalloc() to provide storage. You probably want to say 'N' unless you're testing stuff. config MTDRAM_TOTAL_SIZE int "MTDRAM device size in KiB" depends on MTD_MTDRAM default "4096" help This allows you to configure the total size of the MTD device emulated by the MTDRAM driver. If the MTDRAM driver is built as a module, it is also possible to specify this as a parameter when loading the module. config MTDRAM_ERASE_SIZE int "MTDRAM erase block size in KiB" depends on MTD_MTDRAM default "128" help This allows you to configure the size of the erase blocks in the device emulated by the MTDRAM driver. If the MTDRAM driver is built as a module, it is also possible to specify this as a parameter when loading the module. #If not a module (I don't want to test it as a module) config MTDRAM_ABS_POS hex "SRAM Hexadecimal Absolute position or 0" depends on MTD_MTDRAM=y default "0" help If you have system RAM accessible by the CPU but not used by Linux in normal operation, you can give the physical address at which the available RAM starts, and the MTDRAM driver will use it instead of allocating space from Linux's available memory. Otherwise, leave this set to zero. Most people will want to leave this as zero. config MTD_BLOCK2MTD tristate "MTD using block device" depends on BLOCK help This driver allows a block device to appear as an MTD. It would generally be used in the following cases: Using Compact Flash as an MTD, these usually present themselves to the system as an ATA drive. Testing MTD users (eg JFFS2) on large media and media that might be removed during a write (using the floppy drive). comment "Disk-On-Chip Device Drivers" config MTD_DOCG3 tristate "M-Systems Disk-On-Chip G3" select BCH select BCH_CONST_PARAMS select BITREVERSE ---help--- This provides an MTD device driver for the M-Systems DiskOnChip G3 devices. The driver provides access to G3 DiskOnChip, distributed by M-Systems and now Sandisk. The support is very experimental, and doesn't give access to any write operations. if MTD_DOCG3 config BCH_CONST_M default 14 config BCH_CONST_T default 4 endif endmenu menu "LPDDR flash memory drivers" depends on MTD!=n config MTD_LPDDR tristate "Support for LPDDR flash chips" select MTD_QINFO_PROBE help This option enables support of LPDDR (Low power double data rate) flash chips. Synonymous with Mobile-DDR. It is a new standard for DDR memories, intended for battery-operated systems. config MTD_QINFO_PROBE depends on MTD_LPDDR tristate "Detect flash chips by QINFO probe" help Device Information for LPDDR chips is offered through the Overlay Window QINFO interface, permits software to be used for entire families of devices. This serves similar purpose of CFI on legacy Flash products endmenu menu "Mapping drivers for chip access" depends on MTD!=n depends on HAS_IOMEM config MTD_COMPLEX_MAPPINGS bool "Support non-linear mappings of flash chips" help This causes the chip drivers to allow for complicated paged mappings of flash chips. config MTD_PHYSMAP tristate "Flash device in physical memory map" depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_LPDDR help This provides a 'mapping' driver which allows the NOR Flash and ROM driver code to communicate with chips which are mapped physically into the CPU's memory. You will need to configure the physical address and size of the flash chips on your particular board as well as the bus width, either statically with config options or at run-time. To compile this driver as a module, choose M here: the module will be called physmap. config MTD_PHYSMAP_COMPAT bool "Physmap compat support" depends on MTD_PHYSMAP default n help Setup a simple mapping via the Kconfig options. Normally the physmap configuration options are done via your board's resource file. If unsure, say N here. config MTD_PHYSMAP_START hex "Physical start address of flash mapping" depends on MTD_PHYSMAP_COMPAT default "0x8000000" help This is the physical memory location at which the flash chips are mapped on your particular target board. Refer to the memory map which should hopefully be in the documentation for your board. config MTD_PHYSMAP_LEN hex "Physical length of flash mapping" depends on MTD_PHYSMAP_COMPAT default "0" help This is the total length of the mapping of the flash chips on your particular board. If there is space, or aliases, in the physical memory map between the chips, this could be larger than the total amount of flash present. Refer to the memory map which should hopefully be in the documentation for your board. config MTD_PHYSMAP_BANKWIDTH int "Bank width in octets" depends on MTD_PHYSMAP_COMPAT default "2" help This is the total width of the data bus of the flash devices in octets. For example, if you have a data bus width of 32 bits, you would set the bus width octet value to 4. This is used internally by the CFI drivers. config MTD_PHYSMAP_OF tristate "Flash device in physical memory map based on OF description" depends on OF && (MTD_CFI || MTD_JEDECPROBE || MTD_ROM) help This provides a 'mapping' driver which allows the NOR Flash and ROM driver code to communicate with chips which are mapped physically into the CPU's memory. The mapping description here is taken from OF device tree. config MTD_PMC_MSP_EVM tristate "CFI Flash device mapped on PMC-Sierra MSP" depends on PMC_MSP && MTD_CFI help This provides a 'mapping' driver which supports the way in which user-programmable flash chips are connected on the PMC-Sierra MSP eval/demo boards. choice prompt "Maximum mappable memory available for flash IO" depends on MTD_PMC_MSP_EVM default MSP_FLASH_MAP_LIMIT_32M config MSP_FLASH_MAP_LIMIT_32M bool "32M" endchoice config MSP_FLASH_MAP_LIMIT hex default "0x02000000" depends on MSP_FLASH_MAP_LIMIT_32M config MTD_SUN_UFLASH tristate "Sun Microsystems userflash support" depends on SPARC && MTD_CFI && PCI help This provides a 'mapping' driver which supports the way in which user-programmable flash chips are connected on various Sun Microsystems boardsets. This driver will require CFI support in the kernel, so if you did not enable CFI previously, do that now. config MTD_SC520CDP tristate "CFI Flash device mapped on AMD SC520 CDP" depends on X86 && MTD_CFI help The SC520 CDP board has two banks of CFI-compliant chips and one Dual-in-line JEDEC chip. This 'mapping' driver supports that arrangement, implementing three MTD devices. config MTD_NETSC520 tristate "CFI Flash device mapped on AMD NetSc520" depends on X86 && MTD_CFI help This enables access routines for the flash chips on the AMD NetSc520 demonstration board. If you have one of these boards and would like to use the flash chips on it, say 'Y'. config MTD_TS5500 tristate "JEDEC Flash device mapped on Technologic Systems TS-5500" depends on X86 select MTD_JEDECPROBE select MTD_CFI_AMDSTD help This provides a driver for the on-board flash of the Technologic System's TS-5500 board. The 2MB flash is split into 3 partitions which are accessed as separate MTD devices. mtd0 and mtd2 are the two BIOS drives, which use the resident flash disk (RFD) flash translation layer. mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL. Note that jumper 3 ("Write Enable Drive A") must be set otherwise detection won't succeed. config MTD_SBC_GXX tristate "CFI Flash device mapped on Arcom SBC-GXx boards" depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS help This provides a driver for the on-board flash of Arcom Control Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. By default the flash is split into 3 partitions which are accessed as separate MTD devices. This board utilizes Intel StrataFlash. More info at . config MTD_PXA2XX tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT help This provides a driver for the NOR flash attached to a PXA2xx chip. config MTD_SCx200_DOCFLASH tristate "Flash device mapped with DOCCS on NatSemi SCx200" depends on SCx200 && MTD_CFI help Enable support for a flash chip mapped using the DOCCS signal on a National Semiconductor SCx200 processor. If you don't know what to do here, say N. If compiled as a module, it will be called scx200_docflash. config MTD_AMD76XROM tristate "BIOS flash chip on AMD76x southbridge" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on AMD76x motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_ICHXROM tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on ICHX motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_ESB2ROM tristate "BIOS flash chip on Intel ESB Controller Hub 2" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on ESB2 motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_CK804XROM tristate "BIOS flash chip on Nvidia CK804" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on nvidia motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_SCB2_FLASH tristate "BIOS flash chip on Intel SCB2 boards" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on Intel SCB2 boards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_TSUNAMI tristate "Flash chips on Tsunami TIG bus" depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS help Support for the flash chip on Tsunami TIG bus. config MTD_NETtel tristate "CFI flash device on SnapGear/SecureEdge" depends on X86 && MTD_JEDECPROBE help Support for flash chips on NETtel/SecureEdge/SnapGear boards. config MTD_LANTIQ tristate "Lantiq SoC NOR support" depends on LANTIQ help Support for NOR flash attached to the Lantiq SoC's External Bus Unit. config MTD_L440GX tristate "BIOS flash chip on Intel L440GX boards" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on Intel L440GX motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_CFI_FLAGADM tristate "CFI Flash device mapping on FlagaDM" depends on 8xx && MTD_CFI help Mapping for the Flaga digital module. If you don't have one, ignore this setting. config MTD_SOLUTIONENGINE tristate "CFI Flash device mapped on Hitachi SolutionEngine" depends on SUPERH && SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS help This enables access to the flash chips on the Hitachi SolutionEngine and similar boards. Say 'Y' if you are building a kernel for such a board. config MTD_SA1100 tristate "CFI Flash device mapped on StrongARM SA11x0" depends on MTD_CFI && ARCH_SA1100 help This enables access to the flash chips on most platforms based on the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. If you have such a board, say 'Y'. config MTD_DC21285 tristate "CFI Flash device mapped on DC21285 Footbridge" depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS help This provides a driver for the flash accessed using Intel's 21285 bridge used with Intel's StrongARM processors. More info at . config MTD_IXP4XX tristate "CFI Flash device mapped on Intel IXP4xx based systems" depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX help This enables MTD access to flash devices on platforms based on Intel's IXP4xx family of network processors such as the IXDP425 and Coyote. If you have an IXP4xx based board and would like to use the flash chips on it, say 'Y'. config MTD_IMPA7 tristate "JEDEC Flash device mapped on impA7" depends on ARM && MTD_JEDECPROBE help This enables access to the NOR Flash on the impA7 board of implementa GmbH. If you have such a board, say 'Y' here. # This needs CFI or JEDEC, depending on the cards found. config MTD_PCI tristate "PCI MTD driver" depends on PCI && MTD_COMPLEX_MAPPINGS help Mapping for accessing flash devices on add-in cards like the Intel XScale IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode (please see the manual for the link settings). If you are not sure, say N. config MTD_PCMCIA tristate "PCMCIA MTD driver" depends on PCMCIA && MTD_COMPLEX_MAPPINGS help Map driver for accessing PCMCIA linear flash memory cards. These cards are usually around 4-16MiB in size. This does not include Compact Flash cards which are treated as IDE devices. config MTD_PCMCIA_ANONYMOUS bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" depends on MTD_PCMCIA help If this option is enabled, PCMCIA cards which do not report anything about themselves are assumed to be MTD cards. If unsure, say N. config MTD_BFIN_ASYNC tristate "Blackfin BF533-STAMP Flash Chip Support" depends on BFIN533_STAMP && MTD_CFI && MTD_COMPLEX_MAPPINGS default y help Map driver which allows for simultaneous utilization of ethernet and CFI parallel flash. If compiled as a module, it will be called bfin-async-flash. config MTD_GPIO_ADDR tristate "GPIO-assisted Flash Chip Support" depends on GPIOLIB depends on MTD_COMPLEX_MAPPINGS help Map driver which allows flashes to be partially physically addressed and assisted by GPIOs. If compiled as a module, it will be called gpio-addr-flash. config MTD_UCLINUX bool "Generic uClinux RAM/ROM filesystem support" depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) help Map driver to support image based filesystems for uClinux. config MTD_INTEL_VR_NOR tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0" depends on PCI help Map driver for a NOR flash bank located on the Expansion Bus of the Intel Vermilion Range chipset. config MTD_RBTX4939 tristate "Map driver for RBTX4939 board" depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS help Map driver for NOR flash chips on RBTX4939 board. config MTD_PLATRAM tristate "Map driver for platform device RAM (mtd-ram)" select MTD_RAM help Map driver for RAM areas described via the platform device system. This selection automatically selects the map_ram driver. config MTD_VMU tristate "Map driver for Dreamcast VMU" depends on MAPLE help This driver enables access to the Dreamcast Visual Memory Unit (VMU). Most Dreamcast users will want to say Y here. To build this as a module select M here, the module will be called vmu-flash. config MTD_PISMO tristate "MTD discovery driver for PISMO modules" depends on I2C depends on ARCH_VERSATILE help This driver allows for discovery of PISMO modules - see . These are small modules containing up to five memory devices (eg, SRAM, flash, DOC) described by an I2C EEPROM. This driver does not create any MTD maps itself; instead it creates MTD physmap and MTD SRAM platform devices. If you enable this option, you should consider enabling MTD_PHYSMAP and/or MTD_PLATRAM according to the devices on your module. When built as a module, it will be called pismo.ko config MTD_LATCH_ADDR tristate "Latch-assisted Flash Chip Support" depends on MTD_COMPLEX_MAPPINGS help Map driver which allows flashes to be partially physically addressed and have the upper address lines set by a board specific code. If compiled as a module, it will be called latch-addr-flash. endmenu config MTD_NAND_ECC tristate config MTD_NAND_ECC_SMC bool "NAND ECC Smart Media byte order" depends on MTD_NAND_ECC default n help Software ECC according to the Smart Media Specification. The original Linux implementation had byte 0 and 1 swapped. menuconfig MTD_NAND tristate "NAND Device Support" depends on MTD select MTD_NAND_IDS select MTD_NAND_ECC help This enables support for accessing all type of NAND flash devices. For further information see . if MTD_NAND config MTD_NAND_BCH tristate select BCH depends on MTD_NAND_ECC_BCH default MTD_NAND config MTD_NAND_ECC_BCH bool "Support software BCH ECC" default n help This enables support for software BCH error correction. Binary BCH codes are more powerful and cpu intensive than traditional Hamming ECC codes. They are used with NAND devices requiring more than 1 bit of error correction. config MTD_SM_COMMON tristate default n config MTD_NAND_DENALI tristate "Support Denali NAND controller" depends on HAS_DMA help Enable support for the Denali NAND controller. This should be combined with either the PCI or platform drivers to provide device registration. config MTD_NAND_DENALI_PCI tristate "Support Denali NAND controller on Intel Moorestown" depends on PCI && MTD_NAND_DENALI help Enable the driver for NAND flash on Intel Moorestown, using the Denali NAND controller core. config MTD_NAND_DENALI_DT tristate "Support Denali NAND controller as a DT device" depends on HAVE_CLK && MTD_NAND_DENALI help Enable the driver for NAND flash on platforms using a Denali NAND controller as a DT device. config MTD_NAND_DENALI_SCRATCH_REG_ADDR hex "Denali NAND size scratch register address" default "0xFF108018" depends on MTD_NAND_DENALI_PCI help Some platforms place the NAND chip size in a scratch register because (some versions of) the driver aren't able to automatically determine the size of certain chips. Set the address of the scratch register here to enable this feature. On Intel Moorestown boards, the scratch register is at 0xFF108018. config MTD_NAND_GPIO tristate "GPIO NAND Flash driver" depends on GPIOLIB help This enables a GPIO based NAND flash driver. config MTD_NAND_AMS_DELTA tristate "NAND Flash device on Amstrad E3" depends on MACH_AMS_DELTA default y help Support for NAND flash on Amstrad E3 (Delta). config MTD_NAND_OMAP2 tristate "NAND Flash device on OMAP2, OMAP3 and OMAP4" depends on ARCH_OMAP2PLUS help Support for NAND flash on Texas Instruments OMAP2, OMAP3 and OMAP4 platforms. config MTD_NAND_OMAP_BCH depends on MTD_NAND && MTD_NAND_OMAP2 && ARCH_OMAP3 tristate "Support hardware based BCH error correction" default n select BCH help This config enables the ELM hardware engine, which can be used to locate and correct errors when using BCH ECC scheme. This offloads the cpu from doing ECC error searching and correction. However some legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine so they should not enable this config symbol. config MTD_NAND_IDS tristate config MTD_NAND_RICOH tristate "Ricoh xD card reader" default n depends on PCI select MTD_SM_COMMON help Enable support for Ricoh R5C852 xD card reader You also need to enable ether NAND SSFDC (SmartMedia) read only translation layer' or new expermental, readwrite 'SmartMedia/xD new translation layer' config MTD_NAND_AU1550 tristate "Au1550/1200 NAND support" depends on MIPS_ALCHEMY help This enables the driver for the NAND flash controller on the AMD/Alchemy 1550 SOC. config MTD_NAND_BF5XX tristate "Blackfin on-chip NAND Flash Controller driver" depends on BF54x || BF52x help This enables the Blackfin on-chip NAND flash controller No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. This driver can also be built as a module. If so, the module will be called bf5xx-nand. config MTD_NAND_BF5XX_HWECC bool "BF5XX NAND Hardware ECC" default y depends on MTD_NAND_BF5XX help Enable the use of the BF5XX's internal ECC generator when using NAND. config MTD_NAND_BF5XX_BOOTROM_ECC bool "Use Blackfin BootROM ECC Layout" default n depends on MTD_NAND_BF5XX_HWECC help If you wish to modify NAND pages and allow the Blackfin on-chip BootROM to boot from them, say Y here. This is only necessary if you are booting U-Boot out of NAND and you wish to update U-Boot from Linux' userspace. Otherwise, you should say N here. If unsure, say N. config MTD_NAND_S3C2410 tristate "NAND Flash support for Samsung S3C SoCs" depends on ARCH_S3C24XX || ARCH_S3C64XX help This enables the NAND flash controller on the S3C24xx and S3C64xx SoCs No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. config MTD_NAND_S3C2410_DEBUG bool "Samsung S3C NAND driver debug" depends on MTD_NAND_S3C2410 help Enable debugging of the S3C NAND driver config MTD_NAND_S3C2410_HWECC bool "Samsung S3C NAND Hardware ECC" depends on MTD_NAND_S3C2410 help Enable the use of the controller's internal ECC generator when using NAND. Early versions of the chips have had problems with incorrect ECC generation, and if using these, the default of software ECC is preferable. config MTD_NAND_NDFC tristate "NDFC NanD Flash Controller" depends on 4xx select MTD_NAND_ECC_SMC help NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs config MTD_NAND_S3C2410_CLKSTOP bool "Samsung S3C NAND IDLE clock stop" depends on MTD_NAND_S3C2410 default n help Stop the clock to the NAND controller when there is no chip selected to save power. This will mean there is a small delay when the is NAND chip selected or released, but will save approximately 5mA of power when there is nothing happening. config MTD_NAND_DISKONCHIP tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)" depends on HAS_IOMEM select REED_SOLOMON select REED_SOLOMON_DEC16 help This is a reimplementation of M-Systems DiskOnChip 2000, Millennium and Millennium Plus as a standard NAND device driver, as opposed to the earlier self-contained MTD device drivers. This should enable, among other things, proper JFFS2 operation on these devices. config MTD_NAND_DISKONCHIP_PROBE_ADVANCED bool "Advanced detection options for DiskOnChip" depends on MTD_NAND_DISKONCHIP help This option allows you to specify nonstandard address at which to probe for a DiskOnChip, or to change the detection options. You are unlikely to need any of this unless you are using LinuxBIOS. Say 'N'. config MTD_NAND_DISKONCHIP_PROBE_ADDRESS hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED depends on MTD_NAND_DISKONCHIP default "0" ---help--- By default, the probe for DiskOnChip devices will look for a DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. This option allows you to specify a single address at which to probe for the device, which is useful if you have other devices in that range which get upset when they are probed. (Note that on PowerPC, the normal probe will only check at 0xE4000000.) Normally, you should leave this set to zero, to allow the probe at the normal addresses. config MTD_NAND_DISKONCHIP_PROBE_HIGH bool "Probe high addresses" depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED help By default, the probe for DiskOnChip devices will look for a DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. This option changes to make it probe between 0xFFFC8000 and 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be useful to you. Say 'N'. config MTD_NAND_DISKONCHIP_BBTWRITE bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP" depends on MTD_NAND_DISKONCHIP help On DiskOnChip devices shipped with the INFTL filesystem (Millennium and 2000 TSOP/Alon), Linux reserves some space at the end of the device for the Bad Block Table (BBT). If you have existing INFTL data on your device (created by non-Linux tools such as M-Systems' DOS drivers), your data might overlap the area Linux wants to use for the BBT. If this is a concern for you, leave this option disabled and Linux will not write BBT data into this area. The downside of leaving this option disabled is that if bad blocks are detected by Linux, they will not be recorded in the BBT, which could cause future problems. Once you enable this option, new filesystems (INFTL or others, created in Linux or other operating systems) will not use the reserved area. The only reason not to enable this option is to prevent damage to preexisting filesystems. Even if you leave this disabled, you can enable BBT writes at module load time (assuming you build diskonchip as a module) with the module parameter "inftl_bbt_write=1". config MTD_NAND_DOCG4 tristate "Support for DiskOnChip G4" depends on HAS_IOMEM select BCH select BITREVERSE help Support for diskonchip G4 nand flash, found in various smartphones and PDAs, among them the Palm Treo680, HTC Prophet and Wizard, Toshiba Portege G900, Asus P526, and O2 XDA Zinc. With this driver you will be able to use UBI and create a ubifs on the device, so you may wish to consider enabling UBI and UBIFS as well. These devices ship with the Mys/Sandisk SAFTL formatting, for which there is currently no mtd parser, so you may want to use command line partitioning to segregate write-protected blocks. On the Treo680, the first five erase blocks (256KiB each) are write-protected, followed by the block containing the saftl partition table. This is probably typical. config MTD_NAND_SHARPSL tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)" depends on ARCH_PXA config MTD_NAND_CAFE tristate "NAND support for OLPC CAFÉ chip" depends on PCI select REED_SOLOMON select REED_SOLOMON_DEC16 help Use NAND flash attached to the CAFÉ chip designed for the OLPC laptop. config MTD_NAND_CS553X tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)" depends on X86_32 help The CS553x companion chips for the AMD Geode processor include NAND flash controllers with built-in hardware ECC capabilities; enabling this option will allow you to use these. The driver will check the MSRs to verify that the controller is enabled for NAND, and currently requires that the controller be in MMIO mode. If you say "m", the module will be called cs553x_nand. config MTD_NAND_ATMEL tristate "Support for NAND Flash / SmartMedia on AT91 and AVR32" depends on ARCH_AT91 || AVR32 help Enables support for NAND Flash / Smart Media Card interface on Atmel AT91 and AVR32 processors. config MTD_NAND_PXA3xx tristate "Support for NAND flash devices on PXA3xx" depends on PXA3xx || ARCH_MMP || PLAT_ORION help This enables the driver for the NAND flash device found on PXA3xx processors config MTD_NAND_SLC_LPC32XX tristate "NXP LPC32xx SLC Controller" depends on ARCH_LPC32XX help Enables support for NXP's LPC32XX SLC (i.e. for Single Level Cell chips) NAND controller. This is the default for the PHYTEC 3250 reference board which contains a NAND256R3A2CZA6 chip. Please check the actual NAND chip connected and its support by the SLC NAND controller. config MTD_NAND_MLC_LPC32XX tristate "NXP LPC32xx MLC Controller" depends on ARCH_LPC32XX help Uses the LPC32XX MLC (i.e. for Multi Level Cell chips) NAND controller. This is the default for the WORK92105 controller board. Please check the actual NAND chip connected and its support by the MLC NAND controller. config MTD_NAND_CM_X270 tristate "Support for NAND Flash on CM-X270 modules" depends on MACH_ARMCORE config MTD_NAND_PASEMI tristate "NAND support for PA Semi PWRficient" depends on PPC_PASEMI help Enables support for NAND Flash interface on PA Semi PWRficient based boards config MTD_NAND_TMIO tristate "NAND Flash device on Toshiba Mobile IO Controller" depends on MFD_TMIO help Support for NAND flash connected to a Toshiba Mobile IO Controller in some PDAs, including the Sharp SL6000x. config MTD_NAND_NANDSIM tristate "Support for NAND Flash Simulator" help The simulator may simulate various NAND flash chips for the MTD nand layer. config MTD_NAND_GPMI_NAND tristate "GPMI NAND Flash Controller driver" depends on MTD_NAND && MXS_DMA help Enables NAND Flash support for IMX23, IMX28 or IMX6. The GPMI controller is very powerful, with the help of BCH module, it can do the hardware ECC. The GPMI supports several NAND flashs at the same time. The GPMI may conflicts with other block, such as SD card. So pay attention to it when you enable the GPMI. config MTD_NAND_BCM47XXNFLASH tristate "Support for NAND flash on BCM4706 BCMA bus" depends on BCMA_NFLASH help BCMA bus can have various flash memories attached, they are registered by bcma as platform devices. This enables driver for NAND flash memories. For now only BCM4706 is supported. config MTD_NAND_PLATFORM tristate "Support for generic platform NAND driver" depends on HAS_IOMEM help This implements a generic NAND driver for on-SOC platform devices. You will need to provide platform-specific functions via platform_data. config MTD_NAND_ORION tristate "NAND Flash support for Marvell Orion SoC" depends on PLAT_ORION help This enables the NAND flash controller on Orion machines. No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. config MTD_NAND_FSL_ELBC tristate "NAND support for Freescale eLBC controllers" depends on PPC_OF select FSL_LBC help Various Freescale chips, including the 8313, include a NAND Flash Controller Module with built-in hardware ECC capabilities. Enabling this option will enable you to use this to control external NAND devices. config MTD_NAND_FSL_IFC tristate "NAND support for Freescale IFC controller" depends on MTD_NAND && FSL_SOC select FSL_IFC help Various Freescale chips e.g P1010, include a NAND Flash machine with built-in hardware ECC capabilities. Enabling this option will enable you to use this to control external NAND devices. config MTD_NAND_FSL_UPM tristate "Support for NAND on Freescale UPM" depends on PPC_83xx || PPC_85xx select FSL_LBC help Enables support for NAND Flash chips wired onto Freescale PowerPC processor localbus with User-Programmable Machine support. config MTD_NAND_MPC5121_NFC tristate "MPC5121 built-in NAND Flash Controller support" depends on PPC_MPC512x help This enables the driver for the NAND flash controller on the MPC5121 SoC. config MTD_NAND_MXC tristate "MXC NAND support" depends on ARCH_MXC help This enables the driver for the NAND flash controller on the MXC processors. config MTD_NAND_SH_FLCTL tristate "Support for NAND on Renesas SuperH FLCTL" depends on SUPERH || ARCH_SHMOBILE help Several Renesas SuperH CPU has FLCTL. This option enables support for NAND Flash using FLCTL. config MTD_NAND_DAVINCI tristate "Support NAND on DaVinci SoC" depends on ARCH_DAVINCI help Enable the driver for NAND flash chips on Texas Instruments DaVinci processors. config MTD_NAND_TXX9NDFMC tristate "NAND Flash support for TXx9 SoC" depends on SOC_TX4938 || SOC_TX4939 help This enables the NAND flash controller on the TXx9 SoCs. config MTD_NAND_SOCRATES tristate "Support for NAND on Socrates board" depends on SOCRATES help Enables support for NAND Flash chips wired onto Socrates board. config MTD_NAND_NUC900 tristate "Support for NAND on Nuvoton NUC9xx/w90p910 evaluation boards." depends on ARCH_W90X900 help This enables the driver for the NAND Flash on evaluation board based on w90p910 / NUC9xx. config MTD_NAND_JZ4740 tristate "Support for JZ4740 SoC NAND controller" depends on MACH_JZ4740 help Enables support for NAND Flash on JZ4740 SoC based boards. config MTD_NAND_FSMC tristate "Support for NAND on ST Micros FSMC" depends on PLAT_SPEAR || ARCH_NOMADIK || ARCH_U8500 || MACH_U300 help Enables support for NAND Flash chips on the ST Microelectronics Flexible Static Memory Controller (FSMC) config MTD_NAND_XWAY tristate "Support for NAND on Lantiq XWAY SoC" depends on LANTIQ && SOC_TYPE_XWAY select MTD_NAND_PLATFORM help Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached to the External Bus Unit (EBU). endif # MTD_NAND menuconfig MTD_ONENAND tristate "OneNAND Device Support" depends on MTD depends on HAS_IOMEM help This enables support for accessing all type of OneNAND flash devices. For further information see if MTD_ONENAND config MTD_ONENAND_VERIFY_WRITE bool "Verify OneNAND page writes" help This adds an extra check when data is written to the flash. The OneNAND flash device internally checks only bits transitioning from 1 to 0. There is a rare possibility that even though the device thinks the write was successful, a bit could have been flipped accidentally due to device wear or something else. config MTD_ONENAND_GENERIC tristate "OneNAND Flash device via platform device driver" help Support for OneNAND flash via platform device driver. config MTD_ONENAND_OMAP2 tristate "OneNAND on OMAP2/OMAP3 support" depends on ARCH_OMAP2 || ARCH_OMAP3 help Support for a OneNAND flash device connected to an OMAP2/OMAP3 CPU via the GPMC memory controller. config MTD_ONENAND_SAMSUNG tristate "OneNAND on Samsung SOC controller support" depends on ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4 help Support for a OneNAND flash device connected to an Samsung SOC. S3C64XX/S5PC100 use command mapping method. S5PC110/S5PC210 use generic OneNAND method. config MTD_ONENAND_OTP bool "OneNAND OTP Support" help One Block of the NAND Flash Array memory is reserved as a One-Time Programmable Block memory area. Also, 1st Block of NAND Flash Array can be used as OTP. The OTP block can be read, programmed and locked using the same operations as any other NAND Flash Array memory block. OTP block cannot be erased. OTP block is fully-guaranteed to be a valid block. config MTD_ONENAND_2X_PROGRAM bool "OneNAND 2X program support" help The 2X Program is an extension of Program Operation. Since the device is equipped with two DataRAMs, and two-plane NAND Flash memory array, these two component enables simultaneous program of 4KiB. Plane1 has only even blocks such as block0, block2, block4 while Plane2 has only odd blocks such as block1, block3, block5. So MTD regards it as 4KiB page size and 256KiB block size Now the following chips support it. (KFXXX16Q2M) Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, Mux: KFM2G16Q2M, KFN4G16Q2M, And more recent chips endif # MTD_ONENAND menuconfig MTD_UBI tristate "Enable UBI - Unsorted block images" select CRC32 help UBI is a software layer above MTD layer which admits of LVM-like logical volumes on top of MTD devices, hides some complexities of flash chips like wear and bad blocks and provides some other useful capabilities. Please, consult the MTD web site for more details (www.linux-mtd.infradead.org). if MTD_UBI config MTD_UBI_WL_THRESHOLD int "UBI wear-leveling threshold" default 4096 range 2 65536 help This parameter defines the maximum difference between the highest erase counter value and the lowest erase counter value of eraseblocks of UBI devices. When this threshold is exceeded, UBI starts performing wear leveling by means of moving data from eraseblock with low erase counter to eraseblocks with high erase counter. The default value should be OK for SLC NAND flashes, NOR flashes and other flashes which have eraseblock life-cycle 100000 or more. However, in case of MLC NAND flashes which typically have eraseblock life-cycle less than 10000, the threshold should be lessened (e.g., to 128 or 256, although it does not have to be power of 2). config MTD_UBI_BEB_LIMIT int "Maximum expected bad eraseblock count per 1024 eraseblocks" default 20 range 0 768 help This option specifies the maximum bad physical eraseblocks UBI expects on the MTD device (per 1024 eraseblocks). If the underlying flash does not admit of bad eraseblocks (e.g. NOR flash), this value is ignored. NAND datasheets often specify the minimum and maximum NVM (Number of Valid Blocks) for the flashes' endurance lifetime. The maximum expected bad eraseblocks per 1024 eraseblocks then can be calculated as "1024 * (1 - MinNVB / MaxNVB)", which gives 20 for most NANDs (MaxNVB is basically the total count of eraseblocks on the chip). To put it differently, if this value is 20, UBI will try to reserve about 1.9% of physical eraseblocks for bad blocks handling. And that will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD partition UBI attaches. This means that if you have, say, a NAND flash chip admits maximum 40 bad eraseblocks, and it is split on two MTD partitions of the same size, UBI will reserve 40 eraseblocks when attaching a partition. This option can be overridden by the "mtd=" UBI module parameter or by the "attach" ioctl. Leave the default value if unsure. config MTD_UBI_FASTMAP bool "UBI Fastmap (Experimental feature)" default n help Important: this feature is experimental so far and the on-flash format for fastmap may change in the next kernel versions Fastmap is a mechanism which allows attaching an UBI device in nearly constant time. Instead of scanning the whole MTD device it only has to locate a checkpoint (called fastmap) on the device. The on-flash fastmap contains all information needed to attach the device. Using fastmap makes only sense on large devices where attaching by scanning takes long. UBI will not automatically install a fastmap on old images, but you can set the UBI module parameter fm_autoconvert to 1 if you want so. Please note that fastmap-enabled images are still usable with UBI implementations without fastmap support. On typical flash devices the whole fastmap fits into one PEB. UBI will reserve PEBs to hold two fastmaps. If in doubt, say "N". config MTD_UBI_GLUEBI tristate "MTD devices emulation driver (gluebi)" help This option enables gluebi - an additional driver which emulates MTD devices on top of UBI volumes: for each UBI volumes an MTD device is created, and all I/O to this MTD device is redirected to the UBI volume. This is handy to make MTD-oriented software (like JFFS2) work on top of UBI. Do not enable this unless you use legacy software. endif # MTD_UBI # # Network device configuration # menuconfig NETDEVICES default y if UML depends on NET bool "Network device support" ---help--- You can say N here if you don't intend to connect your Linux box to any other computer at all. You'll have to say Y if your computer contains a network card that you want to use under Linux. If you are going to run SLIP or PPP over telephone line or null modem cable you need say Y here. Connecting two machines with parallel ports using PLIP needs this, as well as AX.25/KISS for sending Internet traffic over amateur radio links. See also "The Linux Network Administrator's Guide" by Olaf Kirch and Terry Dawson. Available at . If unsure, say Y. # All the following symbols are dependent on NETDEVICES - do not repeat # that for each of the symbols. if NETDEVICES config MII tristate config NET_CORE default y bool "Network core driver support" ---help--- You can say N here if you do not intend to use any of the networking core drivers (i.e. VLAN, bridging, bonding, etc.) if NET_CORE config BONDING tristate "Bonding driver support" depends on INET depends on IPV6 || IPV6=n ---help--- Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet Channels together. This is called 'Etherchannel' by Cisco, 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. The driver supports multiple bonding modes to allow for both high performance and high availability operation. Refer to for more information. To compile this driver as a module, choose M here: the module will be called bonding. config DUMMY tristate "Dummy net driver support" ---help--- This is essentially a bit-bucket device (i.e. traffic you send to this device is consigned into oblivion) with a configurable IP address. It is most commonly used in order to make your currently inactive SLIP address seem like a real address for local programs. If you use SLIP or PPP, you might want to say Y here. Since this thing often comes in handy, the default is Y. It won't enlarge your kernel either. What a deal. Read about it in the Network Administrator's Guide, available from . To compile this driver as a module, choose M here: the module will be called dummy. config EQUALIZER tristate "EQL (serial line load balancing) support" ---help--- If you have two serial connections to some other computer (this usually requires two modems and two telephone lines) and you use SLIP (the protocol for sending Internet traffic over telephone lines) or PPP (a better SLIP) on them, you can make them behave like one double speed connection using this driver. Naturally, this has to be supported at the other end as well, either with a similar EQL Linux driver or with a Livingston Portmaster 2e. Say Y if you want this and read . You may also want to read section 6.2 of the NET-3-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. config NET_FC bool "Fibre Channel driver support" depends on SCSI && PCI help Fibre Channel is a high speed serial protocol mainly used to connect large storage devices to the computer; it is compatible with and intended to replace SCSI. If you intend to use Fibre Channel, you need to have a Fibre channel adaptor card in your computer; say Y here and to the driver for your adaptor below. You also should have said Y to "SCSI support" and "SCSI generic support". config IFB tristate "Intermediate Functional Block support" depends on NET_CLS_ACT ---help--- This is an intermediate driver that allows sharing of resources. To compile this driver as a module, choose M here: the module will be called ifb. If you want to use more than one ifb device at a time, you need to compile this driver as a module. Instead of 'ifb', the devices will then be called 'ifb0', 'ifb1' etc. Look at the iproute2 documentation directory for usage etc source "drivers/net/team/Kconfig" config MACVLAN tristate "MAC-VLAN support" ---help--- This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface. Macvlan devices can be added using the "ip" command from the iproute2 package starting with the iproute2-2.6.23 release: "ip link add link [ address MAC ] [ NAME ] type macvlan" To compile this driver as a module, choose M here: the module will be called macvlan. config MACVTAP tristate "MAC-VLAN based tap driver" depends on MACVLAN help This adds a specialized tap character device driver that is based on the MAC-VLAN network interface, called macvtap. A macvtap device can be added in the same way as a macvlan device, using 'type macvlan', and then be accessed through the tap user space interface. To compile this driver as a module, choose M here: the module will be called macvtap. config VXLAN tristate "Virtual eXtensible Local Area Network (VXLAN)" depends on INET select NET_IP_TUNNEL ---help--- This allows one to create vxlan virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. VXLAN is often used to tunnel virtual network infrastructure in virtualized environments. For more information see: http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 To compile this driver as a module, choose M here: the module will be called vxlan. config NETCONSOLE tristate "Network console logging support" ---help--- If you want to log kernel messages over the network, enable this. See for details. config NETCONSOLE_DYNAMIC bool "Dynamic reconfiguration of logging targets" depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ !(NETCONSOLE=y && CONFIGFS_FS=m) help This option enables the ability to dynamically reconfigure target parameters (interface, IP addresses, port numbers, MAC addresses) at runtime through a userspace interface exported using configfs. See for details. config NETPOLL def_bool NETCONSOLE config NETPOLL_TRAP bool "Netpoll traffic trapping" default n depends on NETPOLL config NET_POLL_CONTROLLER def_bool NETPOLL config NTB_NETDEV tristate "Virtual Ethernet over NTB" depends on NTB config RIONET tristate "RapidIO Ethernet over messaging driver support" depends on RAPIDIO config RIONET_TX_SIZE int "Number of outbound queue entries" depends on RIONET default "128" config RIONET_RX_SIZE int "Number of inbound queue entries" depends on RIONET default "128" config TUN tristate "Universal TUN/TAP device driver support" select CRC32 ---help--- TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program. When a program opens /dev/net/tun, driver creates and registers corresponding net device tunX or tapX. After a program closed above devices, driver will automatically delete tunXX or tapXX device and all routes corresponding to it. Please read for more information. To compile this driver as a module, choose M here: the module will be called tun. If you don't know what to use this for, you don't need it. config VETH tristate "Virtual ethernet pair device" ---help--- This device is a local ethernet tunnel. Devices are created in pairs. When one end receives the packet it appears on its pair and vice versa. config VIRTIO_NET tristate "Virtio network driver" depends on VIRTIO ---help--- This is the virtual network driver for virtio. It can be used with lguest or QEMU based VMMs (like KVM or Xen). Say Y or M. config NLMON tristate "Virtual netlink monitoring device" ---help--- This option enables a monitoring net device for netlink skbs. The purpose of this is to analyze netlink messages with packet sockets. Thus applications like tcpdump will be able to see local netlink messages if they tap into the netlink device, record pcaps for further diagnostics, etc. This is mostly intended for developers or support to debug netlink issues. If unsure, say N. endif # NET_CORE config SUNGEM_PHY tristate source "drivers/net/arcnet/Kconfig" source "drivers/atm/Kconfig" source "drivers/net/caif/Kconfig" source "drivers/net/dsa/Kconfig" source "drivers/net/ethernet/Kconfig" source "drivers/net/fddi/Kconfig" source "drivers/net/hippi/Kconfig" config NET_SB1000 tristate "General Instruments Surfboard 1000" depends on PNP ---help--- This is a driver for the General Instrument (also known as NextLevel) SURFboard 1000 internal cable modem. This is an ISA card which is used by a number of cable TV companies to provide cable modem access. It's a one-way downstream-only cable modem, meaning that your upstream net link is provided by your regular phone modem. At present this driver only compiles as a module, so say M here if you have this card. The module will be called sb1000. Then read for information on how to use this module, as it needs special ppp scripts for establishing a connection. Further documentation and the necessary scripts can be found at: If you don't have this card, of course say N. source "drivers/net/phy/Kconfig" source "drivers/net/plip/Kconfig" source "drivers/net/ppp/Kconfig" source "drivers/net/slip/Kconfig" source "drivers/s390/net/Kconfig" source "drivers/net/usb/Kconfig" source "drivers/net/wireless/Kconfig" source "drivers/net/wimax/Kconfig" source "drivers/net/wan/Kconfig" source "drivers/net/ieee802154/Kconfig" config XEN_NETDEV_FRONTEND tristate "Xen network device frontend driver" depends on XEN select XEN_XENBUS_FRONTEND default y help This driver provides support for Xen paravirtual network devices exported by a Xen network driver domain (often domain 0). The corresponding Linux backend driver is enabled by the CONFIG_XEN_NETDEV_BACKEND option. If you are compiling a kernel for use as Xen guest, you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netfront. config XEN_NETDEV_BACKEND tristate "Xen backend network device" depends on XEN_BACKEND help This driver allows the kernel to act as a Xen network driver domain which exports paravirtual network devices to other Xen domains. These devices can be accessed by any operating system that implements a compatible front end. The corresponding Linux frontend driver is enabled by the CONFIG_XEN_NETDEV_FRONTEND configuration option. The backend driver presents a standard network device endpoint for each paravirtual network device to the driver domain network stack. These can then be bridged or routed etc in order to provide full network connectivity. If you are compiling a kernel to run in a Xen network driver domain (often this is domain 0) you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netback. config VMXNET3 tristate "VMware VMXNET3 ethernet driver" depends on PCI && INET help This driver supports VMware's vmxnet3 virtual ethernet NIC. To compile this driver as a module, choose M here: the module will be called vmxnet3. source "drivers/net/hyperv/Kconfig" endif # NETDEVICES # # Appletalk driver configuration # config ATALK tristate "Appletalk protocol support" select LLC ---help--- AppleTalk is the protocol that Apple computers can use to communicate on a network. If your Linux box is connected to such a network and you wish to connect to it, say Y. You will need to use the netatalk package so that your Linux box can act as a print and file server for Macs as well as access AppleTalk printers. Check out on the WWW for details. EtherTalk is the name used for AppleTalk over Ethernet and the cheaper and slower LocalTalk is AppleTalk over a proprietary Apple network using serial links. EtherTalk and LocalTalk are fully supported by Linux. General information about how to connect Linux, Windows machines and Macs is on the WWW at . The NET3-4-HOWTO, available from , contains valuable information as well. To compile this driver as a module, choose M here: the module will be called appletalk. You almost certainly want to compile it as a module so you can restart your AppleTalk stack without rebooting your machine. I hear that the GNU boycott of Apple is over, so even politically correct people are allowed to say Y here. config DEV_APPLETALK tristate "Appletalk interfaces support" depends on ATALK help AppleTalk is the protocol that Apple computers can use to communicate on a network. If your Linux box is connected to such a network, and wish to do IP over it, or you have a LocalTalk card and wish to use it to connect to the AppleTalk network, say Y. config LTPC tristate "Apple/Farallon LocalTalk PC support" depends on DEV_APPLETALK && (ISA || EISA) && ISA_DMA_API help This allows you to use the AppleTalk PC card to connect to LocalTalk networks. The card is also known as the Farallon PhoneNet PC card. If you are in doubt, this card is the one with the 65C02 chip on it. You also need version 1.3.3 or later of the netatalk package. This driver is experimental, which means that it may not work. See the file . config COPS tristate "COPS LocalTalk PC support" depends on DEV_APPLETALK && (ISA || EISA) help This allows you to use COPS AppleTalk cards to connect to LocalTalk networks. You also need version 1.3.3 or later of the netatalk package. This driver is experimental, which means that it may not work. This driver will only work if you choose "AppleTalk DDP" networking support, above. Please read the file . config COPS_DAYNA bool "Dayna firmware support" depends on COPS help Support COPS compatible cards with Dayna style firmware (Dayna DL2000/ Daynatalk/PC (half length), COPS LT-95, Farallon PhoneNET PC III, Farallon PhoneNET PC II). config COPS_TANGENT bool "Tangent firmware support" depends on COPS help Support COPS compatible cards with Tangent style firmware (Tangent ATB_II, Novell NL-1000, Daystar Digital LT-200. config IPDDP tristate "Appletalk-IP driver support" depends on DEV_APPLETALK && ATALK ---help--- This allows IP networking for users who only have AppleTalk networking available. This feature is experimental. With this driver, you can encapsulate IP inside AppleTalk (e.g. if your Linux box is stuck on an AppleTalk only network) or decapsulate (e.g. if you want your Linux box to act as an Internet gateway for a zoo of AppleTalk connected Macs). Please see the file for more information. If you say Y here, the AppleTalk-IP support will be compiled into the kernel. In this case, you can either use encapsulation or decapsulation, but not both. With the following two questions, you decide which one you want. To compile the AppleTalk-IP support as a module, choose M here: the module will be called ipddp. In this case, you will be able to use both encapsulation and decapsulation simultaneously, by loading two copies of the module and specifying different values for the module option ipddp_mode. config IPDDP_ENCAP bool "IP to Appletalk-IP Encapsulation support" depends on IPDDP help If you say Y here, the AppleTalk-IP code will be able to encapsulate IP packets inside AppleTalk frames; this is useful if your Linux box is stuck on an AppleTalk network (which hopefully contains a decapsulator somewhere). Please see for more information. # # Arcnet configuration # menuconfig ARCNET depends on NETDEVICES && (ISA || PCI || PCMCIA) tristate "ARCnet support" ---help--- If you have a network card of this type, say Y and check out the (arguably) beautiful poetry in . You need both this driver, and the driver for the particular ARCnet chipset of your card. If you don't know, then it's probably a COM90xx type card, so say Y (or M) to "ARCnet COM90xx chipset support" below. You might also want to have a look at the Ethernet-HOWTO, available from (even though ARCnet is not really Ethernet). To compile this driver as a module, choose M here. The module will be called arcnet. if ARCNET config ARCNET_1201 tristate "Enable standard ARCNet packet format (RFC 1201)" help This allows you to use RFC1201 with your ARCnet card via the virtual arc0 device. You need to say Y here to communicate with industry-standard RFC1201 implementations, like the arcether.com packet driver or most DOS/Windows ODI drivers. Please read the ARCnet documentation in for more information about using arc0. config ARCNET_1051 tristate "Enable old ARCNet packet format (RFC 1051)" ---help--- This allows you to use RFC1051 with your ARCnet card via the virtual arc0s device. You only need arc0s if you want to talk to ARCnet software complying with the "old" standard, specifically, the DOS arcnet.com packet driver, Amigas running AmiTCP, and some variants of NetBSD. You do not need to say Y here to communicate with industry-standard RFC1201 implementations, like the arcether.com packet driver or most DOS/Windows ODI drivers. RFC1201 is included automatically as the arc0 device. Please read the ARCnet documentation in for more information about using arc0e and arc0s. config ARCNET_RAW tristate "Enable raw mode packet interface" help ARCnet "raw mode" packet encapsulation, no soft headers. Unlikely to work unless talking to a copy of the same Linux arcnet driver, but perhaps marginally faster in that case. config ARCNET_CAP tristate "Enable CAP mode packet interface" help ARCnet "cap mode" packet encapsulation. Used to get the hardware acknowledge back to userspace. After the initial protocol byte every packet is stuffed with an extra 4 byte "cookie" which doesn't actually appear on the network. After transmit the driver will send back a packet with protocol byte 0 containing the status of the transmission: 0=no hardware acknowledge 1=excessive nak 2=transmission accepted by the receiver hardware Received packets are also stuffed with the extra 4 bytes but it will be random data. Cap only listens to protocol 1-8. config ARCNET_COM90xx tristate "ARCnet COM90xx (normal) chipset driver" help This is the chipset driver for the standard COM90xx cards. If you have always used the old ARCnet driver without knowing what type of card you had, this is probably the one for you. To compile this driver as a module, choose M here. The module will be called com90xx. config ARCNET_COM90xxIO tristate "ARCnet COM90xx (IO mapped) chipset driver" ---help--- This is the chipset driver for the COM90xx cards, using them in IO-mapped mode instead of memory-mapped mode. This is slower than the normal driver. Only use it if your card doesn't support shared memory. To compile this driver as a module, choose M here. The module will be called com90io. config ARCNET_RIM_I tristate "ARCnet COM90xx (RIM I) chipset driver" ---help--- This is yet another chipset driver for the COM90xx cards, but this time only using memory-mapped mode, and no IO ports at all. This driver is completely untested, so if you have one of these cards, please mail , especially if it works! To compile this driver as a module, choose M here. The module will be called arc-rimi. config ARCNET_COM20020 tristate "ARCnet COM20020 chipset driver" help This is the driver for the new COM20020 chipset. It supports such things as promiscuous mode, so packet sniffing is possible, and extra diagnostic information. To compile this driver as a module, choose M here. The module will be called com20020. config ARCNET_COM20020_ISA tristate "Support for COM20020 on ISA" depends on ARCNET_COM20020 && ISA config ARCNET_COM20020_PCI tristate "Support for COM20020 on PCI" depends on ARCNET_COM20020 && PCI config ARCNET_COM20020_CS tristate "COM20020 ARCnet PCMCIA support" depends on ARCNET_COM20020 && PCMCIA help Say Y here if you intend to attach this type of ARCnet PCMCIA card to your computer. To compile this driver as a module, choose M here: the module will be called com20020_cs. If unsure, say N. endif # ARCNET # # CAIF physical drivers # comment "CAIF transport drivers" config CAIF_TTY tristate "CAIF TTY transport driver" depends on CAIF && TTY default n ---help--- The CAIF TTY transport driver is a Line Discipline (ldisc) identified as N_CAIF. When this ldisc is opened from user space it will redirect the TTY's traffic into the CAIF stack. config CAIF_SPI_SLAVE tristate "CAIF SPI transport driver for slave interface" depends on CAIF && HAS_DMA default n ---help--- The CAIF Link layer SPI Protocol driver for Slave SPI interface. This driver implements a platform driver to accommodate for a platform specific SPI device. A sample CAIF SPI Platform device is provided in Documentation/networking/caif/spi_porting.txt config CAIF_SPI_SYNC bool "Next command and length in start of frame" depends on CAIF_SPI_SLAVE default n ---help--- Putting the next command and length in the start of the frame can help to synchronize to the next transfer in case of over or under-runs. This option also needs to be enabled on the modem. config CAIF_HSI tristate "CAIF HSI transport driver" depends on CAIF default n ---help--- The caif low level driver for CAIF over HSI. Be aware that if you enable this then you also need to enable a low-level HSI driver. config CAIF_VIRTIO tristate "CAIF virtio transport driver" depends on CAIF && HAS_DMA select VHOST_RING select VIRTIO select GENERIC_ALLOCATOR default n ---help--- The caif driver for CAIF over Virtio. if CAIF_VIRTIO source "drivers/vhost/Kconfig" endif menu "CAN Device Drivers" config CAN_VCAN tristate "Virtual Local CAN Interface (vcan)" ---help--- Similar to the network loopback devices, vcan offers a virtual local CAN interface. This driver can also be built as a module. If so, the module will be called vcan. config CAN_SLCAN tristate "Serial / USB serial CAN Adaptors (slcan)" depends on TTY ---help--- CAN driver for several 'low cost' CAN interfaces that are attached via serial lines or via USB-to-serial adapters using the LAWICEL ASCII protocol. The driver implements the tty linediscipline N_SLCAN. As only the sending and receiving of CAN frames is implemented, this driver should work with the (serial/USB) CAN hardware from: www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de Userspace tools to attach the SLCAN line discipline (slcan_attach, slcand) can be found in the can-utils at the SocketCAN SVN, see http://developer.berlios.de/projects/socketcan for details. The slcan driver supports up to 10 CAN netdevices by default which can be changed by the 'maxdev=xx' module option. This driver can also be built as a module. If so, the module will be called slcan. config CAN_DEV tristate "Platform CAN drivers with Netlink support" default y ---help--- Enables the common framework for platform CAN drivers with Netlink support. This is the standard library for CAN drivers. If unsure, say Y. if CAN_DEV config CAN_CALC_BITTIMING bool "CAN bit-timing calculation" default y ---help--- If enabled, CAN bit-timing parameters will be calculated for the bit-rate specified via Netlink argument "bitrate" when the device get started. This works fine for the most common CAN controllers with standard bit-rates but may fail for exotic bit-rates or CAN source clock frequencies. Disabling saves some space, but then the bit-timing parameters must be specified directly using the Netlink arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw". If unsure, say Y. config CAN_LEDS bool "Enable LED triggers for Netlink based drivers" depends on LEDS_CLASS select LEDS_TRIGGERS ---help--- This option adds two LED triggers for packet receive and transmit events on each supported CAN device. Say Y here if you are working on a system with led-class supported LEDs and you want to use them as canbus activity indicators. config CAN_AT91 tristate "Atmel AT91 onchip CAN controller" depends on ARM ---help--- This is a driver for the SoC CAN controller in Atmel's AT91SAM9263 and AT91SAM9X5 processors. config CAN_TI_HECC depends on ARCH_OMAP3 tristate "TI High End CAN Controller" ---help--- Driver for TI HECC (High End CAN Controller) module found on many TI devices. The device specifications are available from www.ti.com config CAN_MCP251X tristate "Microchip MCP251x SPI CAN controllers" depends on SPI && HAS_DMA ---help--- Driver for the Microchip MCP251x SPI CAN controllers. config CAN_BFIN depends on BF534 || BF536 || BF537 || BF538 || BF539 || BF54x tristate "Analog Devices Blackfin on-chip CAN" ---help--- Driver for the Analog Devices Blackfin on-chip CAN controllers To compile this driver as a module, choose M here: the module will be called bfin_can. config CAN_JANZ_ICAN3 tristate "Janz VMOD-ICAN3 Intelligent CAN controller" depends on MFD_JANZ_CMODIO ---help--- Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which connects to a MODULbus carrier board. This driver can also be built as a module. If so, the module will be called janz-ican3.ko. config CAN_FLEXCAN tristate "Support for Freescale FLEXCAN based chips" depends on ARM || PPC ---help--- Say Y here if you want to support for Freescale FlexCAN. config PCH_CAN tristate "Intel EG20T PCH CAN controller" depends on PCI ---help--- This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which is an IOH for x86 embedded processor (Intel Atom E6xx series). This driver can access CAN bus. config CAN_GRCAN tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices" depends on OF ---help--- Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN. Note that the driver supports little endian, even though little endian syntheses of the cores would need some modifications on the hardware level to work. source "drivers/net/can/mscan/Kconfig" source "drivers/net/can/sja1000/Kconfig" source "drivers/net/can/c_can/Kconfig" source "drivers/net/can/cc770/Kconfig" source "drivers/net/can/usb/Kconfig" source "drivers/net/can/softing/Kconfig" endif config CAN_DEBUG_DEVICES bool "CAN devices debugging messages" ---help--- Say Y here if you want the CAN device drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with CAN support and want to see more of what is going on. endmenu menuconfig CAN_C_CAN tristate "Bosch C_CAN/D_CAN devices" depends on HAS_IOMEM if CAN_C_CAN config CAN_C_CAN_PLATFORM tristate "Generic Platform Bus based C_CAN/D_CAN driver" ---help--- This driver adds support for the C_CAN/D_CAN chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices) which can be found on various boards from ST Microelectronics (http://www.st.com) like the SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com) boards like am335x, dm814x, dm813x and dm811x. config CAN_C_CAN_PCI tristate "Generic PCI Bus based C_CAN/D_CAN driver" depends on PCI ---help--- This driver adds support for the C_CAN/D_CAN chips connected to the PCI bus. endif menuconfig CAN_CC770 tristate "Bosch CC770 and Intel AN82527 devices" depends on HAS_IOMEM if CAN_CC770 config CAN_CC770_ISA tristate "ISA Bus based legacy CC770 driver" ---help--- This driver adds legacy support for CC770 and AN82527 chips connected to the ISA bus using I/O port, memory mapped or indirect access. config CAN_CC770_PLATFORM tristate "Generic Platform Bus based CC770 driver" ---help--- This driver adds support for the CC770 and AN82527 chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices). endif config CAN_MSCAN depends on PPC || M68K tristate "Support for Freescale MSCAN based chips" ---help--- The Motorola Scalable Controller Area Network (MSCAN) definition is based on the MSCAN12 definition which is the specific implementation of the Motorola Scalable CAN concept targeted for the Motorola MC68HC12 Microcontroller Family. if CAN_MSCAN config CAN_MPC5XXX tristate "Freescale MPC5xxx onboard CAN controller" depends on (PPC_MPC52xx || PPC_MPC512x) ---help--- If you say yes here you get support for Freescale's MPC5xxx onboard CAN controller. Currently, the MPC5200, MPC5200B and MPC5121 (Rev. 2 and later) are supported. This driver can also be built as a module. If so, the module will be called mscan-mpc5xxx.ko. endif menuconfig CAN_SJA1000 tristate "Philips/NXP SJA1000 devices" depends on HAS_IOMEM if CAN_SJA1000 config CAN_SJA1000_ISA tristate "ISA Bus based legacy SJA1000 driver" ---help--- This driver adds legacy support for SJA1000 chips connected to the ISA bus using I/O port, memory mapped or indirect access. config CAN_SJA1000_PLATFORM tristate "Generic Platform Bus based SJA1000 driver" ---help--- This driver adds support for the SJA1000 chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices). Which can be found on various boards from Phytec (http://www.phytec.de) like the PCM027, PCM038. config CAN_SJA1000_OF_PLATFORM tristate "Generic OF Platform Bus based SJA1000 driver" depends on OF ---help--- This driver adds support for the SJA1000 chips connected to the OpenFirmware "platform bus" found on embedded systems with OpenFirmware bindings, e.g. if you have a PowerPC based system you may want to enable this option. config CAN_EMS_PCMCIA tristate "EMS CPC-CARD Card" depends on PCMCIA ---help--- This driver is for the one or two channel CPC-CARD cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_EMS_PCI tristate "EMS CPC-PCI, CPC-PCIe and CPC-104P Card" depends on PCI ---help--- This driver is for the one, two or four channel CPC-PCI, CPC-PCIe and CPC-104P cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_PEAK_PCMCIA tristate "PEAK PCAN-PC Card" depends on PCMCIA depends on HAS_IOPORT ---help--- This driver is for the PCAN-PC Card PCMCIA adapter (1 or 2 channels) from PEAK-System (http://www.peak-system.com). To compile this driver as a module, choose M here: the module will be called peak_pcmcia. config CAN_PEAK_PCI tristate "PEAK PCAN-PCI/PCIe/miniPCI Cards" depends on PCI ---help--- This driver is for the PCAN-PCI/PCIe/miniPCI cards (1, 2, 3 or 4 channels) from PEAK-System Technik (http://www.peak-system.com). config CAN_PEAK_PCIEC bool "PEAK PCAN-ExpressCard Cards" depends on CAN_PEAK_PCI select I2C select I2C_ALGOBIT default y ---help--- Say Y here if you want to use a PCAN-ExpressCard from PEAK-System Technik. This will also automatically select I2C and I2C_ALGO configuration options. config CAN_KVASER_PCI tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards" depends on PCI ---help--- This driver is for the PCIcanx and PCIcan cards (1, 2 or 4 channel) from Kvaser (http://www.kvaser.com). config CAN_PLX_PCI tristate "PLX90xx PCI-bridge based Cards" depends on PCI ---help--- This driver is for CAN interface cards based on the PLX90xx PCI bridge. Driver supports now: - Adlink PCI-7841/cPCI-7841 card (http://www.adlinktech.com/) - Adlink PCI-7841/cPCI-7841 SE card - esd CAN-PCI/CPCI/PCI104/200 (http://www.esd.eu/) - esd CAN-PCI/PMC/266 - esd CAN-PCIe/2000 - Marathon CAN-bus-PCI card (http://www.marathon.ru/) - TEWS TECHNOLOGIES TPMC810 card (http://www.tews.com/) - IXXAT Automation PC-I 04/PCI card (http://www.ixxat.com/) - Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card (http://www.connecttech.com) config CAN_TSCAN1 tristate "TS-CAN1 PC104 boards" depends on ISA help This driver is for Technologic Systems' TSCAN-1 PC104 boards. http://www.embeddedarm.com/products/board-detail.php?product=TS-CAN1 The driver supports multiple boards and automatically configures them: PLD IO base addresses are read from jumpers JP1 and JP2, IRQ numbers are read from jumpers JP4 and JP5, SJA1000 IO base addresses are chosen heuristically (first that works). endif config CAN_SOFTING tristate "Softing Gmbh CAN generic support" depends on HAS_IOMEM ---help--- Support for CAN cards from Softing Gmbh & some cards from Vector Gmbh. Softing Gmbh CAN cards come with 1 or 2 physical busses. Those cards typically use Dual Port RAM to communicate with the host CPU. The interface is then identical for PCI and PCMCIA cards. This driver operates on a platform device, which has been created by softing_cs or softing_pci driver. Warning: The API of the card does not allow fine control per bus, but controls the 2 busses on the card together. As such, some actions (start/stop/busoff recovery) on 1 bus must bring down the other bus too temporarily. config CAN_SOFTING_CS tristate "Softing Gmbh CAN pcmcia cards" depends on PCMCIA depends on CAN_SOFTING ---help--- Support for PCMCIA cards from Softing Gmbh & some cards from Vector Gmbh. You need firmware for these, which you can get at http://developer.berlios.de/projects/socketcan/ This version of the driver is written against firmware version 4.6 (softing-fw-4.6-binaries.tar.gz) In order to use the card as CAN device, you need the Softing generic support too. menu "CAN USB interfaces" depends on USB config CAN_EMS_USB tristate "EMS CPC-USB/ARM7 CAN/USB interface" ---help--- This driver is for the one channel CPC-USB/ARM7 CAN/USB interface from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_ESD_USB2 tristate "ESD USB/2 CAN/USB interface" ---help--- This driver supports the CAN-USB/2 interface from esd electronic system design gmbh (http://www.esd.eu). config CAN_KVASER_USB tristate "Kvaser CAN/USB interface" ---help--- This driver adds support for Kvaser CAN/USB devices like Kvaser Leaf Light. The driver gives support for the following devices: - Kvaser Leaf Light - Kvaser Leaf Professional HS - Kvaser Leaf SemiPro HS - Kvaser Leaf Professional LS - Kvaser Leaf Professional SWC - Kvaser Leaf Professional LIN - Kvaser Leaf SemiPro LS - Kvaser Leaf SemiPro SWC - Kvaser Memorator II HS/HS - Kvaser USBcan Professional HS/HS - Kvaser Leaf Light GI - Kvaser Leaf Professional HS (OBD-II connector) - Kvaser Memorator Professional HS/LS - Kvaser Leaf Light "China" - Kvaser BlackBird SemiPro - Kvaser USBcan R If unsure, say N. To compile this driver as a module, choose M here: the module will be called kvaser_usb. config CAN_PEAK_USB tristate "PEAK PCAN-USB/USB Pro interfaces" ---help--- This driver supports the PCAN-USB and PCAN-USB Pro adapters from PEAK-System Technik (http://www.peak-system.com). config CAN_8DEV_USB tristate "8 devices USB2CAN interface" ---help--- This driver supports the USB2CAN interface from 8 devices (http://www.8devices.com). endmenu menu "Distributed Switch Architecture drivers" depends on HAVE_NET_DSA config NET_DSA_MV88E6XXX tristate default n config NET_DSA_MV88E6060 tristate "Marvell 88E6060 ethernet switch chip support" select NET_DSA select NET_DSA_TAG_TRAILER ---help--- This enables support for the Marvell 88E6060 ethernet switch chip. config NET_DSA_MV88E6XXX_NEED_PPU bool default n config NET_DSA_MV88E6131 tristate "Marvell 88E6085/6095/6095F/6131 ethernet switch chip support" select NET_DSA select NET_DSA_MV88E6XXX select NET_DSA_MV88E6XXX_NEED_PPU select NET_DSA_TAG_DSA ---help--- This enables support for the Marvell 88E6085/6095/6095F/6131 ethernet switch chips. config NET_DSA_MV88E6123_61_65 tristate "Marvell 88E6123/6161/6165 ethernet switch chip support" select NET_DSA select NET_DSA_MV88E6XXX select NET_DSA_TAG_EDSA ---help--- This enables support for the Marvell 88E6123/6161/6165 ethernet switch chips. endmenu # # 3Com Ethernet device configuration # config NET_VENDOR_3COM bool "3Com devices" default y depends on ISA || EISA || PCI || PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about 3Com cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_3COM config EL3 tristate "3c509/3c579 \"EtherLink III\" support" depends on (ISA || EISA) ---help--- If you have a network (Ethernet) card belonging to the 3Com EtherLinkIII series, say Y and read the Ethernet-HOWTO, available from . If your card is not working you may need to use the DOS setup disk to disable Plug & Play mode, and to select the default media type. To compile this driver as a module, choose M here. The module will be called 3c509. config 3C515 tristate "3c515 ISA \"Fast EtherLink\"" depends on ISA && ISA_DMA_API ---help--- If you have a 3Com ISA EtherLink XL "Corkscrew" 3c515 Fast Ethernet network card, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called 3c515. config PCMCIA_3C574 tristate "3Com 3c574 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA (PC-card) Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called 3c574_cs. If unsure, say N. config PCMCIA_3C589 tristate "3Com 3c589 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called 3c589_cs. If unsure, say N. config VORTEX tristate "3c590/3c900 series (592/595/597) \"Vortex/Boomerang\" support" depends on (PCI || EISA) && HAS_IOPORT select MII ---help--- This option enables driver support for a large number of 10Mbps and 10/100Mbps EISA, PCI and Cardbus 3Com network cards: "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI "Boomerang" (EtherLink XL 3c900 or 3c905) PCI "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus "Tornado" (3c905) PCI "Hurricane" (3c555/3cSOHO) PCI If you have such a card, say Y and read the Ethernet-HOWTO, available from . More specific information is in and in the comments at the beginning of . To compile this support as a module, choose M here. config TYPHOON tristate "3cr990 series \"Typhoon\" support" depends on PCI select CRC32 ---help--- This option enables driver support for the 3cr990 series of cards: 3C990-TX, 3CR990-TX-95, 3CR990-TX-97, 3CR990-FX-95, 3CR990-FX-97, 3CR990SVR, 3CR990SVR95, 3CR990SVR97, 3CR990-FX-95 Server, 3CR990-FX-97 Server, 3C990B-TX-M, 3C990BSVR If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called typhoon. endif # NET_VENDOR_3COM # # 8390 device configuration # config NET_VENDOR_8390 bool "National Semi-conductor 8390 devices" default y depends on NET_VENDOR_NATSEMI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Western Digital cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_8390 config PCMCIA_AXNET tristate "Asix AX88190 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach an Asix AX88190-based PCMCIA (PC-card) Fast Ethernet card to your computer. These cards are nearly NE2000 compatible but need a separate driver due to a few misfeatures. To compile this driver as a module, choose M here: the module will be called axnet_cs. If unsure, say N. config AX88796 tristate "ASIX AX88796 NE2000 clone support" depends on (ARM || MIPS || SUPERH) select CRC32 select PHYLIB select MDIO_BITBANG ---help--- AX88796 driver, using platform bus to provide chip detection and resources config AX88796_93CX6 bool "ASIX AX88796 external 93CX6 eeprom support" depends on AX88796 select EEPROM_93CX6 ---help--- Select this if your platform comes with an external 93CX6 eeprom. config HYDRA tristate "Hydra support" depends on ZORRO select CRC32 ---help--- If you have a Hydra Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called hydra. config ARM_ETHERH tristate "I-cubed EtherH/ANT EtherM support" depends on ARM && ARCH_ACORN select CRC32 ---help--- If you have an Acorn system with one of these network cards, you should say Y to this option if you wish to use it with Linux. config MAC8390 bool "Macintosh NS 8390 based ethernet cards" depends on MAC select CRC32 ---help--- If you want to include a driver to support Nubus or LC-PDS Ethernet cards using an NS8390 chipset or its equivalent, say Y and read the Ethernet-HOWTO, available from . config MCF8390 tristate "ColdFire NS8390 based Ethernet support" depends on COLDFIRE select CRC32 ---help--- This driver is for Ethernet devices using an NS8390-compatible chipset on many common ColdFire CPU based boards. Many of the older Freescale dev boards use this, and some other common boards like some SnapGear routers do as well. If you have one of these boards and want to use the network interface on them then choose Y. To compile this driver as a module, choose M here, the module will be called mcf8390. config NE2000 tristate "NE2000/NE1000 support" depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX) select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . Many Ethernet cards without a specific driver are compatible with NE2000. If you have a PCI NE2000 card however, say N here and Y to "PCI NE2000 and clone support" below. To compile this driver as a module, choose M here. The module will be called ne. config NE2K_PCI tristate "PCI NE2000 and clones support (see help)" depends on PCI select CRC32 ---help--- This driver is for NE2000 compatible PCI cards. It will not work with ISA NE2000 cards (they have their own driver, "NE2000/NE1000 support" below). If you have a PCI NE2000 network (Ethernet) card, say Y and read the Ethernet-HOWTO, available from . This driver also works for the following NE2000 clone cards: RealTek RTL-8029 Winbond 89C940 Compex RL2000 KTI ET32P2 NetVin NV5000SC Via 86C926 SureCom NE34 Winbond Holtek HT80232 Holtek HT80229 To compile this driver as a module, choose M here. The module will be called ne2k-pci. config APNE tristate "PCMCIA NE2000 support" depends on AMIGA_PCMCIA select CRC32 ---help--- If you have a PCMCIA NE2000 compatible adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called apne. config PCMCIA_PCNET tristate "NE2000 compatible PCMCIA support" depends on PCMCIA select CRC32 ---help--- Say Y here if you intend to attach an NE2000 compatible PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called pcnet_cs. If unsure, say N. config STNIC tristate "National DP83902AV support" depends on SUPERH select CRC32 ---help--- Support for cards based on the National Semiconductor DP83902AV ST-NIC Serial Network Interface Controller for Twisted Pair. This is a 10Mbit/sec Ethernet controller. Product overview and specs at . If unsure, say N. config ULTRA tristate "SMC Ultra support" depends on ISA select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . Important: There have been many reports that, with some motherboards mixing an SMC Ultra and an Adaptec AHA154x SCSI card (or compatible, such as some BusLogic models) causes corruption problems with many operating systems. The Linux smc-ultra driver has a work-around for this but keep it in mind if you have such a SCSI card and have problems. To compile this driver as a module, choose M here. The module will be called smc-ultra. config WD80x3 tristate "WD80*3 support" depends on ISA select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called wd. config ZORRO8390 tristate "Zorro NS8390-based Ethernet support" depends on ZORRO select CRC32 ---help--- This driver is for Zorro Ethernet cards using an NS8390-compatible chipset, like the Village Tronic Ariadne II and the Individual Computers X-Surf Ethernet cards. If you have such a card, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called zorro8390. endif # NET_VENDOR_8390 # # Ethernet LAN device configuration # menuconfig ETHERNET bool "Ethernet driver support" depends on NET default y ---help--- This section contains all the Ethernet device drivers. if ETHERNET config MDIO tristate config SUNGEM_PHY tristate source "drivers/net/ethernet/3com/Kconfig" source "drivers/net/ethernet/adaptec/Kconfig" source "drivers/net/ethernet/aeroflex/Kconfig" source "drivers/net/ethernet/allwinner/Kconfig" source "drivers/net/ethernet/alteon/Kconfig" source "drivers/net/ethernet/amd/Kconfig" source "drivers/net/ethernet/apple/Kconfig" source "drivers/net/ethernet/arc/Kconfig" source "drivers/net/ethernet/atheros/Kconfig" source "drivers/net/ethernet/cadence/Kconfig" source "drivers/net/ethernet/adi/Kconfig" source "drivers/net/ethernet/broadcom/Kconfig" source "drivers/net/ethernet/brocade/Kconfig" source "drivers/net/ethernet/calxeda/Kconfig" source "drivers/net/ethernet/chelsio/Kconfig" source "drivers/net/ethernet/cirrus/Kconfig" source "drivers/net/ethernet/cisco/Kconfig" source "drivers/net/ethernet/davicom/Kconfig" config DNET tristate "Dave ethernet support (DNET)" depends on HAS_IOMEM select PHYLIB ---help--- The Dave ethernet interface (DNET) is found on Qong Board FPGA. Say Y to include support for the DNET chip. To compile this driver as a module, choose M here: the module will be called dnet. source "drivers/net/ethernet/dec/Kconfig" source "drivers/net/ethernet/dlink/Kconfig" source "drivers/net/ethernet/emulex/Kconfig" source "drivers/net/ethernet/neterion/Kconfig" source "drivers/net/ethernet/faraday/Kconfig" source "drivers/net/ethernet/freescale/Kconfig" source "drivers/net/ethernet/fujitsu/Kconfig" source "drivers/net/ethernet/hp/Kconfig" source "drivers/net/ethernet/ibm/Kconfig" source "drivers/net/ethernet/intel/Kconfig" source "drivers/net/ethernet/i825xx/Kconfig" source "drivers/net/ethernet/xscale/Kconfig" source "drivers/net/ethernet/icplus/Kconfig" config JME tristate "JMicron(R) PCI-Express Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the PCI-Express gigabit ethernet adapters based on JMicron JMC250 chipset. To compile this driver as a module, choose M here. The module will be called jme. config KORINA tristate "Korina (IDT RC32434) Ethernet support" depends on MIKROTIK_RB532 ---help--- If you have a Mikrotik RouterBoard 500 or IDT RC32434 based system say Y. Otherwise say N. config LANTIQ_ETOP tristate "Lantiq SoC ETOP driver" depends on SOC_TYPE_XWAY ---help--- Support for the MII0 inside the Lantiq SoC source "drivers/net/ethernet/marvell/Kconfig" source "drivers/net/ethernet/mellanox/Kconfig" source "drivers/net/ethernet/micrel/Kconfig" source "drivers/net/ethernet/microchip/Kconfig" source "drivers/net/ethernet/moxa/Kconfig" source "drivers/net/ethernet/myricom/Kconfig" config FEALNX tristate "Myson MTD-8xx PCI Ethernet support" depends on PCI select CRC32 select MII ---help--- Say Y here to support the Myson MTD-800 family of PCI-based Ethernet cards. source "drivers/net/ethernet/natsemi/Kconfig" source "drivers/net/ethernet/8390/Kconfig" config NET_NETX tristate "NetX Ethernet support" select MII depends on ARCH_NETX ---help--- This is support for the Hilscher netX builtin Ethernet ports To compile this driver as a module, choose M here. The module will be called netx-eth. source "drivers/net/ethernet/nuvoton/Kconfig" source "drivers/net/ethernet/nvidia/Kconfig" source "drivers/net/ethernet/nxp/Kconfig" source "drivers/net/ethernet/octeon/Kconfig" source "drivers/net/ethernet/oki-semi/Kconfig" config ETHOC tristate "OpenCores 10/100 Mbps Ethernet MAC support" depends on HAS_IOMEM && HAS_DMA select MII select PHYLIB select CRC32 select BITREVERSE ---help--- Say Y here if you want to use the OpenCores 10/100 Mbps Ethernet MAC. source "drivers/net/ethernet/packetengines/Kconfig" source "drivers/net/ethernet/pasemi/Kconfig" source "drivers/net/ethernet/qlogic/Kconfig" source "drivers/net/ethernet/realtek/Kconfig" source "drivers/net/ethernet/renesas/Kconfig" source "drivers/net/ethernet/rdc/Kconfig" config S6GMAC tristate "S6105 GMAC ethernet support" depends on XTENSA_VARIANT_S6000 select PHYLIB ---help--- This driver supports the on chip ethernet device on the S6105 xtensa processor. To compile this driver as a module, choose M here. The module will be called s6gmac. source "drivers/net/ethernet/seeq/Kconfig" source "drivers/net/ethernet/silan/Kconfig" source "drivers/net/ethernet/sis/Kconfig" source "drivers/net/ethernet/sfc/Kconfig" source "drivers/net/ethernet/sgi/Kconfig" source "drivers/net/ethernet/smsc/Kconfig" source "drivers/net/ethernet/stmicro/Kconfig" source "drivers/net/ethernet/sun/Kconfig" source "drivers/net/ethernet/tehuti/Kconfig" source "drivers/net/ethernet/ti/Kconfig" source "drivers/net/ethernet/tile/Kconfig" source "drivers/net/ethernet/toshiba/Kconfig" source "drivers/net/ethernet/tundra/Kconfig" source "drivers/net/ethernet/via/Kconfig" source "drivers/net/ethernet/wiznet/Kconfig" source "drivers/net/ethernet/xilinx/Kconfig" source "drivers/net/ethernet/xircom/Kconfig" endif # ETHERNET # # Adaptec network device configuration # config NET_VENDOR_ADAPTEC bool "Adaptec devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Adaptec cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ADAPTEC config ADAPTEC_STARFIRE tristate "Adaptec Starfire/DuraLAN support" depends on PCI select CRC32 select MII ---help--- Say Y here if you have an Adaptec Starfire (or DuraLAN) PCI network adapter. The DuraLAN chip is used on the 64 bit PCI boards from Adaptec e.g. the ANA-6922A. The older 32 bit boards use the tulip driver. To compile this driver as a module, choose M here: the module will be called starfire. This is recommended. endif # NET_VENDOR_ADAPTEC # # Blackfin device configuration # config NET_BFIN bool "Blackfin devices" depends on BF516 || BF518 || BF526 || BF527 || BF536 || BF537 ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Make sure you know the name of your card. Read the Ethernet-HOWTO, available from . If unsure, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the remaining Blackfin card questions. If you say Y, you will be asked for your specific card in the following questions. if NET_BFIN config BFIN_MAC tristate "Blackfin on-chip MAC support" depends on (BF516 || BF518 || BF526 || BF527 || BF536 || BF537) select CRC32 select MII select PHYLIB select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE ---help--- This is the driver for Blackfin on-chip mac device. Say Y if you want it compiled into the kernel. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called bfin_mac. config BFIN_MAC_USE_L1 bool "Use L1 memory for rx/tx packets" depends on BFIN_MAC && (BF527 || BF537) default y ---help--- To get maximum network performance, you should use L1 memory as rx/tx buffers. Say N here if you want to reserve L1 memory for other uses. config BFIN_TX_DESC_NUM int "Number of transmit buffer packets" depends on BFIN_MAC range 6 10 if BFIN_MAC_USE_L1 range 10 100 default "10" ---help--- Set the number of buffer packets used in driver. config BFIN_RX_DESC_NUM int "Number of receive buffer packets" depends on BFIN_MAC range 20 100 if BFIN_MAC_USE_L1 range 20 800 default "20" ---help--- Set the number of buffer packets used in driver. config BFIN_MAC_USE_HWSTAMP bool "Use IEEE 1588 hwstamp" depends on BFIN_MAC && BF518 select PTP_1588_CLOCK default y ---help--- To support the IEEE 1588 Precision Time Protocol (PTP), select y here endif # NET_BFIN # # Aeroflex Gaisler network device configuration # config GRETH tristate "Aeroflex Gaisler GRETH Ethernet MAC support" depends on SPARC select PHYLIB select CRC32 ---help--- Say Y here if you want to use the Aeroflex Gaisler GRETH Ethernet MAC. # # Allwinner device configuration # config NET_VENDOR_ALLWINNER bool "Allwinner devices" default y depends on ARCH_SUNXI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Allwinner cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ALLWINNER config SUN4I_EMAC tristate "Allwinner A10 EMAC support" depends on ARCH_SUNXI depends on OF select CRC32 select MII select PHYLIB select MDIO_SUN4I ---help--- Support for Allwinner A10 EMAC ethernet driver. To compile this driver as a module, choose M here. The module will be called sun4i-emac. endif # NET_VENDOR_ALLWINNER # # Alteon network device configuration # config NET_VENDOR_ALTEON bool "Alteon devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Alteon cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ALTEON config ACENIC tristate "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support" depends on PCI ---help--- Say Y here if you have an Alteon AceNIC, 3Com 3C985(B), NetGear GA620, SGI Gigabit or Farallon PN9000-SX PCI Gigabit Ethernet adapter. The driver allows for using the Jumbo Frame option (9000 bytes/frame) however it requires that your switches can handle this as well. To enable Jumbo Frames, add `mtu 9000' to your ifconfig line. To compile this driver as a module, choose M here: the module will be called acenic. config ACENIC_OMIT_TIGON_I bool "Omit support for old Tigon I based AceNICs" depends on ACENIC ---help--- Say Y here if you only have Tigon II based AceNICs and want to leave out support for the older Tigon I based cards which are no longer being sold (ie. the original Alteon AceNIC and 3Com 3C985 (non B version)). This will reduce the size of the driver object by app. 100KB. If you are not sure whether your card is a Tigon I or a Tigon II, say N here. The safe and default value for this is N. endif # NET_VENDOR_ALTEON # # AMD network device configuration # config NET_VENDOR_AMD bool "AMD devices" default y depends on DIO || MACH_DECSTATION || MVME147 || ATARI || SUN3 || \ SUN3X || SBUS || PCI || ZORRO || (ISA && ISA_DMA_API) || \ (ARM && ARCH_EBSA110) || ISA || EISA || PCMCIA ---help--- If you have a network (Ethernet) chipset belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just case the configurator to skip all the questions regarding AMD chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_AMD config A2065 tristate "A2065 support" depends on ZORRO select CRC32 ---help--- If you have a Commodore A2065 Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a2065. config AMD8111_ETH tristate "AMD 8111 (new PCI LANCE) support" depends on PCI select CRC32 select MII ---help--- If you have an AMD 8111-based PCI LANCE ethernet card, answer Y here and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called amd8111e. config LANCE tristate "AMD LANCE and PCnet (AT1500 and NE2100) support" depends on ISA && ISA_DMA_API ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . Some LinkSys cards are of this type. To compile this driver as a module, choose M here: the module will be called lance. This is recommended. config PCNET32 tristate "AMD PCnet32 PCI support" depends on PCI select CRC32 select MII ---help--- If you have a PCnet32 or PCnetPCI based network (Ethernet) card, answer Y here and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called pcnet32. config ARIADNE tristate "Ariadne support" depends on ZORRO ---help--- If you have a Village Tronic Ariadne Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called ariadne. config ARM_AM79C961A bool "ARM EBSA110 AM79C961A support" depends on ARM && ARCH_EBSA110 select CRC32 ---help--- If you wish to compile a kernel for the EBSA-110, then you should always answer Y to this. config ATARILANCE tristate "Atari LANCE support" depends on ATARI ---help--- Say Y to include support for several Atari Ethernet adapters based on the AMD LANCE chipset: RieblCard (with or without battery), or PAMCard VME (also the version by Rhotron, with different addresses). config DECLANCE tristate "DEC LANCE ethernet controller support" depends on MACH_DECSTATION select CRC32 ---help--- This driver is for the series of Ethernet controllers produced by DEC (now Compaq) based on the AMD LANCE chipset, including the DEPCA series. (This chipset is better known via the NE2100 cards.) config HPLANCE bool "HP on-board LANCE support" depends on DIO select CRC32 ---help--- If you want to use the builtin "LANCE" Ethernet controller on an HP300 machine, say Y here. config MIPS_AU1X00_ENET tristate "MIPS AU1000 Ethernet support" depends on MIPS_ALCHEMY select PHYLIB select CRC32 ---help--- If you have an Alchemy Semi AU1X00 based system say Y. Otherwise, say N. config MVME147_NET tristate "MVME147 (LANCE) Ethernet support" depends on MVME147 select CRC32 ---help--- Support for the on-board Ethernet interface on the Motorola MVME147 single-board computer. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config PCMCIA_NMCLAN tristate "New Media PCMCIA support" depends on PCMCIA help Say Y here if you intend to attach a New Media Ethernet or LiveWire PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called nmclan_cs. If unsure, say N. config NI65 tristate "NI6510 support" depends on ISA && ISA_DMA_API ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called ni65. config SUN3LANCE tristate "Sun3/Sun3x on-board LANCE support" depends on (SUN3 || SUN3X) ---help--- Most Sun3 and Sun3x motherboards (including the 3/50, 3/60 and 3/80) featured an AMD LANCE 10Mbit Ethernet controller on board; say Y here to compile in the Linux driver for this and enable Ethernet. General Linux information on the Sun 3 and 3x series (now discontinued) is at . If you're not building a kernel for a Sun 3, say N. config SUNLANCE tristate "Sun LANCE support" depends on SBUS select CRC32 ---help--- This driver supports the "le" interface present on all 32-bit Sparc systems, on some older Ultra systems and as an Sbus option. These cards are based on the AMD LANCE chipset, which is better known via the NE2100 cards. To compile this driver as a module, choose M here: the module will be called sunlance. endif # NET_VENDOR_AMD # # Apple device configuration # config NET_VENDOR_APPLE bool "Apple devices" default y depends on (PPC_PMAC && PPC32) || MAC ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about IBM devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_APPLE config MACE tristate "MACE (Power Mac ethernet) support" depends on PPC_PMAC && PPC32 select CRC32 ---help--- Power Macintoshes and clones with Ethernet built-in on the motherboard will usually use a MACE (Medium Access Control for Ethernet) interface. Say Y to include support for the MACE chip. To compile this driver as a module, choose M here: the module will be called mace. config MACE_AAUI_PORT bool "Use AAUI port instead of TP by default" depends on MACE ---help--- Some Apple machines (notably the Apple Network Server) which use the MACE ethernet chip have an Apple AUI port (small 15-pin connector), instead of an 8-pin RJ45 connector for twisted-pair ethernet. Say Y here if you have such a machine. If unsure, say N. The driver will default to AAUI on ANS anyway, and if you use it as a module, you can provide the port_aaui=0|1 to force the driver. config BMAC tristate "BMAC (G3 ethernet) support" depends on PPC_PMAC && PPC32 select CRC32 ---help--- Say Y for support of BMAC Ethernet interfaces. These are used on G3 computers. To compile this driver as a module, choose M here: the module will be called bmac. config MACMACE bool "Macintosh (AV) onboard MACE ethernet" depends on MAC select CRC32 ---help--- Support for the onboard AMD 79C940 MACE Ethernet controller used in the 660AV and 840AV Macintosh. If you have one of these Macintoshes say Y and read the Ethernet-HOWTO, available from . endif # NET_VENDOR_APPLE # # ARC EMAC network device configuration # config NET_VENDOR_ARC bool "ARC devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about ARC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ARC config ARC_EMAC tristate "ARC EMAC support" select MII select PHYLIB depends on OF_IRQ depends on OF_NET ---help--- On some legacy ARC (Synopsys) FPGA boards such as ARCAngel4/ML50x non-standard on-chip ethernet device ARC EMAC 10/100 is used. Say Y here if you have such a board. If unsure, say N. endif # NET_VENDOR_ARC # # Atheros device configuration # config NET_VENDOR_ATHEROS bool "Atheros devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Atheros devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ATHEROS config ATL2 tristate "Atheros L2 Fast Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L2 fast ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl2. config ATL1 tristate "Atheros/Attansic L1 Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros/Attansic L1 gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1. config ATL1E tristate "Atheros L1E Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L1E gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1e. config ATL1C tristate "Atheros L1C Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L1C gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1c. config ALX tristate "Qualcomm Atheros AR816x/AR817x support" depends on PCI select CRC32 select MDIO help This driver supports the Qualcomm Atheros L1F ethernet adapter, i.e. the following chipsets: 1969:1091 - AR8161 Gigabit Ethernet 1969:1090 - AR8162 Fast Ethernet 1969:10A1 - AR8171 Gigabit Ethernet 1969:10A0 - AR8172 Fast Ethernet To compile this driver as a module, choose M here. The module will be called alx. endif # NET_VENDOR_ATHEROS # # Broadcom device configuration # config NET_VENDOR_BROADCOM bool "Broadcom devices" default y depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \ SIBYTE_SB1xxx_SOC ---help--- If you have a network (Ethernet) chipset belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just case the configurator to skip all the questions regarding AMD chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_BROADCOM config B44 tristate "Broadcom 440x/47xx ethernet support" depends on SSB_POSSIBLE && HAS_DMA select SSB select MII ---help--- If you have a network (Ethernet) controller of this type, say Y or M and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called b44. # Auto-select SSB PCI-HOST support, if possible config B44_PCI_AUTOSELECT bool depends on B44 && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST default y # Auto-select SSB PCICORE driver, if possible config B44_PCICORE_AUTOSELECT bool depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y config B44_PCI bool depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT default y config BCM63XX_ENET tristate "Broadcom 63xx internal mac support" depends on BCM63XX select MII select PHYLIB help This driver supports the ethernet MACs in the Broadcom 63xx MIPS chipset family (BCM63XX). config BNX2 tristate "Broadcom NetXtremeII support" depends on PCI select CRC32 select FW_LOADER ---help--- This driver supports Broadcom NetXtremeII gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called bnx2. This is recommended. config CNIC tristate "Broadcom CNIC support" depends on PCI select BNX2 select UIO ---help--- This driver supports offload features of Broadcom NetXtremeII gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called cnic. This is recommended. config SB1250_MAC tristate "SB1250 Gigabit Ethernet support" depends on SIBYTE_SB1xxx_SOC select PHYLIB ---help--- This driver supports Gigabit Ethernet interfaces based on the Broadcom SiByte family of System-On-a-Chip parts. They include the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455 and BCM1480 chips. To compile this driver as a module, choose M here: the module will be called sb1250-mac. config TIGON3 tristate "Broadcom Tigon3 support" depends on PCI select PHYLIB select HWMON select PTP_1588_CLOCK ---help--- This driver supports Broadcom Tigon3 based gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called tg3. This is recommended. config BNX2X tristate "Broadcom NetXtremeII 10Gb support" depends on PCI select FW_LOADER select ZLIB_INFLATE select LIBCRC32C select MDIO ---help--- This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called bnx2x. This is recommended. config BNX2X_SRIOV bool "Broadcom 578xx and 57712 SR-IOV support" depends on BNX2X && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support in the 578xx and 57712 products. This allows for virtual function acceleration in virtual environments. config BGMAC tristate "BCMA bus GBit core support" depends on BCMA_HOST_SOC && HAS_DMA && BCM47XX select PHYLIB ---help--- This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus. They can be found on BCM47xx SoCs and provide gigabit ethernet. In case of using this driver on BCM4706 it's also requires to enable BCMA_DRIVER_GMAC_CMN to make it work. endif # NET_VENDOR_BROADCOM # # Brocade device configuration # config NET_VENDOR_BROCADE bool "Brocade devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Brocade cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_BROCADE source "drivers/net/ethernet/brocade/bna/Kconfig" endif # NET_VENDOR_BROCADE # # Brocade network device configuration # config BNA tristate "Brocade 1010/1020 10Gb Ethernet Driver support" depends on PCI ---help--- This driver supports Brocade 1010/1020 10Gb CEE capable Ethernet cards. To compile this driver as a module, choose M here: the module will be called bna. For general information and support, go to the Brocade support website at: # # Atmel device configuration # config NET_CADENCE bool "Cadence devices" depends on HAS_IOMEM default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Make sure you know the name of your card. Read the Ethernet-HOWTO, available from . If unsure, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the remaining Atmel network card questions. If you say Y, you will be asked for your specific card in the following questions. if NET_CADENCE config ARM_AT91_ETHER tristate "AT91RM9200 Ethernet support" depends on HAS_DMA select MACB ---help--- If you wish to compile a kernel for the AT91RM9200 and enable ethernet support, then you should always answer Y to this. config MACB tristate "Cadence MACB/GEM support" depends on HAS_DMA select PHYLIB ---help--- The Cadence MACB ethernet interface is found on many Atmel AT32 and AT91 parts. This driver also supports the Cadence GEM (Gigabit Ethernet MAC found in some ARM SoC devices). Note: the Gigabit mode is not yet supported. Say Y to include support for the MACB/GEM chip. To compile this driver as a module, choose M here: the module will be called macb. endif # NET_CADENCE config NET_CALXEDA_XGMAC tristate "Calxeda 1G/10G XGMAC Ethernet driver" depends on HAS_IOMEM && HAS_DMA select CRC32 help This is the driver for the XGMAC Ethernet IP block found on Calxeda Highbank platforms. # # Chelsio device configuration # config NET_VENDOR_CHELSIO bool "Chelsio devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Chelsio devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CHELSIO config CHELSIO_T1 tristate "Chelsio 10Gb Ethernet support" depends on PCI select CRC32 select MDIO ---help--- This driver supports Chelsio gigabit and 10-gigabit Ethernet cards. More information about adapter features and performance tuning is in . For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module, choose M here: the module will be called cxgb. config CHELSIO_T1_1G bool "Chelsio gigabit Ethernet support" depends on CHELSIO_T1 ---help--- Enables support for Chelsio's gigabit Ethernet PCI cards. If you are using only 10G cards say 'N' here. config CHELSIO_T3 tristate "Chelsio Communications T3 10Gb Ethernet support" depends on PCI && INET select FW_LOADER select MDIO ---help--- This driver supports Chelsio T3-based gigabit and 10Gb Ethernet adapters. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module, choose M here: the module will be called cxgb3. config CHELSIO_T4 tristate "Chelsio Communications T4 Ethernet support" depends on PCI select FW_LOADER select MDIO ---help--- This driver supports Chelsio T4-based gigabit and 10Gb Ethernet adapters. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module choose M here; the module will be called cxgb4. config CHELSIO_T4VF tristate "Chelsio Communications T4 Virtual Function Ethernet support" depends on PCI ---help--- This driver supports Chelsio T4-based gigabit and 10Gb Ethernet adapters with PCI-E SR-IOV Virtual Functions. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module choose M here; the module will be called cxgb4vf. endif # NET_VENDOR_CHELSIO # # Cirrus network device configuration # config NET_VENDOR_CIRRUS bool "Cirrus devices" default y depends on ISA || EISA || ARM || MAC ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Cirrus cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CIRRUS config CS89x0 tristate "CS89x0 support" depends on ISA || EISA || ARM ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from as well as . To compile this driver as a module, choose M here. The module will be called cs89x0. config CS89x0_PLATFORM bool "CS89x0 platform driver support" depends on CS89x0 help Say Y to compile the cs89x0 driver as a platform driver. This makes this driver suitable for use on certain evaluation boards such as the iMX21ADS. If you are unsure, say N. config EP93XX_ETH tristate "EP93xx Ethernet support" depends on ARM && ARCH_EP93XX select MII help This is a driver for the ethernet hardware included in EP93xx CPUs. Say Y if you are building a kernel for EP93xx based devices. config MAC89x0 tristate "Macintosh CS89x0 based ethernet cards" depends on MAC ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a Nubus or LC-PDS network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. This module will be called mac89x0. endif # NET_VENDOR_CIRRUS # # Cisco device configuration # config NET_VENDOR_CISCO bool "Cisco devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Cisco cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CISCO source "drivers/net/ethernet/cisco/enic/Kconfig" endif # NET_VENDOR_CISCO # # Cisco device configuration # config ENIC tristate "Cisco VIC Ethernet NIC Support" depends on PCI ---help--- This enables the support for the Cisco VIC Ethernet card. # # Davicom device configuration # config DM9000 tristate "DM9000 support" depends on ARM || BLACKFIN || MIPS || COLDFIRE select CRC32 select MII ---help--- Support for DM9000 chipset. To compile this driver as a module, choose M here. The module will be called dm9000. config DM9000_FORCE_SIMPLE_PHY_POLL bool "Force simple NSR based PHY polling" depends on DM9000 ---help--- This configuration forces the DM9000 to use the NSR's LinkStatus bit to determine if the link is up or down instead of the more costly MII PHY reads. Note, this will not work if the chip is operating with an external PHY. # # Digital Equipment Inc network device configuration # config NET_VENDOR_DEC bool "Digital Equipment devices" default y depends on PCI || EISA || CARDBUS ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about DEC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_DEC source "drivers/net/ethernet/dec/tulip/Kconfig" endif # NET_VENDOR_DEC # # Tulip family network device configuration # config NET_TULIP bool "DEC - Tulip devices" depends on (PCI || EISA || CARDBUS) ---help--- This selects the "Tulip" family of EISA/PCI network cards. if NET_TULIP config DE2104X tristate "Early DECchip Tulip (dc2104x) PCI support" depends on PCI select CRC32 ---help--- This driver is developed for the SMC EtherPower series Ethernet cards and also works with cards based on the DECchip 21040 (Tulip series) chips. Some LinkSys PCI cards are of this type. (If your card is NOT SMC EtherPower 10/100 PCI (smc9332dst), you can also try the driver for "Generic DECchip" cards, below. However, most people with a network card of this type will say Y here.) Do read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called de2104x. config DE2104X_DSL int "Descriptor Skip Length in 32 bit longwords" depends on DE2104X range 0 31 default 0 ---help--- Setting this value allows to align ring buffer descriptors into their own cache lines. Value of 4 corresponds to the typical 32 byte line (the descriptor is 16 bytes). This is necessary on systems that lack cache coherence, an example is PowerMac 5500. Otherwise 0 is safe. Default is 0, and range is 0 to 31. config TULIP tristate "DECchip Tulip (dc2114x) PCI support" depends on PCI select CRC32 ---help--- This driver is developed for the SMC EtherPower series Ethernet cards and also works with cards based on the DECchip 21140 (Tulip series) chips. Some LinkSys PCI cards are of this type. (If your card is NOT SMC EtherPower 10/100 PCI (smc9332dst), you can also try the driver for "Generic DECchip" cards, above. However, most people with a network card of this type will say Y here.) Do read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called tulip. config TULIP_MWI bool "New bus configuration" depends on TULIP ---help--- This configures your Tulip card specifically for the card and system cache line size type you are using. This is experimental code, not yet tested on many boards. If unsure, say N. config TULIP_MMIO bool "Use PCI shared mem for NIC registers" depends on TULIP ---help--- Use PCI shared memory for the NIC registers, rather than going through the Tulip's PIO (programmed I/O ports). Faster, but could produce obscure bugs if your mainboard has memory controller timing issues. If in doubt, say N. config TULIP_NAPI bool "Use RX polling (NAPI)" depends on TULIP ---help--- NAPI is a new driver API designed to reduce CPU and interrupt load when the driver is receiving lots of packets from the card. It is still somewhat experimental and thus not yet enabled by default. If your estimated Rx load is 10kpps or more, or if the card will be deployed on potentially unfriendly networks (e.g. in a firewall), then say Y here. If in doubt, say N. config TULIP_NAPI_HW_MITIGATION bool "Use Interrupt Mitigation" depends on TULIP_NAPI ---help--- Use HW to reduce RX interrupts. Not strictly necessary since NAPI reduces RX interrupts by itself. Interrupt mitigation reduces RX interrupts even at low levels of traffic at the cost of a small latency. If in doubt, say Y. config TULIP_DM910X def_bool y depends on TULIP && SPARC config DE4X5 tristate "Generic DECchip & DIGITAL EtherWORKS PCI/EISA" depends on (PCI || EISA) depends on VIRT_TO_BUS || ALPHA || PPC || SPARC select CRC32 ---help--- This is support for the DIGITAL series of PCI/EISA Ethernet cards. These include the DE425, DE434, DE435, DE450 and DE500 models. If you have a network card of this type, say Y and read the Ethernet-HOWTO, available from . More specific information is contained in . To compile this driver as a module, choose M here. The module will be called de4x5. config WINBOND_840 tristate "Winbond W89c840 Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver is for the Winbond W89c840 chip. It also works with the TX9882 chip on the Compex RL100-ATX board. More specific information and updates are available from . config DM9102 tristate "Davicom DM910x/DM980x support" depends on PCI select CRC32 ---help--- This driver is for DM9102(A)/DM9132/DM9801 compatible PCI cards from Davicom (). If you have such a network (Ethernet) card, say Y. Some information is contained in the file . To compile this driver as a module, choose M here. The module will be called dmfe. config ULI526X tristate "ULi M526x controller support" depends on PCI select CRC32 ---help--- This driver is for ULi M5261/M5263 10/100M Ethernet Controller (). To compile this driver as a module, choose M here. The module will be called uli526x. config PCMCIA_XIRCOM tristate "Xircom CardBus support" depends on CARDBUS ---help--- This driver is for the Digital "Tulip" Ethernet CardBus adapters. It should work with most DEC 21*4*-based chips/ethercards, as well as with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and ASIX. To compile this driver as a module, choose M here. The module will be called xircom_cb. If unsure, say N. endif # NET_TULIP # # D-Link device configuration # config NET_VENDOR_DLINK bool "D-Link devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about D-Link devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_DLINK config DL2K tristate "DL2000/TC902x-based Gigabit Ethernet support" depends on PCI select CRC32 ---help--- This driver supports DL2000/TC902x-based Gigabit ethernet cards, which includes D-Link DGE-550T Gigabit Ethernet Adapter. D-Link DL2000-based Gigabit Ethernet Adapter. Sundance/Tamarack TC902x Gigabit Ethernet Adapter. To compile this driver as a module, choose M here: the module will be called dl2k. config SUNDANCE tristate "Sundance Alta support" depends on PCI select CRC32 select MII ---help--- This driver is for the Sundance "Alta" chip. More specific information and updates are available from . config SUNDANCE_MMIO bool "Use MMIO instead of PIO" depends on SUNDANCE ---help--- Enable memory-mapped I/O for interaction with Sundance NIC registers. Do NOT enable this by default, PIO (enabled when MMIO is disabled) is known to solve bugs on certain chips. If unsure, say N. endif # NET_VENDOR_DLINK # # Emulex driver configuration # config NET_VENDOR_EMULEX bool "Emulex devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Emulex cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_EMULEX source "drivers/net/ethernet/emulex/benet/Kconfig" endif # NET_VENDOR_EMULEX config BE2NET tristate "ServerEngines' 10Gbps NIC - BladeEngine" depends on PCI ---help--- This driver implements the NIC functionality for ServerEngines' 10Gbps network adapter - BladeEngine. # # Faraday device configuration # config NET_VENDOR_FARADAY bool "Faraday devices" default y depends on ARM ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Faraday cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FARADAY config FTMAC100 tristate "Faraday FTMAC100 10/100 Ethernet support" depends on ARM select MII ---help--- This driver supports the FTMAC100 10/100 Ethernet controller from Faraday. It is used on Faraday A320, Andes AG101 and some other ARM/NDS32 SoC's. config FTGMAC100 tristate "Faraday FTGMAC100 Gigabit Ethernet support" depends on ARM select PHYLIB ---help--- This driver supports the FTGMAC100 Gigabit Ethernet controller from Faraday. It is used on Faraday A369, Andes AG102 and some other ARM/NDS32 SoC's. endif # NET_VENDOR_FARADAY # # Freescale device configuration # config NET_VENDOR_FREESCALE bool "Freescale devices" default y depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \ M523x || M527x || M5272 || M528x || M520x || M532x || \ ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Freescale devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FREESCALE config FEC tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \ ARCH_MXC || SOC_IMX28) default ARCH_MXC || SOC_IMX28 if ARM select PHYLIB select PTP_1588_CLOCK ---help--- Say Y here if you want to use the built-in 10/100 Fast ethernet controller on some Motorola ColdFire and Freescale i.MX processors. config FEC_MPC52xx tristate "FEC MPC52xx driver" depends on PPC_MPC52xx && PPC_BESTCOMM select CRC32 select PHYLIB select PPC_BESTCOMM_FEC ---help--- This option enables support for the MPC5200's on-chip Fast Ethernet Controller If compiled as module, it will be called fec_mpc52xx. config FEC_MPC52xx_MDIO bool "FEC MPC52xx MDIO bus driver" depends on FEC_MPC52xx default y ---help--- The MPC5200's FEC can connect to the Ethernet either with an external MII PHY chip or 10 Mbps 7-wire interface (Motorola? industry standard). If your board uses an external PHY connected to FEC, enable this. If not sure, enable. If compiled as module, it will be called fec_mpc52xx_phy. source "drivers/net/ethernet/freescale/fs_enet/Kconfig" config FSL_PQ_MDIO tristate "Freescale PQ MDIO" depends on FSL_SOC select PHYLIB ---help--- This driver supports the MDIO bus used by the gianfar and UCC drivers. config FSL_XGMAC_MDIO tristate "Freescale XGMAC MDIO" depends on FSL_SOC select PHYLIB ---help--- This driver supports the MDIO bus on the Fman 10G Ethernet MACs. config UCC_GETH tristate "Freescale QE Gigabit Ethernet" depends on QUICC_ENGINE select FSL_PQ_MDIO select PHYLIB ---help--- This driver supports the Gigabit Ethernet mode of the QUICC Engine, which is available on some Freescale SOCs. config UGETH_TX_ON_DEMAND bool "Transmit on Demand support" depends on UCC_GETH config GIANFAR tristate "Gianfar Ethernet" depends on FSL_SOC select FSL_PQ_MDIO select PHYLIB select CRC32 ---help--- This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx, and MPC86xx family of chips, and the FEC on the 8540. endif # NET_VENDOR_FREESCALE config FS_ENET tristate "Freescale Ethernet Driver" depends on NET_VENDOR_FREESCALE && (CPM1 || CPM2 || PPC_MPC512x) select MII select PHYLIB config FS_ENET_MPC5121_FEC def_bool y if (FS_ENET && PPC_MPC512x) select FS_ENET_HAS_FEC config FS_ENET_HAS_SCC bool "Chip has an SCC usable for ethernet" depends on FS_ENET && (CPM1 || CPM2) default y config FS_ENET_HAS_FCC bool "Chip has an FCC usable for ethernet" depends on FS_ENET && CPM2 default y config FS_ENET_HAS_FEC bool "Chip has an FEC usable for ethernet" depends on FS_ENET && (CPM1 || FS_ENET_MPC5121_FEC) select FS_ENET_MDIO_FEC default y config FS_ENET_MDIO_FEC tristate "MDIO driver for FEC" depends on FS_ENET && (CPM1 || FS_ENET_MPC5121_FEC) config FS_ENET_MDIO_FCC tristate "MDIO driver for FCC" depends on FS_ENET && CPM2 select MDIO_BITBANG # # Fujitsu Network device configuration # config NET_VENDOR_FUJITSU bool "Fujitsu devices" default y depends on PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the the questions about Fujitsu cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FUJITSU config PCMCIA_FMVJ18X tristate "Fujitsu FMV-J18x PCMCIA support" depends on PCMCIA select CRC32 ---help--- Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called fmvj18x_cs. If unsure, say N. endif # NET_VENDOR_FUJITSU # # HP network device configuration # config NET_VENDOR_HP bool "HP devices" default y depends on ISA || EISA || PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about HP cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_HP config HP100 tristate "HP 10/100VG PCLAN (ISA, EISA, PCI) support" depends on (ISA || EISA || PCI) ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called hp100. endif # NET_VENDOR_HP # # Intel 82596/82593/82596 network device configuration # config NET_VENDOR_I825XX bool "Intel (82586/82593/82596) devices" default y depends on NET_VENDOR_INTEL ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions about these devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_I825XX config ARM_ETHER1 tristate "Acorn Ether1 support" depends on ARM && ARCH_ACORN ---help--- If you have an Acorn system with one of these (AKA25) network cards, you should say Y to this option if you wish to use it with Linux. config BVME6000_NET tristate "BVME6000 Ethernet support" depends on BVME6000 ---help--- This is the driver for the Ethernet interface on BVME4000 and BVME6000 VME boards. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config LASI_82596 tristate "Lasi ethernet" depends on GSC ---help--- Say Y here to support the builtin Intel 82596 ethernet controller found in Hewlett-Packard PA-RISC machines with 10Mbit ethernet. config MVME16x_NET tristate "MVME16x Ethernet support" depends on MVME16x ---help--- This is the driver for the Ethernet interface on the Motorola MVME162, 166, 167, 172 and 177 boards. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config SNI_82596 tristate "SNI RM ethernet" depends on SNI_RM ---help--- Say Y here to support the on-board Intel 82596 ethernet controller built into SNI RM machines. config SUN3_82586 bool "Sun3 on-board Intel 82586 support" depends on SUN3 ---help--- This driver enables support for the on-board Intel 82586 based Ethernet adapter found on Sun 3/1xx and 3/2xx motherboards. Note that this driver does not support 82586-based adapters on additional VME boards. endif # NET_VENDOR_I825XX # # IBM device configuration. # config NET_VENDOR_IBM bool "IBM devices" default y depends on PPC_PSERIES || PPC_DCR || (IBMEBUS && SPARSEMEM) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about IBM devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_IBM config IBMVETH tristate "IBM LAN Virtual Ethernet support" depends on PPC_PSERIES ---help--- This driver supports virtual ethernet adapters on newer IBM iSeries and pSeries systems. To compile this driver as a module, choose M here. The module will be called ibmveth. source "drivers/net/ethernet/ibm/emac/Kconfig" config EHEA tristate "eHEA Ethernet support" depends on IBMEBUS && SPARSEMEM ---help--- This driver supports the IBM pSeries eHEA ethernet adapter. To compile the driver as a module, choose M here. The module will be called ehea. endif # NET_VENDOR_IBM config IBM_EMAC tristate "IBM EMAC Ethernet support" depends on PPC_DCR select CRC32 help This driver supports the IBM EMAC family of Ethernet controllers typically found on 4xx embedded PowerPC chips, but also on the Axon southbridge for Cell. config IBM_EMAC_RXB int "Number of receive buffers" depends on IBM_EMAC default "128" config IBM_EMAC_TXB int "Number of transmit buffers" depends on IBM_EMAC default "64" config IBM_EMAC_POLL_WEIGHT int "MAL NAPI polling weight" depends on IBM_EMAC default "32" config IBM_EMAC_RX_COPY_THRESHOLD int "RX skb copy threshold (bytes)" depends on IBM_EMAC default "256" config IBM_EMAC_RX_SKB_HEADROOM int "Additional RX skb headroom (bytes)" depends on IBM_EMAC default "0" help Additional receive skb headroom. Note, that driver will always reserve at least 2 bytes to make IP header aligned, so usually there is no need to add any additional headroom. If unsure, set to 0. config IBM_EMAC_DEBUG bool "Debugging" depends on IBM_EMAC default n # The options below has to be select'ed by the respective # processor types or platforms config IBM_EMAC_ZMII bool default n config IBM_EMAC_RGMII bool default n config IBM_EMAC_TAH bool default n config IBM_EMAC_EMAC4 bool default n config IBM_EMAC_NO_FLOW_CTRL bool default n config IBM_EMAC_MAL_CLR_ICINTSTAT bool default n config IBM_EMAC_MAL_COMMON_ERR bool default n # # IC Plus device configuration # config IP1000 tristate "IP1000 Gigabit Ethernet support" depends on PCI select MII ---help--- This driver supports IP1000 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called ipg. This is recommended. # # Intel network device configuration # config NET_VENDOR_INTEL bool "Intel devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Intel cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_INTEL config E100 tristate "Intel(R) PRO/100+ support" depends on PCI select MII ---help--- This driver supports Intel(R) PRO/100 family of adapters. To verify that your adapter is supported, find the board ID number on the adapter. Look for a label that has a barcode and a number in the format 123456-001 (six digits hyphen three digits). Use the above information and the Adapter & Driver ID Guide at: to identify the adapter. For the latest Intel PRO/100 network driver for Linux, see: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called e100. config E1000 tristate "Intel(R) PRO/1000 Gigabit Ethernet support" depends on PCI ---help--- This driver supports Intel(R) PRO/1000 gigabit ethernet family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called e1000. config E1000E tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support" depends on PCI && (!SPARC32 || BROKEN) select CRC32 select PTP_1588_CLOCK ---help--- This driver supports the PCI-Express Intel(R) PRO/1000 gigabit ethernet family of adapters. For PCI or PCI-X e1000 adapters, use the regular e1000 driver For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: To compile this driver as a module, choose M here. The module will be called e1000e. config IGB tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support" depends on PCI select PTP_1588_CLOCK select I2C select I2C_ALGOBIT ---help--- This driver supports Intel(R) 82575/82576 gigabit ethernet family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called igb. config IGB_HWMON bool "Intel(R) PCI-Express Gigabit adapters HWMON support" default y depends on IGB && HWMON && !(IGB=y && HWMON=m) ---help--- Say Y if you want to expose thermal sensor data on Intel devices. Some of our devices contain thermal sensors, both external and internal. This data is available via the hwmon sysfs interface and exposes the onboard sensors. config IGB_DCA bool "Direct Cache Access (DCA) Support" default y depends on IGB && DCA && !(IGB=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. config IGBVF tristate "Intel(R) 82576 Virtual Function Ethernet support" depends on PCI ---help--- This driver supports Intel(R) 82576 virtual functions. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called igbvf. config IXGB tristate "Intel(R) PRO/10GbE support" depends on PCI ---help--- This driver supports Intel(R) PRO/10GbE family of adapters for PCI-X type cards. For PCI-E type cards, use the "ixgbe" driver instead. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called ixgb. config IXGBE tristate "Intel(R) 10GbE PCI Express adapters support" depends on PCI select MDIO select PTP_1588_CLOCK ---help--- This driver supports Intel(R) 10GbE PCI Express family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: To compile this driver as a module, choose M here. The module will be called ixgbe. config IXGBE_HWMON bool "Intel(R) 10GbE PCI Express adapters HWMON support" default y depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m) ---help--- Say Y if you want to expose the thermal sensor data on some of our cards, via a hwmon sysfs interface. config IXGBE_DCA bool "Direct Cache Access (DCA) Support" default y depends on IXGBE && DCA && !(IXGBE=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. config IXGBE_DCB bool "Data Center Bridging (DCB) Support" default n depends on IXGBE && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If unsure, say N. config IXGBEVF tristate "Intel(R) 82599 Virtual Function Ethernet support" depends on PCI_MSI ---help--- This driver supports Intel(R) 82599 virtual functions. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called ixgbevf. MSI-X interrupt support is required for this driver to work correctly. config I40E tristate "Intel(R) Ethernet Controller XL710 Family support" depends on PCI ---help--- This driver supports Intel(R) Ethernet Controller XL710 Family of devices. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: For general information and support, go to the Intel support website at: To compile this driver as a module, choose M here. The module will be called i40e. endif # NET_VENDOR_INTEL # # Marvell device configuration # config NET_VENDOR_MARVELL bool "Marvell devices" default y depends on PCI || CPU_PXA168 || MV64X60 || PPC32 || PLAT_ORION || INET ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Marvell devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MARVELL config MV643XX_ETH tristate "Marvell Discovery (643XX) and Orion ethernet support" depends on (MV64X60 || PPC32 || PLAT_ORION) && INET select PHYLIB select MVMDIO ---help--- This driver supports the gigabit ethernet MACs in the Marvell Discovery PPC/MIPS chipset family (MV643XX) and in the Marvell Orion ARM SoC family. Some boards that use the Discovery chipset are the Momenco Ocelot C and Jaguar ATX and Pegasos II. config MVMDIO tristate "Marvell MDIO interface support" select PHYLIB ---help--- This driver supports the MDIO interface found in the network interface units of the Marvell EBU SoCs (Kirkwood, Orion5x, Dove, Armada 370 and Armada XP). This driver is used by the MV643XX_ETH and MVNETA drivers. config MVNETA tristate "Marvell Armada 370/XP network interface support" depends on MACH_ARMADA_370_XP select MVMDIO ---help--- This driver supports the network interface units in the Marvell ARMADA XP and ARMADA 370 SoC family. Note that this driver is distinct from the mv643xx_eth driver, which should be used for the older Marvell SoCs (Dove, Orion, Discovery, Kirkwood). config PXA168_ETH tristate "Marvell pxa168 ethernet support" depends on CPU_PXA168 select PHYLIB ---help--- This driver supports the pxa168 Ethernet ports. To compile this driver as a module, choose M here. The module will be called pxa168_eth. config SKGE tristate "Marvell Yukon Gigabit Ethernet support" depends on PCI select CRC32 ---help--- This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx and related Gigabit Ethernet adapters. It is a new smaller driver with better performance and more complete ethtool support. It does not support the link failover and network management features that "portable" vendor supplied sk98lin driver does. This driver supports adapters based on the original Yukon chipset: Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T, Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872. It does not support the newer Yukon2 chipset: a separate driver, sky2, is provided for these adapters. To compile this driver as a module, choose M here: the module will be called skge. This is recommended. config SKGE_DEBUG bool "Debugging interface" depends on SKGE && DEBUG_FS ---help--- This option adds the ability to dump driver state for debugging. The file /sys/kernel/debug/skge/ethX displays the state of the internal transmit and receive rings. If unsure, say N. config SKGE_GENESIS bool "Support for older SysKonnect Genesis boards" depends on SKGE ---help--- This enables support for the older and uncommon SysKonnect Genesis chips, which support MII via an external transceiver, instead of an internal one. Disabling this option will save some memory by making code smaller. If unsure say Y. config SKY2 tristate "Marvell Yukon 2 support" depends on PCI select CRC32 ---help--- This driver supports Gigabit Ethernet adapters based on the Marvell Yukon 2 chipset: Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/ 88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21 There is companion driver for the older Marvell Yukon and SysKonnect Genesis based adapters: skge. To compile this driver as a module, choose M here: the module will be called sky2. This is recommended. config SKY2_DEBUG bool "Debugging interface" depends on SKY2 && DEBUG_FS ---help--- This option adds the ability to dump driver state for debugging. The file /sys/kernel/debug/sky2/ethX displays the state of the internal transmit and receive rings. If unsure, say N. endif # NET_VENDOR_MARVELL # # Mellanox driver configuration # config NET_VENDOR_MELLANOX bool "Mellanox devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Mellanox cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MELLANOX source "drivers/net/ethernet/mellanox/mlx4/Kconfig" source "drivers/net/ethernet/mellanox/mlx5/core/Kconfig" endif # NET_VENDOR_MELLANOX # # Mellanox driver configuration # config MLX4_EN tristate "Mellanox Technologies 10Gbit Ethernet support" depends on PCI select MLX4_CORE ---help--- This driver supports Mellanox Technologies ConnectX Ethernet devices. config MLX4_EN_DCB bool "Data Center Bridging (DCB) Support" default y depends on MLX4_EN && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If set to N, will not be able to configure QoS and ratelimit attributes. This flag is depended on the kernel's DCB support. If unsure, set to Y config MLX4_CORE tristate depends on PCI default n config MLX4_DEBUG bool "Verbose debugging output" if (MLX4_CORE && EXPERT) depends on MLX4_CORE default y ---help--- This option causes debugging code to be compiled into the mlx4_core driver. The output can be turned on via the debug_level module parameter (which can also be set after the driver is loaded through sysfs). # # Mellanox driver configuration # config MLX5_CORE tristate depends on PCI && X86 default n # # Micrel device configuration # config NET_VENDOR_MICREL bool "Micrel devices" default y depends on (HAS_IOMEM && DMA_ENGINE) || SPI || PCI || HAS_IOMEM || \ (ARM && ARCH_KS8695) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Micrel devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MICREL config ARM_KS8695_ETHER tristate "KS8695 Ethernet support" depends on ARM && ARCH_KS8695 select MII ---help--- If you wish to compile a kernel for the KS8695 and want to use the internal ethernet then you should answer Y to this. config KS8842 tristate "Micrel KSZ8841/42 with generic bus interface" depends on HAS_IOMEM && DMA_ENGINE ---help--- This platform driver is for KSZ8841(1-port) / KS8842(2-port) ethernet switch chip (managed, VLAN, QoS) from Micrel or Timberdale(FPGA). config KS8851 tristate "Micrel KS8851 SPI" depends on SPI select MII select CRC32 select EEPROM_93CX6 ---help--- SPI driver for Micrel KS8851 SPI attached network chip. config KS8851_MLL tristate "Micrel KS8851 MLL" depends on HAS_IOMEM select MII ---help--- This platform driver is for Micrel KS8851 Address/data bus multiplexed network chip. config KSZ884X_PCI tristate "Micrel KSZ8841/2 PCI" depends on PCI select MII select CRC32 ---help--- This PCI driver is for Micrel KSZ8841/KSZ8842 PCI Ethernet chip. To compile this driver as a module, choose M here. The module will be called ksz884x. endif # NET_VENDOR_MICREL # # Microchip network device configuration # config NET_VENDOR_MICROCHIP bool "Microchip devices" default y depends on SPI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Microchip cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MICROCHIP config ENC28J60 tristate "ENC28J60 support" depends on SPI select CRC32 ---help--- Support for the Microchip EN28J60 ethernet chip. To compile this driver as a module, choose M here. The module will be called enc28j60. config ENC28J60_WRITEVERIFY bool "Enable write verify" depends on ENC28J60 ---help--- Enable the verify after the buffer write useful for debugging purpose. If unsure, say N. endif # NET_VENDOR_MICROCHIP # # MOXART device configuration # config NET_VENDOR_MOXART bool "MOXA ART devices" default y depends on (ARM && ARCH_MOXART) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about MOXA ART devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MOXART config ARM_MOXART_ETHER tristate "MOXART Ethernet support" depends on ARM && ARCH_MOXART select NET_CORE ---help--- If you wish to compile a kernel for a hardware with MOXA ART SoC and want to use the internal ethernet then you should answer Y to this. endif # NET_VENDOR_MOXART # # Myricom device configuration # config NET_VENDOR_MYRI bool "Myricom devices" default y depends on PCI && INET ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Myricom cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MYRI config MYRI10GE tristate "Myricom Myri-10G Ethernet support" depends on PCI && INET select FW_LOADER select CRC32 ---help--- This driver supports Myricom Myri-10G Dual Protocol interface in Ethernet mode. If the eeprom on your board is not recent enough, you will need a newer firmware image. You may get this image or more information, at: To compile this driver as a module, choose M here. The module will be called myri10ge. config MYRI10GE_DCA bool "Direct Cache Access (DCA) Support" default y depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. endif # NET_VENDOR_MYRI # # National Semi-conductor device configuration # config NET_VENDOR_NATSEMI bool "National Semi-conductor devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about National Semi-conductor devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NATSEMI config MACSONIC tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)" depends on MAC ---help--- Support for NatSemi SONIC based Ethernet devices. This includes the onboard Ethernet in many Quadras as well as some LC-PDS, a few Nubus and all known Comm Slot Ethernet cards. If you have one of these say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. This module will be called macsonic. config MIPS_JAZZ_SONIC tristate "MIPS JAZZ onboard SONIC Ethernet support" depends on MACH_JAZZ ---help--- This is the driver for the onboard card of MIPS Magnum 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM systems. config NATSEMI tristate "National Semiconductor DP8381x series PCI Ethernet support" depends on PCI select CRC32 ---help--- This driver is for the National Semiconductor DP83810 series, which is used in cards from PureData, NetGear, Linksys and others, including the 83815 chip. More specific information and updates are available from . config NS83820 tristate "National Semiconductor DP83820 support" depends on PCI ---help--- This is a driver for the National Semiconductor DP83820 series of gigabit ethernet MACs. Cards using this chipset include the D-Link DGE-500T, PureData's PDP8023Z-TG, SMC's SMC9462TX, SOHO-GA2000T, SOHO-GA2500T. The driver supports the use of zero copy. config XTENSA_XT2000_SONIC tristate "Xtensa XT2000 onboard SONIC Ethernet support" depends on XTENSA_PLATFORM_XT2000 ---help--- This is the driver for the onboard card of the Xtensa XT2000 board. endif # NET_VENDOR_NATSEMI # # Exar device configuration # config NET_VENDOR_EXAR bool "Exar devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Exar cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_EXAR config S2IO tristate "Exar Xframe 10Gb Ethernet Adapter" depends on PCI ---help--- This driver supports Exar Corp's Xframe Series 10Gb Ethernet Adapters. More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called s2io. config VXGE tristate "Exar X3100 Series 10GbE PCIe Server Adapter" depends on PCI ---help--- This driver supports Exar Corp's X3100 Series 10 GbE PCIe I/O Virtualized Server Adapter. More specific information on configuring the driver is in . To compile this driver as a module, choose M here. The module will be called vxge. config VXGE_DEBUG_TRACE_ALL bool "Enabling All Debug trace statements in driver" default n depends on VXGE ---help--- Say Y here if you want to enabling all the debug trace statements in the vxge driver. By default only few debug trace statements are enabled. endif # NET_VENDOR_EXAR # # Nuvoton network device configuration # config NET_VENDOR_NUVOTON bool "Nuvoton devices" default y depends on ARM && ARCH_W90X900 ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Nuvoton cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NUVOTON config W90P910_ETH tristate "Nuvoton w90p910 Ethernet support" depends on ARM && ARCH_W90X900 select PHYLIB select MII ---help--- Say Y here if you want to use built-in Ethernet ports on w90p910 processor. endif # NET_VENDOR_NUVOTON # # NVIDIA network device configuration # config NET_VENDOR_NVIDIA bool "NVIDIA devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about NVIDIA cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NVIDIA config FORCEDETH tristate "nForce Ethernet support" depends on PCI ---help--- If you have a network (Ethernet) controller of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called forcedeth. endif # NET_VENDOR_NVIDIA config LPC_ENET tristate "NXP ethernet MAC on LPC devices" depends on ARCH_LPC32XX select PHYLIB help Say Y or M here if you want to use the NXP ethernet MAC included on some NXP LPC devices. You can safely enable this option for LPC32xx SoC. Also available as a module. # # Cavium network device configuration # config OCTEON_MGMT_ETHERNET tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)" depends on CAVIUM_OCTEON_SOC select PHYLIB select MDIO_OCTEON default y ---help--- This option enables the ethernet driver for the management port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX, CN54XX, CN52XX, and CN6XXX chips. # # OKI Semiconductor device configuration # config NET_VENDOR_OKI bool "OKI Semiconductor devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about OKI Semiconductor cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_OKI source "drivers/net/ethernet/oki-semi/pch_gbe/Kconfig" endif # NET_VENDOR_OKI # # OKI Semiconductor device configuration # config PCH_GBE tristate "OKI SEMICONDUCTOR IOH(ML7223/ML7831) GbE" depends on PCI && (X86 || COMPILE_TEST) select MII select PTP_1588_CLOCK_PCH ---help--- This is a gigabit ethernet driver for EG20T PCH. EG20T PCH is the platform controller hub that is used in Intel's general embedded platform. EG20T PCH has Gigabit Ethernet interface. Using this interface, it is able to access system devices connected to Gigabit Ethernet. This driver enables Gigabit Ethernet function. This driver also can be used for OKI SEMICONDUCTOR IOH(Input/ Output Hub), ML7223/ML7831. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7223/ML7831 is completely compatible for Intel EG20T PCH. # # Packet engine device configuration # config NET_PACKET_ENGINE bool "Packet Engine devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about packet engine devices. If you say Y, you will be asked for your specific card in the following questions. if NET_PACKET_ENGINE config HAMACHI tristate "Packet Engines Hamachi GNIC-II support" depends on PCI select MII ---help--- If you have a Gigabit Ethernet card of this type, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called hamachi. config YELLOWFIN tristate "Packet Engines Yellowfin Gigabit-NIC support" depends on PCI select CRC32 ---help--- Say Y here if you have a Packet Engines G-NIC PCI Gigabit Ethernet adapter or the SYM53C885 Ethernet controller. The Gigabit adapter is used by the Beowulf Linux cluster project. See for more information about this driver in particular and Beowulf in general. To compile this driver as a module, choose M here: the module will be called yellowfin. This is recommended. endif # NET_PACKET_ENGINE # # PA Semi network device configuration # config NET_VENDOR_PASEMI bool "PA Semi devices" default y depends on PPC_PASEMI && PCI && INET ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about PA Semi cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_PASEMI config PASEMI_MAC tristate "PA Semi 1/10Gbit MAC" depends on PPC_PASEMI && PCI && INET select PHYLIB select INET_LRO ---help--- This driver supports the on-chip 1/10Gbit Ethernet controller on PA Semi's PWRficient line of chips. endif # NET_VENDOR_PASEMI # # QLogic network device configuration # config NET_VENDOR_QLOGIC bool "QLogic devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about QLogic cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_QLOGIC config QLA3XXX tristate "QLogic QLA3XXX Network Driver Support" depends on PCI ---help--- This driver supports QLogic ISP3XXX gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called qla3xxx. config QLCNIC tristate "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support" depends on PCI select FW_LOADER ---help--- This driver supports QLogic QLE8240 and QLE8242 Converged Ethernet devices. config QLCNIC_SRIOV bool "QLOGIC QLCNIC 83XX family SR-IOV Support" depends on QLCNIC && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support for QLE83XX Converged Ethernet devices. This allows for virtual function acceleration in virtualized environments. config QLCNIC_DCB bool "QLOGIC QLCNIC 82XX and 83XX family DCB Support" depends on QLCNIC && DCB default y ---help--- This configuration parameter enables DCB support in QLE83XX and QLE82XX Converged Ethernet devices. This allows for DCB get operations support through rtNetlink interface. Only CEE mode of DCB is supported. PG and PFC values are related only to Tx. config QLGE tristate "QLogic QLGE 10Gb Ethernet Driver Support" depends on PCI ---help--- This driver supports QLogic ISP8XXX 10Gb Ethernet cards. To compile this driver as a module, choose M here: the module will be called qlge. config NETXEN_NIC tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" depends on PCI select FW_LOADER ---help--- This enables the support for NetXen's Gigabit Ethernet card. endif # NET_VENDOR_QLOGIC # # RDC network device configuration # config NET_VENDOR_RDC bool "RDC devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about RDC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_RDC config R6040 tristate "RDC R6040 Fast Ethernet Adapter support" depends on PCI select CRC32 select MII select PHYLIB ---help--- This is a driver for the R6040 Fast Ethernet MACs found in the the RDC R-321x System-on-chips. To compile this driver as a module, choose M here: the module will be called r6040. This is recommended. endif # NET_VENDOR_RDC # # Realtek device configuration # config NET_VENDOR_REALTEK bool "Realtek devices" default y depends on PCI || (PARPORT && X86) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Realtek devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_REALTEK config ATP tristate "AT-LAN-TEC/RealTek pocket adapter support" depends on PARPORT && X86 select CRC32 ---help--- This is a network (Ethernet) device which attaches to your parallel port. Read as well as the Ethernet-HOWTO, available from , if you want to use this. If you intend to use this driver, you should have said N to the "Parallel printer support", because the two drivers don't like each other. To compile this driver as a module, choose M here: the module will be called atp. config 8139CP tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the RTL8139C+ chips. If you have one of those, say Y and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called 8139cp. This is recommended. config 8139TOO tristate "RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the RTL 8129/8130/8139 chips. If you have one of those, say Y and read the Ethernet-HOWTO . To compile this driver as a module, choose M here: the module will be called 8139too. This is recommended. config 8139TOO_PIO bool "Use PIO instead of MMIO" default y depends on 8139TOO ---help--- This instructs the driver to use programmed I/O ports (PIO) instead of PCI shared memory (MMIO). This can possibly solve some problems in case your mainboard has memory consistency issues. If unsure, say N. config 8139TOO_TUNE_TWISTER bool "Support for uncommon RTL-8139 rev. K (automatic channel equalization)" depends on 8139TOO ---help--- This implements a function which might come in handy in case you are using low quality on long cabling. It is required for RealTek RTL-8139 revision K boards, and totally unused otherwise. It tries to match the transceiver to the cable characteristics. This is experimental since hardly documented by the manufacturer. If unsure, say Y. config 8139TOO_8129 bool "Support for older RTL-8129/8130 boards" depends on 8139TOO ---help--- This enables support for the older and uncommon RTL-8129 and RTL-8130 chips, which support MII via an external transceiver, instead of an internal one. Disabling this option will save some memory by making the code size smaller. If unsure, say Y. config 8139_OLD_RX_RESET bool "Use older RX-reset method" depends on 8139TOO ---help--- The 8139too driver was recently updated to contain a more rapid reset sequence, in the face of severe receive errors. This "new" RX-reset method should be adequate for all boards. But if you experience problems, you can enable this option to restore the old RX-reset behavior. If unsure, say N. config R8169 tristate "Realtek 8169 gigabit ethernet support" depends on PCI select FW_LOADER select CRC32 select MII ---help--- Say Y here if you have a Realtek 8169 PCI Gigabit Ethernet adapter. To compile this driver as a module, choose M here: the module will be called r8169. This is recommended. endif # NET_VENDOR_REALTEK # # Renesas device configuration # config SH_ETH tristate "Renesas SuperH Ethernet support" depends on HAS_DMA select CRC32 select MII select MDIO_BITBANG select PHYLIB ---help--- Renesas SuperH Ethernet device driver. This driver supporting CPUs are: - SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757, R8A7740, R8A777x and R8A7790. # # SEEQ device configuration # config NET_VENDOR_SEEQ bool "SEEQ devices" default y depends on HAS_IOMEM ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SEEQ devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SEEQ config ARM_ETHER3 tristate "Acorn/ANT Ether3 support" depends on ARM && ARCH_ACORN ---help--- If you have an Acorn system with one of these network cards, you should say Y to this option if you wish to use it with Linux. config SGISEEQ tristate "SGI Seeq ethernet controller support" depends on SGI_HAS_SEEQ ---help--- Say Y here if you have an Seeq based Ethernet network card. This is used in many Silicon Graphics machines. endif # NET_VENDOR_SEEQ config SFC tristate "Solarflare SFC4000/SFC9000/SFC9100-family support" depends on PCI select MDIO select CRC32 select I2C select I2C_ALGOBIT select PTP_1588_CLOCK ---help--- This driver supports 10/40-gigabit Ethernet cards based on the Solarflare SFC4000, SFC9000-family and SFC9100-family controllers. To compile this driver as a module, choose M here. The module will be called sfc. config SFC_MTD bool "Solarflare SFC4000/SFC9000/SFC9100-family MTD support" depends on SFC && MTD && !(SFC=y && MTD=m) default y ---help--- This exposes the on-board flash and/or EEPROM as MTD devices (e.g. /dev/mtd1). This is required to update the firmware or the boot configuration under Linux. config SFC_MCDI_MON bool "Solarflare SFC9000/SFC9100-family hwmon support" depends on SFC && HWMON && !(SFC=y && HWMON=m) default y ---help--- This exposes the on-board firmware-managed sensors as a hardware monitor device. config SFC_SRIOV bool "Solarflare SFC9000-family SR-IOV support" depends on SFC && PCI_IOV default y ---help--- This enables support for the SFC9000 I/O Virtualization features, allowing accelerated network performance in virtualized environments. # # SGI device configuration # config NET_VENDOR_SGI bool "SGI devices" default y depends on (PCI && SGI_IP27) || SGI_IP32 ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SGI devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SGI config SGI_IOC3_ETH bool "SGI IOC3 Ethernet" depends on PCI && SGI_IP27 select CRC32 select MII ---help--- If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from . config SGI_O2MACE_ETH tristate "SGI O2 MACE Fast Ethernet support" depends on SGI_IP32=y endif # NET_VENDOR_SGI # # Silan device configuration # config NET_VENDOR_SILAN bool "Silan devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Silan devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SILAN config SC92031 tristate "Silan SC92031 PCI Fast Ethernet Adapter driver" depends on PCI select CRC32 ---help--- This is a driver for the Fast Ethernet PCI network cards based on the Silan SC92031 chip (sometimes also called Rsltek 8139D). If you have one of these, say Y here. To compile this driver as a module, choose M here: the module will be called sc92031. This is recommended. endif # NET_VENDOR_SILAN # # Silicon Integrated Systems (SiS) device configuration # config NET_VENDOR_SIS bool "Silicon Integrated Systems (SiS) devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SiS devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SIS config SIS900 tristate "SiS 900/7016 PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the SiS 900 and SiS 7016 chips. The SiS 900 core is also embedded in SiS 630 and SiS 540 chipsets. This driver also supports AMD 79C901 HomePNA so that you can use your phone line as a network cable. To compile this driver as a module, choose M here: the module will be called sis900. This is recommended. config SIS190 tristate "SiS190/SiS191 gigabit ethernet support" depends on PCI select CRC32 select MII ---help--- Say Y here if you have a SiS 190 PCI Fast Ethernet adapter or a SiS 191 PCI Gigabit Ethernet adapter. Both are expected to appear in lan on motherboard designs which are based on SiS 965 and SiS 966 south bridge. To compile this driver as a module, choose M here: the module will be called sis190. This is recommended. endif # NET_VENDOR_SIS # # Western Digital/SMC network device configuration # config NET_VENDOR_SMSC bool "SMC (SMSC)/Western Digital devices" default y depends on ARM || ISA || MAC || ARM64 || MIPS || M32R || SUPERH || \ BLACKFIN || MN10300 || COLDFIRE || XTENSA || PCI || PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SMC/Western Digital cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SMSC config SMC9194 tristate "SMC 9194 support" depends on (ISA || MAC && BROKEN) select CRC32 ---help--- This is support for the SMC9xxx based Ethernet cards. Choose this option if you have a DELL laptop with the docking station, or another SMC9192/9194 based chipset. Say Y if you want it compiled into the kernel, and read the file and the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called smc9194. config SMC91X tristate "SMC 91C9x/91C1xxx support" select CRC32 select MII depends on (ARM || M32R || SUPERH || MIPS || BLACKFIN || \ MN10300 || COLDFIRE || ARM64 || XTENSA) ---help--- This is a driver for SMC's 91x series of Ethernet chipsets, including the SMC91C94 and the SMC91C111. Say Y if you want it compiled into the kernel, and read the file and the Ethernet-HOWTO, available from . This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called smc91x. If you want to compile it as a module, say M here and read . config PCMCIA_SMC91C92 tristate "SMC 91Cxx PCMCIA support" depends on PCMCIA select CRC32 select MII ---help--- Say Y here if you intend to attach an SMC 91Cxx compatible PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called smc91c92_cs. If unsure, say N. config EPIC100 tristate "SMC EtherPower II" depends on PCI select CRC32 select MII ---help--- This driver is for the SMC EtherPower II 9432 PCI Ethernet NIC, which is based on the SMC83c17x (EPIC/100). More specific information and updates are available from . config SMC911X tristate "SMSC LAN911[5678] support" select CRC32 select MII depends on (ARM || SUPERH || MN10300) ---help--- This is a driver for SMSC's LAN911x series of Ethernet chipsets including the new LAN9115, LAN9116, LAN9117, and LAN9118. Say Y if you want it compiled into the kernel, and read the Ethernet-HOWTO, available from . This driver is also available as a module. The module will be called smc911x. If you want to compile it as a module, say M here and read config SMSC911X tristate "SMSC LAN911x/LAN921x families embedded ethernet support" depends on HAS_IOMEM select CRC32 select MII select PHYLIB ---help--- Say Y here if you want support for SMSC LAN911x and LAN921x families of ethernet controllers. To compile this driver as a module, choose M here. The module will be called smsc911x. config SMSC911X_ARCH_HOOKS def_bool n depends on SMSC911X ---help--- If the arch enables this, it allows the arch to implement various hooks for more comprehensive interrupt control and also to override the source of the MAC address. config SMSC9420 tristate "SMSC LAN9420 PCI ethernet adapter support" depends on PCI select CRC32 select PHYLIB select SMSC_PHY ---help--- This is a driver for SMSC's LAN9420 PCI ethernet adapter. Say Y if you want it compiled into the kernel, and read the Ethernet-HOWTO, available from . This driver is also available as a module. The module will be called smsc9420. If you want to compile it as a module, say M here and read endif # NET_VENDOR_SMSC # # STMicroelectronics device configuration # config NET_VENDOR_STMICRO bool "STMicroelectronics devices" default y depends on HAS_IOMEM ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about STMicroelectronics cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_STMICRO source "drivers/net/ethernet/stmicro/stmmac/Kconfig" endif # NET_VENDOR_STMICRO config STMMAC_ETH tristate "STMicroelectronics 10/100/1000 Ethernet driver" depends on HAS_IOMEM && HAS_DMA select MII select PHYLIB select CRC32 select PTP_1588_CLOCK ---help--- This is the driver for the Ethernet IPs are built around a Synopsys IP Core and only tested on the STMicroelectronics platforms. if STMMAC_ETH config STMMAC_PLATFORM bool "STMMAC Platform bus support" depends on STMMAC_ETH default y ---help--- This selects the platform specific bus support for the stmmac device driver. This is the driver used on many embedded STM platforms based on ARM and SuperH processors. If you have a controller with this interface, say Y or M here. If unsure, say N. config STMMAC_PCI bool "STMMAC PCI bus support" depends on STMMAC_ETH && PCI ---help--- This is to select the Synopsys DWMAC available on PCI devices, if you have a controller with this interface, say Y or M here. This PCI support is tested on XLINX XC2V3000 FF1152AMT0221 D1215994A VIRTEX FPGA board. If unsure, say N. config STMMAC_DEBUG_FS bool "Enable monitoring via sysFS " default n depends on STMMAC_ETH && DEBUG_FS ---help--- The stmmac entry in /sys reports DMA TX/RX rings or (if supported) the HW cap register. config STMMAC_DA bool "STMMAC DMA arbitration scheme" default n ---help--- Selecting this option, rx has priority over Tx (only for Giga Ethernet device). By default, the DMA arbitration scheme is based on Round-robin (rx:tx priority is 1:1). endif # # Sun network device configuration # config NET_VENDOR_SUN bool "Sun devices" default y depends on SUN3 || SBUS || PCI || SUN_LDOMS ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Sun network interfaces. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SUN config HAPPYMEAL tristate "Sun Happy Meal 10/100baseT support" depends on (SBUS || PCI) select CRC32 ---help--- This driver supports the "hme" interface present on most Ultra systems and as an option on older Sbus systems. This driver supports both PCI and Sbus devices. This driver also supports the "qfe" quad 100baseT device available in both PCI and Sbus configurations. To compile this driver as a module, choose M here: the module will be called sunhme. config SUNBMAC tristate "Sun BigMAC 10/100baseT support" depends on SBUS select CRC32 ---help--- This driver supports the "be" interface available as an Sbus option. This is Sun's older 100baseT Ethernet device. To compile this driver as a module, choose M here: the module will be called sunbmac. config SUNQE tristate "Sun QuadEthernet support" depends on SBUS select CRC32 ---help--- This driver supports the "qe" 10baseT Ethernet device, available as an Sbus option. Note that this is not the same as Quad FastEthernet "qfe" which is supported by the Happy Meal driver instead. To compile this driver as a module, choose M here: the module will be called sunqe. config SUNGEM tristate "Sun GEM support" depends on PCI select CRC32 select SUNGEM_PHY ---help--- Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also . config CASSINI tristate "Sun Cassini support" depends on PCI select CRC32 ---help--- Support for the Sun Cassini chip, aka Sun GigaSwift Ethernet. See also . config SUNVNET tristate "Sun Virtual Network support" depends on SUN_LDOMS ---help--- Support for virtual network devices under Sun Logical Domains. config NIU tristate "Sun Neptune 10Gbit Ethernet support" depends on PCI select CRC32 ---help--- This enables support for cards based upon Sun's Neptune chipset. endif # NET_VENDOR_SUN # # Tehuti network device configuration # config NET_VENDOR_TEHUTI bool "Tehuti devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Tehuti cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TEHUTI config TEHUTI tristate "Tehuti Networks 10G Ethernet" depends on PCI ---help--- Tehuti Networks 10G Ethernet NIC endif # NET_VENDOR_TEHUTI # # TI device configuration # config NET_VENDOR_TI bool "Texas Instruments (TI) devices" default y depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX)) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about TI devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TI config TI_DAVINCI_EMAC tristate "TI DaVinci EMAC Support" depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) select TI_DAVINCI_MDIO select TI_DAVINCI_CPDMA select PHYLIB ---help--- This driver supports TI's DaVinci Ethernet . To compile this driver as a module, choose M here: the module will be called davinci_emac_driver. This is recommended. config TI_DAVINCI_MDIO tristate "TI DaVinci MDIO Support" depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX ) select PHYLIB ---help--- This driver supports TI's DaVinci MDIO module. To compile this driver as a module, choose M here: the module will be called davinci_mdio. This is recommended. config TI_DAVINCI_CPDMA tristate "TI DaVinci CPDMA Support" depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX ) ---help--- This driver supports TI's DaVinci CPDMA dma engine. To compile this driver as a module, choose M here: the module will be called davinci_cpdma. This is recommended. config TI_CPSW_PHY_SEL boolean "TI CPSW Switch Phy sel Support" depends on TI_CPSW ---help--- This driver supports configuring of the phy mode connected to the CPSW. config TI_CPSW tristate "TI CPSW Switch Support" depends on ARM && (ARCH_DAVINCI || SOC_AM33XX) select TI_DAVINCI_CPDMA select TI_DAVINCI_MDIO select TI_CPSW_PHY_SEL ---help--- This driver supports TI's CPSW Ethernet Switch. To compile this driver as a module, choose M here: the module will be called cpsw. config TI_CPTS boolean "TI Common Platform Time Sync (CPTS) Support" depends on TI_CPSW select PTP_1588_CLOCK ---help--- This driver supports the Common Platform Time Sync unit of the CPSW Ethernet Switch. The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the driver offers a PTP Hardware Clock. config TLAN tristate "TI ThunderLAN support" depends on (PCI || EISA) ---help--- If you have a PCI Ethernet network card based on the ThunderLAN chip which is supported by this driver, say Y and read the Ethernet-HOWTO, available from . Devices currently supported by this driver are Compaq Netelligent, Compaq NetFlex and Olicom cards. Please read the file for more details. To compile this driver as a module, choose M here. The module will be called tlan. Please email feedback to . config CPMAC tristate "TI AR7 CPMAC Ethernet support" depends on AR7 select PHYLIB ---help--- TI AR7 CPMAC Ethernet support endif # NET_VENDOR_TI # # Tilera network device configuration # config TILE_NET tristate "Tilera GBE/XGBE network driver support" depends on TILE default y select CRC32 select TILE_GXIO_MPIPE if TILEGX select HIGH_RES_TIMERS if TILEGX ---help--- This is a standard Linux network device driver for the on-chip Tilera Gigabit Ethernet and XAUI interfaces. To compile this driver as a module, choose M here: the module will be called tile_net. config PTP_1588_CLOCK_TILEGX tristate "Tilera TILE-Gx mPIPE as PTP clock" select PTP_1588_CLOCK depends on TILE_NET depends on TILEGX ---help--- This driver adds support for using the mPIPE as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. # # Toshiba network device configuration # config NET_VENDOR_TOSHIBA bool "Toshiba devices" default y depends on PCI && (PPC_IBM_CELL_BLADE || PPC_CELLEB || MIPS) || PPC_PS3 ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Toshiba cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TOSHIBA config GELIC_NET tristate "PS3 Gigabit Ethernet driver" depends on PPC_PS3 select PS3_SYS_MANAGER ---help--- This driver supports the network device on the PS3 game console. This driver has built-in support for Ethernet. To compile this driver as a module, choose M here: the module will be called ps3_gelic. config GELIC_WIRELESS bool "PS3 Wireless support" depends on GELIC_NET && WLAN select WIRELESS_EXT ---help--- This option adds the support for the wireless feature of PS3. If you have the wireless-less model of PS3 or have no plan to use wireless feature, disabling this option saves memory. As the driver automatically distinguishes the models, you can safely enable this option even if you have a wireless-less model. config SPIDER_NET tristate "Spider Gigabit Ethernet driver" depends on PCI && (PPC_IBM_CELL_BLADE || PPC_CELLEB) select FW_LOADER select SUNGEM_PHY ---help--- This driver supports the Gigabit Ethernet chips present on the Cell Processor-Based Blades from IBM. config TC35815 tristate "TOSHIBA TC35815 Ethernet support" depends on PCI && MIPS select PHYLIB endif # NET_VENDOR_TOSHIBA # # Tundra network device configuration # config NET_VENDOR_TUNDRA bool "Tundra devices" default y depends on TSI108_BRIDGE ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Tundra cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TUNDRA config TSI108_ETH tristate "Tundra TSI108 gigabit Ethernet support" depends on TSI108_BRIDGE ---help--- This driver supports Tundra TSI108 gigabit Ethernet ports. To compile this driver as a module, choose M here: the module will be called tsi108_eth. endif # NET_VENDOR_TUNDRA # # VIA device configuration # config NET_VENDOR_VIA bool "VIA devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about VIA devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_VIA config VIA_RHINE tristate "VIA Rhine support" depends on PCI select CRC32 select MII ---help--- If you have a VIA "Rhine" based network card (Rhine-I (VT86C100A), Rhine-II (VT6102), or Rhine-III (VT6105)), say Y here. Rhine-type Ethernet functions can also be found integrated on South Bridges (e.g. VT8235). To compile this driver as a module, choose M here. The module will be called via-rhine. config VIA_RHINE_MMIO bool "Use MMIO instead of PIO" depends on VIA_RHINE ---help--- This instructs the driver to use PCI shared memory (MMIO) instead of programmed I/O ports (PIO). Enabling this gives an improvement in processing time in parts of the driver. If unsure, say Y. config VIA_VELOCITY tristate "VIA Velocity support" depends on (PCI || USE_OF) select CRC32 select CRC_CCITT select MII ---help--- If you have a VIA "Velocity" based network card say Y here. To compile this driver as a module, choose M here. The module will be called via-velocity. endif # NET_VENDOR_VIA # # WIZnet devices configuration # config NET_VENDOR_WIZNET bool "WIZnet devices" depends on HAS_IOMEM default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about WIZnet devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_WIZNET config WIZNET_W5100 tristate "WIZnet W5100 Ethernet support" depends on HAS_IOMEM ---help--- Support for WIZnet W5100 chips. W5100 is a single chip with integrated 10/100 Ethernet MAC, PHY and hardware TCP/IP stack, but this driver is limited to the MAC and PHY functions only, onchip TCP/IP is unused. To compile this driver as a module, choose M here: the module will be called w5100. config WIZNET_W5300 tristate "WIZnet W5300 Ethernet support" depends on HAS_IOMEM ---help--- Support for WIZnet W5300 chips. W5300 is a single chip with integrated 10/100 Ethernet MAC, PHY and hardware TCP/IP stack, but this driver is limited to the MAC and PHY functions only, onchip TCP/IP is unused. To compile this driver as a module, choose M here: the module will be called w5300. choice prompt "WIZnet interface mode" depends on WIZNET_W5100 || WIZNET_W5300 default WIZNET_BUS_ANY config WIZNET_BUS_DIRECT bool "Direct address bus mode" ---help--- In direct address mode host system can directly access all registers after mapping to Memory-Mapped I/O space. config WIZNET_BUS_INDIRECT bool "Indirect address bus mode" ---help--- In indirect address mode host system indirectly accesses registers using Indirect Mode Address Register and Indirect Mode Data Register, which are directly mapped to Memory-Mapped I/O space. config WIZNET_BUS_ANY bool "Select interface mode in runtime" ---help--- If interface mode is unknown in compile time, it can be selected in runtime from board/platform resources configuration. Performance may decrease compared to explicitly selected bus mode. endchoice endif # NET_VENDOR_WIZNET # # Xilink device configuration # config NET_VENDOR_XILINX bool "Xilinx devices" default y depends on PPC || PPC32 || MICROBLAZE || ARCH_ZYNQ ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Xilinx devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XILINX config XILINX_EMACLITE tristate "Xilinx 10/100 Ethernet Lite support" depends on (PPC32 || MICROBLAZE || ARCH_ZYNQ) select PHYLIB ---help--- This driver supports the 10/100 Ethernet Lite from Xilinx. config XILINX_AXI_EMAC tristate "Xilinx 10/100/1000 AXI Ethernet support" depends on MICROBLAZE select PHYLIB ---help--- This driver supports the 10/100/1000 Ethernet from Xilinx for the AXI bus interface used in Xilinx Virtex FPGAs. config XILINX_LL_TEMAC tristate "Xilinx LL TEMAC (LocalLink Tri-mode Ethernet MAC) driver" depends on (PPC || MICROBLAZE) select PHYLIB ---help--- This driver supports the Xilinx 10/100/1000 LocalLink TEMAC core used in Xilinx Spartan and Virtex FPGAs endif # NET_VENDOR_XILINX # # Xircom network device configuration # config NET_VENDOR_XIRCOM bool "Xircom devices" default y depends on PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Xircom cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XIRCOM config PCMCIA_XIRC2PS tristate "Xircom 16-bit PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called xirc2ps_cs. If unsure, say N. endif # NET_VENDOR_XIRCOM # # Intel XScale IXP device configuration # config NET_VENDOR_XSCALE bool "Intel XScale IXP devices" default y depends on NET_VENDOR_INTEL && (ARM && ARCH_IXP4XX && \ IXP4XX_NPE && IXP4XX_QMGR) ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions about XSacle IXP devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XSCALE config IXP4XX_ETH tristate "Intel IXP4xx Ethernet support" depends on ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR select PHYLIB ---help--- Say Y here if you want to use built-in Ethernet ports on IXP4xx processor. endif # NET_VENDOR_XSCALE # # FDDI network device configuration # config FDDI tristate "FDDI driver support" depends on PCI || EISA || TC ---help--- Fiber Distributed Data Interface is a high speed local area network design; essentially a replacement for high speed Ethernet. FDDI can run over copper or fiber. If you are connected to such a network and want a driver for the FDDI card in your computer, say Y here (and then also Y to the driver for your FDDI card, below). Most people will say N. if FDDI config DEFXX tristate "Digital DEFTA/DEFEA/DEFPA adapter support" depends on FDDI && (PCI || EISA || TC) ---help--- This is support for the DIGITAL series of TURBOchannel (DEFTA), EISA (DEFEA) and PCI (DEFPA) controllers which can connect you to a local FDDI network. To compile this driver as a module, choose M here: the module will be called defxx. If unsure, say N. config DEFXX_MMIO bool prompt "Use MMIO instead of PIO" if PCI || EISA depends on DEFXX default n if PCI || EISA default y ---help--- This instructs the driver to use EISA or PCI memory-mapped I/O (MMIO) as appropriate instead of programmed I/O ports (PIO). Enabling this gives an improvement in processing time in parts of the driver, but it may cause problems with EISA (DEFEA) adapters. TURBOchannel does not have the concept of I/O ports, so MMIO is always used for these (DEFTA) adapters. If unsure, say N. config SKFP tristate "SysKonnect FDDI PCI support" depends on FDDI && PCI select BITREVERSE ---help--- Say Y here if you have a SysKonnect FDDI PCI adapter. The following adapters are supported by this driver: - SK-5521 (SK-NET FDDI-UP) - SK-5522 (SK-NET FDDI-UP DAS) - SK-5541 (SK-NET FDDI-FP) - SK-5543 (SK-NET FDDI-LP) - SK-5544 (SK-NET FDDI-LP DAS) - SK-5821 (SK-NET FDDI-UP64) - SK-5822 (SK-NET FDDI-UP64 DAS) - SK-5841 (SK-NET FDDI-FP64) - SK-5843 (SK-NET FDDI-LP64) - SK-5844 (SK-NET FDDI-LP64 DAS) - Netelligent 100 FDDI DAS Fibre SC - Netelligent 100 FDDI SAS Fibre SC - Netelligent 100 FDDI DAS UTP - Netelligent 100 FDDI SAS UTP - Netelligent 100 FDDI SAS Fibre MIC Read for information about the driver. Questions concerning this driver can be addressed to: To compile this driver as a module, choose M here: the module will be called skfp. This is recommended. endif # FDDI config MKISS tristate "Serial port KISS driver" depends on AX25 && TTY select CRC16 ---help--- KISS is a protocol used for the exchange of data between a computer and a Terminal Node Controller (a small embedded system commonly used for networking over AX.25 amateur radio connections; it connects the computer's serial port with the radio's microphone input and speaker output). Although KISS is less advanced than the 6pack protocol, it has the advantage that it is already supported by most modern TNCs without the need for a firmware upgrade. To compile this driver as a module, choose M here: the module will be called mkiss. config 6PACK tristate "Serial port 6PACK driver" depends on AX25 && TTY ---help--- 6pack is a transmission protocol for the data exchange between your PC and your TNC (the Terminal Node Controller acts as a kind of modem connecting your computer's serial port to your radio's microphone input and speaker output). This protocol can be used as an alternative to KISS for networking over AX.25 amateur radio connections, but it has some extended functionality. Note that this driver is still experimental and might cause problems. For details about the features and the usage of the driver, read . To compile this driver as a module, choose M here: the module will be called 6pack. config BPQETHER tristate "BPQ Ethernet driver" depends on AX25 help AX.25 is the protocol used for computer communication over amateur radio. If you say Y here, you will be able to send and receive AX.25 traffic over Ethernet (also called "BPQ AX.25"), which could be useful if some other computer on your local network has a direct amateur radio connection. config DMASCC tristate "High-speed (DMA) SCC driver for AX.25" depends on ISA && AX25 && BROKEN_ON_SMP && ISA_DMA_API ---help--- This is a driver for high-speed SCC boards, i.e. those supporting DMA on one port. You usually use those boards to connect your computer to an amateur radio modem (such as the WA4DSY 56kbps modem), in order to send and receive AX.25 packet radio network traffic. Currently, this driver supports Ottawa PI/PI2, Paccomm/Gracilis PackeTwin, and S5SCC/DMA boards. They are detected automatically. If you have one of these cards, say Y here and read the AX25-HOWTO, available from . This driver can operate multiple boards simultaneously. If you compile it as a module (by saying M instead of Y), it will be called dmascc. If you don't pass any parameter to the driver, all possible I/O addresses are probed. This could irritate other devices that are currently not in use. You may specify the list of addresses to be probed by "dmascc.io=addr1,addr2,..." (when compiled into the kernel image) or "io=addr1,addr2,..." (when loaded as a module). The network interfaces will be called dmascc0 and dmascc1 for the board detected first, dmascc2 and dmascc3 for the second one, and so on. Before you configure each interface with ifconfig, you MUST set certain parameters, such as channel access timing, clock mode, and DMA channel. This is accomplished with a small utility program, dmascc_cfg, available at . Please be sure to get at least version 1.27 of dmascc_cfg, as older versions will not work with the current driver. config SCC tristate "Z8530 SCC driver" depends on ISA && AX25 && ISA_DMA_API ---help--- These cards are used to connect your Linux box to an amateur radio in order to communicate with other computers. If you want to use this, read and the AX25-HOWTO, available from . Also make sure to say Y to "Amateur Radio AX.25 Level 2" support. To compile this driver as a module, choose M here: the module will be called scc. config SCC_DELAY bool "additional delay for PA0HZP OptoSCC compatible boards" depends on SCC help Say Y here if you experience problems with the SCC driver not working properly; please read for details. If unsure, say N. config SCC_TRXECHO bool "support for TRX that feedback the tx signal to rx" depends on SCC help Some transmitters feed the transmitted signal back to the receive line. Say Y here to foil this by explicitly disabling the receiver during data transmission. If in doubt, say Y. config BAYCOM_SER_FDX tristate "BAYCOM ser12 fullduplex driver for AX.25" depends on AX25 && !S390 select CRC_CCITT ---help--- This is one of two drivers for Baycom style simple amateur radio modems that connect to a serial interface. The driver supports the ser12 design in full-duplex mode. In addition, it allows the baudrate to be set between 300 and 4800 baud (however not all modems support all baudrates). This is the preferred driver. The next driver, "BAYCOM ser12 half-duplex driver for AX.25" is the old driver and still provided in case this driver does not work with your serial interface chip. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see and . To compile this driver as a module, choose M here: the module will be called baycom_ser_fdx. This is recommended. config BAYCOM_SER_HDX tristate "BAYCOM ser12 halfduplex driver for AX.25" depends on AX25 && !S390 select CRC_CCITT ---help--- This is one of two drivers for Baycom style simple amateur radio modems that connect to a serial interface. The driver supports the ser12 design in half-duplex mode. This is the old driver. It is still provided in case your serial interface chip does not work with the full-duplex driver. This driver is deprecated. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see and . To compile this driver as a module, choose M here: the module will be called baycom_ser_hdx. This is recommended. config BAYCOM_PAR tristate "BAYCOM picpar and par96 driver for AX.25" depends on PARPORT && AX25 select CRC_CCITT ---help--- This is a driver for Baycom style simple amateur radio modems that connect to a parallel interface. The driver supports the picpar and par96 designs. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see and the file . To compile this driver as a module, choose M here: the module will be called baycom_par. This is recommended. config BAYCOM_EPP tristate "BAYCOM epp driver for AX.25" depends on PARPORT && AX25 && !64BIT select CRC_CCITT ---help--- This is a driver for Baycom style simple amateur radio modems that connect to a parallel interface. The driver supports the EPP designs. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see and the file . To compile this driver as a module, choose M here: the module will be called baycom_epp. This is recommended. config YAM tristate "YAM driver for AX.25" depends on AX25 && !S390 help The YAM is a modem for packet radio which connects to the serial port and includes some of the functions of a Terminal Node Controller. If you have one of those, say Y here. To compile this driver as a module, choose M here: the module will be called yam. # # HIPPI network device configuration # config HIPPI bool "HIPPI driver support" depends on INET && PCI ---help--- HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI can run over copper (25m) or fiber (300m on multi-mode or 10km on single-mode). HIPPI networks are commonly used for clusters and to connect to super computers. If you are connected to a HIPPI network and have a HIPPI network card in your computer that you want to use under Linux, say Y here (you must also remember to enable the driver for your HIPPI card below). Most people will say N here. if HIPPI config ROADRUNNER tristate "Essential RoadRunner HIPPI PCI adapter support" depends on PCI ---help--- Say Y here if this is your PCI HIPPI network card. To compile this driver as a module, choose M here: the module will be called rrunner. If unsure, say N. config ROADRUNNER_LARGE_RINGS bool "Use large TX/RX rings" depends on ROADRUNNER ---help--- If you say Y here, the RoadRunner driver will preallocate up to 2 MB of additional memory to allow for fastest operation, both for transmitting and receiving. This memory cannot be used by any other kernel code or by user space programs. Say Y here only if you have the memory. endif # HIPPI config HYPERV_NET tristate "Microsoft Hyper-V virtual network driver" depends on HYPERV help Select this option to enable the Hyper-V virtual network driver. menuconfig IEEE802154_DRIVERS tristate "IEEE 802.15.4 drivers" depends on NETDEVICES && IEEE802154 default y ---help--- Say Y here to get to see options for IEEE 802.15.4 Low-Rate Wireless Personal Area Network device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. config IEEE802154_FAKEHARD tristate "Fake LR-WPAN driver with several interconnected devices" depends on IEEE802154_DRIVERS ---help--- Say Y here to enable the fake driver that serves as an example of HardMAC device driver. This driver can also be built as a module. To do so say M here. The module will be called 'fakehard'. config IEEE802154_FAKELB depends on IEEE802154_DRIVERS && MAC802154 tristate "IEEE 802.15.4 loopback driver" ---help--- Say Y here to enable the fake driver that can emulate a net of several interconnected radio devices. This driver can also be built as a module. To do so say M here. The module will be called 'fakelb'. config IEEE802154_AT86RF230 depends on IEEE802154_DRIVERS && MAC802154 tristate "AT86RF230/231 transceiver driver" depends on SPI config IEEE802154_MRF24J40 tristate "Microchip MRF24J40 transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 depends on SPI ---help--- Say Y here to enable the MRF24J20 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'mrf24j40'. menu "Infrared-port device drivers" depends on IRDA!=n comment "SIR device drivers" config IRTTY_SIR tristate "IrTTY (uses Linux serial driver)" depends on IRDA && TTY help Say Y here if you want to build support for the IrTTY line discipline. To compile it as a module, choose M here: the module will be called irtty-sir. IrTTY makes it possible to use Linux's own serial driver for all IrDA ports that are 16550 compatible. Most IrDA chips are 16550 compatible so you should probably say Y to this option. Using IrTTY will however limit the speed of the connection to 115200 bps (IrDA SIR mode). If unsure, say Y. config BFIN_SIR tristate "Blackfin SIR on UART" depends on BLACKFIN && IRDA default n help Say Y here if your want to enable SIR function on Blackfin UART devices. To activate this driver you can start irattach like: "irattach irda0 -s" Saying M, it will be built as a module named bfin_sir. Note that you need to turn off one of the serial drivers for SIR to use that UART. config BFIN_SIR0 bool "Blackfin SIR on UART0" depends on BFIN_SIR && !SERIAL_BFIN_UART0 config BFIN_SIR1 bool "Blackfin SIR on UART1" depends on BFIN_SIR && !SERIAL_BFIN_UART1 && (!BF531 && !BF532 && !BF533 && !BF561) config BFIN_SIR2 bool "Blackfin SIR on UART2" depends on BFIN_SIR && !SERIAL_BFIN_UART2 && (BF54x || BF538 || BF539) config BFIN_SIR3 bool "Blackfin SIR on UART3" depends on BFIN_SIR && !SERIAL_BFIN_UART3 && (BF54x) choice prompt "SIR Mode" depends on BFIN_SIR default SIR_BFIN_DMA config SIR_BFIN_DMA bool "DMA mode" depends on !DMA_UNCACHED_NONE config SIR_BFIN_PIO bool "PIO mode" endchoice comment "Dongle support" config SH_SIR tristate "SuperH SIR on UART" depends on IRDA && SUPERH && \ (CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7723 || \ CPU_SUBTYPE_SH7724) default n help Say Y here if your want to enable SIR function on SuperH UART devices. config DONGLE bool "Serial dongle support" depends on IRTTY_SIR help Say Y here if you have an infrared device that connects to your computer's serial port. These devices are called dongles. Then say Y or M to the driver for your particular dongle below. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about serial dongles. config ESI_DONGLE tristate "ESI JetEye PC dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Extended Systems JetEye PC dongle. To compile it as a module, choose M here. The ESI dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for ESI dongles you will have to start irattach like this: "irattach -d esi". config ACTISYS_DONGLE tristate "ACTiSYS IR-220L and IR220L+ dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the ACTiSYS IR-220L and IR220L+ dongles. To compile it as a module, choose M here. The ACTiSYS dongles attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for ACTiSYS dongles you will have to start irattach like this: "irattach -d actisys" or "irattach -d actisys+". config TEKRAM_DONGLE tristate "Tekram IrMate 210B dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Tekram IrMate 210B dongle. To compile it as a module, choose M here. The Tekram dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for Tekram dongles you will have to start irattach like this: "irattach -d tekram". config TOIM3232_DONGLE tristate "TOIM3232 IrDa dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Vishay/Temic TOIM3232 and TOIM4232 based dongles. To compile it as a module, choose M here. config LITELINK_DONGLE tristate "Parallax LiteLink dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Parallax Litelink dongle. To compile it as a module, choose M here. The Parallax dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for Parallax dongles you will have to start irattach like this: "irattach -d litelink". config MA600_DONGLE tristate "Mobile Action MA600 dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Mobile Action MA600 dongle. To compile it as a module, choose M here. The MA600 dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. The driver should also support the MA620 USB version of the dongle, if the integrated USB-to-RS232 converter is supported by usbserial. To activate support for MA600 dongle you will have to start irattach like this: "irattach -d ma600". config GIRBIL_DONGLE tristate "Greenwich GIrBIL dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Greenwich GIrBIL dongle. If you want to compile it as a module, choose M here. The Greenwich dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for Greenwich dongles you will have to start irattach like this: "irattach -d girbil". config MCP2120_DONGLE tristate "Microchip MCP2120" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Microchip MCP2120 dongle. If you want to compile it as a module, choose M here. The MCP2120 dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for MCP2120 dongles you will have to start irattach like this: "irattach -d mcp2120". You must build this dongle yourself. For more information see: config OLD_BELKIN_DONGLE tristate "Old Belkin dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Adaptec Airport 1000 and 2000 dongles. If you want to compile it as a module, choose M here. Some information is contained in the comments at the top of . config ACT200L_DONGLE tristate "ACTiSYS IR-200L dongle" depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the ACTiSYS IR-200L dongle. If you want to compile it as a module, choose M here. The ACTiSYS IR-200L dongle attaches to the normal 9-pin serial port connector, and can currently only be used by IrTTY. To activate support for ACTiSYS IR-200L dongle you will have to start irattach like this: "irattach -d act200l". config KINGSUN_DONGLE tristate "KingSun/DonShine DS-620 IrDA-USB dongle" depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun/DonShine DS-620 IrDA-USB bridge device driver. This USB bridge does not conform to the IrDA-USB device class specification, and therefore needs its own specific driver. This dongle supports SIR speed only (9600 bps). To compile it as a module, choose M here: the module will be called kingsun-sir. config EP7211_DONGLE tristate "Cirrus Logic clps711x I/R support" depends on IRTTY_SIR && ARCH_CLPS711X && IRDA help Say Y here if you want to build support for the Cirrus logic EP7211 chipset's infrared module. config KSDAZZLE_DONGLE tristate "KingSun Dazzle IrDA-USB dongle" depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun Dazzle IrDA-USB bridge device driver. This USB bridge does not conform to the IrDA-USB device class specification, and therefore needs its own specific driver. This dongle supports SIR speeds only (9600 through 115200 bps). To compile it as a module, choose M here: the module will be called ksdazzle-sir. config KS959_DONGLE tristate "KingSun KS-959 IrDA-USB dongle" depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun KS-959 IrDA-USB bridge device driver. This USB bridge does not conform to the IrDA-USB device class specification, and therefore needs its own specific driver. This dongle supports SIR speeds only (9600 through 57600 bps). To compile it as a module, choose M here: the module will be called ks959-sir. comment "FIR device drivers" config USB_IRDA tristate "IrDA USB dongles" depends on IRDA && USB select FW_LOADER ---help--- Say Y here if you want to build support for the USB IrDA FIR Dongle device driver. To compile it as a module, choose M here: the module will be called irda-usb. IrDA-USB support the various IrDA USB dongles available and most of their peculiarities. Those dongles plug in the USB port of your computer, are plug and play, and support SIR and FIR (4Mbps) speeds. On the other hand, those dongles tend to be less efficient than a FIR chipset. Please note that the driver is still experimental. And of course, you will need both USB and IrDA support in your kernel... config SIGMATEL_FIR tristate "SigmaTel STIr4200 bridge" depends on IRDA && USB select CRC32 ---help--- Say Y here if you want to build support for the SigmaTel STIr4200 USB IrDA FIR bridge device driver. USB bridge based on the SigmaTel STIr4200 don't conform to the IrDA-USB device class specification, and therefore need their own specific driver. Those dongles support SIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called stir4200. config NSC_FIR tristate "NSC PC87108/PC87338" depends on IRDA && ISA_DMA_API help Say Y here if you want to build support for the NSC PC87108 and PC87338 IrDA chipsets. This driver supports SIR, MIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called nsc-ircc. config WINBOND_FIR tristate "Winbond W83977AF (IR)" depends on IRDA && ISA_DMA_API help Say Y here if you want to build IrDA support for the Winbond W83977AF super-io chipset. This driver should be used for the IrDA chipset in the Corel NetWinder. The driver supports SIR, MIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called w83977af_ir. config TOSHIBA_FIR tristate "Toshiba Type-O IR Port" depends on IRDA && PCI && !64BIT && VIRT_TO_BUS help Say Y here if you want to build support for the Toshiba Type-O IR and Donau oboe chipsets. These chipsets are used by the Toshiba Libretto 100/110CT, Tecra 8100, Portege 7020 and many more laptops. To compile it as a module, choose M here: the module will be called donauboe. config AU1000_FIR tristate "Alchemy IrDA SIR/FIR" depends on IRDA && MIPS_ALCHEMY help Say Y/M here to build support the IrDA peripheral on the Alchemy Au1000 and Au1100 SoCs. Say M to build a module; it will be called au1k_ir.ko config SMC_IRCC_FIR tristate "SMSC IrCC" depends on IRDA && ISA_DMA_API help Say Y here if you want to build support for the SMC Infrared Communications Controller. It is used in a wide variety of laptops (Fujitsu, Sony, Compaq and some Toshiba). To compile it as a module, choose M here: the module will be called smsc-ircc2.o. config ALI_FIR tristate "ALi M5123 FIR" depends on IRDA && ISA_DMA_API help Say Y here if you want to build support for the ALi M5123 FIR Controller. The ALi M5123 FIR Controller is embedded in ALi M1543C, M1535, M1535D, M1535+, M1535D South Bridge. This driver supports SIR, MIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called ali-ircc. config VLSI_FIR tristate "VLSI 82C147 SIR/MIR/FIR" depends on IRDA && PCI help Say Y here if you want to build support for the VLSI 82C147 PCI-IrDA Controller. This controller is used by the HP OmniBook 800 and 5500 notebooks. The driver provides support for SIR, MIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called vlsi_ir. config SA1100_FIR tristate "SA1100 Internal IR" depends on ARCH_SA1100 && IRDA && DMA_SA11X0 config VIA_FIR tristate "VIA VT8231/VT1211 SIR/MIR/FIR" depends on IRDA && ISA_DMA_API help Say Y here if you want to build support for the VIA VT8231 and VIA VT1211 IrDA controllers, found on the motherboards using those VIA chipsets. To use this controller, you will need to plug a specific 5 pins FIR IrDA dongle in the specific motherboard connector. The driver provides support for SIR, MIR and FIR (4Mbps) speeds. You will need to specify the 'dongle_id' module parameter to indicate the FIR dongle attached to the controller. To compile it as a module, choose M here: the module will be called via-ircc. config PXA_FICP tristate "Intel PXA2xx Internal FICP" depends on ARCH_PXA && IRDA help Say Y or M here if you want to build support for the PXA2xx built-in IRDA interface which can support both SIR and FIR. This driver relies on platform specific helper routines so available capabilities may vary from one PXA2xx target to another. config MCS_FIR tristate "MosChip MCS7780 IrDA-USB dongle" depends on IRDA && USB select CRC32 help Say Y or M here if you want to build support for the MosChip MCS7780 IrDA-USB bridge device driver. USB bridge based on the MosChip MCS7780 don't conform to the IrDA-USB device class specification, and therefore need their own specific driver. Those dongles support SIR and FIR (4Mbps) speeds. To compile it as a module, choose M here: the module will be called mcs7780. config SH_IRDA tristate "SuperH IrDA driver" depends on IRDA && ARCH_SHMOBILE help Say Y here if your want to enable SuperH IrDA devices. endmenu # # PHY Layer Configuration # menuconfig PHYLIB tristate "PHY Device support and infrastructure" depends on NETDEVICES help Ethernet controllers are usually attached to PHY devices. This option provides infrastructure for managing PHY devices. if PHYLIB comment "MII PHY device drivers" config AT803X_PHY tristate "Drivers for Atheros AT803X PHYs" ---help--- Currently supports the AT8030 and AT8035 model config AMD_PHY tristate "Drivers for the AMD PHYs" ---help--- Currently supports the am79c874 config MARVELL_PHY tristate "Drivers for Marvell PHYs" ---help--- Currently has a driver for the 88E1011S config DAVICOM_PHY tristate "Drivers for Davicom PHYs" ---help--- Currently supports dm9161e and dm9131 config QSEMI_PHY tristate "Drivers for Quality Semiconductor PHYs" ---help--- Currently supports the qs6612 config LXT_PHY tristate "Drivers for the Intel LXT PHYs" ---help--- Currently supports the lxt970, lxt971 config CICADA_PHY tristate "Drivers for the Cicada PHYs" ---help--- Currently supports the cis8204 config VITESSE_PHY tristate "Drivers for the Vitesse PHYs" ---help--- Currently supports the vsc8244 config SMSC_PHY tristate "Drivers for SMSC PHYs" ---help--- Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs config BROADCOM_PHY tristate "Drivers for Broadcom PHYs" ---help--- Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481 and BCM5482 PHYs. config BCM63XX_PHY tristate "Drivers for Broadcom 63xx SOCs internal PHY" depends on BCM63XX ---help--- Currently supports the 6348 and 6358 PHYs. config BCM87XX_PHY tristate "Driver for Broadcom BCM8706 and BCM8727 PHYs" help Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. config ICPLUS_PHY tristate "Drivers for ICPlus PHYs" ---help--- Currently supports the IP175C and IP1001 PHYs. config REALTEK_PHY tristate "Drivers for Realtek PHYs" ---help--- Supports the Realtek 821x PHY. config NATIONAL_PHY tristate "Drivers for National Semiconductor PHYs" ---help--- Currently supports the DP83865 PHY. config STE10XP tristate "Driver for STMicroelectronics STe10Xp PHYs" ---help--- This is the driver for the STe100p and STe101p PHYs. config LSI_ET1011C_PHY tristate "Driver for LSI ET1011C PHY" ---help--- Supports the LSI ET1011C PHY. config MICREL_PHY tristate "Driver for Micrel PHYs" ---help--- Supports the KSZ9021, VSC8201, KS8001 PHYs. config FIXED_PHY bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" depends on PHYLIB=y ---help--- Adds the platform "fixed" MDIO Bus to cover the boards that use PHYs that are not connected to the real MDIO bus. Currently tested with mpc866ads and mpc8349e-mitx. config MDIO_BITBANG tristate "Support for bitbanged MDIO buses" help This module implements the MDIO bus protocol in software, for use by low level drivers that export the ability to drive the relevant pins. If in doubt, say N. config MDIO_GPIO tristate "Support for GPIO lib-based bitbanged MDIO buses" depends on MDIO_BITBANG && GPIOLIB ---help--- Supports GPIO lib-based MDIO busses. To compile this driver as a module, choose M here: the module will be called mdio-gpio. config MDIO_OCTEON tristate "Support for MDIO buses on Octeon SOCs" depends on CAVIUM_OCTEON_SOC default y help This module provides a driver for the Octeon MDIO busses. It is required by the Octeon Ethernet device drivers. If in doubt, say Y. config MDIO_SUN4I tristate "Allwinner sun4i MDIO interface support" depends on ARCH_SUNXI select REGULATOR select REGULATOR_FIXED_VOLTAGE help This driver supports the MDIO interface found in the network interface units of the Allwinner SoC that have an EMAC (A10, A12, A10s, etc.) config MDIO_MOXART tristate "MOXA ART MDIO interface support" depends on ARCH_MOXART help This driver supports the MDIO interface found in the network interface units of the MOXA ART SoC config MDIO_BUS_MUX tristate depends on OF_MDIO help This module provides a driver framework for MDIO bus multiplexers which connect one of several child MDIO busses to a parent bus. Switching between child busses is done by device specific drivers. config MDIO_BUS_MUX_GPIO tristate "Support for GPIO controlled MDIO bus multiplexers" depends on OF_GPIO && OF_MDIO select MDIO_BUS_MUX help This module provides a driver for MDIO bus multiplexers that are controlled via GPIO lines. The multiplexer connects one of several child MDIO busses to a parent bus. Child bus selection is under the control of GPIO lines. config MDIO_BUS_MUX_MMIOREG tristate "Support for MMIO device-controlled MDIO bus multiplexers" depends on OF_MDIO select MDIO_BUS_MUX help This module provides a driver for MDIO bus multiplexers that are controlled via a simple memory-mapped device, like an FPGA. The multiplexer connects one of several child MDIO busses to a parent bus. Child bus selection is under the control of one of the FPGA's registers. Currently, only 8-bit registers are supported. endif # PHYLIB config MICREL_KS8995MA tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" depends on SPI # # Parallel Line Internet Protocol (PLIP) network device configuration # config PLIP tristate "PLIP (parallel port) support" depends on PARPORT ---help--- PLIP (Parallel Line Internet Protocol) is used to create a reasonably fast mini network consisting of two (or, rarely, more) local machines. A PLIP link from a Linux box is a popular means to install a Linux distribution on a machine which doesn't have a CD-ROM drive (a minimal system has to be transferred with floppies first). The kernels on both machines need to have this PLIP option enabled for this to work. The PLIP driver has two modes, mode 0 and mode 1. The parallel ports (the connectors at the computers with 25 holes) are connected with "null printer" or "Turbo Laplink" cables which can transmit 4 bits at a time (mode 0) or with special PLIP cables, to be used on bidirectional parallel ports only, which can transmit 8 bits at a time (mode 1); you can find the wiring of these cables in . The cables can be up to 15m long. Mode 0 works also if one of the machines runs DOS/Windows and has some PLIP software installed, e.g. the Crynwr PLIP packet driver () and winsock or NCSA's telnet. If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well as the NET-3-HOWTO, both available from . Note that the PLIP protocol has been changed and this PLIP driver won't work together with the PLIP support in Linux versions 1.0.x. This option enlarges your kernel by about 8 KB. To compile this driver as a module, choose M here. The module will be called plip. If unsure, say Y or M, in case you buy a laptop later. # # PPP network device configuration # config PPP tristate "PPP (point-to-point protocol) support" select SLHC ---help--- PPP (Point to Point Protocol) is a newer and better SLIP. It serves the same purpose: sending Internet traffic over telephone (and other serial) lines. Ask your access provider if they support it, because otherwise you can't use it; most Internet access providers these days support PPP rather than SLIP. To use PPP, you need an additional program called pppd as described in the PPP-HOWTO, available at . Make sure that you have the version of pppd recommended in . The PPP option enlarges your kernel by about 16 KB. There are actually two versions of PPP: the traditional PPP for asynchronous lines, such as regular analog phone lines, and synchronous PPP which can be used over digital ISDN lines for example. If you want to use PPP over phone lines or other asynchronous serial lines, you need to say Y (or M) here and also to the next option, "PPP support for async serial ports". For PPP over synchronous lines, you should say Y (or M) here and to "Support synchronous PPP", below. If you said Y to "Version information on all symbols" above, then you cannot compile the PPP driver into the kernel; you can then only compile it as a module. To compile this driver as a module, choose M here. The module will be called ppp_generic. if PPP config PPP_BSDCOMP tristate "PPP BSD-Compress compression" depends on PPP ---help--- Support for the BSD-Compress compression method for PPP, which uses the LZW compression method to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the BSD-Compress compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. The PPP Deflate compression method ("PPP Deflate compression", above) is preferable to BSD-Compress, because it compresses better and is patent-free. Note that the BSD compression code will always be compiled as a module; it is called bsd_comp and will show up in the directory modules once you have said "make modules". If unsure, say N. config PPP_DEFLATE tristate "PPP Deflate compression" depends on PPP select ZLIB_INFLATE select ZLIB_DEFLATE ---help--- Support for the Deflate compression method for PPP, which uses the Deflate algorithm (the same algorithm that gzip uses) to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the Deflate compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. To compile this driver as a module, choose M here. config PPP_FILTER bool "PPP filtering" depends on PPP ---help--- Say Y here if you want to be able to filter the packets passing over PPP interfaces. This allows you to control which packets count as activity (i.e. which packets will reset the idle timer or bring up a demand-dialed link) and which packets are to be dropped entirely. You need to say Y here if you wish to use the pass-filter and active-filter options to pppd. If unsure, say N. config PPP_MPPE tristate "PPP MPPE compression (encryption)" depends on PPP select CRYPTO select CRYPTO_SHA1 select CRYPTO_ARC4 select CRYPTO_ECB ---help--- Support for the MPPE Encryption protocol, as employed by the Microsoft Point-to-Point Tunneling Protocol. See http://pptpclient.sourceforge.net/ for information on configuring PPTP clients and servers to utilize this method. config PPP_MULTILINK bool "PPP multilink support" depends on PPP ---help--- PPP multilink is a protocol (defined in RFC 1990) which allows you to combine several (logical or physical) lines into one logical PPP connection, so that you can utilize your full bandwidth. This has to be supported at the other end as well and you need a version of the pppd daemon which understands the multilink protocol. If unsure, say N. config PPPOATM tristate "PPP over ATM" depends on ATM && PPP ---help--- Support PPP (Point to Point Protocol) encapsulated in ATM frames. This implementation does not yet comply with section 8 of RFC2364, which can lead to bad results if the ATM peer loses state and changes its encapsulation unilaterally. config PPPOE tristate "PPP over Ethernet" depends on PPP ---help--- Support for PPP over Ethernet. This driver requires the latest version of pppd from the CVS repository at cvs.samba.org. Alternatively, see the RoaringPenguin package () which contains instruction on how to use this driver (under the heading "Kernel mode PPPoE"). config PPTP tristate "PPP over IPv4 (PPTP)" depends on PPP && NET_IPGRE_DEMUX ---help--- Support for PPP over IPv4.(Point-to-Point Tunneling Protocol) This driver requires pppd plugin to work in client mode or modified pptpd (poptop) to work in server mode. See http://accel-pptp.sourceforge.net/ for information how to utilize this module. config PPPOL2TP tristate "PPP over L2TP" depends on L2TP && PPP ---help--- Support for PPP-over-L2TP socket family. L2TP is a protocol used by ISPs and enterprises to tunnel PPP traffic over UDP tunnels. L2TP is replacing PPTP for VPN uses. if TTY config PPP_ASYNC tristate "PPP support for async serial ports" depends on PPP select CRC_CCITT ---help--- Say Y (or M) here if you want to be able to use PPP over standard asynchronous serial ports, such as COM1 or COM2 on a PC. If you use a modem (not a synchronous or ISDN modem) to contact your ISP, you need this option. To compile this driver as a module, choose M here. If unsure, say Y. config PPP_SYNC_TTY tristate "PPP support for sync tty ports" depends on PPP ---help--- Say Y (or M) here if you want to be able to use PPP over synchronous (HDLC) tty devices, such as the SyncLink adapter. These devices are often used for high-speed leased lines like T1/E1. To compile this driver as a module, choose M here. endif # TTY endif # PPP # # SLIP network device configuration # config SLIP tristate "SLIP (serial line) support" depends on TTY ---help--- Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to connect to your Internet service provider or to connect to some other local Unix box or if you want to configure your Linux box as a Slip/CSlip server for other people to dial in. SLIP (Serial Line Internet Protocol) is a protocol used to send Internet traffic over serial connections such as telephone lines or null modem cables; nowadays, the protocol PPP is more commonly used for this same purpose. Normally, your access provider has to support SLIP in order for you to be able to use it, but there is now a SLIP emulator called SLiRP around (available from ) which allows you to use SLIP over a regular dial up shell connection. If you plan to use SLiRP, make sure to say Y to CSLIP, below. The NET-3-HOWTO, available from , explains how to configure SLIP. Note that you don't need this option if you just want to run term (term is a program which gives you almost full Internet connectivity if you have a regular dial up shell account on some Internet connected Unix computer. Read ). SLIP support will enlarge your kernel by about 4 KB. If unsure, say N. To compile this driver as a module, choose M here. The module will be called slip. config SLHC tristate ---help--- This option enables Van Jacobsen serial line header compression routines. if SLIP config SLIP_COMPRESSED bool "CSLIP compressed headers" depends on SLIP select SLHC ---help--- This protocol is faster than SLIP because it uses compression on the TCP/IP headers (not on the data itself), but it has to be supported on both ends. Ask your access provider if you are not sure and answer Y, just in case. You will still be able to use plain SLIP. If you plan to use SLiRP, the SLIP emulator (available from ) which allows you to use SLIP over a regular dial up shell connection, you definitely want to say Y here. The NET-3-HOWTO, available from , explains how to configure CSLIP. This won't enlarge your kernel. config SLIP_SMART bool "Keepalive and linefill" depends on SLIP ---help--- Adds additional capabilities to the SLIP driver to support the RELCOM line fill and keepalive monitoring. Ideal on poor quality analogue lines. config SLIP_MODE_SLIP6 bool "Six bit SLIP encapsulation" depends on SLIP ---help--- Just occasionally you may need to run IP over hostile serial networks that don't pass all control characters or are only seven bit. Saying Y here adds an extra mode you can use with SLIP: "slip6". In this mode, SLIP will only send normal ASCII symbols over the serial device. Naturally, this has to be supported at the other end of the link as well. It's good enough, for example, to run IP over the async ports of a Camtec JNT Pad. If unsure, say N. endif # SLIP menuconfig NET_TEAM tristate "Ethernet team driver support" ---help--- This allows one to create virtual interfaces that teams together multiple ethernet devices. Team devices can be added using the "ip" command from the iproute2 package: "ip link add link [ address MAC ] [ NAME ] type team" To compile this driver as a module, choose M here: the module will be called team. if NET_TEAM config NET_TEAM_MODE_BROADCAST tristate "Broadcast mode support" depends on NET_TEAM ---help--- Basic mode where packets are transmitted always by all suitable ports. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_broadcast. config NET_TEAM_MODE_ROUNDROBIN tristate "Round-robin mode support" depends on NET_TEAM ---help--- Basic mode where port used for transmitting packets is selected in round-robin fashion using packet counter. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_roundrobin. config NET_TEAM_MODE_RANDOM tristate "Random mode support" depends on NET_TEAM ---help--- Basic mode where port used for transmitting packets is selected randomly. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_random. config NET_TEAM_MODE_ACTIVEBACKUP tristate "Active-backup mode support" depends on NET_TEAM ---help--- Only one port is active at a time and the rest of ports are used for backup. Mac addresses of ports are not modified. Userspace is responsible to do so. To compile this team mode as a module, choose M here: the module will be called team_mode_activebackup. config NET_TEAM_MODE_LOADBALANCE tristate "Load-balance mode support" depends on NET_TEAM ---help--- This mode provides load balancing functionality. Tx port selection is done using BPF function set up from userspace (bpf_hash_func option) To compile this team mode as a module, choose M here: the module will be called team_mode_loadbalance. endif # NET_TEAM # # USB Network devices configuration # comment "Networking support is needed for USB Network Adapter support" depends on USB && !NET menu "USB Network Adapters" depends on USB && NET config USB_CATC tristate "USB CATC NetMate-based Ethernet device support" select CRC32 ---help--- Say Y if you want to use one of the following 10Mbps USB Ethernet device based on the EL1210A chip. Supported devices are: Belkin F5U011 Belkin F5U111 CATC NetMate CATC NetMate II smartBridges smartNIC This driver makes the adapter appear as a normal Ethernet interface, typically on eth0, if it is the only ethernet device, or perhaps on eth1, if you have a PCI or ISA ethernet card installed. To compile this driver as a module, choose M here: the module will be called catc. config USB_KAWETH tristate "USB KLSI KL5USB101-based ethernet device support" ---help--- Say Y here if you want to use one of the following 10Mbps only USB Ethernet adapters based on the KLSI KL5KUSB101B chipset: 3Com 3C19250 ADS USB-10BT ATEN USB Ethernet ASANTE USB To Ethernet Adapter AOX Endpoints USB Ethernet Correga K.K. D-Link DSB-650C and DU-E10 Entrega / Portgear E45 I-O DATA USB-ET/T Jaton USB Ethernet Device Adapter Kingston Technology USB Ethernet Adapter Linksys USB10T Mobility USB-Ethernet Adapter NetGear EA-101 Peracom Enet and Enet2 Portsmith Express Ethernet Adapter Shark Pocket Adapter SMC 2202USB Sony Vaio port extender This driver is likely to work with most 10Mbps only USB Ethernet adapters, including some "no brand" devices. It does NOT work on SmartBridges smartNIC or on Belkin F5U111 devices - you should use the CATC NetMate driver for those. If you are not sure which one you need, select both, and the correct one should be selected for you. This driver makes the adapter appear as a normal Ethernet interface, typically on eth0, if it is the only ethernet device, or perhaps on eth1, if you have a PCI or ISA ethernet card installed. To compile this driver as a module, choose M here: the module will be called kaweth. config USB_PEGASUS tristate "USB Pegasus/Pegasus-II based ethernet device support" select MII ---help--- Say Y here if you know you have Pegasus or Pegasus-II based adapter. If in doubt then look at for the complete list of supported devices. If your particular adapter is not in the list and you are _sure_ it is Pegasus or Pegasus II based then send me vendor and device IDs. To compile this driver as a module, choose M here: the module will be called pegasus. config USB_RTL8150 tristate "USB RTL8150 based ethernet device support" select MII help Say Y here if you have RTL8150 based usb-ethernet adapter. Send me any comments you may have. You can also check for updates at . To compile this driver as a module, choose M here: the module will be called rtl8150. config USB_RTL8152 tristate "Realtek RTL8152 Based USB 2.0 Ethernet Adapters" select MII help This option adds support for Realtek RTL8152 based USB 2.0 10/100 Ethernet adapters. To compile this driver as a module, choose M here: the module will be called r8152. config USB_USBNET tristate "Multi-purpose USB Networking Framework" select MII ---help--- This driver supports several kinds of network links over USB, with "minidrivers" built around a common network driver core that supports deep queues for efficient transfers. (This gives better performance with small packets and at high speeds). The USB host runs "usbnet", and the other end of the link might be: - Another USB host, when using USB "network" or "data transfer" cables. These are often used to network laptops to PCs, like "Laplink" parallel cables or some motherboards. These rely on specialized chips from many suppliers. - An intelligent USB gadget, perhaps embedding a Linux system. These include PDAs running Linux (iPaq, Yopy, Zaurus, and others), and devices that interoperate using the standard CDC-Ethernet specification (including many cable modems). - Network adapter hardware (like those for 10/100 Ethernet) which uses this driver framework. The link will appear with a name like "usb0", when the link is a two-node link, or "eth0" for most CDC-Ethernet devices. Those two-node links are most easily managed with Ethernet Bridging (CONFIG_BRIDGE) instead of routing. For more information see . To compile this driver as a module, choose M here: the module will be called usbnet. config USB_NET_AX8817X tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters" depends on USB_USBNET select CRC32 select PHYLIB default y help This option adds support for ASIX AX88xxx based USB 2.0 10/100 Ethernet adapters. This driver should work with at least the following devices: * Aten UC210T * ASIX AX88172 * Billionton Systems, USB2AR * Buffalo LUA-U2-KTX * Corega FEther USB2-TX * D-Link DUB-E100 * Hawking UF200 * Linksys USB200M * Netgear FA120 * Sitecom LN-029 * Intellinet USB 2.0 Ethernet * ST Lab USB 2.0 Ethernet * TrendNet TU2-ET100 This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. config USB_NET_AX88179_178A tristate "ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet" depends on USB_USBNET select CRC32 select PHYLIB default y help This option adds support for ASIX AX88179 based USB 3.0/2.0 to Gigabit Ethernet adapters. This driver should work with at least the following devices: * ASIX AX88179 * ASIX AX88178A * Sitcomm LN-032 This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. config USB_NET_CDCETHER tristate "CDC Ethernet support (smart devices such as cable modems)" depends on USB_USBNET default y help This option supports devices conforming to the Communication Device Class (CDC) Ethernet Control Model, a specification that's easy to implement in device firmware. The CDC specifications are available from . CDC Ethernet is an implementation option for DOCSIS cable modems that support USB connectivity, used for non-Microsoft USB hosts. The Linux-USB CDC Ethernet Gadget driver is an open implementation. This driver should work with at least the following devices: * Dell Wireless 5530 HSPA * Ericsson PipeRider (all variants) * Ericsson Mobile Broadband Module (all variants) * Motorola (DM100 and SB4100) * Broadcom Cable Modem (reference design) * Toshiba (PCX1100U and F3507g/F3607gw) * ... This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. However, if the IEEE 802 "local assignment" bit is set in the address, a "usbX" name is used instead. config USB_NET_CDC_EEM tristate "CDC EEM support" depends on USB_USBNET help This option supports devices conforming to the Communication Device Class (CDC) Ethernet Emulation Model, a specification that's easy to implement in device firmware. The CDC EEM specifications are available from . This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. However, if the IEEE 802 "local assignment" bit is set in the address, a "usbX" name is used instead. config USB_NET_CDC_NCM tristate "CDC NCM support" depends on USB_USBNET default y help This driver provides support for CDC NCM (Network Control Model Device USB Class Specification). The CDC NCM specification is available from . Say "y" to link the driver statically, or "m" to build a dynamically linked module. This driver should work with at least the following devices: * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design) * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design) * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design) * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design) * Ericsson F5521gw Mobile Broadband Module config USB_NET_HUAWEI_CDC_NCM tristate "Huawei NCM embedded AT channel support" depends on USB_USBNET select USB_WDM select USB_NET_CDC_NCM help This driver supports huawei-style NCM devices, that use NCM as a transport for other protocols, usually an embedded AT channel. Good examples are: * Huawei E3131 * Huawei E3251 To compile this driver as a module, choose M here: the module will be called huawei_cdc_ncm.ko. config USB_NET_CDC_MBIM tristate "CDC MBIM support" depends on USB_USBNET select USB_WDM select USB_NET_CDC_NCM help This driver provides support for CDC MBIM (Mobile Broadband Interface Model) devices. The CDC MBIM specification is available from . MBIM devices require configuration using the management protocol defined by the MBIM specification. This driver provides unfiltered access to the MBIM control channel through the associated /dev/cdc-wdmx character device. To compile this driver as a module, choose M here: the module will be called cdc_mbim. config USB_NET_DM9601 tristate "Davicom DM96xx based USB 10/100 ethernet devices" depends on USB_USBNET select CRC32 help This option adds support for Davicom DM9601/DM9620/DM9621A based USB 10/100 Ethernet adapters. config USB_NET_SR9700 tristate "CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices" depends on USB_USBNET select CRC32 help This option adds support for CoreChip-sz SR9700 based USB 1.1 10/100 Ethernet adapters. config USB_NET_SMSC75XX tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices" depends on USB_USBNET select BITREVERSE select CRC16 select CRC32 help This option adds support for SMSC LAN75XX based USB 2.0 Gigabit Ethernet adapters. config USB_NET_SMSC95XX tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices" depends on USB_USBNET select BITREVERSE select CRC16 select CRC32 help This option adds support for SMSC LAN95XX based USB 2.0 10/100 Ethernet adapters. config USB_NET_GL620A tristate "GeneSys GL620USB-A based cables" depends on USB_USBNET help Choose this option if you're using a host-to-host cable, or PC2PC motherboard, with this chip. Note that the half-duplex "GL620USB" is not supported. config USB_NET_NET1080 tristate "NetChip 1080 based cables (Laplink, ...)" default y depends on USB_USBNET help Choose this option if you're using a host-to-host cable based on this design: one NetChip 1080 chip and supporting logic, optionally with LEDs that indicate traffic config USB_NET_PLUSB tristate "Prolific PL-2301/2302/25A1 based cables" # if the handshake/init/reset problems, from original 'plusb', # are ever resolved ... then remove "experimental" depends on USB_USBNET help Choose this option if you're using a host-to-host cable with one of these chips. config USB_NET_MCS7830 tristate "MosChip MCS7830 based Ethernet adapters" depends on USB_USBNET help Choose this option if you're using a 10/100 Ethernet USB2 adapter based on the MosChip 7830 controller. This includes adapters marketed under the DeLOCK brand. config USB_NET_RNDIS_HOST tristate "Host for RNDIS and ActiveSync devices" depends on USB_USBNET select USB_NET_CDCETHER help This option enables hosting "Remote NDIS" USB networking links, as encouraged by Microsoft (instead of CDC Ethernet!) for use in various devices that may only support this protocol. A variant of this protocol (with even less public documentation) seems to be at the root of Microsoft's "ActiveSync" too. Avoid using this protocol unless you have no better options. The protocol specification is incomplete, and is controlled by (and for) Microsoft; it isn't an "Open" ecosystem or market. config USB_NET_CDC_SUBSET tristate "Simple USB Network Links (CDC Ethernet subset)" depends on USB_USBNET default y help This driver module supports USB network devices that can work without any device-specific information. Select it if you have one of these drivers. Note that while many USB host-to-host cables can work in this mode, that may mean not being able to talk to Win32 systems or more commonly not being able to handle certain events (like replugging the host on the other end) very well. Also, these devices will not generally have permanently assigned Ethernet addresses. config USB_ALI_M5632 boolean "ALi M5632 based 'USB 2.0 Data Link' cables" depends on USB_NET_CDC_SUBSET help Choose this option if you're using a host-to-host cable based on this design, which supports USB 2.0 high speed. config USB_AN2720 boolean "AnchorChips 2720 based cables (Xircom PGUNET, ...)" depends on USB_NET_CDC_SUBSET help Choose this option if you're using a host-to-host cable based on this design. Note that AnchorChips is now a Cypress brand. config USB_BELKIN boolean "eTEK based host-to-host cables (Advance, Belkin, ...)" depends on USB_NET_CDC_SUBSET default y help Choose this option if you're using a host-to-host cable based on this design: two NetChip 2890 chips and an Atmel microcontroller, with LEDs that indicate traffic. config USB_ARMLINUX boolean "Embedded ARM Linux links (iPaq, ...)" depends on USB_NET_CDC_SUBSET default y help Choose this option to support the "usb-eth" networking driver used by most of the ARM Linux community with device controllers such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities in some PXA versions of the "blob" boot loader. Linux-based "Gumstix" PXA-25x based systems use this protocol to talk with other Linux systems. Although the ROMs shipped with Sharp Zaurus products use a different link level framing protocol, you can have them use this simpler protocol by installing a different kernel. config USB_EPSON2888 boolean "Epson 2888 based firmware (DEVELOPMENT)" depends on USB_NET_CDC_SUBSET help Choose this option to support the usb networking links used by some sample firmware from Epson. config USB_KC2190 boolean "KT Technology KC2190 based cables (InstaNet)" depends on USB_NET_CDC_SUBSET help Choose this option if you're using a host-to-host cable with one of these chips. config USB_NET_ZAURUS tristate "Sharp Zaurus (stock ROMs) and compatible" depends on USB_USBNET select USB_NET_CDCETHER select CRC32 default y help Choose this option to support the usb networking links used by Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500. This also supports some related device firmware, as used in some PDAs from Olympus and some cell phones from Motorola. If you install an alternate image, such as the Linux 2.6 based versions of OpenZaurus, you should no longer need to support this protocol. Only the "eth-fd" or "net_fd" drivers in these devices really need this non-conformant variant of CDC Ethernet (or in some cases CDC MDLM) protocol, not "g_ether". config USB_NET_CX82310_ETH tristate "Conexant CX82310 USB ethernet port" depends on USB_USBNET help Choose this option if you're using a Conexant CX82310-based ADSL router with USB ethernet port. This driver is for routers only, it will not work with ADSL modems (use cxacru driver instead). config USB_NET_KALMIA tristate "Samsung Kalmia based LTE USB modem" depends on USB_USBNET help Choose this option if you have a Samsung Kalmia based USB modem as Samsung GT-B3730. To compile this driver as a module, choose M here: the module will be called kalmia. config USB_NET_QMI_WWAN tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems" depends on USB_USBNET select USB_WDM help Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem (MDM) chipsets. Examples of such devices are * Huawei E392/E398 This driver will only drive the ethernet part of the chips. The devices require additional configuration to be usable. Multiple management interfaces with linux drivers are available: * option: AT commands on /dev/ttyUSBx * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx A modem manager with support for QMI is recommended. To compile this driver as a module, choose M here: the module will be called qmi_wwan. config USB_HSO tristate "Option USB High Speed Mobile Devices" depends on USB && RFKILL && TTY default n help Choose this option if you have an Option HSDPA/HSUPA card. These cards support downlink speeds of 7.2Mbps or greater. To compile this driver as a module, choose M here: the module will be called hso. config USB_NET_INT51X1 tristate "Intellon PLC based usb adapter" depends on USB_USBNET help Choose this option if you're using a 14Mb USB-based PLC (Powerline Communications) solution with an Intellon INT51x1/INT5200 chip, like the "devolo dLan duo". config USB_CDC_PHONET tristate "CDC Phonet support" depends on PHONET help Choose this option to support the Phonet interface to a Nokia cellular modem, as found on most Nokia handsets with the "PC suite" USB profile. config USB_IPHETH tristate "Apple iPhone USB Ethernet driver" default n ---help--- Module used to share Internet connection (tethering) from your iPhone (Original, 3G and 3GS) to your system. Note that you need userspace libraries and programs that are needed to pair your device with your system and that understand the iPhone protocol. For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver config USB_SIERRA_NET tristate "USB-to-WWAN Driver for Sierra Wireless modems" depends on USB_USBNET help Choose this option if you have a Sierra Wireless USB-to-WWAN device. To compile this driver as a module, choose M here: the module will be called sierra_net. config USB_VL600 tristate "LG VL600 modem dongle" depends on USB_NET_CDCETHER && TTY select USB_ACM help Select this if you want to use an LG Electronics 4G/LTE usb modem called VL600. This driver only handles the ethernet interface exposed by the modem firmware. To establish a connection you will first need a userspace program that sends the right command to the modem through its CDC ACM port, and most likely also a DHCP client. See this thread about using the 4G modem from Verizon: http://ubuntuforums.org/showpost.php?p=10589647&postcount=17 endmenu # # wan devices configuration # menuconfig WAN bool "Wan interfaces support" ---help--- Wide Area Networks (WANs), such as X.25, Frame Relay and leased lines, are used to interconnect Local Area Networks (LANs) over vast distances with data transfer rates significantly higher than those achievable with commonly used asynchronous modem connections. Usually, a quite expensive external device called a `WAN router' is needed to connect to a WAN. As an alternative, a relatively inexpensive WAN interface card can allow your Linux box to directly connect to a WAN. If you have one of those cards and wish to use it under Linux, say Y here and also to the WAN driver for your card. If unsure, say N. if WAN # There is no way to detect a comtrol sv11 - force it modular for now. config HOSTESS_SV11 tristate "Comtrol Hostess SV-11 support" depends on ISA && m && ISA_DMA_API && INET && HDLC help Driver for Comtrol Hostess SV-11 network card which operates on low speed synchronous serial links at up to 256Kbps, supporting PPP and Cisco HDLC. The driver will be compiled as a module: the module will be called hostess_sv11. # The COSA/SRP driver has not been tested as non-modular yet. config COSA tristate "COSA/SRP sync serial boards support" depends on ISA && m && ISA_DMA_API && HDLC ---help--- Driver for COSA and SRP synchronous serial boards. These boards allow to connect synchronous serial devices (for example base-band modems, or any other device with the X.21, V.24, V.35 or V.36 interface) to your Linux box. The cards can work as the character device, synchronous PPP network device, or the Cisco HDLC network device. You will need user-space utilities COSA or SRP boards for downloading the firmware to the cards and to set them up. Look at the for more information. You can also read the comment at the top of the for details about the cards and the driver itself. The driver will be compiled as a module: the module will be called cosa. # # Lan Media's board. Currently 1000, 1200, 5200, 5245 # config LANMEDIA tristate "LanMedia Corp. SSI/V.35, T1/E1, HSSI, T3 boards" depends on PCI && VIRT_TO_BUS && HDLC ---help--- Driver for the following Lan Media family of serial boards: - LMC 1000 board allows you to connect synchronous serial devices (for example base-band modems, or any other device with the X.21, V.24, V.35 or V.36 interface) to your Linux box. - LMC 1200 with on board DSU board allows you to connect your Linux box directly to a T1 or E1 circuit. - LMC 5200 board provides a HSSI interface capable of running up to 52 Mbits per second. - LMC 5245 board connects directly to a T3 circuit saving the additional external hardware. To change setting such as clock source you will need lmcctl. It is available at (broken link). To compile this driver as a module, choose M here: the module will be called lmc. # There is no way to detect a Sealevel board. Force it modular config SEALEVEL_4021 tristate "Sealevel Systems 4021 support" depends on ISA && m && ISA_DMA_API && INET && HDLC help This is a driver for the Sealevel Systems ACB 56 serial I/O adapter. The driver will be compiled as a module: the module will be called sealevel. # Generic HDLC config HDLC tristate "Generic HDLC layer" help Say Y to this option if your Linux box contains a WAN (Wide Area Network) card supported by this driver and you are planning to connect the box to a WAN. You will need supporting software from . Generic HDLC driver currently supports raw HDLC, Cisco HDLC, Frame Relay, synchronous Point-to-Point Protocol (PPP) and X.25. To compile this driver as a module, choose M here: the module will be called hdlc. If unsure, say N. config HDLC_RAW tristate "Raw HDLC support" depends on HDLC help Generic HDLC driver supporting raw HDLC over WAN connections. If unsure, say N. config HDLC_RAW_ETH tristate "Raw HDLC Ethernet device support" depends on HDLC help Generic HDLC driver supporting raw HDLC Ethernet device emulation over WAN connections. You will need it for Ethernet over HDLC bridges. If unsure, say N. config HDLC_CISCO tristate "Cisco HDLC support" depends on HDLC help Generic HDLC driver supporting Cisco HDLC over WAN connections. If unsure, say N. config HDLC_FR tristate "Frame Relay support" depends on HDLC help Generic HDLC driver supporting Frame Relay over WAN connections. If unsure, say N. config HDLC_PPP tristate "Synchronous Point-to-Point Protocol (PPP) support" depends on HDLC help Generic HDLC driver supporting PPP over WAN connections. If unsure, say N. config HDLC_X25 tristate "X.25 protocol support" depends on HDLC && (LAPB=m && HDLC=m || LAPB=y) help Generic HDLC driver supporting X.25 over WAN connections. If unsure, say N. comment "X.25/LAPB support is disabled" depends on HDLC && (LAPB!=m || HDLC!=m) && LAPB!=y config PCI200SYN tristate "Goramo PCI200SYN support" depends on HDLC && PCI help Driver for PCI200SYN cards by Goramo sp. j. If you have such a card, say Y here and see . To compile this as a module, choose M here: the module will be called pci200syn. If unsure, say N. config WANXL tristate "SBE Inc. wanXL support" depends on HDLC && PCI help Driver for wanXL PCI cards by SBE Inc. If you have such a card, say Y here and see . To compile this as a module, choose M here: the module will be called wanxl. If unsure, say N. config WANXL_BUILD_FIRMWARE bool "rebuild wanXL firmware" depends on WANXL && !PREVENT_FIRMWARE_BUILD help Allows you to rebuild firmware run by the QUICC processor. It requires as68k, ld68k and hexdump programs. You should never need this option, say N. config PC300TOO tristate "Cyclades PC300 RSV/X21 alternative support" depends on HDLC && PCI help Alternative driver for PC300 RSV/X21 PCI cards made by Cyclades, Inc. If you have such a card, say Y here and see . To compile this as a module, choose M here: the module will be called pc300too. If unsure, say N here. config N2 tristate "SDL RISCom/N2 support" depends on HDLC && ISA help Driver for RISCom/N2 single or dual channel ISA cards by SDL Communications Inc. If you have such a card, say Y here and see . Note that N2csu and N2dds cards are not supported by this driver. To compile this driver as a module, choose M here: the module will be called n2. If unsure, say N. config C101 tristate "Moxa C101 support" depends on HDLC && ISA help Driver for C101 SuperSync ISA cards by Moxa Technologies Co., Ltd. If you have such a card, say Y here and see . To compile this driver as a module, choose M here: the module will be called c101. If unsure, say N. config FARSYNC tristate "FarSync T-Series support" depends on HDLC && PCI ---help--- Support for the FarSync T-Series X.21 (and V.35/V.24) cards by FarSite Communications Ltd. Synchronous communication is supported on all ports at speeds up to 8Mb/s (128K on V.24) using synchronous PPP, Cisco HDLC, raw HDLC, Frame Relay or X.25/LAPB. If you want the module to be automatically loaded when the interface is referenced then you should add "alias hdlcX farsync" to a file in /etc/modprobe.d/ for each interface, where X is 0, 1, 2, ..., or simply use "alias hdlc* farsync" to indicate all of them. To compile this driver as a module, choose M here: the module will be called farsync. config DSCC4 tristate "Etinc PCISYNC serial board support" depends on HDLC && PCI && m help Driver for Etinc PCISYNC boards based on the Infineon (ex. Siemens) DSCC4 chipset. This is supposed to work with the four port card. Take a look at for further information about the driver. To compile this driver as a module, choose M here: the module will be called dscc4. config DSCC4_PCISYNC bool "Etinc PCISYNC features" depends on DSCC4 help Due to Etinc's design choice for its PCISYNC cards, some operations are only allowed on specific ports of the DSCC4. This option is the only way for the driver to know that it shouldn't return a success code for these operations. Please say Y if your card is an Etinc's PCISYNC. config DSCC4_PCI_RST bool "Hard reset support" depends on DSCC4 help Various DSCC4 bugs forbid any reliable software reset of the ASIC. As a replacement, some vendors provide a way to assert the PCI #RST pin of DSCC4 through the GPIO port of the card. If you choose Y, the driver will make use of this feature before module removal (i.e. rmmod). The feature is known to be available on Commtech's cards. Contact your manufacturer for details. Say Y if your card supports this feature. config IXP4XX_HSS tristate "Intel IXP4xx HSS (synchronous serial port) support" depends on HDLC && ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR help Say Y here if you want to use built-in HSS ports on IXP4xx processor. config DLCI tristate "Frame Relay DLCI support" ---help--- Support for the Frame Relay protocol. Frame Relay is a fast low-cost way to connect to a remote Internet access provider or to form a private wide area network. The one physical line from your box to the local "switch" (i.e. the entry point to the Frame Relay network, usually at the phone company) can carry several logical point-to-point connections to other computers connected to the Frame Relay network. For a general explanation of the protocol, check out . To use frame relay, you need supporting hardware (called FRAD) and certain programs from the net-tools package as explained in . To compile this driver as a module, choose M here: the module will be called dlci. config DLCI_MAX int "Max DLCI per device" depends on DLCI default "8" help How many logical point-to-point frame relay connections (the identifiers of which are called DCLIs) should be handled by each of your hardware frame relay access devices. Go with the default. config SDLA tristate "SDLA (Sangoma S502/S508) support" depends on DLCI && ISA help Driver for the Sangoma S502A, S502E, and S508 Frame Relay Access Devices. These are multi-protocol cards, but only Frame Relay is supported by the driver at this time. Please read . To compile this driver as a module, choose M here: the module will be called sdla. # X.25 network drivers config LAPBETHER tristate "LAPB over Ethernet driver" depends on LAPB && X25 ---help--- Driver for a pseudo device (typically called /dev/lapb0) which allows you to open an LAPB point-to-point connection to some other computer on your Ethernet network. In order to do this, you need to say Y or M to the driver for your Ethernet card as well as to "LAPB Data Link Driver". To compile this driver as a module, choose M here: the module will be called lapbether. If unsure, say N. config X25_ASY tristate "X.25 async driver" depends on LAPB && X25 && TTY ---help--- Send and receive X.25 frames over regular asynchronous serial lines such as telephone lines equipped with ordinary modems. Experts should note that this driver doesn't currently comply with the asynchronous HDLS framing protocols in CCITT recommendation X.25. To compile this driver as a module, choose M here: the module will be called x25_asy. If unsure, say N. config SBNI tristate "Granch SBNI12 Leased Line adapter support" depends on X86 ---help--- Driver for ISA SBNI12-xx cards which are low cost alternatives to leased line modems. You can find more information and last versions of drivers and utilities at . If you have any question you can send email to . To compile this driver as a module, choose M here: the module will be called sbni. If unsure, say N. config SBNI_MULTILINE bool "Multiple line feature support" depends on SBNI help Schedule traffic for some parallel lines, via SBNI12 adapters. If you have two computers connected with two parallel lines it's possible to increase transfer rate nearly twice. You should have a program named 'sbniconfig' to configure adapters. If unsure, say N. endif # WAN # # WiMAX LAN device drivers configuration # comment "Enable WiMAX (Networking options) to see the WiMAX drivers" depends on WIMAX = n if WIMAX menu "WiMAX Wireless Broadband devices" source "drivers/net/wimax/i2400m/Kconfig" endmenu endif config WIMAX_I2400M tristate depends on WIMAX select FW_LOADER comment "Enable USB support to see WiMAX USB drivers" depends on USB = n config WIMAX_I2400M_USB tristate "Intel Wireless WiMAX Connection 2400 over USB (including 5x50)" depends on WIMAX && USB select WIMAX_I2400M help Select if you have a device based on the Intel WiMAX Connection 2400 over USB (like any of the Intel Wireless WiMAX/WiFi Link 5x50 series). If unsure, it is safe to select M (module). config WIMAX_I2400M_DEBUG_LEVEL int "WiMAX i2400m debug level" depends on WIMAX_I2400M default 8 help Select the maximum debug verbosity level to be compiled into the WiMAX i2400m driver code. By default, this is disabled at runtime and can be selectively enabled at runtime for different parts of the code using the sysfs debug-levels file. If set at zero, this will compile out all the debug code. It is recommended that it is left at 8. # # Wireless LAN device configuration # menuconfig WLAN bool "Wireless LAN" depends on !S390 depends on NET select WIRELESS default y ---help--- This section contains all the pre 802.11 and 802.11 wireless device drivers. For a complete list of drivers and documentation on them refer to the wireless wiki: http://wireless.kernel.org/en/users/Drivers if WLAN config PCMCIA_RAYCS tristate "Aviator/Raytheon 2.4GHz wireless support" depends on PCMCIA select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV ---help--- Say Y here if you intend to attach an Aviator/Raytheon PCMCIA (PC-card) wireless Ethernet networking card to your computer. Please read the file for details. To compile this driver as a module, choose M here: the module will be called ray_cs. If unsure, say N. config LIBERTAS_THINFIRM tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware" depends on MAC80211 select FW_LOADER ---help--- A library for Marvell Libertas 8xxx devices using thinfirm. config LIBERTAS_THINFIRM_DEBUG bool "Enable full debugging output in the Libertas thin firmware module." depends on LIBERTAS_THINFIRM ---help--- Debugging support. config LIBERTAS_THINFIRM_USB tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware" depends on LIBERTAS_THINFIRM && USB ---help--- A driver for Marvell Libertas 8388 USB devices using thinfirm. config AIRO tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards" depends on ISA_DMA_API && (PCI || BROKEN) select WIRELESS_EXT select CRYPTO select WEXT_SPY select WEXT_PRIV ---help--- This is the standard Linux driver to support Cisco/Aironet ISA and PCI 802.11 wireless cards. It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X - with or without encryption) as well as card before the Cisco acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). This driver support both the standard Linux Wireless Extensions and Cisco proprietary API, so both the Linux Wireless Tools and the Cisco Linux utilities can be used to configure the card. The driver can be compiled as a module and will be named "airo". config ATMEL tristate "Atmel at76c50x chipset 802.11b support" depends on (PCI || PCMCIA) select WIRELESS_EXT select WEXT_PRIV select FW_LOADER select CRC32 ---help--- A driver 802.11b wireless cards based on the Atmel fast-vnet chips. This driver supports standard Linux wireless extensions. Many cards based on this chipset do not have flash memory and need their firmware loaded at start-up. If yours is one of these, you will need to provide a firmware image to be loaded into the card by the driver. The Atmel firmware package can be downloaded from config PCI_ATMEL tristate "Atmel at76c506 PCI cards" depends on ATMEL && PCI ---help--- Enable support for PCI and mini-PCI cards containing the Atmel at76c506 chip. config PCMCIA_ATMEL tristate "Atmel at76c502/at76c504 PCMCIA cards" depends on ATMEL && PCMCIA select WIRELESS_EXT select FW_LOADER select CRC32 ---help--- Enable support for PCMCIA cards containing the Atmel at76c502 and at76c504 chips. config AT76C50X_USB tristate "Atmel at76c503/at76c505/at76c505a USB cards" depends on MAC80211 && USB select FW_LOADER ---help--- Enable support for USB Wireless devices using Atmel at76c503, at76c505 or at76c505a chips. config AIRO_CS tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards" depends on PCMCIA && (BROKEN || !M32R) select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_AES ---help--- This is the standard Linux driver to support Cisco/Aironet PCMCIA 802.11 wireless cards. This driver is the same as the Aironet driver part of the Linux Pcmcia package. It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X - with or without encryption) as well as card before the Cisco acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). It also supports OEM of Cisco such as the DELL TrueMobile 4800 and Xircom 802.11b cards. This driver support both the standard Linux Wireless Extensions and Cisco proprietary API, so both the Linux Wireless Tools and the Cisco Linux utilities can be used to configure the card. config PCMCIA_WL3501 tristate "Planet WL3501 PCMCIA cards" depends on PCMCIA select WIRELESS_EXT select WEXT_SPY help A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet. It has basic support for Linux wireless extensions and initial micro support for ethtool. config PRISM54 tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus (DEPRECATED)' depends on PCI select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER ---help--- This enables support for FullMAC PCI/Cardbus prism54 devices. This driver is now deprecated in favor for the SoftMAC driver, p54pci. p54pci supports FullMAC PCI/Cardbus devices as well. For more information refer to the p54 wiki: http://wireless.kernel.org/en/users/Drivers/p54 Note: You need a motherboard with DMA support to use any of these cards When built as module you get the module prism54 config USB_ZD1201 tristate "USB ZD1201 based Wireless device support" depends on USB select WIRELESS_EXT select WEXT_PRIV select FW_LOADER ---help--- Say Y if you want to use wireless LAN adapters based on the ZyDAS ZD1201 chip. This driver makes the adapter appear as a normal Ethernet interface, typically on wlan0. The zd1201 device requires external firmware to be loaded. This can be found at http://linux-lc100020.sourceforge.net/ To compile this driver as a module, choose M here: the module will be called zd1201. config USB_NET_RNDIS_WLAN tristate "Wireless RNDIS USB support" depends on USB depends on CFG80211 select USB_USBNET select USB_NET_CDCETHER select USB_NET_RNDIS_HOST ---help--- This is a driver for wireless RNDIS devices. These are USB based adapters found in devices such as: Buffalo WLI-U2-KG125S U.S. Robotics USR5421 Belkin F5D7051 Linksys WUSB54GSv2 Linksys WUSB54GSC Asus WL169gE Eminent EM4045 BT Voyager 1055 Linksys WUSB54GSv1 U.S. Robotics USR5420 BUFFALO WLI-USB-G54 All of these devices are based on Broadcom 4320 chip which is the only wireless RNDIS chip known to date. If you choose to build a module, it'll be called rndis_wlan. source "drivers/net/wireless/rtl818x/Kconfig" config ADM8211 tristate "ADMtek ADM8211 support" depends on MAC80211 && PCI select CRC32 select EEPROM_93CX6 ---help--- This driver is for ADM8211A, ADM8211B, and ADM8211C based cards. These are PCI/mini-PCI/Cardbus 802.11b chips found in cards such as: Xterasys Cardbus XN-2411b Blitz NetWave Point PC TrendNet 221pc Belkin F5D6001 SMC 2635W Linksys WPC11 v1 Fiberline FL-WL-200X 3com Office Connect (3CRSHPW796) Corega WLPCIB-11 SMC 2602W V2 EU D-Link DWL-520 Revision C However, some of these cards have been replaced with other chips like the RTL8180L (Xterasys Cardbus XN-2411b, Belkin F5D6001) or the Ralink RT2400 (SMC2635W) without a model number change. Thanks to Infineon-ADMtek for their support of this driver. config MAC80211_HWSIM tristate "Simulated radio testing tool for mac80211" depends on MAC80211 ---help--- This driver is a developer testing tool that can be used to test IEEE 802.11 networking stack (mac80211) functionality. This is not needed for normal wireless LAN usage and is only for testing. See Documentation/networking/mac80211_hwsim for more information on how to use this tool. To compile this driver as a module, choose M here: the module will be called mac80211_hwsim. If unsure, say N. config MWL8K tristate "Marvell 88W8xxx PCI/PCIe Wireless support" depends on MAC80211 && PCI ---help--- This driver supports Marvell TOPDOG 802.11 wireless cards. To compile this driver as a module, choose M here: the module will be called mwl8k. If unsure, say N. source "drivers/net/wireless/ath/Kconfig" source "drivers/net/wireless/b43/Kconfig" source "drivers/net/wireless/b43legacy/Kconfig" source "drivers/net/wireless/brcm80211/Kconfig" source "drivers/net/wireless/hostap/Kconfig" source "drivers/net/wireless/ipw2x00/Kconfig" source "drivers/net/wireless/iwlwifi/Kconfig" source "drivers/net/wireless/iwlegacy/Kconfig" source "drivers/net/wireless/libertas/Kconfig" source "drivers/net/wireless/orinoco/Kconfig" source "drivers/net/wireless/p54/Kconfig" source "drivers/net/wireless/rt2x00/Kconfig" source "drivers/net/wireless/rtlwifi/Kconfig" source "drivers/net/wireless/ti/Kconfig" source "drivers/net/wireless/zd1211rw/Kconfig" source "drivers/net/wireless/mwifiex/Kconfig" source "drivers/net/wireless/cw1200/Kconfig" endif # WLAN config ATH_COMMON tristate menuconfig ATH_CARDS tristate "Atheros Wireless Cards" depends on CFG80211 && (!UML || BROKEN) ---help--- This will enable the support for the Atheros wireless drivers. ath5k, ath9k, ath9k_htc and ar9170 drivers share some common code, this option enables the common ath.ko module which shares common helpers. For more information and documentation on this module you can visit: http://wireless.kernel.org/en/users/Drivers/ath For information on all Atheros wireless drivers visit: http://wireless.kernel.org/en/users/Drivers/Atheros if ATH_CARDS config ATH_DEBUG bool "Atheros wireless debugging" ---help--- Say Y, if you want to debug atheros wireless drivers. Right now only ath9k makes use of this. config ATH_REG_DYNAMIC_USER_REG_HINTS bool "Atheros dynamic user regulatory hints" depends on CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled in countries where this feature is explicitly allowed and only on cards that specifically have been tested for this. config ATH_REG_DYNAMIC_USER_CERT_TESTING bool "Atheros dynamic user regulatory testing" depends on ATH_REG_DYNAMIC_USER_REG_HINTS && CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled on systems undergoing certification testing. source "drivers/net/wireless/ath/ath5k/Kconfig" source "drivers/net/wireless/ath/ath9k/Kconfig" source "drivers/net/wireless/ath/carl9170/Kconfig" source "drivers/net/wireless/ath/ath6kl/Kconfig" source "drivers/net/wireless/ath/ar5523/Kconfig" source "drivers/net/wireless/ath/wil6210/Kconfig" source "drivers/net/wireless/ath/ath10k/Kconfig" source "drivers/net/wireless/ath/wcn36xx/Kconfig" endif config AR5523 tristate "Atheros AR5523 wireless driver support" depends on MAC80211 && USB select ATH_COMMON select FW_LOADER ---help--- This module add support for AR5523 based USB dongles such as D-Link DWL-G132, Netgear WPN111 and many more. config ATH10K tristate "Atheros 802.11ac wireless cards support" depends on MAC80211 && HAS_DMA select ATH_COMMON ---help--- This module adds support for wireless adapters based on Atheros IEEE 802.11ac family of chipsets. If you choose to build a module, it'll be called ath10k. config ATH10K_PCI tristate "Atheros ath10k PCI support" depends on ATH10K && PCI ---help--- This module adds support for PCIE bus config ATH10K_DEBUG bool "Atheros ath10k debugging" depends on ATH10K ---help--- Enables debug support If unsure, say Y to make it easier to debug problems. config ATH10K_DEBUGFS bool "Atheros ath10k debugfs support" depends on ATH10K ---help--- Enabled debugfs support If unsure, say Y to make it easier to debug problems. config ATH10K_TRACING bool "Atheros ath10k tracing support" depends on ATH10K depends on EVENT_TRACING ---help--- Select this to ath10k use tracing infrastructure. config ATH5K tristate "Atheros 5xxx wireless cards support" depends on (PCI || ATHEROS_AR231X) && MAC80211 select ATH_COMMON select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select AVERAGE select ATH5K_AHB if (ATHEROS_AR231X && !PCI) select ATH5K_PCI if (!ATHEROS_AR231X && PCI) ---help--- This module adds support for wireless adapters based on Atheros 5xxx chipset. Currently the following chip versions are supported: MAC: AR5211 AR5212 PHY: RF5111/2111 RF5112/2112 RF5413/2413 This driver uses the kernel's mac80211 subsystem. If you choose to build a module, it'll be called ath5k. Say M if unsure. config ATH5K_DEBUG bool "Atheros 5xxx debugging" depends on ATH5K ---help--- Atheros 5xxx debugging messages. Say Y, if and you will get debug options for ath5k. To use this, you need to mount debugfs: mount -t debugfs debug /sys/kernel/debug You will get access to files under: /sys/kernel/debug/ath5k/phy0/ To enable debug, pass the debug level to the debug module parameter. For example: modprobe ath5k debug=0x00000400 config ATH5K_TRACER bool "Atheros 5xxx tracer" depends on ATH5K depends on EVENT_TRACING ---help--- Say Y here to enable tracepoints for the ath5k driver using the kernel tracing infrastructure. Select this option if you are interested in debugging the driver. If unsure, say N. config ATH5K_AHB bool "Atheros 5xxx AHB bus support" depends on (ATHEROS_AR231X && !PCI) ---help--- This adds support for WiSoC type chipsets of the 5xxx Atheros family. config ATH5K_PCI bool "Atheros 5xxx PCI bus support" depends on (!ATHEROS_AR231X && PCI) ---help--- This adds support for PCI type chipsets of the 5xxx Atheros family. config ATH5K_TEST_CHANNELS bool "Enables testing channels on ath5k" depends on ATH5K && CFG80211_CERTIFICATION_ONUS ---help--- This enables non-standard IEEE 802.11 channels on ath5k, which can be used for research purposes. This option should be disabled unless doing research. config ATH6KL tristate "Atheros mobile chipsets support" config ATH6KL_SDIO tristate "Atheros ath6kl SDIO support" depends on ATH6KL depends on MMC depends on CFG80211 ---help--- This module adds support for wireless adapters based on Atheros AR6003 and AR6004 chipsets running over SDIO. If you choose to build it as a module, it will be called ath6kl_sdio. Please note that AR6002 and AR6001 are not supported by this driver. config ATH6KL_USB tristate "Atheros ath6kl USB support" depends on ATH6KL depends on USB depends on CFG80211 ---help--- This module adds support for wireless adapters based on Atheros AR6004 chipset running over USB. This is still under implementation and it isn't functional. If you choose to build it as a module, it will be called ath6kl_usb. config ATH6KL_DEBUG bool "Atheros ath6kl debugging" depends on ATH6KL ---help--- Enables debug support config ATH6KL_TRACING bool "Atheros ath6kl tracing support" depends on ATH6KL depends on EVENT_TRACING ---help--- Select this to ath6kl use tracing infrastructure. If unsure, say Y to make it easier to debug problems. config ATH6KL_REGDOMAIN bool "Atheros ath6kl regdomain support" depends on ATH6KL depends on CFG80211_CERTIFICATION_ONUS ---help--- Enabling this makes it possible to change the regdomain in the firmware. This can be only enabled if regulatory requirements are taken into account. config ATH9K_HW tristate config ATH9K_COMMON tristate select ATH_COMMON config ATH9K_DFS_DEBUGFS def_bool y depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED config ATH9K_BTCOEX_SUPPORT bool "Atheros bluetooth coexistence support" depends on (ATH9K || ATH9K_HTC) default y ---help--- Say Y, if you want to use the ath9k/ath9k_htc radios together with Bluetooth modules in the same system. config ATH9K tristate "Atheros 802.11n wireless cards support" depends on MAC80211 && HAS_DMA select ATH9K_HW select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select ATH9K_COMMON ---help--- This module adds support for wireless adapters based on Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family of chipsets. For a specific list of supported external cards, laptops that already ship with these cards and APs that come with these cards refer to ath9k wiki products page: http://wireless.kernel.org/en/users/Drivers/ath9k/products If you choose to build a module, it'll be called ath9k. config ATH9K_PCI bool "Atheros ath9k PCI/PCIe bus support" default y depends on ATH9K && PCI ---help--- This option enables the PCI bus support in ath9k. Say Y, if you have a compatible PCI/PCIe wireless card. config ATH9K_AHB bool "Atheros ath9k AHB bus support" depends on ATH9K default n ---help--- This option enables the AHB bus support in ath9k. Say Y, if you have a SoC with a compatible built-in wireless MAC. Say N if unsure. config ATH9K_DEBUGFS bool "Atheros ath9k debugging" depends on ATH9K && DEBUG_FS select MAC80211_DEBUGFS select RELAY ---help--- Say Y, if you need access to ath9k's statistics for interrupts, rate control, etc. Also required for changing debug message flags at run time. config ATH9K_DFS_CERTIFIED bool "Atheros DFS support for certified platforms" depends on ATH9K && CFG80211_CERTIFICATION_ONUS default n ---help--- This option enables DFS support for initiating radiation on ath9k. There is no way to dynamically detect if a card was DFS certified and as such this is left as a build time option. This option should only be enabled by system integrators that can guarantee that all the platforms that their kernel will run on have obtained appropriate regulatory body certification for a respective Atheros card by using ath9k on the target shipping platforms. This is currently only a placeholder for future DFS support, as DFS support requires more components that still need to be developed. At this point enabling this option won't do anything except increase code size. config ATH9K_TX99 bool "Atheros ath9k TX99 testing support" depends on CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled on systems undergoing certification testing and evaluation in a controlled environment. Enabling this will only enable TX99 support, all other modes of operation will be disabled. TX99 support enables Specific Absorption Rate (SAR) testing. SAR is the unit of measurement for the amount of radio frequency(RF) absorbed by the body when using a wireless device. The RF exposure limits used are expressed in the terms of SAR, which is a measure of the electric and magnetic field strength and power density for transmitters operating at frequencies from 300 kHz to 100 GHz. Regulatory bodies around the world require that wireless device be evaluated to meet the RF exposure limits set forth in the governmental SAR regulations. config ATH9K_LEGACY_RATE_CONTROL bool "Atheros ath9k rate control" depends on ATH9K default n ---help--- Say Y, if you want to use the ath9k specific rate control module instead of minstrel_ht. Be warned that there are various issues with the ath9k RC and minstrel is a more robust algorithm. Note that even if this option is selected, "ath9k_rate_control" has to be passed to mac80211 using the module parameter, ieee80211_default_rc_algo. config ATH9K_RFKILL bool "Atheros ath9k rfkill support" if EXPERT depends on ATH9K depends on RFKILL=y || RFKILL=ATH9K default y help Say Y to have ath9k poll the RF-Kill GPIO every couple of seconds. Turn off to save power, but enable it if you have a platform that can toggle the RF-Kill GPIO. config ATH9K_HTC tristate "Atheros HTC based wireless cards support" depends on USB && MAC80211 select ATH9K_HW select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select ATH9K_COMMON ---help--- Support for Atheros HTC based cards. Chipsets supported: AR9271 For more information: http://wireless.kernel.org/en/users/Drivers/ath9k_htc The built module will be ath9k_htc. config ATH9K_HTC_DEBUGFS bool "Atheros ath9k_htc debugging" depends on ATH9K_HTC && DEBUG_FS ---help--- Say Y, if you need access to ath9k_htc's statistics. config CARL9170 tristate "Linux Community AR9170 802.11n USB support" depends on USB && MAC80211 select ATH_COMMON select FW_LOADER select CRC32 help This is another driver for the Atheros "otus" 802.11n USB devices. This driver provides more features than the original, but it needs a special firmware (carl9170-1.fw) to do that. The firmware can be downloaded from our wiki here: If you choose to build a module, it'll be called carl9170. config CARL9170_LEDS bool "SoftLED Support" depends on CARL9170 select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS default y help This option is necessary, if you want your device' LEDs to blink Say Y, unless you need the LEDs for firmware debugging. config CARL9170_DEBUGFS bool "DebugFS Support" depends on CARL9170 && DEBUG_FS && MAC80211_DEBUGFS default n help Export several driver and device internals to user space. Say N. config CARL9170_WPC bool depends on CARL9170 && (INPUT = y || INPUT = CARL9170) default y config CARL9170_HWRNG bool "Random number generator" depends on CARL9170 && (HW_RANDOM = y || HW_RANDOM = CARL9170) default n help Provides a hardware random number generator to the kernel. SECURITY WARNING: It's relatively easy to eavesdrop all generated random numbers from the transport stream with usbmon [software] or special usb sniffer hardware. Say N, unless your setup[i.e.: embedded system] has no other rng source and you can afford to take the risk. config WCN36XX tristate "Qualcomm Atheros WCN3660/3680 support" depends on MAC80211 && HAS_DMA ---help--- This module adds support for wireless adapters based on Qualcomm Atheros WCN3660 and WCN3680 mobile chipsets. If you choose to build a module, it'll be called wcn36xx. config WCN36XX_DEBUGFS bool "WCN36XX debugfs support" depends on WCN36XX ---help--- Enabled debugfs support If unsure, say Y to make it easier to debug problems. config WIL6210 tristate "Wilocity 60g WiFi card wil6210 support" depends on CFG80211 depends on PCI default n ---help--- This module adds support for wireless adapter based on wil6210 chip by Wilocity. It supports operation on the 60 GHz band, covered by the IEEE802.11ad standard. http://wireless.kernel.org/en/users/Drivers/wil6210 If you choose to build it as a module, it will be called wil6210 config WIL6210_ISR_COR bool "Use Clear-On-Read mode for ISR registers for wil6210" depends on WIL6210 default y ---help--- ISR registers on wil6210 chip may operate in either COR (Clear-On-Read) or W1C (Write-1-to-Clear) mode. For production code, use COR (say y); is default since it saves extra target transaction; For ISR debug, use W1C (say n); is allows to monitor ISR registers with debugfs. If COR were used, ISR would self-clear when accessed for debug purposes, it makes such monitoring impossible. Say y unless you debug interrupts config WIL6210_TRACING bool "wil6210 tracing support" depends on WIL6210 depends on EVENT_TRACING default y ---help--- Say Y here to enable tracepoints for the wil6210 driver using the kernel tracing infrastructure. Select this option if you are interested in debugging the driver. If unsure, say Y to make it easier to debug problems. config B43 tristate "Broadcom 43xx wireless support (mac80211 stack)" depends on SSB_POSSIBLE && MAC80211 && HAS_DMA select SSB select FW_LOADER ---help--- b43 is a driver for the Broadcom 43xx series wireless devices. Check "lspci" for something like "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller" to determine whether you own such a device. This driver supports the new BCM43xx IEEE 802.11G devices, but not the old IEEE 802.11B devices. Old devices are supported by the b43legacy driver. Note that this has nothing to do with the standard that your AccessPoint supports (A, B, G or a combination). IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints. It is safe to include both b43 and b43legacy as the underlying glue layer will automatically load the correct version for your device. This driver uses V4 firmware, which must be installed separately using b43-fwcutter. This driver can be built as a module (recommended) that will be called "b43". If unsure, say M. config B43_BCMA bool "Support for BCMA bus" depends on B43 && (BCMA = y || BCMA = B43) default y config B43_SSB bool depends on B43 && (SSB = y || SSB = B43) default y # Auto-select SSB PCI-HOST support, if possible config B43_PCI_AUTOSELECT bool depends on B43 && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST select SSB_B43_PCI_BRIDGE default y # Auto-select SSB PCICORE driver, if possible config B43_PCICORE_AUTOSELECT bool depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y config B43_PCMCIA bool "Broadcom 43xx PCMCIA device support" depends on B43 && SSB_PCMCIAHOST_POSSIBLE select SSB_PCMCIAHOST ---help--- Broadcom 43xx PCMCIA device support. Support for 16bit PCMCIA devices. Please note that most PC-CARD devices are _NOT_ 16bit PCMCIA devices, but 32bit CardBUS devices. CardBUS devices are supported out of the box by b43. With this config option you can drive b43 cards in CompactFlash formfactor in a PCMCIA adaptor. CF b43 cards can sometimes be found in handheld PCs. It's safe to select Y here, even if you don't have a B43 PCMCIA device. If unsure, say N. config B43_SDIO bool "Broadcom 43xx SDIO device support" depends on B43 && SSB_SDIOHOST_POSSIBLE select SSB_SDIOHOST ---help--- Broadcom 43xx device support for Soft-MAC SDIO devices. With this config option you can drive Soft-MAC b43 cards with a Secure Digital I/O interface. This includes the WLAN daughter card found on the Nintendo Wii video game console. Note that this does not support Broadcom 43xx Full-MAC devices. It's safe to select Y here, even if you don't have a B43 SDIO device. If unsure, say N. #Data transfers to the device via PIO. We want it as a fallback even # if we can do DMA. config B43_BCMA_PIO bool depends on B43_BCMA select BCMA_BLOCKIO default y config B43_PIO bool depends on B43 select SSB_BLOCKIO default y config B43_PHY_N bool "Support for 802.11n (N-PHY) devices" depends on B43 default y ---help--- Support for the N-PHY. This enables support for devices with N-PHY. Say N if you expect high stability and performance. Saying Y will not affect other devices support and may provide support for basic needs. config B43_PHY_LP bool "Support for low-power (LP-PHY) devices" depends on B43 default y ---help--- Support for the LP-PHY. The LP-PHY is a low-power PHY built into some notebooks and embedded devices. It supports 802.11a/b/g (802.11a support is optional, and currently disabled). config B43_PHY_HT bool "Support for HT-PHY (high throughput) devices" depends on B43 && B43_BCMA default y ---help--- Support for the HT-PHY. Enables support for BCM4331 and possibly other chipsets with that PHY. config B43_PHY_LCN bool "Support for LCN-PHY devices (BROKEN)" depends on B43 && BROKEN ---help--- Support for the LCN-PHY. Say N, this is BROKEN and crashes driver. # This config option automatically enables b43 LEDS support, # if it's possible. config B43_LEDS bool depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43) default y # This config option automatically enables b43 HW-RNG support, # if the HW-RNG core is enabled. config B43_HWRNG bool depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43) default y config B43_DEBUG bool "Broadcom 43xx debugging" depends on B43 ---help--- Broadcom 43xx debugging. This adds additional runtime sanity checks and statistics to the driver. These checks and statistics might be expensive and hurt the runtime performance of your system. This also adds the b43 debugfs interface. Do not enable this, unless you are debugging the driver. Say N, if you are a distributor or user building a release kernel for production use. Only say Y, if you are debugging a problem in the b43 driver sourcecode. config B43LEGACY tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" depends on SSB_POSSIBLE && MAC80211 && HAS_DMA select SSB select FW_LOADER ---help--- b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the Linksys WPC54G V1 PCMCIA devices. Newer 802.11g and 802.11a devices need b43. It is safe to include both b43 and b43legacy as the underlying glue layer will automatically load the correct version for your device. This driver uses V3 firmware, which must be installed separately using b43-fwcutter. This driver can be built as a module (recommended) that will be called "b43legacy". If unsure, say M. # Auto-select SSB PCI-HOST support, if possible config B43LEGACY_PCI_AUTOSELECT bool depends on B43LEGACY && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST select SSB_B43_PCI_BRIDGE default y # Auto-select SSB PCICORE driver, if possible config B43LEGACY_PCICORE_AUTOSELECT bool depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y # LED support # This config option automatically enables b43legacy LEDS support, # if it's possible. config B43LEGACY_LEDS bool depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) default y # This config option automatically enables b43 HW-RNG support, # if the HW-RNG core is enabled. config B43LEGACY_HWRNG bool depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) default y config B43LEGACY_DEBUG bool "Broadcom 43xx-legacy debugging" depends on B43LEGACY default y ---help--- Say Y, because this information will help you get the driver running. This option generates a minimum of log output. config B43LEGACY_DMA bool depends on B43LEGACY config B43LEGACY_PIO bool depends on B43LEGACY choice prompt "Broadcom 43xx-legacy data transfer mode" depends on B43LEGACY default B43LEGACY_DMA_AND_PIO_MODE config B43LEGACY_DMA_AND_PIO_MODE bool "DMA + PIO" select B43LEGACY_DMA select B43LEGACY_PIO ---help--- Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) data transfer modes. The mode actually used is selectable through the module parameter "pio". With pio=0 as a module parameter, the default DMA is used, otherwise PIO is used. If unsure, choose this option. config B43LEGACY_DMA_MODE bool "DMA (Direct Memory Access) only" select B43LEGACY_DMA ---help--- Only include Direct Memory Access (DMA). This reduces the size of the driver module, by omitting the PIO code. config B43LEGACY_PIO_MODE bool "PIO (Programmed I/O) only" select B43LEGACY_PIO ---help--- Only include Programmed I/O (PIO). This reduces the size of the driver module, by omitting the DMA code. Please note that PIO transfers are slow (compared to DMA). Also note that not all devices of the b43legacy series support PIO. You should use PIO only if DMA does not work for you. endchoice config BRCMUTIL tristate config BRCMSMAC tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver" depends on MAC80211 depends on BCMA select NEW_LEDS if BCMA_DRIVER_GPIO select LEDS_CLASS if BCMA_DRIVER_GPIO select BRCMUTIL select FW_LOADER select CRC_CCITT select CRC8 select CORDIC ---help--- This module adds support for PCIe wireless adapters based on Broadcom IEEE802.11n SoftMAC chipsets. It also has WLAN led support, which will be available if you select BCMA_DRIVER_GPIO. If you choose to build a module, the driver will be called brcmsmac.ko. config BRCMFMAC tristate "Broadcom IEEE802.11n embedded FullMAC WLAN driver" depends on CFG80211 select BRCMUTIL ---help--- This module adds support for embedded wireless adapters based on Broadcom IEEE802.11n FullMAC chipsets. It has to work with at least one of the bus interface support. If you choose to build a module, it'll be called brcmfmac.ko. config BRCMFMAC_SDIO bool "SDIO bus interface support for FullMAC driver" depends on (MMC = y || MMC = BRCMFMAC) depends on BRCMFMAC select FW_LOADER default y ---help--- This option enables the SDIO bus interface support for Broadcom IEEE802.11n embedded FullMAC WLAN driver. Say Y if you want to use the driver for a SDIO wireless card. config BRCMFMAC_USB bool "USB bus interface support for FullMAC driver" depends on (USB = y || USB = BRCMFMAC) depends on BRCMFMAC select FW_LOADER ---help--- This option enables the USB bus interface support for Broadcom IEEE802.11n embedded FullMAC WLAN driver. Say Y if you want to use the driver for an USB wireless card. config BRCM_TRACING bool "Broadcom device tracing" depends on BRCMSMAC || BRCMFMAC ---help--- If you say Y here, the Broadcom wireless drivers will register with ftrace to dump event information into the trace ringbuffer. Tracing can be enabled at runtime to aid in debugging wireless issues. This option adds a small amount of overhead when tracing is disabled. If unsure, say Y to allow developers to better help you when wireless problems occur. config BRCMDBG bool "Broadcom driver debug functions" depends on BRCMSMAC || BRCMFMAC ---help--- Selecting this enables additional code for debug purposes. config CW1200 tristate "CW1200 WLAN support" depends on MAC80211 && CFG80211 help This is a driver for the ST-E CW1100 & CW1200 WLAN chipsets. This option just enables the driver core, see below for specific bus support. if CW1200 config CW1200_WLAN_SDIO tristate "Support SDIO platforms" depends on CW1200 && MMC help Enable support for the CW1200 connected via an SDIO bus. By default this driver only supports the Sagrad SG901-1091/1098 EVK and similar designs that utilize a hardware reset circuit. To support different CW1200 SDIO designs you will need to override the default platform data by calling cw1200_sdio_set_platform_data() in your board setup file. config CW1200_WLAN_SPI tristate "Support SPI platforms" depends on CW1200 && SPI help Enables support for the CW1200 connected via a SPI bus. You will need to add appropriate platform data glue in your board setup file. endif config HOSTAP tristate "IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)" select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_ARC4 select CRYPTO_ECB select CRYPTO_AES select CRYPTO_MICHAEL_MIC select CRYPTO_ECB select CRC32 select LIB80211 select LIB80211_CRYPT_WEP select LIB80211_CRYPT_TKIP select LIB80211_CRYPT_CCMP ---help--- Shared driver code for IEEE 802.11b wireless cards based on Intersil Prism2/2.5/3 chipset. This driver supports so called Host AP mode that allows the card to act as an IEEE 802.11 access point. See for more information about the Host AP driver configuration and tools. This site includes information and tools (hostapd and wpa_supplicant) for WPA/WPA2 support. This option includes the base Host AP driver code that is shared by different hardware models. You will also need to enable support for PLX/PCI/CS version of the driver to actually use the driver. The driver can be compiled as a module and it will be called hostap. config HOSTAP_FIRMWARE bool "Support downloading firmware images with Host AP driver" depends on HOSTAP ---help--- Configure Host AP driver to include support for firmware image download. This option by itself only enables downloading to the volatile memory, i.e. the card RAM. This option is required to support cards that don't have firmware in flash, such as D-Link DWL-520 rev E and D-Link DWL-650 rev P. Firmware image downloading needs a user space tool, prism2_srec. It is available from http://hostap.epitest.fi/. config HOSTAP_FIRMWARE_NVRAM bool "Support for non-volatile firmware download" depends on HOSTAP_FIRMWARE ---help--- Allow Host AP driver to write firmware images to the non-volatile card memory, i.e. flash memory that survives power cycling. Enable this option if you want to be able to change card firmware permanently. Firmware image downloading needs a user space tool, prism2_srec. It is available from http://hostap.epitest.fi/. config HOSTAP_PLX tristate "Host AP driver for Prism2/2.5/3 in PLX9052 PCI adaptors" depends on PCI && HOSTAP ---help--- Host AP driver's version for Prism2/2.5/3 PC Cards in PLX9052 based PCI adaptors. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_plx. config HOSTAP_PCI tristate "Host AP driver for Prism2.5 PCI adaptors" depends on PCI && HOSTAP ---help--- Host AP driver's version for Prism2.5 PCI adaptors. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_pci. config HOSTAP_CS tristate "Host AP driver for Prism2/2.5/3 PC Cards" depends on PCMCIA && HOSTAP ---help--- Host AP driver's version for Prism2/2.5/3 PC Cards. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_cs. # # Intel Centrino wireless drivers # config IPW2100 tristate "Intel PRO/Wireless 2100 Network Connection" depends on PCI && CFG80211 select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select LIB80211 select LIBIPW ---help--- A driver for the Intel PRO/Wireless 2100 Network Connection 802.11b wireless network adapter. See for information on the capabilities currently enabled in this driver and for tips for debugging issues and problems. In order to use this driver, you will need a firmware image for it. You can obtain the firmware from . Once you have the firmware image, you will need to place it in /lib/firmware. You will also very likely need the Wireless Tools in order to configure your card: . It is recommended that you compile this driver as a module (M) rather than built-in (Y). This driver requires firmware at device initialization time, and when built-in this typically happens before the filesystem is accessible (hence firmware will be unavailable and initialization will fail). If you do choose to build this driver into your kernel image, you can avoid this problem by including the firmware and a firmware loader in an initramfs. config IPW2100_MONITOR bool "Enable promiscuous mode" depends on IPW2100 ---help--- Enables promiscuous/monitor mode support for the ipw2100 driver. With this feature compiled into the driver, you can switch to promiscuous mode via the Wireless Tool's Monitor mode. While in this mode, no packets can be sent. config IPW2100_DEBUG bool "Enable full debugging output in IPW2100 module." depends on IPW2100 ---help--- This option will enable debug tracing output for the IPW2100. This will result in the kernel module being ~60k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/bus/pci/drivers/ipw2100/debug_level This entry will only exist if this option is enabled. If you are not trying to debug or develop the IPW2100 driver, you most likely want to say N here. config IPW2200 tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection" depends on PCI && CFG80211 && CFG80211_WEXT select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select LIB80211 select LIBIPW ---help--- A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network Connection adapters. See for information on the capabilities currently enabled in this driver and for tips for debugging issues and problems. In order to use this driver, you will need a firmware image for it. You can obtain the firmware from . See the above referenced README.ipw2200 for information on where to install the firmware images. You will also very likely need the Wireless Tools in order to configure your card: . It is recommended that you compile this driver as a module (M) rather than built-in (Y). This driver requires firmware at device initialization time, and when built-in this typically happens before the filesystem is accessible (hence firmware will be unavailable and initialization will fail). If you do choose to build this driver into your kernel image, you can avoid this problem by including the firmware and a firmware loader in an initramfs. config IPW2200_MONITOR bool "Enable promiscuous mode" depends on IPW2200 ---help--- Enables promiscuous/monitor mode support for the ipw2200 driver. With this feature compiled into the driver, you can switch to promiscuous mode via the Wireless Tool's Monitor mode. While in this mode, no packets can be sent. config IPW2200_RADIOTAP bool "Enable radiotap format 802.11 raw packet support" depends on IPW2200_MONITOR config IPW2200_PROMISCUOUS bool "Enable creation of a RF radiotap promiscuous interface" depends on IPW2200_MONITOR select IPW2200_RADIOTAP ---help--- Enables the creation of a second interface prefixed 'rtap'. This second interface will provide every received in radiotap format. This is useful for performing wireless network analysis while maintaining an active association. Example usage: % modprobe ipw2200 rtap_iface=1 % ifconfig rtap0 up % tethereal -i rtap0 If you do not specify 'rtap_iface=1' as a module parameter then the rtap interface will not be created and you will need to turn it on via sysfs: % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface config IPW2200_QOS bool "Enable QoS support" depends on IPW2200 config IPW2200_DEBUG bool "Enable full debugging output in IPW2200 module." depends on IPW2200 ---help--- This option will enable low level debug tracing output for IPW2200. Note, normal debug code is already compiled in. This low level debug option enables debug on hot paths (e.g Tx, Rx, ISR) and will result in the kernel module being ~70 larger. Most users will typically not need this high verbosity debug information. If you are not sure, say N here. config LIBIPW tristate depends on PCI && CFG80211 select WIRELESS_EXT select WEXT_SPY select CRYPTO select CRYPTO_ARC4 select CRYPTO_ECB select CRYPTO_AES select CRYPTO_MICHAEL_MIC select CRYPTO_ECB select CRC32 select LIB80211 select LIB80211_CRYPT_WEP select LIB80211_CRYPT_TKIP select LIB80211_CRYPT_CCMP ---help--- This option enables the hardware independent IEEE 802.11 networking stack. This component is deprecated in favor of the mac80211 component. config LIBIPW_DEBUG bool "Full debugging output for the LIBIPW component" depends on LIBIPW ---help--- This option will enable debug tracing output for the libipw component. This will result in the kernel module being ~70k larger. You can control which debug output is sent to the kernel log by setting the value in /proc/net/ieee80211/debug_level For example: % echo 0x00000FFO > /proc/net/ieee80211/debug_level For a list of values you can assign to debug_level, you can look at the bit mask values in ieee80211.h If you are not trying to debug or develop the libipw component, you most likely want to say N here. config IWLEGACY tristate select FW_LOADER select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS select MAC80211_LEDS config IWL4965 tristate "Intel Wireless WiFi 4965AGN (iwl4965)" depends on PCI && MAC80211 select IWLEGACY ---help--- This option enables support for Select to build the driver supporting the: Intel Wireless WiFi Link 4965AGN This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a microcode (uCode) image for it. You can obtain the microcode from: . The microcode is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read . The module will be called iwl4965. config IWL3945 tristate "Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)" depends on PCI && MAC80211 select IWLEGACY ---help--- Select to build the driver supporting the: Intel PRO/Wireless 3945ABG/BG Network Connection This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a microcode (uCode) image for it. You can obtain the microcode from: . The microcode is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read . The module will be called iwl3945. menu "iwl3945 / iwl4965 Debugging Options" depends on IWLEGACY config IWLEGACY_DEBUG bool "Enable full debugging output in iwlegacy (iwl 3945/4965) drivers" depends on IWLEGACY ---help--- This option will enable debug tracing output for the iwlegacy drivers. This will result in the kernel module being ~100k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/class/net/wlan0/device/debug_level This entry will only exist if this option is enabled. To set a value, simply echo an 8-byte hex value to the same file: % echo 0x43fff > /sys/class/net/wlan0/device/debug_level You can find the list of debug mask values in: drivers/net/wireless/iwlegacy/common.h If this is your first time using this driver, you should say Y here as the debug information can assist others in helping you resolve any problems you may encounter. config IWLEGACY_DEBUGFS bool "iwlegacy (iwl 3945/4965) debugfs support" depends on IWLEGACY && MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the iwlegacy drivers. This is a low-impact option that allows getting insight into the driver's state at runtime. endmenu config IWLWIFI tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " depends on PCI && MAC80211 && HAS_IOMEM select FW_LOADER select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS select MAC80211_LEDS ---help--- Select to build the driver supporting the: Intel Wireless WiFi Link Next-Gen AGN This option enables support for use with the following hardware: Intel Wireless WiFi Link 6250AGN Adapter Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) Intel WiFi Link 1000BGN Intel Wireless WiFi 5150AGN Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN Intel 6005 Series Wi-Fi Adapters Intel 6030 Series Wi-Fi Adapters Intel Wireless WiFi Link 6150BGN 2 Adapter Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) Intel 2000 Series Wi-Fi Adapters Intel 7260 Wi-Fi Adapter Intel 3160 Wi-Fi Adapter This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a microcode (uCode) image for it. You can obtain the microcode from: . The microcode is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read . The module will be called iwlwifi. config IWLDVM tristate "Intel Wireless WiFi DVM Firmware support" depends on IWLWIFI default IWLWIFI help This is the driver that supports the DVM firmware which is used by most existing devices (with the exception of 7260 and 3160). config IWLMVM tristate "Intel Wireless WiFi MVM Firmware support" depends on IWLWIFI help This is the driver that supports the MVM firmware which is currently only available for 7260 and 3160 devices. # don't call it _MODULE -- will confuse Kconfig/fixdep/... config IWLWIFI_OPMODE_MODULAR bool default y if IWLDVM=m default y if IWLMVM=m comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM" depends on IWLWIFI && IWLDVM=n && IWLMVM=n menu "Debugging Options" depends on IWLWIFI config IWLWIFI_DEBUG bool "Enable full debugging output in the iwlwifi driver" depends on IWLWIFI ---help--- This option will enable debug tracing output for the iwlwifi drivers This will result in the kernel module being ~100k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/module/iwlwifi/parameters/debug This entry will only exist if this option is enabled. To set a value, simply echo an 8-byte hex value to the same file: % echo 0x43fff > /sys/module/iwlwifi/parameters/debug You can find the list of debug mask values in: drivers/net/wireless/iwlwifi/iwl-debug.h If this is your first time using this driver, you should say Y here as the debug information can assist others in helping you resolve any problems you may encounter. config IWLWIFI_DEBUGFS bool "iwlwifi debugfs support" depends on IWLWIFI && MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the iwlwifi drivers. This is a low-impact option that allows getting insight into the driver's state at runtime. config IWLWIFI_DEBUG_EXPERIMENTAL_UCODE bool "Experimental uCode support" depends on IWLWIFI && IWLWIFI_DEBUG ---help--- Enable use of experimental ucode for testing and debugging. config IWLWIFI_DEVICE_TRACING bool "iwlwifi device access tracing" depends on IWLWIFI depends on EVENT_TRACING help Say Y here to trace all commands, including TX frames and IO accesses, sent to the device. If you say yes, iwlwifi will register with the ftrace framework for event tracing and dump all this information to the ringbuffer, you may need to increase the ringbuffer size. See the ftrace documentation for more information. When tracing is not enabled, this option still has some (though rather small) overhead. If unsure, say Y so we can help you better when problems occur. endmenu config LIBERTAS tristate "Marvell 8xxx Libertas WLAN driver support" depends on CFG80211 select WIRELESS_EXT select WEXT_SPY select LIB80211 select FW_LOADER ---help--- A library for Marvell Libertas 8xxx devices. config LIBERTAS_USB tristate "Marvell Libertas 8388 USB 802.11b/g cards" depends on LIBERTAS && USB ---help--- A driver for Marvell Libertas 8388 USB devices. config LIBERTAS_CS tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards" depends on LIBERTAS && PCMCIA ---help--- A driver for Marvell Libertas 8385 CompactFlash devices. config LIBERTAS_SDIO tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards" depends on LIBERTAS && MMC ---help--- A driver for Marvell Libertas 8385/8686/8688 SDIO devices. config LIBERTAS_SPI tristate "Marvell Libertas 8686 SPI 802.11b/g cards" depends on LIBERTAS && SPI ---help--- A driver for Marvell Libertas 8686 SPI devices. config LIBERTAS_DEBUG bool "Enable full debugging output in the Libertas module." depends on LIBERTAS ---help--- Debugging support. config LIBERTAS_MESH bool "Enable mesh support" depends on LIBERTAS help This enables Libertas' MESH support, used by e.g. the OLPC people. config MWIFIEX tristate "Marvell WiFi-Ex Driver" depends on CFG80211 ---help--- This adds support for wireless adapters based on Marvell 802.11n/ac chipsets. If you choose to build it as a module, it will be called mwifiex. config MWIFIEX_SDIO tristate "Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8897" depends on MWIFIEX && MMC select FW_LOADER ---help--- This adds support for wireless adapters based on Marvell 8786/8787/8797 chipsets with SDIO interface. If you choose to build it as a module, it will be called mwifiex_sdio. config MWIFIEX_PCIE tristate "Marvell WiFi-Ex Driver for PCIE 8766/8897" depends on MWIFIEX && PCI select FW_LOADER ---help--- This adds support for wireless adapters based on Marvell 8766/8897 chipsets with PCIe interface. If you choose to build it as a module, it will be called mwifiex_pcie. config MWIFIEX_USB tristate "Marvell WiFi-Ex Driver for USB8797" depends on MWIFIEX && USB select FW_LOADER ---help--- This adds support for wireless adapters based on Marvell Avastar 88W8797 chipset with USB interface. If you choose to build it as a module, it will be called mwifiex_usb. config HERMES tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" depends on (PPC_PMAC || PCI || PCMCIA) depends on CFG80211 && CFG80211_WEXT select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select CRYPTO select CRYPTO_MICHAEL_MIC ---help--- A driver for 802.11b wireless cards based on the "Hermes" or Intersil HFA384x (Prism 2) MAC controller. This includes the vast majority of the PCMCIA 802.11b cards (which are nearly all rebadges) - except for the Cisco/Aironet cards. Cards supported include the Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco, Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya, IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel IPW2011, and Symbol Spectrum24 High Rate amongst others. This option includes the guts of the driver, but in order to actually use a card you will also need to enable support for PCMCIA Hermes cards, PLX9052 based PCI adaptors or the Apple Airport below. You will also very likely also need the Wireless Tools in order to configure your card and that /etc/pcmcia/wireless.opts works : config HERMES_PRISM bool "Support Prism 2/2.5 chipset" depends on HERMES ---help--- Say Y to enable support for Prism 2 and 2.5 chipsets. These chipsets are better handled by the hostap driver. This driver would not support WPA or firmware download for Prism chipset. If you are not sure, say N. config HERMES_CACHE_FW_ON_INIT bool "Cache Hermes firmware on driver initialisation" depends on HERMES default y ---help--- Say Y to cache any firmware required by the Hermes drivers on startup. The firmware will remain cached until the driver is unloaded. The cache uses 64K of RAM. Otherwise load the firmware from userspace as required. In this case the driver should be unloaded and restarted whenever the firmware is changed. If you are not sure, say Y. config APPLE_AIRPORT tristate "Apple Airport support (built-in)" depends on PPC_PMAC && HERMES help Say Y here to support the Airport 802.11b wireless Ethernet hardware built into the Macintosh iBook and other recent PowerPC-based Macintosh machines. This is essentially a Lucent Orinoco card with a non-standard interface. This driver does not support the Airport Extreme (802.11b/g). Use the BCM43xx driver for Airport Extreme cards. config PLX_HERMES tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in PLX9052 based PCI adaptors. These adaptors are not a full PCMCIA controller but act as a more limited PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that 802.11b PCMCIA cards can be used in desktop machines. The Netgear MA301 is such an adaptor. config TMD_HERMES tristate "Hermes in TMD7160 based PCI adaptor support" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in TMD7160 based PCI adaptors. These adaptors are not a full PCMCIA controller but act as a more limited PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that 802.11b PCMCIA cards can be used in desktop machines. config NORTEL_HERMES tristate "Nortel emobility PCI adaptor support" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in Nortel emobility PCI adaptors. These adaptors are not full PCMCIA controllers, but act as a more limited PCI <-> PCMCIA bridge. config PCI_HERMES tristate "Prism 2.5 PCI 802.11b adaptor support" depends on PCI && HERMES && HERMES_PRISM help Enable support for PCI and mini-PCI 802.11b wireless NICs based on the Prism 2.5 chipset. These are true PCI cards, not the 802.11b PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also common. Some of the built-in wireless adaptors in laptops are of this variety. config PCMCIA_HERMES tristate "Hermes PCMCIA card support" depends on PCMCIA && HERMES ---help--- A driver for "Hermes" chipset based PCMCIA wireless adaptors, such as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/ EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and others). It should also be usable on various Prism II based cards such as the Linksys, D-Link and Farallon Skyline. It should also work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN. You will very likely need the Wireless Tools in order to configure your card and that /etc/pcmcia/wireless.opts works: . config PCMCIA_SPECTRUM tristate "Symbol Spectrum24 Trilogy PCMCIA card support" depends on PCMCIA && HERMES ---help--- This is a driver for 802.11b cards using RAM-loadable Symbol firmware, such as Symbol Wireless Networker LA4100, CompactFlash cards by Socket Communications and Intel PRO/Wireless 2011B. This driver requires firmware download on startup. Utilities for downloading Symbol firmware are available at config ORINOCO_USB tristate "Agere Orinoco USB support" depends on USB && HERMES select FW_LOADER ---help--- This driver is for USB versions of the Agere Orinoco card. config P54_COMMON tristate "Softmac Prism54 support" depends on MAC80211 select FW_LOADER select CRC_CCITT ---help--- This is common code for isl38xx/stlc45xx based modules. This module does nothing by itself - the USB/PCI/SPI front-ends also need to be enabled in order to support any devices. These devices require softmac firmware which can be found at If you choose to build a module, it'll be called p54common. config P54_USB tristate "Prism54 USB support" depends on P54_COMMON && USB select CRC32 ---help--- This driver is for USB isl38xx based wireless cards. These devices require softmac firmware which can be found at If you choose to build a module, it'll be called p54usb. config P54_PCI tristate "Prism54 PCI support" depends on P54_COMMON && PCI ---help--- This driver is for PCI isl38xx based wireless cards. This driver supports most devices that are supported by the fullmac prism54 driver plus many devices which are not supported by the fullmac driver/firmware. This driver requires softmac firmware which can be found at If you choose to build a module, it'll be called p54pci. config P54_SPI tristate "Prism54 SPI (stlc45xx) support" depends on P54_COMMON && SPI_MASTER ---help--- This driver is for stlc4550 or stlc4560 based wireless chips such as Nokia's N800/N810 Portable Internet Tablet. If you choose to build a module, it'll be called p54spi. config P54_SPI_DEFAULT_EEPROM bool "Include fallback EEPROM blob" depends on P54_SPI default n ---help--- Unlike the PCI or USB devices, the SPI variants don't have a dedicated EEPROM chip to store all device specific values for calibration, country and interface settings. The driver will try to load the image "3826.eeprom", if the file is put at the right place. (usually /lib/firmware.) Only if this request fails, this option will provide a backup set of generic values to get the device working. Enabling this option adds about 4k to p54spi. config P54_LEDS bool depends on P54_COMMON && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = P54_COMMON) default y menuconfig RT2X00 tristate "Ralink driver support" depends on MAC80211 && HAS_DMA ---help--- This will enable the support for the Ralink drivers, developed in the rt2x00 project . These drivers make use of the mac80211 stack. When building one of the individual drivers, the rt2x00 library will also be created. That library (when the driver is built as a module) will be called rt2x00lib. Additionally PCI and USB libraries will also be build depending on the types of drivers being selected, these libraries will be called rt2x00pci and rt2x00usb. if RT2X00 config RT2400PCI tristate "Ralink rt2400 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select EEPROM_93CX6 ---help--- This adds support for rt2400 wireless chipset family. Supported chips: RT2460. When compiled as a module, this driver will be called rt2400pci. config RT2500PCI tristate "Ralink rt2500 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select EEPROM_93CX6 ---help--- This adds support for rt2500 wireless chipset family. Supported chips: RT2560. When compiled as a module, this driver will be called rt2500pci. config RT61PCI tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_PCI select RT2X00_LIB_MMIO select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_ITU_T select EEPROM_93CX6 ---help--- This adds support for rt2501 wireless chipset family. Supported chips: RT2561, RT2561S & RT2661. When compiled as a module, this driver will be called rt61pci. config RT2800PCI tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support" depends on PCI select RT2800_LIB select RT2800_LIB_MMIO select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_CCITT select EEPROM_93CX6 ---help--- This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052, RT3090, RT3091 & RT3092 When compiled as a module, this driver will be called "rt2800pci.ko". if RT2800PCI config RT2800PCI_RT33XX bool "rt2800pci - Include support for rt33xx devices" default y ---help--- This adds support for rt33xx wireless chipset family to the rt2800pci driver. Supported chips: RT3390 config RT2800PCI_RT35XX bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt35xx wireless chipset family to the rt2800pci driver. Supported chips: RT3060, RT3062, RT3562, RT3592 config RT2800PCI_RT53XX bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt53xx wireless chipset family to the rt2800pci driver. Supported chips: RT5390 config RT2800PCI_RT3290 bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)" default y ---help--- This adds support for rt3290 wireless chipset family to the rt2800pci driver. Supported chips: RT3290 endif config RT2500USB tristate "Ralink rt2500 (USB) support" depends on USB select RT2X00_LIB_USB select RT2X00_LIB_CRYPTO ---help--- This adds support for rt2500 wireless chipset family. Supported chips: RT2571 & RT2572. When compiled as a module, this driver will be called rt2500usb. config RT73USB tristate "Ralink rt2501/rt73 (USB) support" depends on USB select RT2X00_LIB_USB select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_ITU_T ---help--- This adds support for rt2501 wireless chipset family. Supported chips: RT2571W, RT2573 & RT2671. When compiled as a module, this driver will be called rt73usb. config RT2800USB tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support" depends on USB select RT2800_LIB select RT2X00_LIB_USB select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_CCITT ---help--- This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072 When compiled as a module, this driver will be called "rt2800usb.ko". if RT2800USB config RT2800USB_RT33XX bool "rt2800usb - Include support for rt33xx devices" default y ---help--- This adds support for rt33xx wireless chipset family to the rt2800usb driver. Supported chips: RT3370 config RT2800USB_RT35XX bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt35xx wireless chipset family to the rt2800usb driver. Supported chips: RT3572 config RT2800USB_RT3573 bool "rt2800usb - Include support for rt3573 devices (EXPERIMENTAL)" ---help--- This enables support for RT3573 chipset based wireless USB devices in the rt2800usb driver. config RT2800USB_RT53XX bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)" ---help--- This adds support for rt53xx wireless chipset family to the rt2800usb driver. Supported chips: RT5370 config RT2800USB_RT55XX bool "rt2800usb - Include support for rt55xx devices (EXPERIMENTAL)" ---help--- This adds support for rt55xx wireless chipset family to the rt2800usb driver. Supported chips: RT5572 config RT2800USB_UNKNOWN bool "rt2800usb - Include support for unknown (USB) devices" default n ---help--- This adds support for rt2800usb devices that are known to have a rt28xx family compatible chipset, but for which the exact chipset is unknown. Support status for these devices is unknown, and enabling these devices may or may not work. endif config RT2800SOC tristate "Ralink WiSoC support" depends on SOC_RT288X || SOC_RT305X select RT2X00_LIB_SOC select RT2X00_LIB_MMIO select RT2X00_LIB_CRYPTO select RT2X00_LIB_FIRMWARE select RT2800_LIB select RT2800_LIB_MMIO ---help--- This adds support for Ralink WiSoC devices. Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352. When compiled as a module, this driver will be called rt2800soc. config RT2800_LIB tristate config RT2800_LIB_MMIO tristate select RT2X00_LIB_MMIO select RT2800_LIB config RT2X00_LIB_MMIO tristate config RT2X00_LIB_PCI tristate select RT2X00_LIB config RT2X00_LIB_SOC tristate select RT2X00_LIB config RT2X00_LIB_USB tristate select RT2X00_LIB config RT2X00_LIB tristate select AVERAGE config RT2X00_LIB_FIRMWARE boolean select FW_LOADER config RT2X00_LIB_CRYPTO boolean config RT2X00_LIB_LEDS boolean default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n) config RT2X00_LIB_DEBUGFS bool "Ralink debugfs support" depends on RT2X00_LIB && MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the rt2x00 drivers. These debugfs files support both reading and writing of the most important register types of the rt2x00 hardware. config RT2X00_DEBUG bool "Ralink debug output" depends on RT2X00_LIB ---help--- Enable debugging output for all rt2x00 modules endif # # RTL818X Wireless LAN device configuration # config RTL8180 tristate "Realtek 8180/8185 PCI support" depends on MAC80211 && PCI select EEPROM_93CX6 ---help--- This is a driver for RTL8180 and RTL8185 based cards. These are PCI based chips found in cards such as: (RTL8185 802.11g) A-Link WL54PC (RTL8180 802.11b) Belkin F5D6020 v3 Belkin F5D6020 v3 Dlink DWL-610 Dlink DWL-510 Netgear MA521 Level-One WPC-0101 Acer Aspire 1357 LMi VCTnet PC-11B1 Ovislink AirLive WL-1120PCM Mentor WL-PCI Linksys WPC11 v4 TrendNET TEW-288PI D-Link DWL-520 Rev D Repotec RP-WP7126 TP-Link TL-WN250/251 Zonet ZEW1000 Longshine LCS-8031-R HomeLine HLW-PCC200 GigaFast WF721-AEX Planet WL-3553 Encore ENLWI-PCI1-NT TrendNET TEW-266PC Gigabyte GN-WLMR101 Siemens-fujitsu Amilo D1840W Edimax EW-7126 PheeNet WL-11PCIR Tonze PC-2100T Planet WL-8303 Dlink DWL-650 v M1 Edimax EW-7106 Q-Tec 770WC Topcom Skyr@cer 4011b Roper FreeLan 802.11b (edition 2004) Wistron Neweb Corp CB-200B Pentagram HorNET QTec 775WC TwinMOS Booming B Series Micronet SP906BB Sweex LC700010 Surecom EP-9428 Safecom SWLCR-1100 Thanks to Realtek for their support! config RTL8187 tristate "Realtek 8187 and 8187B USB support" depends on MAC80211 && USB select EEPROM_93CX6 ---help--- This is a driver for RTL8187 and RTL8187B based cards. These are USB based chips found in devices such as: Netgear WG111v2 Level 1 WNC-0301USB Micronet SP907GK V5 Encore ENUWI-G2 Trendnet TEW-424UB ASUS P5B Deluxe/P5K Premium motherboards Toshiba Satellite Pro series of laptops Asus Wireless Link Linksys WUSB54GC-EU v2 (v1 = rt73usb; v3 is rt2070-based, use staging/rt3070 or try rt2800usb) Thanks to Realtek for their support! # If possible, automatically enable LEDs for RTL8187. config RTL8187_LEDS bool depends on RTL8187 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = RTL8187) default y menuconfig RTL_CARDS tristate "Realtek rtlwifi family of devices" depends on MAC80211 && (PCI || USB) default y ---help--- This option will enable support for the Realtek mac80211-based wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de, rtl8723eu, and rtl8188eu share some common code. if RTL_CARDS config RTL8192CE tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter" depends on PCI select RTL8192C_COMMON select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192CE/RTL8188CE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192ce config RTL8192SE tristate "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192SE/RTL8191SE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192se config RTL8192DE tristate "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192DE/RTL8188DE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192de config RTL8723AE tristate "Realtek RTL8723AE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8723AE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8723ae config RTL8188EE tristate "Realtek RTL8188EE Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8188EE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8188ee config RTL8192CU tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter" depends on USB select RTLWIFI select RTLWIFI_USB select RTL8192C_COMMON ---help--- This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB wireless network adapters. If you choose to build it as a module, it will be called rtl8192cu config RTLWIFI tristate select FW_LOADER config RTLWIFI_PCI tristate config RTLWIFI_USB tristate config RTLWIFI_DEBUG bool "Debugging output for rtlwifi driver family" depends on RTLWIFI default y ---help--- To use the module option that sets the dynamic-debugging level for, the front-end driver, this parameter must be "Y". For memory-limited systems, choose "N". If in doubt, choose "Y". config RTL8192C_COMMON tristate depends on RTL8192CE || RTL8192CU default y endif menuconfig WL_TI bool "TI Wireless LAN support" ---help--- This section contains support for all the wireless drivers for Texas Instruments WLAN chips, such as wl1251 and the wl12xx family. if WL_TI source "drivers/net/wireless/ti/wl1251/Kconfig" source "drivers/net/wireless/ti/wl12xx/Kconfig" source "drivers/net/wireless/ti/wl18xx/Kconfig" # keep last for automatic dependencies source "drivers/net/wireless/ti/wlcore/Kconfig" config WILINK_PLATFORM_DATA bool "TI WiLink platform data" depends on WLCORE_SDIO || WL1251_SDIO default y ---help--- Small platform data bit needed to pass data to the sdio modules. endif # WL_TI menuconfig WL1251 tristate "TI wl1251 driver support" depends on MAC80211 select FW_LOADER select CRC7 ---help--- This will enable TI wl1251 driver support. The drivers make use of the mac80211 stack. If you choose to build a module, it'll be called wl1251. Say N if unsure. config WL1251_SPI tristate "TI wl1251 SPI support" depends on WL1251 && SPI_MASTER ---help--- This module adds support for the SPI interface of adapters using TI wl1251 chipset. Select this if your platform is using the SPI bus. If you choose to build a module, it'll be called wl1251_spi. Say N if unsure. config WL1251_SDIO tristate "TI wl1251 SDIO support" depends on WL1251 && MMC ---help--- This module adds support for the SDIO interface of adapters using TI wl1251 chipset. Select this if your platform is using the SDIO bus. If you choose to build a module, it'll be called wl1251_sdio. Say N if unsure. config WL12XX tristate "TI wl12xx support" depends on MAC80211 select WLCORE ---help--- This module adds support for wireless adapters based on TI wl1271, wl1273, wl1281 and wl1283 chipsets. This module does *not* include support for wl1251. For wl1251 support, use the separate homonymous driver instead. config WL18XX tristate "TI wl18xx support" depends on MAC80211 select WLCORE ---help--- This module adds support for wireless adapters based on TI WiLink 8 chipsets. config WLCORE tristate "TI wlcore support" depends on WL_TI && MAC80211 select FW_LOADER ---help--- This module contains the main code for TI WLAN chips. It abstracts hardware-specific differences among different chipset families. Each chipset family needs to implement its own lower-level module that will depend on this module for the common code. If you choose to build a module, it will be called wlcore. Say N if unsure. config WLCORE_SPI tristate "TI wlcore SPI support" depends on WLCORE && SPI_MASTER select CRC7 ---help--- This module adds support for the SPI interface of adapters using TI WLAN chipsets. Select this if your platform is using the SPI bus. If you choose to build a module, it'll be called wlcore_spi. Say N if unsure. config WLCORE_SDIO tristate "TI wlcore SDIO support" depends on WLCORE && MMC ---help--- This module adds support for the SDIO interface of adapters using TI WLAN chipsets. Select this if your platform is using the SDIO bus. If you choose to build a module, it'll be called wlcore_sdio. Say N if unsure. config ZD1211RW tristate "ZyDAS ZD1211/ZD1211B USB-wireless support" depends on USB && MAC80211 select FW_LOADER ---help--- This is an experimental driver for the ZyDAS ZD1211/ZD1211B wireless chip, present in many USB-wireless adapters. Device firmware is required alongside this driver. You can download the firmware distribution from http://zd1211.ath.cx/get-firmware config ZD1211RW_DEBUG bool "ZyDAS ZD1211 debugging" depends on ZD1211RW ---help--- ZD1211 debugging messages. Choosing Y will result in additional debug messages being saved to your kernel logs, which may help debug any problems. # # Near Field Communication (NFC) devices # menu "Near Field Communication (NFC) devices" depends on NFC config NFC_PN533 tristate "NXP PN533 USB driver" depends on USB help NXP PN533 USB driver. This driver provides support for NFC NXP PN533 devices. Say Y here to compile support for PN533 devices into the kernel or say M to compile it as module (pn533). config NFC_WILINK tristate "Texas Instruments NFC WiLink driver" depends on TI_ST && NFC_NCI help This enables the NFC driver for Texas Instrument's BT/FM/GPS/NFC combo devices. This makes use of shared transport line discipline core driver to communicate with the NFC core of the combo chip. Say Y here to compile support for Texas Instrument's NFC WiLink driver into the kernel or say M to compile it as module. config NFC_MEI_PHY tristate "MEI bus NFC device support" depends on INTEL_MEI && NFC_HCI help This adds support to use an mei bus nfc device. Select this if you will use an HCI NFC driver for an NFC chip connected behind an Intel's Management Engine chip. If unsure, say N. config NFC_SIM tristate "NFC hardware simulator driver" help This driver declares two virtual NFC devices supporting NFC-DEP protocol. An LLCP connection can be established between them and all packets sent from one device is sent back to the other, acting as loopback devices. If unsure, say N. config NFC_PORT100 tristate "Sony NFC Port-100 Series USB device support" depends on USB depends on NFC_DIGITAL help This adds support for Sony Port-100 chip based USB devices such as the RC-S380 dongle. If unsure, say N. source "drivers/nfc/pn544/Kconfig" source "drivers/nfc/microread/Kconfig" endmenu config NFC_MICROREAD tristate "Inside Secure microread NFC driver" depends on NFC_HCI select CRC_CCITT default n ---help--- This module contains the main code for Inside Secure microread NFC chipsets. It implements the chipset HCI logic and hooks into the NFC kernel APIs. Physical layers will register against it. To compile this driver as a module, choose m here. The module will be called microread. Say N if unsure. config NFC_MICROREAD_I2C tristate "NFC Microread i2c support" depends on NFC_MICROREAD && I2C && NFC_SHDLC ---help--- This module adds support for the i2c interface of adapters using Inside microread chipsets. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called microread_i2c. Say N if unsure. config NFC_MICROREAD_MEI tristate "NFC Microread MEI support" depends on NFC_MICROREAD && NFC_MEI_PHY ---help--- This module adds support for the mei interface of adapters using Inside microread chipsets. Select this if your microread chipset is handled by Intel's Management Engine Interface on your platform. If you choose to build a module, it'll be called microread_mei. Say N if unsure. config NFC_PN544 tristate "NXP PN544 NFC driver" depends on NFC_HCI select CRC_CCITT default n ---help--- NXP PN544 core driver. This is a driver based on the HCI NFC kernel layers and will thus not work with NXP libnfc library. To compile this driver as a module, choose m here. The module will be called pn544. Say N if unsure. config NFC_PN544_I2C tristate "NFC PN544 i2c support" depends on NFC_PN544 && I2C && NFC_SHDLC ---help--- This module adds support for the NXP pn544 i2c interface. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called pn544_i2c. Say N if unsure. config NFC_PN544_MEI tristate "NFC PN544 MEI support" depends on NFC_PN544 && NFC_MEI_PHY ---help--- This module adds support for the mei interface of adapters using NXP pn544 chipsets. Select this if your pn544 chipset is handled by Intel's Management Engine Interface on your platform. If you choose to build a module, it'll be called pn544_mei. Say N if unsure. config NTB tristate "Intel Non-Transparent Bridge support" depends on PCI depends on X86 help The PCI-E Non-transparent bridge hardware is a point-to-point PCI-E bus connecting 2 systems. When configured, writes to the device's PCI mapped memory will be mirrored to a buffer on the remote system. The ntb Linux driver uses this point-to-point communication as a method to transfer data from one system to the other. If unsure, say N. config DTC bool config OF bool menu "Device Tree and Open Firmware support" depends on OF config PROC_DEVICETREE bool "Support for device tree in /proc" depends on PROC_FS && !SPARC help This option adds a device-tree directory under /proc which contains an image of the device tree that the kernel copies from Open Firmware or other boot firmware. If unsure, say Y here. config OF_SELFTEST bool "Device Tree Runtime self tests" depends on OF_IRQ help This option builds in test cases for the device tree infrastructure that are executed once at boot time, and the results dumped to the console. If unsure, say N here, but this option is safe to enable. config OF_FLATTREE bool select DTC config OF_EARLY_FLATTREE bool select OF_FLATTREE config OF_PROMTREE bool # Hardly any platforms need this. It is safe to select, but only do so if you # need it. config OF_DYNAMIC bool config OF_ADDRESS def_bool y depends on !SPARC config OF_IRQ def_bool y depends on !SPARC config OF_NET depends on NETDEVICES def_bool y config OF_MDIO def_tristate PHYLIB depends on PHYLIB help OpenFirmware MDIO bus (Ethernet PHY) accessors config OF_PCI def_tristate PCI depends on PCI help OpenFirmware PCI bus accessors config OF_PCI_IRQ def_tristate PCI depends on OF_PCI && OF_IRQ help OpenFirmware PCI IRQ routing helpers config OF_MTD depends on MTD def_bool y endmenu # OF menu "Bus options (PCI, PCMCIA, EISA, GSC, ISA)" config GSC bool "VSC/GSC/HSC bus support" default y help The VSC, GSC and HSC busses were used from the earliest 700-series workstations up to and including the C360/J2240 workstations. They were also used in servers from the E-class to the K-class. They are not found in B1000, C3000, J5000, A500, L1000, N4000 and upwards. If in doubt, say "Y". config HPPB bool "HP-PB bus support" depends on GSC help The HP-PB bus was used in the Nova class and K-class servers. If in doubt, say "Y" config IOMMU_CCIO bool "U2/Uturn I/O MMU" depends on GSC help Say Y here to enable DMA management routines for the first generation of PA-RISC cache-coherent machines. Programs the U2/Uturn chip in "Virtual Mode" and use the I/O MMU. config GSC_LASI bool "Lasi I/O support" depends on GSC help Say Y here to support the Lasi multifunction chip found in many PA-RISC workstations & servers. It includes interfaces for a parallel port, serial port, NCR 53c710 SCSI, Apricot Ethernet, Harmony audio, PS/2 keyboard & mouse, ISDN, telephony and floppy. Note that you must still enable all the individual drivers for these chips. config GSC_WAX bool "Wax I/O support" depends on GSC help Say Y here to support the Wax multifunction chip found in some older systems, including B/C/D/R class and 715/64, 715/80 and 715/100. Wax includes an EISA adapter, a serial port (not always used), a HIL interface chip and is also known to be used as the GSC bridge for an X.25 GSC card. config EISA bool "EISA support" depends on GSC help Say Y here if you have an EISA bus in your machine. This code supports both the Mongoose & Wax EISA adapters. It is sadly incomplete and lacks support for card-to-host DMA. source "drivers/eisa/Kconfig" config ISA bool "ISA support" depends on EISA help If you want to plug an ISA card into your EISA bus, say Y here. Most people should say N. config PCI bool "PCI support" help All recent HP machines have PCI slots, and you should say Y here if you have a recent machine. If you are convinced you do not have PCI slots in your machine (eg a 712), then you may say "N" here. Beware that some GSC cards have a Dino onboard and PCI inside them, so it may be safest to say "Y" anyway. source "drivers/pci/Kconfig" config GSC_DINO bool "GSCtoPCI/Dino PCI support" depends on PCI && GSC help Say Y here to support the Dino & Cujo GSC to PCI bridges found in machines from the B132 to the C360, the J2240 and the A180. Some GSC/HSC cards (eg gigabit & dual 100 Mbit Ethernet) have a Dino on the card, and you also need to say Y here if you have such a card. Note that Dino also supplies one of the serial ports on certain machines. If in doubt, say Y. config PCI_LBA bool "LBA/Elroy PCI support" depends on PCI help Say Y here to support the Elroy PCI Lower Bus Adapter. This is present on B, C, J, L and N-class machines with 4-digit model numbers and the A400/A500. config IOSAPIC bool depends on PCI_LBA default PCI_LBA config IOMMU_SBA bool depends on PCI_LBA default PCI_LBA config IOMMU_HELPER bool depends on IOMMU_SBA || IOMMU_CCIO default y source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" endmenu menu "PA-RISC specific drivers" config SUPERIO bool "SuperIO (SuckyIO) support" depends on PCI_LBA default y help Say Y here to support the SuperIO chip found in Bxxxx, C3xxx and J5xxx+ machines. This enables IDE, Floppy, Parallel Port, and Serial port on those machines. config CHASSIS_LCD_LED bool "Chassis LCD and LED support" default y select VM_EVENT_COUNTERS help Say Y here if you want to enable support for the Heartbeat, Disk/Network activities LEDs on some PA-RISC machines, or support for the LCD that can be found on recent material. This has nothing to do with LED State support for A and E class. If unsure, say Y. config PDC_CHASSIS bool "PDC chassis state codes support" default y help Say Y here if you want to enable support for Chassis codes. That includes support for LED State front panel as found on E class, and support for the GSP Virtual Front Panel (LED State and message logging) as found on high end servers such as A, L and N-class. This driver will also display progress messages on LCD display, such as "INI", "RUN" and "FLT", and might thus clobber messages shown by the LED/LCD driver. This driver updates the state panel (LED and/or LCD) upon system state change (eg: boot, shutdown or panic). If unsure, say Y. config PDC_CHASSIS_WARN bool "PDC chassis warnings support" depends on PROC_FS default y help Say Y here if you want to enable support for Chassis warnings. This will add a proc entry '/proc/chassis' giving some information about the overall health state of the system. This includes NVRAM battery level, overtemp or failures such as fans or power units. If unsure, say Y. config PDC_STABLE tristate "PDC Stable Storage support" depends on SYSFS default y help Say Y here if you want to enable support for accessing Stable Storage variables (PDC non volatile variables such as Primary Boot Path, Console Path, Autoboot, Autosearch, etc) through SysFS. If unsure, say Y. To compile this driver as a module, choose M here. The module will be called pdc_stable. endmenu # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # # Parport configuration. # menuconfig PARPORT tristate "Parallel port support" depends on HAS_IOMEM ---help--- If you want to use devices connected to your machine's parallel port (the connector at the computer with 25 holes), e.g. printer, ZIP drive, PLIP link (Parallel Line Internet Protocol is mainly used to create a mini network by connecting the parallel ports of two local machines) etc., then you need to say Y here; please read and . For extensive information about drivers for many devices attaching to the parallel port see on the WWW. It is possible to share a single parallel port among several devices and it is safe to compile all the corresponding drivers into the kernel. To compile parallel port support as a module, choose M here: the module will be called parport. If you have more than one parallel port and want to specify which port and IRQ to be used by this driver at module load time, take a look at . If unsure, say Y. config ARCH_MIGHT_HAVE_PC_PARPORT bool help Select this config option from the architecture Kconfig if the architecture might have PC parallel port hardware. if PARPORT config PARPORT_PC tristate "PC-style hardware" depends on ARCH_MIGHT_HAVE_PC_PARPORT help You should say Y here if you have a PC-style parallel port. All IBM PC compatible computers and some Alphas have PC-style parallel ports. PA-RISC owners should only say Y here if they have a SuperIO parallel port. To compile this driver as a module, choose M here: the module will be called parport_pc. If unsure, say Y. config PARPORT_SERIAL tristate "Multi-IO cards (parallel and serial)" depends on SERIAL_8250_PCI && PARPORT_PC && PCI help This adds support for multi-IO PCI cards that have parallel and serial ports. You should say Y or M here. If you say M, the module will be called parport_serial. config PARPORT_PC_FIFO bool "Use FIFO/DMA if available" depends on PARPORT_PC help Many parallel port chipsets provide hardware that can speed up printing. Say Y here if you want to take advantage of that. As well as actually having a FIFO, or DMA capability, the kernel will need to know which IRQ the parallel port has. By default, parallel port interrupts will not be used, and so neither will the FIFO. See to find out how to specify which IRQ/DMA to use. config PARPORT_PC_SUPERIO bool "SuperIO chipset support" depends on PARPORT_PC && !PARISC help Saying Y here enables some probes for Super-IO chipsets in order to find out things like base addresses, IRQ lines and DMA channels. It is safe to say N. config PARPORT_PC_PCMCIA tristate "Support for PCMCIA management for PC-style ports" depends on PCMCIA && PARPORT_PC help Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N. config PARPORT_IP32 tristate "SGI IP32 builtin port" depends on SGI_IP32 select PARPORT_NOT_PC help Say Y here if you need support for the parallel port on SGI O2 machines. This code is also available as a module (say M), called parport_ip32. If in doubt, saying N is the safe plan. config PARPORT_AMIGA tristate "Amiga builtin port" depends on AMIGA select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on Amiga machines. This code is also available as a module (say M), called parport_amiga. If in doubt, saying N is the safe plan. config PARPORT_MFC3 tristate "Multiface III parallel port" depends on ZORRO select PARPORT_NOT_PC help Say Y here if you need parallel port support for the MFC3 card. This code is also available as a module (say M), called parport_mfc3. If in doubt, saying N is the safe plan. config PARPORT_ATARI tristate "Atari hardware" depends on ATARI select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on Atari machines. This code is also available as a module (say M), called parport_atari. If in doubt, saying N is the safe plan. config PARPORT_GSC tristate default GSC select PARPORT_NOT_PC config PARPORT_SUNBPP tristate "Sparc hardware" depends on SBUS select PARPORT_NOT_PC help This driver provides support for the bidirectional parallel port found on many Sun machines. Note that many of the newer Ultras actually have pc style hardware instead. config PARPORT_AX88796 tristate "AX88796 Parallel Port" select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on the AX88796 network controller chip. This code is also available as a module (say M), called parport_ax88796. The driver is not dependent on the AX88796 network driver, and should not interfere with the networking functions of the chip. config PARPORT_1284 bool "IEEE 1284 transfer modes" help If you have a printer that supports status readback or device ID, or want to use a device that uses enhanced parallel port transfer modes such as EPP and ECP, say Y here to enable advanced IEEE 1284 transfer modes. Also say Y if you want device ID information to appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N. config PARPORT_NOT_PC bool endif # PARPORT # # PCI configuration # config PCI_MSI bool "Message Signaled Interrupts (MSI and MSI-X)" depends on PCI help This allows device drivers to enable MSI (Message Signaled Interrupts). Message Signaled Interrupts enable a device to generate an interrupt using an inbound Memory Write on its PCI bus instead of asserting a device IRQ pin. Use of PCI MSI interrupts can be disabled at kernel boot time by using the 'pci=nomsi' option. This disables MSI for the entire system. If you don't know what to do here, say Y. config PCI_DEBUG bool "PCI Debugging" depends on PCI && DEBUG_KERNEL help Say Y here if you want the PCI core to produce a bunch of debug messages to the system log. Select this if you are having a problem with PCI support and want to see more of what is going on. When in doubt, say N. config PCI_REALLOC_ENABLE_AUTO bool "Enable PCI resource re-allocation detection" depends on PCI help Say Y here if you want the PCI core to detect if PCI resource re-allocation needs to be enabled. You can always use pci=realloc=on or pci=realloc=off to override it. Note this feature is a no-op unless PCI_IOV support is also enabled; in that case it will automatically re-allocate PCI resources if SR-IOV BARs have not been allocated by the BIOS. When in doubt, say N. config PCI_STUB tristate "PCI Stub driver" depends on PCI help Say Y or M here if you want be able to reserve a PCI device when it is going to be assigned to a guest operating system. When in doubt, say N. config XEN_PCIDEV_FRONTEND tristate "Xen PCI Frontend" depends on PCI && X86 && XEN select PCI_XEN select XEN_XENBUS_FRONTEND default y help The PCI device frontend driver allows the kernel to import arbitrary PCI devices from a PCI backend to support PCI driver domains. config HT_IRQ bool "Interrupts on hypertransport devices" default y depends on PCI && X86_LOCAL_APIC && X86_IO_APIC help This allows native hypertransport devices to use interrupts. If unsure say Y. config PCI_ATS bool config PCI_IOV bool "PCI IOV support" depends on PCI select PCI_ATS help I/O Virtualization is a PCI feature supported by some devices which allows them to create virtual devices which share their physical resources. If unsure, say N. config PCI_PRI bool "PCI PRI support" depends on PCI select PCI_ATS help PRI is the PCI Page Request Interface. It allows PCI devices that are behind an IOMMU to recover from page faults. If unsure, say N. config PCI_PASID bool "PCI PASID support" depends on PCI select PCI_ATS help Process Address Space Identifiers (PASIDs) can be used by PCI devices to access more than one IO address space at the same time. To make use of this feature an IOMMU is required which also supports PASIDs. Select this option if you have such an IOMMU and want to compile the driver for it into your kernel. If unsure, say N. config PCI_IOAPIC tristate "PCI IO-APIC hotplug support" if X86 depends on PCI depends on ACPI default !X86 config PCI_LABEL def_bool y if (DMI || ACPI) select NLS source "drivers/pci/host/Kconfig" menu "PCI host controller drivers" depends on PCI config PCI_MVEBU bool "Marvell EBU PCIe controller" depends on ARCH_MVEBU || ARCH_DOVE || ARCH_KIRKWOOD depends on OF config PCIE_DW bool config PCI_EXYNOS bool "Samsung Exynos PCIe controller" depends on SOC_EXYNOS5440 select PCIEPORTBUS select PCIE_DW config PCI_IMX6 bool "Freescale i.MX6 PCIe controller" depends on SOC_IMX6Q select PCIEPORTBUS select PCIE_DW config PCI_TEGRA bool "NVIDIA Tegra PCIe controller" depends on ARCH_TEGRA config PCI_RCAR_GEN2 bool "Renesas R-Car Gen2 Internal PCI controller" depends on ARM && (ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST) help Say Y here if you want internal PCI support on R-Car Gen2 SoC. There are 3 internal PCI controllers available with a single built-in EHCI/OHCI host controller present on each one. endmenu # # PCI Hotplug support # menuconfig HOTPLUG_PCI bool "Support for PCI Hotplug" depends on PCI && SYSFS ---help--- Say Y here if you have a motherboard with a PCI Hotplug controller. This allows you to add and remove PCI cards while the machine is powered up and running. When in doubt, say N. if HOTPLUG_PCI config HOTPLUG_PCI_COMPAQ tristate "Compaq PCI Hotplug driver" depends on X86 && PCI_BIOS help Say Y here if you have a motherboard with a Compaq PCI Hotplug controller. To compile this driver as a module, choose M here: the module will be called cpqphp. When in doubt, say N. config HOTPLUG_PCI_COMPAQ_NVRAM bool "Save configuration into NVRAM on Compaq servers" depends on HOTPLUG_PCI_COMPAQ help Say Y here if you have a Compaq server that has a PCI Hotplug controller. This will allow the PCI Hotplug driver to store the PCI system configuration options in NVRAM. When in doubt, say N. config HOTPLUG_PCI_IBM tristate "IBM PCI Hotplug driver" depends on X86_IO_APIC && X86 && PCI_BIOS help Say Y here if you have a motherboard with a IBM PCI Hotplug controller. To compile this driver as a module, choose M here: the module will be called ibmphp. When in doubt, say N. config HOTPLUG_PCI_ACPI bool "ACPI PCI Hotplug driver" depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK)) help Say Y here if you have a system that supports PCI Hotplug using ACPI. When in doubt, say N. config HOTPLUG_PCI_ACPI_IBM tristate "ACPI PCI Hotplug driver IBM extensions" depends on HOTPLUG_PCI_ACPI help Say Y here if you have an IBM system that supports PCI Hotplug using ACPI. To compile this driver as a module, choose M here: the module will be called acpiphp_ibm. When in doubt, say N. config HOTPLUG_PCI_CPCI bool "CompactPCI Hotplug driver" help Say Y here if you have a CompactPCI system card with CompactPCI hotswap support per the PICMG 2.1 specification. When in doubt, say N. config HOTPLUG_PCI_CPCI_ZT5550 tristate "Ziatech ZT5550 CompactPCI Hotplug driver" depends on HOTPLUG_PCI_CPCI && X86 help Say Y here if you have an Performance Technologies (formerly Intel, formerly just Ziatech) Ziatech ZT5550 CompactPCI system card. To compile this driver as a module, choose M here: the module will be called cpcihp_zt5550. When in doubt, say N. config HOTPLUG_PCI_CPCI_GENERIC tristate "Generic port I/O CompactPCI Hotplug driver" depends on HOTPLUG_PCI_CPCI && X86 help Say Y here if you have a CompactPCI system card that exposes the #ENUM hotswap signal as a bit in a system register that can be read through standard port I/O. To compile this driver as a module, choose M here: the module will be called cpcihp_generic. When in doubt, say N. config HOTPLUG_PCI_SHPC tristate "SHPC PCI Hotplug driver" help Say Y here if you have a motherboard with a SHPC PCI Hotplug controller. To compile this driver as a module, choose M here: the module will be called shpchp. When in doubt, say N. config HOTPLUG_PCI_RPA tristate "RPA PCI Hotplug driver" depends on PPC_PSERIES && EEH help Say Y here if you have a RPA system that supports PCI Hotplug. To compile this driver as a module, choose M here: the module will be called rpaphp. When in doubt, say N. config HOTPLUG_PCI_RPA_DLPAR tristate "RPA Dynamic Logical Partitioning for I/O slots" depends on HOTPLUG_PCI_RPA help Say Y here if your system supports Dynamic Logical Partitioning for I/O slots. To compile this driver as a module, choose M here: the module will be called rpadlpar_io. When in doubt, say N. config HOTPLUG_PCI_SGI tristate "SGI PCI Hotplug Support" depends on IA64_SGI_SN2 || IA64_GENERIC help Say Y here if you want to use the SGI Altix Hotplug Driver for PCI devices. When in doubt, say N. config HOTPLUG_PCI_S390 bool "System z PCI Hotplug Support" depends on S390 && 64BIT help Say Y here if you want to use the System z PCI Hotplug driver for PCI devices. Without this driver it is not possible to access stand-by PCI functions nor to deconfigure PCI functions. When in doubt, say Y. endif # HOTPLUG_PCI # # PCI Express Port Bus Configuration # config PCIEPORTBUS bool "PCI Express Port Bus support" depends on PCI help This automatically enables PCI Express Port Bus support. Users can choose Native Hot-Plug support, Advanced Error Reporting support, Power Management Event support and Virtual Channel support to run on PCI Express Ports (Root or Switch). # # Include service Kconfig here # config HOTPLUG_PCI_PCIE bool "PCI Express Hotplug driver" depends on HOTPLUG_PCI && PCIEPORTBUS help Say Y here if you have a motherboard that supports PCI Express Native Hotplug When in doubt, say N. source "drivers/pci/pcie/aer/Kconfig" # # PCI Express ASPM # config PCIEASPM bool "PCI Express ASPM control" if EXPERT depends on PCI && PCIEPORTBUS default y help This enables OS control over PCI Express ASPM (Active State Power Management) and Clock Power Management. ASPM supports state L0/L0s/L1. ASPM is initially set up by the firmware. With this option enabled, Linux can modify this state in order to disable ASPM on known-bad hardware or configurations and enable it when known-safe. ASPM can be disabled or enabled at runtime via /sys/module/pcie_aspm/parameters/policy When in doubt, say Y. config PCIEASPM_DEBUG bool "Debug PCI Express ASPM" depends on PCIEASPM default n help This enables PCI Express ASPM debug support. It will add per-device interface to control ASPM. choice prompt "Default ASPM policy" default PCIEASPM_DEFAULT depends on PCIEASPM config PCIEASPM_DEFAULT bool "BIOS default" depends on PCIEASPM help Use the BIOS defaults for PCI Express ASPM. config PCIEASPM_POWERSAVE bool "Powersave" depends on PCIEASPM help Enable PCI Express ASPM L0s and L1 where possible, even if the BIOS did not. config PCIEASPM_PERFORMANCE bool "Performance" depends on PCIEASPM help Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them. endchoice config PCIE_PME def_bool y depends on PCIEPORTBUS && PM_RUNTIME # # PCI Express Root Port Device AER Configuration # config PCIEAER boolean "Root Port Advanced Error Reporting support" depends on PCIEPORTBUS default y help This enables PCI Express Root Port Advanced Error Reporting (AER) driver support. Error reporting messages sent to Root Port will be handled by PCI Express AER driver. # # PCI Express ECRC # config PCIE_ECRC bool "PCI Express ECRC settings control" depends on PCIEAER help Used to override firmware/bios settings for PCI Express ECRC (transaction layer end-to-end CRC checking). When in doubt, say N. source "drivers/pci/pcie/aer/Kconfig.debug" # # PCCARD (PCMCIA/CardBus) bus subsystem configuration # menuconfig PCCARD tristate "PCCard (PCMCIA/CardBus) support" ---help--- Say Y here if you want to attach PCMCIA- or PC-cards to your Linux computer. These are credit-card size devices such as network cards, modems or hard drives often used with laptops computers. There are actually two varieties of these cards: 16 bit PCMCIA and 32 bit CardBus cards. To compile this driver as modules, choose M here: the module will be called pcmcia_core. if PCCARD config PCMCIA tristate "16-bit PCMCIA support" select CRC32 default y ---help--- This option enables support for 16-bit PCMCIA cards. Most older PC-cards are such 16-bit PCMCIA cards, so unless you know you're only using 32-bit CardBus cards, say Y or M here. To use 16-bit PCMCIA cards, you will need supporting software in most cases. (see the file for location and details). To compile this driver as modules, choose M here: the module will be called pcmcia. If unsure, say Y. config PCMCIA_LOAD_CIS bool "Load CIS updates from userspace" depends on PCMCIA select FW_LOADER default y help Some PCMCIA cards require an updated Card Information Structure (CIS) to be loaded from userspace to work correctly. If you say Y here, and your userspace is arranged correctly, this will be loaded automatically using the in-kernel firmware loader and the hotplug subsystem, instead of relying on cardmgr from pcmcia-cs to do so. If unsure, say Y. config CARDBUS bool "32-bit CardBus support" depends on PCI default y ---help--- CardBus is a bus mastering architecture for PC-cards, which allows for 32 bit PC-cards (the original PCMCIA standard specifies only a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. To use 32 bit PC-cards, you also need a CardBus compatible host bridge. Virtually all modern PCMCIA bridges do this, and most of them are "yenta-compatible", so say Y or M there, too. If unsure, say Y. comment "PC-card bridges" config YENTA tristate "CardBus yenta-compatible bridge support" depends on PCI select CARDBUS if !EXPERT select PCCARD_NONSTATIC if PCMCIA != n ---help--- This option enables support for CardBus host bridges. Virtually all modern PCMCIA bridges are CardBus compatible. A "bridge" is the hardware inside your computer that PCMCIA cards are plugged into. To compile this driver as modules, choose M here: the module will be called yenta_socket. If unsure, say Y. config YENTA_O2 default y bool "Special initialization for O2Micro bridges" if EXPERT depends on YENTA config YENTA_RICOH default y bool "Special initialization for Ricoh bridges" if EXPERT depends on YENTA config YENTA_TI default y bool "Special initialization for TI and EnE bridges" if EXPERT depends on YENTA config YENTA_ENE_TUNE default y bool "Auto-tune EnE bridges for CB cards" if EXPERT depends on YENTA_TI && CARDBUS config YENTA_TOSHIBA default y bool "Special initialization for Toshiba ToPIC bridges" if EXPERT depends on YENTA config PD6729 tristate "Cirrus PD6729 compatible bridge support" depends on PCMCIA && PCI select PCCARD_NONSTATIC help This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge device, found in some older laptops and PCMCIA card readers. config I82092 tristate "i82092 compatible bridge support" depends on PCMCIA && PCI select PCCARD_NONSTATIC help This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device, found in some older laptops and more commonly in evaluation boards for the chip. config I82365 tristate "i82365 compatible bridge support" depends on PCMCIA && ISA select PCCARD_NONSTATIC help Say Y here to include support for ISA-bus PCMCIA host bridges that are register compatible with the Intel i82365. These are found on older laptops and ISA-bus card readers for desktop systems. A "bridge" is the hardware inside your computer that PCMCIA cards are plugged into. If unsure, say N. config TCIC tristate "Databook TCIC host bridge support" depends on PCMCIA && ISA select PCCARD_NONSTATIC help Say Y here to include support for the Databook TCIC family of PCMCIA host bridges. These are only found on a handful of old systems. "Bridge" is the name used for the hardware inside your computer that PCMCIA cards are plugged into. If unsure, say N. config PCMCIA_M8XX tristate "MPC8xx PCMCIA support" depends on PCCARD && PPC && 8xx select PCCARD_IODYN if PCMCIA != n help Say Y here to include support for PowerPC 8xx series PCMCIA controller. This driver is also available as a module called m8xx_pcmcia. config PCMCIA_ALCHEMY_DEVBOARD tristate "Alchemy Db/Pb1xxx PCMCIA socket services" depends on MIPS_ALCHEMY && PCMCIA select 64BIT_PHYS_ADDR help Enable this driver of you want PCMCIA support on your Alchemy Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 board. NOT suitable for the PB1000! This driver is also available as a module called db1xxx_ss.ko config PCMCIA_XXS1500 tristate "MyCable XXS1500 PCMCIA socket support" depends on PCMCIA && MIPS_XXS1500 select 64BIT_PHYS_ADDR help Support for the PCMCIA/CF socket interface on MyCable XXS1500 systems. This driver is also available as a module called xxs1500_ss.ko config PCMCIA_BCM63XX tristate "bcm63xx pcmcia support" depends on BCM63XX && PCMCIA config PCMCIA_SOC_COMMON tristate config PCMCIA_SA11XX_BASE tristate config PCMCIA_SA1100 tristate "SA1100 support" depends on ARM && ARCH_SA1100 && PCMCIA select PCMCIA_SOC_COMMON select PCMCIA_SA11XX_BASE help Say Y here to include support for SA11x0-based PCMCIA or CF sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/ Xscale(R) embedded machines. This driver is also available as a module called sa1100_cs. config PCMCIA_SA1111 tristate "SA1111 support" depends on ARM && SA1111 && PCMCIA select PCMCIA_SOC_COMMON select PCMCIA_SA11XX_BASE if ARCH_SA1100 help Say Y here to include support for SA1111-based PCMCIA or CF sockets, found on the Jornada 720, Graphicsmaster and other StrongARM(R)/Xscale(R) embedded machines. This driver is also available as a module called sa1111_cs. config PCMCIA_PXA2XX tristate "PXA2xx support" depends on ARM && ARCH_PXA && PCMCIA depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \ || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \ || MACH_COLIBRI320 || MACH_H4700) select PCMCIA_SA1111 if ARCH_LUBBOCK && SA1111 select PCMCIA_SOC_COMMON help Say Y here to include support for the PXA2xx PCMCIA controller config PCMCIA_DEBUG bool "Enable debugging" depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) help Say Y here to enable debugging for the SoC PCMCIA layer. You will need to choose the debugging level either via the kernel command line, or module options depending whether you build the drivers as modules. The kernel command line options are: sa11xx_core.pc_debug=N pxa2xx_core.pc_debug=N The module option is called pc_debug=N In all the above examples, N is the debugging verbosity level. config PCMCIA_PROBE bool default y if ISA && !ARCH_SA1100 && !PARISC config M32R_PCC bool "M32R PCMCIA I/F" depends on M32R && CHIP_M32700 && PCMCIA help Say Y here to use the M32R PCMCIA controller. config M32R_CFC bool "M32R CF I/F Controller" depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT) help Say Y here to use the M32R CompactFlash controller. config M32R_CFC_NUM int "M32R CF I/F number" depends on M32R_CFC default "1" if PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT help Set the number of M32R CF slots. config PCMCIA_VRC4171 tristate "NEC VRC4171 Card Controllers support" depends on CPU_VR41XX && ISA && PCMCIA config PCMCIA_VRC4173 tristate "NEC VRC4173 CARDU support" depends on CPU_VR41XX && PCI && PCMCIA config OMAP_CF tristate "OMAP CompactFlash Controller" depends on PCMCIA && ARCH_OMAP16XX help Say Y here to support the CompactFlash controller on OMAP. Note that this doesn't support "True IDE" mode. config BFIN_CFPCMCIA tristate "Blackfin CompactFlash PCMCIA Driver" depends on PCMCIA && BLACKFIN help Say Y here to support the CompactFlash PCMCIA driver for Blackfin. config AT91_CF tristate "AT91 CompactFlash Controller" depends on PCMCIA && ARCH_AT91 help Say Y here to support the CompactFlash controller on AT91 chips. Or choose M to compile the driver as a module named "at91_cf". config ELECTRA_CF tristate "Electra CompactFlash Controller" depends on PCMCIA && PPC_PASEMI help Say Y here to support the CompactFlash controller on the PA Semi Electra eval board. config PCCARD_NONSTATIC bool config PCCARD_IODYN bool endif # PCCARD # # PHY # menu "PHY Subsystem" config GENERIC_PHY tristate "PHY Core" help Generic PHY support. This framework is designed to provide a generic interface for PHY devices present in the kernel. This layer will have the generic API by which phy drivers can create PHY using the phy framework and phy users can obtain reference to the PHY. All the users of this framework should select this config. config PHY_EXYNOS_MIPI_VIDEO tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver" help Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P and EXYNOS SoCs. config OMAP_USB2 tristate "OMAP USB2 PHY Driver" depends on ARCH_OMAP2PLUS depends on USB_PHY select GENERIC_PHY select OMAP_CONTROL_USB help Enable this to support the transceiver that is part of SOC. This driver takes care of all the PHY functionality apart from comparator. The USB OTG controller communicates with the comparator using this driver. config TWL4030_USB tristate "TWL4030 USB Transceiver Driver" depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS depends on USB_PHY select GENERIC_PHY help Enable this to support the USB OTG transceiver on TWL4030 family chips (including the TWL5030 and TPS659x0 devices). This transceiver supports high and full speed devices plus, in host mode, low speed. config PHY_EXYNOS_DP_VIDEO tristate "EXYNOS SoC series Display Port PHY driver" depends on OF select GENERIC_PHY help Support for Display Port PHY found on Samsung EXYNOS SoCs. endmenu # # PINCTRL infrastructure and drivers # config PINCTRL bool if PINCTRL menu "Pin controllers" depends on PINCTRL config PINMUX bool "Support pin multiplexing controllers" config PINCONF bool "Support pin configuration controllers" config GENERIC_PINCONF bool select PINCONF config DEBUG_PINCTRL bool "Debug PINCTRL calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to PINCTRL calls. config PINCTRL_ABX500 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions" depends on AB8500_CORE select GENERIC_PINCONF help Select this to enable the ABx500 family IC GPIO driver config PINCTRL_AB8500 bool "AB8500 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 config PINCTRL_AB8540 bool "AB8540 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 config PINCTRL_AB9540 bool "AB9540 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 config PINCTRL_AB8505 bool "AB8505 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 config PINCTRL_ADI2 bool "ADI pin controller driver" depends on BLACKFIN select PINMUX select IRQ_DOMAIN help This is the pin controller and gpio driver for ADI BF54x, BF60x and future processors. This option is selected automatically when specific machine and arch are selected to build. config PINCTRL_AS3722 bool "Pinctrl and GPIO driver for ams AS3722 PMIC" depends on MFD_AS3722 && GPIOLIB select PINMUX select GENERIC_PINCONF help AS3722 device supports the configuration of GPIO pins for different functionality. This driver supports the pinmux, push-pull and open drain configuration for the GPIO pins of AS3722 devices. It also supports the GPIO functionality through gpiolib. config PINCTRL_BF54x def_bool y if BF54x select PINCTRL_ADI2 config PINCTRL_BF60x def_bool y if BF60x select PINCTRL_ADI2 config PINCTRL_AT91 bool "AT91 pinctrl driver" depends on OF depends on ARCH_AT91 select PINMUX select PINCONF help Say Y here to enable the at91 pinctrl driver config PINCTRL_BAYTRAIL bool "Intel Baytrail GPIO pin control" depends on GPIOLIB && ACPI && X86 select IRQ_DOMAIN help driver for memory mapped GPIO functionality on Intel Baytrail platforms. Supports 3 banks with 102, 28 and 44 gpios. Most pins are usually muxed to some other functionality by firmware, so only a small amount is available for gpio use. Requires ACPI device enumeration code to set up a platform device. config PINCTRL_BCM2835 bool select PINMUX select PINCONF config PINCTRL_IMX bool select PINMUX select PINCONF config PINCTRL_IMX1_CORE bool select PINMUX select PINCONF config PINCTRL_IMX27 bool "IMX27 pinctrl driver" depends on OF depends on SOC_IMX27 select PINCTRL_IMX1_CORE help Say Y here to enable the imx27 pinctrl driver config PINCTRL_IMX35 bool "IMX35 pinctrl driver" depends on OF depends on SOC_IMX35 select PINCTRL_IMX help Say Y here to enable the imx35 pinctrl driver config PINCTRL_IMX50 bool "IMX50 pinctrl driver" depends on OF depends on SOC_IMX50 select PINCTRL_IMX help Say Y here to enable the imx50 pinctrl driver config PINCTRL_IMX51 bool "IMX51 pinctrl driver" depends on OF depends on SOC_IMX51 select PINCTRL_IMX help Say Y here to enable the imx51 pinctrl driver config PINCTRL_IMX53 bool "IMX53 pinctrl driver" depends on OF depends on SOC_IMX53 select PINCTRL_IMX help Say Y here to enable the imx53 pinctrl driver config PINCTRL_IMX6Q bool "IMX6Q/DL pinctrl driver" depends on OF depends on SOC_IMX6Q select PINCTRL_IMX help Say Y here to enable the imx6q/dl pinctrl driver config PINCTRL_IMX6SL bool "IMX6SL pinctrl driver" depends on OF depends on SOC_IMX6SL select PINCTRL_IMX help Say Y here to enable the imx6sl pinctrl driver config PINCTRL_VF610 bool "Freescale Vybrid VF610 pinctrl driver" depends on OF depends on SOC_VF610 select PINCTRL_IMX help Say Y here to enable the Freescale Vybrid VF610 pinctrl driver config PINCTRL_LANTIQ bool depends on LANTIQ select PINMUX select PINCONF config PINCTRL_FALCON bool depends on SOC_FALCON depends on PINCTRL_LANTIQ config PINCTRL_MXS bool select PINMUX select PINCONF config PINCTRL_IMX23 bool select PINCTRL_MXS config PINCTRL_IMX28 bool select PINCTRL_MXS config PINCTRL_NOMADIK bool "Nomadik pin controller driver" depends on ARCH_U8500 || ARCH_NOMADIK select PINMUX select PINCONF config PINCTRL_STN8815 bool "STN8815 pin controller driver" depends on PINCTRL_NOMADIK && ARCH_NOMADIK config PINCTRL_DB8500 bool "DB8500 pin controller driver" depends on PINCTRL_NOMADIK && ARCH_U8500 config PINCTRL_DB8540 bool "DB8540 pin controller driver" depends on PINCTRL_NOMADIK && ARCH_U8500 config PINCTRL_ROCKCHIP bool select PINMUX select GENERIC_PINCONF select GENERIC_IRQ_CHIP config PINCTRL_SINGLE tristate "One-register-per-pin type device tree based pinctrl driver" depends on OF select PINMUX select PINCONF select GENERIC_PINCONF help This selects the device tree based generic pinctrl driver. config PINCTRL_SIRF bool "CSR SiRFprimaII/SiRFmarco pin controller driver" depends on ARCH_SIRF select PINMUX config PINCTRL_SUNXI bool select PINMUX select GENERIC_PINCONF config PINCTRL_ST bool depends on OF select PINMUX select PINCONF config PINCTRL_TEGRA bool select PINMUX select PINCONF config PINCTRL_TEGRA20 bool select PINCTRL_TEGRA config PINCTRL_TEGRA30 bool select PINCTRL_TEGRA config PINCTRL_TEGRA114 bool select PINCTRL_TEGRA config PINCTRL_TZ1090 bool "Toumaz Xenif TZ1090 pin control driver" depends on SOC_TZ1090 select PINMUX select GENERIC_PINCONF config PINCTRL_TZ1090_PDC bool "Toumaz Xenif TZ1090 PDC pin control driver" depends on SOC_TZ1090 select PINMUX select PINCONF config PINCTRL_U300 bool "U300 pin controller driver" depends on ARCH_U300 select PINMUX select GENERIC_PINCONF config PINCTRL_COH901 bool "ST-Ericsson U300 COH 901 335/571 GPIO" depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 help Say yes here to support GPIO interface on ST-Ericsson U300. The names of the two IP block variants supported are COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 ports of 8 GPIO pins each. config PINCTRL_SAMSUNG bool select PINMUX select PINCONF config PINCTRL_EXYNOS bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440" depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) select PINCTRL_SAMSUNG config PINCTRL_EXYNOS5440 bool "Samsung EXYNOS5440 SoC pinctrl driver" depends on SOC_EXYNOS5440 select PINMUX select PINCONF config PINCTRL_PALMAS bool "Pinctrl driver for the PALMAS Series MFD devices" depends on OF && MFD_PALMAS select PINMUX select GENERIC_PINCONF help Palmas device supports the configuration of pins for different functionality. This driver supports the pinmux, push-pull and open drain configuration for the Palmas series devices like TPS65913, TPS80036 etc. config PINCTRL_S3C24XX bool "Samsung S3C24XX SoC pinctrl driver" depends on ARCH_S3C24XX select PINCTRL_SAMSUNG config PINCTRL_S3C64XX bool "Samsung S3C64XX SoC pinctrl driver" depends on ARCH_S3C64XX select PINCTRL_SAMSUNG source "drivers/pinctrl/mvebu/Kconfig" source "drivers/pinctrl/sh-pfc/Kconfig" source "drivers/pinctrl/spear/Kconfig" source "drivers/pinctrl/vt8500/Kconfig" config PINCTRL_XWAY bool depends on SOC_TYPE_XWAY depends on PINCTRL_LANTIQ config PINCTRL_TB10X bool depends on ARC_PLAT_TB10X endmenu endif if PLAT_ORION config PINCTRL_MVEBU bool select PINMUX select PINCONF config PINCTRL_DOVE bool select PINCTRL_MVEBU config PINCTRL_KIRKWOOD bool select PINCTRL_MVEBU config PINCTRL_ARMADA_370 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_XP bool select PINCTRL_MVEBU endif # # Renesas SH and SH Mobile PINCTRL drivers # if ARCH_SHMOBILE || SUPERH config PINCTRL_SH_PFC select GPIO_SH_PFC if ARCH_REQUIRE_GPIOLIB select PINMUX select PINCONF select GENERIC_PINCONF def_bool y help This enables pin control drivers for SH and SH Mobile platforms config GPIO_SH_PFC bool "SuperH PFC GPIO support" depends on PINCTRL_SH_PFC && GPIOLIB help This enables support for GPIOs within the SoC's pin function controller. config PINCTRL_PFC_R8A73A4 def_bool y depends on ARCH_R8A73A4 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7740 def_bool y depends on ARCH_R8A7740 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7778 def_bool y depends on ARCH_R8A7778 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7779 def_bool y depends on ARCH_R8A7779 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7790 def_bool y depends on ARCH_R8A7790 select PINCTRL_SH_PFC config PINCTRL_PFC_R8A7791 def_bool y depends on ARCH_R8A7791 select PINCTRL_SH_PFC config PINCTRL_PFC_SH7203 def_bool y depends on CPU_SUBTYPE_SH7203 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7264 def_bool y depends on CPU_SUBTYPE_SH7264 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7269 def_bool y depends on CPU_SUBTYPE_SH7269 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7372 def_bool y depends on ARCH_SH7372 select PINCTRL_SH_PFC config PINCTRL_PFC_SH73A0 def_bool y depends on ARCH_SH73A0 select PINCTRL_SH_PFC select REGULATOR config PINCTRL_PFC_SH7720 def_bool y depends on CPU_SUBTYPE_SH7720 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7722 def_bool y depends on CPU_SUBTYPE_SH7722 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7723 def_bool y depends on CPU_SUBTYPE_SH7723 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7724 def_bool y depends on CPU_SUBTYPE_SH7724 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7734 def_bool y depends on CPU_SUBTYPE_SH7734 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7757 def_bool y depends on CPU_SUBTYPE_SH7757 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7785 def_bool y depends on CPU_SUBTYPE_SH7785 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SH7786 def_bool y depends on CPU_SUBTYPE_SH7786 depends on GPIOLIB select PINCTRL_SH_PFC config PINCTRL_PFC_SHX3 def_bool y depends on CPU_SUBTYPE_SHX3 depends on GPIOLIB select PINCTRL_SH_PFC endif # # ST Microelectronics SPEAr PINCTRL drivers # if PLAT_SPEAR config PINCTRL_SPEAR bool depends on OF select PINMUX help This enables pin control drivers for SPEAr Platform config PINCTRL_SPEAR3XX bool depends on ARCH_SPEAR3XX select PINCTRL_SPEAR config PINCTRL_SPEAR300 bool "ST Microelectronics SPEAr300 SoC pin controller driver" depends on MACH_SPEAR300 select PINCTRL_SPEAR3XX config PINCTRL_SPEAR310 bool "ST Microelectronics SPEAr310 SoC pin controller driver" depends on MACH_SPEAR310 select PINCTRL_SPEAR3XX select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR320 bool "ST Microelectronics SPEAr320 SoC pin controller driver" depends on MACH_SPEAR320 select PINCTRL_SPEAR3XX select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR1310 bool "ST Microelectronics SPEAr1310 SoC pin controller driver" depends on MACH_SPEAR1310 select PINCTRL_SPEAR select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR1340 bool "ST Microelectronics SPEAr1340 SoC pin controller driver" depends on MACH_SPEAR1340 select PINCTRL_SPEAR select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR_PLGPIO bool "SPEAr SoC PLGPIO Controller" depends on GPIOLIB && PINCTRL_SPEAR help Say yes here to support PLGPIO controller on ST Microelectronics SPEAr SoCs. endif # # VIA/Wondermedia PINCTRL drivers # if ARCH_VT8500 config PINCTRL_WMT bool select PINMUX select GENERIC_PINCONF config PINCTRL_VT8500 bool "VIA VT8500 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on VIA VT8500 SoCs. config PINCTRL_WM8505 bool "Wondermedia WM8505 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8505 SoCs. config PINCTRL_WM8650 bool "Wondermedia WM8650 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8650 SoCs. config PINCTRL_WM8750 bool "Wondermedia WM8750 pin controller driver" depends on ARCH_WM8750 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8750 SoCs. config PINCTRL_WM8850 bool "Wondermedia WM8850 pin controller driver" depends on ARCH_WM8850 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8850 SoCs. endif if X86 source "drivers/platform/x86/Kconfig" endif if GOLDFISH source "drivers/platform/goldfish/Kconfig" endif source "drivers/platform/chrome/Kconfig" # # Platform support for Chrome OS hardware (Chromebooks and Chromeboxes) # menuconfig CHROME_PLATFORMS bool "Platform support for Chrome hardware" depends on X86 ---help--- Say Y here to get to see options for platform support for various Chromebooks and Chromeboxes. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if CHROME_PLATFORMS config CHROMEOS_LAPTOP tristate "Chrome OS Laptop" depends on I2C depends on DMI ---help--- This driver instantiates i2c and smbus devices such as light sensors and touchpads. If you have a supported Chromebook, choose Y or M here. The module will be called chromeos_laptop. endif # CHROMEOS_PLATFORMS config GOLDFISH_PIPE tristate "Goldfish virtual device for QEMU pipes" ---help--- This is a virtual device to drive the QEMU pipe interface used by the Goldfish Android Virtual Device. # # X86 Platform Specific Drivers # menuconfig X86_PLATFORM_DEVICES bool "X86 Platform Specific Device Drivers" default y depends on X86 ---help--- Say Y here to get to see options for device drivers for various x86 platforms, including vendor-specific laptop extension drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if X86_PLATFORM_DEVICES config ACER_WMI tristate "Acer WMI Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on SERIO_I8042 depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_WMI select INPUT_SPARSEKMAP # Acer WMI depends on ACPI_VIDEO when ACPI is enabled # but for select to work, need to select ACPI_VIDEO's dependencies, ick select VIDEO_OUTPUT_CONTROL if ACPI select ACPI_VIDEO if ACPI ---help--- This is a driver for newer Acer (and Wistron) laptops. It adds wireless radio and bluetooth control, and on some laptops, exposes the mail LED and LCD backlight. If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M here. config ACERHDF tristate "Acer Aspire One temperature and fan driver" depends on THERMAL && ACPI ---help--- This is a driver for Acer Aspire One netbooks. It allows to access the temperature sensor and to control the fan. After loading this driver the BIOS is still in control of the fan. To let the kernel handle the fan, do: echo -n enabled > /sys/class/thermal/thermal_zone0/mode For more information about this driver see If you have an Acer Aspire One netbook, say Y or M here. config ASUS_LAPTOP tristate "Asus Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS select BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL || RFKILL = n select INPUT_SPARSEKMAP select INPUT_POLLDEV ---help--- This is a driver for Asus laptops, Lenovo SL and the Pegatron Lucid tablet. It may also support some MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate standard ACPI events and input events, and on the Lucid the built-in accelerometer appears as an input device. It also adds support for video output switching, LCD backlight control, Bluetooth and Wlan control, and most importantly, allows you to blink those fancy LEDs. For more information see . If you have an ACPI-compatible ASUS laptop, say Y or M here. config DELL_LAPTOP tristate "Dell Laptop Extras" depends on X86 depends on DCDBAS depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL || RFKILL = n depends on SERIO_I8042 select POWER_SUPPLY select LEDS_CLASS select NEW_LEDS default n ---help--- This driver adds support for rfkill and backlight control to Dell laptops. config DELL_WMI tristate "Dell WMI extras" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP ---help--- Say Y here if you want to support WMI-based hotkeys on Dell laptops. To compile this driver as a module, choose M here: the module will be called dell-wmi. config DELL_WMI_AIO tristate "WMI Hotkeys for Dell All-In-One series" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP ---help--- Say Y here if you want to support WMI-based hotkeys on Dell All-In-One machines. To compile this driver as a module, choose M here: the module will be called dell-wmi-aio. config FUJITSU_LAPTOP tristate "Fujitsu Laptop Extras" depends on ACPI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE depends on LEDS_CLASS || LEDS_CLASS=n ---help--- This is a driver for laptops built by Fujitsu: * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks * Possibly other Fujitsu laptop models * Tested with S6410 and S7020 It adds support for LCD brightness control and some hotkeys. If you have a Fujitsu laptop, say Y or M here. config FUJITSU_LAPTOP_DEBUG bool "Verbose debug mode for Fujitsu Laptop Extras" depends on FUJITSU_LAPTOP default n ---help--- Enables extra debug output from the fujitsu extras driver, at the expense of a slight increase in driver size. If you are not sure, say N here. config FUJITSU_TABLET tristate "Fujitsu Tablet Extras" depends on ACPI depends on INPUT ---help--- This is a driver for tablets built by Fujitsu: * Lifebook P1510/P1610/P1620/Txxxx * Stylistic ST5xxx * Possibly other Fujitsu tablet models It adds support for the panel buttons, docking station detection, tablet/notebook mode detection for convertible and orientation detection for docked slates. If you have a Fujitsu convertible or slate, say Y or M here. config AMILO_RFKILL tristate "Fujitsu-Siemens Amilo rfkill support" depends on RFKILL depends on SERIO_I8042 ---help--- This is a driver for enabling wifi on some Fujitsu-Siemens Amilo laptops. config TC1100_WMI tristate "HP Compaq TC1100 Tablet WMI Extras" depends on !X86_64 depends on ACPI depends on ACPI_WMI ---help--- This is a driver for the WMI extensions (wireless and bluetooth power control) of the HP Compaq TC1100 tablet. config HP_ACCEL tristate "HP laptop accelerometer" depends on INPUT && ACPI select SENSORS_LIS3LV02D select NEW_LEDS select LEDS_CLASS help This driver provides support for the "Mobile Data Protection System 3D" or "3D DriveGuard" feature of HP laptops. On such systems the driver should load automatically (via ACPI alias). Support for a led indicating disk protection will be provided as hp::hddprotect. For more information on the feature, refer to Documentation/misc-devices/lis3lv02d. To compile this driver as a module, choose M here: the module will be called hp_accel. config HP_WMI tristate "HP WMI extras" depends on ACPI_WMI depends on INPUT depends on RFKILL || RFKILL = n select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on HP laptops and to read data from WMI such as docking or ambient light sensor state. To compile this driver as a module, choose M here: the module will be called hp-wmi. config MSI_LAPTOP tristate "MSI Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL depends on INPUT && SERIO_I8042 select INPUT_SPARSEKMAP ---help--- This is a driver for laptops built by MSI (MICRO-STAR INTERNATIONAL): MSI MegaBook S270 (MS-1013) Cytron/TCM/Medion/Tchibo MD96100/SAM2000 It adds support for Bluetooth, WLAN and LCD brightness control. More information about this driver is available at . If you have an MSI S270 laptop, say Y or M here. config PANASONIC_LAPTOP tristate "Panasonic Laptop Extras" depends on INPUT && ACPI depends on BACKLIGHT_CLASS_DEVICE select INPUT_SPARSEKMAP ---help--- This driver adds support for access to backlight control and hotkeys on Panasonic Let's Note laptops. If you have a Panasonic Let's note laptop (such as the R1(N variant), R2, R3, R5, T2, W2 and Y2 series), say Y. config COMPAL_LAPTOP tristate "Compal Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL depends on HWMON depends on POWER_SUPPLY ---help--- This is a driver for laptops built by Compal: Compal FL90/IFL90 Compal FL91/IFL91 Compal FL92/JFL92 Compal FT00/IFT00 It adds support for Bluetooth, WLAN and LCD brightness control. If you have an Compal FL9x/IFL9x/FT00 laptop, say Y or M here. config SONY_LAPTOP tristate "Sony Laptop Extras" depends on ACPI select BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL ---help--- This mini-driver drives the SNC and SPIC devices present in the ACPI BIOS of the Sony Vaio laptops. It gives access to some extra laptop functionalities like Bluetooth, screen brightness control, Fn keys and allows powering on/off some devices. Read for more information. config SONYPI_COMPAT bool "Sonypi compatibility" depends on SONY_LAPTOP ---help--- Build the sonypi driver compatibility code into the sony-laptop driver. config IDEAPAD_LAPTOP tristate "Lenovo IdeaPad Laptop Extras" depends on ACPI depends on RFKILL && INPUT depends on SERIO_I8042 depends on BACKLIGHT_CLASS_DEVICE select INPUT_SPARSEKMAP help This is a driver for Lenovo IdeaPad netbooks contains drivers for rfkill switch, hotkey, fan control and backlight control. config THINKPAD_ACPI tristate "ThinkPad ACPI Laptop Extras" depends on ACPI depends on INPUT depends on RFKILL || RFKILL = n select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICE select HWMON select NVRAM select NEW_LEDS select LEDS_CLASS ---help--- This is a driver for the IBM and Lenovo ThinkPad laptops. It adds support for Fn-Fx key combinations, Bluetooth control, video output switching, ThinkLight control, UltraBay eject and more. For more information about this driver see and . This driver was formerly known as ibm-acpi. Extra functionality will be available if the rfkill (CONFIG_RFKILL) and/or ALSA (CONFIG_SND) subsystems are available in the kernel. Note that if you want ThinkPad-ACPI to be built-in instead of modular, ALSA and rfkill will also have to be built-in. If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. config THINKPAD_ACPI_ALSA_SUPPORT bool "Console audio control ALSA interface" depends on THINKPAD_ACPI depends on SND depends on SND = y || THINKPAD_ACPI = SND default y ---help--- Enables monitoring of the built-in console audio output control (headphone and speakers), which is operated by the mute and (in some ThinkPad models) volume hotkeys. If this option is enabled, ThinkPad-ACPI will export an ALSA card with a single read-only mixer control, which should be used for on-screen-display feedback purposes by the Desktop Environment. Optionally, the driver will also allow software control (the ALSA mixer will be made read-write). Please refer to the driver documentation for details. All IBM models have both volume and mute control. Newer Lenovo models only have mute control (the volume hotkeys are just normal keys and volume control is done through the main HDA mixer). config THINKPAD_ACPI_DEBUGFACILITIES bool "Maintainer debug facilities" depends on THINKPAD_ACPI default n ---help--- Enables extra stuff in the thinkpad-acpi which is completely useless for normal use. Read the driver source to find out what it does. Say N here, unless you were told by a kernel maintainer to do otherwise. config THINKPAD_ACPI_DEBUG bool "Verbose debug mode" depends on THINKPAD_ACPI default n ---help--- Enables extra debugging information, at the expense of a slightly increase in driver size. If you are not sure, say N here. config THINKPAD_ACPI_UNSAFE_LEDS bool "Allow control of important LEDs (unsafe)" depends on THINKPAD_ACPI default n ---help--- Overriding LED state on ThinkPads can mask important firmware alerts (like critical battery condition), or misled the user into damaging the hardware (undocking or ejecting the bay while buses are still active), etc. LED control on the ThinkPad is write-only (with very few exceptions on very ancient models), which makes it impossible to know beforehand if important information will be lost when one changes LED state. Users that know what they are doing can enable this option and the driver will allow control of every LED, including the ones on the dock stations. Never enable this option on a distribution kernel. Say N here, unless you are building a kernel for your own use, and need to control the important firmware LEDs. config THINKPAD_ACPI_VIDEO bool "Video output control support" depends on THINKPAD_ACPI default y ---help--- Allows the thinkpad_acpi driver to provide an interface to control the various video output ports. This feature often won't work well, depending on ThinkPad model, display state, video output devices in use, whether there is a X server running, phase of the moon, and the current mood of Schroedinger's cat. If you can use X.org's RandR to control your ThinkPad's video output ports instead of this feature, don't think twice: do it and say N here to save memory and avoid bad interactions with X.org. NOTE: access to this feature is limited to processes with the CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms where it interacts badly with X.org. If you are not sure, say Y here but do try to check if you could be using X.org RandR instead. config THINKPAD_ACPI_HOTKEY_POLL bool "Support NVRAM polling for hot keys" depends on THINKPAD_ACPI default y ---help--- Some thinkpad models benefit from NVRAM polling to detect a few of the hot key press events. If you know your ThinkPad model does not need to do NVRAM polling to support any of the hot keys you use, unselecting this option will save about 1kB of memory. ThinkPads T40 and newer, R52 and newer, and X31 and newer are unlikely to need NVRAM polling in their latest BIOS versions. NVRAM polling can detect at most the following keys: ThinkPad/Access IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute, Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12). If you are not sure, say Y here. The driver enables polling only if it is strictly necessary to do so. config SENSORS_HDAPS tristate "Thinkpad Hard Drive Active Protection System (hdaps)" depends on INPUT && X86 select INPUT_POLLDEV default n help This driver provides support for the IBM Hard Drive Active Protection System (hdaps), which provides an accelerometer and other misc. data. ThinkPads starting with the R50, T41, and X40 are supported. The accelerometer data is readable via sysfs. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. If your ThinkPad is not recognized by the driver, please update to latest BIOS. This is especially the case for some R52 ThinkPads. Say Y here if you have an applicable laptop and want to experience the awesome power of hdaps. config INTEL_MENLOW tristate "Thermal Management driver for Intel menlow platform" depends on ACPI_THERMAL select THERMAL ---help--- ACPI thermal management enhancement driver on Intel Menlow platform. If unsure, say N. config EEEPC_LAPTOP tristate "Eee PC Hotkey Driver" depends on ACPI depends on INPUT depends on RFKILL || RFKILL = n depends on HOTPLUG_PCI select BACKLIGHT_CLASS_DEVICE select HWMON select LEDS_CLASS select NEW_LEDS select INPUT_SPARSEKMAP ---help--- This driver supports the Fn-Fx keys on Eee PC laptops. It also gives access to some extra laptop functionalities like Bluetooth, backlight and allows powering on/off some other devices. If you have an Eee PC laptop, say Y or M here. If this driver doesn't work on your Eee PC, try eeepc-wmi instead. config ASUS_WMI tristate "ASUS WMI Driver" depends on ACPI_WMI depends on INPUT depends on HWMON depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL || RFKILL = n depends on HOTPLUG_PCI depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS ---help--- Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new Asus Notebooks). To compile this driver as a module, choose M here: the module will be called asus-wmi. config ASUS_NB_WMI tristate "Asus Notebook WMI Driver" depends on ASUS_WMI ---help--- This is a driver for newer Asus notebooks. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more informations, see If you have an ACPI-WMI compatible Asus Notebook, say Y or M here. config EEEPC_WMI tristate "Eee PC WMI Driver" depends on ASUS_WMI ---help--- This is a driver for newer Eee PC laptops. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more informations, see If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M here. config ACPI_WMI tristate "WMI" depends on ACPI help This driver adds support for the ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) found on some systems. ACPI-WMI is a proprietary extension to ACPI to expose parts of the ACPI firmware to userspace - this is done through various vendor defined methods and data blocks in a PNP0C14 device, which are then made available for userspace to call. The implementation of this in Linux currently only exposes this to other kernel space drivers. This driver is a required dependency to build the firmware specific drivers needed on many machines, including Acer and HP laptops. It is safe to enable this driver even if your DSDT doesn't define any ACPI-WMI devices. config MSI_WMI tristate "MSI WMI extras" depends on ACPI_WMI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on MSI laptops. To compile this driver as a module, choose M here: the module will be called msi-wmi. config TOPSTAR_LAPTOP tristate "Topstar Laptop Extras" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP ---help--- This driver adds support for hotkeys found on Topstar laptops. If you have a Topstar laptop, say Y or M here. config ACPI_TOSHIBA tristate "Toshiba Laptop Extras" depends on ACPI depends on ACPI_WMI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL || RFKILL = n depends on SERIO_I8042 || SERIO_I8042 = n select INPUT_POLLDEV select INPUT_SPARSEKMAP ---help--- This driver adds support for access to certain system settings on "legacy free" Toshiba laptops. These laptops can be recognized by their lack of a BIOS setup menu and APM support. On these machines, all system configuration is handled through the ACPI. This driver is required for access to controls not covered by the general ACPI drivers, such as LCD brightness, video output, etc. This driver differs from the non-ACPI Toshiba laptop driver (located under "Processor type and features") in several aspects. Configuration is accessed by reading and writing text files in the /proc tree instead of by program interface to /dev. Furthermore, no power management functions are exposed, as those are handled by the general ACPI drivers. More information about this driver is available at . If you have a legacy free Toshiba laptop (such as the Libretto L1 series), say Y. config TOSHIBA_BT_RFKILL tristate "Toshiba Bluetooth RFKill switch support" depends on ACPI ---help--- This driver adds support for Bluetooth events for the RFKill switch on modern Toshiba laptops with full ACPI support and an RFKill switch. This driver handles RFKill events for the TOS6205 Bluetooth, and re-enables it when the switch is set back to the 'on' position. If you have a modern Toshiba laptop with a Bluetooth and an RFKill switch (such as the Portege R500), say Y. config ACPI_CMPC tristate "CMPC Laptop Extras" depends on X86 && ACPI depends on RFKILL || RFKILL=n select INPUT select BACKLIGHT_CLASS_DEVICE default n help Support for Intel Classmate PC ACPI devices, including some keys as input device, backlight device, tablet and accelerometer devices. config INTEL_SCU_IPC bool "Intel SCU IPC Support" depends on X86_INTEL_MID default y ---help--- IPC is used to bridge the communications between kernel and SCU on some embedded Intel x86 platforms. This is not needed for PC-type machines. config INTEL_SCU_IPC_UTIL tristate "Intel SCU IPC utility driver" depends on INTEL_SCU_IPC default y ---help--- The IPC Util driver provides an interface with the SCU enabling low level access for debug work and updating the firmware. Say N unless you will be doing this on an Intel MID platform. config GPIO_INTEL_PMIC bool "Intel PMIC GPIO support" depends on INTEL_SCU_IPC && GPIOLIB ---help--- Say Y here to support GPIO via the SCU IPC interface on Intel MID platforms. config INTEL_MID_POWER_BUTTON tristate "power button driver for Intel MID platforms" depends on INTEL_SCU_IPC && INPUT help This driver handles the power button on the Intel MID platforms. If unsure, say N. config INTEL_MFLD_THERMAL tristate "Thermal driver for Intel Medfield platform" depends on MFD_INTEL_MSIC && THERMAL help Say Y here to enable thermal driver support for the Intel Medfield platform. config INTEL_IPS tristate "Intel Intelligent Power Sharing" depends on ACPI ---help--- Intel Calpella platforms support dynamic power sharing between the CPU and GPU, maximizing performance in a given TDP. This driver, along with the CPU frequency and i915 drivers, provides that functionality. If in doubt, say Y here; it will only load on supported platforms. config IBM_RTL tristate "Device driver to enable PRTL support" depends on X86 && PCI ---help--- Enable support for IBM Premium Real Time Mode (PRTM). This module will allow you the enter and exit PRTM in the BIOS via sysfs on platforms that support this feature. System in PRTM will not receive CPU-generated SMIs for recoverable errors. Use of this feature without proper support may void your hardware warranty. If the proper BIOS support is found the driver will load and create /sys/devices/system/ibm_rtl/. The "state" variable will indicate whether or not the BIOS is in PRTM. state = 0 (BIOS SMIs on) state = 1 (BIOS SMIs off) config XO1_RFKILL tristate "OLPC XO-1 software RF kill switch" depends on OLPC depends on RFKILL ---help--- Support for enabling/disabling the WLAN interface on the OLPC XO-1 laptop. config XO15_EBOOK tristate "OLPC XO-1.5 ebook switch" depends on ACPI && INPUT ---help--- Support for the ebook switch on the OLPC XO-1.5 laptop. This switch is triggered as the screen is rotated and folded down to convert the device into ebook form. config SAMSUNG_LAPTOP tristate "Samsung Laptop driver" depends on X86 depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE select LEDS_CLASS select NEW_LEDS ---help--- This module implements a driver for a wide range of different Samsung laptops. It offers control over the different function keys, wireless LED, LCD backlight level. It may also provide some sysfs files described in To compile this driver as a module, choose M here: the module will be called samsung-laptop. config MXM_WMI tristate "WMI support for MXM Laptop Graphics" depends on ACPI_WMI ---help--- MXM is a standard for laptop graphics cards, the WMI interface is required for switchable nvidia graphics machines config INTEL_OAKTRAIL tristate "Intel Oaktrail Platform Extras" depends on ACPI depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI ---help--- Intel Oaktrail platform need this driver to provide interfaces to enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y here; it will only load on supported platforms. config SAMSUNG_Q10 tristate "Samsung Q10 Extras" depends on ACPI select BACKLIGHT_CLASS_DEVICE ---help--- This driver provides support for backlight control on Samsung Q10 and related laptops, including Dell Latitude X200. config APPLE_GMUX tristate "Apple Gmux Driver" depends on ACPI depends on PNP depends on BACKLIGHT_CLASS_DEVICE depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE depends on ACPI_VIDEO=n || ACPI_VIDEO ---help--- This driver provides support for the gmux device found on many Apple laptops, which controls the display mux for the hybrid graphics as well as the backlight. Currently only backlight control is supported by the driver. config INTEL_RST tristate "Intel Rapid Start Technology Driver" depends on ACPI ---help--- This driver provides support for modifying paramaters on systems equipped with Intel's Rapid Start Technology. When put in an ACPI sleep state, these devices will wake after either a configured timeout or when the system battery reaches a critical state, automatically copying memory contents to disk. On resume, the firmware will copy the memory contents back to RAM and resume the OS as usual. config INTEL_SMARTCONNECT tristate "Intel Smart Connect disabling driver" depends on ACPI ---help--- Intel Smart Connect is a technology intended to permit devices to update state by resuming for a short period of time at regular intervals. If a user enables this functionality under Windows and then reboots into Linux, the system may remain configured to resume on suspend. In the absence of any userspace to support it, the system will then remain awake until something triggers another suspend. This driver checks to determine whether the device has Intel Smart Connect enabled, and if so disables it. config PVPANIC tristate "pvpanic device support" depends on ACPI ---help--- This driver provides support for the pvpanic device. pvpanic is a paravirtualized device provided by QEMU; it lets a virtual machine (guest) communicate panic events to the host. endif # X86_PLATFORM_DEVICES # # Plug and Play configuration # menuconfig PNP bool "Plug and Play support" depends on HAS_IOMEM depends on ISA || ACPI ---help--- Plug and Play (PnP) is a standard for peripherals which allows those peripherals to be configured by software, e.g. assign IRQ's or other parameters. No jumpers on the cards are needed, instead the values are provided to the cards from the BIOS, from the operating system, or using a user-space utility. Say Y here if you would like Linux to configure your Plug and Play devices. You should then also say Y to all of the protocols below. Alternatively, you can say N here and configure your PnP devices using user space utilities such as the isapnptools package. If unsure, say Y. config PNP_DEBUG_MESSAGES default y bool "PNP debugging messages" depends on PNP help Say Y here if you want the PNP layer to be able to produce debugging messages if needed. The messages can be enabled at boot-time with the pnp.debug kernel parameter. This option allows you to save a bit of space if you do not want the messages to even be built into the kernel. If you have any doubts about this, say Y here. if PNP comment "Protocols" source "drivers/pnp/isapnp/Kconfig" source "drivers/pnp/pnpbios/Kconfig" source "drivers/pnp/pnpacpi/Kconfig" endif # PNP # # ISA Plug and Play configuration # config ISAPNP bool "ISA Plug and Play support" depends on ISA help Say Y here if you would like support for ISA Plug and Play devices. Some information is in . If unsure, say Y. # # Plug and Play ACPI configuration # config PNPACPI bool default (PNP && ACPI) # # Plug and Play BIOS configuration # config PNPBIOS bool "Plug and Play BIOS support" depends on ISA && X86 default n ---help--- Linux uses the PNPBIOS as defined in "Plug and Play BIOS Specification Version 1.0A May 5, 1994" to autodetect built-in mainboard resources (e.g. parallel port resources). Some features (e.g. event notification, docking station information, ISAPNP services) are not currently implemented. If you would like the kernel to detect and allocate resources to your mainboard devices (on some systems they are disabled by the BIOS) say Y here. Also the PNPBIOS can help prevent resource conflicts between mainboard devices and other bus devices. Note: ACPI is expected to supersede PNPBIOS some day, currently it co-exists nicely. If you have a non-ISA system that supports ACPI, you probably don't need PNPBIOS support. config PNPBIOS_PROC_FS bool "Plug and Play BIOS /proc interface" depends on PNPBIOS && PROC_FS ---help--- If you say Y here and to "/proc file system support", you will be able to directly access the PNPBIOS. This includes resource allocation, ESCD, and other PNPBIOS services. Using this interface is potentially dangerous because the PNPBIOS driver will not be notified of any resource changes made by writing directly. Also some buggy systems will fault when accessing certain features in the PNPBIOS /proc interface (e.g. "boot" configs). See the latest pcmcia-cs (stand-alone package) for a nice set of PNPBIOS /proc interface tools (lspnp and setpnp). Unless you are debugging or have other specific reasons, it is recommended that you say N here. menuconfig POWER_SUPPLY bool "Power supply class support" help Say Y here to enable power supply class support. This allows power supply (batteries, AC, USB) monitoring by userspace via sysfs and uevent (if available) and/or APM kernel interface (if selected below). if POWER_SUPPLY config POWER_SUPPLY_DEBUG bool "Power supply debug" help Say Y here to enable debugging messages for power supply class and drivers. config PDA_POWER tristate "Generic PDA/phone power driver" depends on !S390 help Say Y here to enable generic power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. config APM_POWER tristate "APM emulation for class batteries" depends on APM_EMULATION help Say Y here to enable support APM status emulation using battery class devices. config GENERIC_ADC_BATTERY tristate "Generic battery support using IIO" depends on IIO help Say Y here to enable support for the generic battery driver which uses IIO framework to read adc. config MAX8925_POWER tristate "MAX8925 battery charger support" depends on MFD_MAX8925 help Say Y here to enable support for the battery charger in the Maxim MAX8925 PMIC. config WM831X_BACKUP tristate "WM831X backup battery charger support" depends on MFD_WM831X help Say Y here to enable support for the backup battery charger in the Wolfson Microelectronics WM831x PMICs. config WM831X_POWER tristate "WM831X PMU support" depends on MFD_WM831X help Say Y here to enable support for the power management unit provided by Wolfson Microelectronics WM831x PMICs. config WM8350_POWER tristate "WM8350 PMU support" depends on MFD_WM8350 help Say Y here to enable support for the power management unit provided by the Wolfson Microelectronics WM8350 PMIC. config TEST_POWER tristate "Test power driver" help This driver is used for testing. It's safe to say M here. config BATTERY_88PM860X tristate "Marvell 88PM860x battery driver" depends on MFD_88PM860X help Say Y here to enable battery monitor for Marvell 88PM860x chip. config BATTERY_DS2760 tristate "DS2760 battery driver (HP iPAQ & others)" depends on W1 && W1_SLAVE_DS2760 help Say Y here to enable support for batteries with ds2760 chip. config BATTERY_DS2780 tristate "DS2780 battery driver" depends on HAS_IOMEM select W1 select W1_SLAVE_DS2780 help Say Y here to enable support for batteries with ds2780 chip. config BATTERY_DS2781 tristate "DS2781 battery driver" depends on HAS_IOMEM select W1 select W1_SLAVE_DS2781 help If you enable this you will have the DS2781 battery driver support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config BATTERY_DS2782 tristate "DS2782/DS2786 standalone gas-gauge" depends on I2C help Say Y here to enable support for the DS2782/DS2786 standalone battery gas-gauge. config BATTERY_PMU tristate "Apple PMU battery" depends on PPC32 && ADB_PMU help Say Y here to expose battery information on Apple machines through the generic battery class. config BATTERY_OLPC tristate "One Laptop Per Child battery" depends on X86_32 && OLPC help Say Y to enable support for the battery on the OLPC laptop. config BATTERY_TOSA tristate "Sharp SL-6000 (tosa) battery" depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX help Say Y to enable support for the battery on the Sharp Zaurus SL-6000 (tosa) models. config BATTERY_COLLIE tristate "Sharp SL-5500 (collie) battery" depends on SA1100_COLLIE && MCP_UCB1200 help Say Y to enable support for the battery on the Sharp Zaurus SL-5500 (collie) models. config BATTERY_WM97XX bool "WM97xx generic battery driver" depends on TOUCHSCREEN_WM97XX=y help Say Y to enable support for battery measured by WM97xx aux port. config BATTERY_SBS tristate "SBS Compliant gas gauge" depends on I2C help Say Y to include support for SBS battery driver for SBS-compliant gas gauges. config BATTERY_BQ27x00 tristate "BQ27x00 battery driver" depends on I2C || I2C=n help Say Y here to enable support for batteries with BQ27x00 (I2C/HDQ) chips. config BATTERY_BQ27X00_I2C bool "BQ27200/BQ27500 support" depends on BATTERY_BQ27x00 depends on I2C default y help Say Y here to enable support for batteries with BQ27x00 (I2C) chips. config BATTERY_BQ27X00_PLATFORM bool "BQ27000 support" depends on BATTERY_BQ27x00 default y help Say Y here to enable support for batteries with BQ27000 (HDQ) chips. config BATTERY_DA9030 tristate "DA9030 battery driver" depends on PMIC_DA903X help Say Y here to enable support for batteries charger integrated into DA9030 PMIC. config BATTERY_DA9052 tristate "Dialog DA9052 Battery" depends on PMIC_DA9052 help Say Y here to enable support for batteries charger integrated into DA9052 PMIC. config BATTERY_MAX17040 tristate "Maxim MAX17040 Fuel Gauge" depends on I2C help MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17040 is configured to operate with a single lithium cell config BATTERY_MAX17042 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge" depends on I2C select REGMAP_I2C help MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17042 is configured to operate with a single lithium cell. MAX8997 and MAX8966 are multi-function devices that include fuel gauages that are compatible with MAX17042. This driver also supports max17047/50 chips which are improved version of max17042. config BATTERY_Z2 tristate "Z2 battery driver" depends on I2C && MACH_ZIPIT2 help Say Y to include support for the battery on the Zipit Z2. config BATTERY_S3C_ADC tristate "Battery driver for Samsung ADC based monitoring" depends on S3C_ADC help Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery config BATTERY_TWL4030_MADC tristate "TWL4030 MADC battery driver" depends on TWL4030_MADC help Say Y here to enable this dumb driver for batteries managed through the TWL4030 MADC. config CHARGER_88PM860X tristate "Marvell 88PM860x Charger driver" depends on MFD_88PM860X && BATTERY_88PM860X help Say Y here to enable charger for Marvell 88PM860x chip. config CHARGER_PCF50633 tristate "NXP PCF50633 MBC" depends on MFD_PCF50633 help Say Y to include support for NXP PCF50633 Main Battery Charger. config BATTERY_JZ4740 tristate "Ingenic JZ4740 battery" depends on MACH_JZ4740 depends on MFD_JZ4740_ADC help Say Y to enable support for the battery on Ingenic JZ4740 based boards. This driver can be build as a module. If so, the module will be called jz4740-battery. config BATTERY_INTEL_MID tristate "Battery driver for Intel MID platforms" depends on INTEL_SCU_IPC && SPI help Say Y here to enable the battery driver on Intel MID platforms. config BATTERY_RX51 tristate "Nokia RX-51 (N900) battery driver" depends on TWL4030_MADC help Say Y here to enable support for battery information on Nokia RX-51, also known as N900 tablet. config CHARGER_ISP1704 tristate "ISP1704 USB Charger Detection" depends on USB_PHY help Say Y to enable support for USB Charger Detection with ISP1707/ISP1704 USB transceivers. config CHARGER_MAX8903 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" help Say Y to enable support for the MAX8903 DC-DC charger and sysfs. The driver supports controlling charger-enable and current-limit pins based on the status of charger connections with interrupt handlers. config CHARGER_TWL4030 tristate "OMAP TWL4030 BCI charger driver" depends on TWL4030_CORE help Say Y here to enable support for TWL4030 Battery Charge Interface. config CHARGER_LP8727 tristate "TI/National Semiconductor LP8727 charger driver" depends on I2C help Say Y here to enable support for LP8727 Charger Driver. config CHARGER_LP8788 tristate "TI LP8788 charger driver" depends on MFD_LP8788 depends on LP8788_ADC depends on IIO help Say Y to enable support for the LP8788 linear charger. config CHARGER_GPIO tristate "GPIO charger" depends on GPIOLIB help Say Y to include support for chargers which report their online status through a GPIO pin. This driver can be build as a module. If so, the module will be called gpio-charger. config CHARGER_MANAGER bool "Battery charger manager for multiple chargers" depends on REGULATOR && RTC_CLASS select EXTCON help Say Y to enable charger-manager support, which allows multiple chargers attached to a battery and multiple batteries attached to a system. The charger-manager also can monitor charging status in runtime and in suspend-to-RAM by waking up the system periodically with help of suspend_again support. config CHARGER_MAX8997 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver" depends on MFD_MAX8997 && REGULATOR_MAX8997 help Say Y to enable support for the battery charger control sysfs and platform data of MAX8997/LP3974 PMICs. config CHARGER_MAX8998 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver" depends on MFD_MAX8998 && REGULATOR_MAX8998 help Say Y to enable support for the battery charger control sysfs and platform data of MAX8998/LP3974 PMICs. config CHARGER_BQ2415X tristate "TI BQ2415x battery charger driver" depends on I2C help Say Y to enable support for the TI BQ2415x battery charger PMICs. You'll need this driver to charge batteries on e.g. Nokia RX-51/N900. config CHARGER_BQ24190 tristate "TI BQ24190 battery charger driver" depends on I2C && GPIOLIB help Say Y to enable support for the TI BQ24190 battery charger. config CHARGER_BQ24735 tristate "TI BQ24735 battery charger support" depends on I2C && GPIOLIB help Say Y to enable support for the TI BQ24735 battery charger. config CHARGER_SMB347 tristate "Summit Microelectronics SMB347 Battery Charger" depends on I2C select REGMAP_I2C help Say Y to include support for Summit Microelectronics SMB347 Battery Charger. config CHARGER_TPS65090 tristate "TPS65090 battery charger driver" depends on MFD_TPS65090 help Say Y here to enable support for battery charging with TPS65090 PMIC chips. config AB8500_BM bool "AB8500 Battery Management Driver" depends on AB8500_CORE && AB8500_GPADC help Say Y to include support for AB8500 battery management. config BATTERY_GOLDFISH tristate "Goldfish battery driver" depends on GOLDFISH || COMPILE_TEST help Say Y to enable support for the battery and AC power in the Goldfish emulator. source "drivers/power/reset/Kconfig" endif # POWER_SUPPLY source "drivers/power/avs/Kconfig" menuconfig POWER_AVS bool "Adaptive Voltage Scaling class support" help AVS is a power management technique which finely controls the operating voltage of a device in order to optimize (i.e. reduce) its power consumption. At a given operating point the voltage is adapted depending on static factors (chip manufacturing process) and dynamic factors (temperature depending performance). AVS is also called SmartReflex on OMAP devices. Say Y here to enable Adaptive Voltage Scaling class support. menuconfig POWER_RESET bool "Board level reset or power off" help Provides a number of drivers which either reset a complete board or shut it down, by manipulating the main power supply on the board. Say Y here to enable board reset and power off config POWER_RESET_GPIO bool "GPIO power-off driver" depends on OF_GPIO && POWER_RESET help This driver supports turning off your board via a GPIO line. If your board needs a GPIO high/low to power down, say Y and create a binding in your devicetree. config POWER_RESET_MSM bool "Qualcomm MSM power-off driver" depends on POWER_RESET && ARCH_MSM help Power off and restart support for Qualcomm boards. config POWER_RESET_QNAP bool "QNAP power-off driver" depends on OF_GPIO && POWER_RESET && PLAT_ORION help This driver supports turning off QNAP NAS devices by sending commands to the microcontroller which controls the main power. Say Y if you have a QNAP NAS. config POWER_RESET_RESTART bool "Restart power-off driver" depends on ARM help Some boards don't actually have the ability to power off. Instead they restart, and u-boot holds the SoC until the user presses a key. u-boot then boots into Linux. config POWER_RESET_VEXPRESS bool "ARM Versatile Express power-off and reset driver" depends on ARM || ARM64 depends on POWER_RESET && VEXPRESS_CONFIG help Power off and reset support for the ARM Ltd. Versatile Express boards. config POWER_RESET_XGENE bool "APM SoC X-Gene reset driver" depends on ARM64 depends on POWER_RESET help Reboot support for the APM SoC X-Gene Eval boards. # # Generic power capping sysfs interface configuration # menuconfig POWERCAP bool "Generic powercap sysfs driver" help The power capping sysfs interface allows kernel subsystems to expose power capping settings to user space in a consistent way. Usually, it consists of multiple control types that determine which settings may be exposed and power zones representing parts of the system that can be subject to power capping. If you want this code to be compiled in, say Y here. if POWERCAP # Client driver configurations go here. config INTEL_RAPL tristate "Intel RAPL Support" depends on X86 default n ---help--- This enables support for the Intel Running Average Power Limit (RAPL) technology which allows power limits to be enforced and monitored on modern Intel processors (Sandy Bridge and later). In RAPL, the platform level settings are divided into domains for fine grained control. These domains include processor package, DRAM controller, CPU core (Power Plance 0), graphics uncore (Power Plane 1), etc. endif # # PPS support configuration # menu "PPS support" config PPS tristate "PPS support" ---help--- PPS (Pulse Per Second) is a special pulse provided by some GPS antennae. Userland can use it to get a high-precision time reference. Some antennae's PPS signals are connected with the CD (Carrier Detect) pin of the serial line they use to communicate with the host. In this case use the SERIAL_LINE client support. Some antennae's PPS signals are connected with some special host inputs so you have to enable the corresponding client support. To compile this driver as a module, choose M here: the module will be called pps_core.ko. if PPS config PPS_DEBUG bool "PPS debugging messages" help Say Y here if you want the PPS support to produce a bunch of debug messages to the system log. Select this if you are having a problem with PPS support and want to see more of what is going on. config NTP_PPS bool "PPS kernel consumer support" depends on !NO_HZ help This option adds support for direct in-kernel time synchronization using an external PPS signal. It doesn't work on tickless systems at the moment. endif source drivers/pps/clients/Kconfig source drivers/pps/generators/Kconfig endmenu # # PPS clients configuration # if PPS comment "PPS clients support" config PPS_CLIENT_KTIMER tristate "Kernel timer client (Testing client, use for debug)" help If you say yes here you get support for a PPS debugging client which uses a kernel timer to generate the PPS signal. This driver can also be built as a module. If so, the module will be called pps-ktimer. config PPS_CLIENT_LDISC tristate "PPS line discipline" depends on PPS && TTY help If you say yes here you get support for a PPS source connected with the CD (Carrier Detect) pin of your serial port. config PPS_CLIENT_PARPORT tristate "Parallel port PPS client" depends on PPS && PARPORT help If you say yes here you get support for a PPS source connected with the interrupt pin of your parallel port. config PPS_CLIENT_GPIO tristate "PPS client using GPIO" depends on PPS help If you say yes here you get support for a PPS source using GPIO. To be useful you must also register a platform device specifying the GPIO pin and other options, usually in your board setup. endif # # PPS generators configuration # comment "PPS generators support" config PPS_GENERATOR_PARPORT tristate "Parallel port PPS signal generator" depends on PARPORT && BROKEN help If you say yes here you get support for a PPS signal generator which utilizes STROBE pin of a parallel port to send PPS signals. It uses parport abstraction layer and hrtimers to precisely control the signal. # # PTP clock support configuration # menu "PTP clock support" config PTP_1588_CLOCK tristate "PTP clock support" select PPS help The IEEE 1588 standard defines a method to precisely synchronize distributed clocks over Ethernet networks. The standard defines a Precision Time Protocol (PTP), which can be used to achieve synchronization within a few dozen microseconds. In addition, with the help of special hardware time stamping units, it can be possible to achieve synchronization to within a few hundred nanoseconds. This driver adds support for PTP clocks as character devices. If you want to use a PTP clock, then you should also enable at least one clock driver as well. To compile this driver as a module, choose M here: the module will be called ptp. config PTP_1588_CLOCK_GIANFAR tristate "Freescale eTSEC as PTP clock" depends on GIANFAR select PTP_1588_CLOCK default y help This driver adds support for using the eTSEC as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called gianfar_ptp. config PTP_1588_CLOCK_IXP46X tristate "Intel IXP46x as PTP clock" depends on IXP4XX_ETH select PTP_1588_CLOCK default y help This driver adds support for using the IXP46X as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called ptp_ixp46x. comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n config DP83640_PHY tristate "Driver for the National Semiconductor DP83640 PHYTER" depends on NETWORK_PHY_TIMESTAMPING depends on PHYLIB select PTP_1588_CLOCK ---help--- Supports the DP83640 PHYTER with IEEE 1588 features. This driver adds support for using the DP83640 as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. In order for this to work, your MAC driver must also implement the skb_tx_timestamp() function. config PTP_1588_CLOCK_PCH tristate "Intel PCH EG20T as PTP clock" depends on X86 || COMPILE_TEST select PTP_1588_CLOCK help This driver adds support for using the PCH EG20T as a PTP clock. The hardware supports time stamping of PTP packets when using the end-to-end delay (E2E) mechansim. The peer delay mechansim (P2P) is not supported. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called ptp_pch. endmenu menuconfig PWM bool "Pulse-Width Modulation (PWM) Support" help Generic Pulse-Width Modulation (PWM) support. In Pulse-Width Modulation, a variation of the width of pulses in a rectangular pulse signal is used as a means to alter the average power of the signal. Applications include efficient power delivery and voltage regulation. In computer systems, PWMs are commonly used to control fans or the brightness of display backlights. This framework provides a generic interface to PWM devices within the Linux kernel. On the driver side it provides an API to register and unregister a PWM chip, an abstraction of a PWM controller, that supports one or more PWM devices. Client drivers can request PWM devices and use the generic framework to configure as well as enable and disable them. This generic framework replaces the legacy PWM framework which allows only a single driver implementing the required API. Not all legacy implementations have been ported to the framework yet. The framework provides an API that is backward compatible with the legacy framework so that existing client drivers continue to work as expected. If unsure, say no. if PWM config PWM_SYSFS bool default y if SYSFS config PWM_AB8500 tristate "AB8500 PWM support" depends on AB8500_CORE && ARCH_U8500 help Generic PWM framework driver for Analog Baseband AB8500. To compile this driver as a module, choose M here: the module will be called pwm-ab8500. config PWM_ATMEL_TCB tristate "Atmel TC Block PWM support" depends on ATMEL_TCLIB && OF help Generic PWM framework driver for Atmel Timer Counter Block. A Timer Counter Block provides 6 PWM devices grouped by 2. Devices in a given group must have the same period. To compile this driver as a module, choose M here: the module will be called pwm-atmel-tcb. config PWM_BFIN tristate "Blackfin PWM support" depends on BFIN_GPTIMERS help Generic PWM framework driver for Blackfin. To compile this driver as a module, choose M here: the module will be called pwm-bfin. config PWM_EP93XX tristate "Cirrus Logic EP93xx PWM support" depends on ARCH_EP93XX help Generic PWM framework driver for Cirrus Logic EP93xx. To compile this driver as a module, choose M here: the module will be called pwm-ep93xx. config PWM_IMX tristate "i.MX PWM support" depends on ARCH_MXC help Generic PWM framework driver for i.MX. To compile this driver as a module, choose M here: the module will be called pwm-imx. config PWM_JZ4740 tristate "Ingenic JZ4740 PWM support" depends on MACH_JZ4740 help Generic PWM framework driver for Ingenic JZ4740 based machines. To compile this driver as a module, choose M here: the module will be called pwm-jz4740. config PWM_LPC32XX tristate "LPC32XX PWM support" depends on ARCH_LPC32XX help Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two PWM controllers. To compile this driver as a module, choose M here: the module will be called pwm-lpc32xx. config PWM_MXS tristate "Freescale MXS PWM support" depends on ARCH_MXS && OF select STMP_DEVICE help Generic PWM framework driver for Freescale MXS. To compile this driver as a module, choose M here: the module will be called pwm-mxs. config PWM_PCA9685 tristate "NXP PCA9685 PWM driver" depends on OF && REGMAP_I2C help Generic PWM framework driver for NXP PCA9685 LED controller. To compile this driver as a module, choose M here: the module will be called pwm-pca9685. config PWM_PUV3 tristate "PKUnity NetBook-0916 PWM support" depends on ARCH_PUV3 help Generic PWM framework driver for PKUnity NetBook-0916. To compile this driver as a module, choose M here: the module will be called pwm-puv3. config PWM_PXA tristate "PXA PWM support" depends on ARCH_PXA help Generic PWM framework driver for PXA. To compile this driver as a module, choose M here: the module will be called pwm-pxa. config PWM_RENESAS_TPU tristate "Renesas TPU PWM support" depends on ARCH_SHMOBILE help This driver exposes the Timer Pulse Unit (TPU) PWM controller found in Renesas chips through the PWM API. To compile this driver as a module, choose M here: the module will be called pwm-renesas-tpu. config PWM_SAMSUNG tristate "Samsung PWM support" depends on PLAT_SAMSUNG help Generic PWM framework driver for Samsung. To compile this driver as a module, choose M here: the module will be called pwm-samsung. config PWM_SPEAR tristate "STMicroelectronics SPEAr PWM support" depends on PLAT_SPEAR depends on OF help Generic PWM framework driver for the PWM controller on ST SPEAr SoCs. To compile this driver as a module, choose M here: the module will be called pwm-spear. config PWM_TEGRA tristate "NVIDIA Tegra PWM support" depends on ARCH_TEGRA help Generic PWM framework driver for the PWFM controller found on NVIDIA Tegra SoCs. To compile this driver as a module, choose M here: the module will be called pwm-tegra. config PWM_TIECAP tristate "ECAP PWM support" depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX help PWM driver support for the ECAP APWM controller found on AM33XX TI SOC To compile this driver as a module, choose M here: the module will be called pwm-tiecap. config PWM_TIEHRPWM tristate "EHRPWM PWM support" depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX help PWM driver support for the EHRPWM controller found on AM33XX TI SOC To compile this driver as a module, choose M here: the module will be called pwm-tiehrpwm. config PWM_TIPWMSS bool default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) help PWM Subsystem driver support for AM33xx SOC. PWM submodules require PWM config space access from submodule drivers and require common parent driver support. config PWM_TWL tristate "TWL4030/6030 PWM support" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030. To compile this driver as a module, choose M here: the module will be called pwm-twl. config PWM_TWL_LED tristate "TWL4030/6030 PWM support for LED drivers" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030 LED terminals. To compile this driver as a module, choose M here: the module will be called pwm-twl-led. config PWM_VT8500 tristate "vt8500 PWM support" depends on ARCH_VT8500 help Generic PWM framework driver for vt8500. To compile this driver as a module, choose M here: the module will be called pwm-vt8500. endif # # RapidIO configuration # source "drivers/rapidio/devices/Kconfig" config RAPIDIO_DISC_TIMEOUT int "Discovery timeout duration (seconds)" depends on RAPIDIO default "30" ---help--- Amount of time a discovery node waits for a host to complete enumeration before giving up. config RAPIDIO_ENABLE_RX_TX_PORTS bool "Enable RapidIO Input/Output Ports" depends on RAPIDIO ---help--- The RapidIO specification describes a Output port transmit enable and a Input port receive enable. The recommended state for Input ports and Output ports should be disabled. When this switch is set the RapidIO subsystem will enable all ports for Input/Output direction to allow other traffic than Maintenance transfers. config RAPIDIO_DMA_ENGINE bool "DMA Engine support for RapidIO" depends on RAPIDIO select DMADEVICES select DMA_ENGINE help Say Y here if you want to use DMA Engine frameork for RapidIO data transfers to/from target RIO devices. RapidIO uses NREAD and NWRITE (NWRITE_R, SWRITE) requests to transfer data between local memory and memory on remote target device. You need a DMA controller capable to perform data transfers to/from RapidIO. If you are unsure about this, say Y here. config RAPIDIO_DEBUG bool "RapidIO subsystem debug messages" depends on RAPIDIO help Say Y here if you want the RapidIO subsystem to produce a bunch of debug messages to the system log. Select this if you are having a problem with the RapidIO subsystem and want to see more of what is going on. If you are unsure about this, say N here. choice prompt "Enumeration method" depends on RAPIDIO default RAPIDIO_ENUM_BASIC help There are different enumeration and discovery mechanisms offered for RapidIO subsystem. You may select single built-in method or or any number of methods to be built as modules. Selecting a built-in method disables use of loadable methods. If unsure, select Basic built-in. config RAPIDIO_ENUM_BASIC tristate "Basic" help This option includes basic RapidIO fabric enumeration and discovery mechanism similar to one described in RapidIO specification Annex 1. endchoice menu "RapidIO Switch drivers" depends on RAPIDIO source "drivers/rapidio/switches/Kconfig" endmenu # # RapidIO master port configuration # config RAPIDIO_TSI721 tristate "IDT Tsi721 PCI Express SRIO Controller support" depends on RAPIDIO && PCIEPORTBUS default "n" ---help--- Include support for IDT Tsi721 PCI Express Serial RapidIO controller. # # RapidIO switches configuration # config RAPIDIO_TSI57X tristate "IDT Tsi57x SRIO switches support" ---help--- Includes support for IDT Tsi57x family of serial RapidIO switches. config RAPIDIO_CPS_XX tristate "IDT CPS-xx SRIO switches support" ---help--- Includes support for IDT CPS-16/12/10/8 serial RapidIO switches. config RAPIDIO_TSI568 tristate "Tsi568 SRIO switch support" default n ---help--- Includes support for IDT Tsi568 serial RapidIO switch. config RAPIDIO_CPS_GEN2 tristate "IDT CPS Gen.2 SRIO switch support" default n ---help--- Includes support for ITD CPS Gen.2 serial RapidIO switches. menuconfig REGULATOR bool "Voltage and Current Regulator Support" help Generic Voltage and Current Regulator support. This framework is designed to provide a generic interface to voltage and current regulators within the Linux kernel. It's intended to provide voltage and current control to client or consumer drivers and also provide status information to user space applications through a sysfs interface. The intention is to allow systems to dynamically control regulator output in order to save power and prolong battery life. This applies to both voltage regulators (where voltage output is controllable) and current sinks (where current output is controllable). This framework safely compiles out if not selected so that client drivers can still be used in systems with no software controllable regulators. If unsure, say no. if REGULATOR config REGULATOR_DEBUG bool "Regulator debug support" help Say yes here to enable debugging support. config REGULATOR_FIXED_VOLTAGE tristate "Fixed voltage regulator support" help This driver provides support for fixed voltage regulators, useful for systems which use a combination of software managed regulators and simple non-configurable regulators. config REGULATOR_VIRTUAL_CONSUMER tristate "Virtual regulator consumer support" help This driver provides a virtual consumer for the voltage and current regulator API which provides sysfs controls for configuring the supplies requested. This is mainly useful for test purposes. If unsure, say no. config REGULATOR_USERSPACE_CONSUMER tristate "Userspace regulator consumer support" help There are some classes of devices that are controlled entirely from user space. Userspace consumer driver provides ability to control power supplies for such devices. If unsure, say no. config REGULATOR_88PM800 tristate "Marvell 88PM800 Power regulators" depends on MFD_88PM800 help This driver supports Marvell 88PM800 voltage regulator chips. It delivers digitally programmable output, the voltage is programmed via I2C interface. It's suitable to support PXA988 chips to control VCC_MAIN and various voltages. config REGULATOR_88PM8607 tristate "Marvell 88PM8607 Power regulators" depends on MFD_88PM860X=y help This driver supports 88PM8607 voltage regulator chips. config REGULATOR_AD5398 tristate "Analog Devices AD5398/AD5821 regulators" depends on I2C help This driver supports AD5398 and AD5821 current regulator chips. If building into module, its name is ad5398.ko. config REGULATOR_ANATOP tristate "Freescale i.MX on-chip ANATOP LDO regulators" depends on MFD_SYSCON help Say y here to support Freescale i.MX on-chip ANATOP LDOs regulators. It is recommended that this option be enabled on i.MX6 platform. config REGULATOR_AAT2870 tristate "AnalogicTech AAT2870 Regulators" depends on MFD_AAT2870_CORE help If you have a AnalogicTech AAT2870 say Y to enable the regulator driver. config REGULATOR_AB3100 tristate "ST-Ericsson AB3100 Regulator functions" depends on AB3100_CORE default y if AB3100_CORE help These regulators correspond to functionality in the AB3100 analog baseband dealing with power regulators for the system. config REGULATOR_AB8500 bool "ST-Ericsson AB8500 Power Regulators" depends on AB8500_CORE help This driver supports the regulators found on the ST-Ericsson mixed signal AB8500 PMIC config REGULATOR_ARIZONA tristate "Wolfson Arizona class devices" depends on MFD_ARIZONA depends on SND_SOC help Support for the regulators found on Wolfson Arizona class devices. config REGULATOR_AS3711 tristate "AS3711 PMIC" depends on MFD_AS3711 help This driver provides support for the voltage regulators on the AS3711 PMIC config REGULATOR_AS3722 tristate "AMS AS3722 PMIC Regulators" depends on MFD_AS3722 help This driver provides support for the voltage regulators on the AS3722 PMIC. This will enable support for all the software controllable DCDC/LDO regulators. config REGULATOR_DA903X tristate "Dialog Semiconductor DA9030/DA9034 regulators" depends on PMIC_DA903X help Say y here to support the BUCKs and LDOs regulators found on Dialog Semiconductor DA9030/DA9034 PMIC. config REGULATOR_DA9052 tristate "Dialog Semiconductor DA9052/DA9053 regulators" depends on PMIC_DA9052 help This driver supports the voltage regulators of DA9052-BC and DA9053-AA/Bx PMIC. config REGULATOR_DA9055 tristate "Dialog Semiconductor DA9055 regulators" depends on MFD_DA9055 help Say y here to support the BUCKs and LDOs regulators found on Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055-regulator. config REGULATOR_DA9063 tristate "Dialog Semiconductor DA9063 regulators" depends on MFD_DA9063 help Say y here to support the BUCKs and LDOs regulators found on DA9063 PMICs. This driver can also be built as a module. If so, the module will be called da9063-regulator. config REGULATOR_DA9210 tristate "Dialog Semiconductor DA9210 regulator" depends on I2C select REGMAP_I2C help Say y here to support for the Dialog Semiconductor DA9210. The DA9210 is a multi-phase synchronous step down converter 12A DC-DC Buck controlled through an I2C interface. config REGULATOR_DBX500_PRCMU bool config REGULATOR_DB8500_PRCMU bool "ST-Ericsson DB8500 Voltage Domain Regulators" depends on MFD_DB8500_PRCMU select REGULATOR_DBX500_PRCMU help This driver supports the voltage domain regulators controlled by the DB8500 PRCMU config REGULATOR_FAN53555 tristate "Fairchild FAN53555 Regulator" depends on I2C select REGMAP_I2C help This driver supports Fairchild FAN53555 Digitally Programmable TinyBuck Regulator. The FAN53555 is a step-down switching voltage regulator that delivers a digitally programmable output from an input voltage supply of 2.5V to 5.5V. The output voltage is programmed through an I2C interface. config REGULATOR_GPIO tristate "GPIO regulator support" depends on GPIOLIB help This driver provides support for regulators that can be controlled via gpios. It is capable of supporting current and voltage regulators and the platform has to provide a mapping of GPIO-states to target volts/amps. config REGULATOR_ISL6271A tristate "Intersil ISL6271A Power regulator" depends on I2C help This driver supports ISL6271A voltage regulator chip. config REGULATOR_LP3971 tristate "National Semiconductors LP3971 PMIC regulator driver" depends on I2C help Say Y here to support the voltage regulators and convertors on National Semiconductors LP3971 PMIC config REGULATOR_LP3972 tristate "National Semiconductors LP3972 PMIC regulator driver" depends on I2C help Say Y here to support the voltage regulators and convertors on National Semiconductors LP3972 PMIC config REGULATOR_LP872X tristate "TI/National Semiconductor LP8720/LP8725 voltage regulators" depends on I2C select REGMAP_I2C help This driver supports LP8720/LP8725 PMIC config REGULATOR_LP8755 tristate "TI LP8755 High Performance PMU driver" depends on I2C select REGMAP_I2C help This driver supports LP8755 High Performance PMU driver. This chip contains six step-down DC/DC converters which can support 9 mode multiphase configuration. config REGULATOR_LP8788 tristate "TI LP8788 Power Regulators" depends on MFD_LP8788 help This driver supports LP8788 voltage regulator chip. config REGULATOR_MAX1586 tristate "Maxim 1586/1587 voltage regulator" depends on I2C help This driver controls a Maxim 1586 or 1587 voltage output regulator via I2C bus. The provided regulator is suitable for PXA27x chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX8649 tristate "Maxim 8649 voltage regulator" depends on I2C select REGMAP_I2C help This driver controls a Maxim 8649 voltage output regulator via I2C bus. config REGULATOR_MAX8660 tristate "Maxim 8660/8661 voltage regulator" depends on I2C help This driver controls a Maxim 8660/8661 voltage output regulator via I2C bus. config REGULATOR_MAX8907 tristate "Maxim 8907 voltage regulator" depends on MFD_MAX8907 help This driver controls a Maxim 8907 voltage output regulator via I2C bus. The provided regulator is suitable for Tegra chip to control Step-Down DC-DC and LDOs. config REGULATOR_MAX8925 tristate "Maxim MAX8925 Power Management IC" depends on MFD_MAX8925 help Say y here to support the voltage regulaltor of Maxim MAX8925 PMIC. config REGULATOR_MAX8952 tristate "Maxim MAX8952 Power Management IC" depends on I2C help This driver controls a Maxim 8952 voltage output regulator via I2C bus. Maxim 8952 has one voltage output and supports 4 DVS modes ranging from 0.77V to 1.40V by 0.01V steps. config REGULATOR_MAX8973 tristate "Maxim MAX8973 voltage regulator " depends on I2C select REGMAP_I2C help The MAXIM MAX8973 high-efficiency. three phase, DC-DC step-down switching regulator delievers up to 9A of output current. Each phase operates at a 2MHz fixed frequency with a 120 deg shift from the adjacent phase, allowing the use of small magnetic component. config REGULATOR_MAX8997 tristate "Maxim 8997/8966 regulator" depends on MFD_MAX8997 help This driver controls a Maxim 8997/8966 regulator via I2C bus. The provided regulator is suitable for S5PC110, S5PV210, and Exynos-4 chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX8998 tristate "Maxim 8998 voltage regulator" depends on MFD_MAX8998 help This driver controls a Maxim 8998 voltage output regulator via I2C bus. The provided regulator is suitable for S3C6410 and S5PC1XX chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX77686 tristate "Maxim 77686 regulator" depends on MFD_MAX77686 help This driver controls a Maxim 77686 regulator via I2C bus. The provided regulator is suitable for Exynos-4 chips to control VARM and VINT voltages. config REGULATOR_MAX77693 tristate "Maxim MAX77693 regulator" depends on MFD_MAX77693 help This driver controls a Maxim 77693 regulator via I2C bus. The regulators include two LDOs, 'SAFEOUT1', 'SAFEOUT2' and one current regulator 'CHARGER'. This is suitable for Exynos-4x12 chips. config REGULATOR_MC13XXX_CORE tristate config REGULATOR_MC13783 tristate "Freescale MC13783 regulator driver" depends on MFD_MC13783 select REGULATOR_MC13XXX_CORE help Say y here to support the regulators found on the Freescale MC13783 PMIC. config REGULATOR_MC13892 tristate "Freescale MC13892 regulator driver" depends on MFD_MC13XXX select REGULATOR_MC13XXX_CORE help Say y here to support the regulators found on the Freescale MC13892 PMIC. config REGULATOR_PALMAS tristate "TI Palmas PMIC Regulators" depends on MFD_PALMAS help If you wish to control the regulators on the Palmas series of chips say Y here. This will enable support for all the software controllable SMPS/LDO regulators. The regulators available on Palmas series chips vary depending on the muxing. This is handled automatically in the driver by reading the mux info from OTP. config REGULATOR_PCAP tristate "Motorola PCAP2 regulator driver" depends on EZX_PCAP help This driver provides support for the voltage regulators of the PCAP2 PMIC. config REGULATOR_PCF50633 tristate "NXP PCF50633 regulator driver" depends on MFD_PCF50633 help Say Y here to support the voltage regulators and convertors on PCF50633 config REGULATOR_PFUZE100 tristate "Support regulators on Freescale PFUZE100 PMIC" depends on I2C select REGMAP_I2C help Say y here to support the regulators found on the Freescale PFUZE100 PMIC. config REGULATOR_RC5T583 tristate "RICOH RC5T583 Power regulators" depends on MFD_RC5T583 help Select this option to enable the power regulator of RICOH PMIC RC5T583. This driver supports the control of different power rails of device through regulator interface. The device supports multiple DCDC/LDO outputs which can be controlled by i2c communication. config REGULATOR_S2MPS11 tristate "Samsung S2MPS11 voltage regulator" depends on MFD_SEC_CORE help This driver supports a Samsung S2MPS11 voltage output regulator via I2C bus. S2MPS11 is comprised of high efficient Buck converters including Dual-Phase Buck converter, Buck-Boost converter, various LDOs. config REGULATOR_S5M8767 tristate "Samsung S5M8767A voltage regulator" depends on MFD_SEC_CORE help This driver supports a Samsung S5M8767A voltage output regulator via I2C bus. S5M8767A have 9 Bucks and 28 LDOs output and supports DVS mode with 8bits of output voltage control. config REGULATOR_TI_ABB tristate "TI Adaptive Body Bias on-chip LDO" depends on ARCH_OMAP help Select this option to support Texas Instruments' on-chip Adaptive Body Bias (ABB) LDO regulators. It is recommended that this option be enabled on required TI SoC. Certain Operating Performance Points on TI SoCs may be unstable without enabling this as it provides device specific optimized bias to allow/optimize functionality. config REGULATOR_STW481X_VMMC bool "ST Microelectronics STW481X VMMC regulator" depends on MFD_STW481X default y if MFD_STW481X help This driver supports the internal VMMC regulator in the STw481x PMIC chips. config REGULATOR_TPS51632 tristate "TI TPS51632 Power Regulator" depends on I2C select REGMAP_I2C help This driver supports TPS51632 voltage regulator chip. The TPS51632 is 3-2-1 Phase D-Cap+ Step Down Driverless Controller with Serial VID control and DVFS. The voltage output can be configure through I2C interface or PWM interface. config REGULATOR_TPS6105X tristate "TI TPS6105X Power regulators" depends on TPS6105X default y if TPS6105X help This driver supports TPS61050/TPS61052 voltage regulator chips. It is a single boost converter primarily for white LEDs and audio amplifiers. config REGULATOR_TPS62360 tristate "TI TPS6236x Power Regulator" depends on I2C select REGMAP_I2C help This driver supports TPS6236x voltage regulator chip. This regulator is meant for processor core supply. This chip is high-frequency synchronous step down dc-dc converter optimized for battery-powered portable applications. config REGULATOR_TPS65023 tristate "TI TPS65023 Power regulators" depends on I2C select REGMAP_I2C help This driver supports TPS65023 voltage regulator chips. TPS65023 provides three step-down converters and two general-purpose LDO voltage regulators. It supports TI's software based Class-2 SmartReflex implementation. config REGULATOR_TPS6507X tristate "TI TPS6507X Power regulators" depends on I2C help This driver supports TPS6507X voltage regulator chips. TPS6507X provides three step-down converters and two general-purpose LDO voltage regulators. It supports TI's software based Class-2 SmartReflex implementation. config REGULATOR_TPS65090 tristate "TI TPS65090 Power regulator" depends on MFD_TPS65090 help This driver provides support for the voltage regulators on the TI TPS65090 PMIC. config REGULATOR_TPS65217 tristate "TI TPS65217 Power regulators" depends on MFD_TPS65217 help This driver supports TPS65217 voltage regulator chips. TPS65217 provides three step-down converters and four general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_TPS6524X tristate "TI TPS6524X Power regulators" depends on SPI help This driver supports TPS6524X voltage regulator chips. TPS6524X provides three step-down converters and two general-purpose LDO voltage regulators. This device is interfaced using a customized serial interface currently supported on the sequencer serial port controller. config REGULATOR_TPS6586X tristate "TI TPS6586X Power regulators" depends on MFD_TPS6586X help This driver supports TPS6586X voltage regulator chips. config REGULATOR_TPS65910 tristate "TI TPS65910/TPS65911 Power Regulators" depends on MFD_TPS65910 help This driver supports TPS65910/TPS65911 voltage regulator chips. config REGULATOR_TPS65912 tristate "TI TPS65912 Power regulator" depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI) help This driver supports TPS65912 voltage regulator chip. config REGULATOR_TPS80031 tristate "TI TPS80031/TPS80032 power regualtor driver" depends on MFD_TPS80031 help TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. It has 5 configurable step-down converters, 11 general purpose LDOs, VBUS generator and digital output to control regulators. config REGULATOR_TWL4030 tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC" depends on TWL4030_CORE help This driver supports the voltage regulators provided by this family of companion chips. config REGULATOR_VEXPRESS tristate "Versatile Express regulators" depends on VEXPRESS_CONFIG help This driver provides support for voltage regulators available on the ARM Ltd's Versatile Express platform. config REGULATOR_WM831X tristate "Wolfson Microelectronics WM831x PMIC regulators" depends on MFD_WM831X help Support the voltage and current regulators of the WM831x series of PMIC devices. config REGULATOR_WM8350 tristate "Wolfson Microelectronics WM8350 AudioPlus PMIC" depends on MFD_WM8350 help This driver provides support for the voltage and current regulators of the WM8350 AudioPlus PMIC. config REGULATOR_WM8400 tristate "Wolfson Microelectronics WM8400 AudioPlus PMIC" depends on MFD_WM8400 help This driver provides support for the voltage regulators of the WM8400 AudioPlus PMIC. config REGULATOR_WM8994 tristate "Wolfson Microelectronics WM8994 CODEC" depends on MFD_WM8994 help This driver provides support for the voltage regulators on the WM8994 CODEC. endif menu "Remoteproc drivers" # REMOTEPROC gets selected by whoever wants it config REMOTEPROC tristate depends on HAS_DMA select CRC32 select FW_LOADER select VIRTIO select VIRTUALIZATION config OMAP_REMOTEPROC tristate "OMAP remoteproc support" depends on HAS_DMA depends on ARCH_OMAP4 || SOC_OMAP5 depends on OMAP_IOMMU select REMOTEPROC select MAILBOX select OMAP2PLUS_MBOX select RPMSG help Say y here to support OMAP's remote processors (dual M3 and DSP on OMAP4) via the remote processor framework. Currently only supported on OMAP4. Usually you want to say y here, in order to enable multimedia use-cases to run on your platform (multimedia codecs are offloaded to remote DSP processors using this framework). It's safe to say n here if you're not interested in multimedia offloading or just want a bare minimum kernel. config STE_MODEM_RPROC tristate "STE-Modem remoteproc support" depends on HAS_DMA select REMOTEPROC default n help Say y or m here to support STE-Modem shared memory driver. This can be either built-in or a loadable module. If unsure say N. config DA8XX_REMOTEPROC tristate "DA8xx/OMAP-L13x remoteproc support" depends on ARCH_DAVINCI_DA8XX select CMA select REMOTEPROC select RPMSG help Say y here to support DA8xx/OMAP-L13x remote processors via the remote processor framework. You want to say y here in order to enable AMP use-cases to run on your platform (multimedia codecs are offloaded to remote DSP processors using this framework). This module controls the name of the firmware file that gets loaded on the DSP. This file must reside in the /lib/firmware directory. It can be specified via the module parameter da8xx_fw_name=, and if not specified will default to "rproc-dsp-fw". It's safe to say n here if you're not interested in multimedia offloading. endmenu config ARCH_HAS_RESET_CONTROLLER bool menuconfig RESET_CONTROLLER bool "Reset Controller Support" default y if ARCH_HAS_RESET_CONTROLLER help Generic Reset Controller support. This framework is designed to abstract reset handling of devices via GPIOs or SoC-internal reset controller modules. If unsure, say no. menu "Rpmsg drivers" # RPMSG always gets selected by whoever wants it config RPMSG tristate select VIRTIO select VIRTUALIZATION endmenu # # RTC class/drivers configuration # config RTC_LIB bool menuconfig RTC_CLASS bool "Real Time Clock" default n depends on !S390 && !UML select RTC_LIB help Generic RTC class support. If you say yes here, you will be allowed to plug one or more RTCs to your system. You will probably want to enable one or more of the interfaces below. if RTC_CLASS config RTC_HCTOSYS bool "Set system time from RTC on startup and resume" default y help If you say yes here, the system time (wall clock) will be set using the value read from a specified RTC device. This is useful to avoid unnecessary fsck runs at boot time, and to network better. config RTC_SYSTOHC bool "Set the RTC time based on NTP synchronization" default y help If you say yes here, the system time (wall clock) will be stored in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11 minutes if userspace reports synchronized NTP status. config RTC_HCTOSYS_DEVICE string "RTC used to set the system time" depends on RTC_HCTOSYS = y || RTC_SYSTOHC = y default "rtc0" help The RTC device that will be used to (re)initialize the system clock, usually rtc0. Initialization is done when the system starts up, and when it resumes from a low power state. This device should record time in UTC, since the kernel won't do timezone correction. The driver for this RTC device must be loaded before late_initcall functions run, so it must usually be statically linked. This clock should be battery-backed, so that it reads the correct time when the system boots from a power-off state. Otherwise, your system will need an external clock source (like an NTP server). If the clock you specify here is not battery backed, it may still be useful to reinitialize system time when resuming from system sleep states. Do not specify an RTC here unless it stays powered during all this system's supported sleep states. config RTC_DEBUG bool "RTC debug support" help Say yes here to enable debugging support in the RTC framework and individual RTC drivers. comment "RTC interfaces" config RTC_INTF_SYSFS boolean "/sys/class/rtc/rtcN (sysfs)" depends on SYSFS default RTC_CLASS help Say yes here if you want to use your RTCs using sysfs interfaces, /sys/class/rtc/rtc0 through /sys/.../rtcN. If unsure, say Y. config RTC_INTF_PROC boolean "/proc/driver/rtc (procfs for rtcN)" depends on PROC_FS default RTC_CLASS help Say yes here if you want to use your system clock RTC through the proc interface, /proc/driver/rtc. Other RTCs will not be available through that API. If there is no RTC for the system clock, then the first RTC(rtc0) is used by default. If unsure, say Y. config RTC_INTF_DEV boolean "/dev/rtcN (character devices)" default RTC_CLASS help Say yes here if you want to use your RTCs using the /dev interfaces, which "udev" sets up as /dev/rtc0 through /dev/rtcN. You may want to set up a symbolic link so one of these can be accessed as /dev/rtc, which is a name expected by "hwclock" and some other programs. Recent versions of "udev" are known to set up the symlink for you. If unsure, say Y. config RTC_INTF_DEV_UIE_EMUL bool "RTC UIE emulation on dev interface" depends on RTC_INTF_DEV help Provides an emulation for RTC_UIE if the underlying rtc chip driver does not expose RTC_UIE ioctls. Those requests generate once-per-second update interrupts, used for synchronization. The emulation code will read the time from the hardware clock several times per second, please enable this option only if you know that you really need it. config RTC_DRV_TEST tristate "Test driver/device" help If you say yes here you get support for the RTC test driver. It's a software RTC which can be used to test the RTC subsystem APIs. It gets the time from the system clock. You want this driver only if you are doing development on the RTC subsystem. Please read the source code for further details. This driver can also be built as a module. If so, the module will be called rtc-test. comment "I2C RTC drivers" depends on I2C if I2C config RTC_DRV_88PM860X tristate "Marvell 88PM860x" depends on I2C && MFD_88PM860X help If you say yes here you get support for RTC function in Marvell 88PM860x chips. This driver can also be built as a module. If so, the module will be called rtc-88pm860x. config RTC_DRV_88PM80X tristate "Marvell 88PM80x" depends on I2C && MFD_88PM800 help If you say yes here you get support for RTC function in Marvell 88PM80x chips. This driver can also be built as a module. If so, the module will be called rtc-88pm80x. config RTC_DRV_AS3722 tristate "ams AS3722 RTC driver" depends on MFD_AS3722 help If you say yes here you get support for the RTC of ams AS3722 PMIC chips. This driver can also be built as a module. If so, the module will be called rtc-as3722. config RTC_DRV_DS1307 tristate "Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025" help If you say yes here you get support for various compatible RTC chips (often with battery backup) connected with I2C. This driver should handle DS1307, DS1337, DS1338, DS1339, DS1340, ST M41T00, EPSON RX-8025 and probably other chips. In some cases the RTC must already have been initialized (by manufacturing or a bootloader). The first seven registers on these chips hold an RTC, and other registers may add features such as NVRAM, a trickle charger for the RTC/NVRAM backup power, and alarms. NVRAM is visible in sysfs, but other chip features may not be available. This driver can also be built as a module. If so, the module will be called rtc-ds1307. config RTC_DRV_DS1374 tristate "Dallas/Maxim DS1374" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS1374 real-time clock chips. If an interrupt is associated with the device, the alarm functionality is supported. This driver can also be built as a module. If so, the module will be called rtc-ds1374. config RTC_DRV_DS1672 tristate "Dallas/Maxim DS1672" help If you say yes here you get support for the Dallas/Maxim DS1672 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1672. config RTC_DRV_DS3232 tristate "Dallas/Maxim DS3232" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS3232 real-time clock chips. If an interrupt is associated with the device, the alarm functionality is supported. This driver can also be built as a module. If so, the module will be called rtc-ds3232. config RTC_DRV_LP8788 tristate "TI LP8788 RTC driver" depends on MFD_LP8788 help Say Y to enable support for the LP8788 RTC/ALARM driver. config RTC_DRV_MAX6900 tristate "Maxim MAX6900" help If you say yes here you will get support for the Maxim MAX6900 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-max6900. config RTC_DRV_MAX8907 tristate "Maxim MAX8907" depends on MFD_MAX8907 help If you say yes here you will get support for the RTC of Maxim MAX8907 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8907. config RTC_DRV_MAX8925 tristate "Maxim MAX8925" depends on MFD_MAX8925 help If you say yes here you will get support for the RTC of Maxim MAX8925 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8925. config RTC_DRV_MAX8998 tristate "Maxim MAX8998" depends on MFD_MAX8998 help If you say yes here you will get support for the RTC of Maxim MAX8998 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8998. config RTC_DRV_MAX8997 tristate "Maxim MAX8997" depends on MFD_MAX8997 help If you say yes here you will get support for the RTC of Maxim MAX8997 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8997. config RTC_DRV_MAX77686 tristate "Maxim MAX77686" depends on MFD_MAX77686 help If you say yes here you will get support for the RTC of Maxim MAX77686 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max77686. config RTC_DRV_RS5C372 tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A" help If you say yes here you get support for the Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rs5c372. config RTC_DRV_ISL1208 tristate "Intersil ISL1208" help If you say yes here you get support for the Intersil ISL1208 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-isl1208. config RTC_DRV_ISL12022 tristate "Intersil ISL12022" help If you say yes here you get support for the Intersil ISL12022 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-isl12022. config RTC_DRV_X1205 tristate "Xicor/Intersil X1205" help If you say yes here you get support for the Xicor/Intersil X1205 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-x1205. config RTC_DRV_PALMAS tristate "TI Palmas RTC driver" depends on MFD_PALMAS help If you say yes here you get support for the RTC of TI PALMA series PMIC chips. This driver can also be built as a module. If so, the module will be called rtc-palma. config RTC_DRV_PCF2127 tristate "NXP PCF2127" help If you say yes here you get support for the NXP PCF2127/29 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-pcf2127. config RTC_DRV_PCF8523 tristate "NXP PCF8523" help If you say yes here you get support for the NXP PCF8523 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-pcf8523. config RTC_DRV_PCF8563 tristate "Philips PCF8563/Epson RTC8564" help If you say yes here you get support for the Philips PCF8563 RTC chip. The Epson RTC8564 should work as well. This driver can also be built as a module. If so, the module will be called rtc-pcf8563. config RTC_DRV_PCF8583 tristate "Philips PCF8583" help If you say yes here you get support for the Philips PCF8583 RTC chip found on Acorn RiscPCs. This driver supports the platform specific method of retrieving the current year from the RTC's SRAM. It will work on other platforms with the same chip, but the year will probably have to be tweaked. This driver can also be built as a module. If so, the module will be called rtc-pcf8583. config RTC_DRV_M41T80 tristate "ST M41T62/65/M41T80/81/82/83/84/85/87" help If you say Y here you will get support for the ST M41T60 and M41T80 RTC chips series. Currently, the following chips are supported: M41T62, M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84, M41ST85, and M41ST87. This driver can also be built as a module. If so, the module will be called rtc-m41t80. config RTC_DRV_M41T80_WDT bool "ST M41T65/M41T80 series RTC watchdog timer" depends on RTC_DRV_M41T80 help If you say Y here you will get support for the watchdog timer in the ST M41T60 and M41T80 RTC chips series. config RTC_DRV_BQ32K tristate "TI BQ32000" help If you say Y here you will get support for the TI BQ32000 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-bq32k. config RTC_DRV_DM355EVM tristate "TI DaVinci DM355 EVM RTC" depends on MFD_DM355EVM_MSP help Supports the RTC firmware in the MSP430 on the DM355 EVM. config RTC_DRV_TWL92330 boolean "TI TWL92330/Menelaus" depends on MENELAUS help If you say yes here you get support for the RTC on the TWL92330 "Menelaus" power management chip, used with OMAP2 platforms. The support is integrated with the rest of the Menelaus driver; it's not separate module. config RTC_DRV_TWL4030 tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0" depends on TWL4030_CORE help If you say yes here you get support for the RTC on the TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms. This driver can also be built as a module. If so, the module will be called rtc-twl. config RTC_DRV_TPS6586X tristate "TI TPS6586X RTC driver" depends on MFD_TPS6586X help TI Power Management IC TPS6586X supports RTC functionality along with alarm. This driver supports the RTC driver for the TPS6586X RTC module. config RTC_DRV_TPS65910 tristate "TI TPS65910 RTC driver" depends on RTC_CLASS && MFD_TPS65910 help If you say yes here you get support for the RTC on the TPS65910 chips. This driver can also be built as a module. If so, the module will be called rtc-tps65910. config RTC_DRV_TPS80031 tristate "TI TPS80031/TPS80032 RTC driver" depends on MFD_TPS80031 help TI Power Management IC TPS80031 supports RTC functionality along with alarm. This driver supports the RTC driver for the TPS80031 RTC module. config RTC_DRV_RC5T583 tristate "RICOH 5T583 RTC driver" depends on MFD_RC5T583 help If you say yes here you get support for the RTC on the RICOH 5T583 chips. This driver can also be built as a module. If so, the module will be called rtc-rc5t583. config RTC_DRV_S35390A tristate "Seiko Instruments S-35390A" select BITREVERSE help If you say yes here you will get support for the Seiko Instruments S-35390A. This driver can also be built as a module. If so the module will be called rtc-s35390a. config RTC_DRV_FM3130 tristate "Ramtron FM3130" help If you say Y here you will get support for the Ramtron FM3130 RTC chips. Ramtron FM3130 is a chip with two separate devices inside, RTC clock and FRAM. This driver provides only RTC functionality. This driver can also be built as a module. If so the module will be called rtc-fm3130. config RTC_DRV_RX8581 tristate "Epson RX-8581" help If you say yes here you will get support for the Epson RX-8581. This driver can also be built as a module. If so the module will be called rtc-rx8581. config RTC_DRV_RX8025 tristate "Epson RX-8025SA/NB" help If you say yes here you get support for the Epson RX-8025SA/NB RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rx8025. config RTC_DRV_EM3027 tristate "EM Microelectronic EM3027" help If you say yes here you get support for the EM Microelectronic EM3027 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-em3027. config RTC_DRV_RV3029C2 tristate "Micro Crystal RTC" help If you say yes here you get support for the Micro Crystal RV3029-C2 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rv3029c2. config RTC_DRV_S5M tristate "Samsung S5M series" depends on MFD_SEC_CORE help If you say yes here you will get support for the RTC of Samsung S5M PMIC series. This driver can also be built as a module. If so, the module will be called rtc-s5m. endif # I2C comment "SPI RTC drivers" if SPI_MASTER config RTC_DRV_M41T93 tristate "ST M41T93" help If you say yes here you will get support for the ST M41T93 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-m41t93. config RTC_DRV_M41T94 tristate "ST M41T94" help If you say yes here you will get support for the ST M41T94 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-m41t94. config RTC_DRV_DS1305 tristate "Dallas/Maxim DS1305/DS1306" help Select this driver to get support for the Dallas/Maxim DS1305 and DS1306 real time clock chips. These support a trickle charger, alarms, and NVRAM in addition to the clock. This driver can also be built as a module. If so, the module will be called rtc-ds1305. config RTC_DRV_DS1390 tristate "Dallas/Maxim DS1390/93/94" help If you say yes here you get support for the Dallas/Maxim DS1390/93/94 chips. This driver only supports the RTC feature, and not other chip features such as alarms and trickle charging. This driver can also be built as a module. If so, the module will be called rtc-ds1390. config RTC_DRV_MAX6902 tristate "Maxim MAX6902" help If you say yes here you will get support for the Maxim MAX6902 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-max6902. config RTC_DRV_R9701 tristate "Epson RTC-9701JE" help If you say yes here you will get support for the Epson RTC-9701JE SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-r9701. config RTC_DRV_RS5C348 tristate "Ricoh RS5C348A/B" help If you say yes here you get support for the Ricoh RS5C348A and RS5C348B RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rs5c348. config RTC_DRV_DS3234 tristate "Maxim/Dallas DS3234" help If you say yes here you get support for the Maxim/Dallas DS3234 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-ds3234. config RTC_DRV_PCF2123 tristate "NXP PCF2123" help If you say yes here you get support for the NXP PCF2123 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-pcf2123. config RTC_DRV_RX4581 tristate "Epson RX-4581" help If you say yes here you will get support for the Epson RX-4581. This driver can also be built as a module. If so the module will be called rtc-rx4581. endif # SPI_MASTER comment "Platform RTC drivers" # this 'CMOS' RTC driver is arch dependent because # requires defining CMOS_READ/CMOS_WRITE, and a # global rtc_lock ... it's not yet just another platform_device. config RTC_DRV_CMOS tristate "PC-style 'CMOS'" depends on X86 || ARM || M32R || ATARI || PPC || MIPS || SPARC64 default y if X86 help Say "yes" here to get direct support for the real time clock found in every PC or ACPI-based system, and some other boards. Specifically the original MC146818, compatibles like those in PC south bridges, the DS12887 or M48T86, some multifunction or LPC bus chips, and so on. Your system will need to define the platform device used by this driver, otherwise it won't be accessible. This means you can safely enable this driver if you don't know whether or not your board has this kind of hardware. This driver can also be built as a module. If so, the module will be called rtc-cmos. config RTC_DRV_ALPHA bool "Alpha PC-style CMOS" depends on ALPHA default y help Direct support for the real-time clock found on every Alpha system, specifically MC146818 compatibles. If in doubt, say Y. config RTC_DRV_VRTC tristate "Virtual RTC for Intel MID platforms" depends on X86_INTEL_MID default y if X86_INTEL_MID help Say "yes" here to get direct support for the real time clock found on Moorestown platforms. The VRTC is a emulated RTC that derives its clock source from a real RTC in the PMIC. The MC146818 style programming interface is mostly conserved, but any updates are done via IPC calls to the system controller FW. config RTC_DRV_DS1216 tristate "Dallas DS1216" depends on SNI_RM help If you say yes here you get support for the Dallas DS1216 RTC chips. config RTC_DRV_DS1286 tristate "Dallas DS1286" help If you say yes here you get support for the Dallas DS1286 RTC chips. config RTC_DRV_DS1302 tristate "Dallas DS1302" depends on SH_SECUREEDGE5410 help If you say yes here you get support for the Dallas DS1302 RTC chips. config RTC_DRV_DS1511 tristate "Dallas DS1511" help If you say yes here you get support for the Dallas DS1511 timekeeping/watchdog chip. This driver can also be built as a module. If so, the module will be called rtc-ds1511. config RTC_DRV_DS1553 tristate "Maxim/Dallas DS1553" help If you say yes here you get support for the Maxim/Dallas DS1553 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1553. config RTC_DRV_DS1742 tristate "Maxim/Dallas DS1742/1743" help If you say yes here you get support for the Maxim/Dallas DS1742/1743 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1742. config RTC_DRV_DA9052 tristate "Dialog DA9052/DA9053 RTC" depends on PMIC_DA9052 help Say y here to support the RTC driver for Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. config RTC_DRV_DA9055 tristate "Dialog Semiconductor DA9055 RTC" depends on MFD_DA9055 help If you say yes here you will get support for the RTC of the Dialog DA9055 PMIC. This driver can also be built as a module. If so, the module will be called rtc-da9055 config RTC_DRV_EFI tristate "EFI RTC" depends on IA64 help If you say yes here you will get support for the EFI Real Time Clock. This driver can also be built as a module. If so, the module will be called rtc-efi. config RTC_DRV_STK17TA8 tristate "Simtek STK17TA8" help If you say yes here you get support for the Simtek STK17TA8 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-stk17ta8. config RTC_DRV_M48T86 tristate "ST M48T86/Dallas DS12887" help If you say Y here you will get support for the ST M48T86 and Dallas DS12887 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-m48t86. config RTC_DRV_M48T35 tristate "ST M48T35" help If you say Y here you will get support for the ST M48T35 RTC chip. This driver can also be built as a module, if so, the module will be called "rtc-m48t35". config RTC_DRV_M48T59 tristate "ST M48T59/M48T08/M48T02" help If you say Y here you will get support for the ST M48T59 RTC chip and compatible ST M48T08 and M48T02. These chips are usually found in Sun SPARC and UltraSPARC workstations. This driver can also be built as a module, if so, the module will be called "rtc-m48t59". config RTC_DRV_MSM6242 tristate "Oki MSM6242" help If you say yes here you get support for the Oki MSM6242 timekeeping chip. It is used in some Amiga models (e.g. A2000). This driver can also be built as a module. If so, the module will be called rtc-msm6242. config RTC_DRV_BQ4802 tristate "TI BQ4802" help If you say Y here you will get support for the TI BQ4802 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-bq4802. config RTC_DRV_RP5C01 tristate "Ricoh RP5C01" help If you say yes here you get support for the Ricoh RP5C01 timekeeping chip. It is used in some Amiga models (e.g. A3000 and A4000). This driver can also be built as a module. If so, the module will be called rtc-rp5c01. config RTC_DRV_V3020 tristate "EM Microelectronic V3020" help If you say yes here you will get support for the EM Microelectronic v3020 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-v3020. config RTC_DRV_DS2404 tristate "Dallas DS2404" help If you say yes here you get support for the Dallas DS2404 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-ds2404. config RTC_DRV_WM831X tristate "Wolfson Microelectronics WM831x RTC" depends on MFD_WM831X help If you say yes here you will get support for the RTC subsystem of the Wolfson Microelectronics WM831X series PMICs. This driver can also be built as a module. If so, the module will be called "rtc-wm831x". config RTC_DRV_WM8350 tristate "Wolfson Microelectronics WM8350 RTC" depends on MFD_WM8350 help If you say yes here you will get support for the RTC subsystem of the Wolfson Microelectronics WM8350. This driver can also be built as a module. If so, the module will be called "rtc-wm8350". config RTC_DRV_SPEAR tristate "SPEAR ST RTC" depends on PLAT_SPEAR default y help If you say Y here you will get support for the RTC found on spear config RTC_DRV_PCF50633 depends on MFD_PCF50633 tristate "NXP PCF50633 RTC" help If you say yes here you get support for the RTC subsystem of the NXP PCF50633 used in embedded systems. config RTC_DRV_AB3100 tristate "ST-Ericsson AB3100 RTC" depends on AB3100_CORE default y if AB3100_CORE help Select this to enable the ST-Ericsson AB3100 Mixed Signal IC RTC support. This chip contains a battery- and capacitor-backed RTC. config RTC_DRV_AB8500 tristate "ST-Ericsson AB8500 RTC" depends on AB8500_CORE select RTC_INTF_DEV select RTC_INTF_DEV_UIE_EMUL help Select this to enable the ST-Ericsson AB8500 power management IC RTC support. This chip contains a battery- and capacitor-backed RTC. config RTC_DRV_NUC900 tristate "NUC910/NUC920 RTC driver" depends on ARCH_W90X900 help If you say yes here you get support for the RTC subsystem of the NUC910/NUC920 used in embedded systems. comment "on-CPU RTC drivers" config RTC_DRV_DAVINCI tristate "TI DaVinci RTC" depends on ARCH_DAVINCI_DM365 help If you say yes here you get support for the RTC on the DaVinci platforms (DM365). This driver can also be built as a module. If so, the module will be called rtc-davinci. config RTC_DRV_IMXDI tristate "Freescale IMX DryIce Real Time Clock" depends on ARCH_MXC help Support for Freescale IMX DryIce RTC This driver can also be built as a module, if so, the module will be called "rtc-imxdi". config RTC_DRV_OMAP tristate "TI OMAP1" depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_DAVINCI_DA8XX || SOC_AM33XX help Say "yes" here to support the on chip real time clock present on TI OMAP1, AM33xx and DA8xx/OMAP-L13x. This driver can also be built as a module, if so, module will be called rtc-omap. config HAVE_S3C_RTC bool help This will include RTC support for Samsung SoCs. If you want to include RTC support for any machine, kindly select this in the respective mach-XXXX/Kconfig file. config RTC_DRV_S3C tristate "Samsung S3C series SoC RTC" depends on ARCH_S3C64XX || HAVE_S3C_RTC help RTC (Realtime Clock) driver for the clock inbuilt into the Samsung S3C24XX series of SoCs. This can provide periodic interrupt rates from 1Hz to 64Hz for user programs, and wakeup from Alarm. The driver currently supports the common features on all the S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440 and S3C2442. This driver can also be build as a module. If so, the module will be called rtc-s3c. config RTC_DRV_EP93XX tristate "Cirrus Logic EP93XX" depends on ARCH_EP93XX help If you say yes here you get support for the RTC embedded in the Cirrus Logic EP93XX processors. This driver can also be built as a module. If so, the module will be called rtc-ep93xx. config RTC_DRV_SA1100 tristate "SA11x0/PXA2xx/PXA910" depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP help If you say Y here you will get access to the real time clock built into your SA11x0 or PXA2xx CPU. To compile this driver as a module, choose M here: the module will be called rtc-sa1100. config RTC_DRV_SH tristate "SuperH On-Chip RTC" depends on SUPERH && HAVE_CLK help Say Y here to enable support for the on-chip RTC found in most SuperH processors. To compile this driver as a module, choose M here: the module will be called rtc-sh. config RTC_DRV_VR41XX tristate "NEC VR41XX" depends on CPU_VR41XX help If you say Y here you will get access to the real time clock built into your NEC VR41XX CPU. To compile this driver as a module, choose M here: the module will be called rtc-vr41xx. config RTC_DRV_PL030 tristate "ARM AMBA PL030 RTC" depends on ARM_AMBA help If you say Y here you will get access to ARM AMBA PrimeCell PL030 RTC found on certain ARM SOCs. To compile this driver as a module, choose M here: the module will be called rtc-pl030. config RTC_DRV_PL031 tristate "ARM AMBA PL031 RTC" depends on ARM_AMBA help If you say Y here you will get access to ARM AMBA PrimeCell PL031 RTC found on certain ARM SOCs. To compile this driver as a module, choose M here: the module will be called rtc-pl031. config RTC_DRV_AT32AP700X tristate "AT32AP700X series RTC" depends on PLATFORM_AT32AP help Driver for the internal RTC (Realtime Clock) on Atmel AVR32 AT32AP700x family processors. config RTC_DRV_AT91RM9200 tristate "AT91RM9200 or some AT91SAM9 RTC" depends on ARCH_AT91 help Driver for the internal RTC (Realtime Clock) module found on Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips this is powered by the backup power supply. config RTC_DRV_AT91SAM9 tristate "AT91SAM9x/AT91CAP9 RTT as RTC" depends on ARCH_AT91 && !(ARCH_AT91RM9200 || ARCH_AT91X40) help RTC driver for the Atmel AT91SAM9x and AT91CAP9 internal RTT (Real Time Timer). These timers are powered by the backup power supply (such as a small coin cell battery), but do not need to be used as RTCs. (On AT91SAM9rl and AT91SAM9G45 chips you probably want to use the dedicated RTC module and leave the RTT available for other uses.) config RTC_DRV_AT91SAM9_RTT int range 0 1 default 0 prompt "RTT module Number" if ARCH_AT91SAM9263 depends on RTC_DRV_AT91SAM9 help More than one RTT module is available. You can choose which one will be used as an RTC. The default of zero is normally OK to use, though some systems use that for non-RTC purposes. config RTC_DRV_AT91SAM9_GPBR int range 0 3 if !ARCH_AT91SAM9263 range 0 15 if ARCH_AT91SAM9263 default 0 prompt "Backup Register Number" depends on RTC_DRV_AT91SAM9 help The RTC driver needs to use one of the General Purpose Backup Registers (GPBRs) as well as the RTT. You can choose which one will be used. The default of zero is normally OK to use, but on some systems other software needs to use that register. config RTC_DRV_AU1XXX tristate "Au1xxx Counter0 RTC support" depends on MIPS_ALCHEMY help This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year counter) to be used as a RTC. This driver can also be built as a module. If so, the module will be called rtc-au1xxx. config RTC_DRV_BFIN tristate "Blackfin On-Chip RTC" depends on BLACKFIN && !BF561 help If you say yes here you will get support for the Blackfin On-Chip Real Time Clock. This driver can also be built as a module. If so, the module will be called rtc-bfin. config RTC_DRV_RS5C313 tristate "Ricoh RS5C313" depends on SH_LANDISK help If you say yes here you get support for the Ricoh RS5C313 RTC chips. config RTC_DRV_GENERIC tristate "Generic RTC support" # Please consider writing a new RTC driver instead of using the generic # RTC abstraction depends on PARISC || M68K || PPC || SUPERH32 help Say Y or M here to enable RTC support on systems using the generic RTC abstraction. If you do not know what you are doing, you should just say Y. config RTC_DRV_PXA tristate "PXA27x/PXA3xx" depends on ARCH_PXA help If you say Y here you will get access to the real time clock built into your PXA27x or PXA3xx CPU. This RTC driver uses PXA RTC registers available since pxa27x series (RDxR, RYxR) instead of legacy RCNR, RTAR. config RTC_DRV_VT8500 tristate "VIA/WonderMedia 85xx SoC RTC" depends on ARCH_VT8500 help If you say Y here you will get access to the real time clock built into your VIA VT8500 SoC or its relatives. config RTC_DRV_SUN4V bool "SUN4V Hypervisor RTC" depends on SPARC64 help If you say Y here you will get support for the Hypervisor based RTC on SUN4V systems. config RTC_DRV_STARFIRE bool "Starfire RTC" depends on SPARC64 help If you say Y here you will get support for the RTC found on Starfire systems. config RTC_DRV_TX4939 tristate "TX4939 SoC" depends on SOC_TX4939 help Driver for the internal RTC (Realtime Clock) module found on Toshiba TX4939 SoC. config RTC_DRV_MV tristate "Marvell SoC RTC" depends on ARCH_KIRKWOOD || ARCH_DOVE || ARCH_MVEBU help If you say yes here you will get support for the in-chip RTC that can be found in some of Marvell's SoC devices, such as the Kirkwood 88F6281 and 88F6192. This driver can also be built as a module. If so, the module will be called rtc-mv. config RTC_DRV_PS3 tristate "PS3 RTC" depends on PPC_PS3 help If you say yes here you will get support for the RTC on PS3. This driver can also be built as a module. If so, the module will be called rtc-ps3. config RTC_DRV_COH901331 tristate "ST-Ericsson COH 901 331 RTC" depends on ARCH_U300 help If you say Y here you will get access to ST-Ericsson COH 901 331 RTC clock found in some ST-Ericsson Mobile Platforms. This driver can also be built as a module. If so, the module will be called "rtc-coh901331". config RTC_DRV_STMP tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC" depends on ARCH_MXS help If you say yes here you will get support for the onboard STMP3xxx/i.MX23/i.MX28 RTC. This driver can also be built as a module. If so, the module will be called rtc-stmp3xxx. config RTC_DRV_PCAP tristate "PCAP RTC" depends on EZX_PCAP help If you say Y here you will get support for the RTC found on the PCAP2 ASIC used on some Motorola phones. config RTC_DRV_MC13XXX depends on MFD_MC13XXX tristate "Freescale MC13xxx RTC" help This enables support for the RTCs found on Freescale's PMICs MC13783 and MC13892. config RTC_DRV_MPC5121 tristate "Freescale MPC5121 built-in RTC" depends on PPC_MPC512x || PPC_MPC52xx help If you say yes here you will get support for the built-in RTC on MPC5121 or on MPC5200. This driver can also be built as a module. If so, the module will be called rtc-mpc5121. config RTC_DRV_JZ4740 tristate "Ingenic JZ4740 SoC" depends on MACH_JZ4740 help If you say yes here you get support for the Ingenic JZ4740 SoC RTC controller. This driver can also be buillt as a module. If so, the module will be called rtc-jz4740. config RTC_DRV_LPC32XX depends on ARCH_LPC32XX tristate "NXP LPC32XX RTC" help This enables support for the NXP RTC in the LPC32XX This driver can also be buillt as a module. If so, the module will be called rtc-lpc32xx. config RTC_DRV_PM8XXX tristate "Qualcomm PMIC8XXX RTC" depends on MFD_PM8XXX help If you say yes here you get support for the Qualcomm PMIC8XXX RTC. To compile this driver as a module, choose M here: the module will be called rtc-pm8xxx. config RTC_DRV_TEGRA tristate "NVIDIA Tegra Internal RTC driver" depends on ARCH_TEGRA help If you say yes here you get support for the Tegra 200 series internal RTC module. This drive can also be built as a module. If so, the module will be called rtc-tegra. config RTC_DRV_TILE tristate "Tilera hypervisor RTC support" depends on TILE help Enable support for the Linux driver side of the Tilera hypervisor's real-time clock interface. config RTC_DRV_PUV3 tristate "PKUnity v3 RTC support" depends on ARCH_PUV3 help This enables support for the RTC in the PKUnity-v3 SoCs. This drive can also be built as a module. If so, the module will be called rtc-puv3. config RTC_DRV_LOONGSON1 tristate "loongson1 RTC support" depends on MACH_LOONGSON1 help This is a driver for the loongson1 on-chip Counter0 (Time-Of-Year counter) to be used as a RTC. This driver can also be built as a module. If so, the module will be called rtc-ls1x. config RTC_DRV_MXC tristate "Freescale MXC Real Time Clock" depends on ARCH_MXC help If you say yes here you get support for the Freescale MXC RTC module. This driver can also be built as a module, if so, the module will be called "rtc-mxc". config RTC_DRV_SNVS tristate "Freescale SNVS RTC support" depends on HAS_IOMEM depends on OF help If you say yes here you get support for the Freescale SNVS Low Power (LP) RTC module. This driver can also be built as a module, if so, the module will be called "rtc-snvs". config RTC_DRV_SIRFSOC tristate "SiRFSOC RTC" depends on ARCH_SIRF help Say "yes" here to support the real time clock on SiRF SOC chips. This driver can also be built as a module called rtc-sirfsoc. config RTC_DRV_MOXART tristate "MOXA ART RTC" help If you say yes here you get support for the MOXA ART RTC module. This driver can also be built as a module. If so, the module will be called rtc-moxart comment "HID Sensor RTC drivers" config RTC_DRV_HID_SENSOR_TIME tristate "HID Sensor Time" depends on USB_HID select IIO select HID_SENSOR_HUB select HID_SENSOR_IIO_COMMON help Say yes here to build support for the HID Sensors of type Time. This drivers makes such sensors available as RTCs. If this driver is compiled as a module, it will be named rtc-hid-sensor-time. endif # RTC_CLASS comment "S/390 block device drivers" depends on S390 && BLOCK config BLK_DEV_XPRAM def_tristate m prompt "XPRAM disk support" depends on S390 && BLOCK help Select this option if you want to use your expanded storage on S/390 or zSeries as a disk. This is useful as a _fast_ swap device if you want to access more than 2G of memory when running in 31 bit mode. This option is also available as a module which will be called xpram. If unsure, say "N". config DCSSBLK def_tristate m prompt "DCSSBLK support" depends on S390 && BLOCK help Support for dcss block device config DASD def_tristate y prompt "Support for DASD devices" depends on CCW && BLOCK select IOSCHED_DEADLINE help Enable this option if you want to access DASDs directly utilizing S/390s channel subsystem commands. This is necessary for running natively on a single image or an LPAR. config DASD_PROFILE def_bool y prompt "Profiling support for dasd devices" depends on DASD help Enable this option if you want to see profiling information in /proc/dasd/statistics. config DASD_ECKD def_tristate y prompt "Support for ECKD Disks" depends on DASD help ECKD devices are the most commonly used devices. You should enable this option unless you are very sure to have no ECKD device. config DASD_FBA def_tristate y prompt "Support for FBA Disks" depends on DASD help Select this option to be able to access FBA devices. It is safe to say "Y". config DASD_DIAG def_tristate y prompt "Support for DIAG access to Disks" depends on DASD help Select this option if you want to use Diagnose250 command to access Disks under VM. If you are not running under VM or unsure what it is, say "N". config DASD_EER def_bool y prompt "Extended error reporting (EER)" depends on DASD help This driver provides a character device interface to the DASD extended error reporting. This is only needed if you want to use applications written for the EER facility. config SCM_BLOCK def_tristate m prompt "Support for Storage Class Memory" depends on S390 && BLOCK && EADM_SCH && SCM_BUS help Block device driver for Storage Class Memory (SCM). This driver provides a block device interface for each available SCM increment. To compile this driver as a module, choose M here: the module will be called scm_block. config SCM_BLOCK_CLUSTER_WRITE def_bool y prompt "SCM force cluster writes" depends on SCM_BLOCK help Force writes to Storage Class Memory (SCM) to be in done in clusters. comment "S/390 character device drivers" depends on S390 config TN3270 def_tristate y prompt "Support for locally attached 3270 terminals" depends on CCW help Include support for IBM 3270 terminals. config TN3270_TTY def_tristate y prompt "Support for tty input/output on 3270 terminals" depends on TN3270 && TTY help Include support for using an IBM 3270 terminal as a Linux tty. config TN3270_FS def_tristate m prompt "Support for fullscreen applications on 3270 terminals" depends on TN3270 help Include support for fullscreen applications on an IBM 3270 terminal. config TN3270_CONSOLE def_bool y prompt "Support for console on 3270 terminal" depends on TN3270=y && TN3270_TTY=y help Include support for using an IBM 3270 terminal as a Linux system console. Available only if 3270 support is compiled in statically. config TN3215 def_bool y prompt "Support for 3215 line mode terminal" depends on CCW && TTY help Include support for IBM 3215 line-mode terminals. config TN3215_CONSOLE def_bool y prompt "Support for console on 3215 line mode terminal" depends on TN3215 help Include support for using an IBM 3215 line-mode terminal as a Linux system console. config CCW_CONSOLE def_bool y if TN3215_CONSOLE || TN3270_CONSOLE config SCLP_TTY def_bool y prompt "Support for SCLP line mode terminal" depends on S390 && TTY help Include support for IBM SCLP line-mode terminals. config SCLP_CONSOLE def_bool y prompt "Support for console on SCLP line mode terminal" depends on SCLP_TTY help Include support for using an IBM HWC line-mode terminal as the Linux system console. config SCLP_VT220_TTY def_bool y prompt "Support for SCLP VT220-compatible terminal" depends on S390 && TTY help Include support for an IBM SCLP VT220-compatible terminal. config SCLP_VT220_CONSOLE def_bool y prompt "Support for console on SCLP VT220-compatible terminal" depends on SCLP_VT220_TTY help Include support for using an IBM SCLP VT220-compatible terminal as a Linux system console. config SCLP_CPI def_tristate m prompt "Control-Program Identification" depends on S390 help This option enables the hardware console interface for system identification. This is commonly used for workload management and gives you a nice name for the system on the service element. Please select this option as a module since built-in operation is completely untested. You should only select this option if you know what you are doing, need this feature and intend to run your kernel in LPAR. config SCLP_ASYNC def_tristate m prompt "Support for Call Home via Asynchronous SCLP Records" depends on S390 help This option enables the call home function, which is able to inform the service element and connected organisations about a kernel panic. You should only select this option if you know what you are doing, want for inform other people about your kernel panics, need this feature and intend to run your kernel in LPAR. config S390_TAPE def_tristate m prompt "S/390 tape device support" depends on CCW help Select this option if you want to access channel-attached tape devices on IBM S/390 or zSeries. If you select this option you will also want to select at least one of the tape interface options and one of the tape hardware options in order to access a tape device. This option is also available as a module. The module will be called tape390 and include all selected interfaces and hardware drivers. comment "S/390 tape hardware support" depends on S390_TAPE config S390_TAPE_34XX def_tristate m prompt "Support for 3480/3490 tape hardware" depends on S390_TAPE help Select this option if you want to access IBM 3480/3490 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here. config S390_TAPE_3590 def_tristate m prompt "Support for 3590 tape hardware" depends on S390_TAPE help Select this option if you want to access IBM 3590 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here. config VMLOGRDR def_tristate m prompt "Support for the z/VM recording system services (VM only)" depends on IUCV help Select this option if you want to be able to receive records collected by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or *SYMPTOM. This driver depends on the IUCV support driver. config VMCP def_bool y prompt "Support for the z/VM CP interface" depends on S390 help Select this option if you want to be able to interact with the control program on z/VM config MONREADER def_tristate m prompt "API for reading z/VM monitor service records" depends on IUCV help Character device driver for reading z/VM monitor service records config MONWRITER def_tristate m prompt "API for writing z/VM monitor service records" depends on S390 help Character device driver for writing z/VM monitor service records config S390_VMUR def_tristate m prompt "z/VM unit record device driver" depends on S390 help Character device driver for z/VM reader, puncher and printer. menu "S/390 network device drivers" depends on NETDEVICES && S390 config LCS def_tristate m prompt "Lan Channel Station Interface" depends on CCW && NETDEVICES && (ETHERNET || FDDI) help Select this option if you want to use LCS networking on IBM System z. This device driver supports FDDI (IEEE 802.7) and Ethernet. To compile as a module, choose M. The module name is lcs. If you do not know what it is, it's safe to choose Y. config CTCM def_tristate m prompt "CTC and MPC SNA device support" depends on CCW && NETDEVICES help Select this option if you want to use channel-to-channel point-to-point networking on IBM System z. This device driver supports real CTC coupling using ESCON. It also supports virtual CTCs when running under VM. This driver also supports channel-to-channel MPC SNA devices. MPC is an SNA protocol device used by Communication Server for Linux. To compile as a module, choose M. The module name is ctcm. To compile into the kernel, choose Y. If you do not need any channel-to-channel connection, choose N. config NETIUCV def_tristate m prompt "IUCV network device support (VM only)" depends on IUCV && NETDEVICES help Select this option if you want to use inter-user communication vehicle networking under VM or VIF. It enables a fast communication link between VM guests. Using ifconfig a point-to-point connection can be established to the Linux on IBM System z running on the other VM guest. To compile as a module, choose M. The module name is netiucv. If unsure, choose Y. config SMSGIUCV def_tristate m prompt "IUCV special message support (VM only)" depends on IUCV help Select this option if you want to be able to receive SMSG messages from other VM guest systems. config SMSGIUCV_EVENT def_tristate m prompt "Deliver IUCV special messages as uevents (VM only)" depends on SMSGIUCV help Select this option to deliver CP special messages (SMSGs) as uevents. The driver handles only those special messages that start with "APP". To compile as a module, choose M. The module name is "smsgiucv_app". config CLAW def_tristate m prompt "CLAW device support" depends on CCW && NETDEVICES help This driver supports channel attached CLAW devices. CLAW is Common Link Access for Workstation. Common devices that use CLAW are RS/6000s, Cisco Routers (CIP) and 3172 devices. To compile as a module, choose M. The module name is claw. To compile into the kernel, choose Y. config QETH def_tristate y prompt "Gigabit Ethernet device support" depends on CCW && NETDEVICES && IP_MULTICAST && QDIO help This driver supports the IBM System z OSA Express adapters in QDIO mode (all media types), HiperSockets interfaces and z/VM virtual NICs for Guest LAN and VSWITCH. For details please refer to the documentation provided by IBM at To compile this driver as a module, choose M. The module name is qeth. config QETH_L2 def_tristate y prompt "qeth layer 2 device support" depends on QETH help Select this option to be able to run qeth devices in layer 2 mode. To compile as a module, choose M. The module name is qeth_l2. If unsure, choose y. config QETH_L3 def_tristate y prompt "qeth layer 3 device support" depends on QETH help Select this option to be able to run qeth devices in layer 3 mode. To compile as a module choose M. The module name is qeth_l3. If unsure, choose Y. config QETH_IPV6 def_bool y if (QETH_L3 = IPV6) || (QETH_L3 && IPV6 = 'y') config CCWGROUP tristate default (LCS || CTCM || QETH || CLAW) endmenu menu "Misc Linux/SPARC drivers" config SUN_OPENPROMIO tristate "/dev/openprom device support" help This driver provides user programs with an interface to the SPARC PROM device tree. The driver implements a SunOS-compatible interface and a NetBSD-compatible interface. To compile this driver as a module, choose M here: the module will be called openprom. If unsure, say Y. config OBP_FLASH tristate "OBP Flash Device support" depends on SPARC64 help The OpenBoot PROM on Ultra systems is flashable. If you want to be able to upgrade the OBP firmware, say Y here. config TADPOLE_TS102_UCTRL tristate "Tadpole TS102 Microcontroller support" help Say Y here to directly support the TS102 Microcontroller interface on the Tadpole Sparcbook 3. This device handles power-management events, and can also notice the attachment/detachment of external monitors and mice. config SUN_JSFLASH tristate "JavaStation OS Flash SIMM" depends on SPARC32 help If you say Y here, you will be able to boot from your JavaStation's Flash memory. config BBC_I2C tristate "UltraSPARC-III bootbus i2c controller driver" depends on PCI && SPARC64 help The BBC devices on the UltraSPARC III have two I2C controllers. The first I2C controller connects mainly to configuration PROMs (NVRAM, CPU configuration, DIMM types, etc.). The second I2C controller connects to environmental control devices such as fans and temperature sensors. The second controller also connects to the smartcard reader, if present. Say Y to enable support for these. config ENVCTRL tristate "SUNW, envctrl support" depends on PCI && SPARC64 help Kernel support for temperature and fan monitoring on Sun SME machines. To compile this driver as a module, choose M here: the module will be called envctrl. config DISPLAY7SEG tristate "7-Segment Display support" depends on PCI && SPARC64 ---help--- This is the driver for the 7-segment display and LED present on Sun Microsystems CompactPCI models CP1400 and CP1500. To compile this driver as a module, choose M here: the module will be called display7seg. If you do not have a CompactPCI model CP1400 or CP1500, or another UltraSPARC-IIi-cEngine boardset with a 7-segment display, you should say N to this option. endmenu menu "SCSI device support" config SCSI_MOD tristate default y if SCSI=n || SCSI=y default m if SCSI=m config RAID_ATTRS tristate "RAID Transport Class" default n depends on BLOCK depends on SCSI_MOD ---help--- Provides RAID config SCSI tristate "SCSI device support" depends on BLOCK select SCSI_DMA if HAS_DMA ---help--- If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or any other SCSI device under Linux, say Y and make sure that you know the name of your SCSI host adapter (the card inside your computer that "speaks" the SCSI protocol, also called SCSI controller), because you will be asked for it. You also need to say Y here if you have a device which speaks the SCSI protocol. Examples of this include the parallel port version of the IOMEGA ZIP drive, USB storage devices, Fibre Channel, and FireWire storage. To compile this driver as a module, choose M here and read . The module will be called scsi_mod. However, do not compile this as a module if your root file system (the one containing the directory /) is located on a SCSI device. config SCSI_DMA bool default n config SCSI_TGT tristate "SCSI target support" depends on SCSI ---help--- If you want to use SCSI target mode drivers enable this option. If you choose M, the module will be called scsi_tgt. config SCSI_NETLINK bool default n select NET config SCSI_PROC_FS bool "legacy /proc/scsi/ support" depends on SCSI && PROC_FS default y ---help--- This option enables support for the various files in /proc/scsi. In Linux 2.6 this has been superseded by files in sysfs but many legacy applications rely on this. If unsure say Y. comment "SCSI support type (disk, tape, CD-ROM)" depends on SCSI config BLK_DEV_SD tristate "SCSI disk support" depends on SCSI select CRC_T10DIF if BLK_DEV_INTEGRITY ---help--- If you want to use SCSI hard disks, Fibre Channel disks, Serial ATA (SATA) or Parallel ATA (PATA) hard disks, USB storage or the SCSI or parallel port version of the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO, the Disk-HOWTO and the Multi-Disk-HOWTO, available from . This is NOT for SCSI CD-ROMs. To compile this driver as a module, choose M here and read . The module will be called sd_mod. Do not compile this driver as a module if your root file system (the one containing the directory /) is located on a SCSI disk. In this case, do not compile the driver for your SCSI host adapter (below) as a module either. config CHR_DEV_ST tristate "SCSI tape support" depends on SCSI ---help--- If you want to use a SCSI tape drive under Linux, say Y and read the SCSI-HOWTO, available from , and in the kernel source. This is NOT for SCSI CD-ROMs. To compile this driver as a module, choose M here and read . The module will be called st. config CHR_DEV_OSST tristate "SCSI OnStream SC-x0 tape support" depends on SCSI ---help--- The OnStream SC-x0 SCSI tape drives cannot be driven by the standard st driver, but instead need this special osst driver and use the /dev/osstX char device nodes (major 206). Via usb-storage, you may be able to drive the USB-x0 and DI-x0 drives as well. Note that there is also a second generation of OnStream tape drives (ADR-x0) that supports the standard SCSI-2 commands for tapes (QIC-157) and can be driven by the standard driver st. For more information, you may have a look at the SCSI-HOWTO and in the kernel source. More info on the OnStream driver may be found on Please also have a look at the standard st docu, as most of it applies to osst as well. To compile this driver as a module, choose M here and read . The module will be called osst. config BLK_DEV_SR tristate "SCSI CDROM support" depends on SCSI ---help--- If you want to use a CD or DVD drive attached to your computer by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO and the CDROM-HOWTO at . Make sure to say Y or M to "ISO 9660 CD-ROM file system support". To compile this driver as a module, choose M here and read . The module will be called sr_mod. config BLK_DEV_SR_VENDOR bool "Enable vendor-specific extensions (for SCSI CDROM)" depends on BLK_DEV_SR help This enables the usage of vendor specific SCSI commands. This is required to support multisession CDs with old NEC/TOSHIBA cdrom drives (and HP Writers). If you have such a drive and get the first session only, try saying Y here; everybody else says N. config CHR_DEV_SG tristate "SCSI generic support" depends on SCSI ---help--- If you want to use SCSI scanners, synthesizers or CD-writers or just about anything having "SCSI" in its name other than hard disks, CD-ROMs or tapes, say Y here. These won't be supported by the kernel directly, so you need some additional software which knows how to talk to these devices using the SCSI protocol: For scanners, look at SANE (). For CD writer software look at Cdrtools () and for burning a "disk at once": CDRDAO (). Cdparanoia is a high quality digital reader of audio CDs (). For other devices, it's possible that you'll have to write the driver software yourself. Please read the file for more information. To compile this driver as a module, choose M here and read . The module will be called sg. If unsure, say N. config CHR_DEV_SCH tristate "SCSI media changer support" depends on SCSI ---help--- This is a driver for SCSI media changers. Most common devices are tape libraries and MOD/CDROM jukeboxes. *Real* jukeboxes, you don't need this for those tiny 6-slot cdrom changers. Media changers are listed as "Type: Medium Changer" in /proc/scsi/scsi. If you have such hardware and want to use it with linux, say Y here. Check for details. If you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read and . The module will be called ch.o. If unsure, say N. config SCSI_ENCLOSURE tristate "SCSI Enclosure Support" depends on SCSI && ENCLOSURE_SERVICES help Enclosures are devices sitting on or in SCSI backplanes that manage devices. If you have a disk cage, the chances are that it has an enclosure device. Selecting this option will just allow certain enclosure conditions to be reported and is not required. config SCSI_MULTI_LUN bool "Probe all LUNs on each SCSI device" depends on SCSI help Some devices support more than one LUN (Logical Unit Number) in order to allow access to several media, e.g. CD jukebox, USB card reader, mobile phone in mass storage mode. This option forces the kernel to probe for all LUNs by default. This setting can be overriden by max_luns boot/module parameter. Note that this option does not affect devices conforming to SCSI-3 or higher as they can explicitely report their number of LUNs. It is safe to say Y here unless you have one of those rare devices which reacts in an unexpected way when probed for multiple LUNs. config SCSI_CONSTANTS bool "Verbose SCSI error reporting (kernel size +=12K)" depends on SCSI help The error messages regarding your SCSI hardware will be easier to understand if you say Y here; it will enlarge your kernel by about 12 KB. If in doubt, say Y. config SCSI_LOGGING bool "SCSI logging facility" depends on SCSI ---help--- This turns on a logging facility that can be used to debug a number of SCSI related problems. If you say Y here, no logging output will appear by default, but you can enable logging by saying Y to "/proc file system support" and "Sysctl support" below and executing the command echo > /proc/sys/dev/scsi/logging_level where is a four byte value representing the logging type and logging level for each type of logging selected. There are a number of logging types and you can find them in the source at . The logging levels are also described in that file and they determine the verbosity of the logging for each logging type. If you say N here, it may be harder to track down some types of SCSI problems. If you say Y here your kernel will be somewhat larger, but there should be no noticeable performance impact as long as you have logging turned off. config SCSI_SCAN_ASYNC bool "Asynchronous SCSI scanning" depends on SCSI help The SCSI subsystem can probe for devices while the rest of the system continues booting, and even probe devices on different busses in parallel, leading to a significant speed-up. If you have built SCSI as modules, enabling this option can be a problem as the devices may not have been found by the time your system expects them to have been. You can load the scsi_wait_scan module to ensure that all scans have completed. If you build your SCSI drivers into the kernel, then everything will work fine if you say Y here. You can override this choice by specifying "scsi_mod.scan=sync" or async on the kernel's command line. menu "SCSI Transports" depends on SCSI config SCSI_SPI_ATTRS tristate "Parallel SCSI (SPI) Transport Attributes" depends on SCSI help If you wish to export transport-specific information about each attached SCSI device to sysfs, say Y. Otherwise, say N. config SCSI_FC_ATTRS tristate "FiberChannel Transport Attributes" depends on SCSI select SCSI_NETLINK help If you wish to export transport-specific information about each attached FiberChannel device to sysfs, say Y. Otherwise, say N. config SCSI_FC_TGT_ATTRS bool "SCSI target support for FiberChannel Transport Attributes" depends on SCSI_FC_ATTRS depends on SCSI_TGT = y || SCSI_TGT = SCSI_FC_ATTRS help If you want to use SCSI target mode drivers enable this option. config SCSI_ISCSI_ATTRS tristate "iSCSI Transport Attributes" depends on SCSI && NET select BLK_DEV_BSGLIB help If you wish to export transport-specific information about each attached iSCSI device to sysfs, say Y. Otherwise, say N. config SCSI_SAS_ATTRS tristate "SAS Transport Attributes" depends on SCSI select BLK_DEV_BSG help If you wish to export transport-specific information about each attached SAS device to sysfs, say Y. source "drivers/scsi/libsas/Kconfig" config SCSI_SRP_ATTRS tristate "SRP Transport Attributes" depends on SCSI help If you wish to export transport-specific information about each attached SRP device to sysfs, say Y. config SCSI_SRP_TGT_ATTRS bool "SCSI target support for SRP Transport Attributes" depends on SCSI_SRP_ATTRS depends on SCSI_TGT = y || SCSI_TGT = SCSI_SRP_ATTRS help If you want to use SCSI target mode drivers enable this option. endmenu menuconfig SCSI_LOWLEVEL bool "SCSI low-level drivers" depends on SCSI!=n default y if SCSI_LOWLEVEL && SCSI config ISCSI_TCP tristate "iSCSI Initiator over TCP/IP" depends on SCSI && INET select CRYPTO select CRYPTO_MD5 select CRYPTO_CRC32C select SCSI_ISCSI_ATTRS help The iSCSI Driver provides a host with the ability to access storage through an IP network. The driver uses the iSCSI protocol to transport SCSI requests and responses over a TCP/IP network between the host (the "initiator") and "targets". Architecturally, the iSCSI driver combines with the host's TCP/IP stack, network drivers, and Network Interface Card (NIC) to provide the same functions as a SCSI or a Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA). To compile this driver as a module, choose M here: the module will be called iscsi_tcp. The userspace component needed to initialize the driver, documentation, and sample configuration files can be found here: http://open-iscsi.org config ISCSI_BOOT_SYSFS tristate "iSCSI Boot Sysfs Interface" default n help This option enables support for exposing iSCSI boot information via sysfs to userspace. If you wish to export this information, say Y. Otherwise, say N. source "drivers/scsi/cxgbi/Kconfig" source "drivers/scsi/bnx2i/Kconfig" source "drivers/scsi/bnx2fc/Kconfig" source "drivers/scsi/be2iscsi/Kconfig" config SGIWD93_SCSI tristate "SGI WD93C93 SCSI Driver" depends on SGI_HAS_WD93 && SCSI help If you have a Western Digital WD93 SCSI controller on an SGI MIPS system, say Y. Otherwise, say N. config BLK_DEV_3W_XXXX_RAID tristate "3ware 5/6/7/8xxx ATA-RAID support" depends on PCI && SCSI help 3ware is the only hardware ATA-Raid product in Linux to date. This card is 2,4, or 8 channel master mode support only. SCSI support required!!! Please read the comments at the top of . config SCSI_HPSA tristate "HP Smart Array SCSI driver" depends on PCI && SCSI select CHECK_SIGNATURE help This driver supports HP Smart Array Controllers (circa 2009). It is a SCSI alternative to the cciss driver, which is a block driver. Anyone wishing to use HP Smart Array controllers who would prefer the devices be presented to linux as SCSI devices, rather than as generic block devices should say Y here. config SCSI_3W_9XXX tristate "3ware 9xxx SATA-RAID support" depends on PCI && SCSI help This driver supports the 9000 series 3ware SATA-RAID cards. Please read the comments at the top of . config SCSI_3W_SAS tristate "3ware 97xx SAS/SATA-RAID support" depends on PCI && SCSI help This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards. Please read the comments at the top of . config SCSI_7000FASST tristate "7000FASST SCSI support" depends on ISA && SCSI && ISA_DMA_API select CHECK_SIGNATURE help This driver supports the Western Digital 7000 SCSI host adapter family. Some information is in the source: . To compile this driver as a module, choose M here: the module will be called wd7000. config SCSI_ACARD tristate "ACARD SCSI support" depends on PCI && SCSI help This driver supports the ACARD SCSI host adapter. Support Chip To compile this driver as a module, choose M here: the module will be called atp870u. config SCSI_AHA152X tristate "Adaptec AHA152X/2825 support" depends on ISA && SCSI select SCSI_SPI_ATTRS select CHECK_SIGNATURE ---help--- This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825 SCSI host adapters. It also works for the AVA-1505, but the IRQ etc. must be manually specified in this case. It is explained in section 3.3 of the SCSI-HOWTO, available from . You might also want to read the file . To compile this driver as a module, choose M here: the module will be called aha152x. config SCSI_AHA1542 tristate "Adaptec AHA1542 support" depends on ISA && SCSI && ISA_DMA_API ---help--- This is support for a SCSI host adapter. It is explained in section 3.4 of the SCSI-HOWTO, available from . Note that Trantor was purchased by Adaptec, and some former Trantor products are being sold under the Adaptec name. If it doesn't work out of the box, you may have to change some settings in . To compile this driver as a module, choose M here: the module will be called aha1542. config SCSI_AHA1740 tristate "Adaptec AHA1740 support" depends on EISA && SCSI ---help--- This is support for a SCSI host adapter. It is explained in section 3.5 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . To compile this driver as a module, choose M here: the module will be called aha1740. config SCSI_AACRAID tristate "Adaptec AACRAID support" depends on SCSI && PCI help This driver supports a variety of Dell, HP, Adaptec, IBM and ICP storage products. For a list of supported products, refer to . To compile this driver as a module, choose M here: the module will be called aacraid. source "drivers/scsi/aic7xxx/Kconfig.aic7xxx" config SCSI_AIC7XXX_OLD tristate "Adaptec AIC7xxx support (old driver)" depends on (ISA || EISA || PCI ) && SCSI help WARNING This driver is an older aic7xxx driver and is no longer under active development. Adaptec, Inc. is writing a new driver to take the place of this one, and it is recommended that whenever possible, people should use the new Adaptec written driver instead of this one. This driver will eventually be phased out entirely. This is support for the various aic7xxx based Adaptec SCSI controllers. These include the 274x EISA cards; 284x VLB cards; 2902, 2910, 293x, 294x, 394x, 3985 and several other PCI and motherboard based SCSI controllers from Adaptec. It does not support the AAA-13x RAID controllers from Adaptec, nor will it likely ever support them. It does not support the 2920 cards from Adaptec that use the Future Domain SCSI controller chip. For those cards, you need the "Future Domain 16xx SCSI support" driver. In general, if the controller is based on an Adaptec SCSI controller chip from the aic777x series or the aic78xx series, this driver should work. The only exception is the 7810 which is specifically not supported (that's the RAID controller chip on the AAA-13x cards). Note that the AHA2920 SCSI host adapter is *not* supported by this driver; choose "Future Domain 16xx SCSI support" instead if you have one of those. Information on the configuration options for this controller can be found by checking the help file for each of the available configuration options. You should read at a minimum before contacting the maintainer with any questions. The SCSI-HOWTO, available from , can also be of great help. To compile this driver as a module, choose M here: the module will be called aic7xxx_old. source "drivers/scsi/aic7xxx/Kconfig.aic79xx" source "drivers/scsi/aic94xx/Kconfig" source "drivers/scsi/mvsas/Kconfig" config SCSI_MVUMI tristate "Marvell UMI driver" depends on SCSI && PCI help Module for Marvell Universal Message Interface(UMI) driver To compile this driver as a module, choose M here: the module will be called mvumi. config SCSI_DPT_I2O tristate "Adaptec I2O RAID support " depends on SCSI && PCI && VIRT_TO_BUS help This driver supports all of Adaptec's I2O based RAID controllers as well as the DPT SmartRaid V cards. This is an Adaptec maintained driver by Deanna Bonds. See . To compile this driver as a module, choose M here: the module will be called dpt_i2o. config SCSI_ADVANSYS tristate "AdvanSys SCSI support" depends on SCSI && VIRT_TO_BUS depends on ISA || EISA || PCI help This is a driver for all SCSI host adapters manufactured by AdvanSys. It is documented in the kernel source in . To compile this driver as a module, choose M here: the module will be called advansys. config SCSI_IN2000 tristate "Always IN2000 SCSI support" depends on ISA && SCSI help This is support for an ISA bus SCSI host adapter. You'll find more information in . If it doesn't work out of the box, you may have to change the jumpers for IRQ or address selection. To compile this driver as a module, choose M here: the module will be called in2000. config SCSI_ARCMSR tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter" depends on PCI && SCSI help This driver supports all of ARECA's SATA/SAS RAID controller cards. This is an ARECA-maintained driver by Erich Chen. If you have any problems, please mail to: . Areca supports Linux RAID config tools. Please link To compile this driver as a module, choose M here: the module will be called arcmsr (modprobe arcmsr). source "drivers/scsi/esas2r/Kconfig" source "drivers/scsi/megaraid/Kconfig.megaraid" source "drivers/scsi/mpt2sas/Kconfig" source "drivers/scsi/mpt3sas/Kconfig" source "drivers/scsi/ufs/Kconfig" config SCSI_HPTIOP tristate "HighPoint RocketRAID 3xxx/4xxx Controller support" depends on SCSI && PCI help This option enables support for HighPoint RocketRAID 3xxx/4xxx controllers. To compile this driver as a module, choose M here; the module will be called hptiop. If unsure, say N. config SCSI_BUSLOGIC tristate "BusLogic SCSI support" depends on (PCI || ISA || MCA) && SCSI && ISA_DMA_API && VIRT_TO_BUS ---help--- This is support for BusLogic MultiMaster and FlashPoint SCSI Host Adapters. Consult the SCSI-HOWTO, available from , and the files and for more information. Note that support for FlashPoint is only available for 32-bit x86 configurations. To compile this driver as a module, choose M here: the module will be called BusLogic. config SCSI_FLASHPOINT bool "FlashPoint support" depends on SCSI_BUSLOGIC && PCI help This option allows you to add FlashPoint support to the BusLogic SCSI driver. The FlashPoint SCCB Manager code is substantial, so users of MultiMaster Host Adapters may not wish to include it. config VMWARE_PVSCSI tristate "VMware PVSCSI driver support" depends on PCI && SCSI && X86 help This driver supports VMware's para virtualized SCSI HBA. To compile this driver as a module, choose M here: the module will be called vmw_pvscsi. config HYPERV_STORAGE tristate "Microsoft Hyper-V virtual storage driver" depends on SCSI && HYPERV default HYPERV help Select this option to enable the Hyper-V virtual storage driver. config LIBFC tristate "LibFC module" select SCSI_FC_ATTRS select CRC32 ---help--- Fibre Channel library module config LIBFCOE tristate "LibFCoE module" select LIBFC ---help--- Library for Fibre Channel over Ethernet module config FCOE tristate "FCoE module" depends on PCI select LIBFCOE ---help--- Fibre Channel over Ethernet module config FCOE_FNIC tristate "Cisco FNIC Driver" depends on PCI && X86 select LIBFCOE help This is support for the Cisco PCI-Express FCoE HBA. To compile this driver as a module, choose M here and read . The module will be called fnic. config SCSI_DMX3191D tristate "DMX3191D SCSI support" depends on PCI && SCSI select SCSI_SPI_ATTRS help This is support for Domex DMX3191D SCSI Host Adapters. To compile this driver as a module, choose M here: the module will be called dmx3191d. config SCSI_DTC3280 tristate "DTC3180/3280 SCSI support" depends on ISA && SCSI select SCSI_SPI_ATTRS select CHECK_SIGNATURE help This is support for DTC 3180/3280 SCSI Host Adapters. Please read the SCSI-HOWTO, available from , and the file . To compile this driver as a module, choose M here: the module will be called dtc. config SCSI_EATA tristate "EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support" depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API ---help--- This driver supports all EATA/DMA-compliant SCSI host adapters. DPT ISA and all EISA I/O addresses are probed looking for the "EATA" signature. The addresses of all the PCI SCSI controllers reported by the PCI subsystem are probed as well. You want to read the start of and the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called eata. config SCSI_EATA_TAGGED_QUEUE bool "enable tagged command queueing" depends on SCSI_EATA help This is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. This is equivalent to the "eata=tc:y" boot option. config SCSI_EATA_LINKED_COMMANDS bool "enable elevator sorting" depends on SCSI_EATA help This option enables elevator sorting for all probed SCSI disks and CD-ROMs. It definitely reduces the average seek distance when doing random seeks, but this does not necessarily result in a noticeable performance improvement: your mileage may vary... This is equivalent to the "eata=lc:y" boot option. config SCSI_EATA_MAX_TAGS int "maximum number of queued commands" depends on SCSI_EATA default "16" help This specifies how many SCSI commands can be maximally queued for each probed SCSI device. You should reduce the default value of 16 only if you have disks with buggy or limited tagged command support. Minimum is 2 and maximum is 62. This value is also the window size used by the elevator sorting option above. The effective value used by the driver for each probed SCSI device is reported at boot time. This is equivalent to the "eata=mq:8" boot option. config SCSI_EATA_PIO tristate "EATA-PIO (old DPT PM2001, PM2012A) support" depends on (ISA || EISA || PCI) && SCSI && BROKEN ---help--- This driver supports all EATA-PIO protocol compliant SCSI Host Adapters like the DPT PM2001 and the PM2012A. EATA-DMA compliant host adapters could also use this driver but are discouraged from doing so, since this driver only supports hard disks and lacks numerous features. You might want to have a look at the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called eata_pio. config SCSI_FUTURE_DOMAIN tristate "Future Domain 16xx SCSI/AHA-2920A support" depends on (ISA || PCI) && SCSI select CHECK_SIGNATURE ---help--- This is support for Future Domain's 16-bit SCSI host adapters (TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX) and other adapters based on the Future Domain chipsets (Quantum ISA-200S, ISA-250MG; Adaptec AHA-2920A; and at least one IBM board). It is explained in section 3.7 of the SCSI-HOWTO, available from . NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI controller support"). This Future Domain driver works with the older Adaptec AHA-2920A boards with a Future Domain chip on them. To compile this driver as a module, choose M here: the module will be called fdomain. config SCSI_GDTH tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API ---help--- Formerly called GDT SCSI Disk Array Controller Support. This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI) manufactured by Intel Corporation/ICP vortex GmbH. It is documented in the kernel source in and . To compile this driver as a module, choose M here: the module will be called gdth. config SCSI_ISCI tristate "Intel(R) C600 Series Chipset SAS Controller" depends on PCI && SCSI depends on X86 select SCSI_SAS_LIBSAS ---help--- This driver supports the 6Gb/s SAS capabilities of the storage control unit found in the Intel(R) C600 series chipset. config SCSI_GENERIC_NCR5380 tristate "Generic NCR5380/53c400 SCSI PIO support" depends on ISA && SCSI select SCSI_SPI_ATTRS ---help--- This is a driver for the old NCR 53c80 series of SCSI controllers on boards using PIO. Most boards such as the Trantor T130 fit this category, along with a large number of ISA 8bit controllers shipped for free with SCSI scanners. If you have a PAS16, T128 or DMX3191 you should select the specific driver for that card rather than generic 5380 support. It is explained in section 3.8 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . To compile this driver as a module, choose M here: the module will be called g_NCR5380. config SCSI_GENERIC_NCR5380_MMIO tristate "Generic NCR5380/53c400 SCSI MMIO support" depends on ISA && SCSI select SCSI_SPI_ATTRS ---help--- This is a driver for the old NCR 53c80 series of SCSI controllers on boards using memory mapped I/O. It is explained in section 3.8 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . To compile this driver as a module, choose M here: the module will be called g_NCR5380_mmio. config SCSI_GENERIC_NCR53C400 bool "Enable NCR53c400 extensions" depends on SCSI_GENERIC_NCR5380 help This enables certain optimizations for the NCR53c400 SCSI cards. You might as well try it out. Note that this driver will only probe for the Trantor T130B in its default configuration; you might have to pass a command line option to the kernel at boot time if it does not detect your card. See the file for details. config SCSI_IPS tristate "IBM ServeRAID support" depends on PCI && SCSI ---help--- This is support for the IBM ServeRAID hardware RAID controllers. See and for more information. If this driver does not work correctly without modification please contact the author by email at . To compile this driver as a module, choose M here: the module will be called ips. config SCSI_IBMVSCSI tristate "IBM Virtual SCSI support" depends on PPC_PSERIES select SCSI_SRP_ATTRS help This is the IBM POWER Virtual SCSI Client To compile this driver as a module, choose M here: the module will be called ibmvscsi. config SCSI_IBMVSCSIS tristate "IBM Virtual SCSI Server support" depends on PPC_PSERIES && SCSI_SRP && SCSI_SRP_TGT_ATTRS help This is the SRP target driver for IBM pSeries virtual environments. The userspace component needed to initialize the driver and documentation can be found: http://stgt.berlios.de/ To compile this driver as a module, choose M here: the module will be called ibmvstgt. config SCSI_IBMVFC tristate "IBM Virtual FC support" depends on PPC_PSERIES && SCSI select SCSI_FC_ATTRS help This is the IBM POWER Virtual FC Client To compile this driver as a module, choose M here: the module will be called ibmvfc. config SCSI_IBMVFC_TRACE bool "enable driver internal trace" depends on SCSI_IBMVFC default y help If you say Y here, the driver will trace all commands issued to the adapter. Performance impact is minimal. Trace can be dumped using /sys/class/scsi_host/hostXX/trace. config SCSI_INITIO tristate "Initio 9100U(W) support" depends on PCI && SCSI help This is support for the Initio 91XXU(W) SCSI host adapter. Please read the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called initio. config SCSI_INIA100 tristate "Initio INI-A100U2W support" depends on PCI && SCSI help This is support for the Initio INI-A100U2W SCSI host adapter. Please read the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called a100u2w. config SCSI_PPA tristate "IOMEGA parallel port (ppa - older drives)" depends on SCSI && PARPORT_PC ---help--- This driver supports older versions of IOMEGA's parallel port ZIP drive (a 100 MB removable media device). Note that you can say N here if you have the SCSI version of the ZIP drive: it will be supported automatically if you said Y to the generic "SCSI disk support", above. If you have the ZIP Plus drive or a more recent parallel port ZIP drive (if the supplied cable with the drive is labeled "AutoDetect") then you should say N here and Y to "IOMEGA parallel port (imm - newer drives)", below. For more information about this driver and how to use it you should read the file . You should also read the SCSI-HOWTO, which is available from . If you use this driver, you will still be able to use the parallel port for other tasks, such as a printer; it is safe to compile both drivers into the kernel. To compile this driver as a module, choose M here: the module will be called ppa. config SCSI_IMM tristate "IOMEGA parallel port (imm - newer drives)" depends on SCSI && PARPORT_PC ---help--- This driver supports newer versions of IOMEGA's parallel port ZIP drive (a 100 MB removable media device). Note that you can say N here if you have the SCSI version of the ZIP drive: it will be supported automatically if you said Y to the generic "SCSI disk support", above. If you have the ZIP Plus drive or a more recent parallel port ZIP drive (if the supplied cable with the drive is labeled "AutoDetect") then you should say Y here; if you have an older ZIP drive, say N here and Y to "IOMEGA Parallel Port (ppa - older drives)", above. For more information about this driver and how to use it you should read the file . You should also read the SCSI-HOWTO, which is available from . If you use this driver, you will still be able to use the parallel port for other tasks, such as a printer; it is safe to compile both drivers into the kernel. To compile this driver as a module, choose M here: the module will be called imm. config SCSI_IZIP_EPP16 bool "ppa/imm option - Use slow (but safe) EPP-16" depends on SCSI_PPA || SCSI_IMM ---help--- EPP (Enhanced Parallel Port) is a standard for parallel ports which allows them to act as expansion buses that can handle up to 64 peripheral devices. Some parallel port chipsets are slower than their motherboard, and so we have to control the state of the chipset's FIFO queue every now and then to avoid data loss. This will be done if you say Y here. Generally, saying Y is the safe option and slows things down a bit. config SCSI_IZIP_SLOW_CTR bool "ppa/imm option - Assume slow parport control register" depends on SCSI_PPA || SCSI_IMM help Some parallel ports are known to have excessive delays between changing the parallel port control register and good data being available on the parallel port data/status register. This option forces a small delay (1.0 usec to be exact) after changing the control register to let things settle out. Enabling this option may result in a big drop in performance but some very old parallel ports (found in 386 vintage machines) will not work properly. Generally, saying N is fine. config SCSI_NCR53C406A tristate "NCR53c406a SCSI support" depends on ISA && SCSI help This is support for the NCR53c406a SCSI host adapter. For user configurable parameters, check out in the kernel source. Also read the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called NCR53c406. config SCSI_NCR_D700 tristate "NCR Dual 700 MCA SCSI support" depends on MCA && SCSI select SCSI_SPI_ATTRS help This is a driver for the MicroChannel Dual 700 card produced by NCR and commonly used in 345x/35xx/4100 class machines. It always tries to negotiate sync and uses tag command queueing. Unless you have an NCR manufactured machine, the chances are that you do not have this SCSI card, so say N. config SCSI_LASI700 tristate "HP Lasi SCSI support for 53c700/710" depends on GSC && SCSI select SCSI_SPI_ATTRS help This is a driver for the SCSI controller in the Lasi chip found in many PA-RISC workstations & servers. If you do not know whether you have a Lasi chip, it is safe to say "Y" here. config SCSI_SNI_53C710 tristate "SNI RM SCSI support for 53c710" depends on SNI_RM && SCSI select SCSI_SPI_ATTRS select 53C700_LE_ON_BE help This is a driver for the onboard SCSI controller found in older SNI RM workstations & servers. config 53C700_LE_ON_BE bool depends on SCSI_LASI700 default y config SCSI_STEX tristate "Promise SuperTrak EX Series support" depends on PCI && SCSI ---help--- This driver supports Promise SuperTrak EX series storage controllers. Promise provides Linux RAID configuration utility for these controllers. Please visit to download. To compile this driver as a module, choose M here: the module will be called stex. config 53C700_BE_BUS bool depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI default y config SCSI_SYM53C8XX_2 tristate "SYM53C8XX Version 2 SCSI support" depends on PCI && SCSI select SCSI_SPI_ATTRS ---help--- This driver supports the whole NCR53C8XX/SYM53C8XX family of PCI-SCSI controllers. It also supports the subset of LSI53C10XX Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS language. It does not support LSI53C10XX Ultra-320 PCI-X SCSI controllers; you need to use the Fusion MPT driver for that. Please read for more information. config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE int "DMA addressing mode" depends on SCSI_SYM53C8XX_2 default "1" ---help--- This option only applies to PCI-SCSI chips that are PCI DAC capable (875A, 895A, 896, 1010-33, 1010-66, 1000). When set to 0, the driver will program the chip to only perform 32-bit DMA. When set to 1, the chip will be able to perform DMA to addresses up to 1TB. When set to 2, the driver supports the full 64-bit DMA address range, but can only address 16 segments of 4 GB each. This limits the total addressable range to 64 GB. Most machines with less than 4GB of memory should use a setting of 0 for best performance. If your machine has 4GB of memory or more, you should set this option to 1 (the default). The still experimental value 2 (64 bit DMA addressing with 16 x 4GB segments limitation) can be used on systems that require PCI address bits past bit 39 to be set for the addressing of memory using PCI DAC cycles. config SCSI_SYM53C8XX_DEFAULT_TAGS int "Default tagged command queue depth" depends on SCSI_SYM53C8XX_2 default "16" help This is the default value of the command queue depth the driver will announce to the generic SCSI layer for devices that support tagged command queueing. This value can be changed from the boot command line. This is a soft limit that cannot exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS. config SCSI_SYM53C8XX_MAX_TAGS int "Maximum number of queued commands" depends on SCSI_SYM53C8XX_2 default "64" help This option allows you to specify the maximum number of commands that can be queued to any device, when tagged command queuing is possible. The driver supports up to 256 queued commands per device. This value is used as a compiled-in hard limit. config SCSI_SYM53C8XX_MMIO bool "Use memory mapped IO" depends on SCSI_SYM53C8XX_2 default y help Memory mapped IO is faster than Port IO. Most people should answer Y here, but some machines may have problems. If you have to answer N here, please report the problem to the maintainer. config SCSI_IPR tristate "IBM Power Linux RAID adapter support" depends on PCI && SCSI && ATA select FW_LOADER ---help--- This driver supports the IBM Power Linux family RAID adapters. This includes IBM pSeries 5712, 5703, 5709, and 570A, as well as IBM iSeries 5702, 5703, 5709, and 570A. config SCSI_IPR_TRACE bool "enable driver internal trace" depends on SCSI_IPR default y help If you say Y here, the driver will trace all commands issued to the adapter. Performance impact is minimal. Trace can be dumped using /sys/bus/class/scsi_host/hostXX/trace. config SCSI_IPR_DUMP bool "enable adapter dump support" depends on SCSI_IPR default y help If you say Y here, the driver will support adapter crash dump. If you enable this support, the iprdump daemon can be used to capture adapter failure analysis information. config SCSI_ZALON tristate "Zalon SCSI support" depends on GSC && SCSI select SCSI_SPI_ATTRS help The Zalon is a GSC/HSC bus interface chip that sits between the PA-RISC processor and the NCR 53c720 SCSI controller on C100, C110, J200, J210 and some D, K & R-class machines. It's also used on the add-in Bluefish, Barracuda & Shrike SCSI cards. Say Y here if you have one of these machines or cards. config SCSI_NCR_Q720 tristate "NCR Quad 720 MCA SCSI support" depends on MCA && SCSI select SCSI_SPI_ATTRS help This is a driver for the MicroChannel Quad 720 card produced by NCR and commonly used in 345x/35xx/4100 class machines. It always tries to negotiate sync and uses tag command queueing. Unless you have an NCR manufactured machine, the chances are that you do not have this SCSI card, so say N. config SCSI_NCR53C8XX_DEFAULT_TAGS int "default tagged command queue depth" depends on SCSI_ZALON || SCSI_NCR_Q720 default "8" ---help--- "Tagged command queuing" is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. Because the device is intelligent, it can optimize its operations (like head positioning) based on its own request queue. Some SCSI devices don't implement this properly; if you want to disable this feature, enter 0 or 1 here (it doesn't matter which). The default value is 8 and should be supported by most hard disks. This value can be overridden from the boot command line using the 'tags' option as follows (example): 'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to 4, set queue depth to 16 for target 2 and target 3 on controller 0 and set queue depth to 10 for target 0 / lun 2 on controller 1. The normal answer therefore is to go with the default 8 and to use a boot command line option for devices that need to use a different command queue depth. There is no safe option other than using good SCSI devices. config SCSI_NCR53C8XX_MAX_TAGS int "maximum number of queued commands" depends on SCSI_ZALON || SCSI_NCR_Q720 default "32" ---help--- This option allows you to specify the maximum number of commands that can be queued to any device, when tagged command queuing is possible. The default value is 32. Minimum is 2, maximum is 64. Modern hard disks are able to support 64 tags and even more, but do not seem to be faster when more than 32 tags are being used. So, the normal answer here is to go with the default value 32 unless you are using very large hard disks with large cache (>= 1 MB) that are able to take advantage of more than 32 tagged commands. There is no safe option and the default answer is recommended. config SCSI_NCR53C8XX_SYNC int "synchronous transfers frequency in MHz" depends on SCSI_ZALON || SCSI_NCR_Q720 default "20" ---help--- The SCSI Parallel Interface-2 Standard defines 5 classes of transfer rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80. The numbers are respectively the maximum data transfer rates in mega-transfers per second for each class. For example, a FAST-20 Wide 16 device is able to transfer data at 20 million 16 bit packets per second for a total rate of 40 MB/s. You may specify 0 if you want to only use asynchronous data transfers. This is the safest and slowest option. Otherwise, specify a value between 5 and 80, depending on the capability of your SCSI controller. The higher the number, the faster the data transfer. Note that 80 should normally be ok since the driver decreases the value automatically according to the controller's capabilities. Your answer to this question is ignored for controllers with NVRAM, since the driver will get this information from the user set-up. It also can be overridden using a boot setup option, as follows (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate for FAST-20 synchronous data transfer (20 mega-transfers per second). The normal answer therefore is not to go with the default but to select the maximum value 80 allowing the driver to use the maximum value supported by each controller. If this causes problems with your SCSI devices, you should come back and decrease the value. There is no safe option other than using good cabling, right terminations and SCSI conformant devices. config SCSI_NCR53C8XX_NO_DISCONNECT bool "not allow targets to disconnect" depends on (SCSI_ZALON || SCSI_NCR_Q720) && SCSI_NCR53C8XX_DEFAULT_TAGS=0 help This option is only provided for safety if you suspect some SCSI device of yours to not support properly the target-disconnect feature. In that case, you would say Y here. In general however, to not allow targets to disconnect is not reasonable if there is more than 1 device on a SCSI bus. The normal answer therefore is N. config SCSI_PAS16 tristate "PAS16 SCSI support" depends on ISA && SCSI select SCSI_SPI_ATTRS ---help--- This is support for a SCSI host adapter. It is explained in section 3.10 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . To compile this driver as a module, choose M here: the module will be called pas16. config SCSI_QLOGIC_FAS tristate "Qlogic FAS SCSI support" depends on ISA && SCSI ---help--- This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic FastSCSI! cards as well as any other card based on the FASXX chip (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards). This driver does NOT support the PCI versions of these cards. The PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP SCSI support"), below. Information about this driver is contained in . You should also read the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called qlogicfas. config SCSI_QLOGIC_1280 tristate "Qlogic QLA 1240/1x80/1x160 SCSI support" depends on PCI && SCSI help Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter. To compile this driver as a module, choose M here: the module will be called qla1280. config SCSI_QLOGICPTI tristate "PTI Qlogic, ISP Driver" depends on SBUS && SCSI help This driver supports SBUS SCSI controllers from PTI or QLogic. These controllers are known under Solaris as qpti and in the openprom as PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are driven by a different driver. To compile this driver as a module, choose M here: the module will be called qlogicpti. source "drivers/scsi/qla2xxx/Kconfig" source "drivers/scsi/qla4xxx/Kconfig" config SCSI_LPFC tristate "Emulex LightPulse Fibre Channel Support" depends on PCI && SCSI select SCSI_FC_ATTRS select CRC_T10DIF help This lpfc driver supports the Emulex LightPulse Family of Fibre Channel PCI host adapters. config SCSI_LPFC_DEBUG_FS bool "Emulex LightPulse Fibre Channel debugfs Support" depends on SCSI_LPFC && DEBUG_FS help This makes debugging information from the lpfc driver available via the debugfs filesystem. config SCSI_SIM710 tristate "Simple 53c710 SCSI support (Compaq, NCR machines)" depends on (EISA || MCA) && SCSI select SCSI_SPI_ATTRS ---help--- This driver is for NCR53c710 based SCSI host adapters. It currently supports Compaq EISA cards and NCR MCA cards config SCSI_SYM53C416 tristate "Symbios 53c416 SCSI support" depends on ISA && SCSI ---help--- This is support for the sym53c416 SCSI host adapter, the SCSI adapter that comes with some HP scanners. This driver requires that the sym53c416 is configured first using some sort of PnP configuration program (e.g. isapnp) or by a PnP aware BIOS. If you are using isapnp then you need to compile this driver as a module and then load it using insmod after isapnp has run. The parameters of the configured card(s) should be passed to the driver. The format is: insmod sym53c416 sym53c416=, [sym53c416_1=,] To compile this driver as a module, choose M here: the module will be called sym53c416. config SCSI_DC395x tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support" depends on PCI && SCSI ---help--- This driver supports PCI SCSI host adapters based on the ASIC TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants. This driver works, but is still in experimental status. So better have a bootable disk and a backup in case of emergency. Documentation can be found in . To compile this driver as a module, choose M here: the module will be called dc395x. config SCSI_DC390T tristate "Tekram DC390(T) and Am53/79C974 SCSI support" depends on PCI && SCSI ---help--- This driver supports PCI SCSI host adapters based on the Am53C974A chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard PCscsi/PCnet (Am53/79C974) solutions. Documentation can be found in . Note that this driver does NOT support Tekram DC390W/U/F, which are based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those. To compile this driver as a module, choose M here: the module will be called tmscsim. config SCSI_T128 tristate "Trantor T128/T128F/T228 SCSI support" depends on ISA && SCSI select SCSI_SPI_ATTRS select CHECK_SIGNATURE ---help--- This is support for a SCSI host adapter. It is explained in section 3.11 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . Note that Trantor was purchased by Adaptec, and some former Trantor products are being sold under the Adaptec name. To compile this driver as a module, choose M here: the module will be called t128. config SCSI_U14_34F tristate "UltraStor 14F/34F support" depends on ISA && SCSI && ISA_DMA_API ---help--- This is support for the UltraStor 14F and 34F SCSI-2 host adapters. The source at contains some information about this hardware. If the driver doesn't work out of the box, you may have to change some settings in . Read the SCSI-HOWTO, available from . Note that there is also another driver for the same hardware: "UltraStor SCSI support", below. You should say Y to both only if you want 24F support as well. To compile this driver as a module, choose M here: the module will be called u14-34f. config SCSI_U14_34F_TAGGED_QUEUE bool "enable tagged command queueing" depends on SCSI_U14_34F help This is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. This is equivalent to the "u14-34f=tc:y" boot option. config SCSI_U14_34F_LINKED_COMMANDS bool "enable elevator sorting" depends on SCSI_U14_34F help This option enables elevator sorting for all probed SCSI disks and CD-ROMs. It definitely reduces the average seek distance when doing random seeks, but this does not necessarily result in a noticeable performance improvement: your mileage may vary... This is equivalent to the "u14-34f=lc:y" boot option. config SCSI_U14_34F_MAX_TAGS int "maximum number of queued commands" depends on SCSI_U14_34F default "8" help This specifies how many SCSI commands can be maximally queued for each probed SCSI device. You should reduce the default value of 8 only if you have disks with buggy or limited tagged command support. Minimum is 2 and maximum is 14. This value is also the window size used by the elevator sorting option above. The effective value used by the driver for each probed SCSI device is reported at boot time. This is equivalent to the "u14-34f=mq:8" boot option. config SCSI_ULTRASTOR tristate "UltraStor SCSI support" depends on X86 && ISA && SCSI ---help--- This is support for the UltraStor 14F, 24F and 34F SCSI-2 host adapter family. This driver is explained in section 3.12 of the SCSI-HOWTO, available from . If it doesn't work out of the box, you may have to change some settings in . Note that there is also another driver for the same hardware: "UltraStor 14F/34F support", above. To compile this driver as a module, choose M here: the module will be called ultrastor. config SCSI_NSP32 tristate "Workbit NinjaSCSI-32Bi/UDE support" depends on PCI && SCSI && !64BIT help This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus SCSI host adapter. Please read the SCSI-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called nsp32. config SCSI_DEBUG tristate "SCSI debugging host simulator" depends on SCSI select CRC_T10DIF help This is a host adapter simulator that can simulate multiple hosts each with multiple dummy SCSI devices (disks). It defaults to one host adapter with one dummy SCSI disk. Each dummy disk uses kernel RAM as storage (i.e. it is a ramdisk). To save space when multiple dummy disks are simulated, they share the same kernel RAM for their storage. See for more information. This driver is primarily of use to those testing the SCSI and block subsystems. If unsure, say N. config SCSI_MESH tristate "MESH (Power Mac internal SCSI) support" depends on PPC32 && PPC_PMAC && SCSI help Many Power Macintoshes and clones have a MESH (Macintosh Enhanced SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the other Power Macintoshes do). Say Y to include support for this SCSI adaptor. To compile this driver as a module, choose M here: the module will be called mesh. config SCSI_MESH_SYNC_RATE int "maximum synchronous transfer rate (MB/s) (0 = async)" depends on SCSI_MESH default "5" help On Power Macintoshes (and clones) where the MESH SCSI bus adaptor drives a bus which is entirely internal to the machine (such as the 7500, 7600, 8500, etc.), the MESH is capable of synchronous operation at up to 10 MB/s. On machines where the SCSI bus controlled by the MESH can have external devices connected, it is usually rated at 5 MB/s. 5 is a safe value here unless you know the MESH SCSI bus is internal only; in that case you can say 10. Say 0 to disable synchronous operation. config SCSI_MESH_RESET_DELAY_MS int "initial bus reset delay (ms) (0 = no reset)" depends on SCSI_MESH default "4000" config SCSI_MAC53C94 tristate "53C94 (Power Mac external SCSI) support" depends on PPC32 && PPC_PMAC && SCSI help On Power Macintoshes (and clones) with two SCSI buses, the external SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older machines which only have one SCSI bus, such as the 7200, also use the 53C94. Say Y to include support for the 53C94. To compile this driver as a module, choose M here: the module will be called mac53c94. source "drivers/scsi/arm/Kconfig" config JAZZ_ESP bool "MIPS JAZZ FAS216 SCSI support" depends on MACH_JAZZ && SCSI select SCSI_SPI_ATTRS help This is the driver for the onboard SCSI host adapter of MIPS Magnum 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM systems. config A3000_SCSI tristate "A3000 WD33C93A support" depends on AMIGA && SCSI help If you have an Amiga 3000 and have SCSI devices connected to the built-in SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a3000. config A2091_SCSI tristate "A2091/A590 WD33C93A support" depends on ZORRO && SCSI help If you have a Commodore A2091 SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a2091. config GVP11_SCSI tristate "GVP Series II WD33C93A support" depends on ZORRO && SCSI ---help--- If you have a Great Valley Products Series II SCSI controller, answer Y. Also say Y if you have a later model of GVP SCSI controller (such as the GVP A4008 or a Combo board). Otherwise, answer N. This driver does NOT work for the T-Rex series of accelerators from TekMagic and GVP-M. To compile this driver as a module, choose M here: the module will be called gvp11. config SCSI_A4000T tristate "A4000T NCR53c710 SCSI support" depends on AMIGA && SCSI select SCSI_SPI_ATTRS help If you have an Amiga 4000T and have SCSI devices connected to the built-in SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a4000t. config SCSI_ZORRO7XX tristate "Zorro NCR53c710 SCSI support" depends on ZORRO && SCSI select SCSI_SPI_ATTRS help Support for various NCR53c710-based SCSI controllers on Zorro expansion boards for the Amiga. This includes: - the Amiga 4091 Zorro III SCSI-2 controller, - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller (info at ), - the SCSI controller on the Phase5 Blizzard PowerUP 603e+ accelerator card for the Amiga 1200, - the SCSI controller on the GVP Turbo 040/060 accelerator. config ATARI_SCSI tristate "Atari native SCSI support" depends on ATARI && SCSI select SCSI_SPI_ATTRS select NVRAM ---help--- If you have an Atari with built-in NCR5380 SCSI controller (TT, Falcon, ...) say Y to get it supported. Of course also, if you have a compatible SCSI controller (e.g. for Medusa). To compile this driver as a module, choose M here: the module will be called atari_scsi. This driver supports both styles of NCR integration into the system: the TT style (separate DMA), and the Falcon style (via ST-DMA, replacing ACSI). It does NOT support other schemes, like in the Hades (without DMA). config ATARI_SCSI_TOSHIBA_DELAY bool "Long delays for Toshiba CD-ROMs" depends on ATARI_SCSI help This option increases the delay after a SCSI arbitration to accommodate some flaky Toshiba CD-ROM drives. Say Y if you intend to use a Toshiba CD-ROM drive; otherwise, the option is not needed and would impact performance a bit, so say N. config ATARI_SCSI_RESET_BOOT bool "Reset SCSI-devices at boottime" depends on ATARI_SCSI help Reset the devices on your Atari whenever it boots. This makes the boot process fractionally longer but may assist recovery from errors that leave the devices with SCSI operations partway completed. config MAC_SCSI bool "Macintosh NCR5380 SCSI" depends on MAC && SCSI=y select SCSI_SPI_ATTRS help This is the NCR 5380 SCSI controller included on most of the 68030 based Macintoshes. If you have one of these say Y and read the SCSI-HOWTO, available from . config SCSI_MAC_ESP tristate "Macintosh NCR53c9[46] SCSI" depends on MAC && SCSI select SCSI_SPI_ATTRS help This is the NCR 53c9x SCSI controller found on most of the 68040 based Macintoshes. To compile this driver as a module, choose M here: the module will be called mac_esp. config MVME147_SCSI bool "WD33C93 SCSI driver for MVME147" depends on MVME147 && SCSI=y select SCSI_SPI_ATTRS help Support for the on-board SCSI controller on the Motorola MVME147 single-board computer. config MVME16x_SCSI tristate "NCR53C710 SCSI driver for MVME16x" depends on MVME16x && SCSI select SCSI_SPI_ATTRS help The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710 SCSI controller chip. Almost everyone using one of these boards will want to say Y to this question. config BVME6000_SCSI tristate "NCR53C710 SCSI driver for BVME6000" depends on BVME6000 && SCSI select SCSI_SPI_ATTRS help The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710 SCSI controller chip. Almost everyone using one of these boards will want to say Y to this question. config SUN3_SCSI tristate "Sun3 NCR5380 SCSI" depends on SUN3 && SCSI select SCSI_SPI_ATTRS help This option will enable support for the OBIO (onboard io) NCR5380 SCSI controller found in the Sun 3/50 and 3/60, as well as for "Sun3" type VME scsi controllers also based on the NCR5380. General Linux information on the Sun 3 series (now discontinued) is at . config SUN3X_ESP bool "Sun3x ESP SCSI" depends on SUN3X && SCSI=y select SCSI_SPI_ATTRS help The ESP was an on-board SCSI controller used on Sun 3/80 machines. Say Y here to compile in support for it. config SCSI_SUNESP tristate "Sparc ESP Scsi Driver" depends on SBUS && SCSI select SCSI_SPI_ATTRS help This is the driver for the Sun ESP SCSI host adapter. The ESP chipset is present in most SPARC SBUS-based computers and supports the Emulex family of ESP SCSI chips (esp100, esp100A, esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip. To compile this driver as a module, choose M here: the module will be called sun_esp. config ZFCP tristate "FCP host bus adapter driver for IBM eServer zSeries" depends on S390 && QDIO && SCSI select SCSI_FC_ATTRS help If you want to access SCSI devices attached to your IBM eServer zSeries by means of Fibre Channel interfaces say Y. For details please refer to the documentation provided by IBM at This driver is also available as a module. This module will be called zfcp. If you want to compile it as a module, say M here and read . config SCSI_PMCRAID tristate "PMC SIERRA Linux MaxRAID adapter support" depends on PCI && SCSI && NET ---help--- This driver supports the PMC SIERRA MaxRAID adapters. config SCSI_PM8001 tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver" depends on PCI && SCSI select SCSI_SAS_LIBSAS help This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip based host adapters. config SCSI_SRP tristate "SCSI RDMA Protocol helper library" depends on SCSI && PCI select SCSI_TGT help If you wish to use SRP target drivers, say Y. To compile this driver as a module, choose M here: the module will be called libsrp. config SCSI_BFA_FC tristate "Brocade BFA Fibre Channel Support" depends on PCI && SCSI select SCSI_FC_ATTRS help This bfa driver supports all Brocade PCIe FC/FCOE host adapters. To compile this driver as a module, choose M here. The module will be called bfa. config SCSI_VIRTIO tristate "virtio-scsi support" depends on VIRTIO help This is the virtual HBA driver for virtio. If the kernel will be used in a virtual machine, say Y or M. source "drivers/scsi/csiostor/Kconfig" endif # SCSI_LOWLEVEL source "drivers/scsi/pcmcia/Kconfig" source "drivers/scsi/device_handler/Kconfig" source "drivers/scsi/osd/Kconfig" endmenu # # Kernel configuration file for aic94xx SAS/SATA driver. # # Copyright (c) 2005 Adaptec, Inc. All rights reserved. # Copyright (c) 2005 Luben Tuikov # # This file is licensed under GPLv2. # # This file is part of the aic94xx driver. # # The aic94xx driver is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; version 2 of the # License. # # The aic94xx driver is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Aic94xx Driver; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # config SCSI_AIC94XX tristate "Adaptec AIC94xx SAS/SATA support" depends on PCI select SCSI_SAS_LIBSAS select FW_LOADER help This driver supports Adaptec's SAS/SATA 3Gb/s 64 bit PCI-X AIC94xx chip based host adapters. config AIC94XX_DEBUG bool "Compile in debug mode" default y depends on SCSI_AIC94XX help Compiles the aic94xx driver in debug mode. In debug mode, the driver prints some messages to the console. # # SCSI driver configuration for Acorn # config SCSI_ACORNSCSI_3 tristate "Acorn SCSI card (aka30) support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Acorn SCSI card (aka30). If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_ACORNSCSI_TAGGED_QUEUE bool "Support SCSI 2 Tagged queueing" depends on SCSI_ACORNSCSI_3 help Say Y here to enable tagged queuing support on the Acorn SCSI card. This is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. Some SCSI devices don't implement this properly, so the safe answer is N. config SCSI_ACORNSCSI_SYNC bool "Support SCSI 2 Synchronous Transfers" depends on SCSI_ACORNSCSI_3 help Say Y here to enable synchronous transfer negotiation with all targets on the Acorn SCSI card. In general, this improves performance; however some SCSI devices don't implement it properly, so the safe answer is N. config SCSI_ARXESCSI tristate "ARXE SCSI support" depends on ARCH_ACORN && SCSI help Around 1991, Arxe Systems Limited released a high density floppy disc interface for the Acorn Archimedes range, to allow the use of HD discs from the then new A5000 on earlier models. This interface was either sold on its own or with an integral SCSI controller. Technical details on this NCR53c94-based device are available at Say Y here to compile in support for the SCSI controller. config SCSI_CUMANA_2 tristate "CumanaSCSI II support" depends on ARCH_ACORN && SCSI help This enables support for the Cumana SCSI II card. If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_EESOXSCSI tristate "EESOX support" depends on ARCH_ACORN && SCSI help This enables support for the EESOX SCSI card. If you have an Acorn system with one of these, say Y, otherwise say N. config SCSI_POWERTECSCSI tristate "PowerTec support" depends on ARCH_ACORN && SCSI help This enables support for the Powertec SCSI card on Acorn systems. If you have one of these, say Y. If unsure, say N. comment "The following drivers are not fully supported" depends on ARCH_ACORN config SCSI_CUMANA_1 tristate "CumanaSCSI I support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Cumana SCSI I card. If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_OAK1 tristate "Oak SCSI support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Oak SCSI card. If you have an Acorn system with one of these, say Y. If unsure, say N. config BE2ISCSI tristate "ServerEngines' 10Gbps iSCSI - BladeEngine 2" depends on PCI && SCSI && NET select SCSI_ISCSI_ATTRS select ISCSI_BOOT_SYSFS help This driver implements the iSCSI functionality for ServerEngines' 10Gbps Storage adapter - BladeEngine 2. config SCSI_BNX2X_FCOE tristate "Broadcom NetXtreme II FCoE support" depends on PCI select NETDEVICES select ETHERNET select NET_VENDOR_BROADCOM select LIBFC select LIBFCOE select CNIC ---help--- This driver supports FCoE offload for the Broadcom NetXtreme II devices. config SCSI_BNX2_ISCSI tristate "Broadcom NetXtreme II iSCSI support" depends on NET depends on PCI select SCSI_ISCSI_ATTRS select NETDEVICES select ETHERNET select NET_VENDOR_BROADCOM select CNIC ---help--- This driver supports iSCSI offload for the Broadcom NetXtreme II devices. config SCSI_CHELSIO_FCOE tristate "Chelsio Communications FCoE support" depends on PCI && SCSI select SCSI_FC_ATTRS select FW_LOADER help This driver supports FCoE Offload functionality over Chelsio T4-based 10Gb Converged Network Adapters. For general information about Chelsio and our products, visit our website at . For customer support, please visit our customer support page at . Please send feedback to . To compile this driver as a module choose M here; the module will be called csiostor. source "drivers/scsi/cxgbi/cxgb3i/Kconfig" source "drivers/scsi/cxgbi/cxgb4i/Kconfig" config SCSI_CXGB3_ISCSI tristate "Chelsio T3 iSCSI support" depends on PCI && INET select NETDEVICES select ETHERNET select NET_VENDOR_CHELSIO select CHELSIO_T3 select SCSI_ISCSI_ATTRS ---help--- This driver supports iSCSI offload for the Chelsio T3 devices. config SCSI_CXGB4_ISCSI tristate "Chelsio T4 iSCSI support" depends on PCI && INET select NETDEVICES select ETHERNET select NET_VENDOR_CHELSIO select CHELSIO_T4 select SCSI_ISCSI_ATTRS ---help--- This driver supports iSCSI offload for the Chelsio T4 devices. # # SCSI Device Handler configuration # menuconfig SCSI_DH tristate "SCSI Device Handlers" depends on SCSI default n help SCSI Device Handlers provide device specific support for devices utilized in multipath configurations. Say Y here to select support for specific hardware. config SCSI_DH_RDAC tristate "LSI RDAC Device Handler" depends on SCSI_DH help If you have a LSI RDAC select y. Otherwise, say N. config SCSI_DH_HP_SW tristate "HP/COMPAQ MSA Device Handler" depends on SCSI_DH help If you have a HP/COMPAQ MSA device that requires START_STOP to be sent to start it and cannot upgrade the firmware then select y. Otherwise, say N. config SCSI_DH_EMC tristate "EMC CLARiiON Device Handler" depends on SCSI_DH help If you have a EMC CLARiiON select y. Otherwise, say N. config SCSI_DH_ALUA tristate "SPC-3 ALUA Device Handler" depends on SCSI_DH help SCSI Device handler for generic SPC-3 Asymmetric Logical Unit Access (ALUA). config SCSI_ESAS2R tristate "ATTO Technology's ExpressSAS RAID adapter driver" depends on PCI && SCSI ---help--- This driver supports the ATTO ExpressSAS R6xx SAS/SATA RAID controllers. # # Kernel configuration file for the SAS Class # # Copyright (C) 2005 Adaptec, Inc. All rights reserved. # Copyright (C) 2005 Luben Tuikov # # This file is licensed under GPLv2. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; version 2 of the # License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA # config SCSI_SAS_LIBSAS tristate "SAS Domain Transport Attributes" depends on SCSI select SCSI_SAS_ATTRS help This provides transport specific helpers for SAS drivers which use the domain device construct (like the aic94xxx). config SCSI_SAS_ATA bool "ATA support for libsas (requires libata)" depends on SCSI_SAS_LIBSAS depends on ATA = y || ATA = SCSI_SAS_LIBSAS help Builds in ATA support into libsas. Will necessitate the loading of libata along with libsas. config SCSI_SAS_HOST_SMP bool "Support for SMP interpretation for SAS hosts" default y depends on SCSI_SAS_LIBSAS help Allows sas hosts to receive SMP frames. Selecting this option builds an SMP interpreter into libsas. Say N here if you want to save the few kb this consumes. # # Kernel configuration file for the MPT2SAS # # This code is based on drivers/scsi/mpt2sas/Kconfig # Copyright (C) 2007-2012 LSI Corporation # (mailto:DL-MPTFusionLinux@lsi.com) # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # NO WARRANTY # THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT # LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is # solely responsible for determining the appropriateness of using and # distributing the Program and assumes all risks associated with its # exercise of rights under this Agreement, including but not limited to # the risks and costs of program errors, damage to or loss of data, # programs or equipment, and unavailability or interruption of operations. # DISCLAIMER OF LIABILITY # NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED # HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. config SCSI_MPT2SAS tristate "LSI MPT Fusion SAS 2.0 Device Driver" depends on PCI && SCSI select SCSI_SAS_ATTRS select RAID_ATTRS ---help--- This driver supports PCI-Express SAS 6Gb/s Host Adapters. config SCSI_MPT2SAS_MAX_SGE int "LSI MPT Fusion Max number of SG Entries (16 - 128)" depends on PCI && SCSI && SCSI_MPT2SAS default "128" range 16 128 ---help--- This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches SAFE_PHYS_SEGMENTS. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config SCSI_MPT2SAS_LOGGING bool "LSI MPT Fusion logging facility" depends on PCI && SCSI && SCSI_MPT2SAS ---help--- This turns on a logging facility. # # Kernel configuration file for the MPT3SAS # # This code is based on drivers/scsi/mpt3sas/Kconfig # Copyright (C) 2012-2013 LSI Corporation # (mailto:DL-MPTFusionLinux@lsi.com) # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # NO WARRANTY # THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT # LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is # solely responsible for determining the appropriateness of using and # distributing the Program and assumes all risks associated with its # exercise of rights under this Agreement, including but not limited to # the risks and costs of program errors, damage to or loss of data, # programs or equipment, and unavailability or interruption of operations. # DISCLAIMER OF LIABILITY # NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED # HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. config SCSI_MPT3SAS tristate "LSI MPT Fusion SAS 3.0 Device Driver" depends on PCI && SCSI select SCSI_SAS_ATTRS select RAID_ATTRS ---help--- This driver supports PCI-Express SAS 12Gb/s Host Adapters. config SCSI_MPT3SAS_MAX_SGE int "LSI MPT Fusion Max number of SG Entries (16 - 256)" depends on PCI && SCSI && SCSI_MPT3SAS default "128" range 16 256 ---help--- This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches MAX_PHYS_SEGMENTS in most kernels. However in SuSE kernels this can be 256. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config SCSI_MPT3SAS_LOGGING bool "LSI MPT Fusion logging facility" depends on PCI && SCSI && SCSI_MPT3SAS ---help--- This turns on a logging facility. # # Kernel configuration file for 88SE64XX/88SE94XX SAS/SATA driver. # # Copyright 2007 Red Hat, Inc. # Copyright 2008 Marvell. # Copyright 2009-2011 Marvell. # # This file is licensed under GPLv2. # # This file is part of the 88SE64XX/88SE94XX driver. # # The 88SE64XX/88SE94XX driver is free software; you can redistribute # it and/or modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2 of the # License. # # The 88SE64XX/88SE94XX driver is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with 88SE64XX/88SE94XX Driver; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # config SCSI_MVSAS tristate "Marvell 88SE64XX/88SE94XX SAS/SATA support" depends on PCI select SCSI_SAS_LIBSAS select FW_LOADER help This driver supports Marvell's SAS/SATA 3Gb/s PCI-E 88SE64XX and 6Gb/s PCI-E 88SE94XX chip based host adapters. config SCSI_MVSAS_DEBUG bool "Compile in debug mode" default y depends on SCSI_MVSAS help Compiles the 88SE64XX/88SE94XX driver in debug mode. In debug mode, the driver prints some messages to the console. config SCSI_MVSAS_TASKLET bool "Support for interrupt tasklet" default n depends on SCSI_MVSAS help Compiles the 88SE64xx/88SE94xx driver in interrupt tasklet mode.In this mode, the interrupt will schedule a tasklet. # # Kernel configuration file for the OSD scsi protocol # # Copyright (C) 2008 Panasas Inc. All rights reserved. # # Authors: # Boaz Harrosh # Benny Halevy # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public version 2 License as # published by the Free Software Foundation # config SCSI_OSD_INITIATOR tristate "OSD-Initiator library" depends on SCSI help Enable the OSD-Initiator library (libosd.ko). NOTE: You must also select CRYPTO_SHA1 + CRYPTO_HMAC and their dependencies config SCSI_OSD_ULD tristate "OSD Upper Level driver" depends on SCSI_OSD_INITIATOR help Build a SCSI upper layer driver that exports /dev/osdX devices to user-mode for testing and controlling OSD devices. It is also needed by exofs, for mounting an OSD based file system. config SCSI_OSD_DPRINT_SENSE int "(0-2) When sense is returned, DEBUG print all sense descriptors" default 1 depends on SCSI_OSD_INITIATOR help When a CHECK_CONDITION status is returned from a target, and a sense-buffer is retrieved, turning this on will dump a full sense-decoding message. Setting to 2 will also print recoverable errors that might be regularly returned for some filesystem operations. config SCSI_OSD_DEBUG bool "Compile All OSD modules with lots of DEBUG prints" default n depends on SCSI_OSD_INITIATOR help OSD Code is populated with lots of OSD_DEBUG(..) printouts to dmesg. Enable this if you found a bug and you want to help us track the problem (see also MAINTAINERS). Setting this will also force SCSI_OSD_DPRINT_SENSE=2. # # PCMCIA SCSI adapter configuration # menuconfig SCSI_LOWLEVEL_PCMCIA bool "PCMCIA SCSI adapter support" depends on SCSI!=n && PCMCIA!=n # drivers have problems when build in, so require modules if SCSI_LOWLEVEL_PCMCIA && SCSI && PCMCIA && m config PCMCIA_AHA152X tristate "Adaptec AHA152X PCMCIA support" select SCSI_SPI_ATTRS help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called aha152x_cs. config PCMCIA_FDOMAIN tristate "Future Domain PCMCIA support" help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called fdomain_cs. config PCMCIA_NINJA_SCSI tristate "NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA support" depends on !64BIT help If you intend to attach this type of PCMCIA SCSI host adapter to your computer, say Y here and read . Supported cards: NinjaSCSI-3: (version string: "WBT","NinjaSCSI-3","R1.0") IO-DATA PCSC-FP ALPHA DATA AD-PCS201 CyQ've SFC-201 LOGITECH LPM-SCSI2E Pioneer PCR-PR24's card I-O DATA CDPS-PX24's card (PCSC-F) Panasonic KXL-RW10AN CD-RW's card etc. NinjaSCSI-32Bit (in 16bit mode): [Workbit (version string: "WORKBIT","UltraNinja-16","1")] Jazz SCP050 [I-O DATA (OEM) (version string: "IO DATA","CBSC16 ","1")] I-O DATA CBSC-II [Kyusyu Matsushita Kotobuki (OEM) (version string: "KME ","SCSI-CARD-001","1")] KME KXL-820AN's card HP M820e CDRW's card etc. To compile this driver as a module, choose M here: the module will be called nsp_cs. config PCMCIA_QLOGIC tristate "Qlogic PCMCIA support" help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called qlogic_cs. config PCMCIA_SYM53C500 tristate "Symbios 53c500 PCMCIA support" help Say Y here if you have a New Media Bus Toaster or other PCMCIA SCSI adapter based on the Symbios 53c500 controller. To compile this driver as a module, choose M here: the module will be called sym53c500_cs. endif # SCSI_LOWLEVEL_PCMCIA config SCSI_QLA_FC tristate "QLogic QLA2XXX Fibre Channel Support" depends on PCI && SCSI select SCSI_FC_ATTRS select FW_LOADER ---help--- This qla2xxx driver supports all QLogic Fibre Channel PCI and PCIe host adapters. By default, firmware for the ISP parts will be loaded via the Firmware Loader interface. ISP Firmware Filename ---------- ----------------- 21xx ql2100_fw.bin 22xx ql2200_fw.bin 2300, 2312, 6312 ql2300_fw.bin 2322, 6322 ql2322_fw.bin 24xx, 54xx ql2400_fw.bin 25xx ql2500_fw.bin Upon request, the driver caches the firmware image until the driver is unloaded. Firmware images can be retrieved from: http://ldriver.qlogic.com/firmware/ They are also included in the linux-firmware tree as well. config TCM_QLA2XXX tristate "TCM_QLA2XXX fabric module for Qlogic 2xxx series target mode HBAs" depends on SCSI_QLA_FC && TARGET_CORE select LIBFC select BTREE default n ---help--- Say Y here to enable the TCM_QLA2XXX fabric module for Qlogic 2xxx series target mode HBAs config SCSI_QLA_ISCSI tristate "QLogic ISP4XXX and ISP82XX host adapter family support" depends on PCI && SCSI && NET select SCSI_ISCSI_ATTRS select ISCSI_BOOT_SYSFS ---help--- This driver supports the QLogic 40xx (ISP4XXX), 8022 (ISP82XX) and 8032 (ISP83XX) iSCSI host adapter family. # # Kernel configuration file for the UFS Host Controller # # This code is based on drivers/scsi/ufs/Kconfig # Copyright (C) 2011-2013 Samsung India Software Operations # # Authors: # Santosh Yaraganavi # Vinayak Holikatti # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # See the COPYING file in the top-level directory or visit # # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # This program is provided "AS IS" and "WITH ALL FAULTS" and # without warranty of any kind. You are solely responsible for # determining the appropriateness of using and distributing # the program and assume all risks associated with your exercise # of rights with respect to the program, including but not limited # to infringement of third party rights, the risks and costs of # program errors, damage to or loss of data, programs or equipment, # and unavailability or interruption of operations. Under no # circumstances will the contributor of this Program be liable for # any damages of any kind arising from your use or distribution of # this program. config SCSI_UFSHCD tristate "Universal Flash Storage Controller Driver Core" depends on SCSI && SCSI_DMA ---help--- This selects the support for UFS devices in Linux, say Y and make sure that you know the name of your UFS host adapter (the card inside your computer that "speaks" the UFS protocol, also called UFS Host Controller), because you will be asked for it. The module will be called ufshcd. To compile this driver as a module, choose M here and read . However, do not compile this as a module if your root file system (the one containing the directory /) is located on a UFS device. config SCSI_UFSHCD_PCI tristate "PCI bus based UFS Controller support" depends on SCSI_UFSHCD && PCI ---help--- This selects the PCI UFS Host Controller Interface. Select this if you have UFS Host Controller with PCI Interface. If you have a controller with this interface, say Y or M here. If unsure, say N. config SCSI_UFSHCD_PLATFORM tristate "Platform bus based UFS Controller support" depends on SCSI_UFSHCD ---help--- This selects the UFS host controller support. Select this if you have an UFS controller on Platform bus. If you have a controller with this interface, say Y or M here. If unsure, say N. # # SFI Configuration # menuconfig SFI bool "SFI (Simple Firmware Interface) Support" ---help--- The Simple Firmware Interface (SFI) provides a lightweight method for platform firmware to pass information to the operating system via static tables in memory. Kernel SFI support is required to boot on SFI-only platforms. Currently, all SFI-only platforms are based on the 2nd generation Intel Atom processor platform, code-named Moorestown. For more information, see http://simplefirmware.org Say 'Y' here to enable the kernel to boot on SFI-only platforms. menu "SuperH / SH-Mobile Driver Options" source "drivers/sh/intc/Kconfig" endmenu config SH_INTC def_bool y select IRQ_DOMAIN comment "Interrupt controller options" config INTC_USERIMASK bool "Userspace interrupt masking support" depends on ARCH_SHMOBILE || (SUPERH && CPU_SH4A) help This enables support for hardware-assisted userspace hardirq masking. SH-4A and newer interrupt blocks all support a special shadowed page with all non-masking registers obscured when mapped in to userspace. This is primarily for use by userspace device drivers that are using special priority levels. If in doubt, say N. config INTC_BALANCING bool "Hardware IRQ balancing support" depends on SMP && SUPERH && CPU_SHX3 help This enables support for IRQ auto-distribution mode on SH-X3 SMP parts. All of the balancing and CPU wakeup decisions are taken care of automatically by hardware for distributed vectors. If in doubt, say N. config INTC_MAPPING_DEBUG bool "Expose IRQ to per-controller id mapping via debugfs" depends on DEBUG_FS help This will create a debugfs entry for showing the relationship between system IRQs and the per-controller id tables. If in doubt, say N. # # Miscellaneous SN-specific devices # menu "SN Devices" depends on SGI_SN config SGI_IOC3 tristate "SGI IOC3 Base IO support" default m ---help--- This option enables basic support for the SGI IOC3-based Base IO controller card. This option does not enable any specific functions on such a card, but provides necessary infrastructure for other drivers to utilize. If you have an SGI Altix with an IOC3-based I/O controller or a PCI IOC3 serial card say Y. Otherwise say N. endmenu # # SPI driver configuration # # NOTE: the reason this doesn't show SPI slave support is mostly that # nobody's needed a slave side API yet. The master-role API is not # fully appropriate there, so it'd need some thought to do well. # menuconfig SPI bool "SPI support" depends on HAS_IOMEM help The "Serial Peripheral Interface" is a low level synchronous protocol. Chips that support SPI can have data transfer rates up to several tens of Mbit/sec. Chips are addressed with a controller and a chipselect. Most SPI slaves don't support dynamic device discovery; some are even write-only or read-only. SPI is widely used by microcontrollers to talk with sensors, eeprom and flash memory, codecs and various other controller chips, analog to digital (and d-to-a) converters, and more. MMC and SD cards can be accessed using SPI protocol; and for DataFlash cards used in MMC sockets, SPI must always be used. SPI is one of a family of similar protocols using a four wire interface (select, clock, data in, data out) including Microwire (half duplex), SSP, SSI, and PSP. This driver framework should work with most such devices and controllers. if SPI config SPI_DEBUG boolean "Debug support for SPI drivers" depends on DEBUG_KERNEL help Say "yes" to enable debug messaging (like dev_dbg and pr_debug), sysfs, and debugfs support in SPI controller and protocol drivers. # # MASTER side ... talking to discrete SPI slave chips including microcontrollers # config SPI_MASTER # boolean "SPI Master Support" boolean default SPI help If your system has an master-capable SPI controller (which provides the clock and chipselect), you can enable that controller and the protocol drivers for the SPI slave chips that are connected. if SPI_MASTER comment "SPI Master Controller Drivers" config SPI_ALTERA tristate "Altera SPI Controller" select SPI_BITBANG help This is the driver for the Altera SPI Controller. config SPI_ATH79 tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" depends on ATH79 && GPIOLIB select SPI_BITBANG help This enables support for the SPI controller present on the Atheros AR71XX/AR724X/AR913X SoCs. config SPI_ATMEL tristate "Atmel SPI Controller" depends on (ARCH_AT91 || AVR32 || COMPILE_TEST) help This selects a driver for the Atmel SPI Controller, present on many AT32 (AVR32) and AT91 (ARM) chips. config SPI_BCM2835 tristate "BCM2835 SPI controller" depends on ARCH_BCM2835 || COMPILE_TEST help This selects a driver for the Broadcom BCM2835 SPI master. The BCM2835 contains two types of SPI master controller; the "universal SPI master", and the regular SPI controller. This driver is for the regular SPI controller. Slave mode operation is not also not supported. config SPI_BFIN5XX tristate "SPI controller driver for ADI Blackfin5xx" depends on BLACKFIN && !BF60x help This is the SPI controller master driver for Blackfin 5xx processor. config SPI_BFIN_V3 tristate "SPI controller v3 for Blackfin" depends on BF60x help This is the SPI controller v3 master driver found on Blackfin 60x processor. config SPI_BFIN_SPORT tristate "SPI bus via Blackfin SPORT" depends on BLACKFIN help Enable support for a SPI bus via the Blackfin SPORT peripheral. config SPI_AU1550 tristate "Au1550/Au1200/Au1300 SPI Controller" depends on MIPS_ALCHEMY select SPI_BITBANG help If you say yes to this option, support will be included for the PSC SPI controller found on Au1550, Au1200 and Au1300 series. config SPI_BCM63XX tristate "Broadcom BCM63xx SPI controller" depends on BCM63XX help Enable support for the SPI controller on the Broadcom BCM63xx SoCs. config SPI_BITBANG tristate "Utilities for Bitbanging SPI masters" help With a few GPIO pins, your system can bitbang the SPI protocol. Select this to get SPI support through I/O pins (GPIO, parallel port, etc). Or, some systems' SPI master controller drivers use this code to manage the per-word or per-transfer accesses to the hardware shift registers. This is library code, and is automatically selected by drivers that need it. You only need to select this explicitly to support driver modules that aren't part of this kernel tree. config SPI_BUTTERFLY tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)" depends on PARPORT select SPI_BITBANG help This uses a custom parallel port cable to connect to an AVR Butterfly , an inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. config SPI_CLPS711X tristate "CLPS711X host SPI controller" depends on ARCH_CLPS711X help This enables dedicated general purpose SPI/Microwire1-compatible master mode interface (SSI1) for CLPS711X-based CPUs. config SPI_COLDFIRE_QSPI tristate "Freescale Coldfire QSPI controller" depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x) help This enables support for the Coldfire QSPI controller in master mode. config SPI_DAVINCI tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" depends on ARCH_DAVINCI || ARCH_KEYSTONE select SPI_BITBANG select TI_EDMA help SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. config SPI_EFM32 tristate "EFM32 SPI controller" depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) select SPI_BITBANG help Driver for the spi controller found on Energy Micro's EFM32 SoCs. config SPI_EP93XX tristate "Cirrus Logic EP93xx SPI controller" depends on ARCH_EP93XX || COMPILE_TEST help This enables using the Cirrus EP93xx SPI controller in master mode. config SPI_FALCON tristate "Falcon SPI controller support" depends on SOC_FALCON help The external bus unit (EBU) found on the FALC-ON SoC has SPI emulation that is designed for serial flash access. This driver has only been tested with m25p80 type chips. The hardware has no support for other types of SPI peripherals. config SPI_GPIO tristate "GPIO-based bitbanging SPI Master" depends on GPIOLIB select SPI_BITBANG help This simple GPIO bitbanging SPI master uses the arch-neutral GPIO interface to manage MOSI, MISO, SCK, and chipselect signals. SPI slaves connected to a bus using this driver are configured as usual, except that the spi_board_info.controller_data holds the GPIO number for the chipselect used by this controller driver. Note that this driver often won't achieve even 1 Mbit/sec speeds, making it unusually slow for SPI. If your platform can inline GPIO operations, you should be able to leverage that for better speed with a custom version of this driver; see the source code. config SPI_IMX tristate "Freescale i.MX SPI controllers" depends on ARCH_MXC || COMPILE_TEST select SPI_BITBANG default m if IMX_HAVE_PLATFORM_SPI_IMX help This enables using the Freescale i.MX SPI controllers in master mode. config SPI_LM70_LLP tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)" depends on PARPORT select SPI_BITBANG help This driver supports the NS LM70 LLP Evaluation Board, which interfaces to an LM70 temperature sensor using a parallel port. config SPI_MPC52xx tristate "Freescale MPC52xx SPI (non-PSC) controller support" depends on PPC_MPC52xx help This drivers supports the MPC52xx SPI controller in master SPI mode. config SPI_MPC52xx_PSC tristate "Freescale MPC52xx PSC SPI controller" depends on PPC_MPC52xx help This enables using the Freescale MPC52xx Programmable Serial Controller in master SPI mode. config SPI_MPC512x_PSC tristate "Freescale MPC512x PSC SPI controller" depends on PPC_MPC512x help This enables using the Freescale MPC5121 Programmable Serial Controller in SPI master mode. config SPI_FSL_LIB tristate depends on OF config SPI_FSL_CPM tristate depends on FSL_SOC config SPI_FSL_SPI bool "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller" depends on OF select SPI_FSL_LIB select SPI_FSL_CPM if FSL_SOC help This enables using the Freescale SPI controllers in master mode. MPC83xx platform uses the controller in cpu mode or CPM/QE mode. MPC8569 uses the controller in QE mode, MPC8610 in cpu mode. This also enables using the Aeroflex Gaisler GRLIB SPI controller in master mode. config SPI_FSL_DSPI tristate "Freescale DSPI controller" select SPI_BITBANG depends on SOC_VF610 || COMPILE_TEST help This enables support for the Freescale DSPI controller in master mode. VF610 platform uses the controller. config SPI_FSL_ESPI bool "Freescale eSPI controller" depends on FSL_SOC select SPI_FSL_LIB help This enables using the Freescale eSPI controllers in master mode. From MPC8536, 85xx platform uses the controller, and all P10xx, P20xx, P30xx,P40xx, P50xx uses this controller. config SPI_OC_TINY tristate "OpenCores tiny SPI" depends on GPIOLIB select SPI_BITBANG help This is the driver for OpenCores tiny SPI master controller. config SPI_OCTEON tristate "Cavium OCTEON SPI controller" depends on CAVIUM_OCTEON_SOC help SPI host driver for the hardware found on some Cavium OCTEON SOCs. config SPI_OMAP_UWIRE tristate "OMAP1 MicroWire" depends on ARCH_OMAP1 select SPI_BITBANG help This hooks up to the MicroWire controller on OMAP1 chips. config SPI_OMAP24XX tristate "McSPI driver for OMAP" depends on ARCH_OMAP2PLUS || COMPILE_TEST help SPI master controller for OMAP24XX and later Multichannel SPI (McSPI) modules. config SPI_TI_QSPI tristate "DRA7xxx QSPI controller support" depends on ARCH_OMAP2PLUS || COMPILE_TEST help QSPI master controller for DRA7xxx used for flash devices. This device supports single, dual and quad read support, while it only supports single write mode. config SPI_OMAP_100K tristate "OMAP SPI 100K" depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST help OMAP SPI 100K master controller for omap7xx boards. config SPI_ORION tristate "Orion SPI master" depends on PLAT_ORION || COMPILE_TEST help This enables using the SPI master controller on the Orion chips. config SPI_PL022 tristate "ARM AMBA PL022 SSP controller" depends on ARM_AMBA default y if MACH_U300 default y if ARCH_REALVIEW default y if INTEGRATOR_IMPD1 default y if ARCH_VERSATILE help This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP controller. If you have an embedded system with an AMBA(R) bus and a PL022 controller, say Y or M here. config SPI_PPC4xx tristate "PPC4xx SPI Controller" depends on PPC32 && 4xx select SPI_BITBANG help This selects a driver for the PPC4xx SPI Controller. config SPI_PXA2XX_PXADMA bool "PXA2xx SSP legacy PXA DMA API support" depends on SPI_PXA2XX && ARCH_PXA help Enable PXA private legacy DMA API support. Note that this is deprecated in favor of generic DMA engine API. config SPI_PXA2XX_DMA def_bool y depends on SPI_PXA2XX && !SPI_PXA2XX_PXADMA config SPI_PXA2XX tristate "PXA2xx SSP SPI master" depends on (ARCH_PXA || PCI || ACPI) select PXA_SSP if ARCH_PXA help This enables using a PXA2xx or Sodaville SSP port as a SPI master controller. The driver can be configured to use any SSP port and additional documentation can be found a Documentation/spi/pxa2xx. config SPI_PXA2XX_PCI def_tristate SPI_PXA2XX && PCI config SPI_RSPI tristate "Renesas RSPI controller" depends on (SUPERH || ARCH_SHMOBILE) && SH_DMAE_BASE help SPI driver for Renesas RSPI blocks. config SPI_S3C24XX tristate "Samsung S3C24XX series SPI" depends on ARCH_S3C24XX select SPI_BITBANG help SPI driver for Samsung S3C24XX series ARM SoCs config SPI_S3C24XX_FIQ bool "S3C24XX driver with FIQ pseudo-DMA" depends on SPI_S3C24XX select FIQ help Enable FIQ support for the S3C24XX SPI driver to provide pseudo DMA by using the fast-interrupt request framework, This allows the driver to get DMA-like performance when there are either no free DMA channels, or when doing transfers that required both TX and RX data paths. config SPI_S3C64XX tristate "Samsung S3C64XX series type SPI" depends on PLAT_SAMSUNG select S3C64XX_DMA if ARCH_S3C64XX help SPI driver for Samsung S3C64XX and newer SoCs. config SPI_SC18IS602 tristate "NXP SC18IS602/602B/603 I2C to SPI bridge" depends on I2C help SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge. config SPI_SH_MSIOF tristate "SuperH MSIOF SPI controller" depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select SPI_BITBANG help SPI driver for SuperH and SH Mobile MSIOF blocks. config SPI_SH tristate "SuperH SPI controller" depends on SUPERH || COMPILE_TEST help SPI driver for SuperH SPI blocks. config SPI_SH_SCI tristate "SuperH SCI SPI controller" depends on SUPERH select SPI_BITBANG help SPI driver for SuperH SCI blocks. config SPI_SH_HSPI tristate "SuperH HSPI controller" depends on ARCH_SHMOBILE || COMPILE_TEST help SPI driver for SuperH HSPI blocks. config SPI_SIRF tristate "CSR SiRFprimaII SPI controller" depends on SIRF_DMA select SPI_BITBANG help SPI driver for CSR SiRFprimaII SoCs config SPI_MXS tristate "Freescale MXS SPI controller" depends on ARCH_MXS select STMP_DEVICE help SPI driver for Freescale MXS devices. config SPI_TEGRA114 tristate "NVIDIA Tegra114 SPI Controller" depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST help SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller is different than the older SoCs SPI controller and also register interface get changed with this controller. config SPI_TEGRA20_SFLASH tristate "Nvidia Tegra20 Serial flash Controller" depends on ARCH_TEGRA || COMPILE_TEST help SPI driver for Nvidia Tegra20 Serial flash Controller interface. The main usecase of this controller is to use spi flash as boot device. config SPI_TEGRA20_SLINK tristate "Nvidia Tegra20/Tegra30 SLINK Controller" depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST help SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface. config SPI_TI_SSP tristate "TI Sequencer Serial Port - SPI Support" depends on MFD_TI_SSP help This selects an SPI master implementation using a TI sequencer serial port. config SPI_TOPCLIFF_PCH tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI" depends on PCI help SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus used in some x86 embedded processors. This driver also supports the ML7213/ML7223/ML7831, a companion chip for the Atom E6xx series and compatible with the Intel EG20T PCH. config SPI_TXX9 tristate "Toshiba TXx9 SPI controller" depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST) help SPI driver for Toshiba TXx9 MIPS SoCs config SPI_XCOMM tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver" depends on I2C help Support for the SPI-I2C bridge found on the Analog Devices AD-FMCOMMS1-EBZ board. config SPI_XILINX tristate "Xilinx SPI controller common module" depends on HAS_IOMEM select SPI_BITBANG help This exposes the SPI controller IP from the Xilinx EDK. See the "OPB Serial Peripheral Interface (SPI) (v1.00e)" Product Specification document (DS464) for hardware details. Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)" config SPI_NUC900 tristate "Nuvoton NUC900 series SPI" depends on ARCH_W90X900 select SPI_BITBANG help SPI driver for Nuvoton NUC900 series ARM SoCs # # Add new SPI master controllers in alphabetical order above this line # config SPI_DESIGNWARE tristate "DesignWare SPI controller core support" help general driver for SPI controller core from DesignWare config SPI_DW_PCI tristate "PCI interface driver for DW SPI core" depends on SPI_DESIGNWARE && PCI config SPI_DW_MID_DMA bool "DMA support for DW SPI controller on Intel Moorestown platform" depends on SPI_DW_PCI && INTEL_MID_DMAC config SPI_DW_MMIO tristate "Memory-mapped io interface driver for DW SPI core" depends on SPI_DESIGNWARE && HAVE_CLK # # There are lots of SPI device types, with sensors and memory # being probably the most widely used ones. # comment "SPI Protocol Masters" config SPI_SPIDEV tristate "User mode SPI device driver support" help This supports user mode SPI protocol drivers. Note that this application programming interface is EXPERIMENTAL and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes. config SPI_TLE62X0 tristate "Infineon TLE62X0 (for power switching)" depends on SYSFS help SPI driver for Infineon TLE62X0 series line driver chips, such as the TLE6220, TLE6230 and TLE6240. This provides a sysfs interface, with each line presented as a kind of GPIO exposing both switch control and diagnostic feedback. # # Add new SPI protocol masters in alphabetical order above this line # endif # SPI_MASTER # (slave support would go here) endif # SPI config SSB_POSSIBLE bool depends on HAS_IOMEM && HAS_DMA default y menu "Sonics Silicon Backplane" depends on SSB_POSSIBLE config SSB tristate "Sonics Silicon Backplane support" depends on SSB_POSSIBLE help Support for the Sonics Silicon Backplane bus. You only need to enable this option, if you are configuring a kernel for an embedded system with this bus. It will be auto-selected if needed in other environments. The module will be called ssb. If unsure, say N. # Common SPROM support routines config SSB_SPROM bool # Support for Block-I/O. SELECT this from the driver that needs it. config SSB_BLOCKIO bool depends on SSB config SSB_PCIHOST_POSSIBLE bool depends on SSB && (PCI = y || PCI = SSB) default y config SSB_PCIHOST bool "Support for SSB on PCI-bus host" depends on SSB_PCIHOST_POSSIBLE select SSB_SPROM default y help Support for a Sonics Silicon Backplane on top of a PCI device. If unsure, say Y config SSB_B43_PCI_BRIDGE bool depends on SSB_PCIHOST default n config SSB_PCMCIAHOST_POSSIBLE bool depends on SSB && (PCMCIA = y || PCMCIA = SSB) default y config SSB_PCMCIAHOST bool "Support for SSB on PCMCIA-bus host" depends on SSB_PCMCIAHOST_POSSIBLE select SSB_SPROM help Support for a Sonics Silicon Backplane on top of a PCMCIA device. If unsure, say N config SSB_SDIOHOST_POSSIBLE bool depends on SSB && (MMC = y || MMC = SSB) default y config SSB_SDIOHOST bool "Support for SSB on SDIO-bus host" depends on SSB_SDIOHOST_POSSIBLE help Support for a Sonics Silicon Backplane on top of a SDIO device. If unsure, say N config SSB_SILENT bool "No SSB kernel messages" depends on SSB && EXPERT help This option turns off all Sonics Silicon Backplane printks. Note that you won't be able to identify problems, once messages are turned off. This might only be desired for production kernels on embedded devices to reduce the kernel size. Say N config SSB_DEBUG bool "SSB debugging" depends on SSB && !SSB_SILENT help This turns on additional runtime checks and debugging messages. Turn this on for SSB troubleshooting. If unsure, say N config SSB_SERIAL bool depends on SSB # ChipCommon and ExtIf serial support routines. config SSB_DRIVER_PCICORE_POSSIBLE bool depends on SSB_PCIHOST default y config SSB_DRIVER_PCICORE bool "SSB PCI core driver" depends on SSB_DRIVER_PCICORE_POSSIBLE help Driver for the Sonics Silicon Backplane attached Broadcom PCI core. If unsure, say Y config SSB_PCICORE_HOSTMODE bool "Hostmode support for SSB PCI core" depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS help PCIcore hostmode operation (external PCI bus). config SSB_DRIVER_MIPS bool "SSB Broadcom MIPS core driver" depends on SSB && MIPS select SSB_SERIAL help Driver for the Sonics Silicon Backplane attached Broadcom MIPS core. If unsure, say N config SSB_SFLASH bool "SSB serial flash support" depends on SSB_DRIVER_MIPS default y # Assumption: We are on embedded, if we compile the MIPS core. config SSB_EMBEDDED bool depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE default y config SSB_DRIVER_EXTIF bool "SSB Broadcom EXTIF core driver" depends on SSB_DRIVER_MIPS help Driver for the Sonics Silicon Backplane attached Broadcom EXTIF core. If unsure, say N config SSB_DRIVER_GIGE bool "SSB Broadcom Gigabit Ethernet driver" depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS help Driver for the Sonics Silicon Backplane attached Broadcom Gigabit Ethernet. If unsure, say N config SSB_DRIVER_GPIO bool "SSB GPIO driver" depends on SSB && GPIOLIB help Driver to provide access to the GPIO pins on the bus. If unsure, say N endmenu menuconfig STAGING bool "Staging drivers" default n ---help--- This option allows you to select a number of drivers that are not of the "normal" Linux kernel quality level. These drivers are placed here in order to get a wider audience to make use of them. Please note that these drivers are under heavy development, may or may not work, and may contain userspace interfaces that most likely will be changed in the near future. Using any of these drivers will taint your kernel which might affect support options from both the community, and various commercial support organizations. If you wish to work on these drivers, to help improve them, or to report problems you have with them, please see the driver_name.README file in the drivers/staging/ directory to see what needs to be worked on, and who to contact. If in doubt, say N here. if STAGING source "drivers/staging/et131x/Kconfig" source "drivers/staging/slicoss/Kconfig" source "drivers/staging/usbip/Kconfig" source "drivers/staging/winbond/Kconfig" source "drivers/staging/wlan-ng/Kconfig" source "drivers/staging/echo/Kconfig" source "drivers/staging/comedi/Kconfig" source "drivers/staging/olpc_dcon/Kconfig" source "drivers/staging/panel/Kconfig" source "drivers/staging/rtl8187se/Kconfig" source "drivers/staging/rtl8192u/Kconfig" source "drivers/staging/rtl8192e/Kconfig" source "drivers/staging/rtl8712/Kconfig" source "drivers/staging/rtl8188eu/Kconfig" source "drivers/staging/rts5139/Kconfig" source "drivers/staging/frontier/Kconfig" source "drivers/staging/phison/Kconfig" source "drivers/staging/line6/Kconfig" source "drivers/staging/octeon/Kconfig" source "drivers/staging/octeon-usb/Kconfig" source "drivers/staging/serqt_usb2/Kconfig" source "drivers/staging/vt6655/Kconfig" source "drivers/staging/vt6656/Kconfig" source "drivers/staging/sep/Kconfig" source "drivers/staging/iio/Kconfig" source "drivers/staging/zsmalloc/Kconfig" source "drivers/staging/zram/Kconfig" source "drivers/staging/wlags49_h2/Kconfig" source "drivers/staging/wlags49_h25/Kconfig" source "drivers/staging/sm7xxfb/Kconfig" source "drivers/staging/crystalhd/Kconfig" source "drivers/staging/cxt1e1/Kconfig" source "drivers/staging/xgifb/Kconfig" source "drivers/staging/tidspbridge/Kconfig" source "drivers/staging/quickstart/Kconfig" source "drivers/staging/sbe-2t3e3/Kconfig" source "drivers/staging/keucr/Kconfig" source "drivers/staging/bcm/Kconfig" source "drivers/staging/ft1000/Kconfig" source "drivers/staging/speakup/Kconfig" source "drivers/staging/cptm1217/Kconfig" source "drivers/staging/ste_rmi4/Kconfig" source "drivers/staging/nvec/Kconfig" source "drivers/staging/media/Kconfig" source "drivers/staging/android/Kconfig" source "drivers/staging/ozwpan/Kconfig" source "drivers/staging/gdm72xx/Kconfig" source "drivers/staging/gdm724x/Kconfig" source "drivers/staging/silicom/Kconfig" source "drivers/staging/ced1401/Kconfig" source "drivers/staging/imx-drm/Kconfig" source "drivers/staging/dgrp/Kconfig" source "drivers/staging/sb105x/Kconfig" source "drivers/staging/fwserial/Kconfig" source "drivers/staging/goldfish/Kconfig" source "drivers/staging/netlogic/Kconfig" source "drivers/staging/mt29f_spinand/Kconfig" source "drivers/staging/dwc2/Kconfig" source "drivers/staging/lustre/Kconfig" source "drivers/staging/btmtk_usb/Kconfig" source "drivers/staging/xillybus/Kconfig" source "drivers/staging/dgnc/Kconfig" source "drivers/staging/dgap/Kconfig" endif # STAGING menu "Android" config ANDROID bool "Android Drivers" default N ---help--- Enable support for various drivers needed on the Android platform if ANDROID config ANDROID_BINDER_IPC bool "Android Binder IPC Driver" depends on MMU default n ---help--- Binder is used in Android for both communication between processes, and remote method invocation. This means one Android process can call a method/routine in another Android process, using Binder to identify, invoke and pass arguments between said processes. config ASHMEM bool "Enable the Anonymous Shared Memory Subsystem" default n depends on SHMEM ---help--- The ashmem subsystem is a new shared memory allocator, similar to POSIX SHM but with different behavior and sporting a simpler file-based API. It is, in theory, a good memory allocator for low-memory devices, because it can discard shared memory units when under memory pressure. config ANDROID_LOGGER tristate "Android log driver" default n ---help--- This adds support for system-wide logging using four log buffers. These are: 1: main 2: events 3: radio 4: system Log reading and writing is performed via normal Linux reads and optimized writes. This optimization avoids logging having too much overhead in the system. config ANDROID_TIMED_OUTPUT bool "Timed output class driver" default y config ANDROID_TIMED_GPIO tristate "Android timed gpio driver" depends on GPIOLIB && ANDROID_TIMED_OUTPUT default n config ANDROID_LOW_MEMORY_KILLER bool "Android Low Memory Killer" default N ---help--- Registers processes to be killed when memory is low config ANDROID_INTF_ALARM_DEV bool "Android alarm driver" depends on RTC_CLASS default n ---help--- Provides non-wakeup and rtc backed wakeup alarms based on rtc or elapsed realtime, and a non-wakeup alarm on the monotonic clock. Also exports the alarm interface to user-space. config SYNC bool "Synchronization framework" default n select ANON_INODES ---help--- This option enables the framework for synchronization between multiple drivers. Sync implementations can take advantage of hardware synchronization built into devices like GPUs. config SW_SYNC bool "Software synchronization objects" default n depends on SYNC ---help--- A sync object driver that uses a 32bit counter to coordinate syncrhronization. Useful when there is no hardware primitive backing the synchronization. config SW_SYNC_USER bool "Userspace API for SW_SYNC" default n depends on SW_SYNC ---help--- Provides a user space API to the sw sync object. *WARNING* improper use of this can result in deadlocking kernel drivers from userspace. endif # if ANDROID endmenu config BCM_WIMAX tristate "Beceem BCS200/BCS220-3 and BCSM250 wimax support" depends on USB && NET default N help This is an experimental driver for the Beceem WIMAX chipset used by Sprint 4G. config USB_BTMTK tristate "Mediatek Bluetooth support" depends on USB && BT && m ---help--- Say Y here if you wish to control a MTK USB Bluetooth. This option depends on 'USB' support being enabled To compile this driver as a module, choose M here: the module will be called btmtk_usb. config CED1401 tristate "Cambridge Electronic Design 1401 USB support" depends on USB help This driver supports the Cambridge Electronic Design 1401 USB device (whatever that is.) config COMEDI tristate "Data acquisition support (comedi)" depends on m ---help--- Enable support a wide range of data acquisition devices for Linux. if COMEDI config COMEDI_DEBUG bool "Comedi debugging" ---help--- This is an option for use by developers; most people should say N here. This enables comedi core and driver debugging. config COMEDI_DEFAULT_BUF_SIZE_KB int "Comedi default initial asynchronous buffer size in KiB" default "2048" ---help--- This is the default asynchronous buffer size which is used for commands running in the background in kernel space. This defaults to 2048 KiB of memory so that a 16 channel card running at 10 kHz has of 2-4 seconds of buffer. config COMEDI_DEFAULT_BUF_MAXSIZE_KB int "Comedi default maximum asynchronous buffer size in KiB" default "20480" ---help--- This is the default maximum asynchronous buffer size which can be requested by a userspace program without root privileges. This is set to 20480 KiB so that a fast I/O card with 16 channels running at 100 kHz has 2-4 seconds of buffer. menuconfig COMEDI_MISC_DRIVERS bool "Comedi misc drivers" ---help--- Enable comedi misc drivers to be built Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about misc non-hardware comedi drivers. if COMEDI_MISC_DRIVERS config COMEDI_KCOMEDILIB tristate "Comedi kcomedilib" ---help--- Build the kcomedilib config COMEDI_BOND tristate "Device bonding support" depends on COMEDI_KCOMEDILIB ---help--- Enable support for a driver to 'bond' (merge) multiple subdevices from multiple devices together as one. To compile this driver as a module, choose M here: the module will be called comedi_bond. config COMEDI_TEST tristate "Fake waveform generator support" select COMEDI_FC ---help--- Enable support for the fake waveform generator. This driver is mainly for testing purposes, but can also be used to generate sample waveforms on systems that don't have data acquisition hardware. To compile this driver as a module, choose M here: the module will be called comedi_test. config COMEDI_PARPORT tristate "Parallel port support" ---help--- Enable support for the standard parallel port. A cheap and easy way to get a few more digital I/O lines. Steal additional parallel ports from old computers or your neighbors' computers. To compile this driver as a module, choose M here: the module will be called comedi_parport. config COMEDI_SERIAL2002 tristate "Driver for serial connected hardware" ---help--- Enable support for serial connected hardware To compile this driver as a module, choose M here: the module will be called serial2002. config COMEDI_SKEL tristate "Comedi skeleton driver" ---help--- Build the Skeleton driver, an example for driver writers To compile this driver as a module, choose M here: the module will be called skel. config COMEDI_SSV_DNP tristate "SSV Embedded Systems DIL/Net-PC support" depends on X86_32 || COMPILE_TEST ---help--- Enable support for SSV Embedded Systems DIL/Net-PC To compile this driver as a module, choose M here: the module will be called ssv_dnp. endif # COMEDI_MISC_DRIVERS menuconfig COMEDI_ISA_DRIVERS bool "Comedi ISA and PC/104 drivers" ---help--- Enable comedi ISA and PC/104 drivers to be built Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about ISA and PC/104 comedi drivers. if COMEDI_ISA_DRIVERS config COMEDI_PCL711 tristate "Advantech PCL-711/711b and ADlink ACL-8112 ISA card support" ---help--- Enable support for Advantech PCL-711 and 711b, ADlink ACL-8112 To compile this driver as a module, choose M here: the module will be called pcl711. config COMEDI_PCL724 tristate "Advantech PCL-722/724/731 and ADlink ACL-7122/7124/PET-48DIO" select COMEDI_8255 ---help--- Enable support for ISA and PC/104 based 8255 digital i/o boards. This driver provides a legacy comedi driver wrapper for the generic 8255 support driver. Supported boards include: Advantech PCL-724 24 channels Advantech PCL-722 144 (or 96) channels Advantech PCL-731 48 channels ADlink ACL-7122 144 (or 96) channels ADlink ACL-7124 24 channels ADlink PET-48DIO 48 channels WinSystems PCM-IO48 48 channels (PC/104) To compile this driver as a module, choose M here: the module will be called pcl724. config COMEDI_PCL726 tristate "Advantech PCL-726 and compatible ISA card support" ---help--- Enable support for Advantech PCL-726 and compatible ISA cards. To compile this driver as a module, choose M here: the module will be called pcl726. config COMEDI_PCL730 tristate "Simple Digital I/O board support (8-bit ports)" ---help--- Enable support for various simple ISA or PC/104 Digital I/O boards. These boards all use 8-bit I/O ports. Advantech PCL-730 isolated - 16 in/16 out ttl - 16 in/16 out ICP ISO-730 isolated - 16 in/16 out ttl - 16 in/16 out ADlink ACL-7130 isolated - 16 in/16 out ttl - 16 in/16 out Advantech PCM-3730 isolated - 8 in/8 out ttl - 16 in/16 out Advantech PCL-725 isolated - 8 in/8 out ICP P8R8-DIO isolated - 8 in/8 out ADlink ACL-7225b isolated - 16 in/16 out ICP P16R16-DIO isolated - 16 in/16 out Advantech PCL-733 isolated - 32 in Advantech PCL-734 isolated - 32 out To compile this driver as a module, choose M here: the module will be called pcl730. config COMEDI_PCL812 tristate "Advantech PCL-812/813 and ADlink ACL-8112/8113/8113/8216" depends on VIRT_TO_BUS && ISA_DMA_API ---help--- Enable support for Advantech PCL-812/PG, PCL-813/B, ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216, ICP DAS A-821PGH/PGL/PGL-NDA, A-822PGH/PGL, A-823PGH/PGL, A-826PG and ICP DAS ISO-813 ISA cards To compile this driver as a module, choose M here: the module will be called pcl812. config COMEDI_PCL816 tristate "Advantech PCL-814 and PCL-816 ISA card support" depends on VIRT_TO_BUS && ISA_DMA_API ---help--- Enable support for Advantech PCL-814 and PCL-816 ISA cards To compile this driver as a module, choose M here: the module will be called pcl816. config COMEDI_PCL818 tristate "Advantech PCL-718 and PCL-818 ISA card support" depends on VIRT_TO_BUS && ISA_DMA_API ---help--- Enable support for Advantech PCL-818 ISA cards PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818 and PCL-718 To compile this driver as a module, choose M here: the module will be called pcl818. config COMEDI_PCM3724 tristate "Advantech PCM-3724 PC/104 card support" select COMEDI_8255 ---help--- Enable support for Advantech PCM-3724 PC/104 cards. To compile this driver as a module, choose M here: the module will be called pcm3724. config COMEDI_AMPLC_DIO200_ISA tristate "Amplicon PC212E/PC214E/PC215E/PC218E/PC272E" select COMEDI_AMPLC_DIO200 ---help--- Enable support for Amplicon PC212E, PC214E, PC215E, PC218E and PC272E ISA DIO boards To compile this driver as a module, choose M here: the module will be called amplc_dio200. config COMEDI_AMPLC_PC236_ISA tristate "Amplicon PC36AT DIO board support" select COMEDI_AMPLC_PC236 ---help--- Enable support for Amplicon PC36AT ISA DIO board. To compile this driver as a module, choose M here: the module will be called amplc_pc236. config COMEDI_AMPLC_PC263_ISA tristate "Amplicon PC263 relay board support" ---help--- Enable support for Amplicon PC263 ISA relay board. This board has 16 reed relay output channels. To compile this driver as a module, choose M here: the module will be called amplc_pc263. config COMEDI_RTI800 tristate "Analog Devices RTI-800/815 ISA card support" ---help--- Enable support for Analog Devices RTI-800/815 ISA cards To compile this driver as a module, choose M here: the module will be called rti800. config COMEDI_RTI802 tristate "Analog Devices RTI-802 ISA card support" ---help--- Enable support for Analog Devices RTI-802 ISA cards To compile this driver as a module, choose M here: the module will be called rti802. config COMEDI_DAS16M1 tristate "MeasurementComputing CIO-DAS16/M1DAS-16 ISA card support" select COMEDI_8255 select COMEDI_FC ---help--- Enable support for Measurement Computing CIO-DAS16/M1 ISA cards. To compile this driver as a module, choose M here: the module will be called das16m1. config COMEDI_DAS08_ISA tristate "DAS-08 compatible ISA and PC/104 card support" select COMEDI_DAS08 ---help--- Enable support for Keithley Metrabyte/ComputerBoards DAS08 and compatible ISA and PC/104 cards: Keithley Metrabyte/ComputerBoards DAS08, DAS08-PGM, DAS08-PGH, DAS08-PGL, DAS08-AOH, DAS08-AOL, DAS08-AOM, DAS08/JR-AO, DAS08/JR-16-AO, PC104-DAS08, DAS08/JR/16. To compile this driver as a module, choose M here: the module will be called das08_isa. config COMEDI_DAS16 tristate "DAS-16 compatible ISA and PC/104 card support" depends on ISA_DMA_API select COMEDI_8255 select COMEDI_FC ---help--- Enable support for Keithley Metrabyte/ComputerBoards DAS16 and compatible ISA and PC/104 cards: Keithley Metrabyte DAS-16, DAS-16G, DAS-16F, DAS-1201, DAS-1202, DAS-1401, DAS-1402, DAS-1601, DAS-1602 and ComputerBoards/MeasurementComputing PC104-DAS16/JR/, PC104-DAS16JR/16, CIO-DAS16JR/16, CIO-DAS16/JR, CIO-DAS1401/12, CIO-DAS1402/12, CIO-DAS1402/16, CIO-DAS1601/12, CIO-DAS1602/12, CIO-DAS1602/16, CIO-DAS16/330 To compile this driver as a module, choose M here: the module will be called das16. config COMEDI_DAS800 tristate "DAS800 and compatible ISA card support" select COMEDI_FC ---help--- Enable support for Keithley Metrabyte DAS800 and compatible ISA cards Keithley Metrabyte DAS-800, DAS-801, DAS-802 Measurement Computing CIO-DAS800, CIO-DAS801, CIO-DAS802 and CIO-DAS802/16 To compile this driver as a module, choose M here: the module will be called das800. config COMEDI_DAS1800 tristate "DAS1800 and compatible ISA card support" depends on VIRT_TO_BUS && ISA_DMA_API select COMEDI_FC ---help--- Enable support for DAS1800 and compatible ISA cards Keithley Metrabyte DAS-1701ST, DAS-1701ST-DA, DAS-1701/AO, DAS-1702ST, DAS-1702ST-DA, DAS-1702HR, DAS-1702HR-DA, DAS-1702/AO, DAS-1801ST, DAS-1801ST-DA, DAS-1801HC, DAS-1801AO, DAS-1802ST, DAS-1802ST-DA, DAS-1802HR, DAS-1802HR-DA, DAS-1802HC and DAS-1802AO To compile this driver as a module, choose M here: the module will be called das1800. config COMEDI_DAS6402 tristate "DAS6402 and compatible ISA card support" ---help--- Enable support for DAS6402 and compatible ISA cards Computerboards, Keithley Metrabyte DAS6402 and compatibles To compile this driver as a module, choose M here: the module will be called das6402. config COMEDI_DT2801 tristate "Data Translation DT2801 ISA card support" ---help--- Enable support for Data Translation DT2801 ISA cards To compile this driver as a module, choose M here: the module will be called dt2801. config COMEDI_DT2811 tristate "Data Translation DT2811 ISA card support" ---help--- Enable support for Data Translation DT2811 ISA cards To compile this driver as a module, choose M here: the module will be called dt2811. config COMEDI_DT2814 tristate "Data Translation DT2814 ISA card support" ---help--- Enable support for Data Translation DT2814 ISA cards To compile this driver as a module, choose M here: the module will be called dt2814. config COMEDI_DT2815 tristate "Data Translation DT2815 ISA card support" ---help--- Enable support for Data Translation DT2815 ISA cards To compile this driver as a module, choose M here: the module will be called dt2815. config COMEDI_DT2817 tristate "Data Translation DT2817 ISA card support" ---help--- Enable support for Data Translation DT2817 ISA cards To compile this driver as a module, choose M here: the module will be called dt2817. config COMEDI_DT282X tristate "Data Translation DT2821 series and DT-EZ ISA card support" select COMEDI_FC depends on VIRT_TO_BUS && ISA_DMA_API ---help--- Enable support for Data Translation DT2821 series including DT-EZ DT2821, DT2821-F-16SE, DT2821-F-8DI, DT2821-G-16SE, DT2821-G-8DI, DT2823 (dt2823), DT2824-PGH, DT2824-PGL, DT2825, DT2827, DT2828, DT21-EZ, DT23-EZ, DT24-EZ and DT24-EZ-PGL To compile this driver as a module, choose M here: the module will be called dt282x. config COMEDI_DMM32AT tristate "Diamond Systems MM-32-AT PC/104 board support" ---help--- Enable support for Diamond Systems MM-32-AT PC/104 boards To compile this driver as a module, choose M here: the module will be called dmm32at. config COMEDI_UNIOXX5 tristate "Fastwel UNIOxx-5 analog and digital io board support" ---help--- Enable support for Fastwel UNIOxx-5 (analog and digital i/o) boards To compile this driver as a module, choose M here: the module will be called unioxx5. config COMEDI_FL512 tristate "FL512 ISA card support" ---help--- Enable support for FL512 ISA card To compile this driver as a module, choose M here: the module will be called fl512. config COMEDI_AIO_AIO12_8 tristate "I/O Products PC/104 AIO12-8 Analog I/O Board support" select COMEDI_8255 ---help--- Enable support for I/O Products PC/104 AIO12-8 Analog I/O Board To compile this driver as a module, choose M here: the module will be called aio_aio12_8. config COMEDI_AIO_IIRO_16 tristate "I/O Products PC/104 IIRO16 Board support" ---help--- Enable support for I/O Products PC/104 IIRO16 Relay And Isolated Input Board To compile this driver as a module, choose M here: the module will be called aio_iiro_16. config COMEDI_II_PCI20KC tristate "Intelligent Instruments PCI-20001C carrier support" ---help--- Enable support for Intelligent Instruments PCI-20001C carrier PCI-20001, PCI-20006 and PCI-20341 To compile this driver as a module, choose M here: the module will be called ii_pci20kc. config COMEDI_C6XDIGIO tristate "Mechatronic Systems Inc. C6x_DIGIO DSP daughter card support" ---help--- Enable support for Mechatronic Systems Inc. C6x_DIGIO DSP daughter card To compile this driver as a module, choose M here: the module will be called c6xdigio. config COMEDI_MPC624 tristate "Micro/sys MPC-624 PC/104 board support" ---help--- Enable support for Micro/sys MPC-624 PC/104 board To compile this driver as a module, choose M here: the module will be called mpc624. config COMEDI_ADQ12B tristate "MicroAxial ADQ12-B data acquisition and control card support" ---help--- Enable MicroAxial ADQ12-B daq and control card support. To compile this driver as a module, choose M here: the module will be called adq12b. config COMEDI_NI_AT_A2150 tristate "NI AT-A2150 ISA card support" select COMEDI_FC depends on VIRT_TO_BUS && ISA_DMA_API ---help--- Enable support for National Instruments AT-A2150 cards To compile this driver as a module, choose M here: the module will be called ni_at_a2150. config COMEDI_NI_AT_AO tristate "NI AT-AO-6/10 EISA card support" ---help--- Enable support for National Instruments AT-AO-6/10 cards To compile this driver as a module, choose M here: the module will be called ni_at_ao. config COMEDI_NI_ATMIO tristate "NI AT-MIO E series ISA-PNP card support" select COMEDI_8255 select COMEDI_NI_TIO select COMEDI_FC ---help--- Enable support for National Instruments AT-MIO E series cards National Instruments AT-MIO-16E-1 (ni_atmio), AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3, AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10 To compile this driver as a module, choose M here: the module will be called ni_atmio. config COMEDI_NI_ATMIO16D tristate "NI AT-MIO-16/AT-MIO-16D series ISA card support" select COMEDI_8255 ---help--- Enable support for National Instruments AT-MIO-16/AT-MIO-16D cards. To compile this driver as a module, choose M here: the module will be called ni_atmio16d. config COMEDI_NI_LABPC_ISA tristate "NI Lab-PC and compatibles ISA support" select COMEDI_NI_LABPC select COMEDI_NI_LABPC_ISADMA if ISA_DMA_API && VIRT_TO_BUS ---help--- Enable support for National Instruments Lab-PC and compatibles Lab-PC-1200, Lab-PC-1200AI, Lab-PC+. Kernel-level ISA plug-and-play support for the lab-pc-1200 boards has not yet been added to the driver. To compile this driver as a module, choose M here: the module will be called ni_labpc. config COMEDI_PCMAD tristate "Winsystems PCM-A/D12 and PCM-A/D16 PC/104 board support" ---help--- Enable support for Winsystems PCM-A/D12 and PCM-A/D16 PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmad. config COMEDI_PCMDA12 tristate "Winsystems PCM-D/A-12 8-channel AO PC/104 board support" ---help--- Enable support for Winsystems PCM-D/A-12 8-channel AO PC/104 boards. Note that the board is not ISA-PNP capable and thus needs the I/O port comedi_config parameter. To compile this driver as a module, choose M here: the module will be called pcmda12. config COMEDI_PCMMIO tristate "Winsystems PCM-MIO PC/104 board support" ---help--- Enable support for Winsystems PCM-MIO multifunction PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmmio. config COMEDI_PCMUIO tristate "Winsystems PCM-UIO48A and PCM-UIO96A PC/104 board support" ---help--- Enable support for PCM-UIO48A and PCM-UIO96A PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmuio. config COMEDI_MULTIQ3 tristate "Quanser Consulting MultiQ-3 ISA card support" ---help--- Enable support for Quanser Consulting MultiQ-3 ISA cards To compile this driver as a module, choose M here: the module will be called multiq3. config COMEDI_POC tristate "Generic driver for very simple devices" ---help--- Enable generic support for very simple / POC (Piece of Crap) boards, Keithley Metrabyte DAC-02 (dac02). To compile this driver as a module, choose M here: the module will be called poc. config COMEDI_S526 tristate "Sensoray s526 support" ---help--- Enable support for Sensoray s526 To compile this driver as a module, choose M here: the module will be called s526. endif # COMEDI_ISA_DRIVERS menuconfig COMEDI_PCI_DRIVERS bool "Comedi PCI drivers" depends on PCI ---help--- Enable support for comedi PCI drivers. if COMEDI_PCI_DRIVERS config COMEDI_8255_PCI tristate "Generic PCI based 8255 digital i/o board support" select COMEDI_8255 ---help--- Enable support for PCI based 8255 digital i/o boards. This driver provides a PCI wrapper around the generic 8255 driver. Supported boards: ADlink - PCI-7224, PCI-7248, and PCI-7296 Measurement Computing - PCI-DIO24, PCI-DIO24H, PCI-DIO48H and PCI-DIO96H National Instruments - PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X, and PXI-6503 To compile this driver as a module, choose M here: the module will be called 8255_pci. config COMEDI_ADDI_WATCHDOG tristate ---help--- Provides support for the watchdog subdevice found on many ADDI-DATA boards. This module will be automatically selected when needed. The module will be called addi_watchdog. config COMEDI_ADDI_APCI_035 tristate "ADDI-DATA APCI_035 support" ---help--- Enable support for ADDI-DATA APCI_035 cards To compile this driver as a module, choose M here: the module will be called addi_apci_035. config COMEDI_ADDI_APCI_1032 tristate "ADDI-DATA APCI_1032 support" ---help--- Enable support for ADDI-DATA APCI_1032 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1032. config COMEDI_ADDI_APCI_1500 tristate "ADDI-DATA APCI_1500 support" ---help--- Enable support for ADDI-DATA APCI_1500 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1500. config COMEDI_ADDI_APCI_1516 tristate "ADDI-DATA APCI-1016/1516/2016 support" select COMEDI_ADDI_WATCHDOG ---help--- Enable support for ADDI-DATA APCI-1016, APCI-1516 and APCI-2016 boards. These are 16 channel, optically isolated, digital I/O boards. The 1516 and 2016 boards also have a watchdog for resetting the outputs to "0". To compile this driver as a module, choose M here: the module will be called addi_apci_1516. config COMEDI_ADDI_APCI_1564 tristate "ADDI-DATA APCI_1564 support" ---help--- Enable support for ADDI-DATA APCI_1564 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1564. config COMEDI_ADDI_APCI_16XX tristate "ADDI-DATA APCI_16xx support" ---help--- Enable support for ADDI-DATA APCI_16xx cards To compile this driver as a module, choose M here: the module will be called addi_apci_16xx. config COMEDI_ADDI_APCI_2032 tristate "ADDI-DATA APCI_2032 support" select COMEDI_ADDI_WATCHDOG ---help--- Enable support for ADDI-DATA APCI_2032 cards To compile this driver as a module, choose M here: the module will be called addi_apci_2032. config COMEDI_ADDI_APCI_2200 tristate "ADDI-DATA APCI_2200 support" select COMEDI_ADDI_WATCHDOG ---help--- Enable support for ADDI-DATA APCI_2200 cards To compile this driver as a module, choose M here: the module will be called addi_apci_2200. config COMEDI_ADDI_APCI_3120 tristate "ADDI-DATA APCI_3120/3001 support" depends on VIRT_TO_BUS select COMEDI_FC ---help--- Enable support for ADDI-DATA APCI_3120/3001 cards To compile this driver as a module, choose M here: the module will be called addi_apci_3120. config COMEDI_ADDI_APCI_3501 tristate "ADDI-DATA APCI_3501 support" ---help--- Enable support for ADDI-DATA APCI_3501 cards To compile this driver as a module, choose M here: the module will be called addi_apci_3501. config COMEDI_ADDI_APCI_3XXX tristate "ADDI-DATA APCI_3xxx support" ---help--- Enable support for ADDI-DATA APCI_3xxx cards To compile this driver as a module, choose M here: the module will be called addi_apci_3xxx. config COMEDI_ADL_PCI6208 tristate "ADLink PCI-6208A support" ---help--- Enable support for ADLink PCI-6208A cards To compile this driver as a module, choose M here: the module will be called adl_pci6208. config COMEDI_ADL_PCI7X3X tristate "ADLink PCI-723X/743X isolated digital i/o board support" ---help--- Enable support for ADlink PCI-723X/743X isolated digital i/o boards. Supported boards include the 32-channel PCI-7230 (16 in/16 out), PCI-7233 (32 in), and PCI-7234 (32 out) as well as the 64-channel PCI-7432 (32 in/32 out), PCI-7433 (64 in), and PCI-7434 (64 out). To compile this driver as a module, choose M here: the module will be called adl_pci7x3x. config COMEDI_ADL_PCI8164 tristate "ADLink PCI-8164 4 Axes Motion Control board support" ---help--- Enable support for ADlink PCI-8164 4 Axes Motion Control board To compile this driver as a module, choose M here: the module will be called adl_pci8164. config COMEDI_ADL_PCI9111 tristate "ADLink PCI-9111HR support" select COMEDI_FC ---help--- Enable support for ADlink PCI9111 cards To compile this driver as a module, choose M here: the module will be called adl_pci9111. config COMEDI_ADL_PCI9118 tristate "ADLink PCI-9118DG, PCI-9118HG, PCI-9118HR support" select COMEDI_FC depends on VIRT_TO_BUS ---help--- Enable support for ADlink PCI-9118DG, PCI-9118HG, PCI-9118HR cards To compile this driver as a module, choose M here: the module will be called adl_pci9118. config COMEDI_ADV_PCI1710 tristate "Advantech PCI-171x, PCI-1720 and PCI-1731 support" ---help--- Enable support for Advantech PCI-1710, PCI-1710HG, PCI-1711, PCI-1713, PCI-1720 and PCI-1731 To compile this driver as a module, choose M here: the module will be called adv_pci1710. config COMEDI_ADV_PCI1723 tristate "Advantech PCI-1723 support" ---help--- Enable support for Advantech PCI-1723 cards To compile this driver as a module, choose M here: the module will be called adv_pci1723. config COMEDI_ADV_PCI1724 tristate "Advantech PCI-1724U support" ---help--- Enable support for Advantech PCI-1724U cards. These are 32-channel analog output cards with voltage and current loop output ranges and 14-bit resolution. To compile this driver as a module, choose M here: the module will be called adv_pci1724. config COMEDI_ADV_PCI_DIO tristate "Advantech PCI DIO card support" select COMEDI_8255 ---help--- Enable support for Advantech PCI DIO cards PCI-1730, PCI-1733, PCI-1734, PCI-1735U, PCI-1736UP, PCI-1739U, PCI-1750, PCI-1751, PCI-1752, PCI-1753/E, PCI-1754, PCI-1756, PCI-1760 and PCI-1762 To compile this driver as a module, choose M here: the module will be called adv_pci_dio. config COMEDI_AMPLC_DIO200_PCI tristate "Amplicon PCI215/PCI272/PCIe215/PCIe236/PCIe296 DIO support" select COMEDI_AMPLC_DIO200 ---help--- Enable support for Amplicon PCI215, PCI272, PCIe215, PCIe236 and PCIe296 DIO boards. To compile this driver as a module, choose M here: the module will be called amplc_dio200_pci. config COMEDI_AMPLC_PC236_PCI tristate "Amplicon PCI236 DIO board support" select COMEDI_AMPLC_PC236 ---help--- Enable support for Amplicon PCI236 DIO board. To compile this driver as a module, choose M here: the module will be called amplc_pc236. config COMEDI_AMPLC_PC263_PCI tristate "Amplicon PCI263 relay board support" ---help--- Enable support for Amplicon PCI263 relay board. This is a PCI board with 16 reed relay output channels. To compile this driver as a module, choose M here: the module will be called amplc_pci263. config COMEDI_AMPLC_PCI224 tristate "Amplicon PCI224 and PCI234 support" select COMEDI_FC ---help--- Enable support for Amplicon PCI224 and PCI234 AO boards To compile this driver as a module, choose M here: the module will be called amplc_pci224. config COMEDI_AMPLC_PCI230 tristate "Amplicon PCI230 and PCI260 support" select COMEDI_8255 ---help--- Enable support for Amplicon PCI230 and PCI260 Multifunction I/O boards To compile this driver as a module, choose M here: the module will be called amplc_pci230. config COMEDI_CONTEC_PCI_DIO tristate "Contec PIO1616L digital I/O board support" ---help--- Enable support for the Contec PIO1616L digital I/O board To compile this driver as a module, choose M here: the module will be called contec_pci_dio. config COMEDI_DAS08_PCI tristate "DAS-08 PCI support" select COMEDI_DAS08 ---help--- Enable support for PCI DAS-08 cards. To compile this driver as a module, choose M here: the module will be called das08_pci. config COMEDI_DT3000 tristate "Data Translation DT3000 series support" ---help--- Enable support for Data Translation DT3000 series DT3001, DT3001-PGL, DT3002, DT3003, DT3003-PGL, DT3004, DT3005 and DT3004-200 To compile this driver as a module, choose M here: the module will be called dt3000. config COMEDI_DYNA_PCI10XX tristate "Dynalog PCI DAQ series support" ---help--- Enable support for Dynalog PCI DAQ series PCI-1050 To compile this driver as a module, choose M here: the module will be called dyna_pci10xx. config COMEDI_GSC_HPDI tristate "General Standards PCI-HPDI32 / PMC-HPDI32 support" select COMEDI_FC ---help--- Enable support for General Standards Corporation high speed parallel digital interface rs485 boards PCI-HPDI32 and PMC-HPDI32. Only receive mode works, transmit not supported. To compile this driver as a module, choose M here: the module will be called gsc_hpdi. config COMEDI_ICP_MULTI tristate "Inova ICP_MULTI support" ---help--- Enable support for Inova ICP_MULTI card To compile this driver as a module, choose M here: the module will be called icp_multi. config COMEDI_DAQBOARD2000 tristate "IOtech DAQboard/2000 support" select COMEDI_8255 ---help--- Enable support for the IOtech DAQboard/2000 To compile this driver as a module, choose M here: the module will be called daqboard2000. config COMEDI_JR3_PCI tristate "JR3/PCI force sensor board support" ---help--- Enable support for JR3/PCI force sensor boards To compile this driver as a module, choose M here: the module will be called jr3_pci. config COMEDI_KE_COUNTER tristate "Kolter-Electronic PCI Counter 1 card support" ---help--- Enable support for Kolter-Electronic PCI Counter 1 cards To compile this driver as a module, choose M here: the module will be called ke_counter. config COMEDI_CB_PCIDAS64 tristate "MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 support" select COMEDI_8255 select COMEDI_FC ---help--- Enable support for ComputerBoards/MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 series with the PLX 9080 PCI controller To compile this driver as a module, choose M here: the module will be called cb_pcidas64. config COMEDI_CB_PCIDAS tristate "MeasurementComputing PCI-DAS support" select COMEDI_8255 select COMEDI_FC ---help--- Enable support for ComputerBoards/MeasurementComputing PCI-DAS with AMCC S5933 PCIcontroller: PCI-DAS1602/16, PCI-DAS1602/16jr, PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr, PCI-DAS1000, PCI-DAS1001 and PCI_DAS1002. To compile this driver as a module, choose M here: the module will be called cb_pcidas. config COMEDI_CB_PCIDDA tristate "MeasurementComputing PCI-DDA series support" select COMEDI_8255 ---help--- Enable support for ComputerBoards/MeasurementComputing PCI-DDA series: PCI-DDA08/12, PCI-DDA04/12, PCI-DDA02/12, PCI-DDA08/16, PCI-DDA04/16 and PCI-DDA02/16 To compile this driver as a module, choose M here: the module will be called cb_pcidda. config COMEDI_CB_PCIMDAS tristate "MeasurementComputing PCIM-DAS1602/16 support" select COMEDI_8255 ---help--- Enable support for ComputerBoards/MeasurementComputing PCI Migration series PCIM-DAS1602/16 To compile this driver as a module, choose M here: the module will be called cb_pcimdas. config COMEDI_CB_PCIMDDA tristate "MeasurementComputing PCIM-DDA06-16 support" select COMEDI_8255 ---help--- Enable support for ComputerBoards/MeasurementComputing PCIM-DDA06-16 To compile this driver as a module, choose M here: the module will be called cb_pcimdda. config COMEDI_ME4000 tristate "Meilhaus ME-4000 support" ---help--- Enable support for Meilhaus PCI data acquisition cards ME-4650, ME-4670i, ME-4680, ME-4680i and ME-4680is To compile this driver as a module, choose M here: the module will be called me4000. config COMEDI_ME_DAQ tristate "Meilhaus ME-2000i, ME-2600i, ME-3000vm1 support" ---help--- Enable support for Meilhaus PCI data acquisition cards ME-2000i, ME-2600i and ME-3000vm1 To compile this driver as a module, choose M here: the module will be called me_daq. config COMEDI_NI_6527 tristate "NI 6527 support" ---help--- Enable support for the National Instruments 6527 PCI card To compile this driver as a module, choose M here: the module will be called ni_6527. config COMEDI_NI_65XX tristate "NI 65xx static dio PCI card support" depends on HAS_DMA select COMEDI_MITE ---help--- Enable support for National Instruments 65xx static dio boards. Supported devices: National Instruments PCI-6509 (ni_65xx), PXI-6509, PCI-6510, PCI-6511, PXI-6511, PCI-6512, PXI-6512, PCI-6513, PXI-6513, PCI-6514, PXI-6514, PCI-6515, PXI-6515, PCI-6516, PCI-6517, PCI-6518, PCI-6519, PCI-6520, PCI-6521, PXI-6521, PCI-6528, PXI-6528 To compile this driver as a module, choose M here: the module will be called ni_65xx. config COMEDI_NI_660X tristate "NI 660x counter/timer PCI card support" depends on HAS_DMA select COMEDI_NI_TIOCMD ---help--- Enable support for National Instruments PCI-6601 (ni_660x), PCI-6602, PXI-6602, PXI-6608 and PXI-6624. To compile this driver as a module, choose M here: the module will be called ni_660x. config COMEDI_NI_670X tristate "NI 670x PCI card support" depends on HAS_DMA select COMEDI_MITE ---help--- Enable support for National Instruments PCI-6703 and PCI-6704 To compile this driver as a module, choose M here: the module will be called ni_670x. config COMEDI_NI_LABPC_PCI tristate "NI Lab-PC PCI-1200 support" depends on HAS_DMA select COMEDI_NI_LABPC select COMEDI_MITE ---help--- Enable support for National Instruments Lab-PC PCI-1200. To compile this driver as a module, choose M here: the module will be called ni_labpc_pci. config COMEDI_NI_PCIDIO tristate "NI PCI-DIO32HS, PCI-6533, PCI-6534 support" depends on HAS_DMA select COMEDI_MITE select COMEDI_8255 ---help--- Enable support for National Instruments PCI-DIO-32HS, PXI-6533, PCI-6533 and PCI-6534 To compile this driver as a module, choose M here: the module will be called ni_pcidio. config COMEDI_NI_PCIMIO tristate "NI PCI-MIO-E series and M series support" depends on HAS_DMA select COMEDI_NI_TIOCMD select COMEDI_8255 select COMEDI_FC ---help--- Enable support for National Instruments PCI-MIO-E series and M series (all boards): PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6014, PCI-6040E, PXI-6040E, PCI-6030E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E, PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E, PCI-6110, PCI-6111, PCI-6220, PCI-6221, PCI-6224, PXI-6224, PCI-6225, PXI-6225, PCI-6229, PCI-6250, PCI-6251, PCIe-6251, PCI-6254, PCI-6259, PCIe-6259, PCI-6280, PCI-6281, PXI-6281, PCI-6284, PCI-6289, PCI-6711, PXI-6711, PCI-6713, PXI-6713, PXI-6071E, PCI-6070E, PXI-6070E, PXI-6052E, PCI-6036E, PCI-6731, PCI-6733, PXI-6733, PCI-6143, PXI-6143 To compile this driver as a module, choose M here: the module will be called ni_pcimio. config COMEDI_RTD520 tristate "Real Time Devices PCI4520/DM7520 support" ---help--- Enable support for Real Time Devices PCI4520/DM7520 To compile this driver as a module, choose M here: the module will be called rtd520. config COMEDI_S626 tristate "Sensoray 626 support" select COMEDI_FC ---help--- Enable support for Sensoray 626 To compile this driver as a module, choose M here: the module will be called s626. config COMEDI_MITE depends on HAS_DMA tristate config COMEDI_NI_TIOCMD tristate depends on HAS_DMA select COMEDI_NI_TIO select COMEDI_MITE endif # COMEDI_PCI_DRIVERS menuconfig COMEDI_PCMCIA_DRIVERS bool "Comedi PCMCIA drivers" depends on PCMCIA ---help--- Enable support for comedi PCMCIA drivers. if COMEDI_PCMCIA_DRIVERS config COMEDI_CB_DAS16_CS tristate "CB DAS16 series PCMCIA support" ---help--- Enable support for the ComputerBoards/MeasurementComputing PCMCIA cards DAS16/16, PCM-DAS16D/12 and PCM-DAS16s/16 To compile this driver as a module, choose M here: the module will be called cb_das16_cs. config COMEDI_DAS08_CS tristate "CB DAS08 PCMCIA support" select COMEDI_DAS08 ---help--- Enable support for the ComputerBoards/MeasurementComputing DAS-08 PCMCIA card To compile this driver as a module, choose M here: the module will be called das08_cs. config COMEDI_NI_DAQ_700_CS tristate "NI DAQCard-700 PCMCIA support" ---help--- Enable support for the National Instruments PCMCIA DAQCard-700 DIO To compile this driver as a module, choose M here: the module will be called ni_daq_700. config COMEDI_NI_DAQ_DIO24_CS tristate "NI DAQ-Card DIO-24 PCMCIA support" select COMEDI_8255 ---help--- Enable support for the National Instruments PCMCIA DAQ-Card DIO-24 To compile this driver as a module, choose M here: the module will be called ni_daq_dio24. config COMEDI_NI_LABPC_CS tristate "NI DAQCard-1200 PCMCIA support" select COMEDI_NI_LABPC ---help--- Enable support for the National Instruments PCMCIA DAQCard-1200 To compile this driver as a module, choose M here: the module will be called ni_labpc_cs. config COMEDI_NI_MIO_CS tristate "NI DAQCard E series PCMCIA support" select COMEDI_NI_TIO select COMEDI_8255 select COMEDI_FC ---help--- Enable support for the National Instruments PCMCIA DAQCard E series DAQCard-ai-16xe-50, DAQCard-ai-16e-4, DAQCard-6062E, DAQCard-6024E and DAQCard-6036E To compile this driver as a module, choose M here: the module will be called ni_mio_cs. config COMEDI_QUATECH_DAQP_CS tristate "Quatech DAQP PCMCIA data capture card support" ---help--- Enable support for the Quatech DAQP PCMCIA data capture cards DAQP-208 and DAQP-308 To compile this driver as a module, choose M here: the module will be called quatech_daqp_cs. endif # COMEDI_PCMCIA_DRIVERS menuconfig COMEDI_USB_DRIVERS bool "Comedi USB drivers" depends on USB ---help--- Enable support for comedi USB drivers. if COMEDI_USB_DRIVERS config COMEDI_DT9812 tristate "DataTranslation DT9812 USB module support" ---help--- Enable support for the Data Translation DT9812 USB module To compile this driver as a module, choose M here: the module will be called dt9812. config COMEDI_USBDUX tristate "ITL USB-DUX-D support" ---help--- Enable support for the Incite Technology Ltd USB-DUX-D Board To compile this driver as a module, choose M here: the module will be called usbdux. config COMEDI_USBDUXFAST tristate "ITL USB-DUXfast support" select COMEDI_FC ---help--- Enable support for the Incite Technology Ltd USB-DUXfast Board To compile this driver as a module, choose M here: the module will be called usbduxfast. config COMEDI_USBDUXSIGMA tristate "ITL USB-DUXsigma support" select COMEDI_FC ---help--- Enable support for the Incite Technology Ltd USB-DUXsigma Board To compile this driver as a module, choose M here: the module will be called usbduxsigma. config COMEDI_VMK80XX tristate "Velleman VM110/VM140 USB Board support" ---help--- Build the Velleman USB Board Low-Level Driver supporting the K8055/K8061 aka VM110/VM140 devices To compile this driver as a module, choose M here: the module will be called vmk80xx. endif # COMEDI_USB_DRIVERS config COMEDI_8255 tristate "Generic 8255 support" ---help--- Enable generic 8255 support. You should enable compilation this driver if you plan to use a board that has an 8255 chip. For multifunction boards, the main driver will configure the 8255 subdevice automatically. Note that most PCI based 8255 boards use the 8255_pci driver as a wrapper around this driver. To compile this driver as a module, choose M here: the module will be called 8255. config COMEDI_FC tristate config COMEDI_AMPLC_DIO200 tristate config COMEDI_AMPLC_PC236 tristate select COMEDI_8255 config COMEDI_DAS08 tristate select COMEDI_8255 config COMEDI_NI_LABPC tristate select COMEDI_8255 select COMEDI_FC config COMEDI_NI_LABPC_ISADMA tristate config COMEDI_NI_TIO tristate endif # COMEDI config TOUCHSCREEN_CLEARPAD_TM1217 tristate "Synaptics Clearpad TM1217" depends on I2C depends on GPIOLIB depends on INPUT help Say Y here if you have a Synaptics Clearpad TM1217 Controller If unsure, say N. To compile this driver as a module, choose M here: the module will be called clearpad_tm1217. config CRYSTALHD tristate "Broadcom Crystal HD video decoder support" depends on PCI default n help Support for the Broadcom Crystal HD video decoder chipset config CXT1E1 tristate "SBE wanPMC-C[421]E1T1 hardware support" depends on HDLC && PCI ---help--- This driver supports the SBE wanPMC-CxT1E1 1, 2 and 4 port T3 channelized stream WAN adapter card which contains a HDLC/Transparent mode controller. If you want to compile this driver as a module say M here. The module will be called 'cxt1e1'. If unsure, say N. config SBE_PMCC4_NCOMM bool "SBE PMCC4 NCOMM support" depends on CXT1E1 ---help--- SBE supplies optional support for NCOMM products. If you have purchased this optional support you must say Y here to allow the driver to operate with the NCOMM product. config DGAP tristate "Digi EPCA PCI products" default n depends on TTY ---help--- Driver for the Digi International EPCA PCI based product line config DGNC tristate "Digi Neo and Classic PCI Products" default n depends on TTY && PCI ---help--- Driver for the Digi International Neo and Classic PCI based product line. config DGRP tristate "Digi Realport driver" default n depends on SYSFS && TTY ---help--- Support for Digi Realport devices. These devices allow you to access remote serial ports as if they are local tty devices. This will build the kernel driver, you will still need the userspace component to make your Realport device work. config USB_DWC2 tristate "DesignWare USB2 DRD Core Support" depends on USB help Say Y or M here if your system has a Dual Role HighSpeed USB controller based on the DesignWare HSOTG IP Core. If you choose to build this driver as dynamically linked modules, the core module will be called dwc2.ko, the PCI bus interface module (if you have a PCI bus system) will be called dwc2_pci.ko and the platform interface module (for controllers directly connected to the CPU) will be called dwc2_platform.ko. NOTE: This driver at present only implements the Host mode of the controller. The existing s3c-hsotg driver supports Peripheral mode, but only for the Samsung S3C platforms. There are plans to merge the s3c-hsotg driver with this driver in the near future to create a dual-role driver. if USB_DWC2 config USB_DWC2_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages in the DWC2 Driver. config USB_DWC2_VERBOSE bool "Enable Verbose Debugging Messages" depends on USB_DWC2_DEBUG help Say Y here to enable verbose debugging messages in the DWC2 Driver. WARNING: Enabling this will quickly fill your message log. If in doubt, say N. config USB_DWC2_TRACK_MISSED_SOFS bool "Enable Missed SOF Tracking" help Say Y here to enable logging of missed SOF events to the dmesg log. WARNING: This feature is still experimental. If in doubt, say N. config USB_DWC2_DEBUG_PERIODIC bool "Enable Debugging Messages For Periodic Transfers" depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE default y help Say N here to disable (verbose) debugging messages to be logged for periodic transfers. This allows better debugging of non-periodic transfers, but of course the debug logs will be incomplete. Note that this also disables some debug messages for which the transfer type cannot be deduced. endif config ECHO tristate "Line Echo Canceller support" default n ---help--- This driver provides line echo cancelling support for mISDN and Zaptel drivers. To compile this driver as a module, choose M here. The module will be called echo. config ET131X tristate "Agere ET-1310 Gigabit Ethernet support" depends on PCI && NET && NETDEVICES select PHYLIB default n ---help--- This driver supports Agere ET-1310 ethernet adapters. To compile this driver as a module, choose M here. The module will be called et131x. config TRANZPORT tristate "Frontier Tranzport and Alphatrack support" depends on USB default N ---help--- Enable support for the Frontier Tranzport and Alphatrack devices. config FT1000 tristate "Drivers for Flarion ft1000 devices" if FT1000 config FT1000_USB tristate "Driver for ft1000 usb devices." depends on USB depends on NET help Say Y if you want to have support for Qleadtek FLASH-OFDM USB Modem [LR7F04], Qleadtek Express Card or Leadtek Multi-band modem HSDPA. config FT1000_PCMCIA tristate "Driver for ft1000 pcmcia device." depends on PCMCIA depends on NET help Say Y if you want to have support for Flarion card also called Multimedia Net Card. endif config FIREWIRE_SERIAL tristate "TTY over Firewire" depends on FIREWIRE && TTY help This enables TTY over IEEE 1394, providing high-speed serial connectivity to cabled peers. This driver implements a ad-hoc transport protocol and is currently limited to Linux-to-Linux communication. To compile this driver as a module, say M here: the module will be called firewire-serial. # # GCT GDM724x LTE driver configuration # config LTE_GDM724X tristate "GCT GDM724x LTE support" depends on NET && USB && TTY && m help This driver supports GCT GDM724x LTE chip based USB modem devices. It exposes 4 network devices to be used per PDN and 2 tty devices to be used for AT commands and DM monitoring applications. The modules will be called gdmulte.ko and gdmtty.ko GCT-ATCx can be used for AT Commands GCT-DMx can be used for LTE protocol monitoring # # GCT GDM72xx WiMAX driver configuration # menuconfig WIMAX_GDM72XX tristate "GCT GDM72xx WiMAX support" depends on NET && (USB || MMC) help Support for the GCT GDM72xx WiMAX chip if WIMAX_GDM72XX config WIMAX_GDM72XX_QOS bool "Enable QoS support" default n config WIMAX_GDM72XX_K_MODE bool "Enable K mode" default n config WIMAX_GDM72XX_WIMAX2 bool "Enable WiMAX2 support" default n choice prompt "Select interface" config WIMAX_GDM72XX_USB bool "USB interface" depends on (USB = y || USB = WIMAX_GDM72XX) config WIMAX_GDM72XX_SDIO bool "SDIO interface" depends on (MMC = y || MMC = WIMAX_GDM72XX) endchoice if WIMAX_GDM72XX_USB config WIMAX_GDM72XX_USB_PM bool "Enable power management support" depends on PM_RUNTIME endif # WIMAX_GDM72XX_USB endif # WIMAX_GDM72XX config GOLDFISH_AUDIO tristate "Goldfish AVD Audio Device" depends on GOLDFISH ---help--- Emulated audio channel for the Goldfish Android Virtual Device config MTD_GOLDFISH_NAND tristate "Goldfish NAND device" depends on GOLDFISH depends on MTD help Drives the emulated NAND flash device on the Google Goldfish Android virtual device. # # Industrial I/O subsystem configuration # menu "IIO staging drivers" depends on IIO source "drivers/staging/iio/accel/Kconfig" source "drivers/staging/iio/adc/Kconfig" source "drivers/staging/iio/addac/Kconfig" source "drivers/staging/iio/cdc/Kconfig" source "drivers/staging/iio/frequency/Kconfig" source "drivers/staging/iio/gyro/Kconfig" source "drivers/staging/iio/impedance-analyzer/Kconfig" source "drivers/staging/iio/light/Kconfig" source "drivers/staging/iio/magnetometer/Kconfig" source "drivers/staging/iio/meter/Kconfig" source "drivers/staging/iio/resolver/Kconfig" source "drivers/staging/iio/trigger/Kconfig" config IIO_DUMMY_EVGEN tristate config IIO_SIMPLE_DUMMY tristate "An example driver with no hardware requirements" help Driver intended mainly as documentation for how to write a driver. May also be useful for testing userspace code without hardware. if IIO_SIMPLE_DUMMY config IIO_SIMPLE_DUMMY_EVENTS boolean "Event generation support" select IIO_DUMMY_EVGEN help Add some dummy events to the simple dummy driver. config IIO_SIMPLE_DUMMY_BUFFER boolean "Buffered capture support" select IIO_KFIFO_BUF help Add buffered data capture to the simple dummy driver. endif # IIO_SIMPLE_DUMMY endmenu # # Accelerometer drivers # menu "Accelerometers" config ADIS16201 tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16201 dual-axis digital inclinometer and accelerometer. config ADIS16203 tristate "Analog Devices ADIS16203 Programmable 360 Degrees Inclinometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16203 Programmable 360 Degrees Inclinometer. config ADIS16204 tristate "Analog Devices ADIS16204 Programmable High-g Digital Impact Sensor and Recorder" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16204 Programmable High-g Digital Impact Sensor and Recorder. config ADIS16209 tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16209 dual-axis digital inclinometer and accelerometer. config ADIS16220 tristate "Analog Devices ADIS16220 Programmable Digital Vibration Sensor" depends on SPI select IIO_ADIS_LIB help Say yes here to build support for Analog Devices adis16220 programmable digital vibration sensor. config ADIS16240 tristate "Analog Devices ADIS16240 Programmable Impact Sensor and Recorder" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16240 programmable impact Sensor and recorder. config LIS3L02DQ tristate "ST Microelectronics LIS3L02DQ Accelerometer Driver" depends on SPI select IIO_TRIGGER if IIO_BUFFER depends on !IIO_BUFFER || IIO_KFIFO_BUF depends on GPIOLIB help Say yes here to build SPI support for the ST microelectronics accelerometer. The driver supplies direct access via sysfs files and an event interface via a character device. config SCA3000 depends on IIO_BUFFER depends on SPI tristate "VTI SCA3000 series accelerometers" help Say yes here to build support for the VTI SCA3000 series of SPI accelerometers. These devices use a hardware ring buffer. endmenu # # ADC drivers # menu "Analog to digital converters" config AD7291 tristate "Analog Devices AD7291 ADC driver" depends on I2C help Say yes here to build support for Analog Devices AD7291 8 Channel ADC with temperature sensor. config AD7606 tristate "Analog Devices AD7606 ADC driver" depends on GPIOLIB select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices: ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7606. config AD7606_IFACE_PARALLEL tristate "parallel interface support" depends on AD7606 help Say yes here to include parallel interface support on the AD7606 ADC driver. config AD7606_IFACE_SPI tristate "spi interface support" depends on AD7606 depends on SPI help Say yes here to include parallel interface support on the AD7606 ADC driver. config AD799X tristate "Analog Devices AD799x ADC driver" depends on I2C select IIO_TRIGGER if IIO_BUFFER select AD799X_RING_BUFFER help Say yes here to build support for Analog Devices: ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998 i2c analog to digital converters (ADC). Provides direct access via sysfs. config AD799X_RING_BUFFER bool "Analog Devices AD799x: use ring buffer" depends on AD799X select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to include ring buffer support in the AD799X ADC driver. config AD7780 tristate "Analog Devices AD7780 and similar ADCs driver" depends on SPI depends on GPIOLIB select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7170, AD7171, AD7780 and AD7781 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7780. config AD7816 tristate "Analog Devices AD7816/7/8 temperature sensor and ADC driver" depends on SPI depends on GPIOLIB help Say yes here to build support for Analog Devices AD7816/7/8 temperature sensors and ADC. config AD7192 tristate "Analog Devices AD7190 AD7192 AD7195 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7190, AD7192 or AD7195 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7192. config AD7280 tristate "Analog Devices AD7280A Lithium Ion Battery Monitoring System" depends on SPI help Say yes here to build support for Analog Devices AD7280A Lithium Ion Battery Monitoring System. To compile this driver as a module, choose M here: the module will be called ad7280a config LPC32XX_ADC tristate "NXP LPC32XX ADC" depends on ARCH_LPC32XX || COMPILE_TEST help Say yes here to build support for the integrated ADC inside the LPC32XX SoC. Note that this feature uses the same hardware as the touchscreen driver, so you should either select only one of the two drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case, activate only one via device tree selection. Provides direct access via sysfs. config MXS_LRADC tristate "Freescale i.MX23/i.MX28 LRADC" depends on ARCH_MXS || COMPILE_TEST depends on INPUT select STMP_DEVICE select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for i.MX23/i.MX28 LRADC convertor built into these chips. To compile this driver as a module, choose M here: the module will be called mxs-lradc. config SPEAR_ADC tristate "ST SPEAr ADC" depends on PLAT_SPEAR || COMPILE_TEST help Say yes here to build support for the integrated ADC inside the ST SPEAr SoC. Provides direct access via sysfs. endmenu # # ADDAC drivers # menu "Analog digital bi-direction converters" config ADT7316 tristate "Analog Devices ADT7316/7/8 ADT7516/7/9 temperature sensor, ADC and DAC driver" depends on GPIOLIB help Say yes here to build support for Analog Devices ADT7316, ADT7317, ADT7318 and ADT7516, ADT7517, ADT7519 temperature sensors, ADC and DAC. config ADT7316_SPI tristate "support SPI bus connection" depends on SPI && ADT7316 default y help Say yes here to build SPI bus support for Analog Devices ADT7316/7/8 and ADT7516/7/9. config ADT7316_I2C tristate "support I2C bus connection" depends on I2C && ADT7316 help Say yes here to build I2C bus support for Analog Devices ADT7316/7/8 and ADT7516/7/9. endmenu # # CDC drivers # menu "Capacitance to digital converters" config AD7150 tristate "Analog Devices ad7150/1/6 capacitive sensor driver" depends on I2C help Say yes here to build support for Analog Devices capacitive sensors. (ad7150, ad7151, ad7156) Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad7150. config AD7152 tristate "Analog Devices ad7152/3 capacitive sensor driver" depends on I2C help Say yes here to build support for Analog Devices capacitive sensors. (ad7152, ad7153) Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad7152. config AD7746 tristate "Analog Devices AD7745, AD7746 AD7747 capacitive sensor driver" depends on I2C help Say yes here to build support for Analog Devices capacitive sensors. (AD7745, AD7746, AD7747) Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad7746. endmenu # # Direct Digital Synthesis drivers # menu "Direct Digital Synthesis" config AD5930 tristate "Analog Devices ad5930/5932 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip ad5930/ad5932, provides direct access via sysfs. config AD9832 tristate "Analog Devices ad9832/5 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip AD9832 and AD9835, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9832. config AD9834 tristate "Analog Devices AD9833/4/7/8 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip AD9833, AD9834, AD9837 and AD9838, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9834. config AD9850 tristate "Analog Devices ad9850/1 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip ad9850/1, provides direct access via sysfs. config AD9852 tristate "Analog Devices ad9852/4 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip ad9852/4, provides direct access via sysfs. config AD9910 tristate "Analog Devices ad9910 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip ad9910, provides direct access via sysfs. config AD9951 tristate "Analog Devices ad9951 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip ad9951, provides direct access via sysfs. endmenu # # IIO Digital Gyroscope Sensor drivers configuration # menu "Digital gyroscope sensors" config ADIS16060 tristate "Analog Devices ADIS16060 Yaw Rate Gyroscope with SPI driver" depends on SPI help Say yes here to build support for Analog Devices adis16060 wide bandwidth yaw rate gyroscope with SPI. endmenu # # Impedance Converter, Network Analyzer drivers # menu "Network Analyzer, Impedance Converters" config AD5933 tristate "Analog Devices AD5933, AD5934 driver" depends on I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for Analog Devices Impedance Converter, Network Analyzer, AD5933/4, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad5933. endmenu # # Light sensors # menu "Light sensors" config SENSORS_ISL29018 tristate "ISL 29018 light and proximity sensor" depends on I2C select REGMAP_I2C default n help If you say yes here you get support for ambient light sensing and proximity infrared sensing from Intersil ISL29018. This driver will provide the measurements of ambient light intensity in lux, proximity infrared sensing and normal infrared sensing. Data from sensor is accessible via sysfs. config SENSORS_ISL29028 tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor" depends on I2C select REGMAP_I2C help Provides driver for the Intersil's ISL29028 device. This driver supports the sysfs interface to get the ALS, IR intensity, Proximity value via iio. The ISL29028 provides the concurrent sensing of ambient light and proximity. config TSL2583 tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters" depends on I2C help Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices. Access ALS data via iio, sysfs. config TSL2x7x tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors" depends on I2C help Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672, tmd2672, tsl2772, tmd2772 devices. Provides iio_events and direct access via sysfs. endmenu # # Magnetometer sensors # menu "Magnetometer sensors" config SENSORS_HMC5843 tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to add support for the Honeywell HMC5843, HMC5883 and HMC5883L 3-Axis Magnetometer (digital compass). To compile this driver as a module, choose M here: the module will be called hmc5843. endmenu # # IIO meter drivers configuration # menu "Active energy metering IC" config ADE7753 tristate "Analog Devices ADE7753/6 Single-Phase Multifunction Metering IC Driver" depends on SPI help Say yes here to build support for Analog Devices ADE7753 Single-Phase Multifunction Metering IC with di/dt Sensor Interface. config ADE7754 tristate "Analog Devices ADE7754 Polyphase Multifunction Energy Metering IC Driver" depends on SPI help Say yes here to build support for Analog Devices ADE7754 Polyphase Multifunction Energy Metering IC Driver. config ADE7758 tristate "Analog Devices ADE7758 Poly Phase Multifunction Energy Metering IC Driver" depends on SPI select IIO_TRIGGER if IIO_BUFFER select IIO_KFIFO_BUF if IIO_BUFFER help Say yes here to build support for Analog Devices ADE7758 Polyphase Multifunction Energy Metering IC with Per Phase Information Driver. config ADE7759 tristate "Analog Devices ADE7759 Active Energy Metering IC Driver" depends on SPI help Say yes here to build support for Analog Devices ADE7758 Active Energy Metering IC with di/dt Sensor Interface. config ADE7854 tristate "Analog Devices ADE7854/58/68/78 Polyphase Multifunction Energy Metering IC Driver" depends on SPI || I2C help Say yes here to build support for Analog Devices ADE7854/58/68/78 Polyphase Multifunction Energy Metering IC Driver. config ADE7854_I2C tristate "support I2C bus connection" depends on ADE7854 && I2C default y help Say Y here if you have ADE7854/58/68/78 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ade7854-i2c. config ADE7854_SPI tristate "support SPI bus connection" depends on ADE7854 && SPI default y help Say Y here if you have ADE7854/58/68/78 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called ade7854-spi. endmenu # # Resolver/Synchro drivers # menu "Resolver to digital converters" config AD2S90 tristate "Analog Devices ad2s90 driver" depends on SPI help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s90, provides direct access via sysfs. config AD2S1200 tristate "Analog Devices ad2s1200/ad2s1205 driver" depends on SPI depends on GPIOLIB help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s1200 and ad2s1205, provides direct access via sysfs. config AD2S1210 tristate "Analog Devices ad2s1210 driver" depends on SPI depends on GPIOLIB help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s1210, provides direct access via sysfs. endmenu # # Industrial I/O standalone triggers # comment "Triggers - standalone" if IIO_TRIGGER config IIO_PERIODIC_RTC_TRIGGER tristate "Periodic RTC triggers" depends on RTC_CLASS help Provides support for using periodic capable real time clocks as IIO triggers. config IIO_BFIN_TMR_TRIGGER tristate "Blackfin TIMER trigger" depends on BLACKFIN select BFIN_GPTIMERS help Provides support for using a Blackfin timer as IIO triggers. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called iio-trig-bfin-timer. endif # IIO_TRIGGER config DRM_IMX tristate "DRM Support for Freescale i.MX" select DRM_KMS_HELPER select DRM_KMS_FB_HELPER select VIDEOMODE_HELPERS select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER depends on DRM && (ARCH_MXC || ARCH_MULTIPLATFORM) help enable i.MX graphics support config DRM_IMX_FB_HELPER tristate "provide legacy framebuffer /dev/fb0" select DRM_KMS_CMA_HELPER depends on DRM_IMX help The DRM framework can provide a legacy /dev/fb0 framebuffer for your device. This is necessary to get a framebuffer console and also for applications using the legacy framebuffer API config DRM_IMX_PARALLEL_DISPLAY tristate "Support for parallel displays" depends on DRM_IMX select VIDEOMODE_HELPERS config DRM_IMX_TVE tristate "Support for TV and VGA displays" depends on DRM_IMX select REGMAP_MMIO help Choose this to enable the internal Television Encoder (TVe) found on i.MX53 processors. config DRM_IMX_LDB tristate "Support for LVDS displays" depends on DRM_IMX && MFD_SYSCON help Choose this to enable the internal LVDS Display Bridge (LDB) found on i.MX53 and i.MX6 processors. config DRM_IMX_IPUV3_CORE tristate "IPUv3 core support" depends on DRM_IMX depends on RESET_CONTROLLER help Choose this if you have a i.MX5/6 system and want to use the IPU. This option only enables IPU base support. config DRM_IMX_IPUV3 tristate "DRM Support for i.MX IPUv3" depends on DRM_IMX depends on DRM_IMX_IPUV3_CORE help Choose this if you have a i.MX5 or i.MX6 processor. config USB_ENESTORAGE tristate "USB ENE SM card reader support" depends on USB && SCSI && m ---help--- Say Y here if you wish to control a ENE SM Card reader. To use SD/MS card, please build driver/usb/storage/ums-eneub6250.ko This option depends on 'SCSI' support being enabled, but you probably also need 'SCSI device support: SCSI disk support' (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called keucr. menuconfig LINE6_USB tristate "Line6 USB support" depends on USB && SND select SND_RAWMIDI select SND_PCM help This is a driver for the guitar amp, cab, and effects modeller PODxt Pro by Line6 (and similar devices), supporting the following features: * Reading/writing individual parameters * Reading/writing complete channel, effects setup, and amp setup data * Channel switching * Virtual MIDI interface * Tuner access * Playback/capture/mixer device for any ALSA-compatible PCM audio application * Signal routing (record clean/processed guitar signal, re-amping) Preliminary support for the Variax Workbench and TonePort devices is included. if LINE6_USB config LINE6_USB_IMPULSE_RESPONSE bool "measure impulse response" default n help Say Y here to add code to measure the impulse response of a Line6 device. This is more accurate than user-space methods since it bypasses any PCM data buffering (e.g., by ALSA or jack). This is useful for assessing the performance of new devices, but is not required for normal operation. If unsure, say N. endif # LINE6_USB source "drivers/staging/lustre/lustre/Kconfig" source "drivers/staging/lustre/lnet/Kconfig" config LNET tristate "Lustre networking subsystem" depends on LUSTRE_FS config LNET_MAX_PAYLOAD int "Lustre lnet max transfer payload (default 2MB)" depends on LUSTRE_FS default "1048576" help This option defines the maximum size of payload in bytes that lnet can put into its transport. If unsure, use default. config LNET_SELFTEST tristate "Lustre networking self testing" depends on LNET help Choose Y here if you want to do lnet self testing. To compile this as a module, choose M here: the module will be called lnet_selftest. To compile this as a kernel modules, choose M here and it will be called lnet_selftest. If unsure, say N. See also http://wiki.lustre.org/ config LNET_XPRT_IB tristate "LNET infiniband support" depends on LNET && INFINIBAND && INFINIBAND_ADDR_TRANS default LNET && INFINIBAND help This option allows the LNET users to use infiniband as an RDMA-enabled transport. To compile this as a kernel module, choose M here and it will be called ko2iblnd. If unsure, say N. config LUSTRE_FS tristate "Lustre file system client support" depends on INET && m && !MIPS && !XTENSA && !SUPERH select LNET select CRYPTO select CRYPTO_CRC32 select CRYPTO_CRC32_PCLMUL if X86 select CRYPTO_CRC32C select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 help This option enables Lustre file system client support. Choose Y here if you want to access a Lustre file system cluster. To compile this file system support as a module, choose M here: the module will be called lustre. To mount Lustre file systems, you also need to install the user space mount.lustre and other user space commands which can be found in the lustre-client package, available from http://downloads.whamcloud.com/public/lustre/ Lustre file system is the most popular cluster file system in high performance computing. Source code of both kernel space and user space Lustre components can also be found at http://git.whamcloud.com/?p=fs/lustre-release.git;a=summary If unsure, say N. See also http://wiki.lustre.org/ config LUSTRE_OBD_MAX_IOCTL_BUFFER int "Lustre obd max ioctl buffer bytes (default 8KB)" depends on LUSTRE_FS default 8192 help This option defines the maximum size of buffer in bytes that user space applications can pass to Lustre kernel module through ioctl interface. If unsure, use default. config LUSTRE_DEBUG_EXPENSIVE_CHECK bool "Enable Lustre DEBUG checks" depends on LUSTRE_FS help This option is mainly for debug purpose. It enables Lustre code to do expensive checks that may have a performance impact. Use with caution. If unsure, say N. config LUSTRE_TRANSLATE_ERRNOS bool depends on LUSTRE_FS && !X86 default y config LUSTRE_LLITE_LLOOP bool "Lustre virtual block device" depends on LUSTRE_FS && BLOCK default m menuconfig STAGING_MEDIA bool "Media staging drivers" default n ---help--- This option allows you to select a number of media drivers that don't have the "normal" Linux kernel quality level. Most of them don't follow properly the V4L, DVB and/or RC API's, so, they won't likely work fine with the existing applications. That also means that, once fixed, their API's will change to match the existing ones. If you wish to work on these drivers, to help improve them, or to report problems you have with them, please use the linux-media@vger.kernel.org mailing list. If in doubt, say N here. if STAGING_MEDIA # Please keep them in alphabetic order source "drivers/staging/media/as102/Kconfig" source "drivers/staging/media/cxd2099/Kconfig" source "drivers/staging/media/davinci_vpfe/Kconfig" source "drivers/staging/media/dt3155v4l/Kconfig" source "drivers/staging/media/go7007/Kconfig" source "drivers/staging/media/msi3101/Kconfig" source "drivers/staging/media/solo6x10/Kconfig" # Keep LIRC at the end, as it has sub-menus source "drivers/staging/media/lirc/Kconfig" endif config DVB_AS102 tristate "Abilis AS102 DVB receiver" depends on DVB_CORE && USB && I2C && INPUT select FW_LOADER help Choose Y or M here if you have a device containing an AS102 To compile this driver as a module, choose M here config DVB_CXD2099 tristate "CXD2099AR Common Interface driver" depends on DVB_CORE && PCI && I2C ---help--- Support for the CI module found on cards based on - Micronas ngene PCIe bridge: cineS2 etc. - Digital Devices PCIe bridge: Octopus series For now, data is passed through '/dev/dvb/adapterX/sec0': - Encrypted data must be written to 'sec0'. - Decrypted data can be read from 'sec0'. - Setup the CAM using device 'ca0'. config VIDEO_DM365_VPFE tristate "DM365 VPFE Media Controller Capture Driver" depends on VIDEO_V4L2 && ARCH_DAVINCI_DM365 && !VIDEO_DM365_ISIF select VIDEOBUF2_DMA_CONTIG help Support for DM365 VPFE based Media Controller Capture driver. To compile this driver as a module, choose M here: the module will be called vpfe-mc-capture. config VIDEO_DT3155 tristate "DT3155 frame grabber, Video4Linux interface" depends on PCI && VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_DMA_CONTIG default n ---help--- Enables dt3155 device driver for the DataTranslation DT3155 frame grabber. Say Y here if you have this hardware. In doubt, say N. To compile this driver as a module, choose M here: the module will be called dt3155v4l. config DT3155_CCIR bool "Selects CCIR/50Hz vertical refresh" depends on VIDEO_DT3155 default y ---help--- Select it for CCIR/50Hz (European region), or leave it unselected for RS-170/60Hz (North America). config DT3155_STREAMING bool "Selects streaming capture method" depends on VIDEO_DT3155 default y ---help--- Select it if you want to use streaming of memory mapped buffers or leave it unselected if you want to use read method (one copy more). config VIDEO_GO7007 tristate "WIS GO7007 MPEG encoder support" depends on VIDEO_DEV && I2C depends on SND && USB select VIDEOBUF2_VMALLOC select VIDEO_TUNER select CYPRESS_FIRMWARE select SND_PCM select VIDEO_SONY_BTF_MPX if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW2804 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW9903 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW9906 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_OV7640 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_UDA1342 if MEDIA_SUBDRV_AUTOSELECT default N ---help--- This is a video4linux driver for the WIS GO7007 MPEG encoder chip. To compile this driver as a module, choose M here: the module will be called go7007. config VIDEO_GO7007_USB tristate "WIS GO7007 USB support" depends on VIDEO_GO7007 && USB default N ---help--- This is a video4linux driver for the WIS GO7007 MPEG encoder chip over USB. To compile this driver as a module, choose M here: the module will be called go7007-usb. config VIDEO_GO7007_LOADER tristate "WIS GO7007 Loader support" depends on VIDEO_GO7007 default y ---help--- This is a go7007 firmware loader driver for the WIS GO7007 MPEG encoder chip over USB. To compile this driver as a module, choose M here: the module will be called go7007-loader. config VIDEO_GO7007_USB_S2250_BOARD tristate "Sensoray 2250/2251 support" depends on VIDEO_GO7007_USB && USB default N ---help--- This is a video4linux driver for the Sensoray 2250/2251 device. To compile this driver as a module, choose M here: the module will be called s2250. # # LIRC driver(s) configuration # menuconfig LIRC_STAGING bool "Linux Infrared Remote Control IR receiver/transmitter drivers" depends on LIRC help Say Y here, and all supported Linux Infrared Remote Control IR and RF receiver and transmitter drivers will be displayed. When paired with a remote control and the lirc daemon, the receiver drivers allow control of your Linux system via remote control. if LIRC_STAGING config LIRC_BT829 tristate "BT829 based hardware" depends on LIRC && PCI help Driver for the IR interface on BT829-based hardware config LIRC_IGORPLUGUSB tristate "Igor Cesko's USB IR Receiver" depends on LIRC && USB help Driver for Igor Cesko's USB IR Receiver config LIRC_IMON tristate "Legacy SoundGraph iMON Receiver and Display" depends on LIRC && USB help Driver for the original SoundGraph iMON IR Receiver and Display Current generation iMON devices use the input layer imon driver. config LIRC_PARALLEL tristate "Homebrew Parallel Port Receiver" depends on LIRC && PARPORT help Driver for Homebrew Parallel Port Receivers config LIRC_SASEM tristate "Sasem USB IR Remote" depends on LIRC && USB help Driver for the Sasem OnAir Remocon-V or Dign HV5 HTPC IR/VFD Module config LIRC_SERIAL tristate "Homebrew Serial Port Receiver" depends on LIRC help Driver for Homebrew Serial Port Receivers config LIRC_SERIAL_TRANSMITTER bool "Serial Port Transmitter" default y depends on LIRC_SERIAL help Serial Port Transmitter support config LIRC_SIR tristate "Built-in SIR IrDA port" depends on LIRC help Driver for the SIR IrDA port config LIRC_ZILOG tristate "Zilog/Hauppauge IR Transmitter" depends on LIRC && I2C help Driver for the Zilog/Hauppauge IR Transmitter, found on PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards endif config USB_MSI3101 tristate "Mirics MSi3101 SDR Dongle" depends on USB && VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_CORE select VIDEOBUF2_VMALLOC config SOLO6X10 tristate "Softlogic 6x10 MPEG codec cards" depends on PCI && VIDEO_DEV && SND && I2C select FONT_SUPPORT select FONT_8x16 select VIDEOBUF2_DMA_SG select VIDEOBUF2_DMA_CONTIG select SND_PCM select FONT_8x16 ---help--- This driver supports the Softlogic based MPEG-4 and h.264 codec cards. config MTD_SPINAND_MT29F tristate "SPINAND Device Support for Micron" depends on MTD_NAND && SPI help This enables support for accessing Micron SPI NAND flash devices. If you have Micron SPI NAND chip say yes. If unsure, say no here. config MTD_SPINAND_ONDIEECC bool "Use SPINAND internal ECC" depends on MTD_SPINAND_MT29F help Internel ECC. Enables Hardware ECC support for Micron SPI NAND. config NETLOGIC_XLR_NET tristate "Netlogic XLR/XLS network device" depends on CPU_XLR select PHYLIB ---help--- This driver support Netlogic XLR/XLS on chip gigabit Ethernet. config MFD_NVEC tristate "NV Tegra Embedded Controller SMBus Interface" depends on I2C && GPIOLIB && ARCH_TEGRA select MFD_CORE help Say Y here to enable support for a nVidia compliant embedded controller. config KEYBOARD_NVEC tristate "Keyboard on nVidia compliant EC" depends on MFD_NVEC && INPUT help Say Y here to enable support for a keyboard connected to a nVidia compliant embedded controller. config SERIO_NVEC_PS2 tristate "PS2 on nVidia EC" depends on MFD_NVEC && SERIO help Say Y here to enable support for a Touchpad / Mouse connected to a nVidia compliant embedded controller. config NVEC_POWER tristate "NVEC charger and battery" depends on MFD_NVEC && POWER_SUPPLY help Say Y to enable support for battery and charger interface for nVidia compliant embedded controllers. config NVEC_PAZ00 tristate "Support for OEM specific functions on Compal PAZ00 based devices" depends on MFD_NVEC && LEDS_CLASS help Say Y to enable control of the yellow side leds on Compal PAZ00 based devices, e.g. Toshbia AC100 and Dynabooks AZ netbooks. config OCTEON_USB tristate "Cavium Networks Octeon USB support" depends on CAVIUM_OCTEON_SOC && USB help This driver supports USB host controller on some Cavium Networks' products in the Octeon family. To compile this driver as a module, choose M here. The module will be called octeon-usb. config OCTEON_ETHERNET tristate "Cavium Networks Octeon Ethernet support" depends on CAVIUM_OCTEON_SOC && NETDEVICES select PHYLIB select MDIO_OCTEON help This driver supports the builtin ethernet ports on Cavium Networks' products in the Octeon family. This driver supports the CN3XXX and CN5XXX Octeon processors. To compile this driver as a module, choose M here. The module will be called octeon-ethernet. config FB_OLPC_DCON tristate "One Laptop Per Child Display CONtroller support" depends on OLPC && FB depends on I2C depends on (GPIO_CS5535 || GPIO_CS5535=n) select BACKLIGHT_CLASS_DEVICE ---help--- In order to support very low power operation, the XO laptop uses a secondary Display CONtroller, or DCON. This secondary controller is present in the video pipeline between the primary display controller (integrate into the processor or chipset) and the LCD panel. It allows the main processor/display controller to be completely powered off while still retaining an image on the display. This controller is only available on OLPC platforms. Unless you have one of these platforms, you will want to say 'N'. config FB_OLPC_DCON_1 bool "OLPC XO-1 DCON support" depends on FB_OLPC_DCON && GPIO_CS5535 default y ---help--- Enable support for the DCON in XO-1 model laptops. The kernel communicates with the DCON using model-specific code. If you have an XO-1 (or if you're unsure what model you have), you should say 'Y'. config FB_OLPC_DCON_1_5 bool "OLPC XO-1.5 DCON support" depends on FB_OLPC_DCON && ACPI default y ---help--- Enable support for the DCON in XO-1.5 model laptops. The kernel communicates with the DCON using model-specific code. If you have an XO-1.5 (or if you're unsure what model you have), you should say 'Y'. config USB_WPAN_HCD tristate "USB over WiFi Host Controller" depends on USB && NET help A driver for USB Host Controllers that are compatible with Ozmo Devices USB over WiFi technology. To compile this driver a module, choose M here: the module will be called "ozwpan". config PANEL tristate "Parallel port LCD/Keypad Panel support" depends on PARPORT ---help--- Say Y here if you have an HD44780 or KS-0074 LCD connected to your parallel port. This driver also features 4 and 6-key keypads. The LCD is accessible through the /dev/lcd char device (10, 156), and the keypad through /dev/keypad (10, 185). Both require misc device to be enabled. This code can either be compiled as a module, or linked into the kernel and started at boot. If you don't understand what all this is about, say N. config PANEL_PARPORT int "Default parallel port number (0=LPT1)" depends on PANEL range 0 255 default "0" ---help--- This is the index of the parallel port the panel is connected to. One driver instance only supports one parallel port, so if your keypad and LCD are connected to two separate ports, you have to start two modules with different arguments. Numbering starts with '0' for LPT1, and so on. config PANEL_PROFILE int "Default panel profile (0-5, 0=custom)" depends on PANEL range 0 5 default "5" ---help--- To ease configuration, the driver supports different configuration profiles for past and recent wirings. These profiles can also be used to define an approximative configuration, completed by a few other options. Here are the profiles : 0 = custom (see further) 1 = 2x16 parallel LCD, old keypad 2 = 2x16 serial LCD (KS-0074), new keypad 3 = 2x16 parallel LCD (Hantronix), no keypad 4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad 5 = 2x40 parallel LCD (old one), with old keypad Custom configurations allow you to define how your display is wired to the parallel port, and how it works. This is only intended for experts. config PANEL_KEYPAD depends on PANEL && PANEL_PROFILE="0" int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)" range 0 3 default 0 ---help--- This enables and configures a keypad connected to the parallel port. The keys will be read from character device 10,185. Valid values are : 0 : do not enable this driver 1 : old 6 keys keypad 2 : new 6 keys keypad, as used on the server at www.ant-computing.com 3 : Nexcom NSA1045's 4 keys keypad New profiles can be described in the driver source. The driver also supports simultaneous keys pressed when the keypad supports them. config PANEL_LCD depends on PANEL && PANEL_PROFILE="0" int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)" range 0 5 default 0 ---help--- This enables and configures an LCD connected to the parallel port. The driver includes an interpreter for escape codes starting with '\e[L' which are specific to the LCD, and a few ANSI codes. The driver will be registered as character device 10,156, usually under the name '/dev/lcd'. There are a total of 6 supported types : 0 : do not enable the driver 1 : custom configuration and wiring (see further) 2 : 2x16 & 2x40 parallel LCD (old wiring) 3 : 2x16 serial LCD (KS-0074 based) 4 : 2x16 parallel LCD (Hantronix wiring) 5 : 2x16 parallel LCD (Nexcom wiring) When type '1' is specified, other options will appear to configure more precise aspects (wiring, dimensions, protocol, ...). Please note that those values changed from the 2.4 driver for better consistency. config PANEL_LCD_HEIGHT depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "Number of lines on the LCD (1-2)" range 1 2 default 2 ---help--- This is the number of visible character lines on the LCD in custom profile. It can either be 1 or 2. config PANEL_LCD_WIDTH depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "Number of characters per line on the LCD (1-40)" range 1 40 default 40 ---help--- This is the number of characters per line on the LCD in custom profile. Common values are 16,20,24,40. config PANEL_LCD_BWIDTH depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "Internal LCD line width (1-40, 40 by default)" range 1 40 default 40 ---help--- Most LCDs use a standard controller which supports hardware lines of 40 characters, although sometimes only 16, 20 or 24 of them are really wired to the terminal. This results in some non-visible but addressable characters, and is the case for most parallel LCDs. Other LCDs, and some serial ones, however, use the same line width internally as what is visible. The KS0074 for example, uses 16 characters per line for 16 visible characters per line. This option lets you configure the value used by your LCD in 'custom' profile. If you don't know, put '40' here. config PANEL_LCD_HWIDTH depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "Hardware LCD line width (1-64, 64 by default)" range 1 64 default 64 ---help--- Most LCDs use a single address bit to differentiate line 0 and line 1. Since some of them need to be able to address 40 chars with the lower bits, they often use the immediately superior power of 2, which is 64, to address the next line. If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and 64 here for a 2x40. config PANEL_LCD_CHARSET depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "LCD character set (0=normal, 1=KS0074)" range 0 1 default 0 ---help--- Some controllers such as the KS0074 use a somewhat strange character set where many symbols are at unusual places. The driver knows how to map 'standard' ASCII characters to the character sets used by these controllers. Valid values are : 0 : normal (untranslated) character set 1 : KS0074 character set If you don't know, use the normal one (0). config PANEL_LCD_PROTO depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "LCD communication mode (0=parallel 8 bits, 1=serial)" range 0 1 default 0 ---help--- This driver now supports any serial or parallel LCD wired to a parallel port. But before assigning signals, the driver needs to know if it will be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits parallel LCD, and 1 for a serial LCD. config PANEL_LCD_PIN_E depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) " range -17 17 default 14 ---help--- This describes the number of the parallel port pin to which the LCD 'E' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'E' pin in custom profile is '14' (AUTOFEED). config PANEL_LCD_PIN_RS depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) " range -17 17 default 17 ---help--- This describes the number of the parallel port pin to which the LCD 'RS' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'RS' pin in custom profile is '17' (SELECT IN). config PANEL_LCD_PIN_RW depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) " range -17 17 default 16 ---help--- This describes the number of the parallel port pin to which the LCD 'RW' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'RW' pin in custom profile is '16' (INIT). config PANEL_LCD_PIN_SCL depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) " range -17 17 default 1 ---help--- This describes the number of the parallel port pin to which the serial LCD 'SCL' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'SCL' pin in custom profile is '1' (STROBE). config PANEL_LCD_PIN_SDA depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) " range -17 17 default 2 ---help--- This describes the number of the parallel port pin to which the serial LCD 'SDA' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'SDA' pin in custom profile is '2' (D0). config PANEL_LCD_PIN_BL depends on PANEL && PANEL_PROFILE="0" && PANEL_LCD="1" int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) " range -17 17 default 0 ---help--- This describes the number of the parallel port pin to which the LCD 'BL' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'BL' pin in custom profile is '0' (uncontrolled). config PANEL_CHANGE_MESSAGE depends on PANEL bool "Change LCD initialization message ?" default "n" ---help--- This allows you to replace the boot message indicating the kernel version and the driver version with a custom message. This is useful on appliances where a simple 'Starting system' message can be enough to stop a customer from worrying. If you say 'Y' here, you'll be able to choose a message yourself. Otherwise, say 'N' and keep the default message with the version. config PANEL_BOOT_MESSAGE depends on PANEL && PANEL_CHANGE_MESSAGE="y" string "New initialization message" default "" ---help--- This allows you to replace the boot message indicating the kernel version and the driver version with a custom message. This is useful on appliances where a simple 'Starting system' message can be enough to stop a customer from worrying. An empty message will only clear the display at driver init time. Any other printf()-formatted message is valid with newline and escape codes. config IDE_PHISON tristate "PCIE ATA PS5000 IDE support" depends on PCI && ATA && ATA_SFF && ATA_BMDMA ---help--- This is an experimental driver for PS5000 IDE driver. config ACPI_QUICKSTART tristate "ACPI Quickstart key driver" depends on ACPI && INPUT help Say Y here if you have a platform that supports the ACPI quickstart key protocol. To compile this driver as a module, choose M here: the module will be called quickstart. config R8187SE tristate "RealTek RTL8187SE Wireless LAN NIC driver" depends on PCI && WLAN depends on m select WIRELESS_EXT select WEXT_PRIV select EEPROM_93CX6 select CRYPTO default N ---help--- If built as a module, it will be called r8187se.ko. config R8188EU tristate "Realtek RTL8188EU Wireless LAN NIC driver" depends on WLAN && USB select WIRELESS_EXT select WEXT_PRIV default N ---help--- This option adds the Realtek RTL8188EU USB device such as TP-Link TL-WN725N. If built as a module, it will be called r8188eu. if R8188EU config 88EU_AP_MODE bool "Realtek RTL8188EU AP mode" default Y ---help--- This option enables Access Point mode. Unless you know that your system will never be used as an AP, or the target system has limited memory, "Y" should be selected. config 88EU_P2P bool "Realtek RTL8188EU Peer-to-peer mode" default Y ---help--- This option enables peer-to-peer mode for the r8188eu driver. Unless you know that peer-to-peer (P2P) mode will never be used, or the target system has limited memory, "Y" should be selected. endif config RTLLIB tristate "Support for rtllib wireless devices" depends on WLAN && m default n select LIB80211 ---help--- If you have a wireless card that uses rtllib, say Y. Currently the only card is the rtl8192e. If unsure, say N. if RTLLIB config RTLLIB_CRYPTO_CCMP tristate "Support for rtllib CCMP crypto" depends on RTLLIB select CRYPTO_AES default y ---help--- CCMP crypto driver for rtllib. If you enabled RTLLIB, you want this. config RTLLIB_CRYPTO_TKIP tristate "Support for rtllib TKIP crypto" depends on RTLLIB select CRYPTO_ARC4 select CRYPTO_MICHAEL_MIC default y ---help--- TKIP crypto driver for rtllib. If you enabled RTLLIB, you want this. config RTLLIB_CRYPTO_WEP tristate "Support for rtllib WEP crypto" select CRYPTO_ARC4 depends on RTLLIB default y ---help--- TKIP crypto driver for rtllib. If you enabled RTLLIB, you want this. source "drivers/staging/rtl8192e/rtl8192e/Kconfig" endif config RTL8192E tristate "RealTek RTL8192E Wireless LAN NIC driver" depends on PCI && WLAN && RTLLIB depends on m select WIRELESS_EXT select WEXT_PRIV select CRYPTO default N ---help--- config RTL8192U tristate "RealTek RTL8192U Wireless LAN NIC driver" depends on PCI && WLAN && USB depends on m select WIRELESS_EXT select WEXT_PRIV select CRYPTO default N ---help--- config R8712U tristate "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" depends on WLAN && USB select WIRELESS_EXT select WEXT_PRIV select FW_LOADER default N ---help--- This option adds the Realtek RTL8712 USB device such as the D-Link DWA-130. If built as a module, it will be called r8712u. config R8712_TX_AGGR bool "Realtek RTL8712U Transmit Aggregation code" depends on R8712U && BROKEN default N ---help--- This option provides transmit aggregation for the Realtek RTL8712 USB device. config RTS5139 tristate "Realtek RTS5139 USB card reader support" depends on USB && SCSI help Say Y here to include driver code to support the Realtek RTS5139 USB card readers. If this driver is compiled as a module, it will be named rts5139. config RTS5139_DEBUG bool "Realtek RTS5139 Card Reader verbose debug" depends on RTS5139 help Say Y here in order to have the rts5139 code generate verbose debugging messages. config SB105X tristate "SystemBase PCI Multiport UART" select SERIAL_CORE depends on PCI && X86 && TTY && BROKEN help A driver for the SystemBase Multi-2/PCI serial card To compile this driver a module, choose M here: the module will be called "sb105x". config SBE_2T3E3 tristate "SBE wanPMC-2T3E3 support" depends on HDLC && PCI help Driver for wanPMC-2T3E3 cards by SBE Inc. If you have such a card, say Y here and see . To compile this as a module, choose M here: the module will be called sbe-2t3e3. If unsure, say N. config DX_SEP tristate "Discretix SEP driver" depends on PCI && CRYPTO help Discretix SEP driver; used for the security processor subsystem on board the Intel Mobile Internet Device and adds SEP availability to the kernel crypto infrastructure The driver's name is sep_driver. If unsure, select N. config USB_SERIAL_QUATECH2 tristate "USB Quatech ESU-100 8 Port Serial Driver" depends on USB_SERIAL help Say Y here if you want to use the Quatech ESU-100 8 port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called serqt_usb2. # # Silicom device configuration # config NET_VENDOR_SILICOM bool "Silicom devices" default y depends on PCI && NETDEVICES ---help--- If you have a network card (Ethernet) belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just case the configurator to skip all the questions regarding Silicom chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_SILICOM config SBYPASS tristate "Silicom BypassCTL library support" depends on PCI depends on m ---help--- If you have a network (Ethernet) controller of this type, say Y To compile this driver as a module, choose M here. The module will be called bypass. config BPCTL tristate "Silicom BypassCTL net support" depends on PCI depends on m select SBYPASS select MII ---help--- If you have a network (Ethernet) controller of this type, say Y or M and read the Ethernet-HOWTO, available from . To compile this driver as a module, choose M here. The module will be called bpctl_mod. endif # NET_VENDOR_SILICOM config SLICOSS tristate "Alacritech Gigabit IS-NIC support" depends on PCI && X86 && NET default n help This driver supports Alacritech's IS-NIC gigabit ethernet cards. This includes the following devices: Mojave cards (single port PCI Gigabit) both copper and fiber Oasis cards (single and dual port PCI-x Gigabit) copper and fiber Kalahari cards (dual and quad port PCI-e Gigabit) copper and fiber To compile this driver as a module, choose M here: the module will be called slicoss. config FB_SM7XX tristate "Silicon Motion SM7XX framebuffer support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for the Silicon Motion SM710, SM712, SM721 and SM722 chips. This driver is also available as a module. The module will be called sm7xxfb. If you want to compile it as a module, say M here and read . menu "Speakup console speech" config SPEAKUP depends on VT tristate "Speakup core" ---help--- This is the Speakup screen reader. Think of it as a video console for blind people. If built in to the kernel, it can speak everything on the text console from boot up to shutdown. For more information on Speakup, point your browser at . There is also a mailing list at the above url that you can subscribe to. Supported synthesizers are accent sa, accent pc, appollo II., Auddapter, Braille 'n Speak, Dectalk external (old), Dectalk PC (full length isa board), Dectalk express, Doubletalk, Doubletalk LT or Litetalk, Keynote Gold internal PC, software synthesizers, Speakout, transport, and a dummy module that can be used with a plain text terminal. Speakup can either be built in or compiled as a module by answering y or m. If you answer y here, then you must answer either y or m to at least one of the synthesizer drivers below. If you answer m here, then the synthesizer drivers below can only be built as modules. These drivers are not standalone drivers, but must be used in conjunction with Speakup. Think of them as video cards for blind people. The Dectalk pc driver can only be built as a module, and requires software to be pre-loaded on to the card before the module can be loaded. See the decpc choice below for more details. If you are not a blind person, or don't have access to one of the listed synthesizers, you should say n. if SPEAKUP config SPEAKUP_SYNTH_ACNTSA tristate "Accent SA synthesizer support" ---help--- This is the Speakup driver for the Accent SA synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_ACNTPC tristate "Accent PC synthesizer support" depends on ISA || COMPILE_TEST ---help--- This is the Speakup driver for the accent pc synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_APOLLO tristate "Apollo II synthesizer support" ---help--- This is the Speakup driver for the Apollo II synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_AUDPTR tristate "Audapter synthesizer support" ---help--- This is the Speakup driver for the Audapter synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_BNS tristate "Braille 'n' Speak synthesizer support" ---help--- This is the Speakup driver for the Braille 'n' Speak synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECTLK tristate "DECtalk Express synthesizer support" ---help--- This is the Speakup driver for the DecTalk Express synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECEXT tristate "DECtalk External (old) synthesizer support" ---help--- This is the Speakup driver for the DecTalk External (old) synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECPC depends on m depends on ISA || COMPILE_TEST tristate "DECtalk PC (big ISA card) synthesizer support" ---help--- This is the Speakup driver for the DecTalk PC (full length ISA) synthesizer. You can say m to build it as a module. See the configuration help on the Speakup choice above for more info. In order to use the DecTalk PC driver, you must download the dec_pc.tgz file from linux-speakup.org. It is in the pub/linux/goodies directory. The dec_pc.tgz file contains the software which must be pre-loaded on to the DecTalk PC board in order to use it with this driver. This driver must be built as a module, and can not be loaded until the file system is mounted and the DecTalk PC software has been pre-loaded on to the board. See the README file in the dec_pc.tgz file for more details. config SPEAKUP_SYNTH_DTLK tristate "DoubleTalk PC synthesizer support" depends on ISA || COMPILE_TEST ---help--- This is the Speakup driver for the internal DoubleTalk PC synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_KEYPC tristate "Keynote Gold PC synthesizer support" depends on ISA || COMPILE_TEST ---help--- This is the Speakup driver for the Keynote Gold PC synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_LTLK tristate "DoubleTalk LT/LiteTalk synthesizer support" ---help--- This is the Speakup driver for the LiteTalk/DoubleTalk LT synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_SOFT tristate "Userspace software synthesizer support" ---help--- This is the software synthesizer device node. It will register a device /dev/softsynth which midware programs and speech daemons may open and read to provide kernel output to software synths such as espeak, festival, flite and so forth. You can select 'y' or 'm' to have it built-in to the kernel or loaded as a module. config SPEAKUP_SYNTH_SPKOUT tristate "Speak Out synthesizer support" ---help--- This is the Speakup driver for the Speakout synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_TXPRT tristate "Transport synthesizer support" ---help--- This is the Speakup driver for the Transport synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DUMMY tristate "Dummy synthesizer driver (for testing)" ---help--- This is a dummy Speakup driver for plugging a mere serial terminal. This is handy if you want to test speakup but don't have the hardware. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. endif # SPEAKUP endmenu config TOUCHSCREEN_SYNAPTICS_I2C_RMI4 tristate "Synaptics i2c rmi4 touchscreen" depends on I2C && INPUT help Say Y here if you have a Synaptics RMI4 and want to enable support for the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called synaptics_rmi4_ts. # # DSP Bridge Driver Support # menuconfig TIDSPBRIDGE tristate "DSP Bridge driver" depends on ARCH_OMAP3 && !ARCH_MULTIPLATFORM && BROKEN select MAILBOX select OMAP2PLUS_MBOX help DSP/BIOS Bridge is designed for platforms that contain a GPP and one or more attached DSPs. The GPP is considered the master or "host" processor, and the attached DSPs are processing resources that can be utilized by applications and drivers running on the GPP. This driver depends on OMAP Mailbox (OMAP_MBOX_FWK). config TIDSPBRIDGE_DVFS bool "Enable Bridge Dynamic Voltage and Frequency Scaling (DVFS)" depends on TIDSPBRIDGE && OMAP_PM_SRF && CPU_FREQ help DVFS allows DSP Bridge to initiate the operating point change to scale the chip voltage and frequency in order to match the performance and power consumption to the current processing requirements. config TIDSPBRIDGE_MEMPOOL_SIZE hex "Physical memory pool size (Byte)" depends on TIDSPBRIDGE default 0x600000 help Allocate specified size of memory at booting time to avoid allocation failure under heavy memory fragmentation after some use time. config TIDSPBRIDGE_RECOVERY bool "Recovery Support" depends on TIDSPBRIDGE default y help In case of DSP fatal error, BRIDGE driver will try to recover itself. config TIDSPBRIDGE_CACHE_LINE_CHECK bool "Check buffers to be 128 byte aligned" depends on TIDSPBRIDGE help When the DSP processes data, the DSP cache controller loads 128-Byte chunks (lines) from SDRAM and writes the data back in 128-Byte chunks. If a DMM buffer does not start and end on a 128-Byte boundary, the data preceding the start address (SA) from the 128-Byte boundary to the SA and the data at addresses trailing the end address (EA) from the EA to the next 128-Byte boundary will be loaded and written back as well. This can lead to heap corruption. Say Y, to enforce the check for 128 byte alignment, buffers failing this check will be rejected. config TIDSPBRIDGE_NTFY_PWRERR bool "Notify power errors" depends on TIDSPBRIDGE help Enable notifications to registered clients on the event of power error trying to suspend bridge driver. Say Y, to signal this event as a fatal error, this will require a bridge restart to recover. config TIDSPBRIDGE_BACKTRACE bool "Dump backtraces on fatal errors" depends on TIDSPBRIDGE help Enable useful information to backtrace fatal errors. Say Y if you want to dump information for testing purposes. config USBIP_CORE tristate "USB/IP support" depends on USB && NET default N ---help--- This enables pushing USB packets over IP to allow remote machines direct access to USB devices. It provides the USB/IP core that is required by both drivers. For more details, and to get the userspace utility programs, please see . To compile this as a module, choose M here: the module will be called usbip-core. If unsure, say N. config USBIP_VHCI_HCD tristate "VHCI hcd" depends on USBIP_CORE default N ---help--- This enables the USB/IP virtual host controller driver, which is run on the remote machine. To compile this driver as a module, choose M here: the module will be called vhci-hcd. config USBIP_HOST tristate "Host driver" depends on USBIP_CORE default N ---help--- This enables the USB/IP host driver, which is run on the machine that is sharing the USB devices. To compile this driver as a module, choose M here: the module will be called usbip-host. config USBIP_DEBUG bool "Debug messages for USB/IP" depends on USBIP_CORE default N ---help--- This enables the debug messages from the USB/IP drivers. comment "VME Device Drivers" config VME_USER tristate "VME user space access driver" depends on STAGING help If you say Y here you want to be able to access a limited number of VME windows in a manner at least semi-compatible with the interface provided with the original driver at . config VME_PIO2 tristate "GE PIO2 VME" depends on STAGING && GPIOLIB help Say Y here to include support for the GE PIO2. The PIO2 is a 6U VME slave card, implementing 32 solid-state relay switched IO lines, in 4 groups of 8. Each bank of IO lines is built to function as input, output or both depending on the variant of the card. To compile this driver as a module, choose M here. The module will be called vme_pio2. If unsure, say N. config VT6655 tristate "VIA Technologies VT6655 support" depends on PCI && WLAN && m select WIRELESS_EXT select WEXT_PRIV ---help--- This is a vendor-written driver for VIA VT6655. config VT6656 tristate "VIA Technologies VT6656 support" depends on USB && WLAN && m select WIRELESS_EXT select WEXT_PRIV select FW_LOADER ---help--- This is a vendor-written driver for VIA VT6656. config W35UND tristate "IS89C35 WLAN USB driver" depends on MAC80211 && WLAN && USB default n ---help--- This is highly experimental driver for Winbond WIFI card. Hardware is present in some Kohjinsha subnotebooks, and in some stand-alone USB modules. Chipset name seems to be w89c35d. Check for new version. config WLAGS49_H2 tristate "Agere Systems HERMES II Wireless PC Card Model 0110" depends on WLAN && PCMCIA select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV ---help--- Driver for wireless cards using Agere's HERMES II chipset which are identified with Manufacture ID: 0156,0003 The software is a modified version of wl_lkm_722_abg.tar.gz from the Agere Systems website, addapted for Ubuntu 9.04. config WLAGS49_H25 tristate "Linksys HERMES II.5 WCF54G_Wireless-G_CompactFlash_Card" depends on WLAN && PCMCIA select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV ---help--- Driver for wireless cards using Agere's HERMES II.5 chipset which are identified with Manufacture ID: 0156,0004 The software is a modified version of wl_lkm_722_abg.tar.gz from the Agere Systems website, adapted for Ubuntu 9.04. config PRISM2_USB tristate "Prism2.5/3 USB driver" depends on WLAN && USB && CFG80211 select WIRELESS_EXT select WEXT_PRIV default n ---help--- This is the wlan-ng prism 2.5/3 USB driver for a wide range of old USB wireless devices. To compile this driver as a module, choose M here: the module will be called prism2_usb. config FB_XGI tristate "XGI display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This driver supports notebooks with XGI Z7,Z9,Z11 PCI chips. Say Y if you have such a graphics card. To compile this driver as a module, choose M here: the module will be called xgifb.ko # # Xillybus devices # config XILLYBUS tristate "Xillybus generic FPGA interface" depends on PCI || (OF_ADDRESS && OF_IRQ) && m help Xillybus is a generic interface for peripherals designed on programmable logic (FPGA). The driver probes the hardware for its capabilities, and creates device files accordingly. If unsure, say N. if XILLYBUS config XILLYBUS_PCIE tristate "Xillybus over PCIe" depends on PCI help Set to M if you want Xillybus to use PCI Express for communicating with the FPGA. config XILLYBUS_OF tristate "Xillybus over Device Tree" depends on OF_ADDRESS && OF_IRQ help Set to M if you want Xillybus to find its resources from the Open Firmware Flattened Device Tree. If the target is an embedded system, say M. endif # if XILLYBUS config ZRAM tristate "Compressed RAM block device support" depends on BLOCK && SYSFS && ZSMALLOC select LZO_COMPRESS select LZO_DECOMPRESS default n help Creates virtual block devices called /dev/zramX (X = 0, 1, ...). Pages written to these disks are compressed and stored in memory itself. These disks allow very fast I/O and compression provides good amounts of memory savings. It has several use cases, for example: /tmp storage, use as swap disks and maybe many more. See zram.txt for more information. Project home: config ZRAM_DEBUG bool "Compressed RAM block device debug support" depends on ZRAM default n help This option adds additional debugging code to the compressed RAM block device driver. config ZSMALLOC bool "Memory allocator for compressed pages" depends on MMU default n help zsmalloc is a slab-based memory allocator designed to store compressed RAM pages. zsmalloc uses virtual memory mapping in order to reduce fragmentation. However, this results in a non-standard allocator interface where a handle, not a pointer, is returned by an alloc(). This handle must be mapped in order to access the allocated space. menuconfig TARGET_CORE tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure" depends on SCSI && BLOCK select CONFIGFS_FS default n help Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled control path for target_core_mod. This includes built-in TCM RAMDISK subsystem logic for virtual LUN 0 access if TARGET_CORE config TCM_IBLOCK tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" help Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered access to Linux/Block devices using BIO config TCM_FILEIO tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS" help Say Y here to enable the TCM/FILEIO subsystem plugin for buffered access to Linux/VFS struct file or struct block_device config TCM_PSCSI tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI" help Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered passthrough access to Linux/SCSI device source "drivers/target/loopback/Kconfig" source "drivers/target/tcm_fc/Kconfig" source "drivers/target/iscsi/Kconfig" source "drivers/target/sbp/Kconfig" endif config ISCSI_TARGET tristate "Linux-iSCSI.org iSCSI Target Mode Stack" depends on NET select CRYPTO select CRYPTO_CRC32C select CRYPTO_CRC32C_INTEL if X86 help Say M here to enable the ConfigFS enabled Linux-iSCSI.org iSCSI Target Mode Stack. config LOOPBACK_TARGET tristate "TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module" help Say Y here to enable the TCM Virtual SAS target and Linux/SCSI LLD fabric loopback module. config SBP_TARGET tristate "FireWire SBP-2 fabric module" depends on FIREWIRE help Say Y or M here to enable SCSI target functionality over FireWire. This enables you to expose SCSI devices to other nodes on the FireWire bus, for example hard disks. Similar to FireWire Target Disk mode on many Apple computers. To compile this driver as a module, say M here: The module will be called sbp-target. config TCM_FC tristate "TCM_FC fabric Plugin" depends on LIBFC help Say Y here to enable the TCM FC plugin for accessing FC fabrics in TCM # # Generic thermal sysfs drivers configuration # menuconfig THERMAL tristate "Generic Thermal sysfs driver" help Generic Thermal Sysfs driver offers a generic mechanism for thermal management. Usually it's made up of one or more thermal zone and cooling device. Each thermal zone contains its own temperature, trip points, cooling devices. All platforms with ACPI thermal support can use this driver. If you want this support, you should say Y or M here. if THERMAL config THERMAL_HWMON bool prompt "Expose thermal sensors as hwmon device" depends on HWMON=y || HWMON=THERMAL default y help In case a sensor is registered with the thermal framework, this option will also register it as a hwmon. The sensor will then have the common hwmon sysfs interface. Say 'Y' here if you want all thermal sensors to have hwmon sysfs interface too. choice prompt "Default Thermal governor" default THERMAL_DEFAULT_GOV_STEP_WISE help This option sets which thermal governor shall be loaded at startup. If in doubt, select 'step_wise'. config THERMAL_DEFAULT_GOV_STEP_WISE bool "step_wise" select THERMAL_GOV_STEP_WISE help Use the step_wise governor as default. This throttles the devices one step at a time. config THERMAL_DEFAULT_GOV_FAIR_SHARE bool "fair_share" select THERMAL_GOV_FAIR_SHARE help Use the fair_share governor as default. This throttles the devices based on their 'contribution' to a zone. The contribution should be provided through platform data. config THERMAL_DEFAULT_GOV_USER_SPACE bool "user_space" select THERMAL_GOV_USER_SPACE help Select this if you want to let the user space manage the platform thermals. endchoice config THERMAL_GOV_FAIR_SHARE bool "Fair-share thermal governor" help Enable this to manage platform thermals using fair-share governor. config THERMAL_GOV_STEP_WISE bool "Step_wise thermal governor" help Enable this to manage platform thermals using a simple linear governor. config THERMAL_GOV_USER_SPACE bool "User_space thermal governor" help Enable this to let the user space manage the platform thermals. config CPU_THERMAL bool "generic cpu cooling support" depends on CPU_FREQ help This implements the generic cpu cooling mechanism through frequency reduction. An ACPI version of this already exists (drivers/acpi/processor_thermal.c). This will be useful for platforms using the generic thermal interface and not the ACPI interface. If you want this support, you should say Y here. config THERMAL_EMULATION bool "Thermal emulation mode support" help Enable this option to make a emul_temp sysfs node in thermal zone directory to support temperature emulation. With emulation sysfs node, user can manually input temperature and test the different trip threshold behaviour for simulation purpose. WARNING: Be careful while enabling this option on production systems, because userland can easily disable the thermal policy by simply flooding this sysfs node with low temperature values. config IMX_THERMAL tristate "Temperature sensor driver for Freescale i.MX SoCs" depends on CPU_THERMAL depends on MFD_SYSCON depends on OF help Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. It supports one critical trip point and one passive trip point. The cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config SPEAR_THERMAL bool "SPEAr thermal sensor driver" depends on PLAT_SPEAR depends on OF help Enable this to plug the SPEAr thermal sensor driver into the Linux thermal framework. config RCAR_THERMAL tristate "Renesas R-Car thermal driver" depends on ARCH_SHMOBILE help Enable this to plug the R-Car thermal sensor driver into the Linux thermal framework. config KIRKWOOD_THERMAL tristate "Temperature sensor on Marvell Kirkwood SoCs" depends on ARCH_KIRKWOOD depends on OF help Support for the Kirkwood thermal sensor driver into the Linux thermal framework. Only kirkwood 88F6282 and 88F6283 have this sensor. config DOVE_THERMAL tristate "Temperature sensor on Marvell Dove SoCs" depends on ARCH_DOVE depends on OF help Support for the Dove thermal sensor driver in the Linux thermal framework. config DB8500_THERMAL bool "DB8500 thermal management" depends on ARCH_U8500 default y help Adds DB8500 thermal management implementation according to the thermal management framework. A thermal zone with several trip points will be created. Cooling devices can be bound to the trip points to cool this thermal zone if trip points reached. config ARMADA_THERMAL tristate "Armada 370/XP thermal management" depends on ARCH_MVEBU depends on OF help Enable this option if you want to have support for thermal management controller present in Armada 370 and Armada XP SoC. config DB8500_CPUFREQ_COOLING tristate "DB8500 cpufreq cooling" depends on ARCH_U8500 depends on CPU_THERMAL default y help Adds DB8500 cpufreq cooling devices, and these cooling devices can be bound to thermal zone trip points. When a trip point reached, the bound cpufreq cooling device turns active to set CPU frequency low to cool down the CPU. config INTEL_POWERCLAMP tristate "Intel PowerClamp idle injection driver" depends on THERMAL depends on X86 depends on CPU_SUP_INTEL help Enable this to enable Intel PowerClamp idle injection driver. This enforce idle time which results in more package C-state residency. The user interface is exposed via generic thermal framework. config X86_PKG_TEMP_THERMAL tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR select THERMAL_GOV_USER_SPACE default m help Enable this to register CPU digital sensor for package temperature as thermal zone. Each package will have its own thermal zone. There are two trip points which can be set by user to get notifications via thermal notification methods. menu "Texas Instruments thermal drivers" source "drivers/thermal/ti-soc-thermal/Kconfig" endmenu menu "Samsung thermal drivers" depends on PLAT_SAMSUNG source "drivers/thermal/samsung/Kconfig" endmenu endif config EXYNOS_THERMAL tristate "Exynos thermal management unit driver" depends on ARCH_HAS_BANDGAP && OF help If you say yes here you get support for the TMU (Thermal Management Unit) driver for SAMSUNG EXYNOS series of SoCs. This driver initialises the TMU, reports temperature and handles cooling action if defined. This driver uses the Exynos core thermal APIs and TMU configuration data from the supported SoCs. config EXYNOS_THERMAL_CORE bool "Core thermal framework support for EXYNOS SOCs" depends on EXYNOS_THERMAL help If you say yes here you get support for EXYNOS TMU (Thermal Management Unit) common registration/unregistration functions to the core thermal layer and also to use the generic CPU cooling APIs. config TI_SOC_THERMAL tristate "Texas Instruments SoCs temperature sensor driver" depends on THERMAL depends on ARCH_HAS_BANDGAP help If you say yes here you get support for the Texas Instruments OMAP4460+ on die bandgap temperature sensor support. The register set is part of system control module. This includes alert interrupts generation and also the TSHUT support. config TI_THERMAL bool "Texas Instruments SoCs thermal framework support" depends on TI_SOC_THERMAL depends on CPU_THERMAL help If you say yes here you want to get support for generic thermal framework for the Texas Instruments on die bandgap temperature sensor. This includes trip points definitions, extrapolation rules and CPU cooling device bindings. config OMAP4_THERMAL bool "Texas Instruments OMAP4 thermal support" depends on TI_SOC_THERMAL depends on ARCH_OMAP4 help If you say yes here you get thermal support for the Texas Instruments OMAP4 SoC family. The current chip supported are: - OMAP4430 - OMAP4460 - OMAP4470 This includes alert interrupts generation and also the TSHUT support. config OMAP5_THERMAL bool "Texas Instruments OMAP5 thermal support" depends on TI_SOC_THERMAL depends on SOC_OMAP5 help If you say yes here you get thermal support for the Texas Instruments OMAP5 SoC family. The current chip supported are: - OMAP5430 This includes alert interrupts generation and also the TSHUT support. config DRA752_THERMAL bool "Texas Instruments DRA752 thermal support" depends on TI_SOC_THERMAL depends on SOC_DRA7XX help If you say yes here you get thermal support for the Texas Instruments DRA752 SoC family. The current chip supported are: - DRA752 This includes alert interrupts generation and also the TSHUT support. config TTY bool "Enable TTY" if EXPERT default y ---help--- Allows you to remove TTY support which can save space, and blocks features that require TTY from inclusion in the kernel. TTY is required for any text terminals or serial port communication. Most users should leave this enabled. if TTY config VT bool "Virtual terminal" if EXPERT depends on !S390 && !UML select INPUT default y ---help--- If you say Y here, you will get support for terminal devices with display and keyboard devices. These are called "virtual" because you can run several virtual terminals (also called virtual consoles) on one physical terminal. This is rather useful, for example one virtual terminal can collect system messages and warnings, another one can be used for a text-mode user session, and a third could run an X session, all in parallel. Switching between virtual terminals is done with certain key combinations, usually Alt-. The setterm command ("man setterm") can be used to change the properties (such as colors or beeping) of a virtual terminal. The man page console_codes(4) ("man console_codes") contains the special character sequences that can be used to change those properties directly. The fonts used on virtual terminals can be changed with the setfont ("man setfont") command and the key bindings are defined with the loadkeys ("man loadkeys") command. You need at least one virtual terminal device in order to make use of your keyboard and monitor. Therefore, only people configuring an embedded system would want to say N here in order to save some memory; the only way to log into such a system is then via a serial or network connection. If unsure, say Y, or else you won't be able to do much with your new shiny Linux system :-) config CONSOLE_TRANSLATIONS depends on VT default y bool "Enable character translations in console" if EXPERT ---help--- This enables support for font mapping and Unicode translation on virtual consoles. config VT_CONSOLE bool "Support for console on virtual terminal" if EXPERT depends on VT default y ---help--- The system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. If you answer Y here, a virtual terminal (the device used to interact with a physical terminal) can be used as system console. This is the most common mode of operations, so you should say Y here unless you want the kernel messages be output only to a serial port (in which case you should say Y to "Console on serial port", below). If you do say Y here, by default the currently visible virtual terminal (/dev/tty0) will be used as system console. You can change that with a kernel command line option such as "console=tty3" which would use the third virtual terminal as system console. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If unsure, say Y. config VT_CONSOLE_SLEEP def_bool y depends on VT_CONSOLE && PM_SLEEP config HW_CONSOLE bool depends on VT && !UML default y config VT_HW_CONSOLE_BINDING bool "Support for binding and unbinding console drivers" depends on HW_CONSOLE default n ---help--- The virtual terminal is the device that interacts with the physical terminal through console drivers. On these systems, at least one console driver is loaded. In other configurations, additional console drivers may be enabled, such as the framebuffer console. If more than 1 console driver is enabled, setting this to 'y' will allow you to select the console driver that will serve as the backend for the virtual terminals. See for more information. For framebuffer console users, please refer to . config UNIX98_PTYS bool "Unix98 PTY support" if EXPERT default y ---help--- A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems. The GNU C library glibc 2.1 and later, however, supports the Unix98 naming standard: in order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as /dev/pts/. What was traditionally /dev/ttyp2 will then be /dev/pts/2, for example. All modern Linux systems use the Unix98 ptys. Say Y unless you're on an embedded system and want to conserve memory. config DEVPTS_MULTIPLE_INSTANCES bool "Support multiple instances of devpts" depends on UNIX98_PTYS default n ---help--- Enable support for multiple instances of devpts filesystem. If you want to have isolated PTY namespaces (eg: in containers), say Y here. Otherwise, say N. If enabled, each mount of devpts filesystem with the '-o newinstance' option will create an independent PTY namespace. config LEGACY_PTYS bool "Legacy (BSD) PTY support" default y ---help--- A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems, including security. This option enables these legacy devices; on most systems, it is safe to say N. config LEGACY_PTY_COUNT int "Maximum number of legacy PTY in use" depends on LEGACY_PTYS range 0 256 default "256" ---help--- The maximum number of legacy PTYs that can be used at any one time. The default is 256, and should be more than enough. Embedded systems may want to reduce this to save memory. When not in use, each legacy PTY occupies 12 bytes on 32-bit architectures and 24 bytes on 64-bit architectures. config BFIN_JTAG_COMM tristate "Blackfin JTAG Communication" depends on BLACKFIN help Add support for emulating a TTY device over the Blackfin JTAG. To compile this driver as a module, choose M here: the module will be called bfin_jtag_comm. config BFIN_JTAG_COMM_CONSOLE bool "Console on Blackfin JTAG" depends on BFIN_JTAG_COMM=y config SERIAL_NONSTANDARD bool "Non-standard serial port support" depends on HAS_IOMEM ---help--- Say Y here if you have any non-standard serial boards -- boards which aren't supported using the standard "dumb" serial driver. This includes intelligent serial boards such as Cyclades, Digiboards, etc. These are usually used for systems that need many serial ports because they serve many terminals or dial-in connections. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about non-standard serial boards. Most people can say N here. config ROCKETPORT tristate "Comtrol RocketPort support" depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) help This driver supports Comtrol RocketPort and RocketModem PCI boards. These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or modems. For information about the RocketPort/RocketModem boards and this driver read . To compile this driver as a module, choose M here: the module will be called rocket. If you want to compile this driver into the kernel, say Y here. If you don't have a Comtrol RocketPort/RocketModem card installed, say N. config CYCLADES tristate "Cyclades async mux support" depends on SERIAL_NONSTANDARD && (PCI || ISA) select FW_LOADER ---help--- This driver supports Cyclades Z and Y multiserial boards. You would need something like this to connect more than two modems to your Linux box, for instance in order to become a dial-in server. For information about the Cyclades-Z card, read . To compile this driver as a module, choose M here: the module will be called cyclades. If you haven't heard about it, it's safe to say N. config CYZ_INTR bool "Cyclades-Z interrupt mode operation" depends on CYCLADES help The Cyclades-Z family of multiport cards allows 2 (two) driver op modes: polling and interrupt. In polling mode, the driver will check the status of the Cyclades-Z ports every certain amount of time (which is called polling cycle and is configurable). In interrupt mode, it will use an interrupt line (IRQ) in order to check the status of the Cyclades-Z ports. The default op mode is polling. If unsure, say N. config MOXA_INTELLIO tristate "Moxa Intellio support" depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) select FW_LOADER help Say Y here if you have a Moxa Intellio multiport serial card. To compile this driver as a module, choose M here: the module will be called moxa. config MOXA_SMARTIO tristate "Moxa SmartIO support v. 2.0" depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) help Say Y here if you have a Moxa SmartIO multiport serial card and/or want to help develop a new version of this driver. This is upgraded (1.9.1) driver from original Moxa drivers with changes finally resulting in PCI probing. This driver can also be built as a module. The module will be called mxser. If you want to do that, say M here. config SYNCLINK tristate "Microgate SyncLink card support" depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API help Provides support for the SyncLink ISA and PCI multiprotocol serial adapters. These adapters support asynchronous and HDLC bit synchronous communication up to 10Mbps (PCI adapter). This driver can only be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclink. If you want to do that, say M here. config SYNCLINKMP tristate "SyncLink Multiport support" depends on SERIAL_NONSTANDARD && PCI help Enable support for the SyncLink Multiport (2 or 4 ports) serial adapter, running asynchronous and HDLC communications up to 2.048Mbps. Each ports is independently selectable for RS-232, V.35, RS-449, RS-530, and X.21 This driver may be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclinkmp. If you want to do that, say M here. config SYNCLINK_GT tristate "SyncLink GT/AC support" depends on SERIAL_NONSTANDARD && PCI help Support for SyncLink GT and SyncLink AC families of synchronous and asynchronous serial adapters manufactured by Microgate Systems, Ltd. (www.microgate.com) config NOZOMI tristate "HSDPA Broadband Wireless Data Card - Globe Trotter" depends on PCI help If you have a HSDPA driver Broadband Wireless Data Card - Globe Trotter PCMCIA card, say Y here. To compile this driver as a module, choose M here, the module will be called nozomi. config ISI tristate "Multi-Tech multiport card support" depends on SERIAL_NONSTANDARD && PCI select FW_LOADER help This is a driver for the Multi-Tech cards which provide several serial ports. The driver is experimental and can currently only be built as a module. The module will be called isicom. If you want to do that, choose M here. config N_HDLC tristate "HDLC line discipline support" depends on SERIAL_NONSTANDARD help Allows synchronous HDLC communications with tty device drivers that support synchronous HDLC such as the Microgate SyncLink adapter. This driver can be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called n_hdlc. If you want to do that, say M here. config N_GSM tristate "GSM MUX line discipline support (EXPERIMENTAL)" depends on NET help This line discipline provides support for the GSM MUX protocol and presents the mux as a set of 61 individual tty devices. config TRACE_ROUTER tristate "Trace data router for MIPI P1149.7 cJTAG standard" depends on TRACE_SINK default n help The trace router uses the Linux tty line discipline framework to route trace data coming from a tty port (say UART for example) to the trace sink line discipline driver and to another tty port (say USB). This is part of a solution for the MIPI P1149.7, compact JTAG, standard, which is for debugging mobile devices. The PTI driver in drivers/misc/pti.c defines the majority of this MIPI solution. You should select this driver if the target kernel is meant for a mobile device containing a modem. Then you will need to select "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline driver. config TRACE_SINK tristate "Trace data sink for MIPI P1149.7 cJTAG standard" default n help The trace sink uses the Linux line discipline framework to receive trace data coming from the trace router line discipline driver to a user-defined tty port target, like USB. This is to provide a way to extract modem trace data on devices that do not have a PTI HW module, or just need modem trace data to come out of a different HW output port. This is part of a solution for the P1149.7, compact JTAG, standard. If you select this option, you need to select "Trace data router for MIPI P1149.7 cJTAG standard". config PPC_EPAPR_HV_BYTECHAN bool "ePAPR hypervisor byte channel driver" depends on PPC select EPAPR_PARAVIRT help This driver creates /dev entries for each ePAPR hypervisor byte channel, thereby allowing applications to communicate with byte channels as if they were serial ports. config PPC_EARLY_DEBUG_EHV_BC bool "Early console (udbg) support for ePAPR hypervisors" depends on PPC_EPAPR_HV_BYTECHAN=y help Select this option to enable early console (a.k.a. "udbg") support via an ePAPR byte channel. You also need to choose the byte channel handle below. config PPC_EARLY_DEBUG_EHV_BC_HANDLE int "Byte channel handle for early console (udbg)" depends on PPC_EARLY_DEBUG_EHV_BC default 0 help If you want early console (udbg) output through a byte channel, specify the handle of the byte channel to use. For this to work, the byte channel driver must be compiled in-kernel, not as a module. Note that only one early console driver can be enabled, so don't enable any others if you enable this one. If the number you specify is not a valid byte channel handle, then there simply will be no early console output. This is true also if you don't boot under a hypervisor at all. config GOLDFISH_TTY tristate "Goldfish TTY Driver" depends on GOLDFISH help Console and system TTY driver for the Goldfish virtual platform. config DA_TTY bool "DA TTY" depends on METAG_DA select SERIAL_NONSTANDARD help This enables a TTY on a Dash channel. config DA_CONSOLE bool "DA Console" depends on DA_TTY help This enables a console on a Dash channel. endif # TTY if TTY config HVC_DRIVER bool help Generic "hypervisor virtual console" infrastructure for various hypervisors (pSeries, iSeries, Xen, lguest). It will automatically be selected if one of the back-end console drivers is selected. config HVC_IRQ bool config HVC_CONSOLE bool "pSeries Hypervisor Virtual Console support" depends on PPC_PSERIES select HVC_DRIVER select HVC_IRQ help pSeries machines when partitioned support a hypervisor virtual console. This driver allows each pSeries partition to have a console which is accessed via the HMC. config HVC_OLD_HVSI bool "Old driver for pSeries serial port (/dev/hvsi*)" depends on HVC_CONSOLE default n config HVC_OPAL bool "OPAL Console support" depends on PPC_POWERNV select HVC_DRIVER select HVC_IRQ default y help PowerNV machines running under OPAL need that driver to get a console config HVC_RTAS bool "IBM RTAS Console support" depends on PPC_RTAS select HVC_DRIVER help IBM Console device driver which makes use of RTAS config HVC_BEAT bool "Toshiba's Beat Hypervisor Console support" depends on PPC_CELLEB select HVC_DRIVER help Toshiba's Cell Reference Set Beat Console device driver config HVC_IUCV bool "z/VM IUCV Hypervisor console support (VM only)" depends on S390 select HVC_DRIVER select IUCV default y help This driver provides a Hypervisor console (HVC) back-end to access a Linux (console) terminal via a z/VM IUCV communication path. config HVC_XEN bool "Xen Hypervisor Console support" depends on XEN select HVC_DRIVER select HVC_IRQ default y help Xen virtual console device driver config HVC_XEN_FRONTEND bool "Xen Hypervisor Multiple Consoles support" depends on HVC_XEN select XEN_XENBUS_FRONTEND default y help Xen driver for secondary virtual consoles config HVC_UDBG bool "udbg based fake hypervisor console" depends on PPC select HVC_DRIVER default n help This is meant to be used during HW bring up or debugging when no other console mechanism exist but udbg, to get you a quick console for userspace. Do NOT enable in production kernels. config HVC_DCC bool "ARM JTAG DCC console" depends on ARM select HVC_DRIVER help This console uses the JTAG DCC on ARM to create a console under the HVC driver. This console is used through a JTAG only on ARM. If you don't have a JTAG then you probably don't want this option. config HVC_BFIN_JTAG bool "Blackfin JTAG console" depends on BLACKFIN select HVC_DRIVER help This console uses the Blackfin JTAG to create a console under the the HVC driver. If you don't have JTAG, then you probably don't want this option. config HVCS tristate "IBM Hypervisor Virtual Console Server support" depends on PPC_PSERIES && HVC_CONSOLE help Partitionable IBM Power5 ppc64 machines allow hosting of firmware virtual consoles from one Linux partition by another Linux partition. This driver allows console data from Linux partitions to be accessed through TTY device interfaces in the device tree of a Linux partition running this driver. To compile this driver as a module, choose M here: the module will be called hvcs. Additionally, this module will depend on arch specific APIs exported from hvcserver.ko which will also be compiled when this driver is built as a module. endif # TTY # # The 8250/16550 serial drivers. You shouldn't be in this list unless # you somehow have an implicit or explicit dependency on SERIAL_8250. # config SERIAL_8250 tristate "8250/16550 and compatible serial support" select SERIAL_CORE ---help--- This selects whether you want to include the driver for the standard serial ports. The standard answer is Y. People who might say N here are those that are setting up dedicated Ethernet WWW/FTP servers, or users that have one of the various bus mice instead of a serial mouse and don't intend to use their machine's standard serial port for anything. (Note that the Cyclades multi serial port driver does not need this driver built in for it to work.) To compile this driver as a module, choose M here: the module will be called 8250. [WARNING: Do not compile this driver as a module if you are using non-standard serial ports, since the configuration information will be lost when the driver is unloaded. This limitation may be lifted in the future.] BTW1: If you have a mouseman serial mouse which is not recognized by the X window system, try running gpm first. BTW2: If you intend to use a software modem (also called Winmodem) under Linux, forget it. These modems are crippled and require proprietary drivers which are only available under Windows. Most people will say Y or M here, so that they can use serial mice, modems and similar devices connecting to the standard serial ports. config SERIAL_8250_DEPRECATED_OPTIONS bool "Support 8250_core.* kernel options (DEPRECATED)" depends on SERIAL_8250 default y ---help--- In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to accept kernel parameters in both forms like 8250_core.nr_uarts=4 and 8250.nr_uarts=4. We now renamed the module back to 8250, but if anybody noticed in 3.7 and changed their userspace we still have to keep the 8250_core.* options around until they revert the changes they already did. If 8250 is built as a module, this adds 8250_core alias instead. If you did not notice yet and/or you have userspace from pre-3.7, it is safe (and recommended) to say N here. config SERIAL_8250_PNP bool "8250/16550 PNP device support" if EXPERT depends on SERIAL_8250 && PNP default y ---help--- This builds standard PNP serial support. You may be able to disable this feature if you only need legacy serial support. config SERIAL_8250_CONSOLE bool "Console on 8250/16550 and compatible serial port" depends on SERIAL_8250=y select SERIAL_CORE_CONSOLE ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader (grub or lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. You can set that using a kernel command line option such as "console=uart8250,io,0x3f8,9600n8" "console=uart8250,mmio,0xff5e0000,115200n8". and it will switch to normal serial console when the corresponding port is ready. "earlycon=uart8250,io,0x3f8,9600n8" "earlycon=uart8250,mmio,0xff5e0000,115200n8". it will not only setup early console. If unsure, say N. config FIX_EARLYCON_MEM bool depends on X86 default y config SERIAL_8250_GSC tristate depends on SERIAL_8250 && GSC default SERIAL_8250 config SERIAL_8250_DMA bool "DMA support for 16550 compatible UART controllers" if EXPERT depends on SERIAL_8250 && DMADEVICES=y default SERIAL_8250 help This builds DMA support that can be used with 8250/16650 compatible UART controllers that support DMA signaling. config SERIAL_8250_PCI tristate "8250/16550 PCI device support" if EXPERT depends on SERIAL_8250 && PCI default SERIAL_8250 help This builds standard PCI serial support. You may be able to disable this feature if you only need legacy serial support. Saves about 9K. Note that serial ports on NetMos 9835 Multi-I/O cards are handled by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. config SERIAL_8250_HP300 tristate depends on SERIAL_8250 && HP300 default SERIAL_8250 config SERIAL_8250_CS tristate "8250/16550 PCMCIA device support" depends on PCMCIA && SERIAL_8250 ---help--- Say Y here to enable support for 16-bit PCMCIA serial devices, including serial port cards, modems, and the modem functions of multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are credit-card size devices often used with laptops.) To compile this driver as a module, choose M here: the module will be called serial_cs. If unsure, say N. config SERIAL_8250_NR_UARTS int "Maximum number of 8250/16550 serial ports" depends on SERIAL_8250 default "4" help Set this to the number of serial ports you want the driver to support. This includes any ports discovered via ACPI or PCI enumeration and any ports that may be added at run-time via hot-plug, or any ISA multi-port serial cards. config SERIAL_8250_RUNTIME_UARTS int "Number of 8250/16550 serial ports to register at runtime" depends on SERIAL_8250 range 0 SERIAL_8250_NR_UARTS default "4" help Set this to the maximum number of serial ports you want the kernel to register at boot time. This can be overridden with the module parameter "nr_uarts", or boot-time parameter 8250.nr_uarts config SERIAL_8250_EXTENDED bool "Extended 8250/16550 serial driver options" depends on SERIAL_8250 help If you wish to use any non-standard features of the standard "dumb" driver, say Y here. This includes HUB6 support, shared serial interrupts, special multiport support, support for more than the four COM 1/2/3/4 boards, etc. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about serial driver options. If unsure, say N. config SERIAL_8250_MANY_PORTS bool "Support more than 4 legacy serial ports" depends on SERIAL_8250_EXTENDED && !IA64 help Say Y here if you have dumb serial boards other than the four standard COM 1/2/3/4 ports. This may happen if you have an AST FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available from ), or other custom serial port hardware which acts similar to standard serial port hardware. If you only use the standard COM 1/2/3/4 ports, you can say N here to save some memory. You can also say Y if you have an "intelligent" multiport card such as Cyclades, Digiboards, etc. # # Multi-port serial cards # config SERIAL_8250_FOURPORT tristate "Support Fourport cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have an AST FourPort serial board. To compile this driver as a module, choose M here: the module will be called 8250_fourport. config SERIAL_8250_ACCENT tristate "Support Accent cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have an Accent Async serial board. To compile this driver as a module, choose M here: the module will be called 8250_accent. config SERIAL_8250_BOCA tristate "Support Boca cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have a Boca serial board. Please read the Boca mini-HOWTO, available from To compile this driver as a module, choose M here: the module will be called 8250_boca. config SERIAL_8250_EXAR_ST16C554 tristate "Support Exar ST16C554/554D Quad UART" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help The Uplogix Envoy TU301 uses this Exar Quad UART. If you are tinkering with your Envoy TU301, or have a machine with this UART, say Y here. To compile this driver as a module, choose M here: the module will be called 8250_exar_st16c554. config SERIAL_8250_HUB6 tristate "Support Hub6 cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have a HUB6 serial board. To compile this driver as a module, choose M here: the module will be called 8250_hub6. # # Misc. options/drivers. # config SERIAL_8250_SHARE_IRQ bool "Support for sharing serial interrupts" depends on SERIAL_8250_EXTENDED help Some serial boards have hardware support which allows multiple dumb serial ports on the same board to share a single IRQ. To enable support for this in the serial driver, say Y here. config SERIAL_8250_DETECT_IRQ bool "Autodetect IRQ on standard ports (unsafe)" depends on SERIAL_8250_EXTENDED help Say Y here if you want the kernel to try to guess which IRQ to use for your serial port. This is considered unsafe; it is far better to configure the IRQ in a boot script using the setserial command. If unsure, say N. config SERIAL_8250_RSA bool "Support RSA serial ports" depends on SERIAL_8250_EXTENDED help ::: To be written ::: config SERIAL_8250_ACORN tristate "Acorn expansion card serial port support" depends on ARCH_ACORN && SERIAL_8250 help If you have an Atomwide Serial card or Serial Port card for an Acorn system, say Y to this option. The driver can handle 1, 2, or 3 port cards. If unsure, say N. config SERIAL_8250_FSL bool depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550 default PPC config SERIAL_8250_DW tristate "Support for Synopsys DesignWare 8250 quirks" depends on SERIAL_8250 help Selecting this option will enable handling of the extra features present in the Synopsys DesignWare APB UART. config SERIAL_8250_EM tristate "Support for Emma Mobile integrated serial port" depends on SERIAL_8250 && ARM && HAVE_CLK help Selecting this option will add support for the integrated serial port hardware found on the Emma Mobile line of processors. If unsure, say N. config SERIAL_8250_RT288X bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" depends on SERIAL_8250 && (SOC_RT288X || SOC_RT305X || SOC_RT3883) help If you have a Ralink RT288x/RT305x SoC based board and want to use the serial port, say Y to this option. The driver can handle up to 2 serial ports. If unsure, say N. # # Serial device configuration # if TTY menu "Serial drivers" depends on HAS_IOMEM source "drivers/tty/serial/8250/Kconfig" comment "Non-8250 serial port support" config SERIAL_AMBA_PL010 tristate "ARM AMBA PL010 serial port support" depends on ARM_AMBA && (BROKEN || !ARCH_VERSATILE) select SERIAL_CORE help This selects the ARM(R) AMBA(R) PrimeCell PL010 UART. If you have an Integrator/AP or Integrator/PP2 platform, or if you have a Cirrus Logic EP93xx CPU, say Y or M here. If unsure, say N. config SERIAL_AMBA_PL010_CONSOLE bool "Support for console on AMBA serial port" depends on SERIAL_AMBA_PL010=y select SERIAL_CORE_CONSOLE ---help--- Say Y here if you wish to use an AMBA PrimeCell UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyAM0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_AMBA_PL011 tristate "ARM AMBA PL011 serial port support" depends on ARM_AMBA select SERIAL_CORE help This selects the ARM(R) AMBA(R) PrimeCell PL011 UART. If you have an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M here. If unsure, say N. config SERIAL_AMBA_PL011_CONSOLE bool "Support for console on AMBA serial port" depends on SERIAL_AMBA_PL011=y select SERIAL_CORE_CONSOLE ---help--- Say Y here if you wish to use an AMBA PrimeCell UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyAMA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_SB1250_DUART tristate "BCM1xxx on-chip DUART serial support" depends on SIBYTE_SB1xxx_SOC=y select SERIAL_CORE default y ---help--- Support for the asynchronous serial interface (DUART) included in the BCM1250 and derived System-On-a-Chip (SOC) devices. Note that the letter D in DUART stands for "dual", which is how the device is implemented. Depending on the SOC configuration there may be one or more DUARTs available of which all are handled. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called sb1250-duart. config SERIAL_SB1250_DUART_CONSOLE bool "Support for console on a BCM1xxx DUART serial port" depends on SERIAL_SB1250_DUART=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). If unsure, say Y. config SERIAL_ATMEL bool "AT91 / AT32 on-chip serial port support" depends on ARCH_AT91 || AVR32 select SERIAL_CORE help This enables the driver for the on-chip UARTs of the Atmel AT91 and AT32 processors. config SERIAL_ATMEL_CONSOLE bool "Support for console on AT91 / AT32 serial port" depends on SERIAL_ATMEL=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use an on-chip UART on a Atmel AT91 or AT32 processor as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_ATMEL_PDC bool "Support DMA transfers on AT91 / AT32 serial port" depends on SERIAL_ATMEL default y help Say Y here if you wish to use the PDC to do DMA transfers to and from the Atmel AT91 / AT32 serial port. In order to actually use DMA transfers, make sure that the use_dma_tx and use_dma_rx members in the atmel_uart_data struct is set appropriately for each port. Note that break and error handling currently doesn't work properly when DMA is enabled. Make sure that ports where this matters don't use DMA. config SERIAL_ATMEL_TTYAT bool "Install as device ttyATn instead of ttySn" depends on SERIAL_ATMEL=y help Say Y here if you wish to have the internal AT91 / AT32 UARTs appear as /dev/ttyATn (major 204, minor starting at 154) instead of the normal /dev/ttySn (major 4, minor starting at 64). This is necessary if you also want other UARTs, such as external 8250/16C550 compatible UARTs. The ttySn nodes are legally reserved for the 8250 serial driver but are often misused by other serial drivers. To use this, you should create suitable ttyATn device nodes in /dev/, and pass "console=ttyATn" to the kernel. Say Y if you have an external 8250/16C550 UART. If unsure, say N. config SERIAL_KGDB_NMI bool "Serial console over KGDB NMI debugger port" depends on KGDB_SERIAL_CONSOLE help This special driver allows you to temporary use NMI debugger port as a normal console (assuming that the port is attached to KGDB). Unlike KDB's disable_nmi command, with this driver you are always able to go back to the debugger using KGDB escape sequence ($3#33). This is because this console driver processes the input in NMI context, and thus is able to intercept the magic sequence. Note that since the console interprets input and uses polling communication methods, for things like PPP you still must fully detach debugger port from the KGDB NMI (i.e. disable_nmi), and use raw console. If unsure, say N. config SERIAL_KS8695 bool "Micrel KS8695 (Centaur) serial port support" depends on ARCH_KS8695 select SERIAL_CORE help This selects the Micrel Centaur KS8695 UART. Say Y here. config SERIAL_KS8695_CONSOLE bool "Support for console on KS8695 (Centaur) serial port" depends on SERIAL_KS8695=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use a KS8695 (Centaur) UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_CLPS711X tristate "CLPS711X serial port support" depends on ARCH_CLPS711X select SERIAL_CORE default y help This enables the driver for the on-chip UARTs of the Cirrus Logic EP711x/EP721x/EP731x processors. config SERIAL_CLPS711X_CONSOLE bool "Support for console on CLPS711X serial port" depends on SERIAL_CLPS711X=y select SERIAL_CORE_CONSOLE help Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyCL1". config SERIAL_SAMSUNG tristate "Samsung SoC serial support" depends on PLAT_SAMSUNG select SERIAL_CORE help Support for the on-chip UARTs on the Samsung S3C24XX series CPUs, providing /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of these ports, depending on how the serial port pins are configured. config SERIAL_SAMSUNG_UARTS_4 bool depends on PLAT_SAMSUNG default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) help Internal node for the common case of 4 Samsung compatible UARTs config SERIAL_SAMSUNG_UARTS int depends on PLAT_SAMSUNG default 6 if CPU_S5P6450 default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 default 3 help Select the number of available UART ports for the Samsung S3C serial driver config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LL help Add support for debugging the serial driver. Since this is generally being used as a console, we use our own output routines that go via the low-level debug printascii() function. config SERIAL_SAMSUNG_CONSOLE bool "Support for console on Samsung SoC serial port" depends on SERIAL_SAMSUNG=y select SERIAL_CORE_CONSOLE help Allow selection of the S3C24XX on-board serial ports for use as an virtual console. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySACx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_SIRFSOC tristate "SiRF SoC Platform Serial port support" depends on ARCH_SIRF select SERIAL_CORE help Support for the on-chip UART on the CSR SiRFprimaII series, providing /dev/ttySiRF0, 1 and 2 (note, some machines may not provide all of these ports, depending on how the serial port pins are configured). config SERIAL_SIRFSOC_CONSOLE bool "Support for console on SiRF SoC serial port" depends on SERIAL_SIRFSOC=y select SERIAL_CORE_CONSOLE help Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySiRFx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_TEGRA tristate "NVIDIA Tegra20/30 SoC serial controller" depends on ARCH_TEGRA && TEGRA20_APB_DMA select SERIAL_CORE help Support for the on-chip UARTs on the NVIDIA Tegra series SOCs providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not provide all of these ports, depending on how the serial port are enabled). This driver uses the APB DMA to achieve higher baudrate and better performance. config SERIAL_MAX3100 tristate "MAX3100 support" depends on SPI select SERIAL_CORE help MAX3100 chip support config SERIAL_MAX310X bool "MAX310X support" depends on SPI_MASTER select SERIAL_CORE select REGMAP_SPI if SPI_MASTER default n help This selects support for an advanced UART from Maxim (Dallas). Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830. Each IC contains 128 words each of receive and transmit FIFO that can be controlled through I2C or high-speed SPI. Say Y here if you want to support this ICs. config SERIAL_DZ bool "DECstation DZ serial driver" depends on MACH_DECSTATION && 32BIT select SERIAL_CORE default y ---help--- DZ11-family serial controllers for DECstations and VAXstations, including the DC7085, M7814, and M7819. config SERIAL_DZ_CONSOLE bool "Support console on DECstation DZ serial driver" depends on SERIAL_DZ=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Note that the firmware uses ttyS3 as the serial console on DECstations that use this driver. If unsure, say Y. config SERIAL_ZS tristate "DECstation Z85C30 serial support" depends on MACH_DECSTATION select SERIAL_CORE default y ---help--- Support for the Zilog 85C350 serial communications controller used for serial ports in newer DECstation systems. These include the DECsystem 5900 and all models of the DECstation and DECsystem 5000 systems except from model 200. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called zs. config SERIAL_ZS_CONSOLE bool "Support for console on a DECstation Z85C30 serial port" depends on SERIAL_ZS=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Note that the firmware uses ttyS1 as the serial console on the Maxine and ttyS3 on the others using this driver. If unsure, say Y. config SERIAL_21285 tristate "DC21285 serial port support" depends on FOOTBRIDGE select SERIAL_CORE help If you have a machine based on a 21285 (Footbridge) StrongARM(R)/ PCI bridge you can enable its onboard serial port by enabling this option. config SERIAL_21285_CONSOLE bool "Console on DC21285 serial port" depends on SERIAL_21285=y select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the 21285 footbridge you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyFB". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_MPSC bool "Marvell MPSC serial port support" depends on MV64X60 select SERIAL_CORE help Say Y here if you want to use the Marvell MPSC serial controller. config SERIAL_MPSC_CONSOLE bool "Support for console on Marvell MPSC serial port" depends on SERIAL_MPSC select SERIAL_CORE_CONSOLE help Say Y here if you want to support a serial console on a Marvell MPSC. config SERIAL_PXA bool "PXA serial port support" depends on ARCH_PXA || ARCH_MMP select SERIAL_CORE help If you have a machine based on an Intel XScale PXA2xx CPU you can enable its onboard serial ports by enabling this option. config SERIAL_PXA_CONSOLE bool "Console on PXA serial port" depends on SERIAL_PXA select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the Intel XScale PXA CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_SA1100 bool "SA1100 serial port support" depends on ARCH_SA1100 select SERIAL_CORE help If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you can enable its onboard serial port by enabling this option. Please read for further info. config SERIAL_SA1100_CONSOLE bool "Console on SA1100 serial port" depends on SERIAL_SA1100 select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the SA1100/SA1110 StrongARM CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_MRST_MAX3110 tristate "SPI UART driver for Max3110" depends on SPI_DW_PCI select SERIAL_CORE select SERIAL_CORE_CONSOLE help This is the UART protocol driver for the MAX3110 device on the Intel Moorestown platform. On other systems use the max3100 driver. config SERIAL_MFD_HSU tristate "Medfield High Speed UART support" depends on PCI select SERIAL_CORE config SERIAL_MFD_HSU_CONSOLE boolean "Medfile HSU serial console support" depends on SERIAL_MFD_HSU=y select SERIAL_CORE_CONSOLE config SERIAL_BFIN tristate "Blackfin serial port support" depends on BLACKFIN select SERIAL_CORE select SERIAL_BFIN_UART0 if (BF531 || BF532 || BF533 || BF561) help Add support for the built-in UARTs on the Blackfin. To compile this driver as a module, choose M here: the module is named bfin_uart.ko. config SERIAL_BFIN_CONSOLE bool "Console on Blackfin serial port" depends on SERIAL_BFIN=y select SERIAL_CORE_CONSOLE choice prompt "UART Mode" depends on SERIAL_BFIN default SERIAL_BFIN_DMA help This driver supports the built-in serial ports of the Blackfin family of CPUs config SERIAL_BFIN_DMA bool "DMA mode" depends on !DMA_UNCACHED_NONE && KGDB_SERIAL_CONSOLE=n help This driver works under DMA mode. If this option is selected, the blackfin simple dma driver is also enabled. config SERIAL_BFIN_PIO bool "PIO mode" help This driver works under PIO mode. endchoice config SERIAL_BFIN_UART0 bool "Enable UART0" depends on SERIAL_BFIN help Enable UART0 config BFIN_UART0_CTSRTS bool "Enable UART0 hardware flow control" depends on SERIAL_BFIN_UART0 help Enable hardware flow control in the driver. config SERIAL_BFIN_UART1 bool "Enable UART1" depends on SERIAL_BFIN && (!BF531 && !BF532 && !BF533 && !BF561) help Enable UART1 config BFIN_UART1_CTSRTS bool "Enable UART1 hardware flow control" depends on SERIAL_BFIN_UART1 help Enable hardware flow control in the driver. config SERIAL_BFIN_UART2 bool "Enable UART2" depends on SERIAL_BFIN && (BF54x || BF538 || BF539) help Enable UART2 config BFIN_UART2_CTSRTS bool "Enable UART2 hardware flow control" depends on SERIAL_BFIN_UART2 help Enable hardware flow control in the driver. config SERIAL_BFIN_UART3 bool "Enable UART3" depends on SERIAL_BFIN && (BF54x) help Enable UART3 config BFIN_UART3_CTSRTS bool "Enable UART3 hardware flow control" depends on SERIAL_BFIN_UART3 help Enable hardware flow control in the driver. config SERIAL_IMX tristate "IMX serial port support" depends on ARCH_MXC select SERIAL_CORE select RATIONAL help If you have a machine based on a Motorola IMX CPU you can enable its onboard serial port by enabling this option. config SERIAL_IMX_CONSOLE bool "Console on IMX serial port" depends on SERIAL_IMX=y select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the Freescale IMX CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttymxc0". (Try "man bootparam" or see the documentation of your bootloader about how to pass options to the kernel at boot time.) config SERIAL_UARTLITE tristate "Xilinx uartlite serial port support" depends on PPC32 || MICROBLAZE || MFD_TIMBERDALE || ARCH_ZYNQ select SERIAL_CORE help Say Y here if you want to use the Xilinx uartlite serial controller. To compile this driver as a module, choose M here: the module will be called uartlite. config SERIAL_UARTLITE_CONSOLE bool "Support for console on Xilinx uartlite serial port" depends on SERIAL_UARTLITE=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use a Xilinx uartlite as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_SUNCORE bool depends on SPARC select SERIAL_CORE select SERIAL_CORE_CONSOLE default y config SERIAL_SUNZILOG tristate "Sun Zilog8530 serial support" depends on SPARC help This driver supports the Zilog8530 serial ports found on many Sparc systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNZILOG_CONSOLE bool "Console on Sun Zilog8530 serial port" depends on SERIAL_SUNZILOG=y help If you would like to be able to use the Zilog8530 serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_SUNSU tristate "Sun SU serial support" depends on SPARC && PCI help This driver supports the 8250 serial ports that run the keyboard and mouse on (PCI) UltraSPARC systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNSU_CONSOLE bool "Console on Sun SU serial port" depends on SERIAL_SUNSU=y help If you would like to be able to use the SU serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_MUX tristate "Serial MUX support" depends on GSC select SERIAL_CORE default y ---help--- Saying Y here will enable the hardware MUX serial driver for the Nova, K class systems and D class with a 'remote control card'. The hardware MUX is not 8250/16550 compatible therefore the /dev/ttyB0 device is shared between the Serial MUX and the PDC software console. The following steps need to be completed to use the Serial MUX: 1. create the device entry (mknod /dev/ttyB0 c 11 0) 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0 3. Add device ttyB0 to /etc/securetty (if you want to log on as root on this console.) 4. Change the kernel command console parameter to: console=ttyB0 config SERIAL_MUX_CONSOLE bool "Support for console on serial MUX" depends on SERIAL_MUX=y select SERIAL_CORE_CONSOLE default y config PDC_CONSOLE bool "PDC software console support" depends on PARISC && !SERIAL_MUX && VT default n help Saying Y here will enable the software based PDC console to be used as the system console. This is useful for machines in which the hardware based console has not been written yet. The following steps must be competed to use the PDC console: 1. create the device entry (mknod /dev/ttyB0 c 11 0) 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0 3. Add device ttyB0 to /etc/securetty (if you want to log on as root on this console.) 4. Change the kernel command console parameter to: console=ttyB0 config SERIAL_SUNSAB tristate "Sun Siemens SAB82532 serial support" depends on SPARC && PCI help This driver supports the Siemens SAB82532 DUSCC serial ports on newer (PCI) UltraSPARC systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNSAB_CONSOLE bool "Console on Sun Siemens SAB82532 serial port" depends on SERIAL_SUNSAB=y help If you would like to be able to use the SAB82532 serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_SUNHV bool "Sun4v Hypervisor Console support" depends on SPARC64 help This driver supports the console device found on SUN4V Sparc systems. Say Y if you want to be able to use this device. config SERIAL_IP22_ZILOG tristate "SGI Zilog8530 serial support" depends on SGI_HAS_ZILOG select SERIAL_CORE help This driver supports the Zilog8530 serial ports found on SGI systems. Say Y or M if you want to be able to these serial ports. config SERIAL_IP22_ZILOG_CONSOLE bool "Console on SGI Zilog8530 serial port" depends on SERIAL_IP22_ZILOG=y select SERIAL_CORE_CONSOLE config SERIAL_SH_SCI tristate "SuperH SCI(F) serial port support" depends on HAVE_CLK && (SUPERH || ARM || COMPILE_TEST) select SERIAL_CORE config SERIAL_SH_SCI_NR_UARTS int "Maximum number of SCI(F) serial ports" depends on SERIAL_SH_SCI default "2" config SERIAL_SH_SCI_CONSOLE bool "Support for console on SuperH SCI(F)" depends on SERIAL_SH_SCI=y select SERIAL_CORE_CONSOLE config SERIAL_SH_SCI_DMA bool "DMA support" depends on SERIAL_SH_SCI && SH_DMAE config SERIAL_PNX8XXX bool "Enable PNX8XXX SoCs' UART Support" depends on SOC_PNX833X select SERIAL_CORE help If you have a MIPS-based Philips SoC such as PNX8330 and you want to use serial ports, say Y. Otherwise, say N. config SERIAL_PNX8XXX_CONSOLE bool "Enable PNX8XX0 serial console" depends on SERIAL_PNX8XXX select SERIAL_CORE_CONSOLE help If you have a MIPS-based Philips SoC such as PNX8330 and you want to use serial console, say Y. Otherwise, say N. config SERIAL_HS_LPC32XX tristate "LPC32XX high speed serial port support" depends on ARCH_LPC32XX && OF select SERIAL_CORE help Support for the LPC32XX high speed serial ports (up to 900kbps). Those are UARTs completely different from the Standard UARTs on the LPC32XX SoC. Choose M or Y here to build this driver. config SERIAL_HS_LPC32XX_CONSOLE bool "Enable LPC32XX high speed UART serial console" depends on SERIAL_HS_LPC32XX select SERIAL_CORE_CONSOLE help If you would like to be able to use one of the high speed serial ports on the LPC32XX as the console, you can do so by answering Y to this option. config SERIAL_CORE tristate config SERIAL_CORE_CONSOLE bool config CONSOLE_POLL bool config SERIAL_68328 bool "68328 serial support" depends on M68328 || M68EZ328 || M68VZ328 help This driver supports the built-in serial port of the Motorola 68328 (standard, EZ and VZ varieties). config SERIAL_68328_RTS_CTS bool "Support RTS/CTS on 68328 serial port" depends on SERIAL_68328 config SERIAL_MCF bool "Coldfire serial support" depends on COLDFIRE select SERIAL_CORE help This serial driver supports the Freescale Coldfire serial ports. config SERIAL_MCF_BAUDRATE int "Default baudrate for Coldfire serial ports" depends on SERIAL_MCF default 19200 help This setting lets you define what the default baudrate is for the ColdFire serial ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_MCF_CONSOLE bool "Coldfire serial console support" depends on SERIAL_MCF select SERIAL_CORE_CONSOLE help Enable a ColdFire internal serial port to be the system console. config SERIAL_PMACZILOG tristate "Mac or PowerMac z85c30 ESCC support" depends on (M68K && MAC) || (PPC_OF && PPC_PMAC) select SERIAL_CORE help This driver supports the Zilog z85C30 serial ports found on (Power)Mac machines. Say Y or M if you want to be able to these serial ports. config SERIAL_PMACZILOG_TTYS bool "Use ttySn device nodes for Zilog z85c30" depends on SERIAL_PMACZILOG help The pmac_zilog driver for the z85C30 chip on many powermacs historically used the device numbers for /dev/ttySn. The 8250 serial port driver also uses these numbers, which means the two drivers being unable to coexist; you could not use both z85C30 and 8250 type ports at the same time. If this option is not selected, the pmac_zilog driver will use the device numbers allocated for /dev/ttyPZn. This allows the pmac_zilog and 8250 drivers to co-exist, but may cause existing userspace setups to break. Programs that need to access the built-in serial ports on powermacs will need to be reconfigured to use /dev/ttyPZn instead of /dev/ttySn. If you enable this option, any z85c30 ports in the system will be registered as ttyS0 onwards as in the past, and you will be unable to use the 8250 module for PCMCIA or other 16C550-style UARTs. Say N unless you need the z85c30 ports on your (Power)Mac to appear as /dev/ttySn. config SERIAL_PMACZILOG_CONSOLE bool "Console on Mac or PowerMac z85c30 serial port" depends on SERIAL_PMACZILOG=y select SERIAL_CORE_CONSOLE help If you would like to be able to use the z85c30 serial port on your (Power)Mac as the console, you can do so by answering Y to this option. config SERIAL_CPM tristate "CPM SCC/SMC serial port support" depends on CPM2 || 8xx select SERIAL_CORE help This driver supports the SCC and SMC serial ports on Motorola embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx) config SERIAL_CPM_CONSOLE bool "Support for console on CPM SCC/SMC serial port" depends on SERIAL_CPM=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use a SCC or SMC CPM UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyCPM0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_SGI_L1_CONSOLE bool "SGI Altix L1 serial console support" depends on IA64_GENERIC || IA64_SGI_SN2 select SERIAL_CORE select SERIAL_CORE_CONSOLE help If you have an SGI Altix and you would like to use the system controller serial port as your console (you want this!), say Y. Otherwise, say N. config SERIAL_MPC52xx tristate "Freescale MPC52xx/MPC512x family PSC serial support" depends on PPC_MPC52xx || PPC_MPC512x select SERIAL_CORE help This driver supports MPC52xx and MPC512x PSC serial ports. If you would like to use them, you must answer Y or M to this option. Note that for use as console, it must be included in kernel and not as a module. config SERIAL_MPC52xx_CONSOLE bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port" depends on SERIAL_MPC52xx=y select SERIAL_CORE_CONSOLE help Select this options if you'd like to use one of the PSC serial port of the Freescale MPC52xx family as a console. config SERIAL_MPC52xx_CONSOLE_BAUD int "Freescale MPC52xx/MPC512x family PSC serial port baud" depends on SERIAL_MPC52xx_CONSOLE=y default "9600" help Select the MPC52xx console baud rate. This value is only used if the bootloader doesn't pass in the console baudrate config SERIAL_ICOM tristate "IBM Multiport Serial Adapter" depends on PCI && PPC_PSERIES select SERIAL_CORE select FW_LOADER help This driver is for a family of multiport serial adapters including 2 port RVX, 2 port internal modem, 4 port internal modem and a split 1 port RVX and 1 port internal modem. This driver can also be built as a module. If so, the module will be called icom. config SERIAL_M32R_SIO bool "M32R SIO I/F" depends on M32R default y select SERIAL_CORE help Say Y here if you want to use the M32R serial controller. config SERIAL_M32R_SIO_CONSOLE bool "use SIO console" depends on SERIAL_M32R_SIO=y select SERIAL_CORE_CONSOLE help Say Y here if you want to support a serial console. If you use an M3T-M32700UT or an OPSPUT platform, please say also y for SERIAL_M32R_PLDSIO. config SERIAL_M32R_PLDSIO bool "M32R SIO I/F on a PLD" depends on SERIAL_M32R_SIO=y && (PLAT_OPSPUT || PLAT_USRV || PLAT_M32700UT) default n help Say Y here if you want to use the M32R serial controller on a PLD (Programmable Logic Device). If you use an M3T-M32700UT or an OPSPUT platform, please say Y. config SERIAL_TXX9 bool "TMPTX39XX/49XX SIO support" depends on HAS_TXX9_SERIAL select SERIAL_CORE default y config HAS_TXX9_SERIAL bool config SERIAL_TXX9_NR_UARTS int "Maximum number of TMPTX39XX/49XX SIO ports" depends on SERIAL_TXX9 default "6" config SERIAL_TXX9_CONSOLE bool "TMPTX39XX/49XX SIO Console support" depends on SERIAL_TXX9=y select SERIAL_CORE_CONSOLE config SERIAL_TXX9_STDSERIAL bool "TX39XX/49XX SIO act as standard serial" depends on !SERIAL_8250 && SERIAL_TXX9 config SERIAL_VR41XX tristate "NEC VR4100 series Serial Interface Unit support" depends on CPU_VR41XX select SERIAL_CORE help If you have a NEC VR4100 series processor and you want to use Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU) (not include VR4111/VR4121 DSIU), say Y. Otherwise, say N. config SERIAL_VR41XX_CONSOLE bool "Enable NEC VR4100 series Serial Interface Unit console" depends on SERIAL_VR41XX=y select SERIAL_CORE_CONSOLE help If you have a NEC VR4100 series processor and you want to use a console on a serial port, say Y. Otherwise, say N. config SERIAL_JSM tristate "Digi International NEO PCI Support" depends on PCI select SERIAL_CORE help This is a driver for Digi International's Neo series of cards which provide multiple serial ports. You would need something like this to connect more than two modems to your Linux box, for instance in order to become a dial-in server. This driver supports PCI boards only. If you have a card like this, say Y here, otherwise say N. To compile this driver as a module, choose M here: the module will be called jsm. config SERIAL_SGI_IOC4 tristate "SGI IOC4 controller serial support" depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC4 select SERIAL_CORE help If you have an SGI Altix with an IOC4 based Base IO card and wish to use the serial ports on this card, say Y. Otherwise, say N. config SERIAL_SGI_IOC3 tristate "SGI Altix IOC3 serial support" depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC3 select SERIAL_CORE help If you have an SGI Altix with an IOC3 serial card, say Y or M. Otherwise, say N. config SERIAL_MSM bool "MSM on-chip serial port support" depends on ARCH_MSM select SERIAL_CORE config SERIAL_MSM_CONSOLE bool "MSM serial console support" depends on SERIAL_MSM=y select SERIAL_CORE_CONSOLE config SERIAL_MSM_HS tristate "MSM UART High Speed: Serial Driver" depends on ARCH_MSM select SERIAL_CORE help If you have a machine based on MSM family of SoCs, you can enable its onboard high speed serial port by enabling this option. Choose M here to compile it as a module. The module will be called msm_serial_hs. config SERIAL_VT8500 bool "VIA VT8500 on-chip serial port support" depends on ARCH_VT8500 select SERIAL_CORE config SERIAL_VT8500_CONSOLE bool "VIA VT8500 serial console support" depends on SERIAL_VT8500=y select SERIAL_CORE_CONSOLE config SERIAL_NETX tristate "NetX serial port support" depends on ARCH_NETX select SERIAL_CORE help If you have a machine based on a Hilscher NetX SoC you can enable its onboard serial port by enabling this option. To compile this driver as a module, choose M here: the module will be called netx-serial. config SERIAL_NETX_CONSOLE bool "Console on NetX serial port" depends on SERIAL_NETX=y select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the Hilscher NetX SoC you can make it the console by answering Y to this option. config SERIAL_OF_PLATFORM tristate "Serial port on Open Firmware platform bus" depends on OF depends on SERIAL_8250 || SERIAL_OF_PLATFORM_NWPSERIAL help If you have a PowerPC based system that has serial ports on a platform specific bus, you should enable this option. Currently, only 8250 compatible ports are supported, but others can easily be added. config SERIAL_OMAP tristate "OMAP serial port support" depends on ARCH_OMAP2PLUS select SERIAL_CORE help If you have a machine based on an Texas Instruments OMAP CPU you can enable its onboard serial ports by enabling this option. By enabling this option you take advantage of dma feature available with the omap-serial driver. DMA support can be enabled from platform data. config SERIAL_OMAP_CONSOLE bool "Console on OMAP serial port" depends on SERIAL_OMAP=y select SERIAL_CORE_CONSOLE help Select this option if you would like to use omap serial port as console. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyOx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_OF_PLATFORM_NWPSERIAL tristate "NWP serial port driver" depends on PPC_OF && PPC_DCR select SERIAL_OF_PLATFORM select SERIAL_CORE_CONSOLE select SERIAL_CORE help This driver supports the cell network processor nwp serial device. config SERIAL_OF_PLATFORM_NWPSERIAL_CONSOLE bool "Console on NWP serial port" depends on SERIAL_OF_PLATFORM_NWPSERIAL=y select SERIAL_CORE_CONSOLE help Support for Console on the NWP serial ports. config SERIAL_LANTIQ bool "Lantiq serial driver" depends on LANTIQ select SERIAL_CORE select SERIAL_CORE_CONSOLE help Support for console and UART on Lantiq SoCs. config SERIAL_QE tristate "Freescale QUICC Engine serial port support" depends on QUICC_ENGINE select SERIAL_CORE select FW_LOADER default n help This driver supports the QE serial ports on Freescale embedded PowerPC that contain a QUICC Engine. config SERIAL_SC26XX tristate "SC2681/SC2692 serial port support" depends on SNI_RM select SERIAL_CORE help This is a driver for the onboard serial ports of older RM400 machines. config SERIAL_SC26XX_CONSOLE bool "Console on SC2681/SC2692 serial port" depends on SERIAL_SC26XX=y select SERIAL_CORE_CONSOLE help Support for Console on SC2681/SC2692 serial ports. config SERIAL_SCCNXP tristate "SCCNXP serial port support" depends on !SERIAL_SC26XX select SERIAL_CORE default n help This selects support for an advanced UART from NXP (Philips). Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92, SC28L202, SCC68681 and SCC68692. Positioned as a replacement for the driver SC26XX. config SERIAL_SCCNXP_CONSOLE bool "Console on SCCNXP serial port" depends on SERIAL_SCCNXP=y select SERIAL_CORE_CONSOLE help Support for console on SCCNXP serial ports. config SERIAL_BFIN_SPORT tristate "Blackfin SPORT emulate UART" depends on BLACKFIN select SERIAL_CORE help Enable SPORT emulate UART on Blackfin series. To compile this driver as a module, choose M here: the module will be called bfin_sport_uart. config SERIAL_BFIN_SPORT_CONSOLE bool "Console on Blackfin sport emulated uart" depends on SERIAL_BFIN_SPORT=y select SERIAL_CORE_CONSOLE config SERIAL_BFIN_SPORT0_UART bool "Enable UART over SPORT0" depends on SERIAL_BFIN_SPORT && !(BF542 || BF544) help Enable UART over SPORT0 config SERIAL_BFIN_SPORT0_UART_CTSRTS bool "Enable UART over SPORT0 hardware flow control" depends on SERIAL_BFIN_SPORT0_UART help Enable hardware flow control in the driver. config SERIAL_BFIN_SPORT1_UART bool "Enable UART over SPORT1" depends on SERIAL_BFIN_SPORT help Enable UART over SPORT1 config SERIAL_BFIN_SPORT1_UART_CTSRTS bool "Enable UART over SPORT1 hardware flow control" depends on SERIAL_BFIN_SPORT1_UART help Enable hardware flow control in the driver. config SERIAL_BFIN_SPORT2_UART bool "Enable UART over SPORT2" depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539) help Enable UART over SPORT2 config SERIAL_BFIN_SPORT2_UART_CTSRTS bool "Enable UART over SPORT2 hardware flow control" depends on SERIAL_BFIN_SPORT2_UART help Enable hardware flow control in the driver. config SERIAL_BFIN_SPORT3_UART bool "Enable UART over SPORT3" depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539) help Enable UART over SPORT3 config SERIAL_BFIN_SPORT3_UART_CTSRTS bool "Enable UART over SPORT3 hardware flow control" depends on SERIAL_BFIN_SPORT3_UART help Enable hardware flow control in the driver. config SERIAL_TIMBERDALE tristate "Support for timberdale UART" select SERIAL_CORE ---help--- Add support for UART controller on timberdale. config SERIAL_BCM63XX tristate "bcm63xx serial port support" select SERIAL_CORE depends on BCM63XX help If you have a bcm63xx CPU, you can enable its onboard serial port by enabling this options. To compile this driver as a module, choose M here: the module will be called bcm963xx_uart. config SERIAL_BCM63XX_CONSOLE bool "Console on bcm63xx serial port" depends on SERIAL_BCM63XX=y select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the bcm63xx CPU you can make it the console by answering Y to this option. config SERIAL_GRLIB_GAISLER_APBUART tristate "GRLIB APBUART serial support" depends on OF && SPARC select SERIAL_CORE ---help--- Add support for the GRLIB APBUART serial port. config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE bool "Console on GRLIB APBUART serial port" depends on SERIAL_GRLIB_GAISLER_APBUART=y select SERIAL_CORE_CONSOLE help Support for running a console on the GRLIB APBUART config SERIAL_ALTERA_JTAGUART tristate "Altera JTAG UART support" select SERIAL_CORE help This driver supports the Altera JTAG UART port. config SERIAL_ALTERA_JTAGUART_CONSOLE bool "Altera JTAG UART console support" depends on SERIAL_ALTERA_JTAGUART=y select SERIAL_CORE_CONSOLE help Enable a Altera JTAG UART port to be the system console. config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS bool "Bypass output when no connection" depends on SERIAL_ALTERA_JTAGUART_CONSOLE select SERIAL_CORE_CONSOLE help Bypass console output and keep going even if there is no JTAG terminal connection with the host. config SERIAL_ALTERA_UART tristate "Altera UART support" select SERIAL_CORE help This driver supports the Altera softcore UART port. config SERIAL_ALTERA_UART_MAXPORTS int "Maximum number of Altera UART ports" depends on SERIAL_ALTERA_UART default 4 help This setting lets you define the maximum number of the Altera UART ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_ALTERA_UART_BAUDRATE int "Default baudrate for Altera UART ports" depends on SERIAL_ALTERA_UART default 115200 help This setting lets you define what the default baudrate is for the Altera UART ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_ALTERA_UART_CONSOLE bool "Altera UART console support" depends on SERIAL_ALTERA_UART=y select SERIAL_CORE_CONSOLE help Enable a Altera UART port to be the system console. config SERIAL_IFX6X60 tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)" depends on GPIOLIB && SPI help Support for the IFX6x60 modem devices on Intel MID platforms. config SERIAL_PCH_UART tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART" depends on PCI select SERIAL_CORE help This driver is for PCH(Platform controller Hub) UART of Intel EG20T which is an IOH(Input/Output Hub) for x86 embedded processor. Enabling PCH_DMA, this PCH UART works as DMA mode. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config SERIAL_PCH_UART_CONSOLE bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH" depends on SERIAL_PCH_UART=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use the PCH UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_MSM_SMD bool "Enable tty device interface for some SMD ports" default n depends on MSM_SMD help Enables userspace clients to read and write to some streaming SMD ports via tty device interface for MSM chipset. config SERIAL_MXS_AUART depends on ARCH_MXS tristate "MXS AUART support" select SERIAL_CORE help This driver supports the MXS Application UART (AUART) port. config SERIAL_MXS_AUART_CONSOLE bool "MXS AUART console support" depends on SERIAL_MXS_AUART=y select SERIAL_CORE_CONSOLE help Enable a MXS AUART port to be the system console. config SERIAL_XILINX_PS_UART tristate "Xilinx PS UART support" depends on OF select SERIAL_CORE help This driver supports the Xilinx PS UART port. config SERIAL_XILINX_PS_UART_CONSOLE bool "Xilinx PS UART console support" depends on SERIAL_XILINX_PS_UART=y select SERIAL_CORE_CONSOLE help Enable a Xilinx PS UART port to be the system console. config SERIAL_AR933X tristate "AR933X serial port support" depends on HAVE_CLK && SOC_AR933X select SERIAL_CORE help If you have an Atheros AR933X SOC based board and want to use the built-in UART of the SoC, say Y to this option. To compile this driver as a module, choose M here: the module will be called ar933x_uart. config SERIAL_AR933X_CONSOLE bool "Console on AR933X serial port" depends on SERIAL_AR933X=y select SERIAL_CORE_CONSOLE help Enable a built-in UART port of the AR933X to be the system console. config SERIAL_AR933X_NR_UARTS int "Maximum number of AR933X serial ports" depends on SERIAL_AR933X default "2" help Set this to the number of serial ports you want the driver to support. config SERIAL_EFM32_UART tristate "EFM32 UART/USART port" depends on ARM && (ARCH_EFM32 || COMPILE_TEST) select SERIAL_CORE help This driver support the USART and UART ports on Energy Micro's efm32 SoCs. config SERIAL_EFM32_UART_CONSOLE bool "EFM32 UART/USART console support" depends on SERIAL_EFM32_UART=y select SERIAL_CORE_CONSOLE config SERIAL_TILEGX tristate "TILE-Gx on-chip serial port support" depends on TILEGX select TILE_GXIO_UART select SERIAL_CORE ---help--- This device provides access to the on-chip UARTs on the TILE-Gx processor. config SERIAL_ARC tristate "ARC UART driver support" select SERIAL_CORE help Driver for on-chip UART for ARC(Synopsys) for the legacy FPGA Boards (ML50x/ARCAngel4) config SERIAL_ARC_CONSOLE bool "Console on ARC UART" depends on SERIAL_ARC=y select SERIAL_CORE_CONSOLE help Enable system Console on ARC UART config SERIAL_ARC_NR_PORTS int "Number of ARC UART ports" depends on SERIAL_ARC range 1 3 default "1" help Set this to the number of serial ports you want the driver to support. config SERIAL_RP2 tristate "Comtrol RocketPort EXPRESS/INFINITY support" depends on PCI select SERIAL_CORE help This driver supports the Comtrol RocketPort EXPRESS and RocketPort INFINITY families of PCI/PCIe multiport serial adapters. These adapters use a "RocketPort 2" ASIC that is not compatible with the original RocketPort driver (CONFIG_ROCKETPORT). To compile this driver as a module, choose M here: the module will be called rp2. If you want to compile this driver into the kernel, say Y here. If you don't have a suitable RocketPort card installed, say N. config SERIAL_RP2_NR_UARTS int "Maximum number of RocketPort EXPRESS/INFINITY ports" depends on SERIAL_RP2 default "32" help If multiple cards are present, the default limit of 32 ports may need to be increased. config SERIAL_FSL_LPUART tristate "Freescale lpuart serial port support" select SERIAL_CORE help Support for the on-chip lpuart on some Freescale SOCs. config SERIAL_FSL_LPUART_CONSOLE bool "Console on Freescale lpuart serial port" depends on SERIAL_FSL_LPUART=y select SERIAL_CORE_CONSOLE help If you have enabled the lpuart serial port on the Freescale SoCs, you can make it the console by answering Y to this option. config SERIAL_ST_ASC tristate "ST ASC serial port support" select SERIAL_CORE depends on ARM || COMPILE_TEST help This driver is for the on-chip Asychronous Serial Controller on STMicroelectronics STi SoCs. ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality. It support all industry standard baud rates. If unsure, say N. config SERIAL_ST_ASC_CONSOLE bool "Support for console on ST ASC" depends on SERIAL_ST_ASC=y select SERIAL_CORE_CONSOLE endmenu endif # TTY menuconfig UIO tristate "Userspace I/O drivers" depends on MMU help Enable this to allow the userspace driver core code to be built. This code allows userspace programs easy access to kernel interrupts and memory locations, allowing some drivers to be written in userspace. Note that a small kernel driver is also required for interrupt handling to work properly. If you don't know what to do here, say N. if UIO config UIO_CIF tristate "generic Hilscher CIF Card driver" depends on PCI help Driver for Hilscher CIF DeviceNet and Profibus cards. This driver requires a userspace component called cif that handles all of the heavy lifting and can be found at: To compile this driver as a module, choose M here: the module will be called uio_cif. config UIO_PDRV_GENIRQ tristate "Userspace I/O platform driver with generic IRQ handling" help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. This kernel driver requires that the matching userspace driver handles interrupts in a special way. Userspace is responsible for acknowledging the hardware device if needed, and re-enabling interrupts in the interrupt controller using the write() syscall. If you don't know what to do here, say N. config UIO_DMEM_GENIRQ tristate "Userspace platform driver with generic irq and dynamic memory" depends on HAS_DMA help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. Memory regions can be specified with the same platform device resources as the UIO_PDRV drivers, but dynamic regions can also be specified. The number and size of these regions is static, but the memory allocation is not performed until the associated device file is opened. The memory is freed once the uio device is closed. If you don't know what to do here, say N. config UIO_AEC tristate "AEC video timestamp device" depends on PCI help UIO driver for the Adrienne Electronics Corporation PCI time code device. This device differs from other UIO devices since it uses I/O ports instead of memory mapped I/O. In order to make it possible for UIO to work with this device a utility, uioport, can be used to read and write the ports: git clone git://ifup.org/philips/uioport.git If you compile this as a module, it will be called uio_aec. config UIO_SERCOS3 tristate "Automata Sercos III PCI card driver" depends on PCI help Userspace I/O interface for the Sercos III PCI card from Automata GmbH. The userspace part of this driver will be available for download from the Automata GmbH web site. Automata GmbH: http://www.automataweb.com Sercos III interface: http://www.sercos.com If you compile this as a module, it will be called uio_sercos3. config UIO_PCI_GENERIC tristate "Generic driver for PCI 2.3 and PCI Express cards" depends on PCI help Generic driver that you can bind, dynamically, to any PCI 2.3 compliant and PCI Express card. It is useful, primarily, for virtualization scenarios. If you compile this as a module, it will be called uio_pci_generic. config UIO_NETX tristate "Hilscher NetX Card driver" depends on PCI help Driver for Hilscher NetX based fieldbus cards (cifX, comX). This driver requires a userspace component that comes with the card or is available from Hilscher (http://www.hilscher.com). To compile this driver as a module, choose M here; the module will be called uio_netx. config UIO_PRUSS tristate "Texas Instruments PRUSS driver" depends on ARCH_DAVINCI_DA850 select GENERIC_ALLOCATOR help PRUSS driver for OMAPL138/DA850/AM18XX devices PRUSS driver requires user space components, examples and user space driver is available from below SVN repo - you may use anonymous login https://gforge.ti.com/gf/project/pru_sw/ More info on API is available at below wiki http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader To compile this driver as a module, choose M here: the module will be called uio_pruss. config UIO_MF624 tristate "Humusoft MF624 DAQ PCI card driver" depends on PCI help Userspace I/O interface for the Humusoft MF624 PCI card. A sample userspace application using this driver is available (among other MF624 related information and software components) for download in a git repository: git clone git://rtime.felk.cvut.cz/mf6xx.git If you compile this as a module, it will be called uio_mf624. endif # # USB device configuration # # These are unused now, remove them once they are no longer selected config USB_ARCH_HAS_OHCI bool config USB_OHCI_BIG_ENDIAN_DESC bool config USB_OHCI_BIG_ENDIAN_MMIO bool config USB_OHCI_LITTLE_ENDIAN bool default n if STB03xxx || PPC_MPC52xx default y config USB_ARCH_HAS_EHCI bool config USB_EHCI_BIG_ENDIAN_MMIO bool config USB_EHCI_BIG_ENDIAN_DESC bool config USB_ARCH_HAS_XHCI bool menuconfig USB_SUPPORT bool "USB support" depends on HAS_IOMEM default y ---help--- This option adds core support for Universal Serial Bus (USB). You will also need drivers from the following menu to make use of it. if USB_SUPPORT config USB_COMMON tristate default y depends on USB || USB_GADGET config USB_ARCH_HAS_HCD def_bool y # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. config USB tristate "Support for Host-side USB" depends on USB_ARCH_HAS_HCD select NLS # for UTF-8 strings ---help--- Universal Serial Bus (USB) is a specification for a serial bus subsystem which offers higher speeds and more features than the traditional PC serial port. The bus supplies power to peripherals and allows for hot swapping. Up to 127 USB peripherals can be connected to a single USB host in a tree structure. The USB host is the root of the tree, the peripherals are the leaves and the inner nodes are special USB devices called hubs. Most PCs now have USB host ports, used to connect peripherals such as scanners, keyboards, mice, modems, cameras, disks, flash memory, network links, and printers to the PC. Say Y here if your computer has a host-side USB port and you want to use USB devices. You then need to say Y to at least one of the Host Controller Driver (HCD) options below. Choose a USB 1.1 controller, such as "UHCI HCD support" or "OHCI HCD support", and "EHCI HCD (USB 2.0) support" except for older systems that do not have USB 2.0 support. It doesn't normally hurt to select them all if you are not certain. If your system has a device-side USB port, used in the peripheral side of the USB protocol, see the "USB Gadget" framework instead. After choosing your HCD, then select drivers for the USB peripherals you'll be using. You may want to check out the information provided in and especially the links given in . To compile this driver as a module, choose M here: the module will be called usbcore. if USB source "drivers/usb/core/Kconfig" source "drivers/usb/mon/Kconfig" source "drivers/usb/wusbcore/Kconfig" source "drivers/usb/host/Kconfig" source "drivers/usb/musb/Kconfig" source "drivers/usb/renesas_usbhs/Kconfig" source "drivers/usb/class/Kconfig" source "drivers/usb/storage/Kconfig" source "drivers/usb/image/Kconfig" endif source "drivers/usb/dwc3/Kconfig" source "drivers/usb/chipidea/Kconfig" comment "USB port drivers" if USB config USB_USS720 tristate "USS720 parport driver" depends on PARPORT select PARPORT_NOT_PC ---help--- This driver is for USB parallel port adapters that use the Lucent Technologies USS-720 chip. These cables are plugged into your USB port and provide USB compatibility to peripherals designed with parallel port interfaces. The chip has two modes: automatic mode and manual mode. In automatic mode, it looks to the computer like a standard USB printer. Only printers may be connected to the USS-720 in this mode. The generic USB printer driver ("USB Printer support", above) may be used in that mode, and you can say N here if you want to use the chip only in this mode. Manual mode is not limited to printers, any parallel port device should work. This driver utilizes manual mode. Note however that some operations are three orders of magnitude slower than on a PCI/ISA Parallel Port, so timing critical applications might not work. Say Y here if you own an USS-720 USB->Parport cable and intend to connect anything other than a printer to it. To compile this driver as a module, choose M here: the module will be called uss720. source "drivers/usb/serial/Kconfig" source "drivers/usb/misc/Kconfig" source "drivers/usb/atm/Kconfig" endif # USB source "drivers/usb/phy/Kconfig" source "drivers/usb/gadget/Kconfig" endif # USB_SUPPORT # # USB/ATM DSL configuration # menuconfig USB_ATM tristate "USB DSL modem support" depends on ATM select CRC32 default n help Say Y here if you want to connect a USB Digital Subscriber Line (DSL) modem to your computer's USB port. You will then need to choose your modem from the list below. To compile this driver as a module, choose M here: the module will be called usbatm. if USB_ATM config USB_SPEEDTOUCH tristate "Speedtouch USB support" select FW_LOADER help Say Y here if you have an SpeedTouch USB or SpeedTouch 330 modem. In order to use your modem you will need to install the two parts of the firmware, extracted by the user space tools; see for details. To compile this driver as a module, choose M here: the module will be called speedtch. config USB_CXACRU tristate "Conexant AccessRunner USB support" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the Conexant AccessRunner chipset. In order to use your modem you will need to install the firmware, extracted by the user space tools; see for details. To compile this driver as a module, choose M here: the module will be called cxacru. config USB_UEAGLEATM tristate "ADI 930 and eagle USB DSL modem" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the ADI 930 or eagle chipset. In order to use your modem you will need to install firmwares and CMV (Command Management Variables); see for details. To compile this driver as a module, choose M here: the module will be called ueagle-atm. config USB_XUSBATM tristate "Other USB DSL modem support" help Say Y here if you have a DSL USB modem not explicitly supported by another USB DSL drivers. In order to use your modem you will need to pass the vendor ID, product ID, and endpoint numbers for transmission and reception as module parameters. You may need to initialize the modem using a user space utility (a firmware loader for example). To compile this driver as a module, choose M here: the module will be called xusbatm. endif # USB_ATM config USB_CHIPIDEA tristate "ChipIdea Highspeed Dual Role Controller" depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA help Say Y here if your system has a dual role high speed USB controller based on ChipIdea silicon IP. Currently, only the peripheral mode is supported. When compiled dynamically, the module will be called ci-hdrc.ko. if USB_CHIPIDEA config USB_CHIPIDEA_UDC bool "ChipIdea device controller" depends on USB_GADGET help Say Y here to enable device controller functionality of the ChipIdea driver. config USB_CHIPIDEA_HOST bool "ChipIdea host controller" depends on USB_EHCI_HCD select USB_EHCI_ROOT_HUB_TT help Say Y here to enable host controller functionality of the ChipIdea driver. config USB_CHIPIDEA_DEBUG bool "ChipIdea driver debug" help Say Y here to enable debugging output of the ChipIdea driver. endif # # USB Class driver configuration # comment "USB Device Class drivers" config USB_ACM tristate "USB Modem (CDC ACM) support" depends on TTY ---help--- This driver supports USB modems and ISDN adapters which support the Communication Device Class Abstract Control Model interface. Please read for details. If your modem only reports "Cls=ff(vend.)" in the descriptors in /proc/bus/usb/devices, then your modem will not work with this driver. To compile this driver as a module, choose M here: the module will be called cdc-acm. config USB_PRINTER tristate "USB Printer support" help Say Y here if you want to connect a USB printer to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usblp. config USB_WDM tristate "USB Wireless Device Management support" ---help--- This driver supports the WMC Device Management functionality of cell phones compliant to the CDC WMC specification. You can use AT commands over this device. To compile this driver as a module, choose M here: the module will be called cdc-wdm. config USB_TMC tristate "USB Test and Measurement Class support" help Say Y here if you want to connect a USB device that follows the USB.org specification for USB Test and Measurement devices to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usbtmc. # # USB Core configuration # config USB_DEBUG bool "USB verbose debug messages" help Say Y here if you want the USB core & hub drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with USB support and want to see more of what is going on. config USB_ANNOUNCE_NEW_DEVICES bool "USB announce new devices" default N help Say Y here if you want the USB core to always announce the idVendor, idProduct, Manufacturer, Product, and SerialNumber strings for every new USB device to the syslog. This option is usually used by distro vendors to help with debugging and to let users know what specific device was added to the machine in what location. If you do not want this kind of information sent to the system log, or have any doubts about this, say N here. comment "Miscellaneous USB options" config USB_DEFAULT_PERSIST bool "Enable USB persist by default" default y help Say N here if you don't want USB power session persistence enabled by default. If you say N it will make suspended USB devices that lose power get reenumerated as if they had been unplugged, causing any mounted filesystems to be lost. The persist feature can still be enabled for individual devices through the power/persist sysfs node. See Documentation/usb/persist.txt for more info. If you have any questions about this, say Y here, only say N if you know exactly what you are doing. config USB_DYNAMIC_MINORS bool "Dynamic USB minor allocation" help If you say Y here, the USB subsystem will use dynamic minor allocation for any device that uses the USB major number. This means that you can have more than 16 of a single type of device (like USB printers). If you are unsure about this, say N here. config USB_OTG bool "OTG support" depends on PM_RUNTIME default n help The most notable feature of USB OTG is support for a "Dual-Role" device, which can act as either a device or a host. The initial role is decided by the type of plug inserted and can be changed later when two dual role devices talk to each other. Select this only if your board has Mini-AB/Micro-AB connector. config USB_OTG_WHITELIST bool "Rely on OTG Targeted Peripherals List" depends on USB_OTG || EXPERT default y if USB_OTG help If you say Y here, the "otg_whitelist.h" file will be used as a product whitelist, so USB peripherals not listed there will be rejected during enumeration. This behavior is required by the USB OTG specification for all devices not on your product's "Targeted Peripherals List". "Embedded Hosts" are likewise allowed to support only a limited number of peripherals. Otherwise, peripherals not listed there will only generate a warning and enumeration will continue. That's more like what normal Linux-USB hosts do (other than the warning), and is convenient for many stages of product development. config USB_OTG_BLACKLIST_HUB bool "Disable external hubs" depends on USB_OTG || EXPERT help If you say Y here, then Linux will refuse to enumerate external hubs. OTG hosts are allowed to reduce hardware and software costs by not supporting external hubs. So are "Embedded Hosts" that don't offer OTG support. config USB_DWC3 tristate "DesignWare USB3 DRD Core Support" depends on (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD help Say Y or M here if your system has a Dual Role SuperSpeed USB controller based on the DesignWare USB3 IP Core. If you choose to build this driver is a dynamically linked module, the module will be called dwc3.ko. if USB_DWC3 choice bool "DWC3 Mode Selection" default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) default USB_DWC3_HOST if (USB && !USB_GADGET) default USB_DWC3_GADGET if (!USB && USB_GADGET) config USB_DWC3_HOST bool "Host only mode" depends on USB=y || USB=USB_DWC3 help Select this when you want to use DWC3 in host mode only, thereby the gadget feature will be regressed. config USB_DWC3_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_DWC3 help Select this when you want to use DWC3 in gadget mode only, thereby the host feature will be regressed. config USB_DWC3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) help This is the default mode of working of DWC3 controller where both host and gadget features are enabled. endchoice comment "Platform Glue Driver Support" config USB_DWC3_OMAP tristate "Texas Instruments OMAP5 and similar Platforms" depends on EXTCON default USB_DWC3 help Some platforms from Texas Instruments like OMAP5, DRA7xxx and AM437x use this IP for USB2/3 functionality. Say 'Y' or 'M' here if you have one such device config USB_DWC3_EXYNOS tristate "Samsung Exynos Platform" default USB_DWC3 help Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside, say 'Y' or 'M' if you have one such device. config USB_DWC3_PCI tristate "PCIe-based Platforms" depends on PCI default USB_DWC3 help If you're using the DesignWare Core IP with a PCIe, please say 'Y' or 'M' here. One such PCIe-based platform is Synopsys' PCIe HAPS model of this IP. comment "Debugging features" config USB_DWC3_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages on DWC3 Driver. config USB_DWC3_VERBOSE bool "Enable Verbose Debugging Messages" depends on USB_DWC3_DEBUG help Say Y here to enable verbose debugging messages on DWC3 Driver. endif # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # menuconfig USB_GADGET tristate "USB Gadget Support" select NLS help USB is a master/slave protocol, organized with one master host (such as a PC) controlling up to 127 peripheral devices. The USB hardware is asymmetric, which makes it easier to set up: you can't connect a "to-the-host" connector to a peripheral. Linux can run in the host, or in the peripheral. In both cases you need a low level bus controller driver, and some software talking to it. Peripheral controllers are often discrete silicon, or are integrated with the CPU in a microcontroller. The more familiar host side controllers have names like "EHCI", "OHCI", or "UHCI", and are usually integrated into southbridges on PC motherboards. Enable this configuration option if you want to run Linux inside a USB peripheral device. Configure one hardware driver for your peripheral/device side bus controller, and a "gadget driver" for your peripheral protocol. (If you use modular gadget drivers, you may configure more than one.) If in doubt, say "N" and don't enable these drivers; most people don't have this kind of hardware (except maybe inside Linux PDAs). For more information, see and the kernel DocBook documentation for this API. if USB_GADGET config USB_GADGET_DEBUG boolean "Debugging messages (DEVELOPMENT)" depends on DEBUG_KERNEL help Many controller and gadget drivers will print some debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_VERBOSE bool "Verbose debugging Messages (DEVELOPMENT)" depends on USB_GADGET_DEBUG help Many controller and gadget drivers will print verbose debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_DEBUG_FILES boolean "Debugging information files (DEVELOPMENT)" depends on PROC_FS help Some of the drivers in the "gadget" framework can expose debugging information in files such as /proc/driver/udc (for a peripheral controller). The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_DEBUG_FS boolean "Debugging information files in debugfs (DEVELOPMENT)" depends on DEBUG_FS help Some of the drivers in the "gadget" framework can expose debugging information in files under /sys/kernel/debug/. The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_VBUS_DRAW int "Maximum VBUS Power usage (2-500 mA)" range 2 500 default 2 help Some devices need to draw power from USB when they are configured, perhaps to operate circuitry or to recharge batteries. This is in addition to any local power supply, such as an AC adapter or batteries. Enter the maximum power your device draws through USB, in milliAmperes. The permitted range of values is 2 - 500 mA; 0 mA would be legal, but can make some hosts misbehave. This value will be used except for system-specific gadget drivers that have more specific information. config USB_GADGET_STORAGE_NUM_BUFFERS int "Number of storage pipeline buffers" range 2 4 default 2 help Usually 2 buffers are enough to establish a good buffering pipeline. The number may be increased in order to compensate for a bursty VFS behaviour. For instance there may be CPU wake up latencies that makes the VFS to appear bursty in a system with an CPU on-demand governor. Especially if DMA is doing IO to offload the CPU. In this case the CPU will go into power save often and spin up occasionally to move data within VFS. If selecting USB_GADGET_DEBUG_FILES this value may be set by a module parameter as well. If unsure, say 2. # # USB Peripheral Controller Support # # The order here is alphabetical, except that integrated controllers go # before discrete ones so they will be the initial/default value: # - integrated/SOC controllers first # - licensed IP used in both SOC and discrete versions # - discrete ones (including all PCI-only controllers) # - debug/dummy gadget+hcd is last. # menu "USB Peripheral Controller" # # Integrated controllers # config USB_AT91 tristate "Atmel AT91 USB Device Port" depends on ARCH_AT91 help Many Atmel AT91 processors (such as the AT91RM2000) have a full speed USB Device Port with support for five configurable endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "at91_udc" and force all gadget drivers to also be dynamically linked. config USB_LPC32XX tristate "LPC32XX USB Peripheral Controller" depends on ARCH_LPC32XX select USB_ISP1301 help This option selects the USB device controller in the LPC32xx SoC. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "lpc32xx_udc" and force all gadget drivers to also be dynamically linked. config USB_ATMEL_USBA tristate "Atmel USBA" depends on AVR32 || ARCH_AT91 help USBA is the integrated high-speed USB Device controller on the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. config USB_BCM63XX_UDC tristate "Broadcom BCM63xx Peripheral Controller" depends on BCM63XX help Many Broadcom BCM63xx chipsets (such as the BCM6328) have a high speed USB Device Port with support for four fixed endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "bcm63xx_udc". config USB_FSL_USB2 tristate "Freescale Highspeed USB DR Peripheral Controller" depends on FSL_SOC || ARCH_MXC select USB_FSL_MPH_DR_OF if OF help Some of Freescale PowerPC and i.MX processors have a High Speed Dual-Role(DR) USB controller, which supports device mode. The number of programmable endpoints is different through SOC revisions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fsl_usb2_udc" and force all gadget drivers to also be dynamically linked. config USB_FUSB300 tristate "Faraday FUSB300 USB Peripheral Controller" depends on !PHYS_ADDR_T_64BIT && HAS_DMA help Faraday usb device controller FUSB300 driver config USB_FOTG210_UDC depends on HAS_DMA tristate "Faraday FOTG210 USB Peripheral Controller" help Faraday USB2.0 OTG controller which can be configured as high speed or full speed USB device. This driver supppors Bulk Transfer so far. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fotg210_udc". config USB_OMAP tristate "OMAP USB Device Controller" depends on ARCH_OMAP1 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG help Many Texas Instruments OMAP processors have flexible full speed USB device controllers, with support for up to 30 endpoints (plus endpoint zero). This driver supports the controller in the OMAP 1611, and should work with controllers in other OMAP processors too, given minor tweaks. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "omap_udc" and force all gadget drivers to also be dynamically linked. config USB_PXA25X tristate "PXA 25x or IXP 4xx" depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX help Intel's PXA 25x series XScale ARM-5TE processors include an integrated full speed USB 1.1 device controller. The controller in the IXP 4xx series is register-compatible. It has fifteen fixed-function endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa25x_udc" and force all gadget drivers to also be dynamically linked. # if there's only one gadget driver, using only two bulk endpoints, # don't waste memory for the other endpoints config USB_PXA25X_SMALL depends on USB_PXA25X bool default n if USB_ETH_RNDIS default y if USB_ZERO default y if USB_ETH default y if USB_G_SERIAL config USB_R8A66597 tristate "Renesas R8A66597 USB Peripheral Controller" depends on HAS_DMA help R8A66597 is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "r8a66597_udc" and force all gadget drivers to also be dynamically linked. config USB_RENESAS_USBHS_UDC tristate 'Renesas USBHS controller' depends on USB_RENESAS_USBHS help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" and force all gadget drivers to also be dynamically linked. config USB_PXA27X tristate "PXA 27x" help Intel's PXA 27x series XScale ARM v5TE processors include an integrated full speed USB 1.1 device controller. It has up to 23 endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa27x_udc" and force all gadget drivers to also be dynamically linked. config USB_S3C_HSOTG tristate "S3C HS/OtG USB Device controller" depends on S3C_DEV_USB_HSOTG help The Samsung S3C64XX USB2.0 high-speed gadget controller integrated into the S3C64XX series SoC. config USB_S3C2410 tristate "S3C2410 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2410 is an ARM-4 processor with an integrated full speed USB 1.1 device controller. It has 4 configurable endpoints, as well as endpoint zero (for control transfers). This driver has been tested on the S3C2410, S3C2412, and S3C2440 processors. config USB_S3C2410_DEBUG boolean "S3C2410 udc debug messages" depends on USB_S3C2410 config USB_S3C_HSUDC tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC integrated with dual speed USB 2.0 device controller. It has 8 endpoints, as well as endpoint zero. This driver has been tested on S3C2416 and S3C2450 processors. config USB_MV_UDC tristate "Marvell USB2.0 Device Controller" depends on HAS_DMA help Marvell Socs (including PXA and MMP series) include a high speed USB2.0 OTG controller, which can be configured as high speed or full speed USB peripheral. config USB_MV_U3D depends on HAS_DMA tristate "MARVELL PXA2128 USB 3.0 controller" help MARVELL PXA2128 Processor series include a super speed USB3.0 device controller, which support super speed USB peripheral. # # Controllers available in both integrated and discrete versions # config USB_M66592 tristate "Renesas M66592 USB Peripheral Controller" help M66592 is a discrete USB peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has seven configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "m66592_udc" and force all gadget drivers to also be dynamically linked. # # Controllers available only in discrete form (and all PCI controllers) # config USB_AMD5536UDC tristate "AMD5536 UDC" depends on PCI help The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. It is a USB Highspeed DMA capable USB device controller. Beside ep0 it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). The UDC port supports OTG operation, and may be used as a host port if it's not being used to implement peripheral or OTG roles. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "amd5536udc" and force all gadget drivers to also be dynamically linked. config USB_FSL_QE tristate "Freescale QE/CPM USB Device Controller" depends on FSL_SOC && (QUICC_ENGINE || CPM) help Some of Freescale PowerPC processors have a Full Speed QE/CPM2 USB controller, which support device mode with 4 programmable endpoints. This driver supports the controller in the MPC8360 and MPC8272, and should work with controllers having QE or CPM2, given minor tweaks. Set CONFIG_USB_GADGET to "m" to build this driver as a dynamically linked module called "fsl_qe_udc". config USB_NET2272 tristate "PLX NET2272" help PLX NET2272 is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has three configurable endpoints, as well as endpoint zero (for control transfer). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2272" and force all gadget drivers to also be dynamically linked. config USB_NET2272_DMA boolean "Support external DMA controller" depends on USB_NET2272 && HAS_DMA help The NET2272 part can optionally support an external DMA controller, but your board has to have support in the driver itself. If unsure, say "N" here. The driver works fine in PIO mode. config USB_NET2280 tristate "NetChip 228x" depends on PCI help NetChip 2280 / 2282 is a PCI based USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has six configurable endpoints, as well as endpoint zero (for control transfers) and several endpoints with dedicated functions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2280" and force all gadget drivers to also be dynamically linked. config USB_GOKU tristate "Toshiba TC86C001 'Goku-S'" depends on PCI help The Toshiba TC86C001 is a PCI device which includes controllers for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). The device controller has three configurable (bulk or interrupt) endpoints, plus endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "goku_udc" and to force all gadget drivers to also be dynamically linked. config USB_EG20T tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" depends on PCI help This is a USB device driver for EG20T PCH. EG20T PCH is the platform controller hub that is used in Intel's general embedded platform. EG20T PCH has USB device interface. Using this interface, it is able to access system devices connected to USB device. This driver enables USB device function. USB device is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. This driver supports both control transfer and bulk transfer modes. This driver dose not support interrupt transfer or isochronous transfer modes. This driver also can be used for LAPIS Semiconductor's ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7831 is for general purpose use. ML7213/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7831 is completely compatible for Intel EG20T PCH. # # LAST -- dummy/emulated controller # config USB_DUMMY_HCD tristate "Dummy HCD (DEVELOPMENT)" depends on USB=y || (USB=m && USB_GADGET=m) help This host controller driver emulates USB, looping all data transfer requests back to a USB "gadget driver" in the same host. The host side is the master; the gadget side is the slave. Gadget drivers can be high, full, or low speed; and they have access to endpoints like those from NET2280, PXA2xx, or SA1100 hardware. This may help in some stages of creating a driver to embed in a Linux device, since it lets you debug several parts of the gadget driver without its hardware or drivers being involved. Since such a gadget side driver needs to interoperate with a host side Linux-USB device driver, this may help to debug both sides of a USB protocol stack. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "dummy_hcd" and force all gadget drivers to also be dynamically linked. # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears # first and will be selected by default. endmenu # # USB Gadget Drivers # # composite based drivers config USB_LIBCOMPOSITE tristate select CONFIGFS_FS depends on USB_GADGET config USB_F_ACM tristate config USB_F_SS_LB tristate config USB_U_SERIAL tristate config USB_U_ETHER tristate config USB_U_RNDIS tristate config USB_F_SERIAL tristate config USB_F_OBEX tristate config USB_F_NCM tristate config USB_F_ECM tristate config USB_F_PHONET tristate config USB_F_EEM tristate config USB_F_SUBSET tristate config USB_F_RNDIS tristate config USB_F_MASS_STORAGE tristate choice tristate "USB Gadget Drivers" default USB_ETH help A Linux "Gadget Driver" talks to the USB Peripheral Controller driver through the abstract "gadget" API. Some other operating systems call these "client" drivers, of which "class drivers" are a subset (implementing a USB device class specification). A gadget driver implements one or more USB functions using the peripheral hardware. Gadget drivers are hardware-neutral, or "platform independent", except that they sometimes must understand quirks or limitations of the particular controllers they work with. For example, when a controller doesn't support alternate configurations or provide enough of the right types of endpoints, the gadget driver might not be able work with that controller, or might need to implement a less common variant of a device class protocol. # this first set of drivers all depend on bulk-capable hardware. config USB_CONFIGFS tristate "USB functions configurable through configfs" select USB_LIBCOMPOSITE help A Linux USB "gadget" can be set up through configfs. If this is the case, the USB functions (which from the host's perspective are seen as interfaces) and configurations are specified simply by creating appropriate directories in configfs. Associating functions with configurations is done by creating appropriate symbolic links. For more information see Documentation/usb/gadget_configfs.txt. config USB_CONFIGFS_SERIAL boolean "Generic serial bulk in/out" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_SERIAL help The function talks to the Linux-USB generic serial driver. config USB_CONFIGFS_ACM boolean "Abstract Control Model (CDC ACM)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_ACM help ACM serial link. This function can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. config USB_CONFIGFS_OBEX boolean "Object Exchange Model (CDC OBEX)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_OBEX help You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. config USB_CONFIGFS_NCM boolean "Network Control Model (CDC NCM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_NCM help NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. config USB_CONFIGFS_ECM boolean "Ethernet Control Model (CDC ECM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_ECM help The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. config USB_CONFIGFS_ECM_SUBSET boolean "Ethernet Control Model (CDC ECM) subset" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_SUBSET help On hardware that can't implement the full protocol, a simple CDC subset is used, placing fewer demands on USB. config USB_CONFIGFS_RNDIS bool "RNDIS" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_U_RNDIS select USB_F_RNDIS help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_CONFIGFS_EEM bool "Ethernet Emulation Model (EEM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_EEM help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. config USB_CONFIGFS_PHONET boolean "Phonet protocol" depends on USB_CONFIGFS depends on NET depends on PHONET select USB_U_ETHER select USB_F_PHONET help The Phonet protocol implementation for USB device. config USB_CONFIGFS_MASS_STORAGE boolean "Mass storage" depends on USB_CONFIGFS depends on BLOCK select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. config USB_ZERO tristate "Gadget Zero (DEVELOPMENT)" select USB_LIBCOMPOSITE select USB_F_SS_LB help Gadget Zero is a two-configuration device. It either sinks and sources bulk data; or it loops back a configurable number of transfers. It also implements control requests, for "chapter 9" conformance. The driver needs only two bulk-capable endpoints, so it can work on top of most device-side usb controllers. It's useful for testing, and is also a working example showing how USB "gadget drivers" can be written. Make this be the first driver you try using on top of any new USB peripheral controller driver. Then you can use host-side test software, like the "usbtest" driver, to put your hardware and its driver through a basic set of functional tests. Gadget Zero also works with the host-side "usb-skeleton" driver, and with many kinds of host-side test software. You may need to tweak product and vendor IDs before host software knows about this device, and arrange to select an appropriate configuration. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_zero". config USB_ZERO_HNPTEST boolean "HNP Test Device" depends on USB_ZERO && USB_OTG help You can configure this device to enumerate using the device identifiers of the USB-OTG test device. That means that when this gadget connects to another OTG device, with this one using the "B-Peripheral" role, that device will use HNP to let this one serve as the USB host instead (in the "B-Host" role). config USB_AUDIO tristate "Audio Gadget" depends on SND select USB_LIBCOMPOSITE select SND_PCM help This Gadget Audio driver is compatible with USB Audio Class specification 2.0. It implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. Number of channels, sample rate and sample size can be specified as module parameters. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_audio". config GADGET_UAC1 bool "UAC 1.0 (Legacy)" depends on USB_AUDIO help If you instead want older UAC Spec-1.0 driver that also has audio paths hardwired to the Audio codec chip on-board and doesn't work without one. config USB_ETH tristate "Ethernet Gadget (with CDC Ethernet support)" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_U_RNDIS select USB_F_ECM select USB_F_SUBSET select CRC32 help This driver implements Ethernet style communication, in one of several ways: - The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. - On hardware can't implement that protocol, a simple CDC subset is used, placing fewer demands on USB. - CDC Ethernet Emulation Model (EEM) is a newer standard that has a simpler interface that can be used by more USB hardware. RNDIS support is an additional option, more demanding than than subset. Within the USB device, this gadget driver exposes a network device "usbX", where X depends on what other networking devices you have. Treat it like a two-node Ethernet link: host, and gadget. The Linux-USB host-side "usbnet" driver interoperates with this driver, so that deep I/O queues can be supported. On 2.4 kernels, use "CDCEther" instead, if you're using the CDC option. That CDC mode should also interoperate with standard CDC Ethernet class drivers on other host operating systems. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ether". config USB_ETH_RNDIS bool "RNDIS support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_RNDIS default y help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. If you say "y" here, the Ethernet gadget driver will try to provide a second device configuration, supporting RNDIS to talk to such Microsoft USB hosts. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_ETH_EEM bool "Ethernet Emulation Model (EEM) support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_EEM default n help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. If you say "y" here, the Ethernet gadget driver will use the EEM protocol rather than ECM. If unsure, say "n". config USB_G_NCM tristate "Network Control Model (NCM) support" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_F_NCM select CRC32 help This driver implements USB CDC NCM subclass standard. NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ncm". config USB_GADGETFS tristate "Gadget Filesystem" help This driver provides a filesystem based API that lets user mode programs implement a single-configuration USB device, including endpoint I/O and control requests that don't relate to enumeration. All endpoints, transfer speeds, and transfer types supported by the hardware are available, through read() and write() calls. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "gadgetfs". config USB_FUNCTIONFS tristate "Function Filesystem" select USB_LIBCOMPOSITE select USB_FUNCTIONFS_GENERIC if !(USB_FUNCTIONFS_ETH || USB_FUNCTIONFS_RNDIS) help The Function Filesystem (FunctionFS) lets one create USB composite functions in user space in the same way GadgetFS lets one create USB gadgets in user space. This allows creation of composite gadgets such that some of the functions are implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. If you say "y" or "m" here you will be able what kind of configurations the gadget will provide. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ffs". config USB_FUNCTIONFS_ETH bool "Include configuration with CDC ECM (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER help Include a configuration with CDC ECM function (Ethernet) and the Function Filesystem. config USB_FUNCTIONFS_RNDIS bool "Include configuration with RNDIS (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER select USB_U_RNDIS help Include a configuration with RNDIS function (Ethernet) and the Filesystem. config USB_FUNCTIONFS_GENERIC bool "Include 'pure' configuration" depends on USB_FUNCTIONFS help Include a configuration with the Function Filesystem alone with no Ethernet interface. config USB_MASS_STORAGE tristate "Mass Storage Gadget" depends on BLOCK select USB_LIBCOMPOSITE select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. This driver is a replacement for now removed File-backed Storage Gadget (g_file_storage). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_mass_storage". config USB_GADGET_TARGET tristate "USB Gadget Target Fabric Module" depends on TARGET_CORE select USB_LIBCOMPOSITE help This fabric is an USB gadget. Two USB protocols are supported that is BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is advertised on alternative interface 0 (primary) and UAS is on alternative interface 1. Both protocols can work on USB2.0 and USB3.0. UAS utilizes the USB 3.0 feature called streams support. config USB_G_SERIAL tristate "Serial Gadget (with CDC ACM and CDC OBEX support)" depends on TTY select USB_U_SERIAL select USB_F_ACM select USB_F_SERIAL select USB_F_OBEX select USB_LIBCOMPOSITE help The Serial Gadget talks to the Linux-USB generic serial driver. This driver supports a CDC-ACM module option, which can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. This driver also supports a CDC-OBEX option. You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_serial". For more information, see Documentation/usb/gadget_serial.txt which includes instructions and a "driver info file" needed to make MS-Windows work with CDC ACM. config USB_MIDI_GADGET tristate "MIDI Gadget" depends on SND select USB_LIBCOMPOSITE select SND_RAWMIDI help The MIDI Gadget acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Other MIDI connections can then be made on the gadget system, using ALSA's aconnect utility etc. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_midi". config USB_G_PRINTER tristate "Printer Gadget" select USB_LIBCOMPOSITE help The Printer Gadget channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_printer". For more information, see Documentation/usb/gadget_printer.txt which includes sample code for accessing the device file. if TTY config USB_CDC_COMPOSITE tristate "CDC Composite Device (Ethernet and ACM)" depends on NET select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_ECM help This driver provides two functions in one configuration: a CDC Ethernet (ECM) link, and a CDC ACM (serial port) link. This driver requires four bulk and two interrupt endpoints, plus the ability to handle altsettings. Not all peripheral controllers are that capable. Say "y" to link the driver statically, or "m" to build a dynamically linked module. config USB_G_NOKIA tristate "Nokia composite gadget" depends on PHONET select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_OBEX select USB_F_PHONET select USB_F_ECM help The Nokia composite gadget provides support for acm, obex and phonet in only one composite gadget driver. It's only really useful for N900 hardware. If you're building a kernel for N900, say Y or M here. If unsure, say N. config USB_G_ACM_MS tristate "CDC Composite Device (ACM and mass storage)" depends on BLOCK select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_F_ACM select USB_F_MASS_STORAGE help This driver provides two functions in one configuration: a mass storage, and a CDC ACM (serial port) link. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_acm_ms". config USB_G_MULTI tristate "Multifunction Composite Gadget" depends on BLOCK && NET select USB_G_MULTI_CDC if !USB_G_MULTI_RNDIS select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_MASS_STORAGE help The Multifunction Composite Gadget provides Ethernet (RNDIS and/or CDC Ethernet), mass storage and ACM serial link interfaces. You will be asked to choose which of the two configurations is to be available in the gadget. At least one configuration must be chosen to make the gadget usable. Selecting more than one configuration will prevent Windows from automatically detecting the gadget as a composite gadget, so an INF file will be needed to use the gadget. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_multi". config USB_G_MULTI_RNDIS bool "RNDIS + CDC Serial + Storage configuration" depends on USB_G_MULTI select USB_U_RNDIS select USB_F_RNDIS default y help This option enables a configuration with RNDIS, CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. This is the configuration dedicated for Windows since RNDIS is Microsoft's protocol. If unsure, say "y". config USB_G_MULTI_CDC bool "CDC Ethernet + CDC Serial + Storage configuration" depends on USB_G_MULTI default n select USB_F_ECM help This option enables a configuration with CDC Ethernet (ECM), CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. If unsure, say "y". endif # TTY config USB_G_HID tristate "HID Gadget" select USB_LIBCOMPOSITE help The HID gadget driver provides generic emulation of USB Human Interface Devices (HID). For more information, see Documentation/usb/gadget_hid.txt which includes sample code for accessing the device files. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_hid". # Standalone / single function gadgets config USB_G_DBGP tristate "EHCI Debug Device Gadget" depends on TTY select USB_LIBCOMPOSITE help This gadget emulates an EHCI Debug device. This is useful when you want to interact with an EHCI Debug Port. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_dbgp". if USB_G_DBGP choice prompt "EHCI Debug Device mode" default USB_G_DBGP_SERIAL config USB_G_DBGP_PRINTK depends on USB_G_DBGP bool "printk" help Directly printk() received data. No interaction. config USB_G_DBGP_SERIAL depends on USB_G_DBGP select USB_U_SERIAL bool "serial" help Userland can interact using /dev/ttyGSxxx. endchoice endif # put drivers that need isochronous transfer support (for audio # or video class gadget drivers), or specific hardware, here. config USB_G_WEBCAM tristate "USB Webcam Gadget" depends on VIDEO_DEV select USB_LIBCOMPOSITE select VIDEOBUF2_VMALLOC help The Webcam Gadget acts as a composite USB Audio and Video Class device. It provides a userspace API to process UVC control requests and stream video data to the host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_webcam". endchoice endif # USB_GADGET # # USB Host Controller Drivers # comment "USB Host Controller Drivers" config USB_C67X00_HCD tristate "Cypress C67x00 HCD support" help The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role host/peripheral/OTG USB controllers. Enable this option to support this chip in host controller mode. If unsure, say N. To compile this driver as a module, choose M here: the module will be called c67x00. config USB_XHCI_HCD tristate "xHCI HCD (USB 3.0) support" ---help--- The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 "SuperSpeed" host controller hardware. To compile this driver as a module, choose M here: the module will be called xhci-hcd. if USB_XHCI_HCD config USB_XHCI_PLATFORM tristate endif # USB_XHCI_HCD config USB_EHCI_HCD tristate "EHCI HCD (USB 2.0) support" ---help--- The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. If your USB host controller supports USB 2.0, you will likely want to configure this Host Controller Driver. EHCI controllers are packaged with "companion" host controllers (OHCI or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports will connect to EHCI if the device is high speed, otherwise they connect to a companion controller. If you configure EHCI, you should probably configure the OHCI (for NEC and some other vendors) USB Host Controller Driver or UHCI (for Via motherboards) Host Controller Driver too. You may want to read . To compile this driver as a module, choose M here: the module will be called ehci-hcd. config USB_EHCI_ROOT_HUB_TT bool "Root Hub Transaction Translators" depends on USB_EHCI_HCD ---help--- Some EHCI chips have vendor-specific extensions to integrate transaction translators, so that no OHCI or UHCI companion controller is needed. It's safe to say "y" even if your controller doesn't support this feature. This supports the EHCI implementation that's originally from ARC, and has since changed hands a few times. config USB_EHCI_TT_NEWSCHED bool "Improved Transaction Translator scheduling" depends on USB_EHCI_HCD default y ---help--- This changes the periodic scheduling code to fill more of the low and full speed bandwidth available from the Transaction Translator (TT) in USB 2.0 hubs. Without this, only one transfer will be issued in each microframe, significantly reducing the number of periodic low/fullspeed transfers possible. If you have multiple periodic low/fullspeed devices connected to a highspeed USB hub which is connected to a highspeed USB Host Controller, and some of those devices will not work correctly (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if you have only one such device and it doesn't work, you could try saying N. If unsure, say Y. config USB_FSL_MPH_DR_OF tristate if USB_EHCI_HCD config USB_EHCI_PCI tristate depends on PCI default y config USB_EHCI_HCD_PMC_MSP tristate "EHCI support for on-chip PMC MSP71xx USB controller" depends on MSP_HAS_USB default n select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. If unsure, say N. config XPS_USB_HCD_XILINX bool "Use Xilinx usb host EHCI controller core" depends on (PPC32 || MICROBLAZE) select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Xilinx xps USB host controller core is EHCI compilant and has transaction translator built-in. It can be configured to either support both high speed and full speed devices, or high speed devices only. config USB_EHCI_FSL bool "Support for Freescale PPC on-chip EHCI USB controller" depends on FSL_SOC select USB_EHCI_ROOT_HUB_TT select USB_FSL_MPH_DR_OF if OF ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_MXC tristate "Support for Freescale i.MX on-chip EHCI USB controller" depends on ARCH_MXC select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_HCD_OMAP tristate "EHCI support for OMAP3 and later chips" depends on ARCH_OMAP select NOP_USB_XCEIV default y ---help--- Enables support for the on-chip EHCI controller on OMAP3 and later chips. config USB_EHCI_HCD_ORION tristate "Support for Marvell EBU on-chip EHCI USB controller" depends on USB_EHCI_HCD && PLAT_ORION default y ---help--- Enables support for the on-chip EHCI controller on Marvell's embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, Armada 370. This is different from the EHCI implementation on Marvell's mobile PXA and MMP SoC, see "EHCI support for Marvell PXA/MMP USB controller" for those. config USB_EHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip EHCI USB controller" depends on USB_EHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip EHCI controller on ST SPEAr chips. config USB_EHCI_HCD_AT91 tristate "Support for Atmel on-chip EHCI USB controller" depends on USB_EHCI_HCD && ARCH_AT91 default y ---help--- Enables support for the on-chip EHCI controller on Atmel chips. config USB_EHCI_MSM tristate "Support for Qualcomm QSD/MSM on-chip EHCI USB controller" depends on ARCH_MSM select USB_EHCI_ROOT_HUB_TT select USB_MSM_OTG ---help--- Enables support for the USB Host controller present on the Qualcomm chipsets. Root Hub has inbuilt TT. This driver depends on OTG driver for PHY initialization, clock management, powering up VBUS, and power management. This driver is not supported on boards like trout which has an external PHY. config USB_EHCI_TEGRA tristate "NVIDIA Tegra HCD support" depends on ARCH_TEGRA select USB_EHCI_ROOT_HUB_TT select USB_PHY help This driver enables support for the internal USB Host Controllers found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. config USB_EHCI_HCD_PPC_OF bool "EHCI support for PPC USB controller on OF platform bus" depends on PPC_OF default y ---help--- Enables support for the USB controller present on the PowerPC OpenFirmware platform bus. config USB_EHCI_SH bool "EHCI support for SuperH USB controller" depends on SUPERH ---help--- Enables support for the on-chip EHCI controller on the SuperH. If you use the PCI EHCI controller, this option is not necessary. config USB_EHCI_EXYNOS tristate "EHCI support for Samsung S5P/EXYNOS SoC Series" depends on PLAT_S5P || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip EHCI controller. config USB_EHCI_MV bool "EHCI support for Marvell PXA/MMP USB controller" depends on (ARCH_PXA || ARCH_MMP) select USB_EHCI_ROOT_HUB_TT ---help--- Enables support for Marvell (including PXA and MMP series) on-chip USB SPH and OTG controller. SPH is a single port host, and it can only be EHCI host. OTG is controller that can switch to host mode. Note that this driver will not work on Marvell's other EHCI controller used by the EBU-type SoCs including Orion, Kirkwood, Dova, Armada 370 and Armada XP. See "Support for Marvell EBU on-chip EHCI USB controller" for those. config USB_W90X900_EHCI tristate "W90X900(W90P910) EHCI support" depends on ARCH_W90X900 ---help--- Enables support for the W90X900 USB controller config USB_CNS3XXX_EHCI bool "Cavium CNS3XXX EHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_EHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. config USB_EHCI_ATH79 bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)" depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X) select USB_EHCI_ROOT_HUB_TT select USB_EHCI_HCD_PLATFORM default y ---help--- This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enables support for the built-in EHCI controller present on the Atheros AR7XXX/AR9XXX SoCs. config USB_EHCI_HCD_PLATFORM tristate "Generic EHCI driver for a platform device" default n ---help--- Adds an EHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_EHCI bool "Octeon on-chip EHCI support" depends on CAVIUM_OCTEON_SOC default n select USB_EHCI_BIG_ENDIAN_MMIO help Enable support for the Octeon II SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. All CN6XXX based chips with USB are supported. endif # USB_EHCI_HCD config USB_OXU210HP_HCD tristate "OXU210HP HCD support" ---help--- The OXU210HP is an USB host/OTG/device controller. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers and doesn't implement OTG nor USB device controllers. To compile this driver as a module, choose M here: the module will be called oxu210hp-hcd. config USB_ISP116X_HCD tristate "ISP116X HCD support" ---help--- The ISP1160 and ISP1161 chips are USB host controllers. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp116x-hcd. config USB_ISP1760_HCD tristate "ISP 1760 HCD support" ---help--- The ISP1760 chip is a USB 2.0 host controller. This driver does not support isochronous transfers or OTG. This USB controller is usually attached to a non-DMA-Master capable bus. NXP's eval kit brings this chip on PCI card where the chip itself is behind a PLB to simulate such a bus. To compile this driver as a module, choose M here: the module will be called isp1760. config USB_ISP1362_HCD tristate "ISP1362 HCD support" default N ---help--- Supports the Philips ISP1362 chip as a host controller This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp1362-hcd. config USB_FUSBH200_HCD tristate "FUSBH200 HCD support" depends on USB default N ---help--- Faraday FUSBH200 is designed to meet USB2.0 EHCI specification with minor modification. To compile this driver as a module, choose M here: the module will be called fusbh200-hcd. config USB_FOTG210_HCD tristate "FOTG210 HCD support" depends on USB default N ---help--- Faraday FOTG210 is an OTG controller which can be configured as an USB2.0 host. It is designed to meet USB2.0 EHCI specification with minor modification. To compile this driver as a module, choose M here: the module will be called fotg210-hcd. config USB_OHCI_HCD tristate "OHCI HCD (USB 1.1) support" select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 depends on USB_ISP1301 || !ARCH_LPC32XX ---help--- The Open Host Controller Interface (OHCI) is a standard for accessing USB 1.1 host controller hardware. It does more in hardware than Intel's UHCI specification. If your USB host controller follows the OHCI spec, say Y. On most non-x86 systems, and on x86 hardware that's not using a USB controller from Intel or VIA, this is appropriate. If your host controller doesn't use PCI, this is probably appropriate. For a PCI based system where you're not sure, the "lspci -v" entry will list the right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. To compile this driver as a module, choose M here: the module will be called ohci-hcd. if USB_OHCI_HCD config USB_OHCI_HCD_OMAP1 tristate "OHCI support for OMAP1/2 chips" depends on ARCH_OMAP1 default y ---help--- Enables support for the OHCI controller on OMAP1/2 chips. config USB_OHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip OHCI USB controller" depends on USB_OHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip OHCI controller on ST SPEAr chips. config USB_OHCI_HCD_S3C2410 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series" depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX) default y ---help--- Enables support for the on-chip OHCI controller on S3C24xx/S3C64xx chips. config USB_OHCI_HCD_LPC32XX tristate "Support for LPC on-chip OHCI USB controller" depends on USB_OHCI_HCD && ARCH_LPC32XX default y ---help--- Enables support for the on-chip OHCI controller on NXP chips. config USB_OHCI_HCD_PXA27X tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" depends on USB_OHCI_HCD && (PXA27x || PXA3xx) default y ---help--- Enables support for the on-chip OHCI controller on PXA27x/PXA3xx chips. config USB_OHCI_HCD_AT91 tristate "Support for Atmel on-chip OHCI USB controller" depends on USB_OHCI_HCD && ARCH_AT91 default y ---help--- Enables support for the on-chip OHCI controller on Atmel chips. config USB_OHCI_HCD_OMAP3 tristate "OHCI support for OMAP3 and later chips" depends on (ARCH_OMAP3 || ARCH_OMAP4) default y ---help--- Enables support for the on-chip OHCI controller on OMAP3 and later chips. config USB_OHCI_ATH79 bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)" depends on (SOC_AR71XX || SOC_AR724X) select USB_OHCI_HCD_PLATFORM default y help This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the built-in OHCI controller present on the Atheros AR71XX/AR7240 SoCs. config USB_OHCI_HCD_PPC_OF_BE bool "OHCI support for OF platform bus (big endian)" depends on PPC_OF select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_MMIO ---help--- Enables support for big-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF_LE bool "OHCI support for OF platform bus (little endian)" depends on PPC_OF select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for little-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF bool depends on PPC_OF default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE config USB_OHCI_HCD_PCI tristate "OHCI support for PCI-bus USB controllers" depends on PCI default y select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for PCI-bus plug-in USB controller cards. If unsure, say Y. config USB_OHCI_HCD_SSB bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" depends on (SSB = y || SSB = USB_OHCI_HCD) select USB_HCD_SSB select USB_OHCI_HCD_PLATFORM default n ---help--- This option is deprecated now and the driver was removed, use USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. Support for the Sonics Silicon Backplane (SSB) attached Broadcom USB OHCI core. This device is present in some embedded devices with Broadcom based SSB bus. If unsure, say N. config USB_OHCI_SH bool "OHCI support for SuperH USB controller (DEPRECATED)" depends on SUPERH select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the on-chip OHCI controller on the SuperH. If you use the PCI OHCI controller, this option is not necessary. config USB_OHCI_EXYNOS tristate "OHCI support for Samsung S5P/EXYNOS SoC Series" depends on PLAT_S5P || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip OHCI controller. config USB_CNS3XXX_OHCI bool "Cavium CNS3XXX OHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM tristate "Generic OHCI driver for a platform device" default n ---help--- Adds an OHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_OHCI bool "Octeon on-chip OHCI support" depends on CAVIUM_OCTEON_SOC default USB_OCTEON_EHCI select USB_OHCI_BIG_ENDIAN_MMIO select USB_OHCI_LITTLE_ENDIAN help Enable support for the Octeon II SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. All CN6XXX based chips with USB are supported. endif # USB_OHCI_HCD config USB_UHCI_HCD tristate "UHCI HCD (most Intel and VIA) support" depends on PCI || USB_UHCI_SUPPORT_NON_PCI_HC ---help--- The Universal Host Controller Interface is a standard by Intel for accessing the USB hardware in the PC (which is also called the USB host controller). If your USB host controller conforms to this standard, you may want to say Y, but see below. All recent boards with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, i810, i820) conform to this standard. Also all VIA PCI chipsets (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 133) and LEON/GRLIB SoCs with the GRUSBHC controller. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called uhci-hcd. config USB_UHCI_SUPPORT_NON_PCI_HC bool default y if (SPARC_LEON || USB_UHCI_PLATFORM) config USB_UHCI_PLATFORM bool default y if ARCH_VT8500 config USB_UHCI_BIG_ENDIAN_MMIO bool default y if SPARC_LEON config USB_UHCI_BIG_ENDIAN_DESC bool default y if SPARC_LEON config USB_FHCI_HCD tristate "Freescale QE USB Host Controller support" depends on OF_GPIO && QE_GPIO && QUICC_ENGINE select FSL_GTM select QE_USB help This driver enables support for Freescale QE USB Host Controller (as found on MPC8360 and MPC8323 processors), the driver supports Full and Low Speed USB. config FHCI_DEBUG bool "Freescale QE USB Host Controller debug support" depends on USB_FHCI_HCD && DEBUG_FS help Say "y" to see some FHCI debug information and statistics through debugfs. config USB_U132_HCD tristate "Elan U132 Adapter Host Controller" depends on USB_FTDI_ELAN default M help The U132 adapter is a USB to CardBus adapter specifically designed for PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. For those PC cards that contain multiple OHCI controllers only the first one is used. The driver consists of two modules, the "ftdi-elan" module is a USB client driver that interfaces to the FTDI chip within ELAN's USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host controller driver that talks to the OHCI controller within the CardBus cards that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. It is safe to say M here. See also config USB_SL811_HCD tristate "SL811HS HCD support" help The SL811HS is a single-port USB controller that supports either host side or peripheral side roles. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sl811-hcd. config USB_SL811_HCD_ISO bool "partial ISO support" depends on USB_SL811_HCD help The driver doesn't support iso_frame_desc (yet), but for some simple devices that just queue one ISO frame per URB, then ISO transfers "should" work using the normal urb status fields. If unsure, say N. config USB_SL811_CS tristate "CF/PCMCIA support for SL811HS HCD" depends on USB_SL811_HCD && PCMCIA help Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC REX-CFU1U CF card (often used with PDAs). If unsure, say N. To compile this driver as a module, choose M here: the module will be called "sl811_cs". config USB_R8A66597_HCD tristate "R8A66597 HCD support" help The R8A66597 is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called r8a66597-hcd. config USB_RENESAS_USBHS_HCD tristate "Renesas USBHS HCD support" depends on USB_RENESAS_USBHS help The Renesas USBHS is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called renesas-usbhs. config USB_WHCI_HCD tristate "Wireless USB Host Controller Interface (WHCI) driver" depends on PCI && USB && UWB select USB_WUSB select UWB_WHCI help A driver for PCI-based Wireless USB Host Controllers that are compliant with the WHCI specification. To compile this driver a module, choose M here: the module will be called "whci-hcd". config USB_HWA_HCD tristate "Host Wire Adapter (HWA) driver" depends on UWB select USB_WUSB select UWB_HWA help This driver enables you to connect Wireless USB devices to your system using a Host Wire Adaptor USB dongle. This is an UWB Radio Controller and WUSB Host Controller connected to your machine via USB (specified in WUSB1.0). To compile this driver a module, choose M here: the module will be called "hwa-hc". config USB_IMX21_HCD tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC help This driver enables support for the on-chip USB host in the i.MX21 processor. To compile this driver as a module, choose M here: the module will be called "imx21-hcd". config USB_OCTEON2_COMMON bool default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI config USB_HCD_BCMA tristate "BCMA usb host driver" depends on BCMA select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_SSB tristate "SSB usb host driver" depends on SSB select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_TEST_MODE bool "HCD test mode support" ---help--- Say 'Y' to enable additional software test modes that may be supported by the host controller drivers. One such test mode is the Embedded High-speed Host Electrical Test (EHSET) for EHCI host controller hardware, specifically the "Single Step Set Feature" test. Typically this will be enabled for On-the-Go or embedded hosts that need to undergo USB-IF compliance testing with the aid of special testing hardware. In the future, this may expand to include other tests that require support from a HCD driver. This option is of interest only to developers who need to validate their USB hardware designs. It is not needed for normal use. If unsure, say N. # # USB Imaging devices configuration # comment "USB Imaging devices" config USB_MDC800 tristate "USB Mustek MDC800 Digital Camera support" ---help--- Say Y here if you want to connect this type of still camera to your computer's USB port. This driver can be used with gphoto 0.4.3 and higher (look at ). To use it create a device node with "mknod /dev/mustek c 180 32" and configure it in your software. To compile this driver as a module, choose M here: the module will be called mdc800. config USB_MICROTEK tristate "Microtek X6USB scanner support" depends on SCSI help Say Y here if you want support for the Microtek X6USB and possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L. Support for anything but the X6 is experimental. Please report failures and successes. The scanner will appear as a scsi generic device to the rest of the system. Scsi support is required. This driver can be compiled as a module, called microtek. # # USB Miscellaneous driver configuration # comment "USB Miscellaneous drivers" config USB_EMI62 tristate "EMI 6|2m USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 6|2m low latency USB Audio and Midi interface. After firmware load the device is handled with standard linux USB Audio driver. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called audio. If you want to compile it as a module, say M here and read . config USB_EMI26 tristate "EMI 2|6 USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 2|6 low latency USB Audio interface. After firmware load the device is handled with standard linux USB Audio driver. To compile this driver as a module, choose M here: the module will be called emi26. config USB_ADUTUX tristate "ADU devices from Ontrak Control Systems" help Say Y if you want to use an ADU device from Ontrak Control Systems. To compile this driver as a module, choose M here. The module will be called adutux. config USB_SEVSEG tristate "USB 7-Segment LED Display" help Say Y here if you have a USB 7-Segment Display by Delcom To compile this driver as a module, choose M here: the module will be called usbsevseg. config USB_RIO500 tristate "USB Diamond Rio500 support" help Say Y here if you want to connect a USB Rio500 mp3 player to your computer's USB port. Please read for more information. To compile this driver as a module, choose M here: the module will be called rio500. config USB_LEGOTOWER tristate "USB Lego Infrared Tower support" help Say Y here if you want to connect a USB Lego Infrared Tower to your computer's USB port. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called legousbtower. If you want to compile it as a module, say M here and read . config USB_LCD tristate "USB LCD driver support" help Say Y here if you want to connect an USBLCD to your computer's USB port. The USBLCD is a small USB interface board for alphanumeric LCD modules. See for more information. To compile this driver as a module, choose M here: the module will be called usblcd. config USB_LED tristate "USB LED driver support" help Say Y here if you want to connect an USBLED device to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usbled. config USB_CYPRESS_CY7C63 tristate "Cypress CY7C63xxx USB driver support" help Say Y here if you want to connect a Cypress CY7C63xxx micro controller to your computer's USB port. Currently this driver supports the pre-programmed devices (incl. firmware) by AK Modul-Bus Computer GmbH. Please see: http://www.ak-modul-bus.de/stat/mikrocontroller.html To compile this driver as a module, choose M here: the module will be called cypress_cy7c63. config USB_CYTHERM tristate "Cypress USB thermometer driver support" help Say Y here if you want to connect a Cypress USB thermometer device to your computer's USB port. This device is also known as the Cypress USB Starter kit or demo board. The Elektor magazine published a modified version of this device in issue #291. To compile this driver as a module, choose M here: the module will be called cytherm. config USB_IDMOUSE tristate "Siemens ID USB Mouse Fingerprint sensor support" help Say Y here if you want to use the fingerprint sensor on the Siemens ID Mouse. There is also a Siemens ID Mouse _Professional_, which has not been tested with this driver, but uses the same sensor and may therefore work. This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX", which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm". See also . config USB_FTDI_ELAN tristate "Elan PCMCIA CardBus Adapter USB Client" default M help ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters. Currently only the U132 adapter is available. The U132 is specifically designed for CardBus PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. To use a U132 adapter you will need this "ftdi-elan" module as well as the "u132-hcd" module which is a USB host controller driver that talks to the OHCI controller within CardBus card that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. See also the USB_U132_HCD entry "Elan U132 Adapter Host Controller" It is safe to say M here. config USB_APPLEDISPLAY tristate "Apple Cinema Display support" select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICE help Say Y here if you want to control the backlight of Apple Cinema Displays over USB. This driver provides a sysfs interface. source "drivers/usb/misc/sisusbvga/Kconfig" config USB_LD tristate "USB LD driver" help This driver is for generic USB devices that use interrupt transfers, like LD Didactic's USB devices. To compile this driver as a module, choose M here: the module will be called ldusb. config USB_TRANCEVIBRATOR tristate "PlayStation 2 Trance Vibrator driver support" help Say Y here if you want to connect a PlayStation 2 Trance Vibrator device to your computer's USB port. To compile this driver as a module, choose M here: the module will be called trancevibrator. config USB_IOWARRIOR tristate "IO Warrior driver support" help Say Y here if you want to support the IO Warrior devices from Code Mercenaries. This includes support for the following devices: IO Warrior 40 IO Warrior 24 IO Warrior 56 IO Warrior 24 Power Vampire To compile this driver as a module, choose M here: the module will be called iowarrior. config USB_TEST tristate "USB testing driver" help This driver is for testing host controller software. It is used with specialized device firmware for regression and stress testing, to help prevent problems from cropping up with "real" drivers. See for more information, including sample test device firmware and "how to use it". config USB_EHSET_TEST_FIXTURE tristate "USB EHSET Test Fixture driver" help Say Y here if you want to support the special test fixture device used for the USB-IF Embedded Host High-Speed Electrical Test procedure. When the test fixture is connected, it can enumerate as one of several VID/PID pairs. This driver then initiates a corresponding test mode on the downstream port to which the test fixture is attached. See for more information. config USB_ISIGHTFW tristate "iSight firmware loading support" select FW_LOADER help This driver loads firmware for USB Apple iSight cameras, allowing them to be driven by the USB video class driver available at http://linux-uvc.berlios.de The firmware for this driver must be extracted from the MacOS driver beforehand. Tools for doing so are available at http://bersace03.free.fr config USB_YUREX tristate "USB YUREX driver support" help Say Y here if you want to connect a YUREX to your computer's USB port. The YUREX is a leg-shakes sensor. See for further information. This driver supports read/write of leg-shakes counter and fasync for the counter update via a device file /dev/yurex*. To compile this driver as a module, choose M here: the module will be called yurex. config USB_EZUSB_FX2 tristate "Functions for loading firmware on EZUSB chips" help Say Y here if you need EZUSB device support. (Cypress FX/FX2/FX2LP microcontrollers) config USB_HSIC_USB3503 tristate "USB3503 HSIC to USB20 Driver" depends on I2C select REGMAP_I2C help This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver. config USB_SISUSBVGA tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)" depends on (USB_MUSB_HDRC || USB_EHCI_HCD) select FONT_SUPPORT if USB_SISUSBVGA_CON ---help--- Say Y here if you intend to attach a USB2VGA dongle based on a Net2280 and a SiS315 chip. Note that this device requires a USB 2.0 host controller. It will not work with USB 1.x controllers. To compile this driver as a module, choose M here; the module will be called sisusbvga. If unsure, say N. config USB_SISUSBVGA_CON bool "Text console and mode switching support" if USB_SISUSBVGA depends on VT select FONT_8x16 ---help--- Say Y here if you want a VGA text console via the USB dongle or want to support userland applications that utilize the driver's display mode switching capabilities. Note that this console supports VGA/EGA text mode only. By default, the console part of the driver will not kick in when the driver is initialized. If you want the driver to take over one or more of the consoles, you need to specify the number of the first and last consoles (starting at 1) as driver parameters. For example, if the driver is compiled as a module: modprobe sisusbvga first=1 last=5 If you use hotplug, add this to your modutils config files with the "options" keyword, such as eg. options sisusbvga first=1 last=5 If the driver is compiled into the kernel image, the parameters must be given in the kernel command like, such as sisusbvga.first=1 sisusbvga.last=5 # # USB Monitor configuration # config USB_MON tristate "USB Monitor" help If you select this option, a component which captures the USB traffic between peripheral-specific drivers and HC drivers will be built. For more information, see . If unsure, say Y, if allowed, otherwise M. # # USB Dual Role (OTG-ready) Controller Drivers # for silicon based on Mentor Graphics INVENTRA designs # # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller config USB_MUSB_HDRC tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)' depends on USB_GADGET help Say Y here if your system has a dual role high speed USB controller based on the Mentor Graphics silicon IP. Then configure options to match your silicon and the board it's being used with, including the USB peripheral role, or the USB host role, or both. Texas Instruments families using this IP include DaVinci (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010. Analog Devices parts using this IP include Blackfin BF54x, BF525 and BF527. If you do not know what this is, please say N. To compile this driver as a module, choose M here; the module will be called "musb-hdrc". if USB_MUSB_HDRC choice bool "MUSB Mode Selection" default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET) default USB_MUSB_HOST if (USB && !USB_GADGET) default USB_MUSB_GADGET if (!USB && USB_GADGET) config USB_MUSB_HOST bool "Host only mode" depends on USB help Select this when you want to use MUSB in host mode only, thereby the gadget feature will be regressed. config USB_MUSB_GADGET bool "Gadget only mode" depends on USB_GADGET help Select this when you want to use MUSB in gadget mode only, thereby the host feature will be regressed. config USB_MUSB_DUAL_ROLE bool "Dual Role mode" depends on (USB && USB_GADGET) help This is the default mode of working of MUSB controller where both host and gadget features are enabled. endchoice choice prompt "Platform Glue Layer" config USB_MUSB_DAVINCI tristate "DaVinci" depends on ARCH_DAVINCI_DMx depends on BROKEN config USB_MUSB_DA8XX tristate "DA8xx/OMAP-L1x" depends on ARCH_DAVINCI_DA8XX depends on BROKEN config USB_MUSB_TUSB6010 tristate "TUSB6010" config USB_MUSB_OMAP2PLUS tristate "OMAP2430 and onwards" depends on ARCH_OMAP2PLUS select GENERIC_PHY config USB_MUSB_AM35X tristate "AM35x" depends on ARCH_OMAP config USB_MUSB_DSPS tristate "TI DSPS platforms" select USB_MUSB_AM335X_CHILD depends on OF_IRQ config USB_MUSB_BLACKFIN tristate "Blackfin" depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523) config USB_MUSB_UX500 tristate "Ux500 platforms" endchoice config USB_MUSB_AM335X_CHILD tristate choice prompt 'MUSB DMA mode' default MUSB_PIO_ONLY if ARCH_MULTIPLATFORM default USB_UX500_DMA if USB_MUSB_UX500 default USB_INVENTRA_DMA if USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN default USB_TI_CPPI_DMA if USB_MUSB_DAVINCI default USB_TUSB_OMAP_DMA if USB_MUSB_TUSB6010 default MUSB_PIO_ONLY if USB_MUSB_TUSB6010 || USB_MUSB_DA8XX || USB_MUSB_AM35X \ || USB_MUSB_DSPS help Unfortunately, only one option can be enabled here. Ideally one should be able to build all these drivers into one kernel to allow using DMA on multiplatform kernels. config USB_UX500_DMA bool 'ST Ericsson Ux500' depends on USB_MUSB_UX500 help Enable DMA transfers on UX500 platforms. config USB_INVENTRA_DMA bool 'Inventra' depends on USB_MUSB_OMAP2PLUS || USB_MUSB_BLACKFIN help Enable DMA transfers using Mentor's engine. config USB_TI_CPPI_DMA bool 'TI CPPI (Davinci)' depends on USB_MUSB_DAVINCI help Enable DMA transfers when TI CPPI DMA is available. config USB_TI_CPPI41_DMA bool 'TI CPPI 4.1 (AM335x)' depends on ARCH_OMAP config USB_TUSB_OMAP_DMA bool 'TUSB 6010' depends on USB_MUSB_TUSB6010 depends on ARCH_OMAP help Enable DMA transfers on TUSB 6010 when OMAP DMA is available. config MUSB_PIO_ONLY bool 'Disable DMA (always use PIO)' help All data is copied between memory and FIFO by the CPU. DMA controllers are ignored. Do not choose this unless DMA support for your SOC or board is unavailable (or unstable). When DMA is enabled at compile time, you can still disable it at run time using the "use_dma=n" module parameter. endchoice endif # USB_MUSB_HDRC # # Physical Layer USB driver configuration # menu "USB Physical Layer drivers" config USB_PHY def_bool n # # USB Transceiver Drivers # config AB8500_USB tristate "AB8500 USB Transceiver Driver" depends on AB8500_CORE select USB_PHY help Enable this to support the USB OTG transceiver in AB8500 chip. This transceiver supports high and full speed devices plus, in host mode, low speed. config FSL_USB2_OTG tristate "Freescale USB OTG Transceiver Driver" depends on USB_EHCI_FSL && USB_FSL_USB2 && PM_RUNTIME depends on USB select USB_OTG select USB_PHY help Enable this to support Freescale USB OTG transceiver. config ISP1301_OMAP tristate "Philips ISP1301 with OMAP OTG" depends on I2C && ARCH_OMAP_OTG depends on USB select USB_PHY help If you say yes here you get support for the Philips ISP1301 USB-On-The-Go transceiver working with the OMAP OTG controller. The ISP1301 is a full speed USB transceiver which is used in products including H2, H3, and H4 development boards for Texas Instruments OMAP processors. This driver can also be built as a module. If so, the module will be called isp1301_omap. config MV_U3D_PHY bool "Marvell USB 3.0 PHY controller Driver" depends on CPU_MMP3 select USB_PHY help Enable this to support Marvell USB 3.0 phy controller for Marvell SoC. config NOP_USB_XCEIV tristate "NOP USB Transceiver Driver" select USB_PHY help This driver is to be used by all the usb transceiver which are either built-in with usb ip or which are autonomous and doesn't require any phy programming such as ISP1x04 etc. config OMAP_CONTROL_USB tristate "OMAP CONTROL USB Driver" depends on ARCH_OMAP2PLUS || COMPILE_TEST help Enable this to add support for the USB part present in the control module. This driver has API to power on the USB2 PHY and to write to the mailbox. The mailbox is present only in omap4 and the register to power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an additional register to power on USB3 PHY. config OMAP_USB3 tristate "OMAP USB3 PHY Driver" depends on ARCH_OMAP2PLUS || COMPILE_TEST select OMAP_CONTROL_USB select USB_PHY help Enable this to support the USB3 PHY that is part of SOC. This driver takes care of all the PHY functionality apart from comparator. This driver interacts with the "OMAP Control USB Driver" to power on/off the PHY. config AM335X_CONTROL_USB tristate config AM335X_PHY_USB tristate "AM335x USB PHY Driver" depends on ARM || COMPILE_TEST select USB_PHY select AM335X_CONTROL_USB select NOP_USB_XCEIV help This driver provides PHY support for that phy which part for the AM335x SoC. config SAMSUNG_USBPHY tristate help Enable this to support Samsung USB phy helper driver for Samsung SoCs. This driver provides common interface to interact, for Samsung USB 2.0 PHY driver and later for Samsung USB 3.0 PHY driver. config SAMSUNG_USB2PHY tristate "Samsung USB 2.0 PHY controller Driver" select SAMSUNG_USBPHY select USB_PHY help Enable this to support Samsung USB 2.0 (High Speed) PHY controller driver for Samsung SoCs. config SAMSUNG_USB3PHY tristate "Samsung USB 3.0 PHY controller Driver" select SAMSUNG_USBPHY select USB_PHY help Enable this to support Samsung USB 3.0 (Super Speed) phy controller for samsung SoCs. config TWL6030_USB tristate "TWL6030 USB Transceiver Driver" depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS help Enable this to support the USB OTG transceiver on TWL6030 family chips. This TWL6030 transceiver has the VBUS and ID GND and OTG SRP events capabilities. For all other transceiver functionality UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs are hooked to this driver through platform_data structure. The definition of internal PHY APIs are in the mach-omap2 layer. config USB_GPIO_VBUS tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" depends on GPIOLIB select USB_PHY help Provides simple GPIO VBUS sensing for controllers with an internal transceiver via the usb_phy interface, and optionally control of a D+ pullup GPIO as well as a VBUS current limit regulator. config USB_ISP1301 tristate "NXP ISP1301 USB transceiver support" depends on USB || USB_GADGET depends on I2C select USB_PHY help Say Y here to add support for the NXP ISP1301 USB transceiver driver. This chip is typically used as USB transceiver for USB host, gadget and OTG drivers (to be selected separately). To compile this driver as a module, choose M here: the module will be called isp1301. config USB_MSM_OTG tristate "OTG support for Qualcomm on-chip USB controller" depends on (USB || USB_GADGET) && ARCH_MSM select USB_PHY help Enable this to support the USB OTG transceiver on MSM chips. It handles PHY initialization, clock management, and workarounds required after resetting the hardware and power management. This driver is required even for peripheral only or host only mode configurations. This driver is not supported on boards like trout which has an external PHY. config USB_MV_OTG tristate "Marvell USB OTG support" depends on USB_EHCI_MV && USB_MV_UDC && PM_RUNTIME select USB_OTG select USB_PHY help Say Y here if you want to build Marvell USB OTG transciever driver in kernel (including PXA and MMP series). This driver implements role switch between EHCI host driver and gadget driver. To compile this driver as a module, choose M here. config USB_MXS_PHY tristate "Freescale MXS USB PHY support" depends on ARCH_MXC || ARCH_MXS select STMP_DEVICE select USB_PHY help Enable this to support the Freescale MXS USB PHY. MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. config USB_RCAR_PHY tristate "Renesas R-Car USB PHY support" depends on USB || USB_GADGET select USB_PHY help Say Y here to add support for the Renesas R-Car USB common PHY driver. This chip is typically used as USB PHY for USB host, gadget. This driver supports R8A7778 and R8A7779. To compile this driver as a module, choose M here: the module will be called phy-rcar-usb. config USB_RCAR_GEN2_PHY tristate "Renesas R-Car Gen2 USB PHY support" depends on ARCH_R8A7790 || ARCH_R8A7791 || COMPILE_TEST select USB_PHY help Say Y here to add support for the Renesas R-Car Gen2 USB PHY driver. It is typically used to control internal USB PHY for USBHS, and to configure shared USB channels 0 and 2. This driver supports R8A7790 and R8A7791. To compile this driver as a module, choose M here: the module will be called phy-rcar-gen2-usb. config USB_ULPI bool "Generic ULPI Transceiver Driver" depends on ARM help Enable this to support ULPI connected USB OTG transceivers which are likely found on embedded boards. config USB_ULPI_VIEWPORT bool depends on USB_ULPI help Provides read/write operations to the ULPI phy register set for controllers with a viewport register (e.g. Chipidea/ARC controllers). endmenu # # Renesas USBHS Controller Drivers # config USB_RENESAS_USBHS tristate 'Renesas USBHS controller' depends on USB_GADGET default n help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" # # USB Serial device configuration # menuconfig USB_SERIAL tristate "USB Serial Converter support" depends on TTY ---help--- Say Y here if you have a USB device that provides normal serial ports, or acts like a serial device, and you want to connect it to your USB bus. Please read for more information on the specifics of the different devices that are supported, and on how to use them. To compile this driver as a module, choose M here: the module will be called usbserial. if USB_SERIAL config USB_SERIAL_CONSOLE bool "USB Serial Console device support" depends on USB_SERIAL=y ---help--- If you say Y here, it will be possible to use a USB to serial converter port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyUSB0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first USB to serial converter port, /dev/ttyUSB0, as system console. If unsure, say N. config USB_SERIAL_GENERIC bool "USB Generic Serial Driver" help Say Y here if you want to use the generic USB serial driver. Please read for more information on using this driver. It is recommended that the "USB Serial converter support" be compiled as a module for this driver to be used properly. config USB_SERIAL_SIMPLE tristate "USB Serial Simple Driver" help Say Y here to use the USB serial "simple" driver. This driver handles a wide range of very simple devices, all in one driver. Specifically, it supports: - Suunto ANT+ USB device. - Fundamental Software dongle. - HP4x calculators - a number of Motorola phones - Siemens USB/MPI adapter. - ViVOtech ViVOpay USB device. - Infineon Modem Flashloader USB interface - ZIO Motherboard USB serial interface To compile this driver as a module, choose M here: the module will be called usb-serial-simple. config USB_SERIAL_AIRCABLE tristate "USB AIRcable Bluetooth Dongle Driver" help Say Y here if you want to use USB AIRcable Bluetooth Dongle. To compile this driver as a module, choose M here: the module will be called aircable. config USB_SERIAL_ARK3116 tristate "USB ARK Micro 3116 USB Serial Driver" help Say Y here if you want to use a ARK Micro 3116 USB to Serial device. To compile this driver as a module, choose M here: the module will be called ark3116 config USB_SERIAL_BELKIN tristate "USB Belkin and Peracom Single Port Serial Driver" help Say Y here if you want to use a Belkin USB Serial single port adaptor (F5U103 is one of the model numbers) or the Peracom single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called belkin_sa. config USB_SERIAL_CH341 tristate "USB Winchiphead CH341 Single Port Serial Driver" help Say Y here if you want to use a Winchiphead CH341 single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called ch341. config USB_SERIAL_WHITEHEAT tristate "USB ConnectTech WhiteHEAT Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a ConnectTech WhiteHEAT 4 port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called whiteheat. config USB_SERIAL_DIGI_ACCELEPORT tristate "USB Digi International AccelePort USB Serial Driver" ---help--- Say Y here if you want to use Digi AccelePort USB 2 or 4 devices, 2 port (plus parallel port) and 4 port USB serial converters. The parallel port on the USB 2 appears as a third serial port on Linux. The Digi Acceleport USB 8 is not yet supported by this driver. This driver works under SMP with the usb-uhci driver. It does not work under SMP with the uhci driver. To compile this driver as a module, choose M here: the module will be called digi_acceleport. config USB_SERIAL_CP210X tristate "USB CP210x family of UART Bridge Controllers" help Say Y here if you want to use a CP2101/CP2102/CP2103 based USB to RS232 converters. To compile this driver as a module, choose M here: the module will be called cp210x. config USB_SERIAL_CYPRESS_M8 tristate "USB Cypress M8 USB Serial Driver" help Say Y here if you want to use a device that contains the Cypress USB to Serial microcontroller, such as the DeLorme Earthmate GPS. Attempted SMP support... send bug reports! Supported microcontrollers in the CY4601 family are: CY7C63741 CY7C63742 CY7C63743 CY7C64013 To compile this driver as a module, choose M here: the module will be called cypress_m8. config USB_SERIAL_EMPEG tristate "USB Empeg empeg-car Mark I/II Driver" help Say Y here if you want to connect to your Empeg empeg-car Mark I/II mp3 player via USB. The driver uses a single ttyUSB{0,1,2,...} device node. See for more tidbits of information. To compile this driver as a module, choose M here: the module will be called empeg. config USB_SERIAL_FTDI_SIO tristate "USB FTDI Single Port Serial Driver" ---help--- Say Y here if you want to use a FTDI SIO single port USB to serial converter device. The implementation I have is called the USC-1000. This driver has also be tested with the 245 and 232 devices. See for more information on this driver and the device. To compile this driver as a module, choose M here: the module will be called ftdi_sio. config USB_SERIAL_VISOR tristate "USB Handspring Visor / Palm m50x / Sony Clie Driver" help Say Y here if you want to connect to your HandSpring Visor, Palm m500 or m505 through its USB docking station. See for more information on using this driver. To compile this driver as a module, choose M here: the module will be called visor. config USB_SERIAL_IPAQ tristate "USB PocketPC PDA Driver" help Say Y here if you want to connect to your Compaq iPAQ, HP Jornada or any other PDA running Windows CE 3.0 or PocketPC 2002 using a USB cradle/cable. For information on using the driver, read . To compile this driver as a module, choose M here: the module will be called ipaq. config USB_SERIAL_IR tristate "USB IR Dongle Serial Driver" help Say Y here if you want to enable simple serial support for USB IrDA devices. This is useful if you do not want to use the full IrDA stack. To compile this driver as a module, choose M here: the module will be called ir-usb. config USB_SERIAL_EDGEPORT tristate "USB Inside Out Edgeport Serial Driver" ---help--- Say Y here if you want to use any of the following devices from Inside Out Networks (Digi): Edgeport/4 Rapidport/4 Edgeport/4t Edgeport/2 Edgeport/4i Edgeport/2i Edgeport/421 Edgeport/21 Edgeport/8 Edgeport/8 Dual Edgeport/2D8 Edgeport/4D8 Edgeport/8i Edgeport/2 DIN Edgeport/4 DIN Edgeport/16 Dual To compile this driver as a module, choose M here: the module will be called io_edgeport. config USB_SERIAL_EDGEPORT_TI tristate "USB Inside Out Edgeport Serial Driver (TI devices)" help Say Y here if you want to use any of the devices from Inside Out Networks (Digi) that are not supported by the io_edgeport driver. This includes the Edgeport/1 device. To compile this driver as a module, choose M here: the module will be called io_ti. config USB_SERIAL_F81232 tristate "USB Fintek F81232 Single Port Serial Driver" help Say Y here if you want to use the Fintek F81232 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called f81232. config USB_SERIAL_GARMIN tristate "USB Garmin GPS driver" help Say Y here if you want to connect to your Garmin GPS. Should work with most Garmin GPS devices which have a native USB port. See for the latest version of the driver. To compile this driver as a module, choose M here: the module will be called garmin_gps. config USB_SERIAL_IPW tristate "USB IPWireless (3G UMTS TDD) Driver" select USB_SERIAL_WWAN help Say Y here if you want to use a IPWireless USB modem such as the ones supplied by Axity3G/Sentech South Africa. To compile this driver as a module, choose M here: the module will be called ipw. config USB_SERIAL_IUU tristate "USB Infinity USB Unlimited Phoenix Driver" help Say Y here if you want to use a IUU in phoenix mode and get an extra ttyUSBx device. More information available on http://eczema.ecze.com/iuu_phoenix.html To compile this driver as a module, choose M here: the module will be called iuu_phoenix.o config USB_SERIAL_KEYSPAN_PDA tristate "USB Keyspan PDA Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Keyspan PDA single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_KEYSPAN tristate "USB Keyspan USA-xxx Serial Driver" select USB_EZUSB_FX2 ---help--- Say Y here if you want to use Keyspan USB to serial converter devices. This driver makes use of Keyspan's official firmware and was developed with their support. You must also include firmware to support your particular device(s). See for more information. To compile this driver as a module, choose M here: the module will be called keyspan. config USB_SERIAL_KEYSPAN_MPR bool "USB Keyspan MPR Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the Keyspan MPR converter. config USB_SERIAL_KEYSPAN_USA28 bool "USB Keyspan USA-28 Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-28 converter. config USB_SERIAL_KEYSPAN_USA28X bool "USB Keyspan USA-28X Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-28X converter. Be sure you have a USA-28X, there are also 28XA and 28XB models, the label underneath has the actual part number. config USB_SERIAL_KEYSPAN_USA28XA bool "USB Keyspan USA-28XA Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-28XA converter. Be sure you have a USA-28XA, there are also 28X and 28XB models, the label underneath has the actual part number. config USB_SERIAL_KEYSPAN_USA28XB bool "USB Keyspan USA-28XB Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-28XB converter. Be sure you have a USA-28XB, there are also 28X and 28XA models, the label underneath has the actual part number. config USB_SERIAL_KEYSPAN_USA19 bool "USB Keyspan USA-19 Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-19 converter. config USB_SERIAL_KEYSPAN_USA18X bool "USB Keyspan USA-18X Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-18X converter. config USB_SERIAL_KEYSPAN_USA19W bool "USB Keyspan USA-19W Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-19W converter. config USB_SERIAL_KEYSPAN_USA19QW bool "USB Keyspan USA-19QW Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-19QW converter. config USB_SERIAL_KEYSPAN_USA19QI bool "USB Keyspan USA-19QI Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-19QI converter. config USB_SERIAL_KEYSPAN_USA49W bool "USB Keyspan USA-49W Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-49W converter. config USB_SERIAL_KEYSPAN_USA49WLC bool "USB Keyspan USA-49WLC Firmware" depends on USB_SERIAL_KEYSPAN && FIRMWARE_IN_KERNEL help Say Y here to include firmware for the USA-49WLC converter. config USB_SERIAL_KLSI tristate "USB KL5KUSB105 (Palmconnect) Driver" ---help--- Say Y here if you want to use a KL5KUSB105 - based single port serial adapter. The most widely known -- and currently the only tested -- device in this category is the PalmConnect USB Serial adapter sold by Palm Inc. for use with their Palm III and Palm V series PDAs. Please read for more information. To compile this driver as a module, choose M here: the module will be called kl5kusb105. config USB_SERIAL_KOBIL_SCT tristate "USB KOBIL chipcard reader" ---help--- Say Y here if you want to use one of the following KOBIL USB chipcard readers: - USB TWIN - KAAN Standard Plus - KAAN SIM - SecOVID Reader Plus - B1 Professional - KAAN Professional Note that you need a current CT-API. To compile this driver as a module, choose M here: the module will be called kobil_sct. config USB_SERIAL_MCT_U232 tristate "USB MCT Single Port Serial Driver" ---help--- Say Y here if you want to use a USB Serial single port adapter from Magic Control Technology Corp. (U232 is one of the model numbers). This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB BAY, Belkin F5U109, and Belkin F5U409 devices. To compile this driver as a module, choose M here: the module will be called mct_u232. config USB_SERIAL_METRO tristate "USB Metrologic Instruments USB-POS Barcode Scanner Driver" ---help--- Say Y here if you want to use a USB POS Metrologic barcode scanner. To compile this driver as a module, choose M here: the module will be called metro-usb. config USB_SERIAL_MOS7720 tristate "USB Moschip 7720 Serial Driver" ---help--- Say Y here if you want to use USB Serial single and double port adapters from Moschip Semiconductor Tech. To compile this driver as a module, choose M here: the module will be called mos7720. config USB_SERIAL_MOS7715_PARPORT bool "Support for parallel port on the Moschip 7715" depends on USB_SERIAL_MOS7720 depends on PARPORT=y || PARPORT=USB_SERIAL_MOS7720 select PARPORT_NOT_PC ---help--- Say Y if you have a Moschip 7715 device and would like to use the parallel port it provides. The port will register with the parport subsystem as a low-level driver. config USB_SERIAL_MOS7840 tristate "USB Moschip 7840/7820 USB Serial Driver" ---help--- Say Y here if you want to use a MCS7840 Quad-Serial or MCS7820 Dual-Serial port device from MosChip Semiconductor. The MCS7840 and MCS7820 have been developed to connect a wide range of standard serial devices to a USB host. The MCS7840 has a USB device controller connected to four (4) individual UARTs while the MCS7820 controller connects to two (2) individual UARTs. To compile this driver as a module, choose M here: the module will be called mos7840. If unsure, choose N. config USB_SERIAL_NAVMAN tristate "USB Navman GPS device" help To compile this driver as a module, choose M here: the module will be called navman. config USB_SERIAL_PL2303 tristate "USB Prolific 2303 Single Port Serial Driver" help Say Y here if you want to use the PL2303 USB Serial single port adapter from Prolific. To compile this driver as a module, choose M here: the module will be called pl2303. config USB_SERIAL_OTI6858 tristate "USB Ours Technology Inc. OTi-6858 USB To RS232 Bridge Controller" help Say Y here if you want to use the OTi-6858 single port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called oti6858. config USB_SERIAL_QCAUX tristate "USB Qualcomm Auxiliary Serial Port Driver" help Say Y here if you want to use the auxiliary serial ports provided by many modems based on Qualcomm chipsets. These ports often use a proprietary protocol called DM and cannot be used for AT- or PPP-based communication. To compile this driver as a module, choose M here: the module will be called qcaux. If unsure, choose N. config USB_SERIAL_QUALCOMM tristate "USB Qualcomm Serial modem" select USB_SERIAL_WWAN help Say Y here if you have a Qualcomm USB modem device. These are usually wireless cellular modems. To compile this driver as a module, choose M here: the module will be called qcserial. config USB_SERIAL_SPCP8X5 tristate "USB SPCP8x5 USB To Serial Driver" help Say Y here if you want to use the spcp8x5 converter chip. This is commonly found in some Z-Wave USB devices. To compile this driver as a module, choose M here: the module will be called spcp8x5. config USB_SERIAL_SAFE tristate "USB Safe Serial (Encapsulated) Driver" config USB_SERIAL_SAFE_PADDED bool "USB Secure Encapsulated Driver - Padded" depends on USB_SERIAL_SAFE config USB_SERIAL_SIERRAWIRELESS tristate "USB Sierra Wireless Driver" help Say M here if you want to use Sierra Wireless devices. Many devices have a feature known as TRU-Install. For those devices to work properly, the USB Storage Sierra feature must be enabled. To compile this driver as a module, choose M here: the module will be called sierra. config USB_SERIAL_SYMBOL tristate "USB Symbol Barcode driver (serial mode)" help Say Y here if you want to use a Symbol USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called symbolserial. config USB_SERIAL_TI tristate "USB TI 3410/5052 Serial Driver" help Say Y here if you want to use the TI USB 3410 or 5052 serial devices. To compile this driver as a module, choose M here: the module will be called ti_usb_3410_5052. config USB_SERIAL_CYBERJACK tristate "USB REINER SCT cyberJack pinpad/e-com chipcard reader" ---help--- Say Y here if you want to use a cyberJack pinpad/e-com USB chipcard reader. This is an interface to ISO 7816 compatible contact-based chipcards, e.g. GSM SIMs. To compile this driver as a module, choose M here: the module will be called cyberjack. If unsure, say N. config USB_SERIAL_XIRCOM tristate "USB Xircom / Entregra Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Xircom or Entregra single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_WWAN tristate config USB_SERIAL_OPTION tristate "USB driver for GSM and CDMA modems" select USB_SERIAL_WWAN help Say Y here if you have a GSM or CDMA modem that's connected to USB. This driver also supports several PCMCIA cards which have a built-in OHCI-USB adapter and an internally-connected GSM modem. The USB bus on these cards is not accessible externally. Supported devices include (some of?) those made by: Option, Huawei, Audiovox, Novatel Wireless, or Anydata. To compile this driver as a module, choose M here: the module will be called option. If this driver doesn't recognize your device, it might be accessible via the FTDI_SIO driver. config USB_SERIAL_OMNINET tristate "USB ZyXEL omni.net LCD Plus Driver" help Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA. To compile this driver as a module, choose M here: the module will be called omninet. config USB_SERIAL_OPTICON tristate "USB Opticon Barcode driver (serial mode)" help Say Y here if you want to use a Opticon USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called opticon. config USB_SERIAL_XSENS_MT tristate "Xsens motion tracker serial interface driver" help Say Y here if you want to use Xsens motion trackers. This driver supports the new generation of motion trackers by Xsens. Older devices can be accessed using the FTDI_SIO driver. To compile this driver as a module, choose M here: the module will be called xsens_mt. config USB_SERIAL_WISHBONE tristate "USB-Wishbone adapter interface driver" help Say Y here if you want to use a USB attached Wishbone bus. Wishbone is an open hardware SoC bus commonly used in FPGA designs. Bus access can be serialized using the Etherbone protocol . This driver is intended to be used with devices which attach their internal Wishbone bus to a USB serial interface using the Etherbone protocol. A userspace library is required to speak the protocol made available by this driver as ttyUSBx. To compile this driver as a module, choose M here: the module will be called wishbone-serial. config USB_SERIAL_ZTE tristate "ZTE USB serial driver" help Say Y here if you want to use a ZTE USB to serial device. To compile this driver as a module, choose M here: the module will be called zte. config USB_SERIAL_SSU100 tristate "USB Quatech SSU-100 Single Port Serial Driver" help Say Y here if you want to use the Quatech SSU-100 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called ssu100. config USB_SERIAL_QT2 tristate "USB Quatech Serial Driver for USB 2 devices" help Say Y here if you want to use the Quatech USB 2 serial adapters. To compile this driver as a module, choose M here: the module will be called quatech-serial. config USB_SERIAL_DEBUG tristate "USB Debugging Device" help Say Y here if you have a USB debugging device used to receive debugging data from another machine. The most common of these devices is the NetChip TurboCONNECT device. To compile this driver as a module, choose M here: the module will be called usb-debug. endif # USB_SERIAL # # USB Storage driver configuration # comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may" comment "also be needed; see USB_STORAGE Help for more info" config USB_STORAGE tristate "USB Mass Storage support" depends on SCSI ---help--- Say Y here if you want to connect USB mass storage devices to your computer's USB port. This is the driver you need for USB floppy drives, USB hard disks, USB tape drives, USB CD-ROMs, USB flash devices, and memory sticks, along with similar devices. This driver may also be used for some cameras and card readers. This option depends on 'SCSI' support being enabled, but you probably also need 'SCSI device support: SCSI disk support' (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called usb-storage. config USB_STORAGE_DEBUG bool "USB Mass Storage verbose debug" depends on USB_STORAGE help Say Y here in order to have the USB Mass Storage code generate verbose debugging messages. config USB_STORAGE_REALTEK tristate "Realtek Card Reader support" depends on USB_STORAGE help Say Y here to include additional code to support the power-saving function for Realtek RTS51xx USB card readers. If this driver is compiled as a module, it will be named ums-realtek. config REALTEK_AUTOPM bool "Realtek Card Reader autosuspend support" depends on USB_STORAGE_REALTEK && PM_RUNTIME default y config USB_STORAGE_DATAFAB tristate "Datafab Compact Flash Reader support" depends on USB_STORAGE help Support for certain Datafab CompactFlash readers. Datafab has a web page at . If this driver is compiled as a module, it will be named ums-datafab. config USB_STORAGE_FREECOM tristate "Freecom USB/ATAPI Bridge support" depends on USB_STORAGE help Support for the Freecom USB to IDE/ATAPI adaptor. Freecom has a web page at . If this driver is compiled as a module, it will be named ums-freecom. config USB_STORAGE_ISD200 tristate "ISD-200 USB/ATA Bridge support" depends on USB_STORAGE ---help--- Say Y here if you want to use USB Mass Store devices based on the In-Systems Design ISD-200 USB/ATA bridge. Some of the products that use this chip are: - Archos Jukebox 6000 - ISD SmartCable for Storage - Taiwan Skymaster CD530U/DEL-0241 IDE bridge - Sony CRX10U CD-R/RW drive - CyQ've CQ8060A CDRW drive - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U) If this driver is compiled as a module, it will be named ums-isd200. config USB_STORAGE_USBAT tristate "USBAT/USBAT02-based storage support" depends on USB_STORAGE help Say Y here to include additional code to support storage devices based on the SCM/Shuttle USBAT/USBAT02 processors. Devices reported to work with this driver include: - CompactFlash reader included with Kodak DC3800 camera - Dane-Elec Zmate CompactFlash reader - Delkin Efilm reader2 - HP 8200e/8210e/8230e CD-Writer Plus drives - I-JAM JS-50U - Jessops CompactFlash JESDCFRU BLACK - Kingston Technology PCREAD-USB/CF - Maxell UA4 CompactFlash reader - Memorex UCF-100 - Microtech ZiO! ICS-45 CF2 - RCA LYRA MP3 portable - Sandisk ImageMate SDDR-05b If this driver is compiled as a module, it will be named ums-usbat. config USB_STORAGE_SDDR09 tristate "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support" depends on USB_STORAGE help Say Y here to include additional code to support the Sandisk SDDR-09 SmartMedia reader in the USB Mass Storage driver. Also works for the Microtech Zio! CompactFlash/SmartMedia reader. If this driver is compiled as a module, it will be named ums-sddr09. config USB_STORAGE_SDDR55 tristate "SanDisk SDDR-55 SmartMedia support" depends on USB_STORAGE help Say Y here to include additional code to support the Sandisk SDDR-55 SmartMedia reader in the USB Mass Storage driver. If this driver is compiled as a module, it will be named ums-sddr55. config USB_STORAGE_JUMPSHOT tristate "Lexar Jumpshot Compact Flash Reader" depends on USB_STORAGE help Say Y here to include additional code to support the Lexar Jumpshot USB CompactFlash reader. If this driver is compiled as a module, it will be named ums-jumpshot. config USB_STORAGE_ALAUDA tristate "Olympus MAUSB-10/Fuji DPC-R1 support" depends on USB_STORAGE help Say Y here to include additional code to support the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices. These devices are based on the Alauda chip and support both XD and SmartMedia cards. If this driver is compiled as a module, it will be named ums-alauda. config USB_STORAGE_ONETOUCH tristate "Support OneTouch Button on Maxtor Hard Drives" depends on USB_STORAGE depends on INPUT=y || INPUT=USB_STORAGE help Say Y here to include additional code to support the Maxtor OneTouch USB hard drive's onetouch button. This code registers the button on the front of Maxtor OneTouch USB hard drive's as an input device. An action can be associated with this input in any keybinding software. (e.g. gnome's keyboard short- cuts) If this driver is compiled as a module, it will be named ums-onetouch. config USB_STORAGE_KARMA tristate "Support for Rio Karma music player" depends on USB_STORAGE help Say Y here to include additional code to support the Rio Karma USB interface. This code places the Rio Karma into mass storage mode, enabling it to be mounted as an ordinary filesystem. Performing an eject on the resulting scsi device node returns the Karma to normal operation. If this driver is compiled as a module, it will be named ums-karma. config USB_STORAGE_CYPRESS_ATACB tristate "SAT emulation on Cypress USB/ATA Bridge with ATACB" depends on USB_STORAGE ---help--- Say Y here if you want to use SAT (ata pass through) on devices based on the Cypress USB/ATA bridge supporting ATACB. This will allow you to use tools to tune and monitor your drive (like hdparm or smartctl). If you say no here your device will still work with the standard usb mass storage class. If this driver is compiled as a module, it will be named ums-cypress. config USB_STORAGE_ENE_UB6250 tristate "USB ENE card reader support" depends on SCSI depends on USB_STORAGE ---help--- Say Y here if you wish to control a ENE SD/MS Card reader. To use SM card, please build driver/staging/keucr/keucr.ko This option depends on 'SCSI' support being enabled, but you probably also need 'SCSI device support: SCSI disk support' (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called ums-eneub6250. config USB_UAS tristate "USB Attached SCSI" depends on SCSI && BROKEN help The USB Attached SCSI protocol is supported by some USB storage devices. It permits higher performance by supporting multiple outstanding commands. If you don't know whether you have a UAS device, it is safe to say 'Y' or 'M' here and the kernel will use the right driver. If you compile this driver as a module, it will be named uas. # # Wireless USB Core configuration # config USB_WUSB tristate "Enable Wireless USB extensions" depends on PCI depends on UWB select CRYPTO select CRYPTO_BLKCIPHER select CRYPTO_CBC select CRYPTO_MANAGER select CRYPTO_AES help Enable the host-side support for Wireless USB. To compile this support select Y (built in). It is safe to select even if you don't have the hardware. config USB_WUSB_CBAF tristate "Support WUSB Cable Based Association (CBA)" help Some WUSB devices support Cable Based Association. It's used to enable the secure communication between the host and the device. Enable this option if your WUSB device must to be connected via wired USB before establishing a wireless link. It is safe to select even if you don't have a compatible hardware. config USB_WUSB_CBAF_DEBUG bool "Enable CBA debug messages" depends on USB_WUSB_CBAF help Say Y here if you want the CBA to produce a bunch of debug messages to the system log. Select this if you are having a problem with CBA support and want to see more of what is going on. # # UWB device configuration # menuconfig UWB tristate "Ultra Wideband devices" depends on PCI default n help UWB is a high-bandwidth, low-power, point-to-point radio technology using a wide spectrum (3.1-10.6GHz). It is optimized for in-room use (480Mbps at 2 meters, 110Mbps at 10m). It serves as the transport layer for other protocols, such as Wireless USB (WUSB). The topology is peer to peer; however, higher level protocols (such as WUSB) might impose a master/slave relationship. Say Y here if your computer has UWB radio controllers (USB or PCI) based. You will need to enable the radio controllers below. It is ok to select all of them, no harm done. For more help check the UWB and WUSB related files in . To compile the UWB stack as a module, choose M here. if UWB config UWB_HWA tristate "UWB Radio Control driver for WUSB-compliant USB dongles (HWA)" depends on USB help This driver enables the radio controller for HWA USB devices. HWA stands for Host Wire Adapter, and it is a UWB Radio Controller connected to your system via USB. Most of them come with a Wireless USB host controller also. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. config UWB_WHCI tristate "UWB Radio Control driver for WHCI-compliant cards" depends on PCI help This driver enables the radio controller for WHCI cards. WHCI is a specification developed by Intel (http://www.intel.com/technology/comms/wusb/whci.htm) much in the spirit of USB's EHCI, but for UWB and Wireless USB radio/host controllers connected via memory mapping (eg: PCI). Most of these cards come also with a Wireless USB host controller. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. config UWB_I1480U tristate "Support for Intel Wireless UWB Link 1480 HWA" depends on UWB_HWA select FW_LOADER help This driver enables support for the i1480 when connected via USB. It consists of a firmware uploader that will enable it to behave as an HWA device. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. endif # UWB config VFIO_IOMMU_TYPE1 tristate depends on VFIO default n config VFIO_IOMMU_SPAPR_TCE tristate depends on VFIO && SPAPR_TCE_IOMMU default n menuconfig VFIO tristate "VFIO Non-Privileged userspace driver framework" depends on IOMMU_API select VFIO_IOMMU_TYPE1 if X86 select VFIO_IOMMU_SPAPR_TCE if (PPC_POWERNV || PPC_PSERIES) help VFIO provides a framework for secure userspace device drivers. See Documentation/vfio.txt for more details. If you don't know what to do here, say N. source "drivers/vfio/pci/Kconfig" config VFIO_PCI tristate "VFIO support for PCI devices" depends on VFIO && PCI && EVENTFD help Support for the PCI VFIO bus driver. This is required to make use of PCI drivers using the VFIO framework. If you don't know what to do here, say N. config VFIO_PCI_VGA bool "VFIO PCI support for VGA devices" depends on VFIO_PCI && X86 && VGA_ARB help Support for VGA extension to VFIO PCI. This exposes an additional region on VGA devices for accessing legacy VGA addresses used by BIOS and generic video drivers. If you don't know what to do here, say N. config VHOST_NET tristate "Host kernel accelerator for virtio net" depends on NET && EVENTFD && (TUN || !TUN) && (MACVTAP || !MACVTAP) select VHOST select VHOST_RING ---help--- This kernel module can be loaded in host kernel to accelerate guest networking with virtio_net. Not to be confused with virtio_net module itself which needs to be loaded in guest kernel. To compile this driver as a module, choose M here: the module will be called vhost_net. config VHOST_SCSI tristate "VHOST_SCSI TCM fabric driver" depends on TARGET_CORE && EVENTFD && m select VHOST select VHOST_RING default n ---help--- Say M here to enable the vhost_scsi TCM fabric module for use with virtio-scsi guests config VHOST_RING tristate ---help--- This option is selected by any driver which needs to access the host side of a virtio ring. config VHOST tristate ---help--- This option is selected by any driver which needs to access the core of vhost. # # Backlight & LCD drivers configuration # menuconfig BACKLIGHT_LCD_SUPPORT bool "Backlight & LCD device support" help Enable this to be able to choose the drivers for controlling the backlight and the LCD panel on some platforms, for example on PDAs. if BACKLIGHT_LCD_SUPPORT # # LCD # config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" default m help This framework adds support for low-level control of LCD. Some framebuffer devices connect to platform-specific LCD modules in order to have a platform-specific way to control the flat panel (contrast and applying power to the LCD (not to the backlight!)). To have support for your specific LCD panel you will have to select the proper drivers which depend on this option. if LCD_CLASS_DEVICE config LCD_CORGI tristate "LCD Panel support for SHARP corgi/spitz model" depends on SPI_MASTER && PXA_SHARPSL help Say y here to support the LCD panels usually found on SHARP corgi (C7x0) and spitz (Cxx00) models. config LCD_L4F00242T03 tristate "Epson L4F00242T03 LCD" depends on SPI_MASTER && GPIOLIB help SPI driver for Epson L4F00242T03. This provides basic support for init and powering the LCD up/down through a sysfs interface. config LCD_LMS283GF05 tristate "Samsung LMS283GF05 LCD" depends on SPI_MASTER && GPIOLIB help SPI driver for Samsung LMS283GF05. This provides basic support for powering the LCD up/down through a sysfs interface. config LCD_LTV350QV tristate "Samsung LTV350QV LCD Panel" depends on SPI_MASTER help If you have a Samsung LTV350QV LCD panel, say y to include a power control driver for it. The panel starts up in power off state, so you need this driver in order to see any output. The LTV350QV panel is present on all ATSTK1000 boards. config LCD_ILI922X tristate "ILI Technology ILI9221/ILI9222 support" depends on SPI help If you have a panel based on the ILI9221/9222 controller chip then say y to include a driver for it. config LCD_ILI9320 tristate "ILI Technology ILI9320 controller support" depends on SPI help If you have a panel based on the ILI9320 controller chip then say y to include a power driver for it. config LCD_TDO24M tristate "Toppoly TDO24M and TDO35S LCD Panels support" depends on SPI_MASTER help If you have a Toppoly TDO24M/TDO35S series LCD panel, say y here to include the support for it. config LCD_VGG2432A4 tristate "VGG2432A4 LCM device support" depends on SPI_MASTER select LCD_ILI9320 help If you have a VGG2432A4 panel based on the ILI9320 controller chip then say y to include a power driver for it. config LCD_PLATFORM tristate "Platform LCD controls" help This driver provides a platform-device registered LCD power control interface. config LCD_TOSA tristate "Sharp SL-6000 LCD Driver" depends on I2C && SPI && MACH_TOSA help If you have an Sharp SL-6000 Zaurus say Y to enable a driver for its LCD. config LCD_HP700 tristate "HP Jornada 700 series LCD Driver" depends on SA1100_JORNADA720_SSP && !PREEMPT default y help If you have an HP Jornada 700 series handheld (710/720/728) say Y to enable LCD control driver. config LCD_S6E63M0 tristate "S6E63M0 AMOLED LCD Driver" depends on SPI && BACKLIGHT_CLASS_DEVICE default n help If you have an S6E63M0 LCD Panel, say Y to enable its LCD control driver. config LCD_LD9040 tristate "LD9040 AMOLED LCD Driver" depends on SPI && BACKLIGHT_CLASS_DEVICE default n help If you have an LD9040 Panel, say Y to enable its control driver. config LCD_AMS369FG06 tristate "AMS369FG06 AMOLED LCD Driver" depends on SPI && BACKLIGHT_CLASS_DEVICE default n help If you have an AMS369FG06 AMOLED Panel, say Y to enable its LCD control driver. config LCD_LMS501KF03 tristate "LMS501KF03 LCD Driver" depends on SPI default n help If you have an LMS501KF03 LCD Panel, say Y to enable its LCD control driver. config LCD_HX8357 tristate "Himax HX-8357 LCD Driver" depends on SPI help If you have a HX-8357 LCD panel, say Y to enable its LCD control driver. endif # LCD_CLASS_DEVICE # # Backlight # config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" default m help This framework adds support for low-level control of the LCD backlight. This includes support for brightness and power. To have support for your specific LCD panel you will have to select the proper drivers which depend on this option. if BACKLIGHT_CLASS_DEVICE config BACKLIGHT_ATMEL_LCDC bool "Atmel LCDC Contrast-as-Backlight control" depends on FB_ATMEL default y if MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK help This provides a backlight control internal to the Atmel LCDC driver. If the LCD "contrast control" on your board is wired so it controls the backlight brightness, select this option to export this as a PWM-based backlight control. If in doubt, it's safe to enable this option; it doesn't kick in unless the board's description says it's wired that way. config BACKLIGHT_ATMEL_PWM tristate "Atmel PWM backlight control" depends on ATMEL_PWM help Say Y here if you want to use the PWM peripheral in Atmel AT91 and AVR32 devices. This driver will need additional platform data to know which PWM instance to use and how to configure it. To compile this driver as a module, choose M here: the module will be called atmel-pwm-bl. config BACKLIGHT_EP93XX tristate "Cirrus EP93xx Backlight Driver" depends on FB_EP93XX help If you have a LCD backlight connected to the BRIGHT output of the EP93xx, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called ep93xx_bl. config BACKLIGHT_GENERIC tristate "Generic (aka Sharp Corgi) Backlight Driver" default y help Say y to enable the generic platform backlight driver previously known as the Corgi backlight driver. If you have a Sharp Zaurus SL-C7xx, SL-Cxx00 or SL-6000x say y. config BACKLIGHT_LM3533 tristate "Backlight Driver for LM3533" depends on BACKLIGHT_CLASS_DEVICE depends on MFD_LM3533 help Say Y to enable the backlight driver for National Semiconductor / TI LM3533 Lighting Power chips. The backlights can be controlled directly, through PWM input, or by the ambient-light-sensor interface. The chip supports 256 brightness levels. config BACKLIGHT_LOCOMO tristate "Sharp LOCOMO LCD/Backlight Driver" depends on SHARP_LOCOMO default y help If you have a Sharp Zaurus SL-5500 (Collie) or SL-5600 (Poodle) say y to enable the LCD/backlight driver. config BACKLIGHT_OMAP1 tristate "OMAP1 PWL-based LCD Backlight" depends on ARCH_OMAP1 default y help This driver controls the LCD backlight level and power for the PWL module of OMAP1 processors. Say Y if your board uses this hardware. config BACKLIGHT_HP680 tristate "HP Jornada 680 Backlight Driver" depends on SH_HP6XX default y help If you have a HP Jornada 680, say y to enable the backlight driver. config BACKLIGHT_HP700 tristate "HP Jornada 700 series Backlight Driver" depends on SA1100_JORNADA720_SSP && !PREEMPT default y help If you have an HP Jornada 700 series, say Y to include backlight control driver. config BACKLIGHT_CARILLO_RANCH tristate "Intel Carillo Ranch Backlight Driver" depends on LCD_CLASS_DEVICE && PCI && X86 && FB_LE80578 help If you have a Intel LE80578 (Carillo Ranch) say Y to enable the backlight driver. config BACKLIGHT_PWM tristate "Generic PWM based Backlight Driver" depends on PWM help If you have a LCD backlight adjustable by PWM, say Y to enable this driver. config BACKLIGHT_DA903X tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X help If you have a LCD backlight connected to the WLED output of DA9030 or DA9034 WLED output, say Y here to enable this driver. config BACKLIGHT_DA9052 tristate "Dialog DA9052/DA9053 WLED" depends on PMIC_DA9052 help Enable the Backlight Driver for DA9052-BC and DA9053-AA/Bx PMICs. config BACKLIGHT_MAX8925 tristate "Backlight driver for MAX8925" depends on MFD_MAX8925 help If you have a LCD backlight connected to the WLED output of MAX8925 WLED output, say Y here to enable this driver. config BACKLIGHT_APPLE tristate "Apple Backlight Driver" depends on X86 && ACPI help If you have an Intel-based Apple say Y to enable a driver for its backlight. config BACKLIGHT_TOSA tristate "Sharp SL-6000 Backlight Driver" depends on I2C && MACH_TOSA && LCD_TOSA help If you have an Sharp SL-6000 Zaurus say Y to enable a driver for its backlight config BACKLIGHT_SAHARA tristate "Tabletkiosk Sahara Touch-iT Backlight Driver" depends on X86 help If you have a Tabletkiosk Sahara Touch-iT, say y to enable the backlight driver. config BACKLIGHT_WM831X tristate "WM831x PMIC Backlight Driver" depends on MFD_WM831X help If you have a backlight driven by the ISINK and DCDC of a WM831x PMIC say y to enable the backlight driver for it. config BACKLIGHT_ADP5520 tristate "Backlight Driver for ADP5520/ADP5501 using WLED" depends on PMIC_ADP5520 help If you have a LCD backlight connected to the BST/BL_SNK output of ADP5520 or ADP5501, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp5520_bl. config BACKLIGHT_ADP8860 tristate "Backlight Driver for ADP8860/ADP8861/ADP8863 using WLED" depends on BACKLIGHT_CLASS_DEVICE && I2C select NEW_LEDS select LEDS_CLASS help If you have a LCD backlight connected to the ADP8860, ADP8861 or ADP8863 say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp8860_bl. config BACKLIGHT_ADP8870 tristate "Backlight Driver for ADP8870 using WLED" depends on BACKLIGHT_CLASS_DEVICE && I2C select NEW_LEDS select LEDS_CLASS help If you have a LCD backlight connected to the ADP8870, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp8870_bl. config BACKLIGHT_88PM860X tristate "Backlight Driver for 88PM8606 using WLED" depends on MFD_88PM860X help Say Y to enable the backlight driver for Marvell 88PM8606. config BACKLIGHT_PCF50633 tristate "Backlight driver for NXP PCF50633 MFD" depends on BACKLIGHT_CLASS_DEVICE && MFD_PCF50633 help If you have a backlight driven by a NXP PCF50633 MFD, say Y here to enable its driver. config BACKLIGHT_AAT2870 tristate "AnalogicTech AAT2870 Backlight" depends on BACKLIGHT_CLASS_DEVICE && MFD_AAT2870_CORE help If you have a AnalogicTech AAT2870 say Y to enable the backlight driver. config BACKLIGHT_LM3630A tristate "Backlight Driver for LM3630A" depends on BACKLIGHT_CLASS_DEVICE && I2C select REGMAP_I2C help This supports TI LM3630A Backlight Driver config BACKLIGHT_LM3639 tristate "Backlight Driver for LM3639" depends on BACKLIGHT_CLASS_DEVICE && I2C select REGMAP_I2C select NEW_LEDS select LEDS_CLASS help This supports TI LM3639 Backlight + 1.5A Flash LED Driver config BACKLIGHT_LP855X tristate "Backlight driver for TI LP855X" depends on BACKLIGHT_CLASS_DEVICE && I2C help This supports TI LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and LP8557 backlight driver. config BACKLIGHT_LP8788 tristate "Backlight driver for TI LP8788 MFD" depends on BACKLIGHT_CLASS_DEVICE && MFD_LP8788 help This supports TI LP8788 backlight driver. config BACKLIGHT_OT200 tristate "Backlight driver for ot200 visualisation device" depends on BACKLIGHT_CLASS_DEVICE && CS5535_MFGPT && GPIO_CS5535 help To compile this driver as a module, choose M here: the module will be called ot200_bl. config BACKLIGHT_PANDORA tristate "Backlight driver for Pandora console" depends on TWL4030_CORE help If you have a Pandora console, say Y to enable the backlight driver. config BACKLIGHT_TPS65217 tristate "TPS65217 Backlight" depends on BACKLIGHT_CLASS_DEVICE && MFD_TPS65217 help If you have a Texas Instruments TPS65217 say Y to enable the backlight driver. config BACKLIGHT_AS3711 tristate "AS3711 Backlight" depends on BACKLIGHT_CLASS_DEVICE && MFD_AS3711 help If you have an Austrian Microsystems AS3711 say Y to enable the backlight driver. config BACKLIGHT_GPIO tristate "Generic GPIO based Backlight Driver" depends on GPIOLIB help If you have a LCD backlight adjustable by GPIO, say Y to enable this driver. config BACKLIGHT_LV5207LP tristate "Sanyo LV5207LP Backlight" depends on I2C help If you have a Sanyo LV5207LP say Y to enable the backlight driver. config BACKLIGHT_BD6107 tristate "Rohm BD6107 Backlight" depends on I2C help If you have a Rohm BD6107 say Y to enable the backlight driver. endif # BACKLIGHT_CLASS_DEVICE endif # BACKLIGHT_LCD_SUPPORT # # Geode family framebuffer configuration # config FB_GEODE bool "AMD Geode family framebuffer support" depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST)) ---help--- Say 'Y' here to allow you to select framebuffer drivers for the AMD Geode family of processors. config FB_GEODE_LX tristate "AMD Geode LX framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode LX processors. To compile this driver as a module, choose M here: the module will be called lxfb. If unsure, say N. config FB_GEODE_GX tristate "AMD Geode GX framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX processors. To compile this driver as a module, choose M here: the module will be called gxfb. If unsure, say N. config FB_GEODE_GX1 tristate "AMD Geode GX1 framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX1 processor. To compile this driver as a module, choose M here: the module will be called gx1fb. If unsure, say N. # # Video configuration # menu "Graphics support" depends on HAS_IOMEM config HAVE_FB_ATMEL bool config SH_MIPI_DSI tristate depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK config SH_LCD_MIPI_DSI bool source "drivers/char/agp/Kconfig" source "drivers/gpu/vga/Kconfig" source "drivers/gpu/host1x/Kconfig" source "drivers/gpu/drm/Kconfig" config VGASTATE tristate default n config VIDEO_OUTPUT_CONTROL tristate "Lowlevel video output switch controls" help This framework adds support for low-level control of the video output switch. config VIDEOMODE_HELPERS bool config HDMI bool menuconfig FB tristate "Support for frame buffer devices" ---help--- The frame buffer device provides an abstraction for the graphics hardware. It represents the frame buffer of some video hardware and allows application software to access the graphics hardware through a well-defined interface, so the software doesn't need to know anything about the low-level (hardware register) stuff. Frame buffer devices work identically across the different architectures supported by Linux and make the implementation of application programs easier and more portable; at this point, an X server exists which uses the frame buffer device exclusively. On several non-X86 architectures, the frame buffer device is the only way to use the graphics hardware. The device is accessed through special device nodes, usually located in the /dev directory, i.e. /dev/fb*. You need an utility program called fbset to make full use of frame buffer devices. Please read and the Framebuffer-HOWTO at for more information. Say Y here and to the driver for your graphics board below if you are compiling a kernel for a non-x86 architecture. If you are compiling for the x86 architecture, you can say Y if you want to play with it, but it is not essential. Please note that running graphical applications that directly touch the hardware (e.g. an accelerated X server) and that are not frame buffer device-aware may cause unexpected results. If unsure, say N. config FIRMWARE_EDID bool "Enable firmware EDID" depends on FB default n ---help--- This enables access to the EDID transferred from the firmware. On the i386, this is from the Video BIOS. Enable this if DDC/I2C transfers do not work for your driver and if you are using nvidiafb, i810fb or savagefb. In general, choosing Y for this option is safe. If you experience extremely long delays while booting before you get something on your display, try setting this to N. Matrox cards in combination with certain motherboards and monitors are known to suffer from this problem. config FB_DDC tristate depends on FB select I2C_ALGOBIT select I2C default n config FB_BOOT_VESA_SUPPORT bool depends on FB default n ---help--- If true, at least one selected framebuffer driver can take advantage of VESA video modes set at an early boot stage via the vga= parameter. config FB_CFB_FILLRECT tristate depends on FB default n ---help--- Include the cfb_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_COPYAREA tristate depends on FB default n ---help--- Include the cfb_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_IMAGEBLIT tristate depends on FB default n ---help--- Include the cfb_imageblit function for generic software image blitting. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_REV_PIXELS_IN_BYTE bool depends on FB default n ---help--- Allow generic frame-buffer functions to work on displays with 1, 2 and 4 bits per pixel depths which has opposite order of pixels in byte order to bytes in long order. config FB_SYS_FILLRECT tristate depends on FB default n ---help--- Include the sys_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. config FB_SYS_COPYAREA tristate depends on FB default n ---help--- Include the sys_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. config FB_SYS_IMAGEBLIT tristate depends on FB default n ---help--- Include the sys_imageblit function for generic software image blitting. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. menuconfig FB_FOREIGN_ENDIAN bool "Framebuffer foreign endianness support" depends on FB ---help--- This menu will let you enable support for the framebuffers with non-native endianness (e.g. Little-Endian framebuffer on a Big-Endian machine). Most probably you don't have such hardware, so it's safe to say "n" here. choice prompt "Choice endianness support" depends on FB_FOREIGN_ENDIAN config FB_BOTH_ENDIAN bool "Support for Big- and Little-Endian framebuffers" config FB_BIG_ENDIAN bool "Support for Big-Endian framebuffers only" config FB_LITTLE_ENDIAN bool "Support for Little-Endian framebuffers only" endchoice config FB_SYS_FOPS tristate depends on FB default n config FB_DEFERRED_IO bool depends on FB config FB_HECUBA tristate depends on FB depends on FB_DEFERRED_IO config FB_SVGALIB tristate depends on FB default n ---help--- Common utility functions useful to fbdev drivers of VGA-based cards. config FB_MACMODES tristate depends on FB default n config FB_BACKLIGHT bool depends on FB select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICE default n config FB_MODE_HELPERS bool "Enable Video Mode Handling Helpers" depends on FB default n ---help--- This enables functions for handling video modes using the Generalized Timing Formula and the EDID parser. A few drivers rely on this feature such as the radeonfb, rivafb, and the i810fb. If your driver does not take advantage of this feature, choosing Y will just increase the kernel size by about 5K. config FB_TILEBLITTING bool "Enable Tile Blitting Support" depends on FB default n ---help--- This enables tile blitting. Tile blitting is a drawing technique where the screen is divided into rectangular sections (tiles), whereas the standard blitting divides the screen into pixels. Because the default drawing element is a tile, drawing functions will be passed parameters in terms of number of tiles instead of number of pixels. For example, to draw a single character, instead of using bitmaps, an index to an array of bitmaps will be used. To clear or move a rectangular section of a screen, the rectangle will be described in terms of number of tiles in the x- and y-axis. This is particularly important to one driver, matroxfb. If unsure, say N. comment "Frame buffer hardware drivers" depends on FB config FB_GRVGA tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler. config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (ZORRO || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This enables support for Cirrus Logic GD542x/543x based boards on Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum. If you have a PCI-based system, this enables support for these chips: GD-543x, GD-544x, GD-5480. Please read the file . Say N unless you have such a graphics board or plan to get one before you next recompile the kernel. config FB_PM2 tristate "Permedia2 support" depends on FB && ((AMIGA && BROKEN) || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for cards based on the 3D Labs Permedia, Permedia 2 and Permedia 2V chips. The driver was tested on the following cards: Diamond FireGL 1000 PRO AGP ELSA Gloria Synergy PCI Appian Jeronimo PRO (both heads) PCI 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC ASK Graphic Blaster Exxtreme AGP To compile this driver as a module, choose M here: the module will be called pm2fb. config FB_PM2_FIFO_DISCONNECT bool "enable FIFO disconnect feature" depends on FB_PM2 && PCI help Support the Permedia2 FIFO disconnect feature. config FB_ARMCLCD tristate "ARM PrimeCell PL110 support" depends on FB && ARM && ARM_AMBA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This framebuffer device driver is for the ARM PrimeCell PL110 Colour LCD controller. ARM PrimeCells provide the building blocks for System on a Chip devices. If you want to compile this as a module (=code which can be inserted into and removed from the running kernel), say M here and read . The module will be called amba-clcd. config FB_ACORN bool "Acorn VIDC support" depends on (FB = y) && ARM && ARCH_ACORN select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Acorn VIDC graphics hardware found in Acorn RISC PCs and other ARM-based machines. If unsure, say N. config FB_CLPS711X bool "CLPS711X LCD support" depends on (FB = y) && ARM && ARCH_CLPS711X select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y to enable the Framebuffer driver for the CLPS7111 and EP7212 processors. config FB_SA1100 bool "SA-1100 LCD support" depends on (FB = y) && ARM && ARCH_SA1100 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is a framebuffer device for the SA-1100 LCD Controller. See for information on framebuffer devices. If you plan to use the LCD display with your SA-1100 system, say Y here. config FB_IMX tristate "Freescale i.MX1/21/25/27 LCD support" depends on FB && IMX_HAVE_PLATFORM_IMX_FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS config FB_CYBER2000 tristate "CyberPro 2000/2010/5000 support" depends on FB && PCI && (BROKEN || !SPARC64) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This enables support for the Integraphics CyberPro 20x0 and 5000 VGA chips used in the Rebel.com Netwinder and other machines. Say Y if you have a NetWinder or a graphics card containing this device, otherwise say N. config FB_CYBER2000_DDC bool "DDC for CyberPro support" depends on FB_CYBER2000 select FB_DDC default y help Say Y here if you want DDC support for your CyberPro graphics card. This is only I2C bus support, driver does not use EDID. config FB_CYBER2000_I2C bool "CyberPro 2000/2010/5000 I2C support" depends on FB_CYBER2000 && I2C && ARCH_NETWINDER select I2C_ALGOBIT help Enable support for the I2C video decoder interface on the Integraphics CyberPro 20x0 and 5000 VGA chips. This is used on the Netwinder machines for the SAA7111 video capture. config FB_APOLLO bool depends on (FB = y) && APOLLO default y select FB_CFB_FILLRECT select FB_CFB_IMAGEBLIT config FB_Q40 bool depends on (FB = y) && Q40 default y select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT config FB_AMIGA tristate "Amiga native chipset support" depends on FB && AMIGA help This is the frame buffer device driver for the builtin graphics chipset found in Amigas. To compile this driver as a module, choose M here: the module will be called amifb. config FB_AMIGA_OCS bool "Amiga OCS chipset support" depends on FB_AMIGA help This enables support for the original Agnus and Denise video chips, found in the Amiga 1000 and most A500's and A2000's. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_AMIGA_ECS bool "Amiga ECS chipset support" depends on FB_AMIGA help This enables support for the Enhanced Chip Set, found in later A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_AMIGA_AGA bool "Amiga AGA chipset support" depends on FB_AMIGA help This enables support for the Advanced Graphics Architecture (also known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T and CD32. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_FM2 bool "Amiga FrameMaster II/Rainbow II support" depends on (FB = y) && ZORRO select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Amiga FrameMaster card from BSC (exhibited 1992 but not shipped as a CBM product). config FB_ARC tristate "Arc Monochrome LCD board support" depends on FB && X86 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help This enables support for the Arc Monochrome LCD board. The board is based on the KS-108 lcd controller and is typically a matrix of 2*n chips. This driver was tested with a 128x64 panel. This driver supports it for use with x86 SBCs through a 16 bit GPIO interface (8 bit data, 8 bit control). If you anticipate using this driver, say Y or M; otherwise say N. You must specify the GPIO IO address to be used for setting control and data. config FB_ATARI bool "Atari native chipset support" depends on (FB = y) && ATARI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the builtin graphics chipset found in Ataris. config FB_OF bool "Open Firmware frame buffer device support" depends on (FB = y) && (PPC64 || PPC_OF) && (!PPC_PSERIES || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help Say Y if you want support with Open Firmware for your graphics board. config FB_CONTROL bool "Apple \"control\" display support" depends on (FB = y) && PPC_PMAC && PPC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the graphics adapter in the Power Macintosh 7300 and others. config FB_PLATINUM bool "Apple \"platinum\" display support" depends on (FB = y) && PPC_PMAC && PPC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the "platinum" graphics adapter in some Power Macintoshes. config FB_VALKYRIE bool "Apple \"valkyrie\" display support" depends on (FB = y) && (MAC || (PPC_PMAC && PPC32)) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the "valkyrie" graphics adapter in some Power Macintoshes. config FB_CT65550 bool "Chips 65550 display support" depends on (FB = y) && PPC32 && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Chips & Technologies 65550 graphics chip in PowerBooks. config FB_ASILIANT bool "Asiliant (Chips) 69000 display support" depends on (FB = y) && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Asiliant 69030 chipset config FB_IMSTT bool "IMS Twin Turbo display support" depends on (FB = y) && PCI select FB_CFB_IMAGEBLIT select FB_MACMODES if PPC help The IMS Twin Turbo is a PCI-based frame buffer card bundled with many Macintosh and compatible computers. config FB_VGA16 tristate "VGA 16-color graphics support" depends on FB && (X86 || PPC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE help This is the frame buffer device driver for VGA 16 color graphic cards. Say Y if you have such a card. To compile this driver as a module, choose M here: the module will be called vga16fb. config FB_BF54X_LQ043 tristate "SHARP LQ043 TFT LCD (BF548 EZKIT)" depends on FB && (BF54x) && !BF542 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD config FB_BFIN_T350MCQB tristate "Varitronix COG-T350MCQB TFT LCD display (BF527 EZKIT)" depends on FB && BLACKFIN select BFIN_GPTIMERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device driver for a Varitronix VL-PS-COG-T350MCQB-01 display TFT LCD This display is a QVGA 320x240 24-bit RGB display interfaced by an 8-bit wide PPI It uses PPI[0..7] PPI_FS1, PPI_FS2 and PPI_CLK. config FB_BFIN_LQ035Q1 tristate "SHARP LQ035Q1DH02 TFT LCD" depends on FB && BLACKFIN && SPI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BFIN_GPTIMERS help This is the framebuffer device driver for a SHARP LQ035Q1DH02 TFT display found on the Blackfin Landscape LCD EZ-Extender Card. This display is a QVGA 320x240 18-bit RGB display interfaced by an 16-bit wide PPI It uses PPI[0..15] PPI_FS1, PPI_FS2 and PPI_CLK. To compile this driver as a module, choose M here: the module will be called bfin-lq035q1-fb. config FB_BF537_LQ035 tristate "SHARP LQ035 TFT LCD (BF537 STAMP)" depends on FB && (BF534 || BF536 || BF537) && I2C_BLACKFIN_TWI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BFIN_GPTIMERS help This is the framebuffer device for a SHARP LQ035Q7DB03 TFT LCD attached to a BF537. To compile this driver as a module, choose M here: the module will be called bf537-lq035. config FB_BFIN_7393 tristate "Blackfin ADV7393 Video encoder" depends on FB && BLACKFIN select I2C select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for a ADV7393 video encoder attached to a Blackfin on the PPI port. If your Blackfin board has a ADV7393 select Y. To compile this driver as a module, choose M here: the module will be called bfin_adv7393fb. choice prompt "Video mode support" depends on FB_BFIN_7393 default NTSC config NTSC bool 'NTSC 720x480' config PAL bool 'PAL 720x576' config NTSC_640x480 bool 'NTSC 640x480 (Experimental)' config PAL_640x480 bool 'PAL 640x480 (Experimental)' config NTSC_YCBCR bool 'NTSC 720x480 YCbCR input' config PAL_YCBCR bool 'PAL 720x576 YCbCR input' endchoice choice prompt "Size of ADV7393 frame buffer memory Single/Double Size" depends on (FB_BFIN_7393) default ADV7393_1XMEM config ADV7393_1XMEM bool 'Single' config ADV7393_2XMEM bool 'Double' endchoice config FB_STI tristate "HP STI frame buffer device support" depends on FB && PARISC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select STI_CONSOLE select VT default y ---help--- STI refers to the HP "Standard Text Interface" which is a set of BIOS routines contained in a ROM chip in HP PA-RISC based machines. Enabling this option will implement the linux framebuffer device using calls to the STI BIOS routines for initialisation. If you enable this option, you will get a planar framebuffer device /dev/fb which will work on the most common HP graphic cards of the NGLE family, including the artist chips (in the 7xx and Bxxx series), HCRX, HCRX24, CRX, CRX24 and VisEG series. It is safe to enable this option, so you should probably say "Y". config FB_MAC bool "Generic Macintosh display support" depends on (FB = y) && MAC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES config FB_HP300 bool depends on (FB = y) && DIO select FB_CFB_IMAGEBLIT default y config FB_TGA tristate "TGA/SFB+ framebuffer support" depends on FB && (ALPHA || TC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE ---help--- This is the frame buffer device driver for generic TGA and SFB+ graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards, also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3 TURBOchannel cards, also known as PMAGD-A, -B and -C. Due to hardware limitations ZLX-E2 and E3 cards are not supported for DECstation 5000/200 systems. Additionally due to firmware limitations these cards may cause troubles with booting DECstation 5000/240 and /260 systems, but are fully supported under Linux if you manage to get it going. ;-) Say Y if you have one of those. config FB_UVESA tristate "Userspace VESA VGA graphics support" depends on FB && CONNECTOR select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS help This is the frame buffer driver for generic VBE 2.0 compliant graphic cards. It can also take advantage of VBE 3.0 features, such as refresh rate adjustment. This driver generally provides more features than vesafb but requires a userspace helper application called 'v86d'. See for more information. If unsure, say N. config FB_VESA bool "VESA VGA graphics support" depends on (FB = y) && X86 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT help This is the frame buffer device driver for generic VESA 2.0 compliant graphic cards. The older VESA 1.2 cards are not supported. You will get a boot time penguin logo at no additional cost. Please read . If unsure, say Y. config FB_EFI bool "EFI-based Framebuffer Support" depends on (FB = y) && X86 && EFI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the EFI frame buffer device driver. If the firmware on your platform is EFI 1.10 or UEFI 2.0, select Y to add support for using the EFI framebuffer as your console. config FB_N411 tristate "N411 Apollo/Hecuba devkit support" depends on FB && X86 && MMU select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select FB_HECUBA help This enables support for the Apollo display controller in its Hecuba form using the n411 devkit. config FB_HGA tristate "Hercules mono graphics support" depends on FB && X86 help Say Y here if you have a Hercules mono graphics card. To compile this driver as a module, choose M here: the module will be called hgafb. As this card technology is at least 25 years old, most people will answer N here. config FB_SGIVW tristate "SGI Visual Workstation framebuffer support" depends on FB && X86_VISWS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help SGI Visual Workstation support for framebuffer graphics. config FB_GBE bool "SGI Graphics Backend frame buffer support" depends on (FB = y) && (SGI_IP32 || X86_VISWS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for SGI Graphics Backend. This chip is used in SGI O2 and Visual Workstation 320/540. config FB_GBE_MEM int "Video memory size in MB" depends on FB_GBE default 4 help This is the amount of memory reserved for the framebuffer, which can be any value between 1MB and 8MB. config FB_SBUS bool "SBUS and UPA framebuffers" depends on (FB = y) && SPARC help Say Y if you want support for SBUS or UPA based frame buffer device. config FB_BW2 bool "BWtwo support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the BWtwo frame buffer. config FB_CG3 bool "CGthree support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGthree frame buffer. config FB_CG6 bool "CGsix (GX,TurboGX) support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGsix (GX, TurboGX) frame buffer. config FB_FFB bool "Creator/Creator3D/Elite3D support" depends on FB_SBUS && SPARC64 select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Creator, Creator3D, and Elite3D graphics boards. config FB_TCX bool "TCX (SS4/SS5 only) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the TCX 24/8bit frame buffer. config FB_CG14 bool "CGfourteen (SX) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGfourteen frame buffer on Desktop SPARCsystems with the SX graphics option. config FB_P9100 bool "P9100 (Sparcbook 3 only) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the P9100 card supported on Sparcbook 3 machines. config FB_LEO bool "Leo (ZX) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the SBUS-based Sun ZX (leo) frame buffer cards. config FB_IGA bool "IGA 168x display support" depends on (FB = y) && SPARC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the INTERGRAPHICS 1680 and successor frame buffer cards. config FB_XVR500 bool "Sun XVR-500 3DLABS Wildcat support" depends on (FB = y) && PCI && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_XVR2500 bool "Sun XVR-2500 3DLABS Wildcat support" depends on (FB = y) && PCI && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-2500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_XVR1000 bool "Sun XVR-1000 support" depends on (FB = y) && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-1000 and similar graphics cards. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_PVR2 tristate "NEC PowerVR 2 display support" depends on FB && SH_DREAMCAST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here if you have a PowerVR 2 card in your box. If you plan to run linux on your Dreamcast, you will have to say Y here. This driver may or may not work on other PowerVR 2 cards, but is totally untested. Use at your own risk. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pvr2fb. You can pass several parameters to the driver at boot time or at module load time. The parameters look like "video=pvr2:XXX", where the meaning of XXX can be found at the end of the main source file (). Please see the file . config FB_S1D13XXX tristate "Epson S1D13XXX framebuffer support" depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for S1D13XXX framebuffer device family (currently only working with S1D13806). Product specs at config FB_ATMEL tristate "AT91/AT32 LCD Controller support" depends on FB && HAVE_FB_ATMEL select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This enables support for the AT91/AT32 LCD Controller. config FB_INTSRAM bool "Frame Buffer in internal SRAM" depends on FB_ATMEL && ARCH_AT91SAM9261 help Say Y if you want to map Frame Buffer in internal SRAM. Say N if you want to let frame buffer in external SDRAM. config FB_ATMEL_STN bool "Use a STN display with AT91/AT32 LCD Controller" depends on FB_ATMEL && (MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK) default n help Say Y if you want to connect a STN LCD display to the AT91/AT32 LCD Controller. Say N if you want to connect a TFT. If unsure, say N. config FB_NVIDIA tristate "nVidia Framebuffer Support" depends on FB && PCI select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE select VGASTATE help This driver supports graphics boards with the nVidia chips, TNT and newer. For very old chipsets, such as the RIVA128, then use the rivafb. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called nvidiafb. config FB_NVIDIA_I2C bool "Enable DDC Support" depends on FB_NVIDIA select FB_DDC help This enables I2C support for nVidia Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_NVIDIA_DEBUG bool "Lots of debug output" depends on FB_NVIDIA default n help Say Y here if you want the nVidia driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_NVIDIA_BACKLIGHT bool "Support for backlight control" depends on FB_NVIDIA default y help Say Y here if you want to control the backlight of your display. config FB_RIVA tristate "nVidia Riva support" depends on FB && PCI select FB_BACKLIGHT if FB_RIVA_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE select VGASTATE help This driver supports graphics boards with the nVidia Riva/Geforce chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called rivafb. config FB_RIVA_I2C bool "Enable DDC Support" depends on FB_RIVA select FB_DDC help This enables I2C support for nVidia Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_RIVA_DEBUG bool "Lots of debug output" depends on FB_RIVA default n help Say Y here if you want the Riva driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_RIVA_BACKLIGHT bool "Support for backlight control" depends on FB_RIVA default y help Say Y here if you want to control the backlight of your display. config FB_I740 tristate "Intel740 support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE select FB_DDC help This driver supports graphics cards based on Intel740 chip. config FB_I810 tristate "Intel 810/815 support" depends on FB && PCI && X86_32 && AGP_INTEL select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports the on-board graphics built in to the Intel 810 and 815 chipsets. Say Y if you have and plan to use such a board. To compile this driver as a module, choose M here: the module will be called i810fb. For more information, please read config FB_I810_GTF bool "use VESA Generalized Timing Formula" depends on FB_I810 help If you say Y, then the VESA standard, Generalized Timing Formula or GTF, will be used to calculate the required video timing values per video mode. Since the GTF allows nondiscrete timings (nondiscrete being a range of values as opposed to discrete being a set of values), you'll be able to use any combination of horizontal and vertical resolutions, and vertical refresh rates without having to specify your own timing parameters. This is especially useful to maximize the performance of an aging display, or if you just have a display with nonstandard dimensions. A VESA compliant monitor is recommended, but can still work with non-compliant ones. If you need or want this, then select this option. The timings may not be compliant with Intel's recommended values. Use at your own risk. If you say N, the driver will revert to discrete video timings using a set recommended by Intel in their documentation. If unsure, say N. config FB_I810_I2C bool "Enable DDC Support" depends on FB_I810 && FB_I810_GTF select FB_DDC help config FB_LE80578 tristate "Intel LE80578 (Vermilion) support" depends on FB && PCI && X86 select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This driver supports the LE80578 (Vermilion Range) chipset config FB_CARILLO_RANCH tristate "Intel Carillo Ranch support" depends on FB_LE80578 && FB && PCI && X86 help This driver supports the LE80578 (Carillo Ranch) board config FB_INTEL tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support" depends on FB && PCI && X86 && AGP_INTEL && EXPERT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT if FB_INTEL = y depends on !DRM_I915 help This driver supports the on-board graphics built in to the Intel 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. Say Y if you have and plan to use such a board. To make FB_INTELFB=Y work you need to say AGP_INTEL=y too. To compile this driver as a module, choose M here: the module will be called intelfb. For more information, please read config FB_INTEL_DEBUG bool "Intel driver Debug Messages" depends on FB_INTEL ---help--- Say Y here if you want the Intel driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_INTEL_I2C bool "DDC/I2C for Intel framebuffer support" depends on FB_INTEL select FB_DDC default y help Say Y here if you want DDC/I2C support for your on-board Intel graphics. config FB_MATROX tristate "Matrox acceleration" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_MACMODES if PPC_PMAC ---help--- Say Y here if you have a Matrox Millennium, Matrox Millennium II, Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video, Matrox G400, G450 or G550 card in your box. To compile this driver as a module, choose M here: the module will be called matroxfb. You can pass several parameters to the driver at boot time or at module load time. The parameters look like "video=matroxfb:XXX", and are described in . config FB_MATROX_MILLENIUM bool "Millennium I/II support" depends on FB_MATROX help Say Y here if you have a Matrox Millennium or Matrox Millennium II video card. If you select "Advanced lowlevel driver options" below, you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. config FB_MATROX_MYSTIQUE bool "Mystique support" depends on FB_MATROX help Say Y here if you have a Matrox Mystique or Matrox Mystique 220 video card. If you select "Advanced lowlevel driver options" below, you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. config FB_MATROX_G bool "G100/G200/G400/G450/G550 support" depends on FB_MATROX ---help--- Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based video card. If you select "Advanced lowlevel driver options", you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. If you need support for G400 secondary head, you must say Y to "Matrox I2C support" and "G400 second head support" right below. G450/G550 secondary head and digital output are supported without additional modules. The driver starts in monitor mode. You must use the matroxset tool (available at ) to swap primary and secondary head outputs, or to change output mode. Secondary head driver always start in 640x480 resolution and you must use fbset to change it. Do not forget that second head supports only 16 and 32 bpp packed pixels, so it is a good idea to compile them into the kernel too. You can use only some font widths, as the driver uses generic painting procedures (the secondary head does not use acceleration engine). G450/G550 hardware can display TV picture only from secondary CRTC, and it performs no scaling, so picture must have 525 or 625 lines. config FB_MATROX_I2C tristate "Matrox I2C support" depends on FB_MATROX select FB_DDC ---help--- This drivers creates I2C buses which are needed for accessing the DDC (I2C) bus present on all Matroxes, an I2C bus which interconnects Matrox optional devices, like MGA-TVO on G200 and G400, and the secondary head DDC bus, present on G400 only. You can say Y or M here if you want to experiment with monitor detection code. You must say Y or M here if you want to use either second head of G400 or MGA-TVO on G200 or G400. If you compile it as module, it will create a module named i2c-matroxfb. config FB_MATROX_MAVEN tristate "G400 second head support" depends on FB_MATROX_G && FB_MATROX_I2C ---help--- WARNING !!! This support does not work with G450 !!! Say Y or M here if you want to use a secondary head (meaning two monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary head is not compatible with accelerated XFree 3.3.x SVGA servers - secondary head output is blanked while you are in X. With XFree 3.9.17 preview you can use both heads if you use SVGA over fbdev or the fbdev driver on first head and the fbdev driver on second head. If you compile it as module, two modules are created, matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for both G200 and G400, matroxfb_crtc2 is needed only by G400. You must also load i2c-matroxfb to get it to run. The driver starts in monitor mode and you must use the matroxset tool (available at ) to switch it to PAL or NTSC or to swap primary and secondary head outputs. Secondary head driver also always start in 640x480 resolution, you must use fbset to change it. Also do not forget that second head supports only 16 and 32 bpp packed pixels, so it is a good idea to compile them into the kernel too. You can use only some font widths, as the driver uses generic painting procedures (the secondary head does not use acceleration engine). config FB_RADEON tristate "ATI Radeon display support" depends on FB && PCI select FB_BACKLIGHT if FB_RADEON_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES if PPC_OF help Choose this option if you want to use an ATI Radeon graphics card as a framebuffer device. There are both PCI and AGP versions. You don't need to choose this to run the Radeon in plain VGA mode. There is a product page at http://products.amd.com/en-us/GraphicCardResult.aspx config FB_RADEON_I2C bool "DDC/I2C for ATI Radeon support" depends on FB_RADEON select FB_DDC default y help Say Y here if you want DDC/I2C support for your Radeon board. config FB_RADEON_BACKLIGHT bool "Support for backlight control" depends on FB_RADEON default y help Say Y here if you want to control the backlight of your display. config FB_RADEON_DEBUG bool "Lots of debug output from Radeon driver" depends on FB_RADEON default n help Say Y here if you want the Radeon driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_ATY128 tristate "ATI Rage128 display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BACKLIGHT if FB_ATY128_BACKLIGHT select FB_MACMODES if PPC_PMAC help This driver supports graphics boards with the ATI Rage128 chips. Say Y if you have such a graphics board and read . To compile this driver as a module, choose M here: the module will be called aty128fb. config FB_ATY128_BACKLIGHT bool "Support for backlight control" depends on FB_ATY128 default y help Say Y here if you want to control the backlight of your display. config FB_ATY tristate "ATI Mach64 display support" if PCI || ATARI depends on FB && !SPARC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BACKLIGHT if FB_ATY_BACKLIGHT select FB_MACMODES if PPC help This driver supports graphics boards with the ATI Mach64 chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called atyfb. config FB_ATY_CT bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support" depends on PCI && FB_ATY default y if SPARC64 && PCI help Say Y here to support use of ATI's 64-bit Rage boards (or other boards based on the Mach64 CT, VT, GT, and LT chipsets) as a framebuffer device. The ATI product support page for these boards is at . config FB_ATY_GENERIC_LCD bool "Mach64 generic LCD support" depends on FB_ATY_CT help Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility, Rage XC, or Rage XL chipset. config FB_ATY_GX bool "Mach64 GX support" if PCI depends on FB_ATY default y if ATARI help Say Y here to support use of the ATI Mach64 Graphics Expression board (or other boards based on the Mach64 GX chipset) as a framebuffer device. The ATI product support page for these boards is at . config FB_ATY_BACKLIGHT bool "Support for backlight control" depends on FB_ATY default y help Say Y here if you want to control the backlight of your display. config FB_S3 tristate "S3 Trio/Virge support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for graphics boards with S3 Trio / S3 Virge chip. config FB_S3_DDC bool "DDC for S3 support" depends on FB_S3 select FB_DDC default y help Say Y here if you want DDC support for your S3 graphics card. config FB_SAVAGE tristate "S3 Savage support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports notebooks and computers with S3 Savage PCI/AGP chips. Say Y if you have such a graphics card. To compile this driver as a module, choose M here; the module will be called savagefb. config FB_SAVAGE_I2C bool "Enable DDC2 Support" depends on FB_SAVAGE select FB_DDC help This enables I2C support for S3 Savage Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_SAVAGE_ACCEL bool "Enable Console Acceleration" depends on FB_SAVAGE default n help This option will compile in console acceleration support. If the resulting framebuffer console has bothersome glitches, then choose N here. config FB_SIS tristate "SiS/XGI display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT if FB_SIS = y help This is the frame buffer device driver for the SiS 300, 315, 330 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets. Specs available at and . To compile this driver as a module, choose M here; the module will be called sisfb. config FB_SIS_300 bool "SiS 300 series support" depends on FB_SIS help Say Y here to support use of the SiS 300/305, 540, 630 and 730. config FB_SIS_315 bool "SiS 315/330/340 series and XGI support" depends on FB_SIS help Say Y here to support use of the SiS 315, 330 and 340 series (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well as XGI V3XT, V5, V8 and Z7. config FB_VIA tristate "VIA UniChrome (Pro) and Chrome9 display support" depends on FB && PCI && X86 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select I2C_ALGOBIT select I2C select GPIOLIB help This is the frame buffer device driver for Graphics chips of VIA UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/ CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896 /P4M900,VX800) Say Y if you have a VIA UniChrome graphics board. To compile this driver as a module, choose M here: the module will be called viafb. if FB_VIA config FB_VIA_DIRECT_PROCFS bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)" depends on FB_VIA default n help Allow direct hardware access to some output registers via procfs. This is dangerous but may provide the only chance to get the correct output device configuration. Its use is strongly discouraged. config FB_VIA_X_COMPATIBILITY bool "X server compatibility" depends on FB_VIA default n help This option reduces the functionality (power saving, ...) of the framebuffer to avoid negative impact on the OpenChrome X server. If you use any X server other than fbdev you should enable this otherwise it should be safe to disable it and allow using all features. endif config FB_NEOMAGIC tristate "NeoMagic display support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports notebooks with NeoMagic PCI chips. Say Y if you have such a graphics card. To compile this driver as a module, choose M here: the module will be called neofb. config FB_KYRO tristate "IMG Kyro support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y here if you have a STG4000 / Kyro / PowerVR 3 based graphics board. To compile this driver as a module, choose M here: the module will be called kyrofb. config FB_3DFX tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support" depends on FB && PCI select FB_CFB_IMAGEBLIT select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_MODE_HELPERS help This driver supports graphics boards with the 3Dfx Banshee, Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called tdfxfb. config FB_3DFX_ACCEL bool "3Dfx Acceleration functions" depends on FB_3DFX ---help--- This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer device driver with acceleration functions. config FB_3DFX_I2C bool "Enable DDC/I2C support" depends on FB_3DFX select FB_DDC default y help Say Y here if you want DDC/I2C support for your 3dfx Voodoo3. config FB_VOODOO1 tristate "3Dfx Voodoo Graphics (sst1) support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or Voodoo2 (cvg) based graphics card. To compile this driver as a module, choose M here: the module will be called sstfb. WARNING: Do not use any application that uses the 3D engine (namely glide) while using this driver. Please read the for supported options and other important info support. config FB_VT8623 tristate "VIA VT8623 support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for CastleRock integrated graphics core in the VIA VT8623 [Apollo CLE266] chipset. config FB_TRIDENT tristate "Trident/CyberXXX/CyberBlade support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This is the frame buffer device driver for Trident PCI/AGP chipsets. Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D and Blade XP. There are also integrated versions of these chips called CyberXXXX, CyberImage or CyberBlade. These chips are mostly found in laptops but also on some motherboards including early VIA EPIA motherboards. For more information, read Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called tridentfb. config FB_ARK tristate "ARK 2000PV support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for PCI graphics boards with ARK 2000PV chip and ICS 5342 RAMDAC. config FB_PM3 tristate "Permedia3 support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the 3DLabs Permedia3 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 & similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000 and maybe other boards. config FB_CARMINE tristate "Fujitsu carmine frame buffer support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Fujitsu Carmine chip. The driver provides two independent frame buffer devices. choice depends on FB_CARMINE prompt "DRAM timing" default FB_CARMINE_DRAM_EVAL config FB_CARMINE_DRAM_EVAL bool "Eval board timings" help Use timings which work on the eval card. config CARMINE_DRAM_CUSTOM bool "Custom board timings" help Use custom board timings. endchoice config FB_AU1100 bool "Au1100 LCD Driver" depends on (FB = y) && MIPS_ALCHEMY select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer driver for the AMD Au1100 SOC. It can drive various panels and CRTs by passing in kernel cmd line option au1100fb:panel=. config FB_AU1200 bool "Au1200/Au1300 LCD Driver" depends on (FB = y) && MIPS_ALCHEMY select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help This is the framebuffer driver for the Au1200/Au1300 SOCs. It can drive various panels and CRTs by passing in kernel cmd line option au1200fb:panel=. config FB_VT8500 bool "VIA VT8500 framebuffer support" depends on (FB = y) && ARM && ARCH_VT8500 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This is the framebuffer driver for VIA VT8500 integrated LCD controller. config FB_WM8505 bool "Wondermedia WM8xxx-series frame buffer support" depends on (FB = y) && ARM && ARCH_VT8500 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This is the framebuffer driver for WonderMedia WM8xxx-series integrated LCD controller. This driver covers the WM8505, WM8650 and WM8850 SoCs. config FB_WMT_GE_ROPS bool "VT8500/WM8xxx accelerated raster ops support" depends on (FB = y) && (FB_VT8500 || FB_WM8505) default n help This adds support for accelerated raster operations on the VIA VT8500 and Wondermedia 85xx series SoCs. source "drivers/video/geode/Kconfig" config FB_HIT tristate "HD64461 Frame Buffer support" depends on FB && HD64461 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Hitachi HD64461 LCD frame buffer card. config FB_PMAG_AA bool "PMAG-AA TURBOchannel framebuffer support" depends on (FB = y) && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) used mainly in the MIPS-based DECstation series. config FB_PMAG_BA tristate "PMAG-BA TURBOchannel framebuffer support" depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8) used mainly in the MIPS-based DECstation series. config FB_PMAGB_B tristate "PMAGB-B TURBOchannel framebuffer support" depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAGB-B TURBOchannel framebuffer card used mainly in the MIPS-based DECstation series. The card is currently only supported in 1280x1024x8 mode. config FB_MAXINE bool "Maxine (Personal DECstation) onboard framebuffer support" depends on (FB = y) && MACH_DECSTATION select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the onboard framebuffer (1024x768x8) in the Personal DECstation series (Personal DECstation 5000/20, /25, /33, /50, Codename "Maxine"). config FB_G364 bool "G364 frame buffer support" depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help The G364 driver is the framebuffer used in MIPS Magnum 4000 and Olivetti M700-10 systems. config FB_68328 bool "Motorola 68328 native frame buffer support" depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y here if you want to support the built-in frame buffer of the Motorola 68328 CPU family. config FB_PXA168 tristate "PXA168/910 LCD framebuffer support" depends on FB && (CPU_PXA168 || CPU_PXA910) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Marvell MMP processor. config FB_PXA tristate "PXA LCD framebuffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Intel PXA2x0 processor. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called pxafb. If you want to compile it as a module, say M here and read . If unsure, say N. config FB_PXA_OVERLAY bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer" default n depends on FB_PXA && (PXA27x || PXA3xx) config FB_PXA_SMARTPANEL bool "PXA Smartpanel LCD support" default n depends on FB_PXA config FB_PXA_PARAMETERS bool "PXA LCD command line parameters" default n depends on FB_PXA ---help--- Enable the use of kernel command line or module parameters to configure the physical properties of the LCD panel when using the PXA LCD driver. This option allows you to override the panel parameters supplied by the platform in order to support multiple different models of flatpanel. If you will only be using a single model of flatpanel then you can safely leave this option disabled. describes the available parameters. config PXA3XX_GCU tristate "PXA3xx 2D graphics accelerator driver" depends on FB_PXA help Kernelspace driver for the 2D graphics controller unit (GCU) found on PXA3xx processors. There is a counterpart driver in the DirectFB suite, see http://www.directfb.org/ If you compile this as a module, it will be called pxa3xx_gcu. config FB_MBX tristate "2700G LCD framebuffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the Intel 2700G (Marathon) Graphics Accelerator config FB_MBX_DEBUG bool "Enable debugging info via debugfs" depends on FB_MBX && DEBUG_FS default n ---help--- Enable this if you want debugging information using the debug filesystem (debugfs) If unsure, say N. config FB_FSL_DIU tristate "Freescale DIU framebuffer support" depends on FB && FSL_SOC select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select PPC_LIB_RHEAP ---help--- Framebuffer driver for the Freescale SoC DIU config FB_W100 tristate "W100 frame buffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the w100 as found on the Sharp SL-Cxx series. It can also drive the w3220 chip found on iPAQ hx4700. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called w100fb. If you want to compile it as a module, say M here and read . If unsure, say N. config FB_SH_MOBILE_LCDC tristate "SuperH Mobile LCDC framebuffer support" depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select FB_BACKLIGHT select SH_MIPI_DSI if SH_LCD_MIPI_DSI ---help--- Frame buffer driver for the on-chip SH-Mobile LCD controller. config FB_SH_MOBILE_HDMI tristate "SuperH Mobile HDMI controller support" depends on FB_SH_MOBILE_LCDC select FB_MODE_HELPERS select SOUND select SND select SND_SOC ---help--- Driver for the on-chip SH-Mobile HDMI controller. config FB_TMIO tristate "Toshiba Mobile IO FrameBuffer support" depends on FB && MFD_CORE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the Toshiba Mobile IO integrated as found on the Sharp SL-6000 series This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called tmiofb. If you want to compile it as a module, say M here and read . If unsure, say N. config FB_TMIO_ACCELL bool "tmiofb acceleration" depends on FB_TMIO default y config FB_S3C tristate "Samsung S3C framebuffer support" depends on FB && (CPU_S3C2416 || ARCH_S3C64XX || ARCH_S5P64X0 || \ ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in FB controller in the Samsung SoC line from the S3C2443 onwards, including the S3C2416, S3C2450, and the S3C64XX series such as the S3C6400 and S3C6410. These chips all have the same basic framebuffer design with the actual capabilities depending on the chip. For instance the S3C6400 and S3C6410 support 4 hardware windows whereas the S3C24XX series currently only have two. Currently the support is only for the S3C6400 and S3C6410 SoCs. config FB_S3C_DEBUG_REGWRITE bool "Debug register writes" depends on FB_S3C ---help--- Show all register writes via pr_debug() config FB_S3C2410 tristate "S3C2410 LCD framebuffer support" depends on FB && ARCH_S3C24XX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Samsung S3C2410 processor. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called s3c2410fb. If you want to compile it as a module, say M here and read . If unsure, say N. config FB_S3C2410_DEBUG bool "S3C2410 lcd debug messages" depends on FB_S3C2410 help Turn on debugging messages. Note that you can set/unset at run time through sysfs config FB_NUC900 bool "NUC900 LCD framebuffer support" depends on FB && ARCH_W90X900 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Nuvoton NUC900 processor config GPM1040A0_320X240 bool "Giantplus Technology GPM1040A0 320x240 Color TFT LCD" depends on FB_NUC900 config FB_SM501 tristate "Silicon Motion SM501 framebuffer support" depends on FB && MFD_SM501 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the CRT and LCD controllers in the Silicon Motion SM501. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called sm501fb. If you want to compile it as a module, say M here and read . If unsure, say N. config FB_SMSCUFX tristate "SMSC UFX6000/7000 USB Framebuffer support" depends on FB && USB select FB_MODE_HELPERS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO ---help--- This is a kernel framebuffer driver for SMSC UFX USB devices. Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000 (USB 3.0) devices. To compile as a module, choose M here: the module name is smscufx. config FB_UDL tristate "Displaylink USB Framebuffer support" depends on FB && USB select FB_MODE_HELPERS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO ---help--- This is a kernel framebuffer driver for DisplayLink USB devices. Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices. To compile as a module, choose M here: the module name is udlfb. config FB_IBM_GXT4500 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors" depends on FB && PPC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here to enable support for the IBM GXT4000P/6000P and GXT4500P/6500P display adaptor based on Raster Engine RC1000, found on some IBM System P (pSeries) machines. This driver doesn't use Geometry Engine GT1000. config FB_PS3 tristate "PS3 GPU framebuffer driver" depends on FB && PS3_PS3AV select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE ---help--- Include support for the virtual frame buffer in the PS3 platform. config FB_PS3_DEFAULT_SIZE_M int "PS3 default frame buffer size (in MiB)" depends on FB_PS3 default 9 ---help--- This is the default size (in MiB) of the virtual frame buffer in the PS3. The default value can be overridden on the kernel command line using the "ps3fb" option (e.g. "ps3fb=9M"); config FB_XILINX tristate "Xilinx frame buffer support" depends on FB && (XILINX_VIRTEX || MICROBLAZE || ARCH_ZYNQ) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Include support for the Xilinx ML300/ML403 reference design framebuffer. ML300 carries a 640*480 LCD display on the board, ML403 uses a standard DB15 VGA connector. config FB_GOLDFISH tristate "Goldfish Framebuffer" depends on FB && HAS_DMA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for Goldfish Virtual Platform config FB_COBALT tristate "Cobalt server LCD frame buffer support" depends on FB && (MIPS_COBALT || MIPS_SEAD3) config FB_SH7760 bool "SH7760/SH7763/SH7720/SH7721 LCDC support" depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Support for the SH7760/SH7763/SH7720/SH7721 integrated (D)STN/TFT LCD Controller. Supports display resolutions up to 1024x1024 pixel, grayscale and color operation, with depths ranging from 1 bpp to 8 bpp monochrome and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for panels <= 320 pixel horizontal resolution. config FB_DA8XX tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support" depends on FB && (ARCH_DAVINCI_DA8XX || SOC_AM33XX) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_CFB_REV_PIXELS_IN_BYTE select FB_MODE_HELPERS select VIDEOMODE_HELPERS ---help--- This is the frame buffer device driver for the TI LCD controller found on DA8xx/OMAP-L1xx/AM335x SoCs. If unsure, say N. config FB_VIRTUAL tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS ---help--- This is a `virtual' frame buffer device. It operates on a chunk of unswappable kernel memory instead of on the memory of a graphics board. This means you cannot see any output sent to this frame buffer device, while it does consume precious memory. The main use of this frame buffer device is testing and debugging the frame buffer subsystem. Do NOT enable it for normal systems! To protect the innocent, it has to be enabled explicitly at boot time using the kernel option `video=vfb:'. To compile this driver as a module, choose M here: the module will be called vfb. In order to load it, you must use the vfb_enable=1 option. If unsure, say N. config XEN_FBDEV_FRONTEND tristate "Xen virtual frame buffer support" depends on FB && XEN select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC select XEN_XENBUS_FRONTEND default y help This driver implements the front-end of the Xen virtual frame buffer driver. It communicates with a back-end in another domain. config FB_METRONOME tristate "E-Ink Metronome/8track controller support" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO help This driver implements support for the E-Ink Metronome controller. The pre-release name for this device was 8track and could also have been called by some vendors as PVI-nnnn. config FB_MB862XX tristate "Fujitsu MB862xx GDC support" depends on FB depends on PCI || (OF && PPC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers. choice prompt "GDC variant" depends on FB_MB862XX config FB_MB862XX_PCI_GDC bool "Carmine/Coral-P(A) GDC" depends on PCI ---help--- This enables framebuffer support for Fujitsu Carmine/Coral-P(A) PCI graphics controller devices. config FB_MB862XX_LIME bool "Lime GDC" depends on OF && PPC select FB_FOREIGN_ENDIAN select FB_LITTLE_ENDIAN ---help--- Framebuffer support for Fujitsu Lime GDC on host CPU bus. endchoice config FB_MB862XX_I2C bool "Support I2C bus on MB862XX GDC" depends on FB_MB862XX && I2C default y help Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter driver to support accessing I2C devices on controller's I2C bus. These are usually some video decoder chips. config FB_EP93XX tristate "EP93XX frame buffer support" depends on FB && ARCH_EP93XX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the Cirrus Logic EP93XX series of processors. This driver is also available as a module. The module will be called ep93xx-fb. config FB_PRE_INIT_FB bool "Don't reinitialize, use bootloader's GDC/Display configuration" depends on FB && FB_MB862XX_LIME ---help--- Select this option if display contents should be inherited as set by the bootloader. config FB_MSM tristate "MSM Framebuffer support" depends on FB && ARCH_MSM select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT config FB_MX3 tristate "MX3 Framebuffer support" depends on FB && MX3_IPU select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y help This is a framebuffer device for the i.MX31 LCD Controller. So far only synchronous displays are supported. If you plan to use an LCD display with your i.MX31 system, say Y here. config FB_BROADSHEET tristate "E-Ink Broadsheet/Epson S1D13521 controller support" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO help This driver implements support for the E-Ink Broadsheet controller. The release name for this device was Epson S1D13521 and could also have been called by other names when coupled with a bridge adapter. config FB_AUO_K190X tristate "AUO-K190X EPD controller support" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO help Provides support for epaper controllers from the K190X series of AUO. These controllers can be used to drive epaper displays from Sipix. This option enables the common support, shared by the individual controller drivers. You will also have to enable the driver for the controller type used in your device. config FB_AUO_K1900 tristate "AUO-K1900 EPD controller support" depends on FB && FB_AUO_K190X help This driver implements support for the AUO K1900 epd-controller. This controller can drive Sipix epaper displays but can only do serial updates, reducing the number of possible frames per second. config FB_AUO_K1901 tristate "AUO-K1901 EPD controller support" depends on FB && FB_AUO_K190X help This driver implements support for the AUO K1901 epd-controller. This controller can drive Sipix epaper displays and supports concurrent updates, making higher frames per second possible. config FB_JZ4740 tristate "JZ4740 LCD framebuffer support" depends on FB && MACH_JZ4740 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT help Framebuffer support for the JZ4740 SoC. config FB_MXS tristate "MXS LCD framebuffer support" depends on FB && ARCH_MXS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help Framebuffer support for the MXS SoC. config FB_PUV3_UNIGFX tristate "PKUnity v3 Unigfx framebuffer support" depends on FB && UNICORE32 && ARCH_PUV3 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help Choose this option if you want to use the Unigfx device as a framebuffer device. Without the support of PCI & AGP. config FB_HYPERV tristate "Microsoft Hyper-V Synthetic Video support" depends on FB && HYPERV select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This framebuffer driver supports Microsoft Hyper-V Synthetic Video. config FB_SIMPLE bool "Simple framebuffer support" depends on (FB = y) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y if you want support for a simple frame-buffer. This driver assumes that the display hardware has been initialized before the kernel boots, and the kernel will simply render to the pre-allocated frame buffer surface. Configuration re: surface address, size, and format must be provided through device tree, or plain old platform data. source "drivers/video/omap/Kconfig" source "drivers/video/omap2/Kconfig" source "drivers/video/exynos/Kconfig" source "drivers/video/mmp/Kconfig" source "drivers/video/backlight/Kconfig" if VT source "drivers/video/console/Kconfig" endif if FB || SGI_NEWPORT_CONSOLE source "drivers/video/logo/Kconfig" endif config FB_SH_MOBILE_MERAM tristate "SuperH Mobile MERAM read ahead support" depends on (SUPERH || ARCH_SHMOBILE) select GENERIC_ALLOCATOR ---help--- Enable MERAM support for the SuperH controller. This will allow for caching of the framebuffer to provide more reliable access under heavy main memory bus traffic situations. Up to 4 memory channels can be configured, allowing 4 RGB or 2 YCbCr framebuffers to be configured. config FB_SSD1307 tristate "Solomon SSD1307 framebuffer support" depends on FB && I2C depends on OF depends on GPIOLIB select FB_SYS_FOPS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO select PWM help This driver implements support for the Solomon SSD1307 OLED controller over I2C. endmenu config OMAP2_VRFB bool if ARCH_OMAP2PLUS source "drivers/video/omap2/dss/Kconfig" source "drivers/video/omap2/omapfb/Kconfig" source "drivers/video/omap2/displays-new/Kconfig" endif menu "OMAP Display Device Drivers (new device model)" depends on OMAP2_DSS config DISPLAY_ENCODER_TFP410 tristate "TFP410 DPI to DVI Encoder" help Driver for TFP410 DPI to DVI encoder. config DISPLAY_ENCODER_TPD12S015 tristate "TPD12S015 HDMI ESD protection and level shifter" help Driver for TPD12S015, which offers HDMI ESD protection and level shifting. config DISPLAY_CONNECTOR_DVI tristate "DVI Connector" depends on I2C help Driver for a generic DVI connector. config DISPLAY_CONNECTOR_HDMI tristate "HDMI Connector" help Driver for a generic HDMI connector. config DISPLAY_CONNECTOR_ANALOG_TV tristate "Analog TV Connector" help Driver for a generic analog TV connector. config DISPLAY_PANEL_DPI tristate "Generic DPI panel" help Driver for generic DPI panels. config DISPLAY_PANEL_DSI_CM tristate "Generic DSI Command Mode Panel" depends on BACKLIGHT_CLASS_DEVICE help Driver for generic DSI command mode panels. config DISPLAY_PANEL_SONY_ACX565AKM tristate "ACX565AKM Panel" depends on SPI && BACKLIGHT_CLASS_DEVICE help This is the LCD panel used on Nokia N900 config DISPLAY_PANEL_LGPHILIPS_LB035Q02 tristate "LG.Philips LB035Q02 LCD Panel" depends on SPI help LCD Panel used on the Gumstix Overo Palo35 config DISPLAY_PANEL_SHARP_LS037V7DW01 tristate "Sharp LS037V7DW01 LCD Panel" depends on BACKLIGHT_CLASS_DEVICE help LCD Panel used in TI's SDP3430 and EVM boards config DISPLAY_PANEL_TPO_TD028TTEC1 tristate "TPO TD028TTEC1 LCD Panel" depends on SPI help LCD panel used in Openmoko. config DISPLAY_PANEL_TPO_TD043MTEA1 tristate "TPO TD043MTEA1 LCD Panel" depends on SPI help LCD Panel used in OMAP3 Pandora config DISPLAY_PANEL_NEC_NL8048HL11 tristate "NEC NL8048HL11 Panel" depends on SPI depends on BACKLIGHT_CLASS_DEVICE help This NEC NL8048HL11 panel is TFT LCD used in the Zoom2/3/3630 sdp boards. endmenu menuconfig OMAP2_DSS tristate "OMAP2+ Display Subsystem support" select VIDEOMODE_HELPERS help OMAP2+ Display Subsystem support. if OMAP2_DSS config OMAP2_DSS_DEBUG bool "Debug support" default n help This enables printing of debug messages. Alternatively, debug messages can also be enabled by setting CONFIG_DYNAMIC_DEBUG and then setting appropriate flags in /dynamic_debug/control. config OMAP2_DSS_DEBUGFS bool "Debugfs filesystem support" depends on DEBUG_FS default n help This enables debugfs for OMAPDSS at /omapdss. This enables querying about clock configuration and register configuration of dss, dispc, dsi, hdmi and rfbi. config OMAP2_DSS_COLLECT_IRQ_STATS bool "Collect DSS IRQ statistics" depends on OMAP2_DSS_DEBUGFS default n help Collect DSS IRQ statistics, printable via debugfs. The statistics can be found from /omapdss/dispc_irq for DISPC interrupts, and /omapdss/dsi_irq for DSI interrupts. config OMAP2_DSS_DPI bool "DPI support" default y help DPI Interface. This is the Parallel Display Interface. config OMAP2_DSS_RFBI bool "RFBI support" depends on BROKEN default n help MIPI DBI support (RFBI, Remote Framebuffer Interface, in Texas Instrument's terminology). DBI is a bus between the host processor and a peripheral, such as a display or a framebuffer chip. See http://www.mipi.org/ for DBI specifications. config OMAP2_DSS_VENC bool "VENC support" default y help OMAP Video Encoder support for S-Video and composite TV-out. config OMAP4_DSS_HDMI bool "HDMI support" default y help HDMI Interface. This adds the High Definition Multimedia Interface. See http://www.hdmi.org/ for HDMI specification. config OMAP4_DSS_HDMI_AUDIO bool config OMAP2_DSS_SDI bool "SDI support" default n help SDI (Serial Display Interface) support. SDI is a high speed one-way display serial bus between the host processor and a display. config OMAP2_DSS_DSI bool "DSI support" default n help MIPI DSI (Display Serial Interface) support. DSI is a high speed half-duplex serial interface between the host processor and a peripheral, such as a display or a framebuffer chip. See http://www.mipi.org/ for DSI specifications. config OMAP2_DSS_MIN_FCK_PER_PCK int "Minimum FCK/PCK ratio (for scaling)" range 0 32 default 0 help This can be used to adjust the minimum FCK/PCK ratio. With this you can make sure that DISPC FCK is at least n x PCK. Video plane scaling requires higher FCK than normally. If this is set to 0, there's no extra constraint on the DISPC FCK. However, the FCK will at minimum be 2xPCK (if active matrix) or 3xPCK (if passive matrix). Max FCK is 173MHz, so this doesn't work if your PCK is very high. config OMAP2_DSS_SLEEP_AFTER_VENC_RESET bool "Sleep 20ms after VENC reset" default y help There is a 20ms sleep after VENC reset which seemed to fix the reset. The reason for the bug is unclear, and it's also unclear on what platforms this happens. This option enables the sleep, and is enabled by default. You can disable the sleep if it doesn't cause problems on your platform. endif menuconfig FB_OMAP2 tristate "OMAP2+ frame buffer support" depends on FB && OMAP2_DSS && !DRM_OMAP select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for OMAP2+ based boards. config FB_OMAP2_DEBUG_SUPPORT bool "Debug support for OMAP2+ FB" default y depends on FB_OMAP2 help Support for debug output. You have to enable the actual printing with 'debug' module parameter. config FB_OMAP2_NUM_FBS int "Number of framebuffers" range 1 10 default 3 depends on FB_OMAP2 help Select the number of framebuffers created. OMAP2/3 has 3 overlays so normally this would be 3. menuconfig MMP_DISP tristate "Marvell MMP Display Subsystem support" depends on CPU_PXA910 || CPU_MMP2 || CPU_MMP3 || CPU_PXA988 help Marvell Display Subsystem support. if MMP_DISP source "drivers/video/mmp/hw/Kconfig" source "drivers/video/mmp/panel/Kconfig" source "drivers/video/mmp/fb/Kconfig" endif if MMP_DISP config MMP_FB bool "fb driver for Marvell MMP Display Subsystem" depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y help fb driver for Marvell MMP Display Subsystem endif if MMP_DISP config MMP_DISP_CONTROLLER bool "mmp display controller hw support" depends on CPU_PXA910 || CPU_MMP2 || CPU_MMP3 || CPU_PXA988 default n help Marvell MMP display hw controller support this controller is used on Marvell PXA910, MMP2, MMP3, PXA988 chips config MMP_DISP_SPI bool "mmp display controller spi port" depends on MMP_DISP_CONTROLLER && SPI_MASTER default y help Marvell MMP display hw controller spi port support will register as a spi master for panel usage endif config MMP_PANEL_TPOHVGA bool "tpohvga panel TJ032MD01BW support" depends on SPI_MASTER default n help tpohvga panel support # # Video configuration # menu "Console display driver support" config VGA_CONSOLE bool "VGA text console" if EXPERT || !X86 depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \ !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \ (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) default y help Saying Y here will allow you to use Linux in text mode through a display that complies with the generic VGA standard. Virtually everyone wants that. The program SVGATextMode can be used to utilize SVGA video cards to their full potential in text mode. Download it from . Say Y. config VGACON_SOFT_SCROLLBACK bool "Enable Scrollback Buffer in System RAM" depends on VGA_CONSOLE default n help The scrollback buffer of the standard VGA console is located in the VGA RAM. The size of this RAM is fixed and is quite small. If you require a larger scrollback buffer, this can be placed in System RAM which is dynamically allocated during initialization. Placing the scrollback buffer in System RAM will slightly slow down the console. If you want this feature, say 'Y' here and enter the amount of RAM to allocate for this buffer. If unsure, say 'N'. config VGACON_SOFT_SCROLLBACK_SIZE int "Scrollback Buffer Size (in KB)" depends on VGACON_SOFT_SCROLLBACK range 1 1024 default "64" help Enter the amount of System RAM to allocate for the scrollback buffer. Each 64KB will give you approximately 16 80x25 screenfuls of scrollback buffer config MDA_CONSOLE depends on !M68K && !PARISC && ISA tristate "MDA text console (dual-headed)" ---help--- Say Y here if you have an old MDA or monochrome Hercules graphics adapter in your system acting as a second head ( = video card). You will then be able to use two monitors with your Linux system. Do not say Y here if your MDA card is the primary card in your system; the normal VGA driver will handle it. To compile this driver as a module, choose M here: the module will be called mdacon. If unsure, say N. config SGI_NEWPORT_CONSOLE tristate "SGI Newport Console support" depends on SGI_IP22 select FONT_SUPPORT help Say Y here if you want the console on the Newport aka XL graphics card of your Indy. Most people say Y here. config DUMMY_CONSOLE bool depends on VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y default y config DUMMY_CONSOLE_COLUMNS int "Initial number of console screen columns" depends on PARISC && DUMMY_CONSOLE default "160" help The default value is 160, which should fit a 1280x1024 monitor. Select 80 if you use a 640x480 resolution by default. config DUMMY_CONSOLE_ROWS int "Initial number of console screen rows" depends on PARISC && DUMMY_CONSOLE default "64" help The default value is 64, which should fit a 1280x1024 monitor. Select 25 if you use a 640x480 resolution by default. config FRAMEBUFFER_CONSOLE tristate "Framebuffer Console support" depends on FB && !UML select VT_HW_CONSOLE_BINDING select CRC32 select FONT_SUPPORT help Low-level framebuffer-based console driver. config FRAMEBUFFER_CONSOLE_DETECT_PRIMARY bool "Map the console to the primary display device" depends on FRAMEBUFFER_CONSOLE default n ---help--- If this option is selected, the framebuffer console will automatically select the primary display device (if the architecture supports this feature). Otherwise, the framebuffer console will always select the first framebuffer driver that is loaded. The latter is the default behavior. You can always override the automatic selection of the primary device by using the fbcon=map: boot option. If unsure, select n. config FRAMEBUFFER_CONSOLE_ROTATION bool "Framebuffer Console Rotation" depends on FRAMEBUFFER_CONSOLE help Enable display rotation for the framebuffer console. This is done in software and may be significantly slower than a normally oriented display. Note that the rotation is done at the console level only such that other users of the framebuffer will remain normally oriented. config STI_CONSOLE bool "STI text console" depends on PARISC select FONT_SUPPORT default y help The STI console is the builtin display/keyboard on HP-PARISC machines. Say Y here to build support for it into your kernel. The alternative is to use your primary serial port as a console. endmenu # # Logo configuration # menuconfig LOGO bool "Bootup logo" depends on FB || SGI_NEWPORT_CONSOLE help Enable and select frame buffer bootup logos. if LOGO config FB_LOGO_EXTRA bool depends on FB=y default y if SPU_BASE config LOGO_LINUX_MONO bool "Standard black and white Linux logo" default y config LOGO_LINUX_VGA16 bool "Standard 16-color Linux logo" default y config LOGO_LINUX_CLUT224 bool "Standard 224-color Linux logo" default y config LOGO_BLACKFIN_VGA16 bool "16-colour Blackfin Processor Linux logo" depends on BLACKFIN default y config LOGO_BLACKFIN_CLUT224 bool "224-colour Blackfin Processor Linux logo" depends on BLACKFIN default y config LOGO_DEC_CLUT224 bool "224-color Digital Equipment Corporation Linux logo" depends on MACH_DECSTATION || ALPHA default y config LOGO_MAC_CLUT224 bool "224-color Macintosh Linux logo" depends on MAC default y config LOGO_PARISC_CLUT224 bool "224-color PA-RISC Linux logo" depends on PARISC default y config LOGO_SGI_CLUT224 bool "224-color SGI Linux logo" depends on SGI_IP22 || SGI_IP27 || SGI_IP32 || X86_VISWS default y config LOGO_SUN_CLUT224 bool "224-color Sun Linux logo" depends on SPARC default y config LOGO_SUPERH_MONO bool "Black and white SuperH Linux logo" depends on SUPERH default y config LOGO_SUPERH_VGA16 bool "16-color SuperH Linux logo" depends on SUPERH default y config LOGO_SUPERH_CLUT224 bool "224-color SuperH Linux logo" depends on SUPERH default y config LOGO_M32R_CLUT224 bool "224-color M32R Linux logo" depends on M32R default y endif # LOGO # # Exynos Video configuration # menuconfig EXYNOS_VIDEO bool "Exynos Video driver support" help This enables support for EXYNOS Video device. if EXYNOS_VIDEO # # MIPI DSI driver # config EXYNOS_MIPI_DSI bool "EXYNOS MIPI DSI driver support." depends on ARCH_S5PV210 || ARCH_EXYNOS select GENERIC_PHY help This enables support for MIPI-DSI device. config EXYNOS_LCD_S6E8AX0 bool "S6E8AX0 MIPI AMOLED LCD Driver" depends on (EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE) default n help If you have an S6E8AX0 MIPI AMOLED LCD Panel, say Y to enable its LCD control driver. config EXYNOS_DP bool "EXYNOS DP driver support" depends on OF && ARCH_EXYNOS default n help This enables support for DP device. endif # EXYNOS_VIDEO config FB_OMAP tristate "OMAP frame buffer support" depends on FB depends on ARCH_OMAP1 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for OMAP based boards. config FB_OMAP_LCDC_EXTERNAL bool "External LCD controller support" depends on FB_OMAP help Say Y here, if you want to have support for boards with an external LCD controller connected to the SoSSI/RFBI interface. config FB_OMAP_LCDC_HWA742 bool "Epson HWA742 LCD controller support" depends on FB_OMAP && FB_OMAP_LCDC_EXTERNAL help Say Y here if you want to have support for the external Epson HWA742 LCD controller. config FB_OMAP_MANUAL_UPDATE bool "Default to manual update mode" depends on FB_OMAP && FB_OMAP_LCDC_EXTERNAL help Say Y here, if your user-space applications are capable of notifying the frame buffer driver when a change has occurred in the frame buffer content and thus a reload of the image data to the external frame buffer is required. If unsure, say N. config FB_OMAP_LCD_MIPID bool "MIPI DBI-C/DCS compatible LCD support" depends on FB_OMAP && SPI_MASTER help Say Y here if you want to have support for LCDs compatible with the Mobile Industry Processor Interface DBI-C/DCS specification. (Supported LCDs: Philips LPH8923, Sharp LS041Y3) config FB_OMAP_DMA_TUNE bool "Set DMA SDRAM access priority high" depends on FB_OMAP help On systems in which video memory is in system memory (SDRAM) this will speed up graphics DMA operations. If you have such a system and want to use rotation answer yes. Answer no if you have a dedicated video memory, or don't use any of the accelerated features. # # Virtualization support drivers # menuconfig VIRT_DRIVERS bool "Virtualization drivers" ---help--- Say Y here to get to see options for device drivers that support virtualization environments. If you say N, all options in this submenu will be skipped and disabled. if VIRT_DRIVERS config FSL_HV_MANAGER tristate "Freescale hypervisor management driver" depends on FSL_SOC select EPAPR_PARAVIRT help The Freescale hypervisor management driver provides several services to drivers and applications related to the Freescale hypervisor: 1) An ioctl interface for querying and managing partitions. 2) A file interface to reading incoming doorbells. 3) An interrupt handler for shutting down the partition upon receiving the shutdown doorbell from a manager partition. 4) A kernel interface for receiving callbacks when a managed partition shuts down. endif config VIRTIO tristate ---help--- This option is selected by any driver which implements the virtio bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_LGUEST, CONFIG_RPMSG or CONFIG_S390_GUEST. menu "Virtio drivers" config VIRTIO_PCI tristate "PCI driver for virtio devices" depends on PCI select VIRTIO ---help--- This drivers provides support for virtio based paravirtual device drivers over PCI. This requires that your VMM has appropriate PCI virtio backends. Most QEMU based VMMs should support these devices (like KVM or Xen). Currently, the ABI is not considered stable so there is no guarantee that this version of the driver will work with your VMM. If unsure, say M. config VIRTIO_BALLOON tristate "Virtio balloon driver" depends on VIRTIO ---help--- This driver supports increasing and decreasing the amount of memory within a KVM guest. If unsure, say M. config VIRTIO_MMIO tristate "Platform bus driver for memory mapped virtio devices" depends on HAS_IOMEM select VIRTIO ---help--- This drivers provides support for memory mapped virtio platform device driver. If unsure, say N. config VIRTIO_MMIO_CMDLINE_DEVICES bool "Memory mapped virtio devices parameter parsing" depends on VIRTIO_MMIO ---help--- Allow virtio-mmio devices instantiation via the kernel command line or module parameters. Be aware that using incorrect parameters (base address in particular) can crash your system - you have been warned. See Documentation/kernel-parameters.txt for details. If unsure, say 'N'. endmenu menu "TI VLYNQ" depends on AR7 config VLYNQ bool "TI VLYNQ bus support" help Support for Texas Instruments(R) VLYNQ bus. The VLYNQ bus is a high-speed, serial and packetized data bus which allows external peripherals of a SoC to appear into the system's main memory. If unsure, say N config VLYNQ_DEBUG bool "VLYNQ bus debug" depends on VLYNQ && DEBUG_KERNEL help Turn on VLYNQ bus debugging. endmenu # # VME configuration. # menuconfig VME_BUS tristate "VME bridge support" depends on PCI ---help--- If you say Y here you get support for the VME bridge Framework. if VME_BUS source "drivers/vme/bridges/Kconfig" source "drivers/vme/boards/Kconfig" source "drivers/staging/vme/devices/Kconfig" endif # VME comment "VME Board Drivers" config VMIVME_7805 tristate "VMIVME-7805" help If you say Y here you get support for the VMIVME-7805 board. This board has an additional control interface to the Universe II chip. This driver has to be included if you want to access VME bus with VMIVME-7805 board. comment "VME Bridge Drivers" config VME_CA91CX42 tristate "Universe II" depends on VIRT_TO_BUS help If you say Y here you get support for the Tundra CA91C142 (Universe II) VME bridge chip. config VME_TSI148 tristate "Tempe" depends on VIRT_TO_BUS help If you say Y here you get support for the Tundra TSI148 VME bridge chip. menuconfig W1 tristate "Dallas's 1-wire support" depends on HAS_IOMEM ---help--- Dallas' 1-wire bus is useful to connect slow 1-pin devices such as iButtons and thermal sensors. If you want W1 support, you should say Y here. This W1 support can also be built as a module. If so, the module will be called wire. if W1 config W1_CON depends on CONNECTOR bool "Userspace communication over connector" default y ---help--- This allows to communicate with userspace using connector. For more information see . There are three types of messages between w1 core and userspace: 1. Events. They are generated each time new master or slave device found either due to automatic or requested search. 2. Userspace commands. Includes read/write and search/alarm search commands. 3. Replies to userspace commands. source drivers/w1/masters/Kconfig source drivers/w1/slaves/Kconfig endif # W1 # # 1-wire bus master configuration # menu "1-wire Bus Masters" config W1_MASTER_MATROX tristate "Matrox G400 transport layer for 1-wire" depends on PCI help Say Y here if you want to communicate with your 1-wire devices using Matrox's G400 GPIO pins. This support is also available as a module. If so, the module will be called matrox_w1. config W1_MASTER_DS2490 tristate "DS2490 USB <-> W1 transport layer for 1-wire" depends on USB help Say Y here if you want to have a driver for DS2490 based USB <-> W1 bridges, for example DS9490*. This support is also available as a module. If so, the module will be called ds2490. config W1_MASTER_DS2482 tristate "Maxim DS2482 I2C to 1-Wire bridge" depends on I2C help If you say yes here you get support for the Maxim DS2482 I2C to 1-Wire bridge. This driver can also be built as a module. If so, the module will be called ds2482. config W1_MASTER_MXC tristate "Freescale MXC 1-wire busmaster" depends on W1 && ARCH_MXC help Say Y here to enable MXC 1-wire host config W1_MASTER_DS1WM tristate "Maxim DS1WM 1-wire busmaster" depends on W1 help Say Y here to enable the DS1WM 1-wire driver, such as that in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like hx4700. config W1_MASTER_GPIO tristate "GPIO 1-wire busmaster" depends on GPIOLIB help Say Y here if you want to communicate with your 1-wire devices using GPIO pins. This driver uses the GPIO API to control the wire. This support is also available as a module. If so, the module will be called w1-gpio. config HDQ_MASTER_OMAP tristate "OMAP HDQ driver" depends on ARCH_OMAP help Say Y here if you want support for the 1-wire or HDQ Interface on an OMAP processor. endmenu # # 1-wire slaves configuration # menu "1-wire Slaves" config W1_SLAVE_THERM tristate "Thermal family implementation" help Say Y here if you want to connect 1-wire thermal sensors to your wire. config W1_SLAVE_SMEM tristate "Simple 64bit memory family implementation" help Say Y here if you want to connect 1-wire simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire. config W1_SLAVE_DS2408 tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)" help Say Y here if you want to use a 1-wire DS2408 8-Channel Addressable Switch device support config W1_SLAVE_DS2408_READBACK bool "Read-back values written to DS2408's output register" depends on W1_SLAVE_DS2408 default y help Enabling this will cause the driver to read back the values written to the chip's output register in order to detect errors. This is slower but useful when debugging chips and/or busses. config W1_SLAVE_DS2413 tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)" help Say Y here if you want to use a 1-wire DS2413 Dual Channel Addressable Switch device support config W1_SLAVE_DS2423 tristate "Counter 1-wire device (DS2423)" select CRC16 help If you enable this you can read the counter values available in the DS2423 chipset from the w1_slave file under the sys file system. Say Y here if you want to use a 1-wire counter family device (DS2423). config W1_SLAVE_DS2431 tristate "1kb EEPROM family support (DS2431)" help Say Y here if you want to use a 1-wire 1kb EEPROM family device (DS2431) config W1_SLAVE_DS2433 tristate "4kb EEPROM family support (DS2433)" help Say Y here if you want to use a 1-wire 4kb EEPROM family device (DS2433). config W1_SLAVE_DS2433_CRC bool "Protect DS2433 data with a CRC16" depends on W1_SLAVE_DS2433 select CRC16 help Say Y here to protect DS2433 data with a CRC16. Each block has 30 bytes of data and a two byte CRC16. Full block writes are only allowed if the CRC is valid. config W1_SLAVE_DS2760 tristate "Dallas 2760 battery monitor chip (HP iPAQ & others)" depends on W1 help If you enable this you will have the DS2760 battery monitor chip support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config W1_SLAVE_DS2780 tristate "Dallas 2780 battery monitor chip" depends on W1 help If you enable this you will have the DS2780 battery monitor chip support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config W1_SLAVE_DS2781 tristate "Dallas 2781 battery monitor chip" depends on W1 help If you enable this you will have the DS2781 battery monitor chip support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config W1_SLAVE_DS28E04 tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)" depends on W1 select CRC16 help If you enable this you will have the DS28E04-100 chip support. Say Y here if you want to use a 1-wire 4kb EEPROM with PIO family device (DS28E04). If you are unsure, say N. config W1_SLAVE_BQ27000 tristate "BQ27000 slave support" depends on W1 help Say Y here if you want to use a hdq bq27000 slave support. endmenu # # Watchdog device configuration # menuconfig WATCHDOG bool "Watchdog Timer Support" ---help--- If you say Y here (and to one of the following options) and create a character special file /dev/watchdog with major number 10 and minor number 130 using mknod ("man mknod"), you will get a watchdog, i.e.: subsequently opening the file and then failing to write to it for longer than 1 minute will result in rebooting the machine. This could be useful for a networked machine that needs to come back on-line as fast as possible after a lock-up. There's both a watchdog implementation entirely in software (which can sometimes fail to reboot the machine) and a driver for hardware watchdog boards, which are more robust and can also keep track of the temperature inside your computer. For details, read in the kernel source. The watchdog is usually used together with the watchdog daemon which is available from . This daemon can also monitor NFS connections and can reboot the machine when the process table is full. If unsure, say N. if WATCHDOG config WATCHDOG_CORE bool "WatchDog Timer Driver Core" ---help--- Say Y here if you want to use the new watchdog timer driver core. This driver provides a framework for all watchdog timer drivers and gives them the /dev/watchdog interface (and later also the sysfs interface). config WATCHDOG_NOWAYOUT bool "Disable watchdog shutdown on close" help The default watchdog behaviour (which you get if you say N here) is to stop the timer if the process managing it closes the file /dev/watchdog. It's always remotely possible that this process might get killed. If you say Y here, the watchdog cannot be stopped once it has been started. # # General Watchdog drivers # comment "Watchdog Device Drivers" # Architecture Independent config SOFT_WATCHDOG tristate "Software watchdog" select WATCHDOG_CORE help A software monitoring watchdog. This will fail to reboot your system from some situations that the hardware watchdog will recover from. Equally it's a lot cheaper to install. To compile this driver as a module, choose M here: the module will be called softdog. config DA9052_WATCHDOG tristate "Dialog DA9052 Watchdog" depends on PMIC_DA9052 select WATCHDOG_CORE help Support for the watchdog in the DA9052 PMIC. Watchdog trigger cause system reset. Say Y here to include support for the DA9052 watchdog. Alternatively say M to compile the driver as a module, which will be called da9052_wdt. config DA9055_WATCHDOG tristate "Dialog Semiconductor DA9055 Watchdog" depends on MFD_DA9055 select WATCHDOG_CORE help If you say yes here you get support for watchdog on the Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055_wdt. config WM831X_WATCHDOG tristate "WM831x watchdog" depends on MFD_WM831X select WATCHDOG_CORE help Support for the watchdog in the WM831x AudioPlus PMICs. When the watchdog triggers the system will be reset. config WM8350_WATCHDOG tristate "WM8350 watchdog" depends on MFD_WM8350 select WATCHDOG_CORE help Support for the watchdog in the WM8350 AudioPlus PMIC. When the watchdog triggers the system will be reset. # ALPHA Architecture # ARM Architecture config ARM_SP805_WATCHDOG tristate "ARM SP805 Watchdog" depends on ARM && ARM_AMBA select WATCHDOG_CORE help ARM Primecell SP805 Watchdog timer. This will reboot your system when the timeout is reached. config AT91RM9200_WATCHDOG tristate "AT91RM9200 watchdog" depends on ARCH_AT91RM9200 help Watchdog timer embedded into AT91RM9200 chips. This will reboot your system when the timeout is reached. config AT91SAM9X_WATCHDOG tristate "AT91SAM9X / AT91CAP9 watchdog" depends on ARCH_AT91 && !ARCH_AT91RM9200 select WATCHDOG_CORE help Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will reboot your system when the timeout is reached. config 21285_WATCHDOG tristate "DC21285 watchdog" depends on FOOTBRIDGE help The Intel Footbridge chip contains a built-in watchdog circuit. Say Y here if you wish to use this. Alternatively say M to compile the driver as a module, which will be called wdt285. This driver does not work on all machines. In particular, early CATS boards have hardware problems that will cause the machine to simply lock up if the watchdog fires. "If in doubt, leave it out" - say N. config 977_WATCHDOG tristate "NetWinder WB83C977 watchdog" depends on FOOTBRIDGE && ARCH_NETWINDER help Say Y here to include support for the WB977 watchdog included in NetWinder machines. Alternatively say M to compile the driver as a module, which will be called wdt977. Not sure? It's safe to say N. config IXP4XX_WATCHDOG tristate "IXP4xx Watchdog" depends on ARCH_IXP4XX help Say Y here if to include support for the watchdog timer in the Intel IXP4xx network processors. This driver can be built as a module by choosing M. The module will be called ixp4xx_wdt. Note: The internal IXP4xx watchdog does a soft CPU reset which doesn't reset any peripherals. There are circumstances where the watchdog will fail to reset the board correctly (e.g., if the boot ROM is in an unreadable state). Say N if you are unsure. config KS8695_WATCHDOG tristate "KS8695 watchdog" depends on ARCH_KS8695 help Watchdog timer embedded into KS8695 processor. This will reboot your system when the timeout is reached. config HAVE_S3C2410_WATCHDOG bool help This will include watchdog timer support for Samsung SoCs. If you want to include watchdog support for any machine, kindly select this in the respective mach-XXXX/Kconfig file. config S3C2410_WATCHDOG tristate "S3C2410 Watchdog" depends on HAVE_S3C2410_WATCHDOG select WATCHDOG_CORE help Watchdog timer block in the Samsung SoCs. This will reboot the system when the timer expires with the watchdog enabled. The driver is limited by the speed of the system's PCLK signal, so with reasonably fast systems (PCLK around 50-66MHz) then watchdog intervals of over approximately 20seconds are unavailable. The driver can be built as a module by choosing M, and will be called s3c2410_wdt config SA1100_WATCHDOG tristate "SA1100/PXA2xx watchdog" depends on ARCH_SA1100 || ARCH_PXA help Watchdog timer embedded into SA11x0 and PXA2xx chips. This will reboot your system when timeout is reached. NOTE: once enabled, this timer cannot be disabled. To compile this driver as a module, choose M here: the module will be called sa1100_wdt. config DW_WATCHDOG tristate "Synopsys DesignWare watchdog" depends on ARM && HAVE_CLK help Say Y here if to include support for the Synopsys DesignWare watchdog timer found in many ARM chips. To compile this driver as a module, choose M here: the module will be called dw_wdt. config EP93XX_WATCHDOG tristate "EP93xx Watchdog" depends on ARCH_EP93XX select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer embedded in the Cirrus Logic EP93xx family of devices. To compile this driver as a module, choose M here: the module will be called ep93xx_wdt. config OMAP_WATCHDOG tristate "OMAP Watchdog" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS select WATCHDOG_CORE help Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog. Say 'Y' here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer. config PNX4008_WATCHDOG tristate "LPC32XX Watchdog" depends on ARCH_LPC32XX select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in the LPC32XX processor. This driver can be built as a module by choosing M. The module will be called pnx4008_wdt. Say N if you are unsure. config IOP_WATCHDOG tristate "IOP Watchdog" depends on PLAT_IOP select WATCHDOG_NOWAYOUT if (ARCH_IOP32X || ARCH_IOP33X) help Say Y here if to include support for the watchdog timer in the Intel IOP3XX & IOP13XX I/O Processors. This driver can be built as a module by choosing M. The module will be called iop_wdt. Note: The IOP13XX watchdog does an Internal Bus Reset which will affect both cores and the peripherals of the IOP. The ATU-X and/or ATUe configuration registers will remain intact, but if operating as an Root Complex and/or Central Resource, the PCI-X and/or PCIe busses will also be reset. THIS IS A VERY BIG HAMMER. config DAVINCI_WATCHDOG tristate "DaVinci watchdog" depends on ARCH_DAVINCI help Say Y here if to include support for the watchdog timer in the DaVinci DM644x/DM646x processors. To compile this driver as a module, choose M here: the module will be called davinci_wdt. NOTE: once enabled, this timer cannot be disabled. Say N if you are unsure. config ORION_WATCHDOG tristate "Orion watchdog" depends on ARCH_ORION5X || ARCH_KIRKWOOD || ARCH_DOVE select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in the Marvell Orion5x and Kirkwood ARM SoCs. To compile this driver as a module, choose M here: the module will be called orion_wdt. config SUNXI_WATCHDOG tristate "Allwinner SoCs watchdog support" depends on ARCH_SUNXI select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Allwinner SoCs. To compile this driver as a module, choose M here: the module will be called sunxi_wdt. config COH901327_WATCHDOG bool "ST-Ericsson COH 901 327 watchdog" depends on ARCH_U300 default y if MACH_U300 select WATCHDOG_CORE help Say Y here to include Watchdog timer support for the watchdog embedded into the ST-Ericsson U300 series platforms. This watchdog is used to reset the system and thus cannot be compiled as a module. config TWL4030_WATCHDOG tristate "TWL4030 Watchdog" depends on TWL4030_CORE select WATCHDOG_CORE help Support for TI TWL4030 watchdog. Say 'Y' here to enable the watchdog timer support for TWL4030 chips. config STMP3XXX_RTC_WATCHDOG tristate "Freescale STMP3XXX & i.MX23/28 watchdog" depends on RTC_DRV_STMP select WATCHDOG_CORE help Say Y here to include support for the watchdog timer inside the RTC for the STMP37XX/378X or i.MX23/28 SoC. To compile this driver as a module, choose M here: the module will be called stmp3xxx_rtc_wdt. config NUC900_WATCHDOG tristate "Nuvoton NUC900 watchdog" depends on ARCH_W90X900 help Say Y here if to include support for the watchdog timer for the Nuvoton NUC900 series SoCs. To compile this driver as a module, choose M here: the module will be called nuc900_wdt. config TS72XX_WATCHDOG tristate "TS-72XX SBC Watchdog" depends on MACH_TS72XX help Technologic Systems TS-7200, TS-7250 and TS-7260 boards have watchdog timer implemented in a external CPLD chip. Say Y here if you want to support for the watchdog timer on TS-72XX boards. To compile this driver as a module, choose M here: the module will be called ts72xx_wdt. config MAX63XX_WATCHDOG tristate "Max63xx watchdog" depends on ARM && HAS_IOMEM select WATCHDOG_CORE help Support for memory mapped max63{69,70,71,72,73,74} watchdog timer. config IMX2_WDT tristate "IMX2+ Watchdog" depends on ARCH_MXC help This is the driver for the hardware watchdog on the Freescale IMX2 and later processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. To compile this driver as a module, choose M here: the module will be called imx2_wdt. config UX500_WATCHDOG tristate "ST-Ericsson Ux500 watchdog" depends on MFD_DB8500_PRCMU select WATCHDOG_CORE default y help Say Y here to include Watchdog timer support for the watchdog existing in the prcmu of ST-Ericsson Ux500 series platforms. To compile this driver as a module, choose M here: the module will be called ux500_wdt. config RETU_WATCHDOG tristate "Retu watchdog" depends on MFD_RETU select WATCHDOG_CORE help Retu watchdog driver for Nokia Internet Tablets (770, N800, N810). At least on N800 the watchdog cannot be disabled, so this driver is essential and you should enable it. To compile this driver as a module, choose M here: the module will be called retu_wdt. config MOXART_WDT tristate "MOXART watchdog" depends on ARCH_MOXART help Say Y here to include Watchdog timer support for the watchdog existing on the MOXA ART SoC series platforms. To compile this driver as a module, choose M here: the module will be called moxart_wdt. config SIRFSOC_WATCHDOG tristate "SiRFSOC watchdog" depends on ARCH_SIRF select WATCHDOG_CORE default y help Support for CSR SiRFprimaII and SiRFatlasVI watchdog. When the watchdog triggers the system will be reset. # AVR32 Architecture config AT32AP700X_WDT tristate "AT32AP700x watchdog" depends on CPU_AT32AP700X help Watchdog timer embedded into AT32AP700x devices. This will reboot your system when the timeout is reached. # BLACKFIN Architecture config BFIN_WDT tristate "Blackfin On-Chip Watchdog Timer" depends on BLACKFIN ---help--- If you say yes here you will get support for the Blackfin On-Chip Watchdog Timer. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. To compile this driver as a module, choose M here: the module will be called bfin_wdt. # CRIS Architecture # FRV Architecture # X86 (i386 + ia64 + x86_64) Architecture config ACQUIRE_WDT tristate "Acquire SBC Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on Single Board Computers produced by Acquire Inc (and others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called acquirewdt. Most people will say N. config ADVANTECH_WDT tristate "Advantech SBC Watchdog Timer" depends on X86 help If you are configuring a Linux kernel for the Advantech single-board computer, say `Y' here to support its built-in watchdog timer feature. More information can be found at config ALIM1535_WDT tristate "ALi M1535 PMU Watchdog Timer" depends on X86 && PCI ---help--- This is the driver for the hardware watchdog on the ALi M1535 PMU. To compile this driver as a module, choose M here: the module will be called alim1535_wdt. Most people will say N. config ALIM7101_WDT tristate "ALi M7101 PMU Computer Watchdog" depends on PCI help This is the driver for the hardware watchdog on the ALi M7101 PMU as used in the x86 Cobalt servers and also found in some SPARC Netra servers too. To compile this driver as a module, choose M here: the module will be called alim7101_wdt. Most people will say N. config F71808E_WDT tristate "Fintek F71808E, F71862FG, F71869, F71882FG and F71889FG Watchdog" depends on X86 help This is the driver for the hardware watchdog on the Fintek F71808E, F71862FG, F71869, F71882FG and F71889FG Super I/O controllers. You can compile this driver directly into the kernel, or use it as a module. The module will be called f71808e_wdt. config SP5100_TCO tristate "AMD/ATI SP5100 TCO Timer/Watchdog" depends on X86 && PCI ---help--- Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its expiration. The expiration time can be configured with the "heartbeat" parameter. To compile this driver as a module, choose M here: the module will be called sp5100_tco. config GEODE_WDT tristate "AMD Geode CS5535/CS5536 Watchdog" depends on CS5535_MFGPT help This driver enables a watchdog capability built into the CS5535/CS5536 companion chips for the AMD Geode GX and LX processors. This watchdog watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. You can compile this driver directly into the kernel, or use it as a module. The module will be called geodewdt. config SC520_WDT tristate "AMD Elan SC520 processor Watchdog" depends on X86 help This is the driver for the hardware watchdog built in to the AMD "Elan" SC520 microcomputer commonly used in embedded systems. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. You can compile this driver directly into the kernel, or use it as a module. The module will be called sc520_wdt. config SBC_FITPC2_WATCHDOG tristate "Compulab SBC-FITPC2 watchdog" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the fit-PC2, fit-PC2i, CM-iAM single-board computers made by Compulab. It`s possible to enable watchdog timer either from BIOS (F2) or from booted Linux. When "Watchdog Timer Value" enabled one can set 31-255 s operational range. Entering BIOS setup temporary disables watchdog operation regardless to current state, so system will not be restarted while user in BIOS setup. Once watchdog was enabled the system will be restarted every "Watchdog Timer Value" period, so to prevent it user can restart or disable the watchdog. To compile this driver as a module, choose M here: the module will be called sbc_fitpc2_wdt. Most people will say N. config EUROTECH_WDT tristate "Eurotech CPU-1220/1410 Watchdog Timer" depends on X86 help Enable support for the watchdog timer on the Eurotech CPU-1220 and CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product information are at . config IB700_WDT tristate "IB700 SBC Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the IB700 Single Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for slightly different hardware. To compile this driver as a module, choose M here: the module will be called ib700wdt. Most people will say N. config IBMASR tristate "IBM Automatic Server Restart" depends on X86 help This is the driver for the IBM Automatic Server Restart watchdog timer built-in into some eServer xSeries machines. To compile this driver as a module, choose M here: the module will be called ibmasr. config WAFER_WDT tristate "ICP Single Board Computer Watchdog Timer" depends on X86 help This is a driver for the hardware watchdog on the ICP Single Board Computer. This driver is working on (at least) the following IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782. To compile this driver as a module, choose M here: the module will be called wafer5823wdt. config I6300ESB_WDT tristate "Intel 6300ESB Timer/Watchdog" depends on PCI ---help--- Hardware driver for the watchdog timer built into the Intel 6300ESB controller hub. To compile this driver as a module, choose M here: the module will be called i6300esb. config IE6XX_WDT tristate "Intel Atom E6xx Watchdog" depends on X86 && PCI select WATCHDOG_CORE select MFD_CORE select LPC_SCH ---help--- Hardware driver for the watchdog timer built into the Intel Atom E6XX (TunnelCreek) processor. To compile this driver as a module, choose M here: the module will be called ie6xx_wdt. config INTEL_SCU_WATCHDOG bool "Intel SCU Watchdog for Mobile Platforms" depends on X86_INTEL_MID ---help--- Hardware driver for the watchdog time built into the Intel SCU for Intel Mobile Platforms. To compile this driver as a module, choose M here. config ITCO_WDT tristate "Intel TCO Timer/Watchdog" depends on (X86 || IA64) && PCI select WATCHDOG_CORE select LPC_ICH ---help--- Hardware driver for the intel TCO timer based watchdog devices. These drivers are included in the Intel 82801 I/O Controller Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB controller hub. The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its second expiration. The expiration time can be configured with the "heartbeat" parameter. On some motherboards the driver may fail to reset the chipset's NO_REBOOT flag which prevents the watchdog from rebooting the machine. If this is the case you will get a kernel message like "failed to reset NO_REBOOT flag, reboot disabled by hardware". To compile this driver as a module, choose M here: the module will be called iTCO_wdt. config ITCO_VENDOR_SUPPORT bool "Intel TCO Timer/Watchdog Specific Vendor Support" depends on ITCO_WDT ---help--- Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. config IT8712F_WDT tristate "IT8712F (Smart Guardian) Watchdog Timer" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the IT8712F Super I/0 chipset used on many motherboards. If the driver does not work, then make sure that the game port in the BIOS is enabled. To compile this driver as a module, choose M here: the module will be called it8712f_wdt. config IT87_WDT tristate "IT87 Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the ITE IT8702, IT8712, IT8716, IT8718, IT8720, IT8721, IT8726 and IT8728 Super I/O chips. If the driver does not work, then make sure that the game port in the BIOS is enabled. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called it87_wdt. config HP_WATCHDOG tristate "HP ProLiant iLO2+ Hardware Watchdog Timer" depends on X86 && PCI help A software monitoring watchdog and NMI sourcing driver. This driver will detect lockups and provide a stack trace. This is a driver that will only load on an HP ProLiant system with a minimum of iLO2 support. To compile this driver as a module, choose M here: the module will be called hpwdt. config KEMPLD_WDT tristate "Kontron COM Watchdog Timer" depends on MFD_KEMPLD select WATCHDOG_CORE help Support for the PLD watchdog on some Kontron ETX and COMexpress (ETXexpress) modules This driver can also be built as a module. If so, the module will be called kempld_wdt. config HPWDT_NMI_DECODING bool "NMI decoding support for the HP ProLiant iLO2+ Hardware Watchdog Timer" depends on HP_WATCHDOG default y help When an NMI occurs this feature will make the necessary BIOS calls to log the cause of the NMI. config SC1200_WDT tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog" depends on X86 help This is a driver for National Semiconductor PC87307/PC97307 hardware watchdog cards as found on the SC1200. This watchdog is mainly used for power management purposes and can be used to power down the device during inactivity periods (includes interrupt activity monitoring). To compile this driver as a module, choose M here: the module will be called sc1200wdt. Most people will say N. config SCx200_WDT tristate "National Semiconductor SCx200 Watchdog" depends on SCx200 && PCI help Enable the built-in watchdog timer support on the National Semiconductor SCx200 processors. If compiled as a module, it will be called scx200_wdt. config PC87413_WDT tristate "NS PC87413 watchdog" depends on X86 ---help--- This is the driver for the hardware watchdog on the PC87413 chipset This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called pc87413_wdt. Most people will say N. config NV_TCO tristate "nVidia TCO Timer/Watchdog" depends on X86 && PCI ---help--- Hardware driver for the TCO timer built into the nVidia Hub family (such as the MCP51). The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its second expiration. The expiration time can be configured with the "heartbeat" parameter. On some motherboards the driver may fail to reset the chipset's NO_REBOOT flag which prevents the watchdog from rebooting the machine. If this is the case you will get a kernel message like "failed to reset NO_REBOOT flag, reboot disabled by hardware". To compile this driver as a module, choose M here: the module will be called nv_tco. config RDC321X_WDT tristate "RDC R-321x SoC watchdog" depends on X86_RDC321X help This is the driver for the built in hardware watchdog in the RDC R-321x SoC. To compile this driver as a module, choose M here: the module will be called rdc321x_wdt. config 60XX_WDT tristate "SBC-60XX Watchdog Timer" depends on X86 help This driver can be used with the watchdog timer found on some single board computers, namely the 6010 PII based computer. It may well work with other cards. It reads port 0x443 to enable and re-set the watchdog timer, and reads port 0x45 to disable the watchdog. If you have a card that behave in similar ways, you can probably make this driver work with your card as well. You can compile this driver directly into the kernel, or use it as a module. The module will be called sbc60xxwdt. config SBC8360_WDT tristate "SBC8360 Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the SBC8360 Single Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com). To compile this driver as a module, choose M here: the module will be called sbc8360. Most people will say N. config SBC7240_WDT tristate "SBC Nano 7240 Watchdog Timer" depends on X86_32 && !UML ---help--- This is the driver for the hardware watchdog found on the IEI single board computers EPIC Nano 7240 (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called sbc7240_wdt. config CPU5_WDT tristate "SMA CPU5 Watchdog" depends on X86 ---help--- TBD. To compile this driver as a module, choose M here: the module will be called cpu5wdt. config SMSC_SCH311X_WDT tristate "SMSC SCH311X Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog timer on the SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset (LPC IO with 8042 KBC, Reset Generation, HWM and multiple serial ports). To compile this driver as a module, choose M here: the module will be called sch311x_wdt. config SMSC37B787_WDT tristate "Winbond SMsC37B787 Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog component on the Winbond SMsC37B787 chipset as used on the NetRunner Mainboard from Vision Systems and maybe others. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. Usually a userspace daemon will notify the kernel WDT driver that userspace is still alive, at regular intervals. To compile this driver as a module, choose M here: the module will be called smsc37b787_wdt. Most people will say N. config VIA_WDT tristate "VIA Watchdog Timer" depends on X86 && PCI select WATCHDOG_CORE ---help--- This is the driver for the hardware watchdog timer on VIA southbridge chipset CX700, VX800/VX820 or VX855/VX875. To compile this driver as a module, choose M here; the module will be called via_wdt. Most people will say N. config W83627HF_WDT tristate "W83627HF/W83627DHG Watchdog Timer" depends on X86 select WATCHDOG_CORE ---help--- This is the driver for the hardware watchdog on the W83627HF chipset as used in Advantech PC-9578 and Tyan S2721-533 motherboards (and likely others). The driver also supports the W83627DHG chip. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83627hf_wdt. Most people will say N. config W83697HF_WDT tristate "W83697HF/W83697HG Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83697HF/HG chipset as used in Dedibox/VIA motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83697hf_wdt. Most people will say N. config W83697UG_WDT tristate "W83697UG/W83697UF Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83697UG/UF chipset as used in MSI Fuzzy CX700 VIA motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83697ug_wdt. Most people will say N. config W83877F_WDT tristate "W83877F (EMACS) Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83877F chipset as used in EMACS PC-104 motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83877f_wdt. Most people will say N. config W83977F_WDT tristate "W83977F (PCM-5335) Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83977F I/O chip as used in AAEON's PCM-5335 SBC (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83977f_wdt. config MACHZ_WDT tristate "ZF MachZ Watchdog" depends on X86 ---help--- If you are using a ZF Micro MachZ processor, say Y here, otherwise N. This is the driver for the watchdog timer built-in on that processor using ZF-Logic interface. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called machzwd. config SBC_EPX_C3_WATCHDOG tristate "Winsystems SBC EPX-C3 watchdog" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the EPX-C3 Single-board computer made by Winsystems, Inc. *Note*: This hardware watchdog is not probeable and thus there is no way to know if writing to its IO address will corrupt your system or have any real effect. The only way to be sure that this driver does what you want is to make sure you are running it on an EPX-C3 from Winsystems with the watchdog timer at IO address 0x1ee and 0x1ef. It will write to both those IO ports. Basically, the assumption is made that if you compile this driver into your kernel and/or load it as a module, that you know what you are doing and that you are in fact running on an EPX-C3 board! To compile this driver as a module, choose M here: the module will be called sbc_epx_c3. # M32R Architecture # M68K Architecture config M54xx_WATCHDOG tristate "MCF54xx watchdog support" depends on M548x help To compile this driver as a module, choose M here: the module will be called m54xx_wdt. # MicroBlaze Architecture config XILINX_WATCHDOG tristate "Xilinx Watchdog timer" depends on MICROBLAZE ---help--- Watchdog driver for the xps_timebase_wdt ip core. IMPORTANT: The xps_timebase_wdt parent must have the property "clock-frequency" at device tree. To compile this driver as a module, choose M here: the module will be called of_xilinx_wdt. # MIPS Architecture config ATH79_WDT tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog" depends on ATH79 help Hardware driver for the built-in watchdog timer on the Atheros AR71XX/AR724X/AR913X SoCs. config BCM47XX_WDT tristate "Broadcom BCM47xx Watchdog Timer" depends on BCM47XX select WATCHDOG_CORE help Hardware driver for the Broadcom BCM47xx Watchdog Timer. config RC32434_WDT tristate "IDT RC32434 SoC Watchdog Timer" depends on MIKROTIK_RB532 help Hardware driver for the IDT RC32434 SoC built-in watchdog timer. To compile this driver as a module, choose M here: the module will be called rc32434_wdt. config INDYDOG tristate "Indy/I2 Hardware Watchdog" depends on SGI_HAS_INDYDOG help Hardware driver for the Indy's/I2's watchdog. This is a watchdog timer that will reboot the machine after a 60 second timer expired and no process has written to /dev/watchdog during that time. config JZ4740_WDT tristate "Ingenic jz4740 SoC hardware watchdog" depends on MACH_JZ4740 select WATCHDOG_CORE help Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs. config WDT_MTX1 tristate "MTX-1 Hardware Watchdog" depends on MIPS_MTX1 help Hardware driver for the MTX-1 boards. This is a watchdog timer that will reboot the machine after a 100 seconds timer expired. config PNX833X_WDT tristate "PNX833x Hardware Watchdog" depends on SOC_PNX8335 help Hardware driver for the PNX833x's watchdog. This is a watchdog timer that will reboot the machine after a programmable timer has expired and no process has written to /dev/watchdog during that time. config SIBYTE_WDOG tristate "Sibyte SoC hardware watchdog" depends on CPU_SB1 help Watchdog driver for the built in watchdog hardware in Sibyte SoC processors. There are apparently two watchdog timers on such processors; this driver supports only the first one, because currently Linux only supports exporting one watchdog to userspace. To compile this driver as a loadable module, choose M here. The module will be called sb_wdog. config AR7_WDT tristate "TI AR7 Watchdog Timer" depends on AR7 help Hardware driver for the TI AR7 Watchdog Timer. config TXX9_WDT tristate "Toshiba TXx9 Watchdog Timer" depends on CPU_TX39XX || CPU_TX49XX select WATCHDOG_CORE help Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs. config OCTEON_WDT tristate "Cavium OCTEON SOC family Watchdog Timer" depends on CAVIUM_OCTEON_SOC default y select EXPORT_UASM if OCTEON_WDT = m help Hardware driver for OCTEON's on chip watchdog timer. Enables the watchdog for all cores running Linux. It installs a NMI handler and pokes the watchdog based on an interrupt. On first expiration of the watchdog, the interrupt handler pokes it. The second expiration causes an NMI that prints a message. The third expiration causes a global soft reset. When userspace has /dev/watchdog open, no poking is done from the first interrupt, it is then only poked when the device is written. config BCM63XX_WDT tristate "Broadcom BCM63xx hardware watchdog" depends on BCM63XX help Watchdog driver for the built in watchdog hardware in Broadcom BCM63xx SoC. To compile this driver as a loadable module, choose M here. The module will be called bcm63xx_wdt. config BCM2835_WDT tristate "Broadcom BCM2835 hardware watchdog" depends on ARCH_BCM2835 select WATCHDOG_CORE help Watchdog driver for the built in watchdog hardware in Broadcom BCM2835 SoC. To compile this driver as a loadable module, choose M here. The module will be called bcm2835_wdt. config LANTIQ_WDT tristate "Lantiq SoC watchdog" depends on LANTIQ help Hardware driver for the Lantiq SoC Watchdog Timer. config RALINK_WDT tristate "Ralink SoC watchdog" select WATCHDOG_CORE depends on RALINK help Hardware driver for the Ralink SoC Watchdog Timer. # PARISC Architecture # POWERPC Architecture config GEF_WDT tristate "GE Watchdog Timer" depends on GE_FPGA ---help--- Watchdog timer found in a number of GE single board computers. config MPC5200_WDT bool "MPC52xx Watchdog Timer" depends on PPC_MPC52xx help Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog. config 8xxx_WDT tristate "MPC8xxx Platform Watchdog Timer" depends on PPC_8xx || PPC_83xx || PPC_86xx help This driver is for a SoC level watchdog that exists on some Freescale PowerPC processors. So far this driver supports: - MPC8xx watchdogs - MPC83xx watchdogs - MPC86xx watchdogs For BookE processors (MPC85xx) use the BOOKE_WDT driver instead. config MV64X60_WDT tristate "MV64X60 (Marvell Discovery) Watchdog Timer" depends on MV64X60 config PIKA_WDT tristate "PIKA FPGA Watchdog" depends on WARP default y help This enables the watchdog in the PIKA FPGA. Currently used on the Warp platform. config BOOKE_WDT tristate "PowerPC Book-E Watchdog Timer" depends on BOOKE || 4xx select WATCHDOG_CORE ---help--- Watchdog driver for PowerPC Book-E chips, such as the Freescale MPC85xx SOCs and the IBM PowerPC 440. Please see Documentation/watchdog/watchdog-api.txt for more information. config BOOKE_WDT_DEFAULT_TIMEOUT int "PowerPC Book-E Watchdog Timer Default Timeout" depends on BOOKE_WDT default 38 if PPC_FSL_BOOK3E range 0 63 if PPC_FSL_BOOK3E default 3 if !PPC_FSL_BOOK3E range 0 3 if !PPC_FSL_BOOK3E help Select the default watchdog timer period to be used by the PowerPC Book-E watchdog driver. A watchdog "event" occurs when the bit position represented by this number transitions from zero to one. For Freescale Book-E processors, this is a number between 0 and 63. For other Book-E processors, this is a number between 0 and 3. The value can be overridden by the wdt_period command-line parameter. config MEN_A21_WDT tristate "MEN A21 VME CPU Carrier Board Watchdog Timer" select WATCHDOG_CORE depends on GPIOLIB help Watchdog driver for MEN A21 VMEbus CPU Carrier Boards. The driver can also be built as a module. If so, the module will be called mena21_wdt. If unsure select N here. # PPC64 Architecture config WATCHDOG_RTAS tristate "RTAS watchdog" depends on PPC_RTAS help This driver adds watchdog support for the RTAS watchdog. To compile this driver as a module, choose M here. The module will be called wdrtas. # S390 Architecture config ZVM_WATCHDOG tristate "z/VM Watchdog Timer" depends on S390 help IBM s/390 and zSeries machines running under z/VM 5.1 or later provide a virtual watchdog timer to their guest that cause a user define Control Program command to be executed after a timeout. To compile this driver as a module, choose M here. The module will be called vmwatchdog. # SUPERH (sh + sh64) Architecture config SH_WDT tristate "SuperH Watchdog" depends on SUPERH && (CPU_SH3 || CPU_SH4) select WATCHDOG_CORE help This driver adds watchdog support for the integrated watchdog in the SuperH processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. As a side note, saying Y here will automatically boost HZ to 1000 so that the timer has a chance to clear the overflow counter. On slower systems (such as the SH-2 and SH-3) this will likely yield some performance issues. As such, the WDT should be avoided here unless it is absolutely necessary. To compile this driver as a module, choose M here: the module will be called shwdt. # SPARC Architecture # SPARC64 Architecture config WATCHDOG_CP1XXX tristate "CP1XXX Hardware Watchdog support" depends on SPARC64 && PCI ---help--- This is the driver for the hardware watchdog timers present on Sun Microsystems CompactPCI models CP1400 and CP1500. To compile this driver as a module, choose M here: the module will be called cpwatchdog. If you do not have a CompactPCI model CP1400 or CP1500, or another UltraSPARC-IIi-cEngine boardset with hardware watchdog, you should say N to this option. config WATCHDOG_RIO tristate "RIO Hardware Watchdog support" depends on SPARC64 && PCI help Say Y here to support the hardware watchdog capability on Sun RIO machines. The watchdog timeout period is normally one minute but can be changed with a boot-time parameter. # XTENSA Architecture # Xen Architecture config XEN_WDT tristate "Xen Watchdog support" depends on XEN help Say Y here to support the hypervisor watchdog capability provided by Xen 4.0 and newer. The watchdog timeout period is normally one minute but can be changed with a boot-time parameter. config UML_WATCHDOG tristate "UML watchdog" depends on UML # # ISA-based Watchdog Cards # comment "ISA-based Watchdog Cards" depends on ISA config PCWATCHDOG tristate "Berkshire Products ISA-PC Watchdog" depends on ISA ---help--- This is the driver for the Berkshire Products ISA-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for different hardware. Please read . The PC watchdog cards can be ordered from . To compile this driver as a module, choose M here: the module will be called pcwd. Most people will say N. config MIXCOMWD tristate "Mixcom Watchdog" depends on ISA ---help--- This is a driver for the Mixcom hardware watchdog cards. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called mixcomwd. Most people will say N. config WDT tristate "WDT Watchdog timer" depends on ISA ---help--- If you have a WDT500P or WDT501P watchdog board, say Y here, otherwise N. It is not possible to probe for this board, which means that you have to inform the kernel about the IO port and IRQ that is needed (you can do this via the io and irq parameters) To compile this driver as a module, choose M here: the module will be called wdt. # # PCI-based Watchdog Cards # comment "PCI-based Watchdog Cards" depends on PCI config PCIPCWATCHDOG tristate "Berkshire Products PCI-PC Watchdog" depends on PCI ---help--- This is the driver for the Berkshire Products PCI-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at . To compile this driver as a module, choose M here: the module will be called pcwd_pci. Most people will say N. config WDTPCI tristate "PCI-WDT500/501 Watchdog timer" depends on PCI ---help--- If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N. If you have a PCI-WDT501 watchdog board then you can enable the temperature sensor by setting the type parameter to 501. If you want to enable the Fan Tachometer on the PCI-WDT501, then you can do this via the tachometer parameter. Only do this if you have a fan tachometer actually set up. To compile this driver as a module, choose M here: the module will be called wdt_pci. # # USB-based Watchdog Cards # comment "USB-based Watchdog Cards" depends on USB config USBPCWATCHDOG tristate "Berkshire Products USB-PC Watchdog" depends on USB ---help--- This is the driver for the Berkshire Products USB-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at . To compile this driver as a module, choose M here: the module will be called pcwd_usb. Most people will say N. endif # WATCHDOG menu "Xen driver support" depends on XEN config XEN_BALLOON bool "Xen memory balloon driver" depends on !ARM default y help The balloon driver allows the Xen domain to request more memory from the system to expand the domain's memory allocation, or alternatively return unneeded memory to the system. config XEN_SELFBALLOONING bool "Dynamically self-balloon kernel memory to target" depends on XEN && XEN_BALLOON && CLEANCACHE && SWAP && XEN_TMEM default n help Self-ballooning dynamically balloons available kernel memory driven by the current usage of anonymous memory ("committed AS") and controlled by various sysfs-settable parameters. Configuring FRONTSWAP is highly recommended; if it is not configured, self- ballooning is disabled by default. If FRONTSWAP is configured, frontswap-selfshrinking is enabled by default but can be disabled with the 'tmem.selfshrink=0' kernel boot parameter; and self-ballooning is enabled by default but can be disabled with the 'tmem.selfballooning=0' kernel boot parameter. Note that systems without a sufficiently large swap device should not enable self-ballooning. config XEN_BALLOON_MEMORY_HOTPLUG bool "Memory hotplug support for Xen balloon driver" default n depends on XEN_BALLOON && MEMORY_HOTPLUG help Memory hotplug support for Xen balloon driver allows expanding memory available for the system above limit declared at system startup. It is very useful on critical systems which require long run without rebooting. Memory could be hotplugged in following steps: 1) dom0: xl mem-max where is >= requested memory size, 2) dom0: xl mem-set where is requested memory size; alternatively memory could be added by writing proper value to /sys/devices/system/xen_memory/xen_memory0/target or /sys/devices/system/xen_memory/xen_memory0/target_kb on dumU, 3) domU: for i in /sys/devices/system/memory/memory*/state; do \ [ "`cat "$i"`" = offline ] && echo online > "$i"; done Memory could be onlined automatically on domU by adding following line to udev rules: SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'" In that case step 3 should be omitted. config XEN_SCRUB_PAGES bool "Scrub pages before returning them to system" depends on XEN_BALLOON default y help Scrub pages before returning them to the system for reuse by other domains. This makes sure that any confidential data is not accidentally visible to other domains. Is it more secure, but slightly less efficient. If in doubt, say yes. config XEN_DEV_EVTCHN tristate "Xen /dev/xen/evtchn device" default y help The evtchn driver allows a userspace process to trigger event channels and to receive notification of an event channel firing. If in doubt, say yes. config XEN_BACKEND bool "Backend driver support" depends on XEN_DOM0 default y help Support for backend device drivers that provide I/O services to other virtual machines. config XENFS tristate "Xen filesystem" select XEN_PRIVCMD default y help The xen filesystem provides a way for domains to share information with each other and with the hypervisor. For example, by reading and writing the "xenbus" file, guests may pass arbitrary information to the initial domain. If in doubt, say yes. config XEN_COMPAT_XENFS bool "Create compatibility mount point /proc/xen" depends on XENFS default y help The old xenstore userspace tools expect to find "xenbus" under /proc/xen, but "xenbus" is now found at the root of the xenfs filesystem. Selecting this causes the kernel to create the compatibility mount point /proc/xen if it is running on a xen platform. If in doubt, say yes. config XEN_SYS_HYPERVISOR bool "Create xen entries under /sys/hypervisor" depends on SYSFS select SYS_HYPERVISOR default y help Create entries under /sys/hypervisor describing the Xen hypervisor environment. When running native or in another virtual environment, /sys/hypervisor will still be present, but will have no xen contents. config XEN_XENBUS_FRONTEND tristate config XEN_GNTDEV tristate "userspace grant access device driver" depends on XEN default m select MMU_NOTIFIER help Allows userspace processes to use grants. config XEN_GRANT_DEV_ALLOC tristate "User-space grant reference allocator driver" depends on XEN default m help Allows userspace processes to create pages with access granted to other domains. This can be used to implement frontend drivers or as part of an inter-domain shared memory channel. config SWIOTLB_XEN def_bool y select SWIOTLB config XEN_TMEM tristate depends on !ARM && !ARM64 default m if (CLEANCACHE || FRONTSWAP) help Shim to interface in-kernel Transcendent Memory hooks (e.g. cleancache and frontswap) to Xen tmem hypercalls. config XEN_PCIDEV_BACKEND tristate "Xen PCI-device backend driver" depends on PCI && X86 && XEN depends on XEN_BACKEND default m help The PCI device backend driver allows the kernel to export arbitrary PCI devices to other guests. If you select this to be a module, you will need to make sure no other driver has bound to the device(s) you want to make visible to other guests. The parameter "passthrough" allows you specify how you want the PCI devices to appear in the guest. You can choose the default (0) where PCI topology starts at 00.00.0, or (1) for passthrough if you want the PCI devices topology appear the same as in the host. The "hide" parameter (only applicable if backend driver is compiled into the kernel) allows you to bind the PCI devices to this module from the default device drivers. The argument is the list of PCI BDFs: xen-pciback.hide=(03:00.0)(04:00.0) If in doubt, say m. config XEN_PRIVCMD tristate depends on XEN default m config XEN_STUB bool "Xen stub drivers" depends on XEN && X86_64 && BROKEN default n help Allow kernel to install stub drivers, to reserve space for Xen drivers, i.e. memory hotplug and cpu hotplug, and to block native drivers loaded, so that real Xen drivers can be modular. To enable Xen features like cpu and memory hotplug, select Y here. config XEN_ACPI_HOTPLUG_MEMORY tristate "Xen ACPI memory hotplug" depends on XEN_DOM0 && XEN_STUB && ACPI default n help This is Xen ACPI memory hotplug. Currently Xen only support ACPI memory hot-add. If you want to hot-add memory at runtime (the hot-added memory cannot be removed until machine stop), select Y/M here, otherwise select N. config XEN_ACPI_HOTPLUG_CPU tristate "Xen ACPI cpu hotplug" depends on XEN_DOM0 && XEN_STUB && ACPI select ACPI_CONTAINER default n help Xen ACPI cpu enumerating and hotplugging For hotplugging, currently Xen only support ACPI cpu hotadd. If you want to hotadd cpu at runtime (the hotadded cpu cannot be removed until machine stop), select Y/M here. config XEN_ACPI_PROCESSOR tristate "Xen ACPI processor" depends on XEN && X86 && ACPI_PROCESSOR && CPU_FREQ default m help This ACPI processor uploads Power Management information to the Xen hypervisor. To do that the driver parses the Power Management data and uploads said information to the Xen hypervisor. Then the Xen hypervisor can select the proper Cx and Pxx states. It also registers itslef as the SMM so that other drivers (such as ACPI cpufreq scaling driver) will not load. To compile this driver as a module, choose M here: the module will be called xen_acpi_processor If you do not know what to choose, select M here. If the CPUFREQ drivers are built in, select Y here. config XEN_MCE_LOG bool "Xen platform mcelog" depends on XEN_DOM0 && X86_64 && X86_MCE default n help Allow kernel fetching MCE error from Xen platform and converting it into Linux mcelog format for mcelog tools config XEN_HAVE_PVMMU bool endmenu # # Zorro configuration # config ZORRO_NAMES bool "Zorro device name database" depends on ZORRO ---help--- By default, the kernel contains a database of all known Zorro device names to make the information in /proc/iomem comprehensible to the user. This database increases the size of the kernel image by about 15KB, but it gets freed after the system boots up, so it doesn't take up kernel memory. Anyway, if you are building an installation floppy or kernel for an embedded system where kernel image size really matters, you can disable this feature and you'll get device ID numbers instead of names. When in doubt, say Y. config 9P_FS tristate "Plan 9 Resource Sharing Support (9P2000)" depends on INET && NET_9P help If you say Y here, you will get experimental support for Plan 9 resource sharing via the 9P2000 protocol. See for more information. If unsure, say N. if 9P_FS config 9P_FSCACHE bool "Enable 9P client caching support" depends on 9P_FS=m && FSCACHE || 9P_FS=y && FSCACHE=y help Choose Y here to enable persistent, read-only local caching support for 9p clients using FS-Cache config 9P_FS_POSIX_ACL bool "9P POSIX Access Control Lists" select FS_POSIX_ACL help POSIX Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . If you don't know what Access Control Lists are, say N endif config 9P_FS_SECURITY bool "9P Security Labels" depends on 9P_FS help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the 9P filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. # # File system configuration # menu "File systems" # Use unaligned word dcache accesses config DCACHE_WORD_ACCESS bool if BLOCK source "fs/ext2/Kconfig" source "fs/ext3/Kconfig" source "fs/ext4/Kconfig" config FS_XIP # execute in place bool depends on EXT2_FS_XIP default y source "fs/jbd/Kconfig" source "fs/jbd2/Kconfig" config FS_MBCACHE # Meta block cache for Extended Attributes (ext2/ext3/ext4) tristate default y if EXT2_FS=y && EXT2_FS_XATTR default y if EXT3_FS=y && EXT3_FS_XATTR default y if EXT4_FS=y default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS source "fs/reiserfs/Kconfig" source "fs/jfs/Kconfig" source "fs/xfs/Kconfig" source "fs/gfs2/Kconfig" source "fs/ocfs2/Kconfig" source "fs/btrfs/Kconfig" source "fs/nilfs2/Kconfig" endif # BLOCK # Posix ACL utility routines # # Note: Posix ACLs can be implemented without these helpers. Never use # this symbol for ifdefs in core code. # config FS_POSIX_ACL def_bool n config EXPORTFS tristate config FILE_LOCKING bool "Enable POSIX file locking API" if EXPERT default y help This option enables standard file locking support, required for filesystems like NFS and for the flock() system call. Disabling this option saves about 11k. source "fs/notify/Kconfig" source "fs/quota/Kconfig" source "fs/autofs4/Kconfig" source "fs/fuse/Kconfig" config GENERIC_ACL bool select FS_POSIX_ACL menu "Caches" source "fs/fscache/Kconfig" source "fs/cachefiles/Kconfig" endmenu if BLOCK menu "CD-ROM/DVD Filesystems" source "fs/isofs/Kconfig" source "fs/udf/Kconfig" endmenu endif # BLOCK if BLOCK menu "DOS/FAT/NT Filesystems" source "fs/fat/Kconfig" source "fs/ntfs/Kconfig" endmenu endif # BLOCK menu "Pseudo filesystems" source "fs/proc/Kconfig" source "fs/sysfs/Kconfig" config TMPFS bool "Tmpfs virtual memory file system support (former shm fs)" depends on SHMEM help Tmpfs is a file system which keeps all files in virtual memory. Everything in tmpfs is temporary in the sense that no files will be created on your hard drive. The files live in memory and swap space. If you unmount a tmpfs instance, everything stored therein is lost. See for details. config TMPFS_POSIX_ACL bool "Tmpfs POSIX Access Control Lists" depends on TMPFS select TMPFS_XATTR select GENERIC_ACL help POSIX Access Control Lists (ACLs) support additional access rights for users and groups beyond the standard owner/group/world scheme, and this option selects support for ACLs specifically for tmpfs filesystems. If you've selected TMPFS, it's possible that you'll also need this option as there are a number of Linux distros that require POSIX ACL support under /dev for certain features to work properly. For example, some distros need this feature for ALSA-related /dev files for sound to work properly. In short, if you're not sure, say Y. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . config TMPFS_XATTR bool "Tmpfs extended attributes" depends on TMPFS default n help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). Currently this enables support for the trusted.* and security.* namespaces. You need this for POSIX ACL support on tmpfs. If unsure, say N. config HUGETLBFS bool "HugeTLB file system support" depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \ SYS_SUPPORTS_HUGETLBFS || BROKEN help hugetlbfs is a filesystem backing for HugeTLB pages, based on ramfs. For architectures that support it, say Y here and read for details. If unsure, say N. config HUGETLB_PAGE def_bool HUGETLBFS source "fs/configfs/Kconfig" endmenu menuconfig MISC_FILESYSTEMS bool "Miscellaneous filesystems" default y ---help--- Say Y here to get to see options for various miscellaneous filesystems, such as filesystems that came from other operating systems. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled; if unsure, say Y here. if MISC_FILESYSTEMS source "fs/adfs/Kconfig" source "fs/affs/Kconfig" source "fs/ecryptfs/Kconfig" source "fs/hfs/Kconfig" source "fs/hfsplus/Kconfig" source "fs/befs/Kconfig" source "fs/bfs/Kconfig" source "fs/efs/Kconfig" source "fs/jffs2/Kconfig" # UBIFS File system configuration source "fs/ubifs/Kconfig" source "fs/logfs/Kconfig" source "fs/cramfs/Kconfig" source "fs/squashfs/Kconfig" source "fs/freevxfs/Kconfig" source "fs/minix/Kconfig" source "fs/omfs/Kconfig" source "fs/hpfs/Kconfig" source "fs/qnx4/Kconfig" source "fs/qnx6/Kconfig" source "fs/romfs/Kconfig" source "fs/pstore/Kconfig" source "fs/sysv/Kconfig" source "fs/ufs/Kconfig" source "fs/exofs/Kconfig" source "fs/f2fs/Kconfig" source "fs/efivarfs/Kconfig" endif # MISC_FILESYSTEMS source "fs/exofs/Kconfig.ore" menuconfig NETWORK_FILESYSTEMS bool "Network File Systems" default y depends on NET ---help--- Say Y here to get to see options for network filesystems and filesystem-related networking code, such as NFS daemon and RPCSEC security modules. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled; if unsure, say Y here. if NETWORK_FILESYSTEMS source "fs/nfs/Kconfig" source "fs/nfsd/Kconfig" config LOCKD tristate depends on FILE_LOCKING config LOCKD_V4 bool depends on NFSD_V3 || NFS_V3 depends on FILE_LOCKING default y config NFS_ACL_SUPPORT tristate select FS_POSIX_ACL config NFS_COMMON bool depends on NFSD || NFS_FS default y source "net/sunrpc/Kconfig" source "fs/ceph/Kconfig" source "fs/cifs/Kconfig" source "fs/ncpfs/Kconfig" source "fs/coda/Kconfig" source "fs/afs/Kconfig" source "fs/9p/Kconfig" endif # NETWORK_FILESYSTEMS source "fs/nls/Kconfig" source "fs/dlm/Kconfig" endmenu config ADFS_FS tristate "ADFS file system support" depends on BLOCK help The Acorn Disc Filing System is the standard file system of the RiscOS operating system which runs on Acorn's ARM-based Risc PC systems and the Acorn Archimedes range of machines. If you say Y here, Linux will be able to read from ADFS partitions on hard drives and from ADFS-formatted floppy discs. If you also want to be able to write to those devices, say Y to "ADFS write support" below. The ADFS partition should be the first partition (i.e., /dev/[hs]d?1) on each of your drives. Please read the file for further details. To compile this code as a module, choose M here: the module will be called adfs. If unsure, say N. config ADFS_FS_RW bool "ADFS write support (DANGEROUS)" depends on ADFS_FS help If you say Y here, you will be able to write to ADFS partitions on hard drives and ADFS-formatted floppy disks. This is experimental codes, so if you're unsure, say N. config AFFS_FS tristate "Amiga FFS file system support" depends on BLOCK help The Fast File System (FFS) is the common file system used on hard disks by Amiga(tm) systems since AmigaOS Version 1.3 (34.20). Say Y if you want to be able to read and write files from and to an Amiga FFS partition on your hard drive. Amiga floppies however cannot be read with this driver due to an incompatibility of the floppy controller used in an Amiga and the standard floppy controller in PCs and workstations. Read and . With this driver you can also mount disk files used by Bernd Schmidt's Un*X Amiga Emulator (). If you want to do this, you will also need to say Y or M to "Loop device support", above. To compile this file system support as a module, choose M here: the module will be called affs. If unsure, say N. config AFS_FS tristate "Andrew File System support (AFS)" depends on INET select AF_RXRPC select DNS_RESOLVER help If you say Y here, you will get an experimental Andrew File System driver. It currently only supports unsecured read-only AFS access. See for more information. If unsure, say N. config AFS_DEBUG bool "AFS dynamic debugging" depends on AFS_FS help Say Y here to make runtime controllable debugging messages appear. See for more information. If unsure, say N. config AFS_FSCACHE bool "Provide AFS client caching support" depends on AFS_FS=m && FSCACHE || AFS_FS=y && FSCACHE=y help Say Y here if you want AFS data to be cached locally on disk through the generic filesystem cache manager config AUTOFS4_FS tristate "Kernel automounter version 4 support (also supports v3)" help The automounter is a tool to automatically mount remote file systems on demand. This implementation is partially kernel-based to reduce overhead in the already-mounted case; this is unlike the BSD automounter (amd), which is a pure user space daemon. To use the automounter you need the user-space tools from ; you also want to answer Y to "NFS file system support", below. To compile this support as a module, choose M here: the module will be called autofs4. You will need to add "alias autofs autofs4" to your modules configuration file. If you are not a part of a fairly large, distributed network or don't have a laptop which needs to dynamically reconfigure to the local network, you probably do not need an automounter, and can say N here. config BEFS_FS tristate "BeOS file system (BeFS) support (read only)" depends on BLOCK select NLS help The BeOS File System (BeFS) is the native file system of Be, Inc's BeOS. Notable features include support for arbitrary attributes on files and directories, and database-like indices on selected attributes. (Also note that this driver doesn't make those features available at this time). It is a 64 bit filesystem, so it supports extremely large volumes and files. If you use this filesystem, you should also say Y to at least one of the NLS (native language support) options below. If you don't know what this is about, say N. To compile this as a module, choose M here: the module will be called befs. config BEFS_DEBUG bool "Debug BeFS" depends on BEFS_FS help If you say Y here, you can use the 'debug' mount option to enable debugging output from the driver. config BFS_FS tristate "BFS file system support" depends on BLOCK help Boot File System (BFS) is a file system used under SCO UnixWare to allow the bootloader access to the kernel image and other important files during the boot process. It is usually mounted under /stand and corresponds to the slice marked as "STAND" in the UnixWare partition. You should say Y if you want to read or write the files on your /stand slice from within Linux. You then also need to say Y to "UnixWare slices support", below. More information about the BFS file system is contained in the file . If you don't know what this is about, say N. To compile this as a module, choose M here: the module will be called bfs. Note that the file system of your root partition (the one containing the directory /) cannot be compiled as a module. config BTRFS_FS tristate "Btrfs filesystem support" select LIBCRC32C select ZLIB_INFLATE select ZLIB_DEFLATE select LZO_COMPRESS select LZO_DECOMPRESS select RAID6_PQ select XOR_BLOCKS help Btrfs is a general purpose copy-on-write filesystem with extents, writable snapshotting, support for multiple devices and many more features focused on fault tolerance, repair and easy administration. The filesystem disk format is no longer unstable, and it's not expected to change unless there are strong reasons to do so. If there is a format change, file systems with a unchanged format will continue to be mountable and usable by newer kernels. For more information, please see the web pages at http://btrfs.wiki.kernel.org. To compile this file system support as a module, choose M here. The module will be called btrfs. If unsure, say N. config BTRFS_FS_POSIX_ACL bool "Btrfs POSIX Access Control Lists" depends on BTRFS_FS select FS_POSIX_ACL help POSIX Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . If you don't know what Access Control Lists are, say N config BTRFS_FS_CHECK_INTEGRITY bool "Btrfs with integrity check tool compiled in (DANGEROUS)" depends on BTRFS_FS help Adds code that examines all block write requests (including writes of the super block). The goal is to verify that the state of the filesystem on disk is always consistent, i.e., after a power-loss or kernel panic event the filesystem is in a consistent state. If the integrity check tool is included and activated in the mount options, plenty of kernel memory is used, and plenty of additional CPU cycles are spent. Enabling this functionality is not intended for normal use. In most cases, unless you are a btrfs developer who needs to verify the integrity of (super)-block write requests during the run of a regression test, say N config BTRFS_FS_RUN_SANITY_TESTS bool "Btrfs will run sanity tests upon loading" depends on BTRFS_FS help This will run some basic sanity tests on the free space cache code to make sure it is acting as it should. These are mostly regression tests and are only really interesting to btrfs developers. If unsure, say N. config BTRFS_DEBUG bool "Btrfs debugging support" depends on BTRFS_FS help Enable run-time debugging support for the btrfs filesystem. This may enable additional and expensive checks with negative impact on performance, or export extra information via sysfs. If unsure, say N. config BTRFS_ASSERT bool "Btrfs assert support" depends on BTRFS_FS help Enable run-time assertion checking. This will result in panics if any of the assertions trip. This is meant for btrfs developers only. If unsure, say N. config CACHEFILES tristate "Filesystem caching on files" depends on FSCACHE && BLOCK help This permits use of a mounted filesystem as a cache for other filesystems - primarily networking filesystems - thus allowing fast local disk to enhance the speed of slower devices. See Documentation/filesystems/caching/cachefiles.txt for more information. config CACHEFILES_DEBUG bool "Debug CacheFiles" depends on CACHEFILES help This permits debugging to be dynamically enabled in the filesystem caching on files module. If this is set, the debugging output may be enabled by setting bits in /sys/modules/cachefiles/parameter/debug or by including a debugging specifier in /etc/cachefilesd.conf. config CACHEFILES_HISTOGRAM bool "Gather latency information on CacheFiles" depends on CACHEFILES && PROC_FS help This option causes latency information to be gathered on CacheFiles operation and exported through file: /proc/fs/cachefiles/histogram The generation of this histogram adds a certain amount of overhead to execution as there are a number of points at which data is gathered, and on a multi-CPU system these may be on cachelines that keep bouncing between CPUs. On the other hand, the histogram may be useful for debugging purposes. Saying 'N' here is recommended. See Documentation/filesystems/caching/cachefiles.txt for more information. config CEPH_FS tristate "Ceph distributed file system" depends on INET select CEPH_LIB select LIBCRC32C select CRYPTO_AES select CRYPTO default n help Choose Y or M here to include support for mounting the experimental Ceph distributed file system. Ceph is an extremely scalable file system designed to provide high performance, reliable access to petabytes of storage. More information at http://ceph.newdream.net/. If unsure, say N. if CEPH_FS config CEPH_FSCACHE bool "Enable Ceph client caching support" depends on CEPH_FS=m && FSCACHE || CEPH_FS=y && FSCACHE=y help Choose Y here to enable persistent, read-only local caching support for Ceph clients using FS-Cache endif config CIFS tristate "CIFS support (advanced network filesystem, SMBFS successor)" depends on INET select NLS select CRYPTO select CRYPTO_MD4 select CRYPTO_MD5 select CRYPTO_HMAC select CRYPTO_ARC4 select CRYPTO_ECB select CRYPTO_DES select CRYPTO_SHA256 select CRYPTO_CMAC help This is the client VFS module for the Common Internet File System (CIFS) protocol which is the successor to the Server Message Block (SMB) protocol, the native file sharing mechanism for most early PC operating systems. The CIFS protocol is fully supported by file servers such as Windows 2000 (including Windows 2003, Windows 2008, NT 4 and Windows XP) as well by Samba (which provides excellent CIFS server support for Linux and many other operating systems). Limited support for OS/2 and Windows ME and similar servers is provided as well. The cifs module provides an advanced network file system client for mounting to CIFS compliant servers. It includes support for DFS (hierarchical name space), secure per-user session establishment via Kerberos or NTLM or NTLMv2, safe distributed caching (oplock), optional packet signing, Unicode and other internationalization improvements. If you need to mount to Samba or Windows from this machine, say Y. config CIFS_STATS bool "CIFS statistics" depends on CIFS help Enabling this option will cause statistics for each server share mounted by the cifs client to be displayed in /proc/fs/cifs/Stats config CIFS_STATS2 bool "Extended statistics" depends on CIFS_STATS help Enabling this option will allow more detailed statistics on SMB request timing to be displayed in /proc/fs/cifs/DebugData and also allow optional logging of slow responses to dmesg (depending on the value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details). These additional statistics may have a minor effect on performance and memory utilization. Unless you are a developer or are doing network performance analysis or tuning, say N. config CIFS_WEAK_PW_HASH bool "Support legacy servers which use weaker LANMAN security" depends on CIFS help Modern CIFS servers including Samba and most Windows versions (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos) security mechanisms. These hash the password more securely than the mechanisms used in the older LANMAN version of the SMB protocol but LANMAN based authentication is needed to establish sessions with some old SMB servers. Enabling this option allows the cifs module to mount to older LANMAN based servers such as OS/2 and Windows 95, but such mounts may be less secure than mounts using NTLM or more recent security mechanisms if you are on a public network. Unless you have a need to access old SMB servers (and are on a private network) you probably want to say N. Even if this support is enabled in the kernel build, LANMAN authentication will not be used automatically. At runtime LANMAN mounts are disabled but can be set to required (or optional) either in /proc/fs/cifs (see fs/cifs/README for more detail) or via an option on the mount command. This support is disabled by default in order to reduce the possibility of a downgrade attack. If unsure, say N. config CIFS_UPCALL bool "Kerberos/SPNEGO advanced session setup" depends on CIFS && KEYS select DNS_RESOLVER help Enables an upcall mechanism for CIFS which accesses userspace helper utilities to provide SPNEGO packaged (RFC 4178) Kerberos tickets which are needed to mount to certain secure servers (for which more secure Kerberos authentication is required). If unsure, say N. config CIFS_XATTR bool "CIFS extended attributes" depends on CIFS help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). CIFS maps the name of extended attributes beginning with the user namespace prefix to SMB/CIFS EAs. EAs are stored on Windows servers without the user namespace prefix, but their names are seen by Linux cifs clients prefaced by the user namespace prefix. The system namespace (used by some filesystems to store ACLs) is not supported at this time. If unsure, say N. config CIFS_POSIX bool "CIFS POSIX Extensions" depends on CIFS_XATTR help Enabling this option will cause the cifs client to attempt to negotiate a newer dialect with servers, such as Samba 3.0.5 or later, that optionally can handle more POSIX like (rather than Windows like) file behavior. It also enables support for POSIX ACLs (getfacl and setfacl) to servers (such as Samba 3.10 and later) which can negotiate CIFS POSIX ACL support. If unsure, say N. config CIFS_ACL bool "Provide CIFS ACL support" depends on CIFS_XATTR && KEYS help Allows fetching CIFS/NTFS ACL from the server. The DACL blob is handed over to the application/caller. config CIFS_DEBUG bool "Enable CIFS debugging routines" default y depends on CIFS help Enabling this option adds helpful debugging messages to the cifs code which increases the size of the cifs module. If unsure, say Y. config CIFS_DEBUG2 bool "Enable additional CIFS debugging routines" depends on CIFS_DEBUG help Enabling this option adds a few more debugging routines to the cifs code which slightly increases the size of the cifs module and can cause additional logging of debug messages in some error paths, slowing performance. This option can be turned off unless you are debugging cifs problems. If unsure, say N. config CIFS_DFS_UPCALL bool "DFS feature support" depends on CIFS && KEYS select DNS_RESOLVER help Distributed File System (DFS) support is used to access shares transparently in an enterprise name space, even if the share moves to a different server. This feature also enables an upcall mechanism for CIFS which contacts userspace helper utilities to provide server name resolution (host names to IP addresses) which is needed for implicit mounts of DFS junction points. If unsure, say N. config CIFS_NFSD_EXPORT bool "Allow nfsd to export CIFS file system" depends on CIFS && BROKEN help Allows NFS server to export a CIFS mounted share (nfsd over cifs) config CIFS_SMB2 bool "SMB2 network file system support" depends on CIFS && INET select NLS select KEYS select FSCACHE select DNS_RESOLVER help This enables experimental support for the SMB2 (Server Message Block version 2) protocol. The SMB2 protocol is the successor to the popular CIFS and SMB network file sharing protocols. SMB2 is the native file sharing mechanism for recent versions of Windows operating systems (since Vista). SMB2 enablement will eventually allow users better performance, security and features, than would be possible with cifs. Note that smb2 mount options also are simpler (compared to cifs) due to protocol improvements. Unless you are a developer or tester, say N. config CIFS_FSCACHE bool "Provide CIFS client caching support" depends on CIFS=m && FSCACHE || CIFS=y && FSCACHE=y help Makes CIFS FS-Cache capable. Say Y here if you want your CIFS data to be cached locally on disk through the general filesystem cache manager. If unsure, say N. config CODA_FS tristate "Coda file system support (advanced network fs)" depends on INET help Coda is an advanced network file system, similar to NFS in that it enables you to mount file systems of a remote server and access them with regular Unix commands as if they were sitting on your hard disk. Coda has several advantages over NFS: support for disconnected operation (e.g. for laptops), read/write server replication, security model for authentication and encryption, persistent client caches and write back caching. If you say Y here, your Linux box will be able to act as a Coda *client*. You will need user level code as well, both for the client and server. Servers are currently user level, i.e. they need no kernel support. Please read and check out the Coda home page . To compile the coda client support as a module, choose M here: the module will be called coda. config CONFIGFS_FS tristate "Userspace-driven configuration filesystem" select SYSFS help configfs is a RAM-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other. config CRAMFS tristate "Compressed ROM file system support (cramfs) (OBSOLETE)" depends on BLOCK select ZLIB_INFLATE help Saying Y here includes support for CramFs (Compressed ROM File System). CramFs is designed to be a simple, small, and compressed file system for ROM based embedded systems. CramFs is read-only, limited to 256MB file systems (with 16MB files), and doesn't support 16/32 bits uid/gid, hard links and timestamps. See and for further information. To compile this as a module, choose M here: the module will be called cramfs. Note that the root file system (the one containing the directory /) cannot be compiled as a module. This filesystem is obsoleted by SquashFS, which is much better in terms of performance and features. If unsure, say N. menuconfig DLM tristate "Distributed Lock Manager (DLM)" depends on INET depends on SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n) select IP_SCTP help A general purpose distributed lock manager for kernel or userspace applications. config DLM_DEBUG bool "DLM debugging" depends on DLM help Under the debugfs mount point, the name of each lockspace will appear as a file in the "dlm" directory. The output is the list of resource and locks the local node knows about. config ECRYPT_FS tristate "eCrypt filesystem layer support" depends on KEYS && CRYPTO && (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n) select CRYPTO_ECB select CRYPTO_CBC select CRYPTO_MD5 help Encrypted filesystem that operates on the VFS layer. See to learn more about eCryptfs. Userspace components are required and can be obtained from . To compile this file system support as a module, choose M here: the module will be called ecryptfs. config ECRYPT_FS_MESSAGING bool "Enable notifications for userspace key wrap/unwrap" depends on ECRYPT_FS help Enables the /dev/ecryptfs entry for use by ecryptfsd. This allows for userspace to wrap/unwrap file encryption keys by other backends, like OpenSSL. config EFIVAR_FS tristate "EFI Variable filesystem" depends on EFI help efivarfs is a replacement filesystem for the old EFI variable support via sysfs, as it doesn't suffer from the same 1024-byte variable size limit. To compile this file system support as a module, choose M here. The module will be called efivarfs. If unsure, say N. config EFS_FS tristate "EFS file system support (read only)" depends on BLOCK help EFS is an older file system used for non-ISO9660 CD-ROMs and hard disk partitions by SGI's IRIX operating system (IRIX 6.0 and newer uses the XFS file system for hard disk partitions however). This implementation only offers read-only access. If you don't know what all this is about, it's safe to say N. For more information about EFS see its home page at . To compile the EFS file system support as a module, choose M here: the module will be called efs. config EXOFS_FS tristate "exofs: OSD based file system support" depends on SCSI_OSD_ULD help EXOFS is a file system that uses an OSD storage device, as its backing storage. # Debugging-related stuff config EXOFS_DEBUG bool "Enable debugging" depends on EXOFS_FS help This option enables EXOFS debug prints. config EXT2_FS tristate "Second extended fs support" help Ext2 is a standard Linux file system for hard disks. To compile this file system support as a module, choose M here: the module will be called ext2. If unsure, say Y. config EXT2_FS_XATTR bool "Ext2 extended attributes" depends on EXT2_FS help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). If unsure, say N. config EXT2_FS_POSIX_ACL bool "Ext2 POSIX Access Control Lists" depends on EXT2_FS_XATTR select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the Posix ACLs for Linux website . If you don't know what Access Control Lists are, say N config EXT2_FS_SECURITY bool "Ext2 Security Labels" depends on EXT2_FS_XATTR help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the ext2 filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config EXT2_FS_XIP bool "Ext2 execute in place support" depends on EXT2_FS && MMU help Execute in place can be used on memory-backed block devices. If you enable this option, you can select to mount block devices which are capable of this feature without using the page cache. If you do not use a block device that is capable of using this, or if unsure, say N. config EXT3_FS tristate "Ext3 journalling file system support" select JBD help This is the journalling version of the Second extended file system (often called ext3), the de facto standard Linux file system (method to organize files on a storage device) for hard disks. The journalling code included in this driver means you do not have to run e2fsck (file system checker) on your file systems after a crash. The journal keeps track of any changes that were being made at the time the system crashed, and can ensure that your file system is consistent without the need for a lengthy check. Other than adding the journal to the file system, the on-disk format of ext3 is identical to ext2. It is possible to freely switch between using the ext3 driver and the ext2 driver, as long as the file system has been cleanly unmounted, or e2fsck is run on the file system. To add a journal on an existing ext2 file system or change the behavior of ext3 file systems, you can use the tune2fs utility ("man tune2fs"). To modify attributes of files and directories on ext3 file systems, use chattr ("man chattr"). You need to be using e2fsprogs version 1.20 or later in order to create ext3 journals (available at ). To compile this file system support as a module, choose M here: the module will be called ext3. config EXT3_DEFAULTS_TO_ORDERED bool "Default to 'data=ordered' in ext3" depends on EXT3_FS default y help The journal mode options for ext3 have different tradeoffs between when data is guaranteed to be on disk and performance. The use of "data=writeback" can cause unwritten data to appear in files after an system crash or power failure, which can be a security issue. However, "data=ordered" mode can also result in major performance problems, including seconds-long delays before an fsync() call returns. For details, see: http://ext4.wiki.kernel.org/index.php/Ext3_data_mode_tradeoffs If you have been historically happy with ext3's performance, data=ordered mode will be a safe choice and you should answer 'y' here. If you understand the reliability and data privacy issues of data=writeback and are willing to make that trade off, answer 'n'. config EXT3_FS_XATTR bool "Ext3 extended attributes" depends on EXT3_FS default y help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). If unsure, say N. You need this for POSIX ACL support on ext3. config EXT3_FS_POSIX_ACL bool "Ext3 POSIX Access Control Lists" depends on EXT3_FS_XATTR select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the Posix ACLs for Linux website . If you don't know what Access Control Lists are, say N config EXT3_FS_SECURITY bool "Ext3 Security Labels" depends on EXT3_FS_XATTR help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the ext3 filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config EXT4_FS tristate "The Extended 4 (ext4) filesystem" select JBD2 select CRC16 select CRYPTO select CRYPTO_CRC32C help This is the next generation of the ext3 filesystem. Unlike the change from ext2 filesystem to ext3 filesystem, the on-disk format of ext4 is not forwards compatible with ext3; it is based on extent maps and it supports 48-bit physical block numbers. The ext4 filesystem also supports delayed allocation, persistent preallocation, high resolution time stamps, and a number of other features to improve performance and speed up fsck time. For more information, please see the web pages at http://ext4.wiki.kernel.org. The ext4 filesystem will support mounting an ext3 filesystem; while there will be some performance gains from the delayed allocation and inode table readahead, the best performance gains will require enabling ext4 features in the filesystem, or formatting a new filesystem as an ext4 filesystem initially. To compile this file system support as a module, choose M here. The module will be called ext4. If unsure, say N. config EXT4_USE_FOR_EXT23 bool "Use ext4 for ext2/ext3 file systems" depends on EXT4_FS depends on EXT3_FS=n || EXT2_FS=n default y help Allow the ext4 file system driver code to be used for ext2 or ext3 file system mounts. This allows users to reduce their compiled kernel size by using one file system driver for ext2, ext3, and ext4 file systems. config EXT4_FS_POSIX_ACL bool "Ext4 POSIX Access Control Lists" depends on EXT4_FS select FS_POSIX_ACL help POSIX Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . If you don't know what Access Control Lists are, say N config EXT4_FS_SECURITY bool "Ext4 Security Labels" depends on EXT4_FS help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the ext4 filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config EXT4_DEBUG bool "EXT4 debugging support" depends on EXT4_FS help Enables run-time debugging support for the ext4 filesystem. If you select Y here, then you will be able to turn on debugging with a command such as: echo 1 > /sys/module/ext4/parameters/mballoc_debug config F2FS_FS tristate "F2FS filesystem support (EXPERIMENTAL)" depends on BLOCK help F2FS is based on Log-structured File System (LFS), which supports versatile "flash-friendly" features. The design has been focused on addressing the fundamental issues in LFS, which are snowball effect of wandering tree and high cleaning overhead. Since flash-based storages show different characteristics according to the internal geometry or flash memory management schemes aka FTL, F2FS and tools support various parameters not only for configuring on-disk layout, but also for selecting allocation and cleaning algorithms. If unsure, say N. config F2FS_STAT_FS bool "F2FS Status Information" depends on F2FS_FS && DEBUG_FS default y help /sys/kernel/debug/f2fs/ contains information about all the partitions mounted as f2fs. Each file shows the whole f2fs information. /sys/kernel/debug/f2fs/status includes: - major file system information managed by f2fs currently - average SIT information about whole segments - current memory footprint consumed by f2fs. config F2FS_FS_XATTR bool "F2FS extended attributes" depends on F2FS_FS default y help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). If unsure, say N. config F2FS_FS_POSIX_ACL bool "F2FS Access Control Lists" depends on F2FS_FS_XATTR select FS_POSIX_ACL default y help Posix Access Control Lists (ACLs) support permissions for users and gourps beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . If you don't know what Access Control Lists are, say N config F2FS_FS_SECURITY bool "F2FS Security Labels" depends on F2FS_FS_XATTR help Security labels provide an access control facility to support Linux Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO Linux. This option enables an extended attribute handler for file security labels in the f2fs filesystem, so that it requires enabling the extended attribute support in advance. If you are not using a security module, say N. config F2FS_CHECK_FS bool "F2FS consistency checking feature" depends on F2FS_FS help Enables BUG_ONs which check the file system consistency in runtime. If you want to improve the performance, say N. config FAT_FS tristate select NLS help If you want to use one of the FAT-based file systems (the MS-DOS and VFAT (Windows 95) file systems), then you must say Y or M here to include FAT support. You will then be able to mount partitions or diskettes with FAT-based file systems and transparently access the files on them, i.e. MSDOS files will look and behave just like all other Unix files. This FAT support is not a file system in itself, it only provides the foundation for the other file systems. You will have to say Y or M to at least one of "MSDOS fs support" or "VFAT fs support" in order to make use of it. Another way to read and write MSDOS floppies and hard drive partitions from within Linux (but not transparently) is with the mtools ("man mtools") program suite. You don't need to say Y here in order to do that. If you need to move large files on floppies between a DOS and a Linux box, say Y here, mount the floppy under Linux with an MSDOS file system and use GNU tar's M option. GNU tar is a program available for Unix and DOS ("man tar" or "info tar"). The FAT support will enlarge your kernel by about 37 KB. If unsure, say Y. To compile this as a module, choose M here: the module will be called fat. Note that if you compile the FAT support as a module, you cannot compile any of the FAT-based file systems into the kernel -- they will have to be modules as well. config MSDOS_FS tristate "MSDOS fs support" select FAT_FS help This allows you to mount MSDOS partitions of your hard drive (unless they are compressed; to access compressed MSDOS partitions under Linux, you can either use the DOS emulator DOSEMU, described in the DOSEMU-HOWTO, available from , or try dmsdosfs in . If you intend to use dosemu with a non-compressed MSDOS partition, say Y here) and MSDOS floppies. This means that file access becomes transparent, i.e. the MSDOS files look and behave just like all other Unix files. If you have Windows 95 or Windows NT installed on your MSDOS partitions, you should use the VFAT file system (say Y to "VFAT fs support" below), or you will not be able to see the long filenames generated by Windows 95 / Windows NT. This option will enlarge your kernel by about 7 KB. If unsure, answer Y. This will only work if you said Y to "DOS FAT fs support" as well. To compile this as a module, choose M here: the module will be called msdos. config VFAT_FS tristate "VFAT (Windows-95) fs support" select FAT_FS help This option provides support for normal Windows file systems with long filenames. That includes non-compressed FAT-based file systems used by Windows 95, Windows 98, Windows NT 4.0, and the Unix programs from the mtools package. The VFAT support enlarges your kernel by about 10 KB and it only works if you said Y to the "DOS FAT fs support" above. Please read the file for details. If unsure, say Y. To compile this as a module, choose M here: the module will be called vfat. config FAT_DEFAULT_CODEPAGE int "Default codepage for FAT" depends on MSDOS_FS || VFAT_FS default 437 help This option should be set to the codepage of your FAT filesystems. It can be overridden with the "codepage" mount option. See for more information. config FAT_DEFAULT_IOCHARSET string "Default iocharset for FAT" depends on VFAT_FS default "iso8859-1" help Set this to the default input/output character set you'd like FAT to use. It should probably match the character set that most of your FAT filesystems use, and can be overridden with the "iocharset" mount option for FAT filesystems. Note that "utf8" is not recommended for FAT filesystems. If unsure, you shouldn't set "utf8" here. See for more information. Enable any character sets you need in File Systems/Native Language Support. config VXFS_FS tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" depends on BLOCK help FreeVxFS is a file system driver that support the VERITAS VxFS(TM) file system format. VERITAS VxFS(TM) is the standard file system of SCO UnixWare (and possibly others) and optionally available for Sunsoft Solaris, HP-UX and many other operating systems. Currently only readonly access is supported. NOTE: the file system type as used by mount(1), mount(2) and fstab(5) is 'vxfs' as it describes the file system format, not the actual driver. To compile this as a module, choose M here: the module will be called freevxfs. If unsure, say N. config FSCACHE tristate "General filesystem local caching manager" help This option enables a generic filesystem caching manager that can be used by various network and other filesystems to cache data locally. Different sorts of caches can be plugged in, depending on the resources available. See Documentation/filesystems/caching/fscache.txt for more information. config FSCACHE_STATS bool "Gather statistical information on local caching" depends on FSCACHE && PROC_FS help This option causes statistical information to be gathered on local caching and exported through file: /proc/fs/fscache/stats The gathering of statistics adds a certain amount of overhead to execution as there are a quite a few stats gathered, and on a multi-CPU system these may be on cachelines that keep bouncing between CPUs. On the other hand, the stats are very useful for debugging purposes. Saying 'Y' here is recommended. See Documentation/filesystems/caching/fscache.txt for more information. config FSCACHE_HISTOGRAM bool "Gather latency information on local caching" depends on FSCACHE && PROC_FS help This option causes latency information to be gathered on local caching and exported through file: /proc/fs/fscache/histogram The generation of this histogram adds a certain amount of overhead to execution as there are a number of points at which data is gathered, and on a multi-CPU system these may be on cachelines that keep bouncing between CPUs. On the other hand, the histogram may be useful for debugging purposes. Saying 'N' here is recommended. See Documentation/filesystems/caching/fscache.txt for more information. config FSCACHE_DEBUG bool "Debug FS-Cache" depends on FSCACHE help This permits debugging to be dynamically enabled in the local caching management module. If this is set, the debugging output may be enabled by setting bits in /sys/modules/fscache/parameter/debug. See Documentation/filesystems/caching/fscache.txt for more information. config FSCACHE_OBJECT_LIST bool "Maintain global object list for debugging purposes" depends on FSCACHE && PROC_FS help Maintain a global list of active fscache objects that can be retrieved through /proc/fs/fscache/objects for debugging purposes config FUSE_FS tristate "FUSE (Filesystem in Userspace) support" help With FUSE it is possible to implement a fully functional filesystem in a userspace program. There's also a companion library: libfuse2. This library is available from the FUSE homepage: although chances are your distribution already has that library installed if you've installed the "fuse" package itself. See for more information. See for needed library/utility version. If you want to develop a userspace FS, or if you want to use a filesystem based on FUSE, answer Y or M. config CUSE tristate "Character device in Userspace support" depends on FUSE_FS help This FUSE extension allows character devices to be implemented in userspace. If you want to develop or use a userspace character device based on CUSE, answer Y or M. config GFS2_FS tristate "GFS2 file system support" depends on (64BIT || LBDAF) select FS_POSIX_ACL select CRC32 select QUOTACTL help A cluster filesystem. Allows a cluster of computers to simultaneously use a block device that is shared between them (with FC, iSCSI, NBD, etc...). GFS reads and writes to the block device like a local filesystem, but also uses a lock module to allow the computers coordinate their I/O so filesystem consistency is maintained. One of the nifty features of GFS is perfect consistency -- changes made to the filesystem on one machine show up immediately on all other machines in the cluster. To use the GFS2 filesystem in a cluster, you will need to enable the locking module below. Documentation and utilities for GFS2 can be found here: http://sources.redhat.com/cluster The "nolock" lock module is now built in to GFS2 by default. If you want to use the DLM, be sure to enable IPv4/6 networking. config GFS2_FS_LOCKING_DLM bool "GFS2 DLM locking" depends on (GFS2_FS!=n) && NET && INET && (IPV6 || IPV6=n) && \ CONFIGFS_FS && SYSFS && (DLM=y || DLM=GFS2_FS) help Multiple node locking module for GFS2 Most users of GFS2 will require this. It provides the locking interface between GFS2 and the DLM, which is required to use GFS2 in a cluster environment. config HFS_FS tristate "Apple Macintosh file system support" depends on BLOCK select NLS help If you say Y here, you will be able to mount Macintosh-formatted floppy disks and hard drive partitions with full read-write access. Please read to learn about the available mount options. To compile this file system support as a module, choose M here: the module will be called hfs. config HFSPLUS_FS tristate "Apple Extended HFS file system support" depends on BLOCK select NLS select NLS_UTF8 help If you say Y here, you will be able to mount extended format Macintosh-formatted hard drive partitions with full read-write access. This file system is often called HFS+ and was introduced with MacOS 8. It includes all Mac specific filesystem data such as data forks and creator codes, but it also has several UNIX style features such as file ownership and permissions. config HFSPLUS_FS_POSIX_ACL bool "HFS+ POSIX Access Control Lists" depends on HFSPLUS_FS select FS_POSIX_ACL help POSIX Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . It needs to understand that POSIX ACLs are treated only under Linux. POSIX ACLs doesn't mean something under Mac OS X. Mac OS X beginning with version 10.4 ("Tiger") support NFSv4 ACLs, which are part of the NFSv4 standard. If you don't know what Access Control Lists are, say N config HPFS_FS tristate "OS/2 HPFS file system support" depends on BLOCK help OS/2 is IBM's operating system for PC's, the same as Warp, and HPFS is the file system used for organizing files on OS/2 hard disk partitions. Say Y if you want to be able to read files from and write files to an OS/2 HPFS partition on your hard drive. OS/2 floppies however are in regular MSDOS format, so you don't need this option in order to be able to read them. Read . To compile this file system support as a module, choose M here: the module will be called hpfs. If unsure, say N. config ISO9660_FS tristate "ISO 9660 CDROM file system support" help This is the standard file system used on CD-ROMs. It was previously known as "High Sierra File System" and is called "hsfs" on other Unix systems. The so-called Rock-Ridge extensions which allow for long Unix filenames and symbolic links are also supported by this driver. If you have a CD-ROM drive and want to do more with it than just listen to audio CDs and watch its LEDs, say Y (and read and the CD-ROM-HOWTO, available from ), thereby enlarging your kernel by about 27 KB; otherwise say N. To compile this file system support as a module, choose M here: the module will be called isofs. config JOLIET bool "Microsoft Joliet CDROM extensions" depends on ISO9660_FS select NLS help Joliet is a Microsoft extension for the ISO 9660 CD-ROM file system which allows for long filenames in unicode format (unicode is the new 16 bit character code, successor to ASCII, which encodes the characters of almost all languages of the world; see for more information). Say Y here if you want to be able to read Joliet CD-ROMs under Linux. config ZISOFS bool "Transparent decompression extension" depends on ISO9660_FS select ZLIB_INFLATE help This is a Linux-specific extension to RockRidge which lets you store data in compressed form on a CD-ROM and have it transparently decompressed when the CD-ROM is accessed. See for the tools necessary to create such a filesystem. Say Y here if you want to be able to read such compressed CD-ROMs. config JBD tristate help This is a generic journalling layer for block devices. It is currently used by the ext3 file system, but it could also be used to add journal support to other file systems or block devices such as RAID or LVM. If you are using the ext3 file system, you need to say Y here. If you are not using ext3 then you will probably want to say N. To compile this device as a module, choose M here: the module will be called jbd. If you are compiling ext3 into the kernel, you cannot compile this code as a module. config JBD_DEBUG bool "JBD (ext3) debugging support" depends on JBD && DEBUG_FS help If you are using the ext3 journaled file system (or potentially any other file system/device using JBD), this option allows you to enable debugging output while the system is running, in order to help track down any problems you are having. By default the debugging output will be turned off. If you select Y here, then you will be able to turn on debugging with "echo N > /sys/kernel/debug/jbd/jbd-debug", where N is a number between 1 and 5, the higher the number, the more debugging output is generated. To turn debugging off again, do "echo 0 > /sys/kernel/debug/jbd/jbd-debug". config JBD2 tristate select CRC32 select CRYPTO select CRYPTO_CRC32C help This is a generic journaling layer for block devices that support both 32-bit and 64-bit block numbers. It is currently used by the ext4 and OCFS2 filesystems, but it could also be used to add journal support to other file systems or block devices such as RAID or LVM. If you are using ext4 or OCFS2, you need to say Y here. If you are not using ext4 or OCFS2 then you will probably want to say N. To compile this device as a module, choose M here. The module will be called jbd2. If you are compiling ext4 or OCFS2 into the kernel, you cannot compile this code as a module. config JBD2_DEBUG bool "JBD2 (ext4) debugging support" depends on JBD2 help If you are using the ext4 journaled file system (or potentially any other filesystem/device using JBD2), this option allows you to enable debugging output while the system is running, in order to help track down any problems you are having. By default, the debugging output will be turned off. If you select Y here, then you will be able to turn on debugging with "echo N > /sys/module/jbd2/parameters/jbd2_debug", where N is a number between 1 and 5. The higher the number, the more debugging output is generated. To turn debugging off again, do "echo 0 > /sys/module/jbd2/parameters/jbd2_debug". config JFFS2_FS tristate "Journalling Flash File System v2 (JFFS2) support" select CRC32 depends on MTD help JFFS2 is the second generation of the Journalling Flash File System for use on diskless embedded devices. It provides improved wear levelling, compression and support for hard links. You cannot use this on normal block devices, only on 'MTD' devices. Further information on the design and implementation of JFFS2 is available at . config JFFS2_FS_DEBUG int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" depends on JFFS2_FS default "0" help This controls the amount of debugging messages produced by the JFFS2 code. Set it to zero for use in production systems. For evaluation, testing and debugging, it's advisable to set it to one. This will enable a few assertions and will print debugging messages at the KERN_DEBUG loglevel, where they won't normally be visible. Level 2 is unlikely to be useful - it enables extra debugging in certain areas which at one point needed debugging, but when the bugs were located and fixed, the detailed messages were relegated to level 2. If reporting bugs, please try to have available a full dump of the messages at debug level 1 while the misbehaviour was occurring. config JFFS2_FS_WRITEBUFFER bool "JFFS2 write-buffering support" depends on JFFS2_FS default y help This enables the write-buffering support in JFFS2. This functionality is required to support JFFS2 on the following types of flash devices: - NAND flash - NOR flash with transparent ECC - DataFlash config JFFS2_FS_WBUF_VERIFY bool "Verify JFFS2 write-buffer reads" depends on JFFS2_FS_WRITEBUFFER default n help This causes JFFS2 to read back every page written through the write-buffer, and check for errors. config JFFS2_SUMMARY bool "JFFS2 summary support" depends on JFFS2_FS default n help This feature makes it possible to use summary information for faster filesystem mount. The summary information can be inserted into a filesystem image by the utility 'sumtool'. If unsure, say 'N'. config JFFS2_FS_XATTR bool "JFFS2 XATTR support" depends on JFFS2_FS default n help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). If unsure, say N. config JFFS2_FS_POSIX_ACL bool "JFFS2 POSIX Access Control Lists" depends on JFFS2_FS_XATTR default y select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the Posix ACLs for Linux website . If you don't know what Access Control Lists are, say N config JFFS2_FS_SECURITY bool "JFFS2 Security Labels" depends on JFFS2_FS_XATTR default y help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the jffs2 filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config JFFS2_COMPRESSION_OPTIONS bool "Advanced compression options for JFFS2" depends on JFFS2_FS default n help Enabling this option allows you to explicitly choose which compression modules, if any, are enabled in JFFS2. Removing compressors can mean you cannot read existing file systems, and enabling experimental compressors can mean that you write a file system which cannot be read by a standard kernel. If unsure, you should _definitely_ say 'N'. config JFFS2_ZLIB bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS select ZLIB_INFLATE select ZLIB_DEFLATE depends on JFFS2_FS default y help Zlib is designed to be a free, general-purpose, legally unencumbered, lossless data-compression library for use on virtually any computer hardware and operating system. See for further information. Say 'Y' if unsure. config JFFS2_LZO bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS select LZO_COMPRESS select LZO_DECOMPRESS depends on JFFS2_FS default n help minilzo-based compression. Generally works better than Zlib. This feature was added in July, 2007. Say 'N' if you need compatibility with older bootloaders or kernels. config JFFS2_RTIME bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default y help Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. config JFFS2_RUBIN bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default n help RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. choice prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS default JFFS2_CMODE_PRIORITY depends on JFFS2_FS help You can set here the default compression mode of JFFS2 from the available compression modes. Don't touch if unsure. config JFFS2_CMODE_NONE bool "no compression" help Uses no compression. config JFFS2_CMODE_PRIORITY bool "priority" help Tries the compressors in a predefined order and chooses the first successful one. config JFFS2_CMODE_SIZE bool "size" help Tries all compressors and chooses the one which has the smallest result. config JFFS2_CMODE_FAVOURLZO bool "Favour LZO" help Tries all compressors and chooses the one which has the smallest result but gives some preference to LZO (which has faster decompression) at the expense of size. endchoice config JFS_FS tristate "JFS filesystem support" select NLS select CRC32 help This is a port of IBM's Journaled Filesystem . More information is available in the file . If you do not intend to use the JFS filesystem, say N. config JFS_POSIX_ACL bool "JFS POSIX Access Control Lists" depends on JFS_FS select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the Posix ACLs for Linux website . If you don't know what Access Control Lists are, say N config JFS_SECURITY bool "JFS Security Labels" depends on JFS_FS help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the jfs filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config JFS_DEBUG bool "JFS debugging" depends on JFS_FS help If you are experiencing any problems with the JFS filesystem, say Y here. This will result in additional debugging messages to be written to the system log. Under normal circumstances, this results in very little overhead. config JFS_STATISTICS bool "JFS statistics" depends on JFS_FS help Enabling this option will cause statistics from the JFS file system to be made available to the user in the /proc/fs/jfs/ directory. config LOGFS tristate "LogFS file system" depends on (MTD || BLOCK) select ZLIB_INFLATE select ZLIB_DEFLATE select CRC32 select BTREE help Flash filesystem aimed to scale efficiently to large devices. In comparison to JFFS2 it offers significantly faster mount times and potentially less RAM usage, although the latter has not been measured yet. In its current state it is still very experimental and should not be used for other than testing purposes. If unsure, say N. config MINIX_FS tristate "Minix file system support" depends on BLOCK help Minix is a simple operating system used in many classes about OS's. The minix file system (method to organize files on a hard disk partition or a floppy disk) was the original file system for Linux, but has been superseded by the second extended file system ext2fs. You don't want to use the minix file system on your hard disk because of certain built-in restrictions, but it is sometimes found on older Linux floppy disks. This option will enlarge your kernel by about 28 KB. If unsure, say N. To compile this file system support as a module, choose M here: the module will be called minix. Note that the file system of your root partition (the one containing the directory /) cannot be compiled as a module. config MINIX_FS_NATIVE_ENDIAN def_bool MINIX_FS depends on M32R || MICROBLAZE || MIPS || S390 || SUPERH || SPARC || XTENSA || (M68K && !MMU) config MINIX_FS_BIG_ENDIAN_16BIT_INDEXED def_bool MINIX_FS depends on M68K && MMU # # NCP Filesystem configuration # config NCP_FS tristate "NCP file system support (to mount NetWare volumes)" depends on IPX!=n || INET help NCP (NetWare Core Protocol) is a protocol that runs over IPX and is used by Novell NetWare clients to talk to file servers. It is to IPX what NFS is to TCP/IP, if that helps. Saying Y here allows you to mount NetWare file server volumes and to access them just like any other Unix directory. For details, please read the file in the kernel source and the IPX-HOWTO from . You do not have to say Y here if you want your Linux box to act as a file *server* for Novell NetWare clients. General information about how to connect Linux, Windows machines and Macs is on the WWW at . To compile this as a module, choose M here: the module will be called ncpfs. Say N unless you are connected to a Novell network. config NCPFS_PACKET_SIGNING bool "Packet signatures" depends on NCP_FS help NCP allows packets to be signed for stronger security. If you want security, say Y. Normal users can leave it off. To be able to use packet signing you must use ncpfs > 2.0.12. config NCPFS_IOCTL_LOCKING bool "Proprietary file locking" depends on NCP_FS help Allows locking of records on remote volumes. Say N unless you have special applications which are able to utilize this locking scheme. config NCPFS_STRONG bool "Clear remove/delete inhibit when needed" depends on NCP_FS help Allows manipulation of files flagged as Delete or Rename Inhibit. To use this feature you must mount volumes with the ncpmount parameter "-s" (ncpfs-2.0.12 and newer). Say Y unless you are not mounting volumes with -f 444. config NCPFS_NFS_NS bool "Use NFS namespace if available" depends on NCP_FS help Allows you to utilize NFS namespace on NetWare servers. It brings you case sensitive filenames. Say Y. You can disable it at mount-time with the `-N nfs' parameter of ncpmount. config NCPFS_OS2_NS bool "Use LONG (OS/2) namespace if available" depends on NCP_FS help Allows you to utilize OS2/LONG namespace on NetWare servers. Filenames in this namespace are limited to 255 characters, they are case insensitive, and case in names is preserved. Say Y. You can disable it at mount time with the -N os2 parameter of ncpmount. config NCPFS_SMALLDOS bool "Lowercase DOS filenames" depends on NCP_FS ---help--- If you say Y here, every filename on a NetWare server volume using the OS2/LONG namespace and created under DOS or on a volume using DOS namespace will be converted to lowercase characters. Saying N here will give you these filenames in uppercase. This is only a cosmetic option since the OS2/LONG namespace is case insensitive. The only major reason for this option is backward compatibility when moving from DOS to OS2/LONG namespace support. Long filenames (created by Win95) will not be affected. This option does not solve the problem that filenames appear differently under Linux and under Windows, since Windows does an additional conversions on the client side. You can achieve similar effects by saying Y to "Allow using of Native Language Support" below. config NCPFS_NLS bool "Use Native Language Support" depends on NCP_FS select NLS help Allows you to use codepages and I/O charsets for file name translation between the server file system and input/output. This may be useful, if you want to access the server with other operating systems, e.g. Windows 95. See also NLS for more Information. To select codepages and I/O charsets use ncpfs-2.2.0.13 or newer. config NCPFS_EXTRAS bool "Enable symbolic links and execute flags" depends on NCP_FS help This enables the use of symbolic links and an execute permission bit on NCPFS. The file server need not have long name space or NFS name space loaded for these to work. To use the new attributes, it is recommended to use the flags '-f 600 -d 755' on the ncpmount command line. config NFS_FS tristate "NFS client support" depends on INET && FILE_LOCKING select LOCKD select SUNRPC select NFS_ACL_SUPPORT if NFS_V3_ACL help Choose Y here if you want to access files residing on other computers using Sun's Network File System protocol. To compile this file system support as a module, choose M here: the module will be called nfs. To mount file systems exported by NFS servers, you also need to install the user space mount.nfs command which can be found in the Linux nfs-utils package, available from http://linux-nfs.org/. Information about using the mount command is available in the mount(8) man page. More detail about the Linux NFS client implementation is available via the nfs(5) man page. Below you can choose which versions of the NFS protocol are available in the kernel to mount NFS servers. Support for NFS version 2 (RFC 1094) is always available when NFS_FS is selected. To configure a system which mounts its root file system via NFS at boot time, say Y here, select "Kernel level IP autoconfiguration" in the NETWORK menu, and select "Root file system on NFS" below. You cannot compile this file system as a module in this case. If unsure, say N. config NFS_V2 tristate "NFS client support for NFS version 2" depends on NFS_FS default y help This option enables support for version 2 of the NFS protocol (RFC 1094) in the kernel's NFS client. If unsure, say Y. config NFS_V3 tristate "NFS client support for NFS version 3" depends on NFS_FS default y help This option enables support for version 3 of the NFS protocol (RFC 1813) in the kernel's NFS client. If unsure, say Y. config NFS_V3_ACL bool "NFS client support for the NFSv3 ACL protocol extension" depends on NFS_V3 help Some NFS servers support an auxiliary NFSv3 ACL protocol that Sun added to Solaris but never became an official part of the NFS version 3 protocol. This protocol extension allows applications on NFS clients to manipulate POSIX Access Control Lists on files residing on NFS servers. NFS servers enforce ACLs on local files whether this protocol is available or not. Choose Y here if your NFS server supports the Solaris NFSv3 ACL protocol extension and you want your NFS client to allow applications to access and modify ACLs on files on the server. Most NFS servers don't support the Solaris NFSv3 ACL protocol extension. You can choose N here or specify the "noacl" mount option to prevent your NFS client from trying to use the NFSv3 ACL protocol. If unsure, say N. config NFS_V4 tristate "NFS client support for NFS version 4" depends on NFS_FS select SUNRPC_GSS select KEYS help This option enables support for version 4 of the NFS protocol (RFC 3530) in the kernel's NFS client. To mount NFS servers using NFSv4, you also need to install user space programs which can be found in the Linux nfs-utils package, available from http://linux-nfs.org/. If unsure, say Y. config NFS_SWAP bool "Provide swap over NFS support" default n depends on NFS_FS select SUNRPC_SWAP help This option enables swapon to work on files located on NFS mounts. config NFS_V4_1 bool "NFS client support for NFSv4.1" depends on NFS_V4 select SUNRPC_BACKCHANNEL help This option enables support for minor version 1 of the NFSv4 protocol (RFC 5661) in the kernel's NFS client. If unsure, say N. config NFS_V4_2 bool "NFS client support for NFSv4.2" depends on NFS_V4_1 help This option enables support for minor version 2 of the NFSv4 protocol in the kernel's NFS client. If unsure, say N. config PNFS_FILE_LAYOUT tristate depends on NFS_V4_1 default NFS_V4 config PNFS_BLOCK tristate depends on NFS_V4_1 && BLK_DEV_DM default NFS_V4 config PNFS_OBJLAYOUT tristate depends on NFS_V4_1 && SCSI_OSD_ULD default NFS_V4 config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN string "NFSv4.1 Implementation ID Domain" depends on NFS_V4_1 default "kernel.org" help This option defines the domain portion of the implementation ID that may be sent in the NFS exchange_id operation. The value must be in the format of a DNS domain name and should be set to the DNS domain name of the distribution. If the NFS client is unchanged from the upstream kernel, this option should be set to the default "kernel.org". config NFS_V4_1_MIGRATION bool "NFSv4.1 client support for migration" depends on NFS_V4_1 default n help This option makes the NFS client advertise to NFSv4.1 servers that it can support NFSv4 migration. The NFSv4.1 pieces of the Linux NFSv4 migration implementation are still experimental. If you are not an NFSv4 developer, say N here. config NFS_V4_SECURITY_LABEL bool depends on NFS_V4_2 && SECURITY default y config ROOT_NFS bool "Root file system on NFS" depends on NFS_FS=y && IP_PNP help If you want your system to mount its root file system via NFS, choose Y here. This is common practice for managing systems without local permanent storage. For details, read . Most people say N here. config NFS_FSCACHE bool "Provide NFS client caching support" depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y help Say Y here if you want NFS data to be cached locally on disc through the general filesystem cache manager config NFS_USE_LEGACY_DNS bool "Use the legacy NFS DNS resolver" depends on NFS_V4 help The kernel now provides a method for translating a host name into an IP address. Select Y here if you would rather use your own DNS resolver script. If unsure, say N config NFS_USE_KERNEL_DNS bool depends on NFS_V4 && !NFS_USE_LEGACY_DNS select DNS_RESOLVER default y config NFS_DEBUG bool depends on NFS_FS && SUNRPC_DEBUG select CRC32 default y config NFSD tristate "NFS server support" depends on INET depends on FILE_LOCKING select LOCKD select SUNRPC select EXPORTFS select NFS_ACL_SUPPORT if NFSD_V2_ACL help Choose Y here if you want to allow other computers to access files residing on this system using Sun's Network File System protocol. To compile the NFS server support as a module, choose M here: the module will be called nfsd. You may choose to use a user-space NFS server instead, in which case you can choose N here. To export local file systems using NFS, you also need to install user space programs which can be found in the Linux nfs-utils package, available from http://linux-nfs.org/. More detail about the Linux NFS server implementation is available via the exports(5) man page. Below you can choose which versions of the NFS protocol are available to clients mounting the NFS server on this system. Support for NFS version 2 (RFC 1094) is always available when CONFIG_NFSD is selected. If unsure, say N. config NFSD_V2_ACL bool depends on NFSD config NFSD_V3 bool "NFS server support for NFS version 3" depends on NFSD help This option enables support in your system's NFS server for version 3 of the NFS protocol (RFC 1813). If unsure, say Y. config NFSD_V3_ACL bool "NFS server support for the NFSv3 ACL protocol extension" depends on NFSD_V3 select NFSD_V2_ACL help Solaris NFS servers support an auxiliary NFSv3 ACL protocol that never became an official part of the NFS version 3 protocol. This protocol extension allows applications on NFS clients to manipulate POSIX Access Control Lists on files residing on NFS servers. NFS servers enforce POSIX ACLs on local files whether this protocol is available or not. This option enables support in your system's NFS server for the NFSv3 ACL protocol extension allowing NFS clients to manipulate POSIX ACLs on files exported by your system's NFS server. NFS clients which support the Solaris NFSv3 ACL protocol can then access and modify ACLs on your NFS server. To store ACLs on your NFS server, you also need to enable ACL- related CONFIG options for your local file systems of choice. If unsure, say N. config NFSD_V4 bool "NFS server support for NFS version 4" depends on NFSD && PROC_FS select NFSD_V3 select FS_POSIX_ACL select SUNRPC_GSS select CRYPTO help This option enables support in your system's NFS server for version 4 of the NFS protocol (RFC 3530). To export files using NFSv4, you need to install additional user space programs which can be found in the Linux nfs-utils package, available from http://linux-nfs.org/. If unsure, say N. config NFSD_V4_SECURITY_LABEL bool "Provide Security Label support for NFSv4 server" depends on NFSD_V4 && SECURITY help Say Y here if you want enable fine-grained security label attribute support for NFS version 4. Security labels allow security modules like SELinux and Smack to label files to facilitate enforcement of their policies. Without this an NFSv4 mount will have the same label on each file. If you do not wish to enable fine-grained security labels SELinux or Smack policies on NFSv4 files, say N. WARNING: there is still a chance of backwards-incompatible protocol changes. For now we recommend "Y" only for developers and testers. config NFSD_FAULT_INJECTION bool "NFS server manual fault injection" depends on NFSD_V4 && DEBUG_KERNEL help This option enables support for manually injecting faults into the NFS server. This is intended to be used for testing error recovery on the NFS client. If unsure, say N. config NILFS2_FS tristate "NILFS2 file system support" select CRC32 help NILFS2 is a log-structured file system (LFS) supporting continuous snapshotting. In addition to versioning capability of the entire file system, users can even restore files mistakenly overwritten or destroyed just a few seconds ago. Since this file system can keep consistency like conventional LFS, it achieves quick recovery after system crashes. NILFS2 creates a number of checkpoints every few seconds or per synchronous write basis (unless there is no change). Users can select significant versions among continuously created checkpoints, and can change them into snapshots which will be preserved for long periods until they are changed back to checkpoints. Each snapshot is mountable as a read-only file system concurrently with its writable mount, and this feature is convenient for online backup. Some features including atime, extended attributes, and POSIX ACLs, are not supported yet. To compile this file system support as a module, choose M here: the module will be called nilfs2. If unsure, say N. # # Native language support configuration # menuconfig NLS tristate "Native language support" ---help--- The base Native Language Support. A number of filesystems depend on it (e.g. FAT, JOLIET, NT, BEOS filesystems), as well as the ability of some filesystems to use native languages (NCP, SMB). If unsure, say Y. To compile this code as a module, choose M here: the module will be called nls_base. if NLS config NLS_DEFAULT string "Default NLS Option" default "iso8859-1" ---help--- The default NLS used when mounting file system. Note, that this is the NLS used by your console, not the NLS used by a specific file system (if different) to store data (filenames) on a disk. Currently, the valid values are: big5, cp437, cp737, cp775, cp850, cp852, cp855, cp857, cp860, cp861, cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp932, cp936, cp949, cp950, cp1251, cp1255, euc-jp, euc-kr, gb2312, iso8859-1, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-9, iso8859-13, iso8859-14, iso8859-15, koi8-r, koi8-ru, koi8-u, sjis, tis-620, macroman, utf8. If you specify a wrong value, it will use the built-in NLS; compatible with iso8859-1. If unsure, specify it as "iso8859-1". config NLS_CODEPAGE_437 tristate "Codepage 437 (United States, Canada)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage that is used in the United States and parts of Canada. This is recommended. config NLS_CODEPAGE_737 tristate "Codepage 737 (Greek)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage that is used for Greek. If unsure, say N. config NLS_CODEPAGE_775 tristate "Codepage 775 (Baltic Rim)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage that is used for the Baltic Rim Languages (Latvian and Lithuanian). If unsure, say N. config NLS_CODEPAGE_850 tristate "Codepage 850 (Europe)" ---help--- The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage that is used for much of Europe -- United Kingdom, Germany, Spain, Italy, and [add more countries here]. It has some characters useful to many European languages that are not part of the US codepage 437. If unsure, say Y. config NLS_CODEPAGE_852 tristate "Codepage 852 (Central/Eastern Europe)" ---help--- The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Latin 2 codepage used by DOS for much of Central and Eastern Europe. It has all the required characters for these languages: Albanian, Croatian, Czech, English, Finnish, Hungarian, Irish, German, Polish, Romanian, Serbian (Latin transcription), Slovak, Slovenian, and Sorbian. config NLS_CODEPAGE_855 tristate "Codepage 855 (Cyrillic)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Cyrillic. config NLS_CODEPAGE_857 tristate "Codepage 857 (Turkish)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Turkish. config NLS_CODEPAGE_860 tristate "Codepage 860 (Portuguese)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Portuguese. config NLS_CODEPAGE_861 tristate "Codepage 861 (Icelandic)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Icelandic. config NLS_CODEPAGE_862 tristate "Codepage 862 (Hebrew)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Hebrew. config NLS_CODEPAGE_863 tristate "Codepage 863 (Canadian French)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Canadian French. config NLS_CODEPAGE_864 tristate "Codepage 864 (Arabic)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Arabic. config NLS_CODEPAGE_865 tristate "Codepage 865 (Norwegian, Danish)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for the Nordic European countries. config NLS_CODEPAGE_866 tristate "Codepage 866 (Cyrillic/Russian)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Cyrillic/Russian. config NLS_CODEPAGE_869 tristate "Codepage 869 (Greek)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Greek. config NLS_CODEPAGE_936 tristate "Simplified Chinese charset (CP936, GB2312)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Simplified Chinese(GBK). config NLS_CODEPAGE_950 tristate "Traditional Chinese charset (Big5)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Traditional Chinese(Big5). config NLS_CODEPAGE_932 tristate "Japanese charsets (Shift-JIS, EUC-JP)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Shift-JIS or EUC-JP. To use EUC-JP, you can use 'euc-jp' as mount option or NLS Default value during kernel configuration, instead of 'cp932'. config NLS_CODEPAGE_949 tristate "Korean charset (CP949, EUC-KR)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for UHC. config NLS_CODEPAGE_874 tristate "Thai charset (CP874, TIS-620)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Thai. config NLS_ISO8859_8 tristate "Hebrew charsets (ISO-8859-8, CP1255)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for ISO8859-8, the Hebrew character set. config NLS_CODEPAGE_1250 tristate "Windows CP1250 (Slavic/Central European Languages)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CDROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Windows CP-1250 character set, which works for most Latin-written Slavic and Central European languages: Czech, German, Hungarian, Polish, Rumanian, Croatian, Slovak, Slovene. config NLS_CODEPAGE_1251 tristate "Windows CP1251 (Bulgarian, Belarusian)" help The Microsoft FAT file system family can deal with filenames in native language character sets. These character sets are stored in so-called DOS codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on DOS/Windows partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the DOS codepage for Russian and Bulgarian and Belarusian. config NLS_ASCII tristate "ASCII (United States)" help An ASCII NLS module is needed if you want to override the DEFAULT NLS with this very basic charset and don't want any non-ASCII characters to be translated. config NLS_ISO8859_1 tristate "NLS ISO 8859-1 (Latin 1; Western European Languages)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 1 character set, which covers most West European languages such as Albanian, Catalan, Danish, Dutch, English, Faeroese, Finnish, French, German, Galician, Irish, Icelandic, Italian, Norwegian, Portuguese, Spanish, and Swedish. It is also the default for the US. If unsure, say Y. config NLS_ISO8859_2 tristate "NLS ISO 8859-2 (Latin 2; Slavic/Central European Languages)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 2 character set, which works for most Latin-written Slavic and Central European languages: Czech, German, Hungarian, Polish, Rumanian, Croatian, Slovak, Slovene. config NLS_ISO8859_3 tristate "NLS ISO 8859-3 (Latin 3; Esperanto, Galician, Maltese, Turkish)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 3 character set, which is popular with authors of Esperanto, Galician, Maltese, and Turkish. config NLS_ISO8859_4 tristate "NLS ISO 8859-4 (Latin 4; old Baltic charset)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 4 character set which introduces letters for Estonian, Latvian, and Lithuanian. It is an incomplete predecessor of Latin 7. config NLS_ISO8859_5 tristate "NLS ISO 8859-5 (Cyrillic)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for ISO8859-5, a Cyrillic character set with which you can type Bulgarian, Belarusian, Macedonian, Russian, Serbian, and Ukrainian. Note that the charset KOI8-R is preferred in Russia. config NLS_ISO8859_6 tristate "NLS ISO 8859-6 (Arabic)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for ISO8859-6, the Arabic character set. config NLS_ISO8859_7 tristate "NLS ISO 8859-7 (Modern Greek)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for ISO8859-7, the Modern Greek character set. config NLS_ISO8859_9 tristate "NLS ISO 8859-9 (Latin 5; Turkish)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 5 character set, and it replaces the rarely needed Icelandic letters in Latin 1 with the Turkish ones. Useful in Turkey. config NLS_ISO8859_13 tristate "NLS ISO 8859-13 (Latin 7; Baltic)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 7 character set, which supports modern Baltic languages including Latvian and Lithuanian. config NLS_ISO8859_14 tristate "NLS ISO 8859-14 (Latin 8; Celtic)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 8 character set, which adds the last accented vowels for Welsh (aka Cymraeg) (and Manx Gaelic) that were missing in Latin 1. has further information. config NLS_ISO8859_15 tristate "NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)" ---help--- If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the Latin 9 character set, which covers most West European languages such as Albanian, Catalan, Danish, Dutch, English, Estonian, Faeroese, Finnish, French, German, Galician, Irish, Icelandic, Italian, Norwegian, Portuguese, Spanish, and Swedish. Latin 9 is an update to Latin 1 (ISO 8859-1) that removes a handful of rarely used characters and instead adds support for Estonian, corrects the support for French and Finnish, and adds the new Euro character. If unsure, say Y. config NLS_KOI8_R tristate "NLS KOI8-R (Russian)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the preferred Russian character set. config NLS_KOI8_U tristate "NLS KOI8-U/RU (Ukrainian, Belarusian)" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the preferred Ukrainian (koi8-u) and Belarusian (koi8-ru) character sets. config NLS_MAC_ROMAN tristate "Codepage macroman" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for much of Europe -- United Kingdom, Germany, Spain, Italy, and [add more countries here]. If unsure, say Y. config NLS_MAC_CELTIC tristate "Codepage macceltic" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Celtic. If unsure, say Y. config NLS_MAC_CENTEURO tristate "Codepage maccenteuro" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Central Europe. If unsure, say Y. config NLS_MAC_CROATIAN tristate "Codepage maccroatian" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Croatian. If unsure, say Y. config NLS_MAC_CYRILLIC tristate "Codepage maccyrillic" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Cyrillic. If unsure, say Y. config NLS_MAC_GAELIC tristate "Codepage macgaelic" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Gaelic. If unsure, say Y. config NLS_MAC_GREEK tristate "Codepage macgreek" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Greek. If unsure, say Y. config NLS_MAC_ICELAND tristate "Codepage maciceland" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Iceland. If unsure, say Y. config NLS_MAC_INUIT tristate "Codepage macinuit" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Inuit. If unsure, say Y. config NLS_MAC_ROMANIAN tristate "Codepage macromanian" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Romanian. If unsure, say Y. config NLS_MAC_TURKISH tristate "Codepage macturkish" ---help--- The Apple HFS file system family can deal with filenames in native language character sets. These character sets are stored in so-called MAC codepages. You need to include the appropriate codepage if you want to be able to read/write these filenames on Mac partitions correctly. This does apply to the filenames only, not to the file contents. You can include several codepages; say Y here if you want to include the Mac codepage that is used for Turkish. If unsure, say Y. config NLS_UTF8 tristate "NLS UTF-8" help If you want to display filenames with native language characters from the Microsoft FAT file system family or from JOLIET CD-ROMs correctly on the screen, you need to include the appropriate input/output character sets. Say Y here for the UTF-8 encoding of the Unicode/ISO9646 universal character set. endif # NLS config FSNOTIFY def_bool n source "fs/notify/dnotify/Kconfig" source "fs/notify/inotify/Kconfig" source "fs/notify/fanotify/Kconfig" config DNOTIFY bool "Dnotify support" select FSNOTIFY default y help Dnotify is a directory-based per-fd file change notification system that uses signals to communicate events to user-space. There exist superior alternatives, but some applications may still rely on dnotify. If unsure, say Y. config FANOTIFY bool "Filesystem wide access notification" select FSNOTIFY select ANON_INODES default n ---help--- Say Y here to enable fanotify support. fanotify is a file access notification system which differs from inotify in that it sends an open file descriptor to the userspace listener along with the event. If unsure, say Y. config FANOTIFY_ACCESS_PERMISSIONS bool "fanotify permissions checking" depends on FANOTIFY depends on SECURITY default n ---help--- Say Y here is you want fanotify listeners to be able to make permissions decisions concerning filesystem events. This is used by some fanotify listeners which need to scan files before allowing the system access to use those files. This is used by some anti-malware vendors and by some hierarchical storage managent systems. If unsure, say N. config INOTIFY_USER bool "Inotify support for userspace" select ANON_INODES select FSNOTIFY default y ---help--- Say Y here to enable inotify support for userspace, including the associated system calls. Inotify allows monitoring of both files and directories via a single open fd. Events are read from the file descriptor, which is also select()- and poll()-able. Inotify fixes numerous shortcomings in dnotify and introduces several new features including multiple file events, one-shot support, and unmount notification. For more information, see If unsure, say Y. config NTFS_FS tristate "NTFS file system support" select NLS help NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003. Saying Y or M here enables read support. There is partial, but safe, write support available. For write support you must also say Y to "NTFS write support" below. There are also a number of user-space tools available, called ntfsprogs. These include ntfsundelete and ntfsresize, that work without NTFS support enabled in the kernel. This is a rewrite from scratch of Linux NTFS support and replaced the old NTFS code starting with Linux 2.5.11. A backport to the Linux 2.4 kernel series is separately available as a patch from the project web site. For more information see and . To compile this file system support as a module, choose M here: the module will be called ntfs. If you are not using Windows NT, 2000, XP or 2003 in addition to Linux on your computer it is safe to say N. config NTFS_DEBUG bool "NTFS debugging support" depends on NTFS_FS help If you are experiencing any problems with the NTFS file system, say Y here. This will result in additional consistency checks to be performed by the driver as well as additional debugging messages to be written to the system log. Note that debugging messages are disabled by default. To enable them, supply the option debug_msgs=1 at the kernel command line when booting the kernel or as an option to insmod when loading the ntfs module. Once the driver is active, you can enable debugging messages by doing (as root): echo 1 > /proc/sys/fs/ntfs-debug Replacing the "1" with "0" would disable debug messages. If you leave debugging messages disabled, this results in little overhead, but enabling debug messages results in very significant slowdown of the system. When reporting bugs, please try to have available a full dump of debugging messages while the misbehaviour was occurring. config NTFS_RW bool "NTFS write support" depends on NTFS_FS help This enables the partial, but safe, write support in the NTFS driver. The only supported operation is overwriting existing files, without changing the file length. No file or directory creation, deletion or renaming is possible. Note only non-resident files can be written to so you may find that some very small files (<500 bytes or so) cannot be written to. While we cannot guarantee that it will not damage any data, we have so far not received a single report where the driver would have damaged someones data so we assume it is perfectly safe to use. Note: While write support is safe in this version (a rewrite from scratch of the NTFS support), it should be noted that the old NTFS write support, included in Linux 2.5.10 and before (since 1997), is not safe. This is currently useful with TopologiLinux. TopologiLinux is run on top of any DOS/Microsoft Windows system without partitioning your hard disk. Unlike other Linux distributions TopologiLinux does not need its own partition. For more information see It is perfectly safe to say N here. config OCFS2_FS tristate "OCFS2 file system support" depends on NET && SYSFS && CONFIGFS_FS select JBD2 select CRC32 select QUOTA select QUOTA_TREE select FS_POSIX_ACL help OCFS2 is a general purpose extent based shared disk cluster file system with many similarities to ext3. It supports 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. You'll want to install the ocfs2-tools package in order to at least get "mount.ocfs2". Project web page: http://oss.oracle.com/projects/ocfs2 Tools web page: http://oss.oracle.com/projects/ocfs2-tools OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/ For more information on OCFS2, see the file . config OCFS2_FS_O2CB tristate "O2CB Kernelspace Clustering" depends on OCFS2_FS default y help OCFS2 includes a simple kernelspace clustering package, the OCFS2 Cluster Base. It only requires a very small userspace component to configure it. This comes with the standard ocfs2-tools package. O2CB is limited to maintaining a cluster for OCFS2 file systems. It cannot manage any other cluster applications. It is always safe to say Y here, as the clustering method is run-time selectable. config OCFS2_FS_USERSPACE_CLUSTER tristate "OCFS2 Userspace Clustering" depends on OCFS2_FS && DLM default y help This option will allow OCFS2 to use userspace clustering services in conjunction with the DLM in fs/dlm. If you are using a userspace cluster manager, say Y here. It is safe to say Y, as the clustering method is run-time selectable. config OCFS2_FS_STATS bool "OCFS2 statistics" depends on OCFS2_FS && DEBUG_FS default y help This option allows some fs statistics to be captured. Enabling this option may increase the memory consumption. config OCFS2_DEBUG_MASKLOG bool "OCFS2 logging support" depends on OCFS2_FS default y help The ocfs2 filesystem has an extensive logging system. The system allows selection of events to log via files in /sys/o2cb/logmask/. This option will enlarge your kernel, but it allows debugging of ocfs2 filesystem issues. config OCFS2_DEBUG_FS bool "OCFS2 expensive checks" depends on OCFS2_FS default n help This option will enable expensive consistency checks. Enable this option for debugging only as it is likely to decrease performance of the filesystem. config OMFS_FS tristate "SonicBlue Optimized MPEG File System support" depends on BLOCK select CRC_ITU_T help This is the proprietary file system used by the Rio Karma music player and ReplayTV DVR. Despite the name, this filesystem is not more efficient than a standard FS for MPEG files, in fact likely the opposite is true. Say Y if you have either of these devices and wish to mount its disk. To compile this file system support as a module, choose M here: the module will be called omfs. If unsure, say N. config PROC_FS bool "/proc file system support" if EXPERT default y help This is a virtual file system providing information about the status of the system. "Virtual" means that it doesn't take up any space on your hard disk: the files are created on the fly by the kernel when you try to access them. Also, you cannot read the files with older version of the program less: you need to use more or cat. It's totally cool; for example, "cat /proc/interrupts" gives information about what the different IRQs are used for at the moment (there is a small number of Interrupt ReQuest lines in your computer that are used by the attached devices to gain the CPU's attention -- often a source of trouble if two devices are mistakenly configured to use the same IRQ). The program procinfo to display some information about your system gathered from the /proc file system. Before you can use the /proc file system, it has to be mounted, meaning it has to be given a location in the directory hierarchy. That location should be /proc. A command such as "mount -t proc proc /proc" or the equivalent line in /etc/fstab does the job. The /proc file system is explained in the file and on the proc(5) manpage ("man 5 proc"). This option will enlarge your kernel by about 67 KB. Several programs depend on this, so everyone should say Y here. config PROC_KCORE bool "/proc/kcore support" if !ARM depends on PROC_FS && MMU help Provides a virtual ELF core file of the live kernel. This can be read with gdb and other ELF tools. No modifications can be made using this mechanism. config PROC_VMCORE bool "/proc/vmcore support" depends on PROC_FS && CRASH_DUMP default y help Exports the dump image of crashed kernel in ELF format. config PROC_SYSCTL bool "Sysctl support (/proc/sys)" if EXPERT depends on PROC_FS select SYSCTL default y ---help--- The sysctl interface provides a means of dynamically changing certain kernel parameters and variables on the fly without requiring a recompile of the kernel or reboot of the system. The primary interface is through /proc/sys. If you say Y here a tree of modifiable sysctl entries will be generated beneath the /proc/sys directory. They are explained in the files in . Note that enabling this option will enlarge the kernel by at least 8 KB. As it is generally a good thing, you should say Y here unless building a kernel for install/rescue disks or your system is very limited in memory. config PROC_PAGE_MONITOR default y depends on PROC_FS && MMU bool "Enable /proc page monitoring" if EXPERT help Various /proc files exist to monitor process memory utilization: /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap, /proc/kpagecount, and /proc/kpageflags. Disabling these interfaces will reduce the size of the kernel by approximately 4kb. config PSTORE bool "Persistent store support" default n select ZLIB_DEFLATE select ZLIB_INFLATE help This option enables generic access to platform level persistent storage via "pstore" filesystem that can be mounted as /dev/pstore. Only useful if you have a platform level driver that registers with pstore to provide the data, so you probably should just go say "Y" (or "M") to a platform specific persistent store driver (e.g. ACPI_APEI on X86) which will select this for you. If you don't have a platform persistent store driver, say N. config PSTORE_CONSOLE bool "Log kernel console messages" depends on PSTORE help When the option is enabled, pstore will log all kernel messages, even if no oops or panic happened. config PSTORE_FTRACE bool "Persistent function tracer" depends on PSTORE depends on FUNCTION_TRACER depends on DEBUG_FS help With this option kernel traces function calls into a persistent ram buffer that can be decoded and dumped after reboot through pstore filesystem. It can be used to determine what function was last called before a reset or panic. If unsure, say N. config PSTORE_RAM tristate "Log panic/oops to a RAM buffer" depends on PSTORE depends on HAS_IOMEM depends on HAVE_MEMBLOCK select REED_SOLOMON select REED_SOLOMON_ENC8 select REED_SOLOMON_DEC8 help This enables panic and oops messages to be logged to a circular buffer in RAM where it can be read back at some later point. Note that for historical reasons, the module will be named "ramoops.ko". For more information, see Documentation/ramoops.txt. config QNX4FS_FS tristate "QNX4 file system support (read only)" depends on BLOCK help This is the file system used by the real-time operating systems QNX 4 and QNX 6 (the latter is also called QNX RTP). Further information is available at . Say Y if you intend to mount QNX hard disks or floppies. To compile this file system support as a module, choose M here: the module will be called qnx4. If you don't know whether you need it, then you don't need it: answer N. config QNX6FS_FS tristate "QNX6 file system support (read only)" depends on BLOCK && CRC32 help This is the file system used by the real-time operating systems QNX 6 (also called QNX RTP). Further information is available at . Say Y if you intend to mount QNX hard disks or floppies formatted with a mkqnx6fs. However, keep in mind that this currently is a readonly driver! To compile this file system support as a module, choose M here: the module will be called qnx6. If you don't know whether you need it, then you don't need it: answer N. config QNX6FS_DEBUG bool "QNX6 debugging information" depends on QNX6FS_FS help Turns on extended debugging output. If you are not a developer working on the QNX6FS, you probably don't want this: answer N. # # Quota configuration # config QUOTA bool "Quota support" select QUOTACTL help If you say Y here, you will be able to set per user limits for disk usage (also called disk quotas). Currently, it works for the ext2, ext3, and reiserfs file system. ext3 also supports journalled quotas for which you don't need to run quotacheck(8) after an unclean shutdown. For further details, read the Quota mini-HOWTO, available from , or the documentation provided with the quota tools. Probably the quota support is only useful for multi user systems. If unsure, say N. config QUOTA_NETLINK_INTERFACE bool "Report quota messages through netlink interface" depends on QUOTACTL && NET help If you say Y here, quota warnings (about exceeding softlimit, reaching hardlimit, etc.) will be reported through netlink interface. If unsure, say Y. config PRINT_QUOTA_WARNING bool "Print quota warnings to console (OBSOLETE)" depends on QUOTA default y help If you say Y here, quota warnings (about exceeding softlimit, reaching hardlimit, etc.) will be printed to the process' controlling terminal. Note that this behavior is currently deprecated and may go away in future. Please use notification via netlink socket instead. config QUOTA_DEBUG bool "Additional quota sanity checks" depends on QUOTA default n help If you say Y here, quota subsystem will perform some additional sanity checks of quota internal structures. If unsure, say N. # Generic support for tree structured quota files. Selected when needed. config QUOTA_TREE tristate config QFMT_V1 tristate "Old quota format support" depends on QUOTA help This quota format was (is) used by kernels earlier than 2.4.22. If you have quota working and you don't want to convert to new quota format say Y here. config QFMT_V2 tristate "Quota format vfsv0 and vfsv1 support" depends on QUOTA select QUOTA_TREE help This config option enables kernel support for vfsv0 and vfsv1 quota formats. Both these formats support 32-bit UIDs/GIDs and vfsv1 format also supports 64-bit inode and block quota limits. If you need this functionality say Y here. config QUOTACTL bool default n config QUOTACTL_COMPAT bool depends on QUOTACTL && COMPAT_FOR_U64_ALIGNMENT default y config REISERFS_FS tristate "Reiserfs support" select CRC32 help Stores not just filenames but the files themselves in a balanced tree. Uses journalling. Balanced trees are more efficient than traditional file system architectural foundations. In general, ReiserFS is as fast as ext2, but is very efficient with large directories and small files. Additional patches are needed for NFS and quotas, please see for links. It is more easily extended to have features currently found in database and keyword search systems than block allocation based file systems are. The next version will be so extended, and will support plugins consistent with our motto ``It takes more than a license to make source code open.'' Read to learn more about reiserfs. Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com. If you like it, you can pay us to add new features to it that you need, buy a support contract, or pay us to port it to another OS. config REISERFS_CHECK bool "Enable reiserfs debug mode" depends on REISERFS_FS help If you set this to Y, then ReiserFS will perform every check it can possibly imagine of its internal consistency throughout its operation. It will also go substantially slower. More than once we have forgotten that this was on, and then gone despondent over the latest benchmarks.:-) Use of this option allows our team to go all out in checking for consistency when debugging without fear of its effect on end users. If you are on the verge of sending in a bug report, say Y and you might get a useful error message. Almost everyone should say N. config REISERFS_PROC_INFO bool "Stats in /proc/fs/reiserfs" depends on REISERFS_FS && PROC_FS help Create under /proc/fs/reiserfs a hierarchy of files, displaying various ReiserFS statistics and internal data at the expense of making your kernel or module slightly larger (+8 KB). This also increases the amount of kernel memory required for each mount. Almost everyone but ReiserFS developers and people fine-tuning reiserfs or tracing problems should say N. config REISERFS_FS_XATTR bool "ReiserFS extended attributes" depends on REISERFS_FS help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page, or visit for details). If unsure, say N. config REISERFS_FS_POSIX_ACL bool "ReiserFS POSIX Access Control Lists" depends on REISERFS_FS_XATTR select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the Posix ACLs for Linux website . If you don't know what Access Control Lists are, say N config REISERFS_FS_SECURITY bool "ReiserFS Security Labels" depends on REISERFS_FS_XATTR help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the ReiserFS filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config ROMFS_FS tristate "ROM file system support" depends on BLOCK || MTD ---help--- This is a very small read-only file system mainly intended for initial ram disks of installation disks, but it could be used for other read-only media as well. Read for details. To compile this file system support as a module, choose M here: the module will be called romfs. Note that the file system of your root partition (the one containing the directory /) cannot be a module. If you don't know whether you need it, then you don't need it: answer N. # # Select the backing stores to be supported # choice prompt "RomFS backing stores" depends on ROMFS_FS default ROMFS_BACKED_BY_BLOCK help Select the backing stores to be supported. config ROMFS_BACKED_BY_BLOCK bool "Block device-backed ROM file system support" depends on BLOCK help This permits ROMFS to use block devices buffered through the page cache as the medium from which to retrieve data. It does not allow direct mapping of the medium. If unsure, answer Y. config ROMFS_BACKED_BY_MTD bool "MTD-backed ROM file system support" depends on MTD=y || (ROMFS_FS=m && MTD) help This permits ROMFS to use MTD based devices directly, without the intercession of the block layer (which may have been disabled). It also allows direct mapping of MTD devices through romfs files under NOMMU conditions if the underlying device is directly addressable by the CPU. If unsure, answer Y. config ROMFS_BACKED_BY_BOTH bool "Both the above" depends on BLOCK && (MTD=y || (ROMFS_FS=m && MTD)) endchoice config ROMFS_ON_BLOCK bool default y if ROMFS_BACKED_BY_BLOCK || ROMFS_BACKED_BY_BOTH config ROMFS_ON_MTD bool default y if ROMFS_BACKED_BY_MTD || ROMFS_BACKED_BY_BOTH config SQUASHFS tristate "SquashFS 4.0 - Squashed file system support" depends on BLOCK help Saying Y here includes support for SquashFS 4.0 (a Compressed Read-Only File System). Squashfs is a highly compressed read-only filesystem for Linux. It uses zlib, lzo or xz compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1 Mbytes (default block size 128K). SquashFS 4.0 supports 64 bit filesystems and files (larger than 4GB), full uid/gid information, hard links and timestamps. Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in embedded systems where low overhead is needed. Further information and tools are available from http://squashfs.sourceforge.net. If you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here. The module will be called squashfs. Note that the root file system (the one containing the directory /) cannot be compiled as a module. If unsure, say N. choice prompt "File decompression options" depends on SQUASHFS help Squashfs now supports two options for decompressing file data. Traditionally Squashfs has decompressed into an intermediate buffer and then memcopied it into the page cache. Squashfs now supports the ability to decompress directly into the page cache. If unsure, select "Decompress file data into an intermediate buffer" config SQUASHFS_FILE_CACHE bool "Decompress file data into an intermediate buffer" help Decompress file data into an intermediate buffer and then memcopy it into the page cache. config SQUASHFS_FILE_DIRECT bool "Decompress files directly into the page cache" help Directly decompress file data into the page cache. Doing so can significantly improve performance because it eliminates a memcpy and it also removes the lock contention on the single buffer. endchoice choice prompt "Decompressor parallelisation options" depends on SQUASHFS help Squashfs now supports three parallelisation options for decompression. Each one exhibits various trade-offs between decompression performance and CPU and memory usage. If in doubt, select "Single threaded compression" config SQUASHFS_DECOMP_SINGLE bool "Single threaded compression" help Traditionally Squashfs has used single-threaded decompression. Only one block (data or metadata) can be decompressed at any one time. This limits CPU and memory usage to a minimum. config SQUASHFS_DECOMP_MULTI bool "Use multiple decompressors for parallel I/O" help By default Squashfs uses a single decompressor but it gives poor performance on parallel I/O workloads when using multiple CPU machines due to waiting on decompressor availability. If you have a parallel I/O workload and your system has enough memory, using this option may improve overall I/O performance. This decompressor implementation uses up to two parallel decompressors per core. It dynamically allocates decompressors on a demand basis. config SQUASHFS_DECOMP_MULTI_PERCPU bool "Use percpu multiple decompressors for parallel I/O" help By default Squashfs uses a single decompressor but it gives poor performance on parallel I/O workloads when using multiple CPU machines due to waiting on decompressor availability. This decompressor implementation uses a maximum of one decompressor per core. It uses percpu variables to ensure decompression is load-balanced across the cores. endchoice config SQUASHFS_XATTR bool "Squashfs XATTR support" depends on SQUASHFS help Saying Y here includes support for extended attributes (xattrs). Xattrs are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page). If unsure, say N. config SQUASHFS_ZLIB bool "Include support for ZLIB compressed file systems" depends on SQUASHFS select ZLIB_INFLATE default y help ZLIB compression is the standard compression used by Squashfs file systems. It offers a good trade-off between compression achieved and the amount of CPU time and memory necessary to compress and decompress. If unsure, say Y. config SQUASHFS_LZO bool "Include support for LZO compressed file systems" depends on SQUASHFS select LZO_DECOMPRESS help Saying Y here includes support for reading Squashfs file systems compressed with LZO compression. LZO compression is mainly aimed at embedded systems with slower CPUs where the overheads of zlib are too high. LZO is not the standard compression used in Squashfs and so most file systems will be readable without selecting this option. If unsure, say N. config SQUASHFS_XZ bool "Include support for XZ compressed file systems" depends on SQUASHFS select XZ_DEC help Saying Y here includes support for reading Squashfs file systems compressed with XZ compression. XZ gives better compression than the default zlib compression, at the expense of greater CPU and memory overhead. XZ is not the standard compression used in Squashfs and so most file systems will be readable without selecting this option. If unsure, say N. config SQUASHFS_4K_DEVBLK_SIZE bool "Use 4K device block size?" depends on SQUASHFS help By default Squashfs sets the dev block size (sb_min_blocksize) to 1K or the smallest block size supported by the block device (if larger). This, because blocks are packed together and unaligned in Squashfs, should reduce latency. This, however, gives poor performance on MTD NAND devices where the optimal I/O size is 4K (even though the devices can support smaller block sizes). Using a 4K device block size may also improve overall I/O performance for some file access patterns (e.g. sequential accesses of files in filesystem order) on all media. Setting this option will force Squashfs to use a 4K device block size by default. If unsure, say N. config SQUASHFS_EMBEDDED bool "Additional option for memory-constrained systems" depends on SQUASHFS help Saying Y here allows you to specify cache size. If unsure, say N. config SQUASHFS_FRAGMENT_CACHE_SIZE int "Number of fragments cached" if SQUASHFS_EMBEDDED depends on SQUASHFS default "3" help By default SquashFS caches the last 3 fragments read from the filesystem. Increasing this amount may mean SquashFS has to re-read fragments less often from disk, at the expense of extra system memory. Decreasing this amount will mean SquashFS uses less memory at the expense of extra reads from disk. Note there must be at least one cached fragment. Anything much more than three will probably not make much difference. config SYSFS bool "sysfs file system support" if EXPERT default y help The sysfs filesystem is a virtual filesystem that the kernel uses to export internal kernel objects, their attributes, and their relationships to one another. Users can use sysfs to ascertain useful information about the running kernel, such as the devices the kernel has discovered on each bus and which driver each is bound to. sysfs can also be used to tune devices and other kernel subsystems. Some system agents rely on the information in sysfs to operate. /sbin/hotplug uses device and object attributes in sysfs to assist in delegating policy decisions, like persistently naming devices. sysfs is currently used by the block subsystem to mount the root partition. If sysfs is disabled you must specify the boot device on the kernel boot command line via its major and minor numbers. For example, "root=03:01" for /dev/hda1. Designers of embedded systems may wish to say N here to conserve space. config SYSV_FS tristate "System V/Xenix/V7/Coherent file system support" depends on BLOCK help SCO, Xenix and Coherent are commercial Unix systems for Intel machines, and Version 7 was used on the DEC PDP-11. Saying Y here would allow you to read from their floppies and hard disk partitions. If you have floppies or hard disk partitions like that, it is likely that they contain binaries from those other Unix systems; in order to run these binaries, you will want to install linux-abi which is a set of kernel modules that lets you run SCO, Xenix, Wyse, UnixWare, Dell Unix and System V programs under Linux. It is available via FTP (user: ftp) from ). NOTE: that will work only for binaries from Intel-based systems; PDP ones will have to wait until somebody ports Linux to -11 ;-) If you only intend to mount files from some other Unix over the network using NFS, you don't need the System V file system support (but you need NFS file system support obviously). Note that this option is generally not needed for floppies, since a good portable way to transport files and directories between unixes (and even other operating systems) is given by the tar program ("man tar" or preferably "info tar"). Note also that this option has nothing whatsoever to do with the option "System V IPC". Read about the System V file system in . Saying Y here will enlarge your kernel by about 27 KB. To compile this as a module, choose M here: the module will be called sysv. If you haven't heard about all of this before, it's safe to say N. config UBIFS_FS tristate "UBIFS file system support" select CRC16 select CRC32 select CRYPTO if UBIFS_FS_ADVANCED_COMPR select CRYPTO if UBIFS_FS_LZO select CRYPTO if UBIFS_FS_ZLIB select CRYPTO_LZO if UBIFS_FS_LZO select CRYPTO_DEFLATE if UBIFS_FS_ZLIB depends on MTD_UBI help UBIFS is a file system for flash devices which works on top of UBI. config UBIFS_FS_ADVANCED_COMPR bool "Advanced compression options" depends on UBIFS_FS help This option allows to explicitly choose which compressions, if any, are enabled in UBIFS. Removing compressors means inability to read existing file systems. If unsure, say 'N'. config UBIFS_FS_LZO bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR depends on UBIFS_FS default y help LZO compressor is generally faster than zlib but compresses worse. Say 'Y' if unsure. config UBIFS_FS_ZLIB bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR depends on UBIFS_FS default y help Zlib compresses better than LZO but it is slower. Say 'Y' if unsure. config UDF_FS tristate "UDF file system support" select CRC_ITU_T help This is the new file system used on some CD-ROMs and DVDs. Say Y if you intend to mount DVD discs or CDRW's written in packet mode, or if written to by other UDF utilities, such as DirectCD. Please read . To compile this file system support as a module, choose M here: the module will be called udf. If unsure, say N. config UDF_NLS bool default y depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y) config UFS_FS tristate "UFS file system support (read only)" depends on BLOCK help BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD, OpenBSD and NeXTstep) use a file system called UFS. Some System V Unixes can create and mount hard disk partitions and diskettes using this file system as well. Saying Y here will allow you to read from these partitions; if you also want to write to them, say Y to the experimental "UFS file system write support", below. Please read the file for more information. The recently released UFS2 variant (used in FreeBSD 5.x) is READ-ONLY supported. Note that this option is generally not needed for floppies, since a good portable way to transport files and directories between unixes (and even other operating systems) is given by the tar program ("man tar" or preferably "info tar"). When accessing NeXTstep files, you may need to convert them from the NeXT character set to the Latin1 character set; use the program recode ("info recode") for this purpose. To compile the UFS file system support as a module, choose M here: the module will be called ufs. If you haven't heard about all of this before, it's safe to say N. config UFS_FS_WRITE bool "UFS file system write support (DANGEROUS)" depends on UFS_FS help Say Y here if you want to try writing to UFS partitions. This is experimental, so you should back up your UFS partitions beforehand. config UFS_DEBUG bool "UFS debugging" depends on UFS_FS help If you are experiencing any problems with the UFS filesystem, say Y here. This will result in _many_ additional debugging messages to be written to the system log. config XFS_FS tristate "XFS filesystem support" depends on BLOCK select EXPORTFS select LIBCRC32C help XFS is a high performance journaling filesystem which originated on the SGI IRIX platform. It is completely multi-threaded, can support large files and large filesystems, extended attributes, variable block sizes, is extent based, and makes extensive use of Btrees (directories, extents, free space) to aid both performance and scalability. Refer to the documentation at for complete details. This implementation is on-disk compatible with the IRIX version of XFS. To compile this file system support as a module, choose M here: the module will be called xfs. Be aware, however, that if the file system of your root partition is compiled as a module, you'll need to use an initial ramdisk (initrd) to boot. config XFS_QUOTA bool "XFS Quota support" depends on XFS_FS select QUOTACTL help If you say Y here, you will be able to set limits for disk usage on a per user and/or a per group basis under XFS. XFS considers quota information as filesystem metadata and uses journaling to provide a higher level guarantee of consistency. The on-disk data format for quota is also compatible with the IRIX version of XFS, allowing a filesystem to be migrated between Linux and IRIX without any need for conversion. If unsure, say N. More comprehensive documentation can be found in README.quota in the xfsprogs package. XFS quota can be used either with or without the generic quota support enabled (CONFIG_QUOTA) - they are completely independent subsystems. config XFS_POSIX_ACL bool "XFS POSIX ACL support" depends on XFS_FS select FS_POSIX_ACL help POSIX Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. To learn more about Access Control Lists, visit the POSIX ACLs for Linux website . If you don't know what Access Control Lists are, say N. config XFS_RT bool "XFS Realtime subvolume support" depends on XFS_FS help If you say Y here you will be able to mount and use XFS filesystems which contain a realtime subvolume. The realtime subvolume is a separate area of disk space where only file data is stored. It was originally designed to provide deterministic data rates suitable for media streaming applications, but is also useful as a generic mechanism for ensuring data and metadata/log I/Os are completely separated. Regular file I/Os are isolated to a separate device from all other requests, and this can be done quite transparently to applications via the inherit-realtime directory inode flag. See the xfs man page in section 5 for additional information. If unsure, say N. config XFS_WARN bool "XFS Verbose Warnings" depends on XFS_FS && !XFS_DEBUG help Say Y here to get an XFS build with many additional warnings. It converts ASSERT checks to WARN, so will log any out-of-bounds conditions that occur that would otherwise be missed. It is much lighter weight than XFS_DEBUG and does not modify algorithms and will not cause the kernel to panic on non-fatal errors. However, similar to XFS_DEBUG, it is only advisable to use this if you are debugging a particular problem. config XFS_DEBUG bool "XFS Debugging support" depends on XFS_FS help Say Y here to get an XFS build with many debugging features, including ASSERT checks, function wrappers around macros, and extra sanity-checking functions in various code paths. Note that the resulting code will be HUGE and SLOW, and probably not useful unless you are debugging a particular problem. Say N unless you are an XFS developer, or you play one on TV. config ARCH string option env="ARCH" config KERNELVERSION string option env="KERNELVERSION" config DEFCONFIG_LIST string depends on !UML option defconfig_list default "/lib/modules/$UNAME_RELEASE/.config" default "/etc/kernel-config" default "/boot/config-$UNAME_RELEASE" default "$ARCH_DEFCONFIG" default "arch/$ARCH/defconfig" config CONSTRUCTORS bool depends on !UML config IRQ_WORK bool config BUILDTIME_EXTABLE_SORT bool menu "General setup" config BROKEN bool config BROKEN_ON_SMP bool depends on BROKEN || !SMP default y config INIT_ENV_ARG_LIMIT int default 32 if !UML default 128 if UML help Maximum of each of the number of arguments and environment variables passed to init from the kernel command line. config CROSS_COMPILE string "Cross-compiler tool prefix" help Same as running 'make CROSS_COMPILE=prefix-' but stored for default make runs in this kernel build directory. You don't need to set this unless you want the configured kernel build directory to select the cross-compiler automatically. config COMPILE_TEST bool "Compile also drivers which will not load" default n help Some drivers can be compiled on a different platform than they are intended to be run on. Despite they cannot be loaded there (or even when they load they cannot be used due to missing HW support), developers still, opposing to distributors, might want to build such drivers to compile-test them. If you are a developer and want to build everything available, say Y here. If you are a user/distributor, say N here to exclude useless drivers to be distributed. config LOCALVERSION string "Local version - append to kernel release" help Append an extra string to the end of your kernel version. This will show up when you type uname, for example. The string you set here will be appended after the contents of any files with a filename matching localversion* in your object and source tree, in that order. Your total string can be a maximum of 64 characters. config LOCALVERSION_AUTO bool "Automatically append version information to the version string" default y help This will try to automatically determine if the current tree is a release tree by looking for git tags that belong to the current top of tree revision. A string of the format -gxxxxxxxx will be added to the localversion if a git-based tree is found. The string generated by this will be appended after any matching localversion* files, and after the value set in CONFIG_LOCALVERSION. (The actual string used here is the first eight characters produced by running the command: $ git rev-parse --verify HEAD which is done within the script "scripts/setlocalversion".) config HAVE_KERNEL_GZIP bool config HAVE_KERNEL_BZIP2 bool config HAVE_KERNEL_LZMA bool config HAVE_KERNEL_XZ bool config HAVE_KERNEL_LZO bool config HAVE_KERNEL_LZ4 bool choice prompt "Kernel compression mode" default KERNEL_GZIP depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 help The linux kernel is a kind of self-extracting executable. Several compression algorithms are available, which differ in efficiency, compression and decompression speed. Compression speed is only relevant when building a kernel. Decompression speed is relevant at each boot. If you have any problems with bzip2 or lzma compressed kernels, mail me (Alain Knaff) . (An older version of this functionality (bzip2 only), for 2.4, was supplied by Christian Ludwig) High compression options are mostly useful for users, who are low on disk space (embedded systems), but for whom ram size matters less. If in doubt, select 'gzip' config KERNEL_GZIP bool "Gzip" depends on HAVE_KERNEL_GZIP help The old and tried gzip compression. It provides a good balance between compression ratio and decompression speed. config KERNEL_BZIP2 bool "Bzip2" depends on HAVE_KERNEL_BZIP2 help Its compression ratio and speed is intermediate. Decompression speed is slowest among the choices. The kernel size is about 10% smaller with bzip2, in comparison to gzip. Bzip2 uses a large amount of memory. For modern kernels you will need at least 8MB RAM or more for booting. config KERNEL_LZMA bool "LZMA" depends on HAVE_KERNEL_LZMA help This compression algorithm's ratio is best. Decompression speed is between gzip and bzip2. Compression is slowest. The kernel size is about 33% smaller with LZMA in comparison to gzip. config KERNEL_XZ bool "XZ" depends on HAVE_KERNEL_XZ help XZ uses the LZMA2 algorithm and instruction set specific BCJ filters which can improve compression ratio of executable code. The size of the kernel is about 30% smaller with XZ in comparison to gzip. On architectures for which there is a BCJ filter (i386, x86_64, ARM, IA-64, PowerPC, and SPARC), XZ will create a few percent smaller kernel than plain LZMA. The speed is about the same as with LZMA: The decompression speed of XZ is better than that of bzip2 but worse than gzip and LZO. Compression is slow. config KERNEL_LZO bool "LZO" depends on HAVE_KERNEL_LZO help Its compression ratio is the poorest among the choices. The kernel size is about 10% bigger than gzip; however its speed (both compression and decompression) is the fastest. config KERNEL_LZ4 bool "LZ4" depends on HAVE_KERNEL_LZ4 help LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding. A preliminary version of LZ4 de/compression tool is available at . Its compression ratio is worse than LZO. The size of the kernel is about 8% bigger than LZO. But the decompression speed is faster than LZO. endchoice config DEFAULT_HOSTNAME string "Default hostname" default "(none)" help This option determines the default system hostname before userspace calls sethostname(2). The kernel traditionally uses "(none)" here, but you may wish to use a different default here to make a minimal system more usable with less configuration. config SWAP bool "Support for paging of anonymous memory (swap)" depends on MMU && BLOCK default y help This option allows you to choose whether you want to have support for so called swap devices or swap files in your kernel that are used to provide more virtual memory than the actual RAM present in your computer. If unsure say Y. config SYSVIPC bool "System V IPC" ---help--- Inter Process Communication is a suite of library functions and system calls which let processes (running programs) synchronize and exchange information. It is generally considered to be a good thing, and some programs won't run unless you say Y here. In particular, if you want to run the DOS emulator dosemu under Linux (read the DOSEMU-HOWTO, available from ), you'll need to say Y here. You can find documentation about IPC with "info ipc" and also in section 6.4 of the Linux Programmer's Guide, available from . config SYSVIPC_SYSCTL bool depends on SYSVIPC depends on SYSCTL default y config POSIX_MQUEUE bool "POSIX Message Queues" depends on NET ---help--- POSIX variant of message queues is a part of IPC. In POSIX message queues every message has a priority which decides about succession of receiving it by a process. If you want to compile and run programs written e.g. for Solaris with use of its POSIX message queues (functions mq_*) say Y here. POSIX message queues are visible as a filesystem called 'mqueue' and can be mounted somewhere if you want to do filesystem operations on message queues. If unsure, say Y. config POSIX_MQUEUE_SYSCTL bool depends on POSIX_MQUEUE depends on SYSCTL default y config FHANDLE bool "open by fhandle syscalls" select EXPORTFS help If you say Y here, a user level program will be able to map file names to handle and then later use the handle for different file system operations. This is useful in implementing userspace file servers, which now track files using handles instead of names. The handle would remain the same even if file names get renamed. Enables open_by_handle_at(2) and name_to_handle_at(2) syscalls. config AUDIT bool "Auditing support" depends on NET help Enable auditing infrastructure that can be used with another kernel subsystem, such as SELinux (which requires this for logging of avc messages output). Does not do system-call auditing without CONFIG_AUDITSYSCALL. config AUDITSYSCALL bool "Enable system-call auditing support" depends on AUDIT && (X86 || PARISC || PPC || S390 || IA64 || UML || SPARC64 || SUPERH || (ARM && AEABI && !OABI_COMPAT)) default y if SECURITY_SELINUX help Enable low-overhead system-call auditing infrastructure that can be used independently or with another kernel subsystem, such as SELinux. config AUDIT_WATCH def_bool y depends on AUDITSYSCALL select FSNOTIFY config AUDIT_TREE def_bool y depends on AUDITSYSCALL select FSNOTIFY source "kernel/irq/Kconfig" source "kernel/time/Kconfig" menu "CPU/Task time and stats accounting" config VIRT_CPU_ACCOUNTING bool choice prompt "Cputime accounting" default TICK_CPU_ACCOUNTING if !PPC64 default VIRT_CPU_ACCOUNTING_NATIVE if PPC64 # Kind of a stub config for the pure tick based cputime accounting config TICK_CPU_ACCOUNTING bool "Simple tick based cputime accounting" depends on !S390 && !NO_HZ_FULL help This is the basic tick based cputime accounting that maintains statistics about user, system and idle time spent on per jiffies granularity. If unsure, say Y. config VIRT_CPU_ACCOUNTING_NATIVE bool "Deterministic task and CPU time accounting" depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL select VIRT_CPU_ACCOUNTING help Select this option to enable more accurate task and CPU time accounting. This is done by reading a CPU counter on each kernel entry and exit and on transitions within the kernel between system, softirq and hardirq state, so there is a small performance impact. In the case of s390 or IBM POWER > 5, this also enables accounting of stolen time on logically-partitioned systems. config VIRT_CPU_ACCOUNTING_GEN bool "Full dynticks CPU time accounting" depends on HAVE_CONTEXT_TRACKING depends on HAVE_VIRT_CPU_ACCOUNTING_GEN select VIRT_CPU_ACCOUNTING select CONTEXT_TRACKING help Select this option to enable task and CPU time accounting on full dynticks systems. This accounting is implemented by watching every kernel-user boundaries using the context tracking subsystem. The accounting is thus performed at the expense of some significant overhead. For now this is only useful if you are working on the full dynticks subsystem development. If unsure, say N. config IRQ_TIME_ACCOUNTING bool "Fine granularity task level IRQ time accounting" depends on HAVE_IRQ_TIME_ACCOUNTING && !NO_HZ_FULL help Select this option to enable fine granularity task irq time accounting. This is done by reading a timestamp on each transitions between softirq and hardirq state, so there can be a small performance impact. If in doubt, say N here. endchoice config BSD_PROCESS_ACCT bool "BSD Process Accounting" help If you say Y here, a user level program will be able to instruct the kernel (via a special system call) to write process accounting information to a file: whenever a process exits, information about that process will be appended to the file by the kernel. The information includes things such as creation time, owning user, command name, memory usage, controlling terminal etc. (the complete list is in the struct acct in ). It is up to the user level program to do useful things with this information. This is generally a good idea, so say Y. config BSD_PROCESS_ACCT_V3 bool "BSD Process Accounting version 3 file format" depends on BSD_PROCESS_ACCT default n help If you say Y here, the process accounting information is written in a new file format that also logs the process IDs of each process and it's parent. Note that this file format is incompatible with previous v0/v1/v2 file formats, so you will need updated tools for processing it. A preliminary version of these tools is available at . config TASKSTATS bool "Export task/process statistics through netlink" depends on NET default n help Export selected statistics for tasks/processes through the generic netlink interface. Unlike BSD process accounting, the statistics are available during the lifetime of tasks/processes as responses to commands. Like BSD accounting, they are sent to user space on task exit. Say N if unsure. config TASK_DELAY_ACCT bool "Enable per-task delay accounting" depends on TASKSTATS help Collect information on time spent by a task waiting for system resources like cpu, synchronous block I/O completion and swapping in pages. Such statistics can help in setting a task's priorities relative to other tasks for cpu, io, rss limits etc. Say N if unsure. config TASK_XACCT bool "Enable extended accounting over taskstats" depends on TASKSTATS help Collect extended task accounting data and send the data to userland for processing over the taskstats interface. Say N if unsure. config TASK_IO_ACCOUNTING bool "Enable per-task storage I/O accounting" depends on TASK_XACCT help Collect information on the number of bytes of storage I/O which this task has caused. Say N if unsure. endmenu # "CPU/Task time and stats accounting" menu "RCU Subsystem" choice prompt "RCU Implementation" default TREE_RCU config TREE_RCU bool "Tree-based hierarchical RCU" depends on !PREEMPT && SMP select IRQ_WORK help This option selects the RCU implementation that is designed for very large SMP system with hundreds or thousands of CPUs. It also scales down nicely to smaller systems. config TREE_PREEMPT_RCU bool "Preemptible tree-based hierarchical RCU" depends on PREEMPT select IRQ_WORK help This option selects the RCU implementation that is designed for very large SMP systems with hundreds or thousands of CPUs, but for which real-time response is also required. It also scales down nicely to smaller systems. Select this option if you are unsure. config TINY_RCU bool "UP-only small-memory-footprint RCU" depends on !PREEMPT && !SMP help This option selects the RCU implementation that is designed for UP systems from which real-time response is not required. This option greatly reduces the memory footprint of RCU. endchoice config PREEMPT_RCU def_bool TREE_PREEMPT_RCU help This option enables preemptible-RCU code that is common between the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations. config RCU_STALL_COMMON def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE ) help This option enables RCU CPU stall code that is common between the TINY and TREE variants of RCU. The purpose is to allow the tiny variants to disable RCU CPU stall warnings, while making these warnings mandatory for the tree variants. config CONTEXT_TRACKING bool config RCU_USER_QS bool "Consider userspace as in RCU extended quiescent state" depends on HAVE_CONTEXT_TRACKING && SMP select CONTEXT_TRACKING help This option sets hooks on kernel / userspace boundaries and puts RCU in extended quiescent state when the CPU runs in userspace. It means that when a CPU runs in userspace, it is excluded from the global RCU state machine and thus doesn't try to keep the timer tick on for RCU. Unless you want to hack and help the development of the full dynticks mode, you shouldn't enable this option. It also adds unnecessary overhead. If unsure say N config CONTEXT_TRACKING_FORCE bool "Force context tracking" depends on CONTEXT_TRACKING default y if !NO_HZ_FULL help The major pre-requirement for full dynticks to work is to support the context tracking subsystem. But there are also other dependencies to provide in order to make the full dynticks working. This option stands for testing when an arch implements the context tracking backend but doesn't yet fullfill all the requirements to make the full dynticks feature working. Without the full dynticks, there is no way to test the support for context tracking and the subsystems that rely on it: RCU userspace extended quiescent state and tickless cputime accounting. This option copes with the absence of the full dynticks subsystem by forcing the context tracking on all CPUs in the system. Say Y only if you're working on the developpement of an architecture backend for the context tracking. Say N otherwise, this option brings an overhead that you don't want in production. config RCU_FANOUT int "Tree-based hierarchical RCU fanout value" range 2 64 if 64BIT range 2 32 if !64BIT depends on TREE_RCU || TREE_PREEMPT_RCU default 64 if 64BIT default 32 if !64BIT help This option controls the fanout of hierarchical implementations of RCU, allowing RCU to work efficiently on machines with large numbers of CPUs. This value must be at least the fourth root of NR_CPUS, which allows NR_CPUS to be insanely large. The default value of RCU_FANOUT should be used for production systems, but if you are stress-testing the RCU implementation itself, small RCU_FANOUT values allow you to test large-system code paths on small(er) systems. Select a specific number if testing RCU itself. Take the default if unsure. config RCU_FANOUT_LEAF int "Tree-based hierarchical RCU leaf-level fanout value" range 2 RCU_FANOUT if 64BIT range 2 RCU_FANOUT if !64BIT depends on TREE_RCU || TREE_PREEMPT_RCU default 16 help This option controls the leaf-level fanout of hierarchical implementations of RCU, and allows trading off cache misses against lock contention. Systems that synchronize their scheduling-clock interrupts for energy-efficiency reasons will want the default because the smaller leaf-level fanout keeps lock contention levels acceptably low. Very large systems (hundreds or thousands of CPUs) will instead want to set this value to the maximum value possible in order to reduce the number of cache misses incurred during RCU's grace-period initialization. These systems tend to run CPU-bound, and thus are not helped by synchronized interrupts, and thus tend to skew them, which reduces lock contention enough that large leaf-level fanouts work well. Select a specific number if testing RCU itself. Select the maximum permissible value for large systems. Take the default if unsure. config RCU_FANOUT_EXACT bool "Disable tree-based hierarchical RCU auto-balancing" depends on TREE_RCU || TREE_PREEMPT_RCU default n help This option forces use of the exact RCU_FANOUT value specified, regardless of imbalances in the hierarchy. This is useful for testing RCU itself, and might one day be useful on systems with strong NUMA behavior. Without RCU_FANOUT_EXACT, the code will balance the hierarchy. Say N if unsure. config RCU_FAST_NO_HZ bool "Accelerate last non-dyntick-idle CPU's grace periods" depends on NO_HZ_COMMON && SMP default n help This option permits CPUs to enter dynticks-idle state even if they have RCU callbacks queued, and prevents RCU from waking these CPUs up more than roughly once every four jiffies (by default, you can adjust this using the rcutree.rcu_idle_gp_delay parameter), thus improving energy efficiency. On the other hand, this option increases the duration of RCU grace periods, for example, slowing down synchronize_rcu(). Say Y if energy efficiency is critically important, and you don't care about increased grace-period durations. Say N if you are unsure. config TREE_RCU_TRACE def_bool RCU_TRACE && ( TREE_RCU || TREE_PREEMPT_RCU ) select DEBUG_FS help This option provides tracing for the TREE_RCU and TREE_PREEMPT_RCU implementations, permitting Makefile to trivially select kernel/rcutree_trace.c. config RCU_BOOST bool "Enable RCU priority boosting" depends on RT_MUTEXES && PREEMPT_RCU default n help This option boosts the priority of preempted RCU readers that block the current preemptible RCU grace period for too long. This option also prevents heavy loads from blocking RCU callback invocation for all flavors of RCU. Say Y here if you are working with real-time apps or heavy loads Say N here if you are unsure. config RCU_BOOST_PRIO int "Real-time priority to boost RCU readers to" range 1 99 depends on RCU_BOOST default 1 help This option specifies the real-time priority to which long-term preempted RCU readers are to be boosted. If you are working with a real-time application that has one or more CPU-bound threads running at a real-time priority level, you should set RCU_BOOST_PRIO to a priority higher then the highest-priority real-time CPU-bound thread. The default RCU_BOOST_PRIO value of 1 is appropriate in the common case, which is real-time applications that do not have any CPU-bound threads. Some real-time applications might not have a single real-time thread that saturates a given CPU, but instead might have multiple real-time threads that, taken together, fully utilize that CPU. In this case, you should set RCU_BOOST_PRIO to a priority higher than the lowest-priority thread that is conspiring to prevent the CPU from running any non-real-time tasks. For example, if one thread at priority 10 and another thread at priority 5 are between themselves fully consuming the CPU time on a given CPU, then RCU_BOOST_PRIO should be set to priority 6 or higher. Specify the real-time priority, or take the default if unsure. config RCU_BOOST_DELAY int "Milliseconds to delay boosting after RCU grace-period start" range 0 3000 depends on RCU_BOOST default 500 help This option specifies the time to wait after the beginning of a given grace period before priority-boosting preempted RCU readers blocking that grace period. Note that any RCU reader blocking an expedited RCU grace period is boosted immediately. Accept the default if unsure. config RCU_NOCB_CPU bool "Offload RCU callback processing from boot-selected CPUs" depends on TREE_RCU || TREE_PREEMPT_RCU default n help Use this option to reduce OS jitter for aggressive HPC or real-time workloads. It can also be used to offload RCU callback invocation to energy-efficient CPUs in battery-powered asymmetric multiprocessors. This option offloads callback invocation from the set of CPUs specified at boot time by the rcu_nocbs parameter. For each such CPU, a kthread ("rcuox/N") will be created to invoke callbacks, where the "N" is the CPU being offloaded, and where the "x" is "b" for RCU-bh, "p" for RCU-preempt, and "s" for RCU-sched. Nothing prevents this kthread from running on the specified CPUs, but (1) the kthreads may be preempted between each callback, and (2) affinity or cgroups can be used to force the kthreads to run on whatever set of CPUs is desired. Say Y here if you want to help to debug reduced OS jitter. Say N here if you are unsure. choice prompt "Build-forced no-CBs CPUs" default RCU_NOCB_CPU_NONE help This option allows no-CBs CPUs (whose RCU callbacks are invoked from kthreads rather than from softirq context) to be specified at build time. Additional no-CBs CPUs may be specified by the rcu_nocbs= boot parameter. config RCU_NOCB_CPU_NONE bool "No build_forced no-CBs CPUs" depends on RCU_NOCB_CPU && !NO_HZ_FULL help This option does not force any of the CPUs to be no-CBs CPUs. Only CPUs designated by the rcu_nocbs= boot parameter will be no-CBs CPUs, whose RCU callbacks will be invoked by per-CPU kthreads whose names begin with "rcuo". All other CPUs will invoke their own RCU callbacks in softirq context. Select this option if you want to choose no-CBs CPUs at boot time, for example, to allow testing of different no-CBs configurations without having to rebuild the kernel each time. config RCU_NOCB_CPU_ZERO bool "CPU 0 is a build_forced no-CBs CPU" depends on RCU_NOCB_CPU && !NO_HZ_FULL help This option forces CPU 0 to be a no-CBs CPU, so that its RCU callbacks are invoked by a per-CPU kthread whose name begins with "rcuo". Additional CPUs may be designated as no-CBs CPUs using the rcu_nocbs= boot parameter will be no-CBs CPUs. All other CPUs will invoke their own RCU callbacks in softirq context. Select this if CPU 0 needs to be a no-CBs CPU for real-time or energy-efficiency reasons, but the real reason it exists is to ensure that randconfig testing covers mixed systems. config RCU_NOCB_CPU_ALL bool "All CPUs are build_forced no-CBs CPUs" depends on RCU_NOCB_CPU help This option forces all CPUs to be no-CBs CPUs. The rcu_nocbs= boot parameter will be ignored. All CPUs' RCU callbacks will be executed in the context of per-CPU rcuo kthreads created for this purpose. Assuming that the kthreads whose names start with "rcuo" are bound to "housekeeping" CPUs, this reduces OS jitter on the remaining CPUs, but might decrease memory locality during RCU-callback invocation, thus potentially degrading throughput. Select this if all CPUs need to be no-CBs CPUs for real-time or energy-efficiency reasons. endchoice endmenu # "RCU Subsystem" config IKCONFIG tristate "Kernel .config support" ---help--- This option enables the complete Linux kernel ".config" file contents to be saved in the kernel. It provides documentation of which kernel options are used in a running kernel or in an on-disk kernel. This information can be extracted from the kernel image file with the script scripts/extract-ikconfig and used as input to rebuild the current kernel or to build another kernel. It can also be extracted from a running kernel by reading /proc/config.gz if enabled (below). config IKCONFIG_PROC bool "Enable access to .config through /proc/config.gz" depends on IKCONFIG && PROC_FS ---help--- This option enables access to the kernel configuration file through /proc/config.gz. config LOG_BUF_SHIFT int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" range 12 21 default 17 help Select kernel log buffer size as a power of 2. Examples: 17 => 128 KB 16 => 64 KB 15 => 32 KB 14 => 16 KB 13 => 8 KB 12 => 4 KB # # Architectures with an unreliable sched_clock() should select this: # config HAVE_UNSTABLE_SCHED_CLOCK bool config GENERIC_SCHED_CLOCK bool # # For architectures that want to enable the support for NUMA-affine scheduler # balancing logic: # config ARCH_SUPPORTS_NUMA_BALANCING bool # # For architectures that know their GCC __int128 support is sound # config ARCH_SUPPORTS_INT128 bool # For architectures that (ab)use NUMA to represent different memory regions # all cpu-local but of different latencies, such as SuperH. # config ARCH_WANT_NUMA_VARIABLE_LOCALITY bool # # For architectures that are willing to define _PAGE_NUMA as _PAGE_PROTNONE config ARCH_WANTS_PROT_NUMA_PROT_NONE bool config ARCH_USES_NUMA_PROT_NONE bool default y depends on ARCH_WANTS_PROT_NUMA_PROT_NONE depends on NUMA_BALANCING config NUMA_BALANCING_DEFAULT_ENABLED bool "Automatically enable NUMA aware memory/task placement" default y depends on NUMA_BALANCING help If set, automatic NUMA balancing will be enabled if running on a NUMA machine. config NUMA_BALANCING bool "Memory placement aware NUMA scheduler" depends on ARCH_SUPPORTS_NUMA_BALANCING depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY depends on SMP && NUMA && MIGRATION help This option adds support for automatic NUMA aware memory/task placement. The mechanism is quite primitive and is based on migrating memory when it has references to the node the task is running on. This system will be inactive on UMA systems. menuconfig CGROUPS boolean "Control Group support" depends on EVENTFD help This option adds support for grouping sets of processes together, for use with process control subsystems such as Cpusets, CFS, memory controls or device isolation. See - Documentation/scheduler/sched-design-CFS.txt (CFS) - Documentation/cgroups/ (features for grouping, isolation and resource control) Say N if unsure. if CGROUPS config CGROUP_DEBUG bool "Example debug cgroup subsystem" default n help This option enables a simple cgroup subsystem that exports useful debugging information about the cgroups framework. Say N if unsure. config CGROUP_FREEZER bool "Freezer cgroup subsystem" help Provides a way to freeze and unfreeze all tasks in a cgroup. config CGROUP_DEVICE bool "Device controller for cgroups" help Provides a cgroup implementing whitelists for devices which a process in the cgroup can mknod or open. config CPUSETS bool "Cpuset support" help This option will let you create and manage CPUSETs which allow dynamically partitioning a system into sets of CPUs and Memory Nodes and assigning tasks to run only within those sets. This is primarily useful on large SMP or NUMA systems. Say N if unsure. config PROC_PID_CPUSET bool "Include legacy /proc//cpuset file" depends on CPUSETS default y config CGROUP_CPUACCT bool "Simple CPU accounting cgroup subsystem" help Provides a simple Resource Controller for monitoring the total CPU consumed by the tasks in a cgroup. config RESOURCE_COUNTERS bool "Resource counters" help This option enables controller independent resource accounting infrastructure that works with cgroups. config MEMCG bool "Memory Resource Controller for Control Groups" depends on RESOURCE_COUNTERS select MM_OWNER help Provides a memory resource controller that manages both anonymous memory and page cache. (See Documentation/cgroups/memory.txt) Note that setting this option increases fixed memory overhead associated with each page of memory in the system. By this, 8(16)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory usage tracking struct at boot. Total amount of this is printed out at boot. Only enable when you're ok with these trade offs and really sure you need the memory resource controller. Even when you enable this, you can set "cgroup_disable=memory" at your boot option to disable memory resource controller and you can avoid overheads. (and lose benefits of memory resource controller) This config option also selects MM_OWNER config option, which could in turn add some fork/exit overhead. config MEMCG_SWAP bool "Memory Resource Controller Swap Extension" depends on MEMCG && SWAP help Add swap management feature to memory resource controller. When you enable this, you can limit mem+swap usage per cgroup. In other words, when you disable this, memory resource controller has no cares to usage of swap...a process can exhaust all of the swap. This extension is useful when you want to avoid exhaustion swap but this itself adds more overheads and consumes memory for remembering information. Especially if you use 32bit system or small memory system, please be careful about enabling this. When memory resource controller is disabled by boot option, this will be automatically disabled and there will be no overhead from this. Even when you set this config=y, if boot option "swapaccount=0" is set, swap will not be accounted. Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page size is 4096bytes, 512k per 1Gbytes of swap. config MEMCG_SWAP_ENABLED bool "Memory Resource Controller Swap Extension enabled by default" depends on MEMCG_SWAP default y help Memory Resource Controller Swap Extension comes with its price in a bigger memory consumption. General purpose distribution kernels which want to enable the feature but keep it disabled by default and let the user enable it by swapaccount=1 boot command line parameter should have this option unselected. For those who want to have the feature enabled by default should select this option (if, for some reason, they need to disable it then swapaccount=0 does the trick). config MEMCG_KMEM bool "Memory Resource Controller Kernel Memory accounting" depends on MEMCG depends on SLUB || SLAB help The Kernel Memory extension for Memory Resource Controller can limit the amount of memory used by kernel objects in the system. Those are fundamentally different from the entities handled by the standard Memory Controller, which are page-based, and can be swapped. Users of the kmem extension can use it to guarantee that no group of processes will ever exhaust kernel resources alone. config CGROUP_HUGETLB bool "HugeTLB Resource Controller for Control Groups" depends on RESOURCE_COUNTERS && HUGETLB_PAGE default n help Provides a cgroup Resource Controller for HugeTLB pages. When you enable this, you can put a per cgroup limit on HugeTLB usage. The limit is enforced during page fault. Since HugeTLB doesn't support page reclaim, enforcing the limit at page fault time implies that, the application will get SIGBUS signal if it tries to access HugeTLB pages beyond its limit. This requires the application to know beforehand how much HugeTLB pages it would require for its use. The control group is tracked in the third page lru pointer. This means that we cannot use the controller with huge page less than 3 pages. config CGROUP_PERF bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" depends on PERF_EVENTS && CGROUPS help This option extends the per-cpu mode to restrict monitoring to threads which belong to the cgroup specified and run on the designated cpu. Say N if unsure. menuconfig CGROUP_SCHED bool "Group CPU scheduler" default n help This feature lets CPU scheduler recognize task groups and control CPU bandwidth allocation to such task groups. It uses cgroups to group tasks. if CGROUP_SCHED config FAIR_GROUP_SCHED bool "Group scheduling for SCHED_OTHER" depends on CGROUP_SCHED default CGROUP_SCHED config CFS_BANDWIDTH bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED" depends on FAIR_GROUP_SCHED default n help This option allows users to define CPU bandwidth rates (limits) for tasks running within the fair group scheduler. Groups with no limit set are considered to be unconstrained and will run with no restriction. See tip/Documentation/scheduler/sched-bwc.txt for more information. config RT_GROUP_SCHED bool "Group scheduling for SCHED_RR/FIFO" depends on CGROUP_SCHED default n help This feature lets you explicitly allocate real CPU bandwidth to task groups. If enabled, it will also make it impossible to schedule realtime tasks for non-root users until you allocate realtime bandwidth for them. See Documentation/scheduler/sched-rt-group.txt for more information. endif #CGROUP_SCHED config BLK_CGROUP bool "Block IO controller" depends on BLOCK default n ---help--- Generic block IO controller cgroup interface. This is the common cgroup interface which should be used by various IO controlling policies. Currently, CFQ IO scheduler uses it to recognize task groups and control disk bandwidth allocation (proportional time slice allocation) to such task groups. It is also used by bio throttling logic in block layer to implement upper limit in IO rates on a device. This option only enables generic Block IO controller infrastructure. One needs to also enable actual IO controlling logic/policy. For enabling proportional weight division of disk bandwidth in CFQ, set CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set CONFIG_BLK_DEV_THROTTLING=y. See Documentation/cgroups/blkio-controller.txt for more information. config DEBUG_BLK_CGROUP bool "Enable Block IO controller debugging" depends on BLK_CGROUP default n ---help--- Enable some debugging help. Currently it exports additional stat files in a cgroup which can be useful for debugging. endif # CGROUPS config CHECKPOINT_RESTORE bool "Checkpoint/restore support" if EXPERT default n help Enables additional kernel features in a sake of checkpoint/restore. In particular it adds auxiliary prctl codes to setup process text, data and heap segment sizes, and a few additional /proc filesystem entries. If unsure, say N here. menuconfig NAMESPACES bool "Namespaces support" if EXPERT default !EXPERT help Provides the way to make tasks work with different objects using the same id. For example same IPC id may refer to different objects or same user id or pid may refer to different tasks when used in different namespaces. if NAMESPACES config UTS_NS bool "UTS namespace" default y help In this namespace tasks see different info provided with the uname() system call config IPC_NS bool "IPC namespace" depends on (SYSVIPC || POSIX_MQUEUE) default y help In this namespace tasks work with IPC ids which correspond to different IPC objects in different namespaces. config USER_NS bool "User namespace" select UIDGID_STRICT_TYPE_CHECKS default n help This allows containers, i.e. vservers, to use user namespaces to provide different user info for different servers. When user namespaces are enabled in the kernel it is recommended that the MEMCG and MEMCG_KMEM options also be enabled and that user-space use the memory control groups to limit the amount of memory a memory unprivileged users can use. If unsure, say N. config PID_NS bool "PID Namespaces" default y help Support process id namespaces. This allows having multiple processes with the same pid as long as they are in different pid namespaces. This is a building block of containers. config NET_NS bool "Network namespace" depends on NET default y help Allow user space to create what appear to be multiple instances of the network stack. endif # NAMESPACES config UIDGID_STRICT_TYPE_CHECKS bool "Require conversions between uid/gids and their internal representation" default n help While the nececessary conversions are being added to all subsystems this option allows the code to continue to build for unconverted subsystems. Say Y here if you want the strict type checking enabled config SCHED_AUTOGROUP bool "Automatic process group scheduling" select EVENTFD select CGROUPS select CGROUP_SCHED select FAIR_GROUP_SCHED help This option optimizes the scheduler for common desktop workloads by automatically creating and populating task groups. This separation of workloads isolates aggressive CPU burners (like build jobs) from desktop applications. Task group autogeneration is currently based upon task session. config MM_OWNER bool config SYSFS_DEPRECATED bool "Enable deprecated sysfs features to support old userspace tools" depends on SYSFS default n help This option adds code that switches the layout of the "block" class devices, to not show up in /sys/class/block/, but only in /sys/block/. This switch is only active when the sysfs.deprecated=1 boot option is passed or the SYSFS_DEPRECATED_V2 option is set. This option allows new kernels to run on old distributions and tools, which might get confused by /sys/class/block/. Since 2007/2008 all major distributions and tools handle this just fine. Recent distributions and userspace tools after 2009/2010 depend on the existence of /sys/class/block/, and will not work with this option enabled. Only if you are using a new kernel on an old distribution, you might need to say Y here. config SYSFS_DEPRECATED_V2 bool "Enable deprecated sysfs features by default" default n depends on SYSFS depends on SYSFS_DEPRECATED help Enable deprecated sysfs by default. See the CONFIG_SYSFS_DEPRECATED option for more details about this option. Only if you are using a new kernel on an old distribution, you might need to say Y here. Even then, odds are you would not need it enabled, you can always pass the boot option if absolutely necessary. config RELAY bool "Kernel->user space relay support (formerly relayfs)" help This option enables support for relay interface support in certain file systems (such as debugfs). It is designed to provide an efficient mechanism for tools and facilities to relay large amounts of data from kernel space to user space. If unsure, say N. config BLK_DEV_INITRD bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" depends on BROKEN || !FRV help The initial RAM filesystem is a ramfs which is loaded by the boot loader (loadlin or lilo) and that is mounted as root before the normal boot procedure. It is typically used to load modules needed to mount the "real" root file system, etc. See for details. If RAM disk support (BLK_DEV_RAM) is also included, this also enables initial RAM disk (initrd) support and adds 15 Kbytes (more on some other architectures) to the kernel size. If unsure say Y. if BLK_DEV_INITRD source "usr/Kconfig" endif config CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" help Enabling this option will pass "-Os" instead of "-O2" to gcc resulting in a smaller kernel. If unsure, say N. config SYSCTL bool config ANON_INODES bool config HAVE_UID16 bool config SYSCTL_EXCEPTION_TRACE bool help Enable support for /proc/sys/debug/exception-trace. config SYSCTL_ARCH_UNALIGN_NO_WARN bool help Enable support for /proc/sys/kernel/ignore-unaligned-usertrap Allows arch to define/use @no_unaligned_warning to possibly warn about unaligned access emulation going on under the hood. config SYSCTL_ARCH_UNALIGN_ALLOW bool help Enable support for /proc/sys/kernel/unaligned-trap Allows arches to define/use @unaligned_enabled to runtime toggle the unaligned access emulation. see arch/parisc/kernel/unaligned.c for reference config HAVE_PCSPKR_PLATFORM bool menuconfig EXPERT bool "Configure standard kernel features (expert users)" # Unhide debug options, to make the on-by-default options visible select DEBUG_KERNEL help This option allows certain base kernel options and settings to be disabled or tweaked. This is for specialized environments which can tolerate a "non-standard" kernel. Only use this if you really know what you are doing. config UID16 bool "Enable 16-bit UID system calls" if EXPERT depends on HAVE_UID16 default y help This enables the legacy 16-bit UID syscall wrappers. config SYSCTL_SYSCALL bool "Sysctl syscall support" if EXPERT depends on PROC_SYSCTL default n select SYSCTL ---help--- sys_sysctl uses binary paths that have been found challenging to properly maintain and use. The interface in /proc/sys using paths with ascii names is now the primary path to this information. Almost nothing using the binary sysctl interface so if you are trying to save some space it is probably safe to disable this, making your kernel marginally smaller. If unsure say N here. config KALLSYMS bool "Load all symbols for debugging/ksymoops" if EXPERT default y help Say Y here to let the kernel print out symbolic crash information and symbolic stack backtraces. This increases the size of the kernel somewhat, as all symbols have to be loaded into the kernel image. config KALLSYMS_ALL bool "Include all symbols in kallsyms" depends on DEBUG_KERNEL && KALLSYMS help Normally kallsyms only contains the symbols of functions for nicer OOPS messages and backtraces (i.e., symbols from the text and inittext sections). This is sufficient for most cases. And only in very rare cases (e.g., when a debugger is used) all symbols are required (e.g., names of variables from the data sections, etc). This option makes sure that all symbols are loaded into the kernel image (i.e., symbols from all sections) in cost of increased kernel size (depending on the kernel configuration, it may be 300KiB or something like this). Say N unless you really need all symbols. config PRINTK default y bool "Enable support for printk" if EXPERT select IRQ_WORK help This option enables normal printk support. Removing it eliminates most of the message strings from the kernel image and makes the kernel more or less silent. As this makes it very difficult to diagnose system problems, saying N here is strongly discouraged. config BUG bool "BUG() support" if EXPERT default y help Disabling this option eliminates support for BUG and WARN, reducing the size of your kernel image and potentially quietly ignoring numerous fatal conditions. You should only consider disabling this option for embedded systems with no facilities for reporting errors. Just say Y. config ELF_CORE depends on COREDUMP default y bool "Enable ELF core dumps" if EXPERT help Enable support for generating core dumps. Disabling saves about 4k. config PCSPKR_PLATFORM bool "Enable PC-Speaker support" if EXPERT depends on HAVE_PCSPKR_PLATFORM select I8253_LOCK default y help This option allows to disable the internal PC-Speaker support, saving some memory. config BASE_FULL default y bool "Enable full-sized data structures for core" if EXPERT help Disabling this option reduces the size of miscellaneous core kernel data structures. This saves memory on small machines, but may reduce performance. config FUTEX bool "Enable futex support" if EXPERT default y select RT_MUTEXES help Disabling this option will cause the kernel to be built without support for "fast userspace mutexes". The resulting kernel may not run glibc-based applications correctly. config EPOLL bool "Enable eventpoll support" if EXPERT default y select ANON_INODES help Disabling this option will cause the kernel to be built without support for epoll family of system calls. config SIGNALFD bool "Enable signalfd() system call" if EXPERT select ANON_INODES default y help Enable the signalfd() system call that allows to receive signals on a file descriptor. If unsure, say Y. config TIMERFD bool "Enable timerfd() system call" if EXPERT select ANON_INODES default y help Enable the timerfd() system call that allows to receive timer events on a file descriptor. If unsure, say Y. config EVENTFD bool "Enable eventfd() system call" if EXPERT select ANON_INODES default y help Enable the eventfd() system call that allows to receive both kernel notification (ie. KAIO) or userspace notifications. If unsure, say Y. config SHMEM bool "Use full shmem filesystem" if EXPERT default y depends on MMU help The shmem is an internal filesystem used to manage shared memory. It is backed by swap and manages resource limits. It is also exported to userspace as tmpfs if TMPFS is enabled. Disabling this option replaces shmem and tmpfs with the much simpler ramfs code, which may be appropriate on small systems without swap. config AIO bool "Enable AIO support" if EXPERT default y help This option enables POSIX asynchronous I/O which may by used by some high performance threaded applications. Disabling this option saves about 7k. config PCI_QUIRKS default y bool "Enable PCI quirk workarounds" if EXPERT depends on PCI help This enables workarounds for various PCI chipset bugs/quirks. Disable this only if your target machine is unaffected by PCI quirks. config EMBEDDED bool "Embedded system" select EXPERT help This option should be enabled if compiling the kernel for an embedded system so certain expert options are available for configuration. config HAVE_PERF_EVENTS bool help See tools/perf/design.txt for details. config PERF_USE_VMALLOC bool help See tools/perf/design.txt for details menu "Kernel Performance Events And Counters" config PERF_EVENTS bool "Kernel performance events and counters" default y if PROFILING depends on HAVE_PERF_EVENTS select ANON_INODES select IRQ_WORK help Enable kernel support for various performance events provided by software and hardware. Software events are supported either built-in or via the use of generic tracepoints. Most modern CPUs support performance events via performance counter registers. These registers count the number of certain types of hw events: such as instructions executed, cachemisses suffered, or branches mis-predicted - without slowing down the kernel or applications. These registers can also trigger interrupts when a threshold number of events have passed - and can thus be used to profile the code that runs on that CPU. The Linux Performance Event subsystem provides an abstraction of these software and hardware event capabilities, available via a system call and used by the "perf" utility in tools/perf/. It provides per task and per CPU counters, and it provides event capabilities on top of those. Say Y if unsure. config DEBUG_PERF_USE_VMALLOC default n bool "Debug: use vmalloc to back perf mmap() buffers" depends on PERF_EVENTS && DEBUG_KERNEL select PERF_USE_VMALLOC help Use vmalloc memory to back perf mmap() buffers. Mostly useful for debugging the vmalloc code on platforms that don't require it. Say N if unsure. endmenu config VM_EVENT_COUNTERS default y bool "Enable VM event counters for /proc/vmstat" if EXPERT help VM event counters are needed for event counts to be shown. This option allows the disabling of the VM event counters on EXPERT systems. /proc/vmstat will only show page counts if VM event counters are disabled. config SLUB_DEBUG default y bool "Enable SLUB debugging support" if EXPERT depends on SLUB && SYSFS help SLUB has extensive debug support features. Disabling these can result in significant savings in code size. This also disables SLUB sysfs support. /sys/slab will not exist and there will be no support for cache validation etc. config COMPAT_BRK bool "Disable heap randomization" default y help Randomizing heap placement makes heap exploits harder, but it also breaks ancient binaries (including anything libc5 based). This option changes the bootup default to heap randomization disabled, and can be overridden at runtime by setting /proc/sys/kernel/randomize_va_space to 2. On non-ancient distros (post-2000 ones) N is usually a safe choice. choice prompt "Choose SLAB allocator" default SLUB help This option allows to select a slab allocator. config SLAB bool "SLAB" help The regular slab allocator that is established and known to work well in all environments. It organizes cache hot objects in per cpu and per node queues. config SLUB bool "SLUB (Unqueued Allocator)" help SLUB is a slab allocator that minimizes cache line usage instead of managing queues of cached objects (SLAB approach). Per cpu caching is realized using slabs of objects instead of queues of objects. SLUB can use memory efficiently and has enhanced diagnostics. SLUB is the default choice for a slab allocator. config SLOB depends on EXPERT bool "SLOB (Simple Allocator)" help SLOB replaces the stock allocator with a drastically simpler allocator. SLOB is generally more space efficient but does not perform as well on large systems. endchoice config SLUB_CPU_PARTIAL default y depends on SLUB && SMP bool "SLUB per cpu partial cache" help Per cpu partial caches accellerate objects allocation and freeing that is local to a processor at the price of more indeterminism in the latency of the free. On overflow these caches will be cleared which requires the taking of locks that may cause latency spikes. Typically one would choose no for a realtime system. config MMAP_ALLOW_UNINITIALIZED bool "Allow mmapped anonymous memory to be uninitialized" depends on EXPERT && !MMU default n help Normally, and according to the Linux spec, anonymous memory obtained from mmap() has it's contents cleared before it is passed to userspace. Enabling this config option allows you to request that mmap() skip that if it is given an MAP_UNINITIALIZED flag, thus providing a huge performance boost. If this option is not enabled, then the flag will be ignored. This is taken advantage of by uClibc's malloc(), and also by ELF-FDPIC binfmt's brk and stack allocator. Because of the obvious security issues, this option should only be enabled on embedded devices where you control what is run in userspace. Since that isn't generally a problem on no-MMU systems, it is normally safe to say Y here. See Documentation/nommu-mmap.txt for more information. config PROFILING bool "Profiling support" help Say Y here to enable the extended profiling support mechanisms used by profilers such as OProfile. # # Place an empty function call at each tracepoint site. Can be # dynamically changed for a probe function. # config TRACEPOINTS bool source "arch/Kconfig" endmenu # General setup config HAVE_GENERIC_DMA_COHERENT bool default n config SLABINFO bool depends on PROC_FS depends on SLAB || SLUB_DEBUG default y config RT_MUTEXES boolean config BASE_SMALL int default 0 if BASE_FULL default 1 if !BASE_FULL config SYSTEM_TRUSTED_KEYRING bool "Provide system-wide ring of trusted keys" depends on KEYS help Provide a system keyring to which trusted keys can be added. Keys in the keyring are considered to be trusted. Keys may be added at will by the kernel from compiled-in data and from hardware key stores, but userspace may only add extra keys if those keys can be verified by keys already in the keyring. Keys in this keyring are used by module signature checking. menuconfig MODULES bool "Enable loadable module support" option modules help Kernel modules are small pieces of compiled code which can be inserted in the running kernel, rather than being permanently built into the kernel. You use the "modprobe" tool to add (and sometimes remove) them. If you say Y here, many parts of the kernel can be built as modules (by answering M instead of Y where indicated): this is most useful for infrequently used options which are not required for booting. For more information, see the man pages for modprobe, lsmod, modinfo, insmod and rmmod. If you say Y here, you will need to run "make modules_install" to put the modules under /lib/modules/ where modprobe can find them (you may need to be root to do this). If unsure, say Y. if MODULES config MODULE_FORCE_LOAD bool "Forced module loading" default n help Allow loading of modules without version information (ie. modprobe --force). Forced module loading sets the 'F' (forced) taint flag and is usually a really bad idea. config MODULE_UNLOAD bool "Module unloading" help Without this option you will not be able to unload any modules (note that some modules may not be unloadable anyway), which makes your kernel smaller, faster and simpler. If unsure, say Y. config MODULE_FORCE_UNLOAD bool "Forced module unloading" depends on MODULE_UNLOAD help This option allows you to force a module to unload, even if the kernel believes it is unsafe: the kernel will remove the module without waiting for anyone to stop using it (using the -f option to rmmod). This is mainly for kernel developers and desperate users. If unsure, say N. config MODVERSIONS bool "Module versioning support" help Usually, you have to use modules compiled with your kernel. Saying Y here makes it sometimes possible to use modules compiled for different kernels, by adding enough information to the modules to (hopefully) spot any changes which would make them incompatible with the kernel you are running. If unsure, say N. config MODULE_SRCVERSION_ALL bool "Source checksum for all modules" help Modules which contain a MODULE_VERSION get an extra "srcversion" field inserted into their modinfo section, which contains a sum of the source files which made it. This helps maintainers see exactly which source was used to build a module (since others sometimes change the module source without updating the version). With this option, such a "srcversion" field will be created for all modules. If unsure, say N. config MODULE_SIG bool "Module signature verification" depends on MODULES select SYSTEM_TRUSTED_KEYRING select KEYS select CRYPTO select ASYMMETRIC_KEY_TYPE select ASYMMETRIC_PUBLIC_KEY_SUBTYPE select PUBLIC_KEY_ALGO_RSA select ASN1 select OID_REGISTRY select X509_CERTIFICATE_PARSER help Check modules for valid signatures upon load: the signature is simply appended to the module. For more information see Documentation/module-signing.txt. !!!WARNING!!! If you enable this option, you MUST make sure that the module DOES NOT get stripped after being signed. This includes the debuginfo strip done by some packagers (such as rpmbuild) and inclusion into an initramfs that wants the module size reduced. config MODULE_SIG_FORCE bool "Require modules to be validly signed" depends on MODULE_SIG help Reject unsigned modules or signed modules for which we don't have a key. Without this, such modules will simply taint the kernel. config MODULE_SIG_ALL bool "Automatically sign all modules" default y depends on MODULE_SIG help Sign all modules during make modules_install. Without this option, modules must be signed manually, using the scripts/sign-file tool. comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL choice prompt "Which hash algorithm should modules be signed with?" depends on MODULE_SIG help This determines which sort of hashing algorithm will be used during signature generation. This algorithm _must_ be built into the kernel directly so that signature verification can take place. It is not possible to load a signed module containing the algorithm to check the signature on that module. config MODULE_SIG_SHA1 bool "Sign modules with SHA-1" select CRYPTO_SHA1 config MODULE_SIG_SHA224 bool "Sign modules with SHA-224" select CRYPTO_SHA256 config MODULE_SIG_SHA256 bool "Sign modules with SHA-256" select CRYPTO_SHA256 config MODULE_SIG_SHA384 bool "Sign modules with SHA-384" select CRYPTO_SHA512 config MODULE_SIG_SHA512 bool "Sign modules with SHA-512" select CRYPTO_SHA512 endchoice config MODULE_SIG_HASH string depends on MODULE_SIG default "sha1" if MODULE_SIG_SHA1 default "sha224" if MODULE_SIG_SHA224 default "sha256" if MODULE_SIG_SHA256 default "sha384" if MODULE_SIG_SHA384 default "sha512" if MODULE_SIG_SHA512 endif # MODULES config INIT_ALL_POSSIBLE bool help Back when each arch used to define their own cpu_online_mask and cpu_possible_mask, some of them chose to initialize cpu_possible_mask with all 1s, and others with all 0s. When they were centralised, it was better to provide this option than to break all the archs and have several arch maintainers pursuing me down dark alleys. config STOP_MACHINE bool default y depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU help Need stop_machine() primitive. source "block/Kconfig" config PREEMPT_NOTIFIERS bool config PADATA depends on SMP bool # Can be selected by architectures with broken toolchains # that get confused by correct const<->read_only section # mappings config BROKEN_RODATA bool config ASN1 tristate help Build a simple ASN.1 grammar compiler that produces a bytecode output that can be interpreted by the ASN.1 stream decoder and used to inform it as to what tags are to be expected in a stream and what functions to call on what tags. source "kernel/Kconfig.locks" menu "GCOV-based kernel profiling" config GCOV_KERNEL bool "Enable gcov-based kernel profiling" depends on DEBUG_FS select CONSTRUCTORS if !UML default n ---help--- This option enables gcov-based code profiling (e.g. for code coverage measurements). If unsure, say N. Additionally specify CONFIG_GCOV_PROFILE_ALL=y to get profiling data for the entire kernel. To enable profiling for specific files or directories, add a line similar to the following to the respective Makefile: For a single file (e.g. main.o): GCOV_PROFILE_main.o := y For all files in one directory: GCOV_PROFILE := y To exclude files from being profiled even when CONFIG_GCOV_PROFILE_ALL is specified, use: GCOV_PROFILE_main.o := n and: GCOV_PROFILE := n Note that the debugfs filesystem has to be mounted to access profiling data. config GCOV_PROFILE_ALL bool "Profile entire Kernel" depends on GCOV_KERNEL depends on SUPERH || S390 || X86 || PPC || MICROBLAZE default n ---help--- This options activates profiling for the entire kernel. If unsure, say N. Note that a kernel compiled with profiling flags will be significantly larger and run slower. Also be sure to exclude files from profiling which are not linked to the kernel image to prevent linker errors. choice prompt "Specify GCOV format" depends on GCOV_KERNEL default GCOV_FORMAT_AUTODETECT ---help--- The gcov format is usually determined by the GCC version, but there are exceptions where format changes are integrated in lower-version GCCs. In such a case use this option to adjust the format used in the kernel accordingly. If unsure, choose "Autodetect". config GCOV_FORMAT_AUTODETECT bool "Autodetect" ---help--- Select this option to use the format that corresponds to your GCC version. config GCOV_FORMAT_3_4 bool "GCC 3.4 format" ---help--- Select this option to use the format defined by GCC 3.4. config GCOV_FORMAT_4_7 bool "GCC 4.7 format" ---help--- Select this option to use the format defined by GCC 4.7. endchoice endmenu menu "IRQ subsystem" # Options selectable by the architecture code # Make sparse irq Kconfig switch below available config MAY_HAVE_SPARSE_IRQ bool # Enable the generic irq autoprobe mechanism config GENERIC_IRQ_PROBE bool # Use the generic /proc/interrupts implementation config GENERIC_IRQ_SHOW bool # Print level/edge extra information config GENERIC_IRQ_SHOW_LEVEL bool # Support for delayed migration from interrupt context config GENERIC_PENDING_IRQ bool # Alpha specific irq affinity mechanism config AUTO_IRQ_AFFINITY bool # Tasklet based software resend for pending interrupts on enable_irq() config HARDIRQS_SW_RESEND bool # Preflow handler support for fasteoi (sparc64) config IRQ_PREFLOW_FASTEOI bool # Edge style eoi based handler (cell) config IRQ_EDGE_EOI_HANDLER bool # Generic configurable interrupt chip implementation config GENERIC_IRQ_CHIP bool # Generic irq_domain hw <--> linux irq number translation config IRQ_DOMAIN bool config IRQ_DOMAIN_DEBUG bool "Expose hardware/virtual IRQ mapping via debugfs" depends on IRQ_DOMAIN && DEBUG_FS help This option will show the mapping relationship between hardware irq numbers and Linux irq numbers. The mapping is exposed via debugfs in the file "irq_domain_mapping". If you don't know what this means you don't need it. # Support forced irq threading config IRQ_FORCED_THREADING bool config SPARSE_IRQ bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ ---help--- Sparse irq numbering is useful for distro kernels that want to define a high CONFIG_NR_CPUS value but still want to have low kernel memory footprint on smaller machines. ( Sparse irqs can also be beneficial on NUMA boxes, as they spread out the interrupt descriptors in a more NUMA-friendly way. ) If you don't know what to do here, say N. endmenu config SUSPEND bool "Suspend to RAM and standby" depends on ARCH_SUSPEND_POSSIBLE default y ---help--- Allow the system to enter sleep states in which main memory is powered and thus its contents are preserved, such as the suspend-to-RAM state (e.g. the ACPI S3 state). config SUSPEND_FREEZER bool "Enable freezer for suspend to RAM/standby" \ if ARCH_WANTS_FREEZER_CONTROL || BROKEN depends on SUSPEND default y help This allows you to turn off the freezer for suspend. If this is done, no tasks are frozen for suspend to RAM/standby. Turning OFF this setting is NOT recommended! If in doubt, say Y. config HIBERNATE_CALLBACKS bool config HIBERNATION bool "Hibernation (aka 'suspend to disk')" depends on SWAP && ARCH_HIBERNATION_POSSIBLE select HIBERNATE_CALLBACKS select LZO_COMPRESS select LZO_DECOMPRESS select CRC32 ---help--- Enable the suspend to disk (STD) functionality, which is usually called "hibernation" in user interfaces. STD checkpoints the system and powers it off; and restores that checkpoint on reboot. You can suspend your machine with 'echo disk > /sys/power/state' after placing resume=/dev/swappartition on the kernel command line in your bootloader's configuration file. Alternatively, you can use the additional userland tools available from . In principle it does not require ACPI or APM, although for example ACPI will be used for the final steps when it is available. One of the reasons to use software suspend is that the firmware hooks for suspend states like suspend-to-RAM (STR) often don't work very well with Linux. It creates an image which is saved in your active swap. Upon the next boot, pass the 'resume=/dev/swappartition' argument to the kernel to have it detect the saved image, restore memory state from it, and continue to run as before. If you do not want the previous state to be reloaded, then use the 'noresume' kernel command line argument. Note, however, that fsck will be run on your filesystems and you will need to run mkswap against the swap partition used for the suspend. It also works with swap files to a limited extent (for details see ). Right now you may boot without resuming and resume later but in the meantime you cannot use the swap partition(s)/file(s) involved in suspending. Also in this case you must not use the filesystems that were mounted before the suspend. In particular, you MUST NOT MOUNT any journaled filesystems mounted before the suspend or they will get corrupted in a nasty way. For more information take a look at . config ARCH_SAVE_PAGE_KEYS bool config PM_STD_PARTITION string "Default resume partition" depends on HIBERNATION default "" ---help--- The default resume partition is the partition that the suspend- to-disk implementation will look for a suspended disk image. The partition specified here will be different for almost every user. It should be a valid swap partition (at least for now) that is turned on before suspending. The partition specified can be overridden by specifying: resume=/dev/ which will set the resume partition to the device specified. Note there is currently not a way to specify which device to save the suspended image to. It will simply pick the first available swap device. config PM_SLEEP def_bool y depends on SUSPEND || HIBERNATE_CALLBACKS config PM_SLEEP_SMP def_bool y depends on SMP depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE depends on PM_SLEEP select HOTPLUG_CPU config PM_AUTOSLEEP bool "Opportunistic sleep" depends on PM_SLEEP default n ---help--- Allow the kernel to trigger a system transition into a global sleep state automatically whenever there are no active wakeup sources. config PM_WAKELOCKS bool "User space wakeup sources interface" depends on PM_SLEEP default n ---help--- Allow user space to create, activate and deactivate wakeup source objects with the help of a sysfs-based interface. config PM_WAKELOCKS_LIMIT int "Maximum number of user space wakeup sources (0 = no limit)" range 0 100000 default 100 depends on PM_WAKELOCKS config PM_WAKELOCKS_GC bool "Garbage collector for user space wakeup sources" depends on PM_WAKELOCKS default y config PM_RUNTIME bool "Run-time PM core functionality" depends on !IA64_HP_SIM ---help--- Enable functionality allowing I/O devices to be put into energy-saving (low power) states at run time (or autosuspended) after a specified period of inactivity and woken up in response to a hardware-generated wake-up event or a driver's request. Hardware support is generally required for this functionality to work and the bus type drivers of the buses the devices are on are responsible for the actual handling of the autosuspend requests and wake-up events. config PM def_bool y depends on PM_SLEEP || PM_RUNTIME config PM_DEBUG bool "Power Management Debug Support" depends on PM ---help--- This option enables various debugging support in the Power Management code. This is helpful when debugging and reporting PM bugs, like suspend support. config PM_ADVANCED_DEBUG bool "Extra PM attributes in sysfs for low-level debugging/testing" depends on PM_DEBUG ---help--- Add extra sysfs attributes allowing one to access some Power Management fields of device objects from user space. If you are not a kernel developer interested in debugging/testing Power Management, say "no". config PM_TEST_SUSPEND bool "Test suspend/resume and wakealarm during bootup" depends on SUSPEND && PM_DEBUG && RTC_CLASS=y ---help--- This option will let you suspend your machine during bootup, and make it wake up a few seconds later using an RTC wakeup alarm. Enable this with a kernel parameter like "test_suspend=mem". You probably want to have your system's RTC driver statically linked, ensuring that it's available when this test runs. config PM_SLEEP_DEBUG def_bool y depends on PM_DEBUG && PM_SLEEP config DPM_WATCHDOG bool "Device suspend/resume watchdog" depends on PM_DEBUG && PSTORE ---help--- Sets up a watchdog timer to capture drivers that are locked up attempting to suspend/resume a device. A detected lockup causes system panic with message captured in pstore device for inspection in subsequent boot session. config DPM_WATCHDOG_TIMEOUT int "Watchdog timeout in seconds" range 1 120 default 12 depends on DPM_WATCHDOG config PM_TRACE bool help This enables code to save the last PM event point across reboot. The architecture needs to support this, x86 for example does by saving things in the RTC, see below. The architecture specific code must provide the extern functions from as well as the header with a TRACE_RESUME() macro. The way the information is presented is architecture- dependent, x86 will print the information during a late_initcall. config PM_TRACE_RTC bool "Suspend/resume event tracing" depends on PM_SLEEP_DEBUG depends on X86 select PM_TRACE ---help--- This enables some cheesy code to save the last PM event point in the RTC across reboots, so that you can debug a machine that just hangs during suspend (or more commonly, during resume). To use this debugging feature you should attempt to suspend the machine, reboot it and then run dmesg -s 1000000 | grep 'hash matches' CAUTION: this option will cause your machine's real-time clock to be set to an invalid time after a resume. config APM_EMULATION tristate "Advanced Power Management Emulation" depends on PM && SYS_SUPPORTS_APM_EMULATION help APM is a BIOS specification for saving power using several different techniques. This is mostly useful for battery powered laptops with APM compliant BIOSes. If you say Y here, the system time will be reset after a RESUME operation, the /proc/apm device will provide battery status information, and user-space programs will receive notification of APM "events" (e.g. battery status change). In order to use APM, you will need supporting software. For location and more information, read and the Battery Powered Linux mini-HOWTO, available from . This driver does not spin down disk drives (see the hdparm(8) manpage ("man 8 hdparm") for that), and it doesn't turn off VESA-compliant "green" monitors. Generally, if you don't have a battery in your machine, there isn't much point in using this driver and you should say N. If you get random kernel OOPSes or reboots that don't seem to be related to anything, try disabling/enabling this option (or disabling/enabling APM in your BIOS). config ARCH_HAS_OPP bool config PM_OPP bool "Operating Performance Point (OPP) Layer library" depends on ARCH_HAS_OPP ---help--- SOCs have a standard set of tuples consisting of frequency and voltage pairs that the device will support per voltage domain. This is called Operating Performance Point or OPP. The actual definitions of OPP varies over silicon within the same family of devices. OPP layer organizes the data internally using device pointers representing individual voltage domains and provides SOC implementations a ready to use framework to manage OPPs. For more information, read config PM_CLK def_bool y depends on PM && HAVE_CLK config PM_GENERIC_DOMAINS bool depends on PM config WQ_POWER_EFFICIENT_DEFAULT bool "Enable workqueue power-efficient mode by default" depends on PM default n help Per-cpu workqueues are generally preferred because they show better performance thanks to cache locality; unfortunately, per-cpu workqueues tend to be more power hungry than unbound workqueues. Enabling workqueue.power_efficient kernel parameter makes the per-cpu workqueues which were observed to contribute significantly to power consumption unbound, leading to measurably lower power usage at the cost of small performance overhead. This config option determines whether workqueue.power_efficient is enabled by default. If in doubt, say N. config PM_GENERIC_DOMAINS_SLEEP def_bool y depends on PM_SLEEP && PM_GENERIC_DOMAINS config PM_GENERIC_DOMAINS_RUNTIME def_bool y depends on PM_RUNTIME && PM_GENERIC_DOMAINS config CPU_PM bool depends on SUSPEND || CPU_IDLE # # Timer subsystem related configuration options # # Options selectable by arch Kconfig # Watchdog function for clocksources to detect instabilities config CLOCKSOURCE_WATCHDOG bool # Architecture has extra clocksource data config ARCH_CLOCKSOURCE_DATA bool # Timekeeping vsyscall support config GENERIC_TIME_VSYSCALL bool # Timekeeping vsyscall support config GENERIC_TIME_VSYSCALL_OLD bool # ktime_t scalar 64bit nsec representation config KTIME_SCALAR bool # Old style timekeeping config ARCH_USES_GETTIMEOFFSET bool # The generic clock events infrastructure config GENERIC_CLOCKEVENTS bool # Migration helper. Builds, but does not invoke config GENERIC_CLOCKEVENTS_BUILD bool default y depends on GENERIC_CLOCKEVENTS # Architecture can handle broadcast in a driver-agnostic way config ARCH_HAS_TICK_BROADCAST bool # Clockevents broadcasting infrastructure config GENERIC_CLOCKEVENTS_BROADCAST bool depends on GENERIC_CLOCKEVENTS # Automatically adjust the min. reprogramming time for # clock event device config GENERIC_CLOCKEVENTS_MIN_ADJUST bool # Generic update of CMOS clock config GENERIC_CMOS_UPDATE bool if GENERIC_CLOCKEVENTS menu "Timers subsystem" # Core internal switch. Selected by NO_HZ_COMMON / HIGH_RES_TIMERS. This is # only related to the tick functionality. Oneshot clockevent devices # are supported independ of this. config TICK_ONESHOT bool config NO_HZ_COMMON bool depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS select TICK_ONESHOT choice prompt "Timer tick handling" default NO_HZ_IDLE if NO_HZ config HZ_PERIODIC bool "Periodic timer ticks (constant rate, no dynticks)" help This option keeps the tick running periodically at a constant rate, even when the CPU doesn't need it. config NO_HZ_IDLE bool "Idle dynticks system (tickless idle)" depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS select NO_HZ_COMMON help This option enables a tickless idle system: timer interrupts will only trigger on an as-needed basis when the system is idle. This is usually interesting for energy saving. Most of the time you want to say Y here. config NO_HZ_FULL bool "Full dynticks system (tickless)" # NO_HZ_COMMON dependency depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS # We need at least one periodic CPU for timekeeping depends on SMP # RCU_USER_QS dependency depends on HAVE_CONTEXT_TRACKING # VIRT_CPU_ACCOUNTING_GEN dependency depends on HAVE_VIRT_CPU_ACCOUNTING_GEN select NO_HZ_COMMON select RCU_USER_QS select RCU_NOCB_CPU select VIRT_CPU_ACCOUNTING_GEN select IRQ_WORK help Adaptively try to shutdown the tick whenever possible, even when the CPU is running tasks. Typically this requires running a single task on the CPU. Chances for running tickless are maximized when the task mostly runs in userspace and has few kernel activity. You need to fill up the nohz_full boot parameter with the desired range of dynticks CPUs. This is implemented at the expense of some overhead in user <-> kernel transitions: syscalls, exceptions and interrupts. Even when it's dynamically off. Say N. endchoice config NO_HZ_FULL_ALL bool "Full dynticks system on all CPUs by default" depends on NO_HZ_FULL help If the user doesn't pass the nohz_full boot option to define the range of full dynticks CPUs, consider that all CPUs in the system are full dynticks by default. Note the boot CPU will still be kept outside the range to handle the timekeeping duty. config NO_HZ_FULL_SYSIDLE bool "Detect full-system idle state for full dynticks system" depends on NO_HZ_FULL default n help At least one CPU must keep the scheduling-clock tick running for timekeeping purposes whenever there is a non-idle CPU, where "non-idle" also includes dynticks CPUs as long as they are running non-idle tasks. Because the underlying adaptive-tick support cannot distinguish between all CPUs being idle and all CPUs each running a single task in dynticks mode, the underlying support simply ensures that there is always a CPU handling the scheduling-clock tick, whether or not all CPUs are idle. This Kconfig option enables scalable detection of the all-CPUs-idle state, thus allowing the scheduling-clock tick to be disabled when all CPUs are idle. Note that scalable detection of the all-CPUs-idle state means that larger systems will be slower to declare the all-CPUs-idle state. Say Y if you would like to help debug all-CPUs-idle detection. Say N if you are unsure. config NO_HZ_FULL_SYSIDLE_SMALL int "Number of CPUs above which large-system approach is used" depends on NO_HZ_FULL_SYSIDLE range 1 NR_CPUS default 8 help The full-system idle detection mechanism takes a lazy approach on large systems, as is required to attain decent scalability. However, on smaller systems, scalability is not anywhere near as large a concern as is energy efficiency. The sysidle subsystem therefore uses a fast but non-scalable algorithm for small systems and a lazier but scalable algorithm for large systems. This Kconfig parameter defines the number of CPUs in the largest system that will be considered to be "small". The default value will be fine in most cases. Battery-powered systems that (1) enable NO_HZ_FULL_SYSIDLE, (2) have larger numbers of CPUs, and (3) are suffering from battery-lifetime problems due to long sysidle latencies might wish to experiment with larger values for this Kconfig parameter. On the other hand, they might be even better served by disabling NO_HZ_FULL entirely, given that NO_HZ_FULL is intended for HPC and real-time workloads that at present do not tend to be run on battery-powered systems. Take the default if you are unsure. config NO_HZ bool "Old Idle dynticks config" depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS help This is the old config entry that enables dynticks idle. We keep it around for a little while to enforce backward compatibility with older config files. config HIGH_RES_TIMERS bool "High Resolution Timer Support" depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS select TICK_ONESHOT help This option enables high resolution timer support. If your hardware is not capable then this option only increases the size of the kernel image. endmenu endif # # Architectures that offer an FUNCTION_TRACER implementation should # select HAVE_FUNCTION_TRACER: # config USER_STACKTRACE_SUPPORT bool config NOP_TRACER bool config HAVE_FTRACE_NMI_ENTER bool help See Documentation/trace/ftrace-design.txt config HAVE_FUNCTION_TRACER bool help See Documentation/trace/ftrace-design.txt config HAVE_FUNCTION_GRAPH_TRACER bool help See Documentation/trace/ftrace-design.txt config HAVE_FUNCTION_GRAPH_FP_TEST bool help See Documentation/trace/ftrace-design.txt config HAVE_FUNCTION_TRACE_MCOUNT_TEST bool help See Documentation/trace/ftrace-design.txt config HAVE_DYNAMIC_FTRACE bool help See Documentation/trace/ftrace-design.txt config HAVE_DYNAMIC_FTRACE_WITH_REGS bool config HAVE_FTRACE_MCOUNT_RECORD bool help See Documentation/trace/ftrace-design.txt config HAVE_SYSCALL_TRACEPOINTS bool help See Documentation/trace/ftrace-design.txt config HAVE_FENTRY bool help Arch supports the gcc options -pg with -mfentry config HAVE_C_RECORDMCOUNT bool help C version of recordmcount available? config TRACER_MAX_TRACE bool config TRACE_CLOCK bool config RING_BUFFER bool select TRACE_CLOCK select IRQ_WORK config FTRACE_NMI_ENTER bool depends on HAVE_FTRACE_NMI_ENTER default y config EVENT_TRACING select CONTEXT_SWITCH_TRACER bool config CONTEXT_SWITCH_TRACER bool config RING_BUFFER_ALLOW_SWAP bool help Allow the use of ring_buffer_swap_cpu. Adds a very slight overhead to tracing when enabled. # All tracer options should select GENERIC_TRACER. For those options that are # enabled by all tracers (context switch and event tracer) they select TRACING. # This allows those options to appear when no other tracer is selected. But the # options do not appear when something else selects it. We need the two options # GENERIC_TRACER and TRACING to avoid circular dependencies to accomplish the # hiding of the automatic options. config TRACING bool select DEBUG_FS select RING_BUFFER select STACKTRACE if STACKTRACE_SUPPORT select TRACEPOINTS select NOP_TRACER select BINARY_PRINTF select EVENT_TRACING select TRACE_CLOCK config GENERIC_TRACER bool select TRACING # # Minimum requirements an architecture has to meet for us to # be able to offer generic tracing facilities: # config TRACING_SUPPORT bool # PPC32 has no irqflags tracing support, but it can use most of the # tracers anyway, they were tested to build and work. Note that new # exceptions to this list aren't welcomed, better implement the # irqflags tracing for your architecture. depends on TRACE_IRQFLAGS_SUPPORT || PPC32 depends on STACKTRACE_SUPPORT default y if TRACING_SUPPORT menuconfig FTRACE bool "Tracers" default y if DEBUG_KERNEL help Enable the kernel tracing infrastructure. if FTRACE config FUNCTION_TRACER bool "Kernel Function Tracer" depends on HAVE_FUNCTION_TRACER select KALLSYMS select GENERIC_TRACER select CONTEXT_SWITCH_TRACER help Enable the kernel to trace every kernel function. This is done by using a compiler feature to insert a small, 5-byte No-Operation instruction at the beginning of every kernel function, which NOP sequence is then dynamically patched into a tracer call when tracing is enabled by the administrator. If it's runtime disabled (the bootup default), then the overhead of the instructions is very small and not measurable even in micro-benchmarks. config FUNCTION_GRAPH_TRACER bool "Kernel Function Graph Tracer" depends on HAVE_FUNCTION_GRAPH_TRACER depends on FUNCTION_TRACER depends on !X86_32 || !CC_OPTIMIZE_FOR_SIZE default y help Enable the kernel to trace a function at both its return and its entry. Its first purpose is to trace the duration of functions and draw a call graph for each thread with some information like the return value. This is done by setting the current return address on the current task structure into a stack of calls. config IRQSOFF_TRACER bool "Interrupts-off Latency Tracer" default n depends on TRACE_IRQFLAGS_SUPPORT depends on !ARCH_USES_GETTIMEOFFSET select TRACE_IRQFLAGS select GENERIC_TRACER select TRACER_MAX_TRACE select RING_BUFFER_ALLOW_SWAP select TRACER_SNAPSHOT select TRACER_SNAPSHOT_PER_CPU_SWAP help This option measures the time spent in irqs-off critical sections, with microsecond accuracy. The default measurement method is a maximum search, which is disabled by default and can be runtime (re-)started via: echo 0 > /sys/kernel/debug/tracing/tracing_max_latency (Note that kernel size and overhead increase with this option enabled. This option and the preempt-off timing option can be used together or separately.) config PREEMPT_TRACER bool "Preemption-off Latency Tracer" default n depends on !ARCH_USES_GETTIMEOFFSET depends on PREEMPT select GENERIC_TRACER select TRACER_MAX_TRACE select RING_BUFFER_ALLOW_SWAP select TRACER_SNAPSHOT select TRACER_SNAPSHOT_PER_CPU_SWAP help This option measures the time spent in preemption-off critical sections, with microsecond accuracy. The default measurement method is a maximum search, which is disabled by default and can be runtime (re-)started via: echo 0 > /sys/kernel/debug/tracing/tracing_max_latency (Note that kernel size and overhead increase with this option enabled. This option and the irqs-off timing option can be used together or separately.) config SCHED_TRACER bool "Scheduling Latency Tracer" select GENERIC_TRACER select CONTEXT_SWITCH_TRACER select TRACER_MAX_TRACE select TRACER_SNAPSHOT help This tracer tracks the latency of the highest priority task to be scheduled in, starting from the point it has woken up. config ENABLE_DEFAULT_TRACERS bool "Trace process context switches and events" depends on !GENERIC_TRACER select TRACING help This tracer hooks to various trace points in the kernel, allowing the user to pick and choose which trace point they want to trace. It also includes the sched_switch tracer plugin. config FTRACE_SYSCALLS bool "Trace syscalls" depends on HAVE_SYSCALL_TRACEPOINTS select GENERIC_TRACER select KALLSYMS help Basic tracer to catch the syscall entry and exit events. config TRACER_SNAPSHOT bool "Create a snapshot trace buffer" select TRACER_MAX_TRACE help Allow tracing users to take snapshot of the current buffer using the ftrace interface, e.g.: echo 1 > /sys/kernel/debug/tracing/snapshot cat snapshot config TRACER_SNAPSHOT_PER_CPU_SWAP bool "Allow snapshot to swap per CPU" depends on TRACER_SNAPSHOT select RING_BUFFER_ALLOW_SWAP help Allow doing a snapshot of a single CPU buffer instead of a full swap (all buffers). If this is set, then the following is allowed: echo 1 > /sys/kernel/debug/tracing/per_cpu/cpu2/snapshot After which, only the tracing buffer for CPU 2 was swapped with the main tracing buffer, and the other CPU buffers remain the same. When this is enabled, this adds a little more overhead to the trace recording, as it needs to add some checks to synchronize recording with swaps. But this does not affect the performance of the overall system. This is enabled by default when the preempt or irq latency tracers are enabled, as those need to swap as well and already adds the overhead (plus a lot more). config TRACE_BRANCH_PROFILING bool select GENERIC_TRACER choice prompt "Branch Profiling" default BRANCH_PROFILE_NONE help The branch profiling is a software profiler. It will add hooks into the C conditionals to test which path a branch takes. The likely/unlikely profiler only looks at the conditions that are annotated with a likely or unlikely macro. The "all branch" profiler will profile every if-statement in the kernel. This profiler will also enable the likely/unlikely profiler. Either of the above profilers adds a bit of overhead to the system. If unsure, choose "No branch profiling". config BRANCH_PROFILE_NONE bool "No branch profiling" help No branch profiling. Branch profiling adds a bit of overhead. Only enable it if you want to analyse the branching behavior. Otherwise keep it disabled. config PROFILE_ANNOTATED_BRANCHES bool "Trace likely/unlikely profiler" select TRACE_BRANCH_PROFILING help This tracer profiles all likely and unlikely macros in the kernel. It will display the results in: /sys/kernel/debug/tracing/trace_stat/branch_annotated Note: this will add a significant overhead; only turn this on if you need to profile the system's use of these macros. config PROFILE_ALL_BRANCHES bool "Profile all if conditionals" select TRACE_BRANCH_PROFILING help This tracer profiles all branch conditions. Every if () taken in the kernel is recorded whether it hit or miss. The results will be displayed in: /sys/kernel/debug/tracing/trace_stat/branch_all This option also enables the likely/unlikely profiler. This configuration, when enabled, will impose a great overhead on the system. This should only be enabled when the system is to be analyzed in much detail. endchoice config TRACING_BRANCHES bool help Selected by tracers that will trace the likely and unlikely conditions. This prevents the tracers themselves from being profiled. Profiling the tracing infrastructure can only happen when the likelys and unlikelys are not being traced. config BRANCH_TRACER bool "Trace likely/unlikely instances" depends on TRACE_BRANCH_PROFILING select TRACING_BRANCHES help This traces the events of likely and unlikely condition calls in the kernel. The difference between this and the "Trace likely/unlikely profiler" is that this is not a histogram of the callers, but actually places the calling events into a running trace buffer to see when and where the events happened, as well as their results. Say N if unsure. config STACK_TRACER bool "Trace max stack" depends on HAVE_FUNCTION_TRACER select FUNCTION_TRACER select STACKTRACE select KALLSYMS help This special tracer records the maximum stack footprint of the kernel and displays it in /sys/kernel/debug/tracing/stack_trace. This tracer works by hooking into every function call that the kernel executes, and keeping a maximum stack depth value and stack-trace saved. If this is configured with DYNAMIC_FTRACE then it will not have any overhead while the stack tracer is disabled. To enable the stack tracer on bootup, pass in 'stacktrace' on the kernel command line. The stack tracer can also be enabled or disabled via the sysctl kernel.stack_tracer_enabled Say N if unsure. config BLK_DEV_IO_TRACE bool "Support for tracing block IO actions" depends on SYSFS depends on BLOCK select RELAY select DEBUG_FS select TRACEPOINTS select GENERIC_TRACER select STACKTRACE help Say Y here if you want to be able to trace the block layer actions on a given queue. Tracing allows you to see any traffic happening on a block device queue. For more information (and the userspace support tools needed), fetch the blktrace tools from: git://git.kernel.dk/blktrace.git Tracing also is possible using the ftrace interface, e.g.: echo 1 > /sys/block/sda/sda1/trace/enable echo blk > /sys/kernel/debug/tracing/current_tracer cat /sys/kernel/debug/tracing/trace_pipe If unsure, say N. config KPROBE_EVENT depends on KPROBES depends on HAVE_REGS_AND_STACK_ACCESS_API bool "Enable kprobes-based dynamic events" select TRACING select PROBE_EVENTS default y help This allows the user to add tracing events (similar to tracepoints) on the fly via the ftrace interface. See Documentation/trace/kprobetrace.txt for more details. Those events can be inserted wherever kprobes can probe, and record various register and memory values. This option is also required by perf-probe subcommand of perf tools. If you want to use perf tools, this option is strongly recommended. config UPROBE_EVENT bool "Enable uprobes-based dynamic events" depends on ARCH_SUPPORTS_UPROBES depends on MMU select UPROBES select PROBE_EVENTS select TRACING default n help This allows the user to add tracing events on top of userspace dynamic events (similar to tracepoints) on the fly via the trace events interface. Those events can be inserted wherever uprobes can probe, and record various registers. This option is required if you plan to use perf-probe subcommand of perf tools on user space applications. config PROBE_EVENTS def_bool n config DYNAMIC_FTRACE bool "enable/disable function tracing dynamically" depends on FUNCTION_TRACER depends on HAVE_DYNAMIC_FTRACE default y help This option will modify all the calls to function tracing dynamically (will patch them out of the binary image and replace them with a No-Op instruction) on boot up. During compile time, a table is made of all the locations that ftrace can function trace, and this table is linked into the kernel image. When this is enabled, functions can be individually enabled, and the functions not enabled will not affect performance of the system. See the files in /sys/kernel/debug/tracing: available_filter_functions set_ftrace_filter set_ftrace_notrace This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but otherwise has native performance as long as no tracing is active. config DYNAMIC_FTRACE_WITH_REGS def_bool y depends on DYNAMIC_FTRACE depends on HAVE_DYNAMIC_FTRACE_WITH_REGS config FUNCTION_PROFILER bool "Kernel function profiler" depends on FUNCTION_TRACER default n help This option enables the kernel function profiler. A file is created in debugfs called function_profile_enabled which defaults to zero. When a 1 is echoed into this file profiling begins, and when a zero is entered, profiling stops. A "functions" file is created in the trace_stats directory; this file shows the list of functions that have been hit and their counters. If in doubt, say N. config FTRACE_MCOUNT_RECORD def_bool y depends on DYNAMIC_FTRACE depends on HAVE_FTRACE_MCOUNT_RECORD config FTRACE_SELFTEST bool config FTRACE_STARTUP_TEST bool "Perform a startup test on ftrace" depends on GENERIC_TRACER select FTRACE_SELFTEST help This option performs a series of startup tests on ftrace. On bootup a series of tests are made to verify that the tracer is functioning properly. It will do tests on all the configured tracers of ftrace. config EVENT_TRACE_TEST_SYSCALLS bool "Run selftest on syscall events" depends on FTRACE_STARTUP_TEST help This option will also enable testing every syscall event. It only enables the event and disables it and runs various loads with the event enabled. This adds a bit more time for kernel boot up since it runs this on every system call defined. TBD - enable a way to actually call the syscalls as we test their events config MMIOTRACE bool "Memory mapped IO tracing" depends on HAVE_MMIOTRACE_SUPPORT && PCI select GENERIC_TRACER help Mmiotrace traces Memory Mapped I/O access and is meant for debugging and reverse engineering. It is called from the ioremap implementation and works via page faults. Tracing is disabled by default and can be enabled at run-time. See Documentation/trace/mmiotrace.txt. If you are not helping to develop drivers, say N. config MMIOTRACE_TEST tristate "Test module for mmiotrace" depends on MMIOTRACE && m help This is a dumb module for testing mmiotrace. It is very dangerous as it will write garbage to IO memory starting at a given address. However, it should be safe to use on e.g. unused portion of VRAM. Say N, unless you absolutely know what you are doing. config RING_BUFFER_BENCHMARK tristate "Ring buffer benchmark stress tester" depends on RING_BUFFER help This option creates a test to stress the ring buffer and benchmark it. It creates its own ring buffer such that it will not interfere with any other users of the ring buffer (such as ftrace). It then creates a producer and consumer that will run for 10 seconds and sleep for 10 seconds. Each interval it will print out the number of events it recorded and give a rough estimate of how long each iteration took. It does not disable interrupts or raise its priority, so it may be affected by processes that are running. If unsure, say N. config RING_BUFFER_STARTUP_TEST bool "Ring buffer startup self test" depends on RING_BUFFER help Run a simple self test on the ring buffer on boot up. Late in the kernel boot sequence, the test will start that kicks off a thread per cpu. Each thread will write various size events into the ring buffer. Another thread is created to send IPIs to each of the threads, where the IPI handler will also write to the ring buffer, to test/stress the nesting ability. If any anomalies are discovered, a warning will be displayed and all ring buffers will be disabled. The test runs for 10 seconds. This will slow your boot time by at least 10 more seconds. At the end of the test, statics and more checks are done. It will output the stats of each per cpu buffer. What was written, the sizes, what was read, what was lost, and other similar details. If unsure, say N endif # FTRACE endif # TRACING_SUPPORT # # Library configuration # config BINARY_PRINTF def_bool n menu "Library routines" config RAID6_PQ tristate config BITREVERSE tristate config RATIONAL boolean config GENERIC_STRNCPY_FROM_USER bool config GENERIC_STRNLEN_USER bool config GENERIC_NET_UTILS bool config GENERIC_FIND_FIRST_BIT bool config NO_GENERIC_PCI_IOPORT_MAP bool config GENERIC_PCI_IOMAP bool config GENERIC_IOMAP bool select GENERIC_PCI_IOMAP config GENERIC_IO boolean default n config STMP_DEVICE bool config PERCPU_RWSEM boolean config ARCH_USE_CMPXCHG_LOCKREF bool config CRC_CCITT tristate "CRC-CCITT functions" help This option is provided for the case where no in-kernel-tree modules require CRC-CCITT functions, but a module built outside the kernel tree does. Such modules that use library CRC-CCITT functions require M here. config CRC16 tristate "CRC16 functions" help This option is provided for the case where no in-kernel-tree modules require CRC16 functions, but a module built outside the kernel tree does. Such modules that use library CRC16 functions require M here. config CRC_T10DIF tristate "CRC calculation for the T10 Data Integrity Field" select CRYPTO select CRYPTO_CRCT10DIF help This option is only needed if a module that's not in the kernel tree needs to calculate CRC checks for use with the SCSI data integrity subsystem. config CRC_ITU_T tristate "CRC ITU-T V.41 functions" help This option is provided for the case where no in-kernel-tree modules require CRC ITU-T V.41 functions, but a module built outside the kernel tree does. Such modules that use library CRC ITU-T V.41 functions require M here. config CRC32 tristate "CRC32/CRC32c functions" default y select BITREVERSE help This option is provided for the case where no in-kernel-tree modules require CRC32/CRC32c functions, but a module built outside the kernel tree does. Such modules that use library CRC32/CRC32c functions require M here. config CRC32_SELFTEST bool "CRC32 perform self test on init" default n depends on CRC32 help This option enables the CRC32 library functions to perform a self test on initialization. The self test computes crc32_le and crc32_be over byte strings with random alignment and length and computes the total elapsed time and number of bytes processed. choice prompt "CRC32 implementation" depends on CRC32 default CRC32_SLICEBY8 help This option allows a kernel builder to override the default choice of CRC32 algorithm. Choose the default ("slice by 8") unless you know that you need one of the others. config CRC32_SLICEBY8 bool "Slice by 8 bytes" help Calculate checksum 8 bytes at a time with a clever slicing algorithm. This is the fastest algorithm, but comes with a 8KiB lookup table. Most modern processors have enough cache to hold this table without thrashing the cache. This is the default implementation choice. Choose this one unless you have a good reason not to. config CRC32_SLICEBY4 bool "Slice by 4 bytes" help Calculate checksum 4 bytes at a time with a clever slicing algorithm. This is a bit slower than slice by 8, but has a smaller 4KiB lookup table. Only choose this option if you know what you are doing. config CRC32_SARWATE bool "Sarwate's Algorithm (one byte at a time)" help Calculate checksum a byte at a time using Sarwate's algorithm. This is not particularly fast, but has a small 256 byte lookup table. Only choose this option if you know what you are doing. config CRC32_BIT bool "Classic Algorithm (one bit at a time)" help Calculate checksum one bit at a time. This is VERY slow, but has no lookup table. This is provided as a debugging option. Only choose this option if you are debugging crc32. endchoice config CRC7 tristate "CRC7 functions" help This option is provided for the case where no in-kernel-tree modules require CRC7 functions, but a module built outside the kernel tree does. Such modules that use library CRC7 functions require M here. config LIBCRC32C tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" select CRYPTO select CRYPTO_CRC32C help This option is provided for the case where no in-kernel-tree modules require CRC32c functions, but a module built outside the kernel tree does. Such modules that use library CRC32c functions require M here. See Castagnoli93. Module will be libcrc32c. config CRC8 tristate "CRC8 function" help This option provides CRC8 function. Drivers may select this when they need to do cyclic redundancy check according CRC8 algorithm. Module will be called crc8. config AUDIT_GENERIC bool depends on AUDIT && !AUDIT_ARCH default y config RANDOM32_SELFTEST bool "PRNG perform self test on init" default n help This option enables the 32 bit PRNG library functions to perform a self test on initialization. # # compression support is select'ed if needed # config ZLIB_INFLATE tristate config ZLIB_DEFLATE tristate config LZO_COMPRESS tristate config LZO_DECOMPRESS tristate config LZ4_COMPRESS tristate config LZ4HC_COMPRESS tristate config LZ4_DECOMPRESS tristate source "lib/xz/Kconfig" # # These all provide a common interface (hence the apparent duplication with # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) # config DECOMPRESS_GZIP select ZLIB_INFLATE tristate config DECOMPRESS_BZIP2 tristate config DECOMPRESS_LZMA tristate config DECOMPRESS_XZ select XZ_DEC tristate config DECOMPRESS_LZO select LZO_DECOMPRESS tristate config DECOMPRESS_LZ4 select LZ4_DECOMPRESS tristate # # Generic allocator support is selected if needed # config GENERIC_ALLOCATOR boolean # # reed solomon support is select'ed if needed # config REED_SOLOMON tristate config REED_SOLOMON_ENC8 boolean config REED_SOLOMON_DEC8 boolean config REED_SOLOMON_ENC16 boolean config REED_SOLOMON_DEC16 boolean # # BCH support is selected if needed # config BCH tristate config BCH_CONST_PARAMS boolean help Drivers may select this option to force specific constant values for parameters 'm' (Galois field order) and 't' (error correction capability). Those specific values must be set by declaring default values for symbols BCH_CONST_M and BCH_CONST_T. Doing so will enable extra compiler optimizations, improving encoding and decoding performance up to 2x for usual (m,t) values (typically such that m*t < 200). When this option is selected, the BCH library supports only a single (m,t) configuration. This is mainly useful for NAND flash board drivers requiring known, fixed BCH parameters. config BCH_CONST_M int range 5 15 help Constant value for Galois field order 'm'. If 'k' is the number of data bits to protect, 'm' should be chosen such that (k + m*t) <= 2**m - 1. Drivers should declare a default value for this symbol if they select option BCH_CONST_PARAMS. config BCH_CONST_T int help Constant value for error correction capability in bits 't'. Drivers should declare a default value for this symbol if they select option BCH_CONST_PARAMS. # # Textsearch support is select'ed if needed # config TEXTSEARCH boolean config TEXTSEARCH_KMP tristate config TEXTSEARCH_BM tristate config TEXTSEARCH_FSM tristate config BTREE boolean config ASSOCIATIVE_ARRAY bool help Generic associative array. Can be searched and iterated over whilst it is being modified. It is also reasonably quick to search and modify. The algorithms are non-recursive, and the trees are highly capacious. See: Documentation/assoc_array.txt for more information. config HAS_IOMEM boolean depends on !NO_IOMEM select GENERIC_IO default y config HAS_IOPORT boolean depends on HAS_IOMEM && !NO_IOPORT default y config HAS_DMA boolean depends on !NO_DMA default y config CHECK_SIGNATURE bool config CPUMASK_OFFSTACK bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS help Use dynamic allocation for cpumask_var_t, instead of putting them on the stack. This is a bit more expensive, but avoids stack overflow. config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS depends on BROKEN config CPU_RMAP bool depends on SMP config DQL bool # # Netlink attribute parsing support is select'ed if needed # config NLATTR bool # # Generic 64-bit atomic support is selected if needed # config GENERIC_ATOMIC64 bool config ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE def_bool y if GENERIC_ATOMIC64 config LRU_CACHE tristate config AVERAGE bool "Averaging functions" help This option is provided for the case where no in-kernel-tree modules require averaging functions, but a module built outside the kernel tree does. Such modules that use library averaging functions require Y here. If unsure, say N. config CLZ_TAB bool config CORDIC tristate "CORDIC algorithm" help This option provides an implementation of the CORDIC algorithm; calculations are in fixed point. Module will be called cordic. config DDR bool "JEDEC DDR data" help Data from JEDEC specs for DDR SDRAM memories, particularly the AC timing parameters and addressing information. This data is useful for drivers handling DDR SDRAM controllers. config MPILIB tristate select CLZ_TAB help Multiprecision maths library from GnuPG. It is used to implement RSA digital signature verification, which is used by IMA/EVM digital signature extension. config SIGNATURE tristate depends on KEYS && CRYPTO select CRYPTO_SHA1 select MPILIB help Digital signature verification. Currently only RSA is supported. Implementation is done using GnuPG MPI library # # libfdt files, only selected if needed. # config LIBFDT bool config OID_REGISTRY tristate help Enable fast lookup object identifier registry. config UCS2_STRING tristate source "lib/fonts/Kconfig" endmenu config XZ_DEC tristate "XZ decompression support" select CRC32 help LZMA2 compression algorithm and BCJ filters are supported using the .xz file format as the container. For integrity checking, CRC32 is supported. See Documentation/xz.txt for more information. if XZ_DEC config XZ_DEC_X86 bool "x86 BCJ filter decoder" default y if X86 select XZ_DEC_BCJ config XZ_DEC_POWERPC bool "PowerPC BCJ filter decoder" default y if PPC select XZ_DEC_BCJ config XZ_DEC_IA64 bool "IA-64 BCJ filter decoder" default y if IA64 select XZ_DEC_BCJ config XZ_DEC_ARM bool "ARM BCJ filter decoder" default y if ARM select XZ_DEC_BCJ config XZ_DEC_ARMTHUMB bool "ARM-Thumb BCJ filter decoder" default y if (ARM && ARM_THUMB) select XZ_DEC_BCJ config XZ_DEC_SPARC bool "SPARC BCJ filter decoder" default y if SPARC select XZ_DEC_BCJ endif config XZ_DEC_BCJ bool default n config XZ_DEC_TEST tristate "XZ decompressor tester" default n depends on XZ_DEC help This allows passing .xz files to the in-kernel XZ decoder via a character special file. It calculates CRC32 of the decompressed data and writes diagnostics to the system log. Unless you are developing the XZ decoder, you don't need this and should say N. # # Font configuration # config FONT_SUPPORT tristate if FONT_SUPPORT config FONTS bool "Select compiled-in fonts" depends on FRAMEBUFFER_CONSOLE help Say Y here if you would like to use fonts other than the default your frame buffer console usually use. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about foreign fonts. If unsure, say N (the default choices are safe). config FONT_8x8 bool "VGA 8x8 font" if FONTS depends on FRAMEBUFFER_CONSOLE default y if !SPARC && !FONTS help This is the "high resolution" font for the VGA frame buffer (the one provided by the text console 80x50 (and higher) modes). Note that this is a poor quality font. The VGA 8x16 font is quite a lot more readable. Given the resolution provided by the frame buffer device, answer N here is safe. config FONT_8x16 bool "VGA 8x16 font" if FONTS default y if !SPARC && !FONTS help This is the "high resolution" font for the VGA frame buffer (the one provided by the VGA text console 80x25 mode. If unsure, say Y. config FONT_6x11 bool "Mac console 6x11 font (not supported by all drivers)" if FONTS depends on FRAMEBUFFER_CONSOLE default y if !SPARC && !FONTS && MAC help Small console font with Macintosh-style high-half glyphs. Some Mac framebuffer drivers don't support this one at all. config FONT_7x14 bool "console 7x14 font (not supported by all drivers)" if FONTS depends on FRAMEBUFFER_CONSOLE help Console font with characters just a bit smaller than the default. If the standard 8x16 font is a little too big for you, say Y. Otherwise, say N. config FONT_PEARL_8x8 bool "Pearl (old m68k) console 8x8 font" if FONTS depends on FRAMEBUFFER_CONSOLE default y if !SPARC && !FONTS && AMIGA help Small console font with PC-style control-character and high-half glyphs. config FONT_ACORN_8x8 bool "Acorn console 8x8 font" if FONTS depends on FRAMEBUFFER_CONSOLE default y if !SPARC && !FONTS && ARM && ARCH_ACORN help Small console font with PC-style control characters and high-half glyphs. config FONT_MINI_4x6 bool "Mini 4x6 font" depends on !SPARC && FONTS config FONT_SUN8x16 bool "Sparc console 8x16 font" depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) help This is the high resolution console font for Sun machines. Say Y. config FONT_SUN12x22 bool "Sparc console 12x22 font (not supported by all drivers)" depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC) help This is the high resolution console font for Sun machines with very big letters (like the letters used in the SPARC PROM). If the standard font is unreadable for you, say Y, otherwise say N. config FONT_10x18 bool "console 10x18 font (not supported by all drivers)" if FONTS depends on FRAMEBUFFER_CONSOLE help This is a high resolution console font for machines with very big letters. It fits between the sun 12x22 and the normal 8x16 font. If other fonts are too big or too small for you, say Y, otherwise say N. config FONT_AUTOSELECT def_bool y depends on !FONT_8x8 depends on !FONT_6x11 depends on !FONT_7x14 depends on !FONT_PEARL_8x8 depends on !FONT_ACORN_8x8 depends on !FONT_MINI_4x6 depends on !FONT_SUN8x16 depends on !FONT_SUN12x22 depends on !FONT_10x18 select FONT_8x16 endif # FONT_SUPPORT config SELECT_MEMORY_MODEL def_bool y depends on ARCH_SELECT_MEMORY_MODEL choice prompt "Memory model" depends on SELECT_MEMORY_MODEL default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT default SPARSEMEM_MANUAL if ARCH_SPARSEMEM_DEFAULT default FLATMEM_MANUAL config FLATMEM_MANUAL bool "Flat Memory" depends on !(ARCH_DISCONTIGMEM_ENABLE || ARCH_SPARSEMEM_ENABLE) || ARCH_FLATMEM_ENABLE help This option allows you to change some of the ways that Linux manages its memory internally. Most users will only have one option here: FLATMEM. This is normal and a correct option. Some users of more advanced features like NUMA and memory hotplug may have different options here. DISCONTIGMEM is a more mature, better tested system, but is incompatible with memory hotplug and may suffer decreased performance over SPARSEMEM. If unsure between "Sparse Memory" and "Discontiguous Memory", choose "Discontiguous Memory". If unsure, choose this option (Flat Memory) over any other. config DISCONTIGMEM_MANUAL bool "Discontiguous Memory" depends on ARCH_DISCONTIGMEM_ENABLE help This option provides enhanced support for discontiguous memory systems, over FLATMEM. These systems have holes in their physical address spaces, and this option provides more efficient handling of these holes. However, the vast majority of hardware has quite flat address spaces, and can have degraded performance from the extra overhead that this option imposes. Many NUMA configurations will have this as the only option. If unsure, choose "Flat Memory" over this option. config SPARSEMEM_MANUAL bool "Sparse Memory" depends on ARCH_SPARSEMEM_ENABLE help This will be the only option for some systems, including memory hotplug systems. This is normal. For many other systems, this will be an alternative to "Discontiguous Memory". This option provides some potential performance benefits, along with decreased code complexity, but it is newer, and more experimental. If unsure, choose "Discontiguous Memory" or "Flat Memory" over this option. endchoice config DISCONTIGMEM def_bool y depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL config SPARSEMEM def_bool y depends on (!SELECT_MEMORY_MODEL && ARCH_SPARSEMEM_ENABLE) || SPARSEMEM_MANUAL config FLATMEM def_bool y depends on (!DISCONTIGMEM && !SPARSEMEM) || FLATMEM_MANUAL config FLAT_NODE_MEM_MAP def_bool y depends on !SPARSEMEM # # Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's # to represent different areas of memory. This variable allows # those dependencies to exist individually. # config NEED_MULTIPLE_NODES def_bool y depends on DISCONTIGMEM || NUMA config HAVE_MEMORY_PRESENT def_bool y depends on ARCH_HAVE_MEMORY_PRESENT || SPARSEMEM # # SPARSEMEM_EXTREME (which is the default) does some bootmem # allocations when memory_present() is called. If this cannot # be done on your architecture, select this option. However, # statically allocating the mem_section[] array can potentially # consume vast quantities of .bss, so be careful. # # This option will also potentially produce smaller runtime code # with gcc 3.4 and later. # config SPARSEMEM_STATIC bool # # Architecture platforms which require a two level mem_section in SPARSEMEM # must select this option. This is usually for architecture platforms with # an extremely sparse physical address space. # config SPARSEMEM_EXTREME def_bool y depends on SPARSEMEM && !SPARSEMEM_STATIC config SPARSEMEM_VMEMMAP_ENABLE bool config SPARSEMEM_ALLOC_MEM_MAP_TOGETHER def_bool y depends on SPARSEMEM && X86_64 config SPARSEMEM_VMEMMAP bool "Sparse Memory virtual memmap" depends on SPARSEMEM && SPARSEMEM_VMEMMAP_ENABLE default y help SPARSEMEM_VMEMMAP uses a virtually mapped memmap to optimise pfn_to_page and page_to_pfn operations. This is the most efficient option when sufficient kernel resources are available. config HAVE_MEMBLOCK boolean config HAVE_MEMBLOCK_NODE_MAP boolean config ARCH_DISCARD_MEMBLOCK boolean config NO_BOOTMEM boolean config MEMORY_ISOLATION boolean config MOVABLE_NODE boolean "Enable to assign a node which has only movable memory" depends on HAVE_MEMBLOCK depends on NO_BOOTMEM depends on X86_64 depends on NUMA default n help Allow a node to have only movable memory. Pages used by the kernel, such as direct mapping pages cannot be migrated. So the corresponding memory device cannot be hotplugged. This option allows the following two things: - When the system is booting, node full of hotpluggable memory can be arranged to have only movable memory so that the whole node can be hot-removed. (need movable_node boot option specified). - After the system is up, the option allows users to online all the memory of a node as movable memory so that the whole node can be hot-removed. Users who don't use the memory hotplug feature are fine with this option on since they don't specify movable_node boot option or they don't online memory as movable. Say Y here if you want to hotplug a whole node. Say N here if you want kernel to use memory on all nodes evenly. # # Only be set on architectures that have completely implemented memory hotplug # feature. If you are not sure, don't touch it. # config HAVE_BOOTMEM_INFO_NODE def_bool n # eventually, we can have this option just 'select SPARSEMEM' config MEMORY_HOTPLUG bool "Allow for memory hot-add" depends on SPARSEMEM || X86_64_ACPI_NUMA depends on ARCH_ENABLE_MEMORY_HOTPLUG depends on (IA64 || X86 || PPC_BOOK3S_64 || SUPERH || S390) config MEMORY_HOTPLUG_SPARSE def_bool y depends on SPARSEMEM && MEMORY_HOTPLUG config MEMORY_HOTREMOVE bool "Allow for memory hot remove" select MEMORY_ISOLATION select HAVE_BOOTMEM_INFO_NODE if (X86_64 || PPC64) depends on MEMORY_HOTPLUG && ARCH_ENABLE_MEMORY_HOTREMOVE depends on MIGRATION # # If we have space for more page flags then we can enable additional # optimizations and functionality. # # Regular Sparsemem takes page flag bits for the sectionid if it does not # use a virtual memmap. Disable extended page flags for 32 bit platforms # that require the use of a sectionid in the page flags. # config PAGEFLAGS_EXTENDED def_bool y depends on 64BIT || SPARSEMEM_VMEMMAP || !SPARSEMEM # Heavily threaded applications may benefit from splitting the mm-wide # page_table_lock, so that faults on different parts of the user address # space can be handled with less contention: split it at this NR_CPUS. # Default to 4 for wider testing, though 8 might be more appropriate. # ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock. # PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes. # DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC spinlock_t also enlarge struct page. # config SPLIT_PTLOCK_CPUS int default "999999" if ARM && !CPU_CACHE_VIPT default "999999" if PARISC && !PA20 default "4" config ARCH_ENABLE_SPLIT_PMD_PTLOCK boolean # # support for memory balloon compaction config BALLOON_COMPACTION bool "Allow for balloon memory compaction/migration" def_bool y depends on COMPACTION && VIRTIO_BALLOON help Memory fragmentation introduced by ballooning might reduce significantly the number of 2MB contiguous memory blocks that can be used within a guest, thus imposing performance penalties associated with the reduced number of transparent huge pages that could be used by the guest workload. Allowing the compaction & migration for memory pages enlisted as being part of memory balloon devices avoids the scenario aforementioned and helps improving memory defragmentation. # # support for memory compaction config COMPACTION bool "Allow for memory compaction" def_bool y select MIGRATION depends on MMU help Allows the compaction of memory for the allocation of huge pages. # # support for page migration # config MIGRATION bool "Page migration" def_bool y depends on (NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION || CMA) && MMU help Allows the migration of the physical location of pages of processes while the virtual addresses are not changed. This is useful in two situations. The first is on NUMA systems to put pages nearer to the processors accessing. The second is when allocating huge pages as migration can relocate pages to satisfy a huge page allocation instead of reclaiming. config PHYS_ADDR_T_64BIT def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT config ZONE_DMA_FLAG int default "0" if !ZONE_DMA default "1" config BOUNCE bool "Enable bounce buffers" default y depends on BLOCK && MMU && (ZONE_DMA || HIGHMEM) help Enable bounce buffers for devices that cannot access the full range of memory available to the CPU. Enabled by default when ZONE_DMA or HIGHMEM is selected, but you may say n to override this. # On the 'tile' arch, USB OHCI needs the bounce pool since tilegx will often # have more than 4GB of memory, but we don't currently use the IOTLB to present # a 32-bit address to OHCI. So we need to use a bounce pool instead. # # We also use the bounce pool to provide stable page writes for jbd. jbd # initiates buffer writeback without locking the page or setting PG_writeback, # and fixing that behavior (a second time; jbd2 doesn't have this problem) is # a major rework effort. Instead, use the bounce buffer to snapshot pages # (until jbd goes away). The only jbd user is ext3. config NEED_BOUNCE_POOL bool default y if (TILE && USB_OHCI_HCD) || (BLK_DEV_INTEGRITY && JBD) config NR_QUICK int depends on QUICKLIST default "2" if AVR32 default "1" config VIRT_TO_BUS bool help An architecture should select this if it implements the deprecated interface virt_to_bus(). All new architectures should probably not select this. config MMU_NOTIFIER bool config KSM bool "Enable KSM for page merging" depends on MMU help Enable Kernel Samepage Merging: KSM periodically scans those areas of an application's address space that an app has advised may be mergeable. When it finds pages of identical content, it replaces the many instances by a single page with that content, so saving memory until one or another app needs to modify the content. Recommended for use with KVM, or with other duplicative applications. See Documentation/vm/ksm.txt for more information: KSM is inactive until a program has madvised that an area is MADV_MERGEABLE, and root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set). config DEFAULT_MMAP_MIN_ADDR int "Low address space to protect from user allocation" depends on MMU default 4096 help This is the portion of low virtual memory which should be protected from userspace allocation. Keeping a user from writing to low pages can help reduce the impact of kernel NULL pointer bugs. For most ia64, ppc64 and x86 users with lots of address space a value of 65536 is reasonable and should cause no problems. On arm and other archs it should not be higher than 32768. Programs which use vm86 functionality or have some need to map this low address space will need CAP_SYS_RAWIO or disable this protection by setting the value to 0. This value can be changed after boot using the /proc/sys/vm/mmap_min_addr tunable. config ARCH_SUPPORTS_MEMORY_FAILURE bool config MEMORY_FAILURE depends on MMU depends on ARCH_SUPPORTS_MEMORY_FAILURE bool "Enable recovery from hardware memory errors" select MEMORY_ISOLATION help Enables code to recover from some memory failures on systems with MCA recovery. This allows a system to continue running even when some of its memory has uncorrected errors. This requires special hardware support and typically ECC memory. config HWPOISON_INJECT tristate "HWPoison pages injector" depends on MEMORY_FAILURE && DEBUG_KERNEL && PROC_FS select PROC_PAGE_MONITOR config NOMMU_INITIAL_TRIM_EXCESS int "Turn on mmap() excess space trimming before booting" depends on !MMU default 1 help The NOMMU mmap() frequently needs to allocate large contiguous chunks of memory on which to store mappings, but it can only ask the system allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently more than it requires. To deal with this, mmap() is able to trim off the excess and return it to the allocator. If trimming is enabled, the excess is trimmed off and returned to the system allocator, which can cause extra fragmentation, particularly if there are a lot of transient processes. If trimming is disabled, the excess is kept, but not used, which for long-term mappings means that the space is wasted. Trimming can be dynamically controlled through a sysctl option (/proc/sys/vm/nr_trim_pages) which specifies the minimum number of excess pages there must be before trimming should occur, or zero if no trimming is to occur. This option specifies the initial value of this option. The default of 1 says that all excess pages should be trimmed. See Documentation/nommu-mmap.txt for more information. config TRANSPARENT_HUGEPAGE bool "Transparent Hugepage Support" depends on HAVE_ARCH_TRANSPARENT_HUGEPAGE select COMPACTION help Transparent Hugepages allows the kernel to use huge pages and huge tlb transparently to the applications whenever possible. This feature can improve computing performance to certain applications by speeding up page faults during memory allocation, by reducing the number of tlb misses and by speeding up the pagetable walking. If memory constrained on embedded, you may want to say N. choice prompt "Transparent Hugepage Support sysfs defaults" depends on TRANSPARENT_HUGEPAGE default TRANSPARENT_HUGEPAGE_ALWAYS help Selects the sysfs defaults for Transparent Hugepage Support. config TRANSPARENT_HUGEPAGE_ALWAYS bool "always" help Enabling Transparent Hugepage always, can increase the memory footprint of applications without a guaranteed benefit but it will work automatically for all applications. config TRANSPARENT_HUGEPAGE_MADVISE bool "madvise" help Enabling Transparent Hugepage madvise, will only provide a performance improvement benefit to the applications using madvise(MADV_HUGEPAGE) but it won't risk to increase the memory footprint of applications without a guaranteed benefit. endchoice config CROSS_MEMORY_ATTACH bool "Cross Memory Support" depends on MMU default y help Enabling this option adds the system calls process_vm_readv and process_vm_writev which allow a process with the correct privileges to directly read from or write to to another process's address space. See the man page for more details. # # UP and nommu archs use km based percpu allocator # config NEED_PER_CPU_KM depends on !SMP bool default y config CLEANCACHE bool "Enable cleancache driver to cache clean pages if tmem is present" default n help Cleancache can be thought of as a page-granularity victim cache for clean pages that the kernel's pageframe replacement algorithm (PFRA) would like to keep around, but can't since there isn't enough memory. So when the PFRA "evicts" a page, it first attempts to use cleancache code to put the data contained in that page into "transcendent memory", memory that is not directly accessible or addressable by the kernel and is of unknown and possibly time-varying size. And when a cleancache-enabled filesystem wishes to access a page in a file on disk, it first checks cleancache to see if it already contains it; if it does, the page is copied into the kernel and a disk access is avoided. When a transcendent memory driver is available (such as zcache or Xen transcendent memory), a significant I/O reduction may be achieved. When none is available, all cleancache calls are reduced to a single pointer-compare-against-NULL resulting in a negligible performance hit. If unsure, say Y to enable cleancache config FRONTSWAP bool "Enable frontswap to cache swap pages if tmem is present" depends on SWAP default n help Frontswap is so named because it can be thought of as the opposite of a "backing" store for a swap device. The data is stored into "transcendent memory", memory that is not directly accessible or addressable by the kernel and is of unknown and possibly time-varying size. When space in transcendent memory is available, a significant swap I/O reduction may be achieved. When none is available, all frontswap calls are reduced to a single pointer- compare-against-NULL resulting in a negligible performance hit and swap data is stored as normal on the matching swap device. If unsure, say Y to enable frontswap. config CMA bool "Contiguous Memory Allocator" depends on HAVE_MEMBLOCK && MMU select MIGRATION select MEMORY_ISOLATION help This enables the Contiguous Memory Allocator which allows other subsystems to allocate big physically-contiguous blocks of memory. CMA reserves a region of memory and allows only movable pages to be allocated from it. This way, the kernel can use the memory for pagecache and when a subsystem requests for contiguous area, the allocated pages are migrated away to serve the contiguous request. If unsure, say "n". config CMA_DEBUG bool "CMA debug messages (DEVELOPMENT)" depends on DEBUG_KERNEL && CMA help Turns on debug messages in CMA. This produces KERN_DEBUG messages for every CMA call as well as various messages while processing calls such as dma_alloc_from_contiguous(). This option does not affect warning and error messages. config ZBUD tristate default n help A special purpose allocator for storing compressed pages. It is designed to store up to two compressed pages per physical page. While this design limits storage density, it has simple and deterministic reclaim properties that make it preferable to a higher density approach when reclaim will be used. config ZSWAP bool "Compressed cache for swap pages (EXPERIMENTAL)" depends on FRONTSWAP && CRYPTO=y select CRYPTO_LZO select ZBUD default n help A lightweight compressed cache for swap pages. It takes pages that are in the process of being swapped out and attempts to compress them into a dynamically allocated RAM-based memory pool. This can result in a significant I/O reduction on swap device and, in the case where decompressing from RAM is faster that swap device reads, can also improve workload performance. This is marked experimental because it is a new feature (as of v3.11) that interacts heavily with memory reclaim. While these interactions don't cause any known issues on simple memory setups, they have not be fully explored on the large set of potential configurations and workloads that exist. config MEM_SOFT_DIRTY bool "Track memory changes" depends on CHECKPOINT_RESTORE && HAVE_ARCH_SOFT_DIRTY && PROC_FS select PROC_PAGE_MONITOR help This option enables memory changes tracking by introducing a soft-dirty bit on pte-s. This bit it set when someone writes into a page just as regular dirty bit, but unlike the latter it can be cleared by hands. See Documentation/vm/soft-dirty.txt for more details. config STP tristate select LLC config GARP tristate select STP config MRP tristate # # Configuration for 802.1Q VLAN support # config VLAN_8021Q tristate "802.1Q/802.1ad VLAN Support" ---help--- Select this and you will be able to create 802.1Q VLAN interfaces on your ethernet interfaces. 802.1Q VLAN supports almost everything a regular ethernet interface does, including firewalling, bridging, and of course IP traffic. You will need the 'vconfig' tool from the VLAN project in order to effectively use VLANs. See the VLAN web page for more information: To compile this code as a module, choose M here: the module will be called 8021q. If unsure, say N. config VLAN_8021Q_GVRP bool "GVRP (GARP VLAN Registration Protocol) support" depends on VLAN_8021Q select GARP help Select this to enable GVRP end-system support. GVRP is used for automatic propagation of registered VLANs to switches. If unsure, say N. config VLAN_8021Q_MVRP bool "MVRP (Multiple VLAN Registration Protocol) support" depends on VLAN_8021Q select MRP help Select this to enable MVRP end-system support. MVRP is used for automatic propagation of registered VLANs to switches; it supersedes GVRP and is not backwards-compatible. If unsure, say N. # # 9P protocol configuration # menuconfig NET_9P depends on NET tristate "Plan 9 Resource Sharing Support (9P2000)" help If you say Y here, you will get experimental support for Plan 9 resource sharing via the 9P2000 protocol. See for more information. If unsure, say N. if NET_9P config NET_9P_VIRTIO depends on VIRTIO tristate "9P Virtio Transport" help This builds support for a transports between guest partitions and a host partition. config NET_9P_RDMA depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS tristate "9P RDMA Transport (Experimental)" help This builds support for an RDMA transport. config NET_9P_DEBUG bool "Debug information" help Say Y if you want the 9P subsystem to log debug information. endif # # Network configuration # menuconfig NET bool "Networking support" select NLATTR select GENERIC_NET_UTILS ---help--- Unless you really know what you are doing, you should say Y here. The reason is that some programs need kernel networking support even when running on a stand-alone machine that isn't connected to any other computer. If you are upgrading from an older kernel, you should consider updating your networking tools too because changes in the kernel and the tools often go hand in hand. The tools are contained in the package net-tools, the location and version number of which are given in . For a general introduction to Linux networking, it is highly recommended to read the NET-HOWTO, available from . if NET config WANT_COMPAT_NETLINK_MESSAGES bool help This option can be selected by other options that need compat netlink messages. config COMPAT_NETLINK_MESSAGES def_bool y depends on COMPAT depends on WEXT_CORE || WANT_COMPAT_NETLINK_MESSAGES help This option makes it possible to send different netlink messages to tasks depending on whether the task is a compat task or not. To achieve this, you need to set skb_shinfo(skb)->frag_list to the compat skb before sending the skb, the netlink code will sort out which message to actually pass to the task. Newly written code should NEVER need this option but do compat-independent messages instead! menu "Networking options" source "net/packet/Kconfig" source "net/unix/Kconfig" source "net/xfrm/Kconfig" source "net/iucv/Kconfig" config INET bool "TCP/IP networking" select CRYPTO select CRYPTO_AES ---help--- These are the protocols used on the Internet and on most local Ethernets. It is highly recommended to say Y here (this will enlarge your kernel by about 400 KB), since some programs (e.g. the X window system) use TCP/IP even if your machine is not connected to any other computer. You will get the so-called loopback device which allows you to ping yourself (great fun, that!). For an excellent introduction to Linux networking, please read the Linux Networking HOWTO, available from . If you say Y here and also to "/proc file system support" and "Sysctl support" below, you can change various aspects of the behavior of the TCP/IP code by writing to the (virtual) files in /proc/sys/net/ipv4/*; the options are explained in the file . Short answer: say Y. if INET source "net/ipv4/Kconfig" source "net/ipv6/Kconfig" source "net/netlabel/Kconfig" endif # if INET config NETWORK_SECMARK bool "Security Marking" help This enables security marking of network packets, similar to nfmark, but designated for security purposes. If you are unsure how to answer this question, answer N. config NETWORK_PHY_TIMESTAMPING bool "Timestamping in PHY devices" help This allows timestamping of network packets by PHYs with hardware timestamping capabilities. This option adds some overhead in the transmit and receive paths. If you are unsure how to answer this question, answer N. menuconfig NETFILTER bool "Network packet filtering framework (Netfilter)" ---help--- Netfilter is a framework for filtering and mangling network packets that pass through your Linux box. The most common use of packet filtering is to run your Linux box as a firewall protecting a local network from the Internet. The type of firewall provided by this kernel support is called a "packet filter", which means that it can reject individual network packets based on type, source, destination etc. The other kind of firewall, a "proxy-based" one, is more secure but more intrusive and more bothersome to set up; it inspects the network traffic much more closely, modifies it and has knowledge about the higher level protocols, which a packet filter lacks. Moreover, proxy-based firewalls often require changes to the programs running on the local clients. Proxy-based firewalls don't need support by the kernel, but they are often combined with a packet filter, which only works if you say Y here. You should also say Y here if you intend to use your Linux box as the gateway to the Internet for a local network of machines without globally valid IP addresses. This is called "masquerading": if one of the computers on your local network wants to send something to the outside, your box can "masquerade" as that computer, i.e. it forwards the traffic to the intended outside destination, but modifies the packets to make it look like they came from the firewall box itself. It works both ways: if the outside host replies, the Linux box will silently forward the traffic to the correct local computer. This way, the computers on your local net are completely invisible to the outside world, even though they can reach the outside and can receive replies. It is even possible to run globally visible servers from within a masqueraded local network using a mechanism called portforwarding. Masquerading is also often called NAT (Network Address Translation). Another use of Netfilter is in transparent proxying: if a machine on the local network tries to connect to an outside host, your Linux box can transparently forward the traffic to a local server, typically a caching proxy server. Yet another use of Netfilter is building a bridging firewall. Using a bridge with Network packet filtering enabled makes iptables "see" the bridged traffic. For filtering on the lower network and Ethernet protocols over the bridge, use ebtables (under bridge netfilter configuration). Various modules exist for netfilter which replace the previous masquerading (ipmasqadm), packet filtering (ipchains), transparent proxying, and portforwarding mechanisms. Please see under "iptables" for the location of these packages. if NETFILTER config NETFILTER_DEBUG bool "Network packet filtering debugging" depends on NETFILTER help You can say Y here if you want to get additional messages useful in debugging the netfilter code. config NETFILTER_ADVANCED bool "Advanced netfilter configuration" depends on NETFILTER default y help If you say Y here you can select between all the netfilter modules. If you say N the more unusual ones will not be shown and the basic ones needed by most people will default to 'M'. If unsure, say Y. config BRIDGE_NETFILTER bool "Bridged IP/ARP packets filtering" depends on BRIDGE && NETFILTER && INET depends on NETFILTER_ADVANCED default y ---help--- Enabling this option will let arptables resp. iptables see bridged ARP resp. IP traffic. If you want a bridging firewall, you probably want this option enabled. Enabling or disabling this option doesn't enable or disable ebtables. If unsure, say N. source "net/netfilter/Kconfig" source "net/ipv4/netfilter/Kconfig" source "net/ipv6/netfilter/Kconfig" source "net/decnet/netfilter/Kconfig" source "net/bridge/netfilter/Kconfig" endif source "net/dccp/Kconfig" source "net/sctp/Kconfig" source "net/rds/Kconfig" source "net/tipc/Kconfig" source "net/atm/Kconfig" source "net/l2tp/Kconfig" source "net/802/Kconfig" source "net/bridge/Kconfig" source "net/dsa/Kconfig" source "net/8021q/Kconfig" source "net/decnet/Kconfig" source "net/llc/Kconfig" source "net/ipx/Kconfig" source "drivers/net/appletalk/Kconfig" source "net/x25/Kconfig" source "net/lapb/Kconfig" source "net/phonet/Kconfig" source "net/ieee802154/Kconfig" source "net/mac802154/Kconfig" source "net/sched/Kconfig" source "net/dcb/Kconfig" source "net/dns_resolver/Kconfig" source "net/batman-adv/Kconfig" source "net/openvswitch/Kconfig" source "net/vmw_vsock/Kconfig" source "net/netlink/Kconfig" source "net/mpls/Kconfig" source "net/hsr/Kconfig" config RPS boolean depends on SMP && SYSFS default y config RFS_ACCEL boolean depends on RPS select CPU_RMAP default y config XPS boolean depends on SMP default y config NETPRIO_CGROUP tristate "Network priority cgroup" depends on CGROUPS ---help--- Cgroup subsystem for use in assigning processes to network priorities on a per-interface basis config NET_RX_BUSY_POLL boolean default y config BQL boolean depends on SYSFS select DQL default y config BPF_JIT bool "enable BPF Just In Time compiler" depends on HAVE_BPF_JIT depends on MODULES ---help--- Berkeley Packet Filter filtering capabilities are normally handled by an interpreter. This option allows kernel to generate a native code when filter is loaded in memory. This should speedup packet sniffing (libpcap/tcpdump). Note : Admin should enable this feature changing /proc/sys/net/core/bpf_jit_enable config NET_FLOW_LIMIT boolean depends on RPS default y ---help--- The network stack has to drop packets when a receive processing CPU's backlog reaches netdev_max_backlog. If a few out of many active flows generate the vast majority of load, drop their traffic earlier to maintain capacity for the other flows. This feature provides servers with many clients some protection against DoS by a single (spoofed) flow that greatly exceeds average workload. menu "Network testing" config NET_PKTGEN tristate "Packet Generator (USE WITH CAUTION)" depends on INET && PROC_FS ---help--- This module will inject preconfigured packets, at a configurable rate, out of a given interface. It is used for network interface stress testing and performance analysis. If you don't understand what was just said, you don't need it: say N. Documentation on how to use the packet generator can be found at . To compile this code as a module, choose M here: the module will be called pktgen. config NET_TCPPROBE tristate "TCP connection probing" depends on INET && PROC_FS && KPROBES ---help--- This module allows for capturing the changes to TCP connection state in response to incoming packets. It is used for debugging TCP congestion avoidance modules. If you don't understand what was just said, you don't need it: say N. Documentation on how to use TCP connection probing can be found at: http://www.linuxfoundation.org/collaborate/workgroups/networking/tcpprobe To compile this code as a module, choose M here: the module will be called tcp_probe. config NET_DROP_MONITOR tristate "Network packet drop alerting service" depends on INET && TRACEPOINTS ---help--- This feature provides an alerting service to userspace in the event that packets are discarded in the network stack. Alerts are broadcast via netlink socket to any listening user space process. If you don't need network drop alerts, or if you are ok just checking the various proc files and other utilities for drop statistics, say N here. endmenu endmenu source "net/ax25/Kconfig" source "net/can/Kconfig" source "net/irda/Kconfig" source "net/bluetooth/Kconfig" source "net/rxrpc/Kconfig" config FIB_RULES bool menuconfig WIRELESS bool "Wireless" depends on !S390 default y if WIRELESS source "net/wireless/Kconfig" source "net/mac80211/Kconfig" endif # WIRELESS source "net/wimax/Kconfig" source "net/rfkill/Kconfig" source "net/9p/Kconfig" source "net/caif/Kconfig" source "net/ceph/Kconfig" source "net/nfc/Kconfig" endif # if NET # Used by archs to tell that they support BPF_JIT config HAVE_BPF_JIT bool # # Asynchronous Transfer Mode (ATM) # config ATM tristate "Asynchronous Transfer Mode (ATM)" ---help--- ATM is a high-speed networking technology for Local Area Networks and Wide Area Networks. It uses a fixed packet size and is connection oriented, allowing for the negotiation of minimum bandwidth requirements. In order to participate in an ATM network, your Linux box needs an ATM networking card. If you have that, say Y here and to the driver of your ATM card below. Note that you need a set of user-space programs to actually make use of ATM. See the file for further details. config ATM_CLIP tristate "Classical IP over ATM" depends on ATM && INET help Classical IP over ATM for PVCs and SVCs, supporting InARP and ATMARP. If you want to communication with other IP hosts on your ATM network, you will typically either say Y here or to "LAN Emulation (LANE)" below. config ATM_CLIP_NO_ICMP bool "Do NOT send ICMP if no neighbour" depends on ATM_CLIP help Normally, an "ICMP host unreachable" message is sent if a neighbour cannot be reached because there is no VC to it in the kernel's ATMARP table. This may cause problems when ATMARP table entries are briefly removed during revalidation. If you say Y here, packets to such neighbours are silently discarded instead. config ATM_LANE tristate "LAN Emulation (LANE) support" depends on ATM help LAN Emulation emulates services of existing LANs across an ATM network. Besides operating as a normal ATM end station client, Linux LANE client can also act as an proxy client bridging packets between ELAN and Ethernet segments. You need LANE if you want to try MPOA. config ATM_MPOA tristate "Multi-Protocol Over ATM (MPOA) support" depends on ATM && INET && ATM_LANE!=n help Multi-Protocol Over ATM allows ATM edge devices such as routers, bridges and ATM attached hosts establish direct ATM VCs across subnetwork boundaries. These shortcut connections bypass routers enhancing overall network performance. config ATM_BR2684 tristate "RFC1483/2684 Bridged protocols" depends on ATM && INET help ATM PVCs can carry ethernet PDUs according to RFC2684 (formerly 1483) This device will act like an ethernet from the kernels point of view, with the traffic being carried by ATM PVCs (currently 1 PVC/device). This is sometimes used over DSL lines. If in doubt, say N. config ATM_BR2684_IPFILTER bool "Per-VC IP filter kludge" depends on ATM_BR2684 help This is an experimental mechanism for users who need to terminate a large number of IP-only vcc's. Do not enable this unless you are sure you know what you are doing. # # Amateur Radio protocols and AX.25 device configuration # menuconfig HAMRADIO depends on NET && !S390 bool "Amateur Radio support" help If you want to connect your Linux box to an amateur radio, answer Y here. You want to read and more specifically about AX.25 on Linux . Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about amateur radio. comment "Packet Radio protocols" depends on HAMRADIO config AX25 tristate "Amateur Radio AX.25 Level 2 protocol" depends on HAMRADIO help This is the protocol used for computer communication over amateur radio. It is either used by itself for point-to-point links, or to carry other protocols such as tcp/ip. To use it, you need a device that connects your Linux box to your amateur radio. You can either use a low speed TNC (a Terminal Node Controller acts as a kind of modem connecting your computer's serial port to your radio's microphone input and speaker output) supporting the KISS protocol or one of the various SCC cards that are supported by the generic Z8530 or the DMA SCC driver. Another option are the Baycom modem serial and parallel port hacks or the sound card modem (supported by their own drivers). If you say Y here, you also have to say Y to one of those drivers. Information about where to get supporting software for Linux amateur radio as well as information about how to configure an AX.25 port is contained in the AX25-HOWTO, available from . You might also want to check out the file in the kernel source. More information about digital amateur radio in general is on the WWW at . To compile this driver as a module, choose M here: the module will be called ax25. config AX25_DAMA_SLAVE bool "AX.25 DAMA Slave support" default y depends on AX25 help DAMA is a mechanism to prevent collisions when doing AX.25 networking. A DAMA server (called "master") accepts incoming traffic from clients (called "slaves") and redistributes it to other slaves. If you say Y here, your Linux box will act as a DAMA slave; this is transparent in that you don't have to do any special DAMA configuration. Linux cannot yet act as a DAMA server. This option only compiles DAMA slave support into the kernel. It still needs to be enabled at runtime. For more about DAMA see . If unsure, say Y. # placeholder until implemented config AX25_DAMA_MASTER bool 'AX.25 DAMA Master support' depends on AX25_DAMA_SLAVE && BROKEN help DAMA is a mechanism to prevent collisions when doing AX.25 networking. A DAMA server (called "master") accepts incoming traffic from clients (called "slaves") and redistributes it to other slaves. If you say Y here, your Linux box will act as a DAMA master; this is transparent in that you don't have to do any special DAMA configuration. Linux cannot yet act as a DAMA server. This option only compiles DAMA slave support into the kernel. It still needs to be explicitly enabled, so if unsure, say Y. config NETROM tristate "Amateur Radio NET/ROM protocol" depends on AX25 help NET/ROM is a network layer protocol on top of AX.25 useful for routing. A comprehensive listing of all the software for Linux amateur radio users as well as information about how to configure an AX.25 port is contained in the Linux Ham Wiki, available from . You also might want to check out the file . More information about digital amateur radio in general is on the WWW at . To compile this driver as a module, choose M here: the module will be called netrom. config ROSE tristate "Amateur Radio X.25 PLP (Rose)" depends on AX25 help The Packet Layer Protocol (PLP) is a way to route packets over X.25 connections in general and amateur radio AX.25 connections in particular, essentially an alternative to NET/ROM. A comprehensive listing of all the software for Linux amateur radio users as well as information about how to configure an AX.25 port is contained in the Linux Ham Wiki, available from . You also might want to check out the file . More information about digital amateur radio in general is on the WWW at . To compile this driver as a module, choose M here: the module will be called rose. menu "AX.25 network device drivers" depends on HAMRADIO && AX25 source "drivers/net/hamradio/Kconfig" endmenu # # B.A.T.M.A.N meshing protocol # config BATMAN_ADV tristate "B.A.T.M.A.N. Advanced Meshing Protocol" depends on NET select CRC16 select LIBCRC32C default n help B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing protocol for multi-hop ad-hoc mesh networks. The networks may be wired or wireless. See http://www.open-mesh.org/ for more information and user space tools. config BATMAN_ADV_BLA bool "Bridge Loop Avoidance" depends on BATMAN_ADV && INET default y help This option enables BLA (Bridge Loop Avoidance), a mechanism to avoid Ethernet frames looping when mesh nodes are connected to both the same LAN and the same mesh. If you will never use more than one mesh node in the same LAN, you can safely remove this feature and save some space. config BATMAN_ADV_DAT bool "Distributed ARP Table" depends on BATMAN_ADV && INET default n help This option enables DAT (Distributed ARP Table), a DHT based mechanism that increases ARP reliability on sparse wireless mesh networks. If you think that your network does not need this option you can safely remove it and save some space. config BATMAN_ADV_NC bool "Network Coding" depends on BATMAN_ADV default n help This option enables network coding, a mechanism that aims to increase the overall network throughput by fusing multiple packets in one transmission. Note that interfaces controlled by batman-adv must be manually configured to have promiscuous mode enabled in order to make network coding work. If you think that your network does not need this feature you can safely disable it and save some space. config BATMAN_ADV_DEBUG bool "B.A.T.M.A.N. debugging" depends on BATMAN_ADV help This is an option for use by developers; most people should say N here. This enables compilation of support for outputting debugging information to the kernel log. The output is controlled via the module parameter debug. # # Bluetooth subsystem configuration # menuconfig BT tristate "Bluetooth subsystem support" depends on NET && !S390 depends on RFKILL || !RFKILL select CRC16 select CRYPTO select CRYPTO_BLKCIPHER select CRYPTO_AES select CRYPTO_ECB select CRYPTO_SHA256 help Bluetooth is low-cost, low-power, short-range wireless technology. It was designed as a replacement for cables and other short-range technologies like IrDA. Bluetooth operates in personal area range that typically extends up to 10 meters. More information about Bluetooth can be found at . Linux Bluetooth subsystem consist of several layers: Bluetooth Core HCI device and connection manager, scheduler SCO audio links L2CAP (Logical Link Control and Adaptation Protocol) SMP (Security Manager Protocol) on LE (Low Energy) links HCI Device drivers (Interface to the hardware) RFCOMM Module (RFCOMM Protocol) BNEP Module (Bluetooth Network Encapsulation Protocol) CMTP Module (CAPI Message Transport Protocol) HIDP Module (Human Interface Device Protocol) Say Y here to compile Bluetooth support into the kernel or say M to compile it as module (bluetooth). To use Linux Bluetooth subsystem, you will need several user-space utilities like hciconfig and bluetoothd. These utilities and updates to Bluetooth kernel modules are provided in the BlueZ packages. For more information, see . source "net/bluetooth/rfcomm/Kconfig" source "net/bluetooth/bnep/Kconfig" source "net/bluetooth/cmtp/Kconfig" source "net/bluetooth/hidp/Kconfig" source "drivers/bluetooth/Kconfig" config BT_BNEP tristate "BNEP protocol support" depends on BT select CRC32 help BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet emulation layer on top of Bluetooth. BNEP is required for Bluetooth PAN (Personal Area Network). Say Y here to compile BNEP support into the kernel or say M to compile it as module (bnep). config BT_BNEP_MC_FILTER bool "Multicast filter support" depends on BT_BNEP help This option enables the multicast filter support for BNEP. config BT_BNEP_PROTO_FILTER bool "Protocol filter support" depends on BT_BNEP help This option enables the protocol filter support for BNEP. config BT_CMTP tristate "CMTP protocol support" depends on BT && ISDN_CAPI help CMTP (CAPI Message Transport Protocol) is a transport layer for CAPI messages. CMTP is required for the Bluetooth Common ISDN Access Profile. Say Y here to compile CMTP support into the kernel or say M to compile it as module (cmtp). config BT_HIDP tristate "HIDP protocol support" depends on BT && INPUT select HID help HIDP (Human Interface Device Protocol) is a transport layer for HID reports. HIDP is required for the Bluetooth Human Interface Device Profile. Say Y here to compile HIDP support into the kernel or say M to compile it as module (hidp). config BT_RFCOMM tristate "RFCOMM protocol support" depends on BT help RFCOMM provides connection oriented stream transport. RFCOMM support is required for Dialup Networking, OBEX and other Bluetooth applications. Say Y here to compile RFCOMM support into the kernel or say M to compile it as module (rfcomm). config BT_RFCOMM_TTY bool "RFCOMM TTY support" depends on BT_RFCOMM depends on TTY help This option enables TTY emulation support for RFCOMM channels. # # 802.1d Ethernet Bridging # config BRIDGE tristate "802.1d Ethernet Bridging" select LLC select STP depends on IPV6 || IPV6=n ---help--- If you say Y here, then your Linux box will be able to act as an Ethernet bridge, which means that the different Ethernet segments it is connected to will appear as one Ethernet to the participants. Several such bridges can work together to create even larger networks of Ethernets using the IEEE 802.1 spanning tree algorithm. As this is a standard, Linux bridges will cooperate properly with other third party bridge products. In order to use the Ethernet bridge, you'll need the bridge configuration tools; see for location. Please read the Bridge mini-HOWTO for more information. If you enable iptables support along with the bridge support then you turn your bridge into a bridging IP firewall. iptables will then see the IP packets being bridged, so you need to take this into account when setting up your firewall rules. Enabling arptables support when bridging will let arptables see bridged ARP traffic in the arptables FORWARD chain. To compile this code as a module, choose M here: the module will be called bridge. If unsure, say N. config BRIDGE_IGMP_SNOOPING bool "IGMP/MLD snooping" depends on BRIDGE depends on INET default y ---help--- If you say Y here, then the Ethernet bridge will be able selectively forward multicast traffic based on IGMP/MLD traffic received from each port. Say N to exclude this support and reduce the binary size. If unsure, say Y. config BRIDGE_VLAN_FILTERING bool "VLAN filtering" depends on BRIDGE depends on VLAN_8021Q default n ---help--- If you say Y here, then the Ethernet bridge will be able selectively receive and forward traffic based on VLAN information in the packet any VLAN information configured on the bridge port or bridge device. Say N to exclude this support and reduce the binary size. If unsure, say Y. # # Bridge netfilter configuration # # config NF_TABLES_BRIDGE depends on NF_TABLES tristate "Ethernet Bridge nf_tables support" menuconfig BRIDGE_NF_EBTABLES tristate "Ethernet Bridge tables (ebtables) support" depends on BRIDGE && NETFILTER select NETFILTER_XTABLES help ebtables is a general, extensible frame/packet identification framework. Say 'Y' or 'M' here if you want to do Ethernet filtering/NAT/brouting on the Ethernet bridge. if BRIDGE_NF_EBTABLES # # tables # config BRIDGE_EBT_BROUTE tristate "ebt: broute table support" help The ebtables broute table is used to define rules that decide between bridging and routing frames, giving Linux the functionality of a brouter. See the man page for ebtables(8) and examples on the ebtables website. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_T_FILTER tristate "ebt: filter table support" help The ebtables filter table is used to define frame filtering rules at local input, forwarding and local output. See the man page for ebtables(8). To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_T_NAT tristate "ebt: nat table support" help The ebtables nat table is used to define rules that alter the MAC source address (MAC SNAT) or the MAC destination address (MAC DNAT). See the man page for ebtables(8). To compile it as a module, choose M here. If unsure, say N. # # matches # config BRIDGE_EBT_802_3 tristate "ebt: 802.3 filter support" help This option adds matching support for 802.3 Ethernet frames. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_AMONG tristate "ebt: among filter support" help This option adds the among match, which allows matching the MAC source and/or destination address on a list of addresses. Optionally, MAC/IP address pairs can be matched, f.e. for anti-spoofing rules. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_ARP tristate "ebt: ARP filter support" help This option adds the ARP match, which allows ARP and RARP header field filtering. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_IP tristate "ebt: IP filter support" help This option adds the IP match, which allows basic IP header field filtering. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_IP6 tristate "ebt: IP6 filter support" depends on BRIDGE_NF_EBTABLES && IPV6 help This option adds the IP6 match, which allows basic IPV6 header field filtering. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_LIMIT tristate "ebt: limit match support" help This option adds the limit match, which allows you to control the rate at which a rule can be matched. This match is the equivalent of the iptables limit match. If you want to compile it as a module, say M here and read . If unsure, say `N'. config BRIDGE_EBT_MARK tristate "ebt: mark filter support" help This option adds the mark match, which allows matching frames based on the 'nfmark' value in the frame. This can be set by the mark target. This value is the same as the one used in the iptables mark match and target. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_PKTTYPE tristate "ebt: packet type filter support" help This option adds the packet type match, which allows matching on the type of packet based on its Ethernet "class" (as determined by the generic networking code): broadcast, multicast, for this host alone or for another host. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_STP tristate "ebt: STP filter support" help This option adds the Spanning Tree Protocol match, which allows STP header field filtering. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_VLAN tristate "ebt: 802.1Q VLAN filter support" help This option adds the 802.1Q vlan match, which allows the filtering of 802.1Q vlan fields. To compile it as a module, choose M here. If unsure, say N. # # targets # config BRIDGE_EBT_ARPREPLY tristate "ebt: arp reply target support" depends on BRIDGE_NF_EBTABLES && INET help This option adds the arp reply target, which allows automatically sending arp replies to arp requests. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_DNAT tristate "ebt: dnat target support" help This option adds the MAC DNAT target, which allows altering the MAC destination address of frames. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_MARK_T tristate "ebt: mark target support" help This option adds the mark target, which allows marking frames by setting the 'nfmark' value in the frame. This value is the same as the one used in the iptables mark match and target. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_REDIRECT tristate "ebt: redirect target support" help This option adds the MAC redirect target, which allows altering the MAC destination address of a frame to that of the device it arrived on. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_SNAT tristate "ebt: snat target support" help This option adds the MAC SNAT target, which allows altering the MAC source address of frames. To compile it as a module, choose M here. If unsure, say N. # # watchers # config BRIDGE_EBT_LOG tristate "ebt: log support" help This option adds the log watcher, that you can use in any rule in any ebtables table. It records info about the frame header to the syslog. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_ULOG tristate "ebt: ulog support (OBSOLETE)" help This option enables the old bridge-specific "ebt_ulog" implementation which has been obsoleted by the new "nfnetlink_log" code (see CONFIG_NETFILTER_NETLINK_LOG). This option adds the ulog watcher, that you can use in any rule in any ebtables table. The packet is passed to a userspace logging daemon using netlink multicast sockets. This differs from the log watcher in the sense that the complete packet is sent to userspace instead of a descriptive text and that netlink multicast sockets are used instead of the syslog. To compile it as a module, choose M here. If unsure, say N. config BRIDGE_EBT_NFLOG tristate "ebt: nflog support" help This option enables the nflog watcher, which allows to LOG messages through the netfilter logging API, which can use either the old LOG target, the old ULOG target or nfnetlink_log as backend. This option adds the nflog watcher, that you can use in any rule in any ebtables table. To compile it as a module, choose M here. If unsure, say N. endif # BRIDGE_NF_EBTABLES # # CAIF net configurations # menuconfig CAIF tristate "CAIF support" select CRC_CCITT default n ---help--- The "Communication CPU to Application CPU Interface" (CAIF) is a packet based connection-oriented MUX protocol developed by ST-Ericsson for use with its modems. It is accessed from user space as sockets (PF_CAIF). Say Y (or M) here if you build for a phone product (e.g. Android or MeeGo ) that uses CAIF as transport, if unsure say N. If you select to build it as module then CAIF_NETDEV also needs to be built as modules. You will also need to say yes to any CAIF physical devices that your platform requires. See Documentation/networking/caif for a further explanation on how to use and configure CAIF. config CAIF_DEBUG bool "Enable Debug" depends on CAIF default n ---help--- Enable the inclusion of debug code in the CAIF stack. Be aware that doing this will impact performance. If unsure say N. config CAIF_NETDEV tristate "CAIF GPRS Network device" depends on CAIF default CAIF ---help--- Say Y if you will be using a CAIF based GPRS network device. This can be either built-in or a loadable module, If you select to build it as a built-in then the main CAIF device must also be a built-in. If unsure say Y. config CAIF_USB tristate "CAIF USB support" depends on CAIF default n ---help--- Say Y if you are using CAIF over USB CDC NCM. This can be either built-in or a loadable module, If you select to build it as a built-in then the main CAIF device must also be a built-in. If unsure say N. # # Controller Area Network (CAN) network layer core configuration # menuconfig CAN depends on NET tristate "CAN bus subsystem support" ---help--- Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial communications protocol which was developed by Bosch in 1991, mainly for automotive, but now widely used in marine (NMEA2000), industrial, and medical applications. More information on the CAN network protocol family PF_CAN is contained in . If you want CAN support you should say Y here and also to the specific driver for your controller(s) below. if CAN config CAN_RAW tristate "Raw CAN Protocol (raw access with CAN-ID filtering)" default y ---help--- The raw CAN protocol option offers access to the CAN bus via the BSD socket API. You probably want to use the raw socket in most cases where no higher level protocol is being used. The raw socket has several filter options e.g. ID masking / error frames. To receive/send raw CAN messages, use AF_CAN with protocol CAN_RAW. config CAN_BCM tristate "Broadcast Manager CAN Protocol (with content filtering)" default y ---help--- The Broadcast Manager offers content filtering, timeout monitoring, sending of RTR frames, and cyclic CAN messages without permanent user interaction. The BCM can be 'programmed' via the BSD socket API and informs you on demand e.g. only on content updates / timeouts. You probably want to use the bcm socket in most cases where cyclic CAN messages are used on the bus (e.g. in automotive environments). To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM. config CAN_GW tristate "CAN Gateway/Router (with netlink configuration)" default y ---help--- The CAN Gateway/Router is used to route (and modify) CAN frames. It is based on the PF_CAN core infrastructure for msg filtering and msg sending and can optionally modify routed CAN frames on the fly. CAN frames can be routed between CAN network interfaces (one hop). They can be modified with AND/OR/XOR/SET operations as configured by the netlink configuration interface known e.g. from iptables. source "drivers/net/can/Kconfig" endif config CEPH_LIB tristate "Ceph core library" depends on INET select LIBCRC32C select CRYPTO_AES select CRYPTO select KEYS default n help Choose Y or M here to include cephlib, which provides the common functionality to both the Ceph filesystem and to the rados block device (rbd). More information at http://ceph.newdream.net/. If unsure, say N. config CEPH_LIB_PRETTYDEBUG bool "Include file:line in ceph debug output" depends on CEPH_LIB default n help If you say Y here, debug output will include a filename and line to aid debugging. This increases kernel size and slows execution slightly when debug call sites are enabled (e.g., via CONFIG_DYNAMIC_DEBUG). If unsure, say N. config CEPH_LIB_USE_DNS_RESOLVER bool "Use in-kernel support for DNS lookup" depends on CEPH_LIB select DNS_RESOLVER default n help If you say Y here, hostnames (e.g. monitor addresses) will be resolved using the CONFIG_DNS_RESOLVER facility. For information on how to use CONFIG_DNS_RESOLVER consult Documentation/networking/dns_resolver.txt If unsure, say N. config DCB bool "Data Center Bridging support" default n ---help--- This enables support for configuring Data Center Bridging (DCB) features on DCB capable Ethernet adapters via rtnetlink. Say 'Y' if you have a DCB capable Ethernet adapter which supports this interface and you are connected to a DCB capable switch. DCB is a collection of Ethernet enhancements which allow DCB capable NICs and switches to support network traffic with differing requirements (highly reliable, no drops vs. best effort vs. low latency) to co-exist on Ethernet. DCB features include: Enhanced Transmission Selection (aka Priority Grouping) - provides a framework for assigning bandwidth guarantees to traffic classes. Priority-based Flow Control (PFC) - a MAC control pause frame which works at the granularity of the 802.1p priority instead of the link (802.3x). If unsure, say N. menuconfig IP_DCCP tristate "The DCCP Protocol" depends on INET ---help--- Datagram Congestion Control Protocol (RFC 4340) From http://www.ietf.org/rfc/rfc4340.txt: The Datagram Congestion Control Protocol (DCCP) is a transport protocol that implements bidirectional, unicast connections of congestion-controlled, unreliable datagrams. It should be suitable for use by applications such as streaming media, Internet telephony, and on-line games. To compile this protocol support as a module, choose M here: the module will be called dccp. If in doubt, say N. if IP_DCCP config INET_DCCP_DIAG depends on INET_DIAG def_tristate y if (IP_DCCP = y && INET_DIAG = y) def_tristate m source "net/dccp/ccids/Kconfig" menu "DCCP Kernel Hacking" depends on DEBUG_KERNEL=y config IP_DCCP_DEBUG bool "DCCP debug messages" ---help--- Only use this if you're hacking DCCP. When compiling DCCP as a module, this debugging output can be toggled by setting the parameter dccp_debug of the `dccp' module to 0 or 1. Just say N. config NET_DCCPPROBE tristate "DCCP connection probing" depends on PROC_FS && KPROBES ---help--- This module allows for capturing the changes to DCCP connection state in response to incoming packets. It is used for debugging DCCP congestion avoidance modules. If you don't understand what was just said, you don't need it: say N. Documentation on how to use DCCP connection probing can be found at: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccpprobe To compile this code as a module, choose M here: the module will be called dccp_probe. endmenu endif # IP_DDCP menu "DCCP CCIDs Configuration" config IP_DCCP_CCID2_DEBUG bool "CCID-2 debugging messages" ---help--- Enable CCID-2 specific debugging messages. The debugging output can additionally be toggled by setting the ccid2_debug parameter to 0 or 1. If in doubt, say N. config IP_DCCP_CCID3 bool "CCID-3 (TCP-Friendly)" def_bool y if (IP_DCCP = y || IP_DCCP = m) ---help--- CCID-3 denotes TCP-Friendly Rate Control (TFRC), an equation-based rate-controlled congestion control mechanism. TFRC is designed to be reasonably fair when competing for bandwidth with TCP-like flows, where a flow is "reasonably fair" if its sending rate is generally within a factor of two of the sending rate of a TCP flow under the same conditions. However, TFRC has a much lower variation of throughput over time compared with TCP, which makes CCID-3 more suitable than CCID-2 for applications such streaming media where a relatively smooth sending rate is of importance. CCID-3 is further described in RFC 4342, http://www.ietf.org/rfc/rfc4342.txt The TFRC congestion control algorithms were initially described in RFC 5348. This text was extracted from RFC 4340 (sec. 10.2), http://www.ietf.org/rfc/rfc4340.txt If in doubt, say N. config IP_DCCP_CCID3_DEBUG bool "CCID-3 debugging messages" depends on IP_DCCP_CCID3 ---help--- Enable CCID-3 specific debugging messages. The debugging output can additionally be toggled by setting the ccid3_debug parameter to 0 or 1. If in doubt, say N. config IP_DCCP_TFRC_LIB def_bool y if IP_DCCP_CCID3 config IP_DCCP_TFRC_DEBUG def_bool y if IP_DCCP_CCID3_DEBUG endmenu # # DECnet configuration # config DECNET tristate "DECnet Support" ---help--- The DECnet networking protocol was used in many products made by Digital (now Compaq). It provides reliable stream and sequenced packet communications over which run a variety of services similar to those which run over TCP/IP. To find some tools to use with the kernel layer support, please look at Patrick Caulfield's web site: . More detailed documentation is available in . Be sure to say Y to "/proc file system support" and "Sysctl support" below when using DECnet, since you will need sysctl support to aid in configuration at run time. The DECnet code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module is called decnet. config DECNET_ROUTER bool "DECnet: router support" depends on DECNET select FIB_RULES ---help--- Add support for turning your DECnet Endnode into a level 1 or 2 router. This is an experimental, but functional option. If you do say Y here, then make sure that you also say Y to "Kernel/User network link driver", "Routing messages" and "Network packet filtering". The first two are required to allow configuration via rtnetlink (you will need Alexey Kuznetsov's iproute2 package from ). The "Network packet filtering" option will be required for the forthcoming routing daemon to work. See for more information. # # DECnet netfilter configuration # menu "DECnet: Netfilter Configuration" depends on DECNET && NETFILTER depends on NETFILTER_ADVANCED config DECNET_NF_GRABULATOR tristate "Routing message grabulator (for userland routing daemon)" help Enable this module if you want to use the userland DECnet routing daemon. You will also need to enable routing support for DECnet unless you just want to monitor routing messages from other nodes. endmenu # # Configuration for DNS Resolver # config DNS_RESOLVER tristate "DNS Resolver support" depends on NET && KEYS help Saying Y here will include support for the DNS Resolver key type which can be used to make upcalls to perform DNS lookups in userspace. DNS Resolver is used to query DNS server for information. Examples being resolving a UNC hostname element to an IP address for CIFS or performing a DNS query for AFSDB records so that AFS can locate a cell's volume location database servers. DNS Resolver is used by the CIFS and AFS modules, and would support SMB2 later. DNS Resolver is supported by the userspace upcall helper "/sbin/dns.resolver" via /etc/request-key.conf. See for further information. To compile this as a module, choose M here: the module will be called dnsresolver. If unsure, say N. config HAVE_NET_DSA def_bool y depends on NETDEVICES && !S390 # Drivers must select NET_DSA and the appropriate tagging format config NET_DSA tristate depends on HAVE_NET_DSA select PHYLIB if NET_DSA # tagging formats config NET_DSA_TAG_DSA bool config NET_DSA_TAG_EDSA bool config NET_DSA_TAG_TRAILER bool endif # # IEC 62439-3 High-availability Seamless Redundancy # config HSR tristate "High-availability Seamless Redundancy (HSR)" ---help--- If you say Y here, then your Linux box will be able to act as a DANH ("Doubly attached node implementing HSR"). For this to work, your Linux box needs (at least) two physical Ethernet interfaces, and it must be connected as a node in a ring network together with other HSR capable nodes. All Ethernet frames sent over the hsr device will be sent in both directions on the ring (over both slave ports), giving a redundant, instant fail-over network. Each HSR node in the ring acts like a bridge for HSR frames, but filters frames that have been forwarded earlier. This code is a "best effort" to comply with the HSR standard as described in IEC 62439-3:2010 (HSRv0), but no compliancy tests have been made. You need to perform any and all necessary tests yourself before relying on this code in a safety critical system! If unsure, say N. config IEEE802154 tristate "IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support" ---help--- IEEE Std 802.15.4 defines a low data rate, low power and low complexity short range wireless personal area networks. It was designed to organise networks of sensors, switches, etc automation devices. Maximum allowed data rate is 250 kb/s and typical personal operating space around 10m. Say Y here to compile LR-WPAN support into the kernel or say M to compile it as modules. config IEEE802154_6LOWPAN tristate "6lowpan support over IEEE 802.15.4" depends on IEEE802154 && IPV6 ---help--- IPv6 compression over IEEE 802.15.4. # # IP configuration # config IP_MULTICAST bool "IP: multicasting" help This is code for addressing several networked computers at once, enlarging your kernel by about 2 KB. You need multicasting if you intend to participate in the MBONE, a high bandwidth network on top of the Internet which carries audio and video broadcasts. More information about the MBONE is on the WWW at . For most people, it's safe to say N. config IP_ADVANCED_ROUTER bool "IP: advanced router" ---help--- If you intend to run your Linux box mostly as a router, i.e. as a computer that forwards and redistributes network packets, say Y; you will then be presented with several options that allow more precise control about the routing process. The answer to this question won't directly affect the kernel: answering N will just cause the configurator to skip all the questions about advanced routing. Note that your box can only act as a router if you enable IP forwarding in your kernel; you can do that by saying Y to "/proc file system support" and "Sysctl support" below and executing the line echo "1" > /proc/sys/net/ipv4/ip_forward at boot time after the /proc file system has been mounted. If you turn on IP forwarding, you should consider the rp_filter, which automatically rejects incoming packets if the routing table entry for their source address doesn't match the network interface they're arriving on. This has security advantages because it prevents the so-called IP spoofing, however it can pose problems if you use asymmetric routing (packets from you to a host take a different path than packets from that host to you) or if you operate a non-routing host which has several IP addresses on different interfaces. To turn rp_filter on use: echo 1 > /proc/sys/net/ipv4/conf//rp_filter or echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter Note that some distributions enable it in startup scripts. For details about rp_filter strict and loose mode read . If unsure, say N here. config IP_FIB_TRIE_STATS bool "FIB TRIE statistics" depends on IP_ADVANCED_ROUTER ---help--- Keep track of statistics on structure of FIB TRIE table. Useful for testing and measuring TRIE performance. config IP_MULTIPLE_TABLES bool "IP: policy routing" depends on IP_ADVANCED_ROUTER select FIB_RULES ---help--- Normally, a router decides what to do with a received packet based solely on the packet's final destination address. If you say Y here, the Linux router will also be able to take the packet's source address into account. Furthermore, the TOS (Type-Of-Service) field of the packet can be used for routing decisions as well. If you are interested in this, please see the preliminary documentation at and . You will need supporting software from . If unsure, say N. config IP_ROUTE_MULTIPATH bool "IP: equal cost multipath" depends on IP_ADVANCED_ROUTER help Normally, the routing tables specify a single action to be taken in a deterministic manner for a given packet. If you say Y here however, it becomes possible to attach several actions to a packet pattern, in effect specifying several alternative paths to travel for those packets. The router considers all these paths to be of equal "cost" and chooses one of them in a non-deterministic fashion if a matching packet arrives. config IP_ROUTE_VERBOSE bool "IP: verbose route monitoring" depends on IP_ADVANCED_ROUTER help If you say Y here, which is recommended, then the kernel will print verbose messages regarding the routing, for example warnings about received packets which look strange and could be evidence of an attack or a misconfigured system somewhere. The information is handled by the klogd daemon which is responsible for kernel messages ("man klogd"). config IP_ROUTE_CLASSID bool config IP_PNP bool "IP: kernel level autoconfiguration" help This enables automatic configuration of IP addresses of devices and of the routing table during kernel boot, based on either information supplied on the kernel command line or by BOOTP or RARP protocols. You need to say Y only for diskless machines requiring network access to boot (in which case you want to say Y to "Root file system on NFS" as well), because all other machines configure the network in their startup scripts. config IP_PNP_DHCP bool "IP: DHCP support" depends on IP_PNP ---help--- If you want your Linux box to mount its whole root file system (the one containing the directory /) from some other computer over the net via NFS and you want the IP address of your computer to be discovered automatically at boot time using the DHCP protocol (a special protocol designed for doing this job), say Y here. In case the boot ROM of your network card was designed for booting Linux and does DHCP itself, providing all necessary information on the kernel command line, you can say N here. If unsure, say Y. Note that if you want to use DHCP, a DHCP server must be operating on your network. Read for details. config IP_PNP_BOOTP bool "IP: BOOTP support" depends on IP_PNP ---help--- If you want your Linux box to mount its whole root file system (the one containing the directory /) from some other computer over the net via NFS and you want the IP address of your computer to be discovered automatically at boot time using the BOOTP protocol (a special protocol designed for doing this job), say Y here. In case the boot ROM of your network card was designed for booting Linux and does BOOTP itself, providing all necessary information on the kernel command line, you can say N here. If unsure, say Y. Note that if you want to use BOOTP, a BOOTP server must be operating on your network. Read for details. config IP_PNP_RARP bool "IP: RARP support" depends on IP_PNP help If you want your Linux box to mount its whole root file system (the one containing the directory /) from some other computer over the net via NFS and you want the IP address of your computer to be discovered automatically at boot time using the RARP protocol (an older protocol which is being obsoleted by BOOTP and DHCP), say Y here. Note that if you want to use RARP, a RARP server must be operating on your network. Read for details. config NET_IPIP tristate "IP: tunneling" select INET_TUNNEL select NET_IP_TUNNEL ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This particular tunneling driver implements encapsulation of IP within IP, which sounds kind of pointless, but can be useful if you want to make your (or some other) machine appear on a different network than it physically is, or to use mobile-IP facilities (allowing laptops to seamlessly move between networks without changing their IP addresses). Saying Y to this option will produce two modules ( = code which can be inserted in and removed from the running kernel whenever you want). Most people won't need this and can say N. config NET_IPGRE_DEMUX tristate "IP: GRE demultiplexer" help This is helper module to demultiplex GRE packets on GRE version field criteria. Required by ip_gre and pptp modules. config NET_IP_TUNNEL tristate default n config NET_IPGRE tristate "IP: GRE tunnels over IP" depends on (IPV6 || IPV6=n) && NET_IPGRE_DEMUX select NET_IP_TUNNEL help Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This particular tunneling driver implements GRE (Generic Routing Encapsulation) and at this time allows encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure. This driver is useful if the other endpoint is a Cisco router: Cisco likes GRE much better than the other Linux tunneling driver ("IP tunneling" above). In addition, GRE allows multicast redistribution through the tunnel. config NET_IPGRE_BROADCAST bool "IP: broadcast GRE over IP" depends on IP_MULTICAST && NET_IPGRE help One application of GRE/IP is to construct a broadcast WAN (Wide Area Network), which looks like a normal Ethernet LAN (Local Area Network), but can be distributed all over the Internet. If you want to do that, say Y here and to "IP multicast routing" below. config IP_MROUTE bool "IP: multicast routing" depends on IP_MULTICAST help This is used if you want your machine to act as a router for IP packets that have several destination addresses. It is needed on the MBONE, a high bandwidth network on top of the Internet which carries audio and video broadcasts. In order to do that, you would most likely run the program mrouted. If you haven't heard about it, you don't need it. config IP_MROUTE_MULTIPLE_TABLES bool "IP: multicast policy routing" depends on IP_MROUTE && IP_ADVANCED_ROUTER select FIB_RULES help Normally, a multicast router runs a userspace daemon and decides what to do with a multicast packet based on the source and destination addresses. If you say Y here, the multicast router will also be able to take interfaces and packet marks into account and run multiple instances of userspace daemons simultaneously, each one handling a single table. If unsure, say N. config IP_PIMSM_V1 bool "IP: PIM-SM version 1 support" depends on IP_MROUTE help Kernel side support for Sparse Mode PIM (Protocol Independent Multicast) version 1. This multicast routing protocol is used widely because Cisco supports it. You need special software to use it (pimd-v1). Please see for more information about PIM. Say Y if you want to use PIM-SM v1. Note that you can say N here if you just want to use Dense Mode PIM. config IP_PIMSM_V2 bool "IP: PIM-SM version 2 support" depends on IP_MROUTE help Kernel side support for Sparse Mode PIM version 2. In order to use this, you need an experimental routing daemon supporting it (pimd or gated-5). This routing protocol is not used widely, so say N unless you want to play with it. config SYN_COOKIES bool "IP: TCP syncookie support" ---help--- Normal TCP/IP networking is open to an attack known as "SYN flooding". This denial-of-service attack prevents legitimate remote users from being able to connect to your computer during an ongoing attack and requires very little work from the attacker, who can operate from anywhere on the Internet. SYN cookies provide protection against this type of attack. If you say Y here, the TCP/IP stack will use a cryptographic challenge protocol known as "SYN cookies" to enable legitimate users to continue to connect, even when your machine is under attack. There is no need for the legitimate users to change their TCP/IP software; SYN cookies work transparently to them. For technical information about SYN cookies, check out . If you are SYN flooded, the source address reported by the kernel is likely to have been forged by the attacker; it is only reported as an aid in tracing the packets to their actual source and should not be taken as absolute truth. SYN cookies may prevent correct error reporting on clients when the server is really overloaded. If this happens frequently better turn them off. If you say Y here, you can disable SYN cookies at run time by saying Y to "/proc file system support" and "Sysctl support" below and executing the command echo 0 > /proc/sys/net/ipv4/tcp_syncookies after the /proc file system has been mounted. If unsure, say N. config NET_IPVTI tristate "Virtual (secure) IP: tunneling" select INET_TUNNEL select NET_IP_TUNNEL depends on INET_XFRM_MODE_TUNNEL ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This can be used with xfrm mode tunnel to give the notion of a secure tunnel for IPSEC and then use routing protocol on top. config INET_AH tristate "IP: AH transformation" select XFRM_ALGO select CRYPTO select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_SHA1 ---help--- Support for IPsec AH. If unsure, say Y. config INET_ESP tristate "IP: ESP transformation" select XFRM_ALGO select CRYPTO select CRYPTO_AUTHENC select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_CBC select CRYPTO_SHA1 select CRYPTO_DES ---help--- Support for IPsec ESP. If unsure, say Y. config INET_IPCOMP tristate "IP: IPComp transformation" select INET_XFRM_TUNNEL select XFRM_IPCOMP ---help--- Support for IP Payload Compression Protocol (IPComp) (RFC3173), typically needed for IPsec. If unsure, say Y. config INET_XFRM_TUNNEL tristate select INET_TUNNEL default n config INET_TUNNEL tristate default n config INET_XFRM_MODE_TRANSPORT tristate "IP: IPsec transport mode" default y select XFRM ---help--- Support for IPsec transport mode. If unsure, say Y. config INET_XFRM_MODE_TUNNEL tristate "IP: IPsec tunnel mode" default y select XFRM ---help--- Support for IPsec tunnel mode. If unsure, say Y. config INET_XFRM_MODE_BEET tristate "IP: IPsec BEET mode" default y select XFRM ---help--- Support for IPsec BEET mode. If unsure, say Y. config INET_LRO tristate "Large Receive Offload (ipv4/tcp)" default y ---help--- Support for Large Receive Offload (ipv4/tcp). If unsure, say Y. config INET_DIAG tristate "INET: socket monitoring interface" default y ---help--- Support for INET (TCP, DCCP, etc) socket monitoring interface used by native Linux tools such as ss. ss is included in iproute2, currently downloadable at: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 If unsure, say Y. config INET_TCP_DIAG depends on INET_DIAG def_tristate INET_DIAG config INET_UDP_DIAG tristate "UDP: socket monitoring interface" depends on INET_DIAG && (IPV6 || IPV6=n) default n ---help--- Support for UDP socket monitoring interface used by the ss tool. If unsure, say Y. menuconfig TCP_CONG_ADVANCED bool "TCP: advanced congestion control" ---help--- Support for selection of various TCP congestion control modules. Nearly all users can safely say no here, and a safe default selection will be made (CUBIC with new Reno as a fallback). If unsure, say N. if TCP_CONG_ADVANCED config TCP_CONG_BIC tristate "Binary Increase Congestion (BIC) control" default m ---help--- BIC-TCP is a sender-side only change that ensures a linear RTT fairness under large windows while offering both scalability and bounded TCP-friendliness. The protocol combines two schemes called additive increase and binary search increase. When the congestion window is large, additive increase with a large increment ensures linear RTT fairness as well as good scalability. Under small congestion windows, binary search increase provides TCP friendliness. See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ config TCP_CONG_CUBIC tristate "CUBIC TCP" default y ---help--- This is version 2.0 of BIC-TCP which uses a cubic growth function among other techniques. See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf config TCP_CONG_WESTWOOD tristate "TCP Westwood+" default m ---help--- TCP Westwood+ is a sender-side only modification of the TCP Reno protocol stack that optimizes the performance of TCP congestion control. It is based on end-to-end bandwidth estimation to set congestion window and slow start threshold after a congestion episode. Using this estimation, TCP Westwood+ adaptively sets a slow start threshold and a congestion window which takes into account the bandwidth used at the time congestion is experienced. TCP Westwood+ significantly increases fairness wrt TCP Reno in wired networks and throughput over wireless links. config TCP_CONG_HTCP tristate "H-TCP" default m ---help--- H-TCP is a send-side only modifications of the TCP Reno protocol stack that optimizes the performance of TCP congestion control for high speed network links. It uses a modeswitch to change the alpha and beta parameters of TCP Reno based on network conditions and in a way so as to be fair with other Reno and H-TCP flows. config TCP_CONG_HSTCP tristate "High Speed TCP" default n ---help--- Sally Floyd's High Speed TCP (RFC 3649) congestion control. A modification to TCP's congestion control mechanism for use with large congestion windows. A table indicates how much to increase the congestion window by when an ACK is received. For more detail see http://www.icir.org/floyd/hstcp.html config TCP_CONG_HYBLA tristate "TCP-Hybla congestion control algorithm" default n ---help--- TCP-Hybla is a sender-side only change that eliminates penalization of long-RTT, large-bandwidth connections, like when satellite legs are involved, especially when sharing a common bottleneck with normal terrestrial connections. config TCP_CONG_VEGAS tristate "TCP Vegas" default n ---help--- TCP Vegas is a sender-side only change to TCP that anticipates the onset of congestion by estimating the bandwidth. TCP Vegas adjusts the sending rate by modifying the congestion window. TCP Vegas should provide less packet loss, but it is not as aggressive as TCP Reno. config TCP_CONG_SCALABLE tristate "Scalable TCP" default n ---help--- Scalable TCP is a sender-side only change to TCP which uses a MIMD congestion control algorithm which has some nice scaling properties, though is known to have fairness issues. See http://www.deneholme.net/tom/scalable/ config TCP_CONG_LP tristate "TCP Low Priority" default n ---help--- TCP Low Priority (TCP-LP), a distributed algorithm whose goal is to utilize only the excess network bandwidth as compared to the ``fair share`` of bandwidth as targeted by TCP. See http://www-ece.rice.edu/networks/TCP-LP/ config TCP_CONG_VENO tristate "TCP Veno" default n ---help--- TCP Veno is a sender-side only enhancement of TCP to obtain better throughput over wireless networks. TCP Veno makes use of state distinguishing to circumvent the difficult judgment of the packet loss type. TCP Veno cuts down less congestion window in response to random loss packets. See config TCP_CONG_YEAH tristate "YeAH TCP" select TCP_CONG_VEGAS default n ---help--- YeAH-TCP is a sender-side high-speed enabled TCP congestion control algorithm, which uses a mixed loss/delay approach to compute the congestion window. It's design goals target high efficiency, internal, RTT and Reno fairness, resilience to link loss while keeping network elements load as low as possible. For further details look here: http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf config TCP_CONG_ILLINOIS tristate "TCP Illinois" default n ---help--- TCP-Illinois is a sender-side modification of TCP Reno for high speed long delay links. It uses round-trip-time to adjust the alpha and beta parameters to achieve a higher average throughput and maintain fairness. For further details see: http://www.ews.uiuc.edu/~shaoliu/tcpillinois/index.html choice prompt "Default TCP congestion control" default DEFAULT_CUBIC help Select the TCP congestion control that will be used by default for all connections. config DEFAULT_BIC bool "Bic" if TCP_CONG_BIC=y config DEFAULT_CUBIC bool "Cubic" if TCP_CONG_CUBIC=y config DEFAULT_HTCP bool "Htcp" if TCP_CONG_HTCP=y config DEFAULT_HYBLA bool "Hybla" if TCP_CONG_HYBLA=y config DEFAULT_VEGAS bool "Vegas" if TCP_CONG_VEGAS=y config DEFAULT_VENO bool "Veno" if TCP_CONG_VENO=y config DEFAULT_WESTWOOD bool "Westwood" if TCP_CONG_WESTWOOD=y config DEFAULT_RENO bool "Reno" endchoice endif config TCP_CONG_CUBIC tristate depends on !TCP_CONG_ADVANCED default y config DEFAULT_TCP_CONG string default "bic" if DEFAULT_BIC default "cubic" if DEFAULT_CUBIC default "htcp" if DEFAULT_HTCP default "hybla" if DEFAULT_HYBLA default "vegas" if DEFAULT_VEGAS default "westwood" if DEFAULT_WESTWOOD default "veno" if DEFAULT_VENO default "reno" if DEFAULT_RENO default "cubic" config TCP_MD5SIG bool "TCP: MD5 Signature Option support (RFC2385)" select CRYPTO select CRYPTO_MD5 ---help--- RFC2385 specifies a method of giving MD5 protection to TCP sessions. Its main (only?) use is to protect BGP sessions between core routers on the Internet. If unsure, say N. # # IP netfilter configuration # menu "IP: Netfilter Configuration" depends on INET && NETFILTER config NF_DEFRAG_IPV4 tristate default n config NF_CONNTRACK_IPV4 tristate "IPv4 connection tracking support (required for NAT)" depends on NF_CONNTRACK default m if NETFILTER_ADVANCED=n select NF_DEFRAG_IPV4 ---help--- Connection tracking keeps a record of what packets have passed through your machine, in order to figure out how they are related into connections. This is IPv4 support on Layer 3 independent connection tracking. Layer 3 independent connection tracking is experimental scheme which generalize ip_conntrack to support other layer 3 protocols. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_PROC_COMPAT bool "proc/sysctl compatibility with old connection tracking" depends on NF_CONNTRACK_PROCFS && NF_CONNTRACK_IPV4 default y help This option enables /proc and sysctl compatibility with the old layer 3 dependent connection tracking. This is needed to keep old programs that have not been adapted to the new names working. If unsure, say Y. config NF_TABLES_IPV4 depends on NF_TABLES tristate "IPv4 nf_tables support" config NFT_REJECT_IPV4 depends on NF_TABLES_IPV4 tristate "nf_tables IPv4 reject support" config NFT_CHAIN_ROUTE_IPV4 depends on NF_TABLES_IPV4 tristate "IPv4 nf_tables route chain support" config NFT_CHAIN_NAT_IPV4 depends on NF_TABLES_IPV4 depends on NF_NAT_IPV4 && NFT_NAT tristate "IPv4 nf_tables nat chain support" config NF_TABLES_ARP depends on NF_TABLES tristate "ARP nf_tables support" config IP_NF_IPTABLES tristate "IP tables support (required for filtering/masq/NAT)" default m if NETFILTER_ADVANCED=n select NETFILTER_XTABLES help iptables is a general, extensible packet identification framework. The packet filtering and full NAT (masquerading, port forwarding, etc) subsystems now use this: say `Y' or `M' here if you want to use either of those. To compile it as a module, choose M here. If unsure, say N. if IP_NF_IPTABLES # The matches. config IP_NF_MATCH_AH tristate '"ah" match support' depends on NETFILTER_ADVANCED help This match extension allows you to match a range of SPIs inside AH header of IPSec packets. To compile it as a module, choose M here. If unsure, say N. config IP_NF_MATCH_ECN tristate '"ecn" match support' depends on NETFILTER_ADVANCED select NETFILTER_XT_MATCH_ECN ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_MATCH_ECN. config IP_NF_MATCH_RPFILTER tristate '"rpfilter" reverse path filter match support' depends on NETFILTER_ADVANCED && (IP_NF_MANGLE || IP_NF_RAW) ---help--- This option allows you to match packets whose replies would go out via the interface the packet came in. To compile it as a module, choose M here. If unsure, say N. The module will be called ipt_rpfilter. config IP_NF_MATCH_TTL tristate '"ttl" match support' depends on NETFILTER_ADVANCED select NETFILTER_XT_MATCH_HL ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_MATCH_HL. # `filter', generic and specific targets config IP_NF_FILTER tristate "Packet filtering" default m if NETFILTER_ADVANCED=n help Packet filtering defines a table `filter', which has a series of rules for simple packet filtering at local input, forwarding and local output. See the man page for iptables(8). To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_REJECT tristate "REJECT target support" depends on IP_NF_FILTER default m if NETFILTER_ADVANCED=n help The REJECT target allows a filtering rule to specify that an ICMP error should be issued in response to an incoming packet, rather than silently being dropped. To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_SYNPROXY tristate "SYNPROXY target support" depends on NF_CONNTRACK && NETFILTER_ADVANCED select NETFILTER_SYNPROXY select SYN_COOKIES help The SYNPROXY target allows you to intercept TCP connections and establish them using syncookies before they are passed on to the server. This allows to avoid conntrack and server resource usage during SYN-flood attacks. To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_ULOG tristate "ULOG target support (obsolete)" default m if NETFILTER_ADVANCED=n ---help--- This option enables the old IPv4-only "ipt_ULOG" implementation which has been obsoleted by the new "nfnetlink_log" code (see CONFIG_NETFILTER_NETLINK_LOG). This option adds a `ULOG' target, which allows you to create rules in any iptables table. The packet is passed to a userspace logging daemon using netlink multicast sockets; unlike the LOG target which can only be viewed through syslog. The appropriate userspace logging daemon (ulogd) may be obtained from To compile it as a module, choose M here. If unsure, say N. # NAT + specific targets: nf_conntrack config NF_NAT_IPV4 tristate "IPv4 NAT" depends on NF_CONNTRACK_IPV4 default m if NETFILTER_ADVANCED=n select NF_NAT help The IPv4 NAT option allows masquerading, port forwarding and other forms of full Network Address Port Translation. It is controlled by the `nat' table in iptables: see the man page for iptables(8). To compile it as a module, choose M here. If unsure, say N. if NF_NAT_IPV4 config IP_NF_TARGET_MASQUERADE tristate "MASQUERADE target support" default m if NETFILTER_ADVANCED=n help Masquerading is a special case of NAT: all outgoing connections are changed to seem to come from a particular interface's address, and if the interface goes down, those connections are lost. This is only useful for dialup accounts with dynamic IP address (ie. your IP address will be different on next dialup). To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_NETMAP tristate "NETMAP target support" depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_NETMAP ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_TARGET_NETMAP. config IP_NF_TARGET_REDIRECT tristate "REDIRECT target support" depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_REDIRECT ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_TARGET_REDIRECT. endif config NF_NAT_SNMP_BASIC tristate "Basic SNMP-ALG support" depends on NF_CONNTRACK_SNMP && NF_NAT_IPV4 depends on NETFILTER_ADVANCED default NF_NAT && NF_CONNTRACK_SNMP ---help--- This module implements an Application Layer Gateway (ALG) for SNMP payloads. In conjunction with NAT, it allows a network management system to access multiple private networks with conflicting addresses. It works by modifying IP addresses inside SNMP payloads to match IP-layer NAT mapping. This is the "basic" form of SNMP-ALG, as described in RFC 2962 To compile it as a module, choose M here. If unsure, say N. # If they want FTP, set to $CONFIG_IP_NF_NAT (m or y), # or $CONFIG_IP_NF_FTP (m or y), whichever is weaker. # From kconfig-language.txt: # # '&&' (6) # # (6) Returns the result of min(/expr/, /expr/). config NF_NAT_PROTO_GRE tristate depends on NF_NAT_IPV4 && NF_CT_PROTO_GRE config NF_NAT_PPTP tristate depends on NF_CONNTRACK && NF_NAT_IPV4 default NF_NAT_IPV4 && NF_CONNTRACK_PPTP select NF_NAT_PROTO_GRE config NF_NAT_H323 tristate depends on NF_CONNTRACK && NF_NAT_IPV4 default NF_NAT_IPV4 && NF_CONNTRACK_H323 # mangle + specific targets config IP_NF_MANGLE tristate "Packet mangling" default m if NETFILTER_ADVANCED=n help This option adds a `mangle' table to iptables: see the man page for iptables(8). This table is used for various packet alterations which can effect how the packet is routed. To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_CLUSTERIP tristate "CLUSTERIP target support" depends on IP_NF_MANGLE depends on NF_CONNTRACK_IPV4 depends on NETFILTER_ADVANCED select NF_CONNTRACK_MARK help The CLUSTERIP target allows you to build load-balancing clusters of network servers without having a dedicated load-balancing router/server/switch. To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_ECN tristate "ECN target support" depends on IP_NF_MANGLE depends on NETFILTER_ADVANCED ---help--- This option adds a `ECN' target, which can be used in the iptables mangle table. You can use this target to remove the ECN bits from the IPv4 header of an IP packet. This is particularly useful, if you need to work around existing ECN blackholes on the internet, but don't want to disable ECN support in general. To compile it as a module, choose M here. If unsure, say N. config IP_NF_TARGET_TTL tristate '"TTL" target support' depends on NETFILTER_ADVANCED && IP_NF_MANGLE select NETFILTER_XT_TARGET_HL ---help--- This is a backwards-compatible option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_TARGET_HL. # raw + specific targets config IP_NF_RAW tristate 'raw table support (required for NOTRACK/TRACE)' help This option adds a `raw' table to iptables. This table is the very first in the netfilter framework and hooks in at the PREROUTING and OUTPUT chains. If you want to compile it as a module, say M here and read . If unsure, say `N'. # security table for MAC policy config IP_NF_SECURITY tristate "Security table" depends on SECURITY depends on NETFILTER_ADVANCED help This option adds a `security' table to iptables, for use with Mandatory Access Control (MAC) policy. If unsure, say N. endif # IP_NF_IPTABLES # ARP tables config IP_NF_ARPTABLES tristate "ARP tables support" select NETFILTER_XTABLES depends on NETFILTER_ADVANCED help arptables is a general, extensible packet identification framework. The ARP packet filtering and mangling (manipulation)subsystems use this: say Y or M here if you want to use either of those. To compile it as a module, choose M here. If unsure, say N. if IP_NF_ARPTABLES config IP_NF_ARPFILTER tristate "ARP packet filtering" help ARP packet filtering defines a table `filter', which has a series of rules for simple ARP packet filtering at local input and local output. On a bridge, you can also specify filtering rules for forwarded ARP packets. See the man page for arptables(8). To compile it as a module, choose M here. If unsure, say N. config IP_NF_ARP_MANGLE tristate "ARP payload mangling" help Allows altering the ARP packet payload: source and destination hardware and network addresses. endif # IP_NF_ARPTABLES endmenu # # IPv6 configuration # # IPv6 as module will cause a CRASH if you try to unload it menuconfig IPV6 tristate "The IPv6 protocol" default m ---help--- This is complemental support for the IP version 6. You will still be able to do traditional IPv4 networking as well. For general information about IPv6, see . For Linux IPv6 development information, see . For specific information about IPv6 under Linux, read the HOWTO at . To compile this protocol support as a module, choose M here: the module will be called ipv6. if IPV6 config IPV6_ROUTER_PREF bool "IPv6: Router Preference (RFC 4191) support" ---help--- Router Preference is an optional extension to the Router Advertisement message which improves the ability of hosts to pick an appropriate router, especially when the hosts are placed in a multi-homed network. If unsure, say N. config IPV6_ROUTE_INFO bool "IPv6: Route Information (RFC 4191) support" depends on IPV6_ROUTER_PREF ---help--- This is experimental support of Route Information. If unsure, say N. config IPV6_OPTIMISTIC_DAD bool "IPv6: Enable RFC 4429 Optimistic DAD" ---help--- This is experimental support for optimistic Duplicate Address Detection. It allows for autoconfigured addresses to be used more quickly. If unsure, say N. config INET6_AH tristate "IPv6: AH transformation" select XFRM_ALGO select CRYPTO select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_SHA1 ---help--- Support for IPsec AH. If unsure, say Y. config INET6_ESP tristate "IPv6: ESP transformation" select XFRM_ALGO select CRYPTO select CRYPTO_AUTHENC select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_CBC select CRYPTO_SHA1 select CRYPTO_DES ---help--- Support for IPsec ESP. If unsure, say Y. config INET6_IPCOMP tristate "IPv6: IPComp transformation" select INET6_XFRM_TUNNEL select XFRM_IPCOMP ---help--- Support for IP Payload Compression Protocol (IPComp) (RFC3173), typically needed for IPsec. If unsure, say Y. config IPV6_MIP6 tristate "IPv6: Mobility" select XFRM ---help--- Support for IPv6 Mobility described in RFC 3775. If unsure, say N. config INET6_XFRM_TUNNEL tristate select INET6_TUNNEL default n config INET6_TUNNEL tristate default n config INET6_XFRM_MODE_TRANSPORT tristate "IPv6: IPsec transport mode" default IPV6 select XFRM ---help--- Support for IPsec transport mode. If unsure, say Y. config INET6_XFRM_MODE_TUNNEL tristate "IPv6: IPsec tunnel mode" default IPV6 select XFRM ---help--- Support for IPsec tunnel mode. If unsure, say Y. config INET6_XFRM_MODE_BEET tristate "IPv6: IPsec BEET mode" default IPV6 select XFRM ---help--- Support for IPsec BEET mode. If unsure, say Y. config INET6_XFRM_MODE_ROUTEOPTIMIZATION tristate "IPv6: MIPv6 route optimization mode" select XFRM ---help--- Support for MIPv6 route optimization mode. config IPV6_VTI tristate "Virtual (secure) IPv6: tunneling" select IPV6_TUNNEL depends on INET6_XFRM_MODE_TUNNEL ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This can be used with xfrm mode tunnel to give the notion of a secure tunnel for IPSEC and then use routing protocol on top. config IPV6_SIT tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)" select INET_TUNNEL select NET_IP_TUNNEL select IPV6_NDISC_NODETYPE default y ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This driver implements encapsulation of IPv6 into IPv4 packets. This is useful if you want to connect two IPv6 networks over an IPv4-only path. Saying M here will produce a module called sit. If unsure, say Y. config IPV6_SIT_6RD bool "IPv6: IPv6 Rapid Deployment (6RD)" depends on IPV6_SIT default n ---help--- IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly deploy IPv6 unicast service to IPv4 sites to which it provides customer premise equipment. Like 6to4, it utilizes stateless IPv6 in IPv4 encapsulation in order to transit IPv4-only network infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 prefix of its own in place of the fixed 6to4 prefix. With this option enabled, the SIT driver offers 6rd functionality by providing additional ioctl API to configure the IPv6 Prefix for in stead of static 2002::/16 for 6to4. If unsure, say N. config IPV6_NDISC_NODETYPE bool config IPV6_TUNNEL tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)" select INET6_TUNNEL ---help--- Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in RFC 2473. If unsure, say N. config IPV6_GRE tristate "IPv6: GRE tunnel" select IPV6_TUNNEL select NET_IP_TUNNEL ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol. This particular tunneling driver implements GRE (Generic Routing Encapsulation) and at this time allows encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure. This driver is useful if the other endpoint is a Cisco router: Cisco likes GRE much better than the other Linux tunneling driver ("IP tunneling" above). In addition, GRE allows multicast redistribution through the tunnel. Saying M here will produce a module called ip6_gre. If unsure, say N. config IPV6_MULTIPLE_TABLES bool "IPv6: Multiple Routing Tables" select FIB_RULES ---help--- Support multiple routing tables. config IPV6_SUBTREES bool "IPv6: source address based routing" depends on IPV6_MULTIPLE_TABLES ---help--- Enable routing by source address or prefix. The destination address is still the primary routing key, so mixing normal and source prefix specific routes in the same routing table may sometimes lead to unintended routing behavior. This can be avoided by defining different routing tables for the normal and source prefix specific routes. If unsure, say N. config IPV6_MROUTE bool "IPv6: multicast routing" depends on IPV6 ---help--- Experimental support for IPv6 multicast forwarding. If unsure, say N. config IPV6_MROUTE_MULTIPLE_TABLES bool "IPv6: multicast policy routing" depends on IPV6_MROUTE select FIB_RULES help Normally, a multicast router runs a userspace daemon and decides what to do with a multicast packet based on the source and destination addresses. If you say Y here, the multicast router will also be able to take interfaces and packet marks into account and run multiple instances of userspace daemons simultaneously, each one handling a single table. If unsure, say N. config IPV6_PIMSM_V2 bool "IPv6: PIM-SM version 2 support" depends on IPV6_MROUTE ---help--- Support for IPv6 PIM multicast routing protocol PIM-SMv2. If unsure, say N. endif # IPV6 # # IP netfilter configuration # menu "IPv6: Netfilter Configuration" depends on INET && IPV6 && NETFILTER config NF_DEFRAG_IPV6 tristate default n config NF_CONNTRACK_IPV6 tristate "IPv6 connection tracking support" depends on INET && IPV6 && NF_CONNTRACK default m if NETFILTER_ADVANCED=n select NF_DEFRAG_IPV6 ---help--- Connection tracking keeps a record of what packets have passed through your machine, in order to figure out how they are related into connections. This is IPv6 support on Layer 3 independent connection tracking. Layer 3 independent connection tracking is experimental scheme which generalize ip_conntrack to support other layer 3 protocols. To compile it as a module, choose M here. If unsure, say N. config NF_TABLES_IPV6 depends on NF_TABLES tristate "IPv6 nf_tables support" config NFT_CHAIN_ROUTE_IPV6 depends on NF_TABLES_IPV6 tristate "IPv6 nf_tables route chain support" config NFT_CHAIN_NAT_IPV6 depends on NF_TABLES_IPV6 depends on NF_NAT_IPV6 && NFT_NAT tristate "IPv6 nf_tables nat chain support" config IP6_NF_IPTABLES tristate "IP6 tables support (required for filtering)" depends on INET && IPV6 select NETFILTER_XTABLES default m if NETFILTER_ADVANCED=n help ip6tables is a general, extensible packet identification framework. Currently only the packet filtering and packet mangling subsystem for IPv6 use this, but connection tracking is going to follow. Say 'Y' or 'M' here if you want to use either of those. To compile it as a module, choose M here. If unsure, say N. if IP6_NF_IPTABLES # The simple matches. config IP6_NF_MATCH_AH tristate '"ah" match support' depends on NETFILTER_ADVANCED help This module allows one to match AH packets. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_EUI64 tristate '"eui64" address check' depends on NETFILTER_ADVANCED help This module performs checking on the IPv6 source address Compares the last 64 bits with the EUI64 (delivered from the MAC address) address To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_FRAG tristate '"frag" Fragmentation header match support' depends on NETFILTER_ADVANCED help frag matching allows you to match packets based on the fragmentation header of the packet. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_OPTS tristate '"hbh" hop-by-hop and "dst" opts header match support' depends on NETFILTER_ADVANCED help This allows one to match packets based on the hop-by-hop and destination options headers of a packet. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_HL tristate '"hl" hoplimit match support' depends on NETFILTER_ADVANCED select NETFILTER_XT_MATCH_HL ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_MATCH_HL. config IP6_NF_MATCH_IPV6HEADER tristate '"ipv6header" IPv6 Extension Headers Match' default m if NETFILTER_ADVANCED=n help This module allows one to match packets based upon the ipv6 extension headers. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_MH tristate '"mh" match support' depends on NETFILTER_ADVANCED help This module allows one to match MH packets. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MATCH_RPFILTER tristate '"rpfilter" reverse path filter match support' depends on NETFILTER_ADVANCED && (IP6_NF_MANGLE || IP6_NF_RAW) ---help--- This option allows you to match packets whose replies would go out via the interface the packet came in. To compile it as a module, choose M here. If unsure, say N. The module will be called ip6t_rpfilter. config IP6_NF_MATCH_RT tristate '"rt" Routing header match support' depends on NETFILTER_ADVANCED help rt matching allows you to match packets based on the routing header of the packet. To compile it as a module, choose M here. If unsure, say N. # The targets config IP6_NF_TARGET_HL tristate '"HL" hoplimit target support' depends on NETFILTER_ADVANCED && IP6_NF_MANGLE select NETFILTER_XT_TARGET_HL ---help--- This is a backwards-compatible option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_TARGET_HL. config IP6_NF_FILTER tristate "Packet filtering" default m if NETFILTER_ADVANCED=n help Packet filtering defines a table `filter', which has a series of rules for simple packet filtering at local input, forwarding and local output. See the man page for iptables(8). To compile it as a module, choose M here. If unsure, say N. config IP6_NF_TARGET_REJECT tristate "REJECT target support" depends on IP6_NF_FILTER default m if NETFILTER_ADVANCED=n help The REJECT target allows a filtering rule to specify that an ICMPv6 error should be issued in response to an incoming packet, rather than silently being dropped. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_TARGET_SYNPROXY tristate "SYNPROXY target support" depends on NF_CONNTRACK && NETFILTER_ADVANCED select NETFILTER_SYNPROXY select SYN_COOKIES help The SYNPROXY target allows you to intercept TCP connections and establish them using syncookies before they are passed on to the server. This allows to avoid conntrack and server resource usage during SYN-flood attacks. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_MANGLE tristate "Packet mangling" default m if NETFILTER_ADVANCED=n help This option adds a `mangle' table to iptables: see the man page for iptables(8). This table is used for various packet alterations which can effect how the packet is routed. To compile it as a module, choose M here. If unsure, say N. config IP6_NF_RAW tristate 'raw table support (required for TRACE)' help This option adds a `raw' table to ip6tables. This table is the very first in the netfilter framework and hooks in at the PREROUTING and OUTPUT chains. If you want to compile it as a module, say M here and read . If unsure, say `N'. # security table for MAC policy config IP6_NF_SECURITY tristate "Security table" depends on SECURITY depends on NETFILTER_ADVANCED help This option adds a `security' table to iptables, for use with Mandatory Access Control (MAC) policy. If unsure, say N. config NF_NAT_IPV6 tristate "IPv6 NAT" depends on NF_CONNTRACK_IPV6 depends on NETFILTER_ADVANCED select NF_NAT help The IPv6 NAT option allows masquerading, port forwarding and other forms of full Network Address Port Translation. It is controlled by the `nat' table in ip6tables, see the man page for ip6tables(8). To compile it as a module, choose M here. If unsure, say N. if NF_NAT_IPV6 config IP6_NF_TARGET_MASQUERADE tristate "MASQUERADE target support" help Masquerading is a special case of NAT: all outgoing connections are changed to seem to come from a particular interface's address, and if the interface goes down, those connections are lost. This is only useful for dialup accounts with dynamic IP address (ie. your IP address will be different on next dialup). To compile it as a module, choose M here. If unsure, say N. config IP6_NF_TARGET_NPT tristate "NPT (Network Prefix translation) target support" help This option adds the `SNPT' and `DNPT' target, which perform stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296. To compile it as a module, choose M here. If unsure, say N. endif # NF_NAT_IPV6 endif # IP6_NF_IPTABLES endmenu # # IPX configuration # config IPX tristate "The IPX protocol" select LLC ---help--- This is support for the Novell networking protocol, IPX, commonly used for local networks of Windows machines. You need it if you want to access Novell NetWare file or print servers using the Linux Novell client ncpfs (available from ) or from within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from ). In order to do the former, you'll also have to say Y to "NCP file system support", below. IPX is similar in scope to IP, while SPX, which runs on top of IPX, is similar to TCP. To turn your Linux box into a fully featured NetWare file server and IPX router, say Y here and fetch either lwared from or mars_nwe from . For more information, read the IPX-HOWTO available from . The IPX driver would enlarge your kernel by about 16 KB. To compile this driver as a module, choose M here: the module will be called ipx. Unless you want to integrate your Linux box with a local Novell network, say N. config IPX_INTERN bool "IPX: Full internal IPX network" depends on IPX ---help--- Every IPX network has an address that identifies it. Sometimes it is useful to give an IPX "network" address to your Linux box as well (for example if your box is acting as a file server for different IPX networks: it will then be accessible from everywhere using the same address). The way this is done is to create a virtual internal "network" inside your box and to assign an IPX address to this network. Say Y here if you want to do this; read the IPX-HOWTO at for details. The full internal IPX network enables you to allocate sockets on different virtual nodes of the internal network. This is done by evaluating the field sipx_node of the socket address given to the bind call. So applications should always initialize the node field to 0 when binding a socket on the primary network. In this case the socket is assigned the default node that has been given to the kernel when the internal network was created. By enabling the full internal IPX network the cross-forwarding of packets targeted at 'special' sockets to sockets listening on the primary network is disabled. This might break existing applications, especially RIP/SAP daemons. A RIP/SAP daemon that works well with the full internal net can be found on . If you don't know what you are doing, say N. # # IrDA protocol configuration # menuconfig IRDA depends on NET && !S390 tristate "IrDA (infrared) subsystem support" select CRC_CCITT ---help--- Say Y here if you want to build support for the IrDA (TM) protocols. The Infrared Data Associations (tm) specifies standards for wireless infrared communication and is supported by most laptops and PDA's. To use Linux support for the IrDA (tm) protocols, you will also need some user-space utilities like irattach. For more information, see the file . You also want to read the IR-HOWTO, available at . If you want to exchange bits of data (vCal, vCard) with a PDA, you will need to install some OBEX application, such as OpenObex : To compile this support as a module, choose M here: the module will be called irda. comment "IrDA protocols" depends on IRDA source "net/irda/irlan/Kconfig" source "net/irda/irnet/Kconfig" source "net/irda/ircomm/Kconfig" config IRDA_ULTRA bool "Ultra (connectionless) protocol" depends on IRDA help Say Y here to support the connectionless Ultra IRDA protocol. Ultra allows to exchange data over IrDA with really simple devices (watch, beacon) without the overhead of the IrDA protocol (no handshaking, no management frames, simple fixed header). Ultra is available as a special socket : socket(AF_IRDA, SOCK_DGRAM, 1); comment "IrDA options" depends on IRDA config IRDA_CACHE_LAST_LSAP bool "Cache last LSAP" depends on IRDA help Say Y here if you want IrLMP to cache the last LSAP used. This makes sense since most frames will be sent/received on the same connection. Enabling this option will save a hash-lookup per frame. If unsure, say Y. config IRDA_FAST_RR bool "Fast RRs (low latency)" depends on IRDA ---help--- Say Y here is you want IrLAP to send fast RR (Receive Ready) frames when acting as a primary station. Disabling this option will make latency over IrDA very bad. Enabling this option will make the IrDA stack send more packet than strictly necessary, thus reduce your battery life (but not that much). Fast RR will make IrLAP send out a RR frame immediately when receiving a frame if its own transmit queue is currently empty. This will give a lot of speed improvement when receiving much data since the secondary station will not have to wait the max. turn around time (usually 500ms) before it is allowed to transmit the next time. If the transmit queue of the secondary is also empty, the primary will start backing-off before sending another RR frame, waiting longer each time until the back-off reaches the max. turn around time. This back-off increase in controlled via /proc/sys/net/irda/fast_poll_increase If unsure, say Y. config IRDA_DEBUG bool "Debug information" depends on IRDA help Say Y here if you want the IrDA subsystem to write debug information to your syslog. You can change the debug level in /proc/sys/net/irda/debug . When this option is enabled, the IrDA also perform many extra internal verifications which will usually prevent the kernel to crash in case of bugs. If unsure, say Y (since it makes it easier to find the bugs). source "drivers/net/irda/Kconfig" config IRCOMM tristate "IrCOMM protocol" depends on IRDA && TTY help Say Y here if you want to build support for the IrCOMM protocol. To compile it as modules, choose M here: the modules will be called ircomm and ircomm_tty. IrCOMM implements serial port emulation, and makes it possible to use all existing applications that understands TTY's with an infrared link. Thus you should be able to use application like PPP, minicom and others. config IRLAN tristate "IrLAN protocol" depends on IRDA help Say Y here if you want to build support for the IrLAN protocol. To compile it as a module, choose M here: the module will be called irlan. IrLAN emulates an Ethernet and makes it possible to put up a wireless LAN using infrared beams. The IrLAN protocol can be used to talk with infrared access points like the HP NetbeamIR, or the ESI JetEye NET. You can also connect to another Linux machine running the IrLAN protocol for ad-hoc networking! config IRNET tristate "IrNET protocol" depends on IRDA && PPP help Say Y here if you want to build support for the IrNET protocol. To compile it as a module, choose M here: the module will be called irnet. IrNET is a PPP driver, so you will also need a working PPP subsystem (driver, daemon and config)... IrNET is an alternate way to transfer TCP/IP traffic over IrDA. It uses synchronous PPP over a set of point to point IrDA sockets. You can use it between Linux machine or with W2k. config IUCV depends on S390 def_tristate y if S390 prompt "IUCV support (S390 - z/VM only)" help Select this option if you want to use inter-user communication under VM or VIF. If you run on z/VM, say "Y" to enable a fast communication link between VM guests. config AFIUCV depends on S390 def_tristate m if QETH_L3 || IUCV prompt "AF_IUCV Socket support (S390 - z/VM and HiperSockets transport)" help Select this option if you want to use AF_IUCV socket applications based on z/VM inter-user communication vehicle or based on HiperSockets. # # Layer Two Tunneling Protocol (L2TP) # menuconfig L2TP tristate "Layer Two Tunneling Protocol (L2TP)" depends on (IPV6 || IPV6=n) depends on INET ---help--- Layer Two Tunneling Protocol From RFC 2661 . L2TP facilitates the tunneling of packets across an intervening network in a way that is as transparent as possible to both end-users and applications. L2TP is often used to tunnel PPP traffic over IP tunnels. One IP tunnel may carry thousands of individual PPP connections. L2TP is also used as a VPN protocol, popular with home workers to connect to their offices. L2TPv3 allows other protocols as well as PPP to be carried over L2TP tunnels. L2TPv3 is defined in RFC 3931 . The kernel component handles only L2TP data packets: a userland daemon handles L2TP the control protocol (tunnel and session setup). One such daemon is OpenL2TP (http://openl2tp.org/). If you don't need L2TP, say N. To compile all L2TP code as modules, choose M here. config L2TP_DEBUGFS tristate "L2TP debugfs support" depends on L2TP && DEBUG_FS help Support for l2tp directory in debugfs filesystem. This may be used to dump internal state of the l2tp drivers for problem analysis. If unsure, say 'Y'. To compile this driver as a module, choose M here. The module will be called l2tp_debugfs. config L2TP_V3 bool "L2TPv3 support" depends on L2TP help Layer Two Tunneling Protocol Version 3 From RFC 3931 . The Layer Two Tunneling Protocol (L2TP) provides a dynamic mechanism for tunneling Layer 2 (L2) "circuits" across a packet-oriented data network (e.g., over IP). L2TP, as originally defined in RFC 2661, is a standard method for tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions. L2TP has since been adopted for tunneling a number of other L2 protocols, including ATM, Frame Relay, HDLC and even raw ethernet frames. If you are connecting to L2TPv3 equipment, or you want to tunnel raw ethernet frames using L2TP, say Y here. If unsure, say N. config L2TP_IP tristate "L2TP IP encapsulation for L2TPv3" depends on L2TP_V3 help Support for L2TP-over-IP socket family. The L2TPv3 protocol defines two possible encapsulations for L2TP frames, namely UDP and plain IP (without UDP). This driver provides a new L2TPIP socket family with which userspace L2TPv3 daemons may create L2TP/IP tunnel sockets when UDP encapsulation is not required. When L2TP is carried in IP packets, it used IP protocol number 115, so this port must be enabled in firewalls. To compile this driver as a module, choose M here. The module will be called l2tp_ip. config L2TP_ETH tristate "L2TP ethernet pseudowire support for L2TPv3" depends on L2TP_V3 help Support for carrying raw ethernet frames over L2TPv3. From RFC 4719 . The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be used as a control protocol and for data encapsulation to set up Pseudowires for transporting layer 2 Packet Data Units across an IP network [RFC3931]. This driver provides an ethernet virtual interface for each L2TP ethernet pseudowire instance. Standard Linux tools may be used to assign an IP address to the local virtual interface, or add the interface to a bridge. If you are using L2TPv3, you will almost certainly want to enable this option. To compile this driver as a module, choose M here. The module will be called l2tp_eth. # # LAPB Data Link Drive # config LAPB tristate "LAPB Data Link Driver" ---help--- Link Access Procedure, Balanced (LAPB) is the data link layer (i.e. the lower) part of the X.25 protocol. It offers a reliable connection service to exchange data frames with one other host, and it is used to transport higher level protocols (mostly X.25 Packet Layer, the higher part of X.25, but others are possible as well). Usually, LAPB is used with specialized X.21 network cards, but Linux currently supports LAPB only over Ethernet connections. If you want to use LAPB connections over Ethernet, say Y here and to "LAPB over Ethernet driver" below. Read for technical details. To compile this driver as a module, choose M here: the module will be called lapb. If unsure, say N. config LLC tristate depends on NET config LLC2 tristate "ANSI/IEEE 802.2 LLC type 2 Support" select LLC help This is a Logical Link Layer type 2, connection oriented support. Select this if you want to have support for PF_LLC sockets. config MAC80211 tristate "Generic IEEE 802.11 Networking Stack (mac80211)" depends on CFG80211 select CRYPTO select CRYPTO_ARC4 select CRYPTO_AES select CRYPTO_CCM select CRC32 select AVERAGE ---help--- This option enables the hardware independent IEEE 802.11 networking stack. comment "CFG80211 needs to be enabled for MAC80211" depends on CFG80211=n if MAC80211 != n config MAC80211_HAS_RC bool config MAC80211_RC_PID bool "PID controller based rate control algorithm" if EXPERT select MAC80211_HAS_RC ---help--- This option enables a TX rate control algorithm for mac80211 that uses a PID controller to select the TX rate. config MAC80211_RC_MINSTREL bool "Minstrel" if EXPERT select MAC80211_HAS_RC default y ---help--- This option enables the 'minstrel' TX rate control algorithm config MAC80211_RC_MINSTREL_HT bool "Minstrel 802.11n support" if EXPERT depends on MAC80211_RC_MINSTREL default y ---help--- This option enables the 'minstrel_ht' TX rate control algorithm choice prompt "Default rate control algorithm" depends on MAC80211_HAS_RC default MAC80211_RC_DEFAULT_MINSTREL ---help--- This option selects the default rate control algorithm mac80211 will use. Note that this default can still be overridden through the ieee80211_default_rc_algo module parameter if different algorithms are available. config MAC80211_RC_DEFAULT_PID bool "PID controller based rate control algorithm" depends on MAC80211_RC_PID ---help--- Select the PID controller based rate control as the default rate control algorithm. You should choose this unless you know what you are doing. config MAC80211_RC_DEFAULT_MINSTREL bool "Minstrel" depends on MAC80211_RC_MINSTREL ---help--- Select Minstrel as the default rate control algorithm. endchoice config MAC80211_RC_DEFAULT string default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL default "pid" if MAC80211_RC_DEFAULT_PID default "" endif comment "Some wireless drivers require a rate control algorithm" depends on MAC80211 && MAC80211_HAS_RC=n config MAC80211_MESH bool "Enable mac80211 mesh networking (pre-802.11s) support" depends on MAC80211 ---help--- This options enables support of Draft 802.11s mesh networking. The implementation is based on Draft 2.08 of the Mesh Networking amendment. However, no compliance with that draft is claimed or even possible, as drafts leave a number of identifiers to be defined after ratification. For more information visit http://o11s.org/. config MAC80211_LEDS bool "Enable LED triggers" depends on MAC80211 depends on LEDS_CLASS select LEDS_TRIGGERS ---help--- This option enables a few LED triggers for different packet receive/transmit events. config MAC80211_DEBUGFS bool "Export mac80211 internals in DebugFS" depends on MAC80211 && DEBUG_FS ---help--- Select this to see extensive information about the internal state of mac80211 in debugfs. Say N unless you know you need this. config MAC80211_MESSAGE_TRACING bool "Trace all mac80211 debug messages" depends on MAC80211 ---help--- Select this option to have mac80211 register the mac80211_msg trace subsystem with tracepoints to collect all debugging messages, independent of printing them into the kernel log. The overhead in this option is that all the messages need to be present in the binary and formatted at runtime for tracing. menuconfig MAC80211_DEBUG_MENU bool "Select mac80211 debugging features" depends on MAC80211 ---help--- This option collects various mac80211 debug settings. config MAC80211_NOINLINE bool "Do not inline TX/RX handlers" depends on MAC80211_DEBUG_MENU ---help--- This option affects code generation in mac80211, when selected some functions are marked "noinline" to allow easier debugging of problems in the transmit and receive paths. This option increases code size a bit and inserts a lot of function calls in the code, but is otherwise safe to enable. If unsure, say N unless you expect to be finding problems in mac80211. config MAC80211_VERBOSE_DEBUG bool "Verbose debugging output" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out many debugging messages. It should not be selected on production systems as some of the messages are remotely triggerable. Do not select this option. config MAC80211_MLME_DEBUG bool "Verbose managed MLME output" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out debugging messages for the managed-mode MLME. It should not be selected on production systems as some of the messages are remotely triggerable. Do not select this option. config MAC80211_STA_DEBUG bool "Verbose station debugging" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out debugging messages for station addition/removal. Do not select this option. config MAC80211_HT_DEBUG bool "Verbose HT debugging" depends on MAC80211_DEBUG_MENU ---help--- This option enables 802.11n High Throughput features debug tracing output. It should not be selected on production systems as some of the messages are remotely triggerable. Do not select this option. config MAC80211_IBSS_DEBUG bool "Verbose IBSS debugging" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out very verbose IBSS debugging messages. It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_PS_DEBUG bool "Verbose powersave mode debugging" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out very verbose power save mode debugging messages (when mac80211 is an AP and has power saving stations.) It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_MPL_DEBUG bool "Verbose mesh peer link debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh peer link debugging messages (when mac80211 is taking part in a mesh network). It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_MPATH_DEBUG bool "Verbose mesh path debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh path selection debugging messages (when mac80211 is taking part in a mesh network). It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_MHWMP_DEBUG bool "Verbose mesh HWMP routing debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh routing (HWMP) debugging messages (when mac80211 is taking part in a mesh network). It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_MESH_SYNC_DEBUG bool "Verbose mesh synchronization debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh synchronization debugging messages (when mac80211 is taking part in a mesh network). Do not select this option. config MAC80211_MESH_CSA_DEBUG bool "Verbose mesh channel switch debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh channel switch debugging messages (when mac80211 is taking part in a mesh network). Do not select this option. config MAC80211_MESH_PS_DEBUG bool "Verbose mesh powersave debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_MESH ---help--- Selecting this option causes mac80211 to print out very verbose mesh powersave debugging messages (when mac80211 is taking part in a mesh network). Do not select this option. config MAC80211_TDLS_DEBUG bool "Verbose TDLS debugging" depends on MAC80211_DEBUG_MENU ---help--- Selecting this option causes mac80211 to print out very verbose TDLS selection debugging messages (when mac80211 is a TDLS STA). It should not be selected on production systems as those messages are remotely triggerable. Do not select this option. config MAC80211_DEBUG_COUNTERS bool "Extra statistics for TX/RX debugging" depends on MAC80211_DEBUG_MENU depends on MAC80211_DEBUGFS ---help--- Selecting this option causes mac80211 to keep additional and very verbose statistics about TX and RX handler use and show them in debugfs. If unsure, say N. config MAC802154 tristate "Generic IEEE 802.15.4 Soft Networking Stack (mac802154)" depends on IEEE802154 select CRC_CCITT ---help--- This option enables the hardware independent IEEE 802.15.4 networking stack for SoftMAC devices (the ones implementing only PHY level of IEEE 802.15.4 standard). Note: this implementation is neither certified, nor feature complete! Compatibility with other implementations hasn't been tested yet! If you plan to use HardMAC IEEE 802.15.4 devices, you can say N here. Alternatievly you can say M to compile it as module. # # MPLS configuration # config NET_MPLS_GSO tristate "MPLS: GSO support" help This is helper module to allow segmentation of non-MPLS GSO packets that have had MPLS stack entries pushed onto them and thus become MPLS GSO packets. # # IP Virtual Server configuration # menuconfig IP_VS tristate "IP virtual server support" depends on NET && INET && NETFILTER depends on (NF_CONNTRACK || NF_CONNTRACK=n) ---help--- IP Virtual Server support will let you build a high-performance virtual server based on cluster of two or more real servers. This option must be enabled for at least one of the clustered computers that will take care of intercepting incoming connections to a single IP address and scheduling them to real servers. Three request dispatching techniques are implemented, they are virtual server via NAT, virtual server via tunneling and virtual server via direct routing. The several scheduling algorithms can be used to choose which server the connection is directed to, thus load balancing can be achieved among the servers. For more information and its administration program, please visit the following URL: . If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. if IP_VS config IP_VS_IPV6 bool "IPv6 support for IPVS" depends on IPV6 = y || IP_VS = IPV6 select IP6_NF_IPTABLES ---help--- Add IPv6 support to IPVS. Say Y if unsure. config IP_VS_DEBUG bool "IP virtual server debugging" ---help--- Say Y here if you want to get additional messages useful in debugging the IP virtual server code. You can change the debug level in /proc/sys/net/ipv4/vs/debug_level config IP_VS_TAB_BITS int "IPVS connection table size (the Nth power of 2)" range 8 20 default 12 ---help--- The IPVS connection hash table uses the chaining scheme to handle hash collisions. Using a big IPVS connection hash table will greatly reduce conflicts when there are hundreds of thousands of connections in the hash table. Note the table size must be power of 2. The table size will be the value of 2 to the your input number power. The number to choose is from 8 to 20, the default number is 12, which means the table size is 4096. Don't input the number too small, otherwise you will lose performance on it. You can adapt the table size yourself, according to your virtual server application. It is good to set the table size not far less than the number of connections per second multiplying average lasting time of connection in the table. For example, your virtual server gets 200 connections per second, the connection lasts for 200 seconds in average in the connection table, the table size should be not far less than 200x200, it is good to set the table size 32768 (2**15). Another note that each connection occupies 128 bytes effectively and each hash entry uses 8 bytes, so you can estimate how much memory is needed for your box. You can overwrite this number setting conn_tab_bits module parameter or by appending ip_vs.conn_tab_bits=? to the kernel command line if IP VS was compiled built-in. comment "IPVS transport protocol load balancing support" config IP_VS_PROTO_TCP bool "TCP load balancing support" ---help--- This option enables support for load balancing TCP transport protocol. Say Y if unsure. config IP_VS_PROTO_UDP bool "UDP load balancing support" ---help--- This option enables support for load balancing UDP transport protocol. Say Y if unsure. config IP_VS_PROTO_AH_ESP def_bool IP_VS_PROTO_ESP || IP_VS_PROTO_AH config IP_VS_PROTO_ESP bool "ESP load balancing support" ---help--- This option enables support for load balancing ESP (Encapsulation Security Payload) transport protocol. Say Y if unsure. config IP_VS_PROTO_AH bool "AH load balancing support" ---help--- This option enables support for load balancing AH (Authentication Header) transport protocol. Say Y if unsure. config IP_VS_PROTO_SCTP bool "SCTP load balancing support" select LIBCRC32C ---help--- This option enables support for load balancing SCTP transport protocol. Say Y if unsure. comment "IPVS scheduler" config IP_VS_RR tristate "round-robin scheduling" ---help--- The robin-robin scheduling algorithm simply directs network connections to different real servers in a round-robin manner. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_WRR tristate "weighted round-robin scheduling" ---help--- The weighted robin-robin scheduling algorithm directs network connections to different real servers based on server weights in a round-robin manner. Servers with higher weights receive new connections first than those with less weights, and servers with higher weights get more connections than those with less weights and servers with equal weights get equal connections. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_LC tristate "least-connection scheduling" ---help--- The least-connection scheduling algorithm directs network connections to the server with the least number of active connections. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_WLC tristate "weighted least-connection scheduling" ---help--- The weighted least-connection scheduling algorithm directs network connections to the server with the least active connections normalized by the server weight. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_LBLC tristate "locality-based least-connection scheduling" ---help--- The locality-based least-connection scheduling algorithm is for destination IP load balancing. It is usually used in cache cluster. This algorithm usually directs packet destined for an IP address to its server if the server is alive and under load. If the server is overloaded (its active connection numbers is larger than its weight) and there is a server in its half load, then allocate the weighted least-connection server to this IP address. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_LBLCR tristate "locality-based least-connection with replication scheduling" ---help--- The locality-based least-connection with replication scheduling algorithm is also for destination IP load balancing. It is usually used in cache cluster. It differs from the LBLC scheduling as follows: the load balancer maintains mappings from a target to a set of server nodes that can serve the target. Requests for a target are assigned to the least-connection node in the target's server set. If all the node in the server set are over loaded, it picks up a least-connection node in the cluster and adds it in the sever set for the target. If the server set has not been modified for the specified time, the most loaded node is removed from the server set, in order to avoid high degree of replication. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_DH tristate "destination hashing scheduling" ---help--- The destination hashing scheduling algorithm assigns network connections to the servers through looking up a statically assigned hash table by their destination IP addresses. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_SH tristate "source hashing scheduling" ---help--- The source hashing scheduling algorithm assigns network connections to the servers through looking up a statically assigned hash table by their source IP addresses. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_SED tristate "shortest expected delay scheduling" ---help--- The shortest expected delay scheduling algorithm assigns network connections to the server with the shortest expected delay. The expected delay that the job will experience is (Ci + 1) / Ui if sent to the ith server, in which Ci is the number of connections on the ith server and Ui is the fixed service rate (weight) of the ith server. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_NQ tristate "never queue scheduling" ---help--- The never queue scheduling algorithm adopts a two-speed model. When there is an idle server available, the job will be sent to the idle server, instead of waiting for a fast one. When there is no idle server available, the job will be sent to the server that minimize its expected delay (The Shortest Expected Delay scheduling algorithm). If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. comment 'IPVS SH scheduler' config IP_VS_SH_TAB_BITS int "IPVS source hashing table size (the Nth power of 2)" range 4 20 default 8 ---help--- The source hashing scheduler maps source IPs to destinations stored in a hash table. This table is tiled by each destination until all slots in the table are filled. When using weights to allow destinations to receive more connections, the table is tiled an amount proportional to the weights specified. The table needs to be large enough to effectively fit all the destinations multiplied by their respective weights. comment 'IPVS application helper' config IP_VS_FTP tristate "FTP protocol helper" depends on IP_VS_PROTO_TCP && NF_CONNTRACK && NF_NAT && \ NF_CONNTRACK_FTP select IP_VS_NFCT ---help--- FTP is a protocol that transfers IP address and/or port number in the payload. In the virtual server via Network Address Translation, the IP address and port number of real servers cannot be sent to clients in ftp connections directly, so FTP protocol helper is required for tracking the connection and mangling it back to that of virtual service. If you want to compile it in kernel, say Y. To compile it as a module, choose M here. If unsure, say N. config IP_VS_NFCT bool "Netfilter connection tracking" depends on NF_CONNTRACK ---help--- The Netfilter connection tracking support allows the IPVS connection state to be exported to the Netfilter framework for filtering purposes. config IP_VS_PE_SIP tristate "SIP persistence engine" depends on IP_VS_PROTO_UDP depends on NF_CONNTRACK_SIP ---help--- Allow persistence based on the SIP Call-ID endif # IP_VS menu "Core Netfilter Configuration" depends on NET && INET && NETFILTER config NETFILTER_NETLINK tristate config NETFILTER_NETLINK_ACCT tristate "Netfilter NFACCT over NFNETLINK interface" depends on NETFILTER_ADVANCED select NETFILTER_NETLINK help If this option is enabled, the kernel will include support for extended accounting via NFNETLINK. config NETFILTER_NETLINK_QUEUE tristate "Netfilter NFQUEUE over NFNETLINK interface" depends on NETFILTER_ADVANCED select NETFILTER_NETLINK help If this option is enabled, the kernel will include support for queueing packets via NFNETLINK. config NETFILTER_NETLINK_LOG tristate "Netfilter LOG over NFNETLINK interface" default m if NETFILTER_ADVANCED=n select NETFILTER_NETLINK help If this option is enabled, the kernel will include support for logging packets via NFNETLINK. This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms, and is also scheduled to replace the old syslog-based ipt_LOG and ip6t_LOG modules. config NF_CONNTRACK tristate "Netfilter connection tracking support" default m if NETFILTER_ADVANCED=n help Connection tracking keeps a record of what packets have passed through your machine, in order to figure out how they are related into connections. This is required to do Masquerading or other kinds of Network Address Translation. It can also be used to enhance packet filtering (see `Connection state match support' below). To compile it as a module, choose M here. If unsure, say N. if NF_CONNTRACK config NF_CONNTRACK_MARK bool 'Connection mark tracking support' depends on NETFILTER_ADVANCED help This option enables support for connection marks, used by the `CONNMARK' target and `connmark' match. Similar to the mark value of packets, but this mark value is kept in the conntrack session instead of the individual packets. config NF_CONNTRACK_SECMARK bool 'Connection tracking security mark support' depends on NETWORK_SECMARK default m if NETFILTER_ADVANCED=n help This option enables security markings to be applied to connections. Typically they are copied to connections from packets using the CONNSECMARK target and copied back from connections to packets with the same target, with the packets being originally labeled via SECMARK. If unsure, say 'N'. config NF_CONNTRACK_ZONES bool 'Connection tracking zones' depends on NETFILTER_ADVANCED depends on NETFILTER_XT_TARGET_CT help This option enables support for connection tracking zones. Normally, each connection needs to have a unique system wide identity. Connection tracking zones allow to have multiple connections using the same identity, as long as they are contained in different zones. If unsure, say `N'. config NF_CONNTRACK_PROCFS bool "Supply CT list in procfs (OBSOLETE)" default y depends on PROC_FS ---help--- This option enables for the list of known conntrack entries to be shown in procfs under net/netfilter/nf_conntrack. This is considered obsolete in favor of using the conntrack(8) tool which uses Netlink. config NF_CONNTRACK_EVENTS bool "Connection tracking events" depends on NETFILTER_ADVANCED help If this option is enabled, the connection tracking code will provide a notifier chain that can be used by other kernel code to get notified about changes in the connection tracking state. If unsure, say `N'. config NF_CONNTRACK_TIMEOUT bool 'Connection tracking timeout' depends on NETFILTER_ADVANCED help This option enables support for connection tracking timeout extension. This allows you to attach timeout policies to flow via the CT target. If unsure, say `N'. config NF_CONNTRACK_TIMESTAMP bool 'Connection tracking timestamping' depends on NETFILTER_ADVANCED help This option enables support for connection tracking timestamping. This allows you to store the flow start-time and to obtain the flow-stop time (once it has been destroyed) via Connection tracking events. If unsure, say `N'. config NF_CONNTRACK_LABELS bool help This option enables support for assigning user-defined flag bits to connection tracking entries. It selected by the connlabel match. config NF_CT_PROTO_DCCP tristate 'DCCP protocol connection tracking support' depends on NETFILTER_ADVANCED default IP_DCCP help With this option enabled, the layer 3 independent connection tracking code will be able to do state tracking on DCCP connections. If unsure, say 'N'. config NF_CT_PROTO_GRE tristate config NF_CT_PROTO_SCTP tristate 'SCTP protocol connection tracking support' depends on NETFILTER_ADVANCED default IP_SCTP help With this option enabled, the layer 3 independent connection tracking code will be able to do state tracking on SCTP connections. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NF_CT_PROTO_UDPLITE tristate 'UDP-Lite protocol connection tracking support' depends on NETFILTER_ADVANCED help With this option enabled, the layer 3 independent connection tracking code will be able to do state tracking on UDP-Lite connections. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_AMANDA tristate "Amanda backup protocol support" depends on NETFILTER_ADVANCED select TEXTSEARCH select TEXTSEARCH_KMP help If you are running the Amanda backup package on this machine or machines that will be MASQUERADED through this machine, then you may want to enable this feature. This allows the connection tracking and natting code to allow the sub-channels that Amanda requires for communication of the backup data, messages and index. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_FTP tristate "FTP protocol support" default m if NETFILTER_ADVANCED=n help Tracking FTP connections is problematic: special helpers are required for tracking them, and doing masquerading and other forms of Network Address Translation on them. This is FTP support on Layer 3 independent connection tracking. Layer 3 independent connection tracking is experimental scheme which generalize ip_conntrack to support other layer 3 protocols. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_H323 tristate "H.323 protocol support" depends on (IPV6 || IPV6=n) depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most important VoIP protocols, it is widely used by voice hardware and software including voice gateways, IP phones, Netmeeting, OpenPhone, Gnomemeeting, etc. With this module you can support H.323 on a connection tracking/NAT firewall. This module supports RAS, Fast Start, H.245 Tunnelling, Call Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat, whiteboard, file transfer, etc. For more information, please visit http://nath323.sourceforge.net/. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_IRC tristate "IRC protocol support" default m if NETFILTER_ADVANCED=n help There is a commonly-used extension to IRC called Direct Client-to-Client Protocol (DCC). This enables users to send files to each other, and also chat to each other without the need of a server. DCC Sending is used anywhere you send files over IRC, and DCC Chat is most commonly used by Eggdrop bots. If you are using NAT, this extension will enable you to send files and initiate chats. Note that you do NOT need this extension to get files or have others initiate chats, or everything else in IRC. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_BROADCAST tristate config NF_CONNTRACK_NETBIOS_NS tristate "NetBIOS name service protocol support" select NF_CONNTRACK_BROADCAST help NetBIOS name service requests are sent as broadcast messages from an unprivileged port and responded to with unicast messages to the same port. This make them hard to firewall properly because connection tracking doesn't deal with broadcasts. This helper tracks locally originating NetBIOS name service requests and the corresponding responses. It relies on correct IP address configuration, specifically netmask and broadcast address. When properly configured, the output of "ip address show" should look similar to this: $ ip -4 address show eth0 4: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0 To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_SNMP tristate "SNMP service protocol support" depends on NETFILTER_ADVANCED select NF_CONNTRACK_BROADCAST help SNMP service requests are sent as broadcast messages from an unprivileged port and responded to with unicast messages to the same port. This make them hard to firewall properly because connection tracking doesn't deal with broadcasts. This helper tracks locally originating SNMP service requests and the corresponding responses. It relies on correct IP address configuration, specifically netmask and broadcast address. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_PPTP tristate "PPtP protocol support" depends on NETFILTER_ADVANCED select NF_CT_PROTO_GRE help This module adds support for PPTP (Point to Point Tunnelling Protocol, RFC2637) connection tracking and NAT. If you are running PPTP sessions over a stateful firewall or NAT box, you may want to enable this feature. Please note that not all PPTP modes of operation are supported yet. Specifically these limitations exist: - Blindly assumes that control connections are always established in PNS->PAC direction. This is a violation of RFC2637. - Only supports a single call within each session To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_SANE tristate "SANE protocol support" depends on NETFILTER_ADVANCED help SANE is a protocol for remote access to scanners as implemented by the 'saned' daemon. Like FTP, it uses separate control and data connections. With this module you can support SANE on a connection tracking firewall. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_SIP tristate "SIP protocol support" default m if NETFILTER_ADVANCED=n help SIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions (conferences) such as Internet telephony calls. With the ip_conntrack_sip and the nf_nat_sip modules you can support the protocol on a connection tracking/NATing firewall. To compile it as a module, choose M here. If unsure, say N. config NF_CONNTRACK_TFTP tristate "TFTP protocol support" depends on NETFILTER_ADVANCED help TFTP connection tracking helper, this is required depending on how restrictive your ruleset is. If you are using a tftp client behind -j SNAT or -j MASQUERADING you will need this. To compile it as a module, choose M here. If unsure, say N. config NF_CT_NETLINK tristate 'Connection tracking netlink interface' select NETFILTER_NETLINK default m if NETFILTER_ADVANCED=n help This option enables support for a netlink-based userspace interface config NF_CT_NETLINK_TIMEOUT tristate 'Connection tracking timeout tuning via Netlink' select NETFILTER_NETLINK depends on NETFILTER_ADVANCED help This option enables support for connection tracking timeout fine-grain tuning. This allows you to attach specific timeout policies to flows, instead of using the global timeout policy. If unsure, say `N'. config NF_CT_NETLINK_HELPER tristate 'Connection tracking helpers in user-space via Netlink' select NETFILTER_NETLINK depends on NF_CT_NETLINK depends on NETFILTER_NETLINK_QUEUE depends on NETFILTER_NETLINK_QUEUE_CT depends on NETFILTER_ADVANCED help This option enables the user-space connection tracking helpers infrastructure. If unsure, say `N'. config NETFILTER_NETLINK_QUEUE_CT bool "NFQUEUE integration with Connection Tracking" default n depends on NETFILTER_NETLINK_QUEUE help If this option is enabled, NFQUEUE can include Connection Tracking information together with the packet is the enqueued via NFNETLINK. config NF_NAT tristate config NF_NAT_NEEDED bool depends on NF_NAT default y config NF_NAT_PROTO_DCCP tristate depends on NF_NAT && NF_CT_PROTO_DCCP default NF_NAT && NF_CT_PROTO_DCCP config NF_NAT_PROTO_UDPLITE tristate depends on NF_NAT && NF_CT_PROTO_UDPLITE default NF_NAT && NF_CT_PROTO_UDPLITE config NF_NAT_PROTO_SCTP tristate default NF_NAT && NF_CT_PROTO_SCTP depends on NF_NAT && NF_CT_PROTO_SCTP select LIBCRC32C config NF_NAT_AMANDA tristate depends on NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_AMANDA config NF_NAT_FTP tristate depends on NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_FTP config NF_NAT_IRC tristate depends on NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_IRC config NF_NAT_SIP tristate depends on NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_SIP config NF_NAT_TFTP tristate depends on NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_TFTP config NETFILTER_SYNPROXY tristate endif # NF_CONNTRACK config NF_TABLES depends on NETFILTER_NETLINK tristate "Netfilter nf_tables support" config NFT_EXTHDR depends on NF_TABLES tristate "Netfilter nf_tables IPv6 exthdr module" config NFT_META depends on NF_TABLES tristate "Netfilter nf_tables meta module" config NFT_CT depends on NF_TABLES depends on NF_CONNTRACK tristate "Netfilter nf_tables conntrack module" config NFT_RBTREE depends on NF_TABLES tristate "Netfilter nf_tables rbtree set module" config NFT_HASH depends on NF_TABLES tristate "Netfilter nf_tables hash set module" config NFT_COUNTER depends on NF_TABLES tristate "Netfilter nf_tables counter module" config NFT_LOG depends on NF_TABLES tristate "Netfilter nf_tables log module" config NFT_LIMIT depends on NF_TABLES tristate "Netfilter nf_tables limit module" config NFT_NAT depends on NF_TABLES depends on NF_CONNTRACK depends on NF_NAT tristate "Netfilter nf_tables nat module" config NFT_COMPAT depends on NF_TABLES depends on NETFILTER_XTABLES tristate "Netfilter x_tables over nf_tables module" help This is required if you intend to use any of existing x_tables match/target extensions over the nf_tables framework. config NETFILTER_XTABLES tristate "Netfilter Xtables support (required for ip_tables)" default m if NETFILTER_ADVANCED=n help This is required if you intend to use any of ip_tables, ip6_tables or arp_tables. if NETFILTER_XTABLES comment "Xtables combined modules" config NETFILTER_XT_MARK tristate 'nfmark target and match support' default m if NETFILTER_ADVANCED=n ---help--- This option adds the "MARK" target and "mark" match. Netfilter mark matching allows you to match packets based on the "nfmark" value in the packet. The target allows you to create rules in the "mangle" table which alter the netfilter mark (nfmark) field associated with the packet. Prior to routing, the nfmark can influence the routing method (see "Use netfilter MARK value as routing key") and can also be used by other subsystems to change their behavior. config NETFILTER_XT_CONNMARK tristate 'ctmark target and match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED select NF_CONNTRACK_MARK ---help--- This option adds the "CONNMARK" target and "connmark" match. Netfilter allows you to store a mark value per connection (a.k.a. ctmark), similarly to the packet mark (nfmark). Using this target and match, you can set and match on this mark. config NETFILTER_XT_SET tristate 'set target and match support' depends on IP_SET depends on NETFILTER_ADVANCED help This option adds the "SET" target and "set" match. Using this target and match, you can add/delete and match elements in the sets created by ipset(8). To compile it as a module, choose M here. If unsure, say N. # alphabetically ordered list of targets comment "Xtables targets" config NETFILTER_XT_TARGET_AUDIT tristate "AUDIT target support" depends on AUDIT depends on NETFILTER_ADVANCED ---help--- This option adds a 'AUDIT' target, which can be used to create audit records for packets dropped/accepted. To compileit as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_CHECKSUM tristate "CHECKSUM target support" depends on IP_NF_MANGLE || IP6_NF_MANGLE depends on NETFILTER_ADVANCED ---help--- This option adds a `CHECKSUM' target, which can be used in the iptables mangle table. You can use this target to compute and fill in the checksum in a packet that lacks a checksum. This is particularly useful, if you need to work around old applications such as dhcp clients, that do not work well with checksum offloads, but don't want to disable checksum offload in your device. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_CLASSIFY tristate '"CLASSIFY" target support' depends on NETFILTER_ADVANCED help This option adds a `CLASSIFY' target, which enables the user to set the priority of a packet. Some qdiscs can use this value for classification, among these are: atm, cbq, dsmark, pfifo_fast, htb, prio To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_CONNMARK tristate '"CONNMARK" target support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_CONNMARK ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). config NETFILTER_XT_TARGET_CONNSECMARK tristate '"CONNSECMARK" target support' depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK default m if NETFILTER_ADVANCED=n help The CONNSECMARK target copies security markings from packets to connections, and restores security markings from connections to packets (if the packets are not already marked). This would normally be used in conjunction with the SECMARK target. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_CT tristate '"CT" target support' depends on NF_CONNTRACK depends on IP_NF_RAW || IP6_NF_RAW depends on NETFILTER_ADVANCED help This options adds a `CT' target, which allows to specify initial connection tracking parameters like events to be delivered and the helper to be used. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_DSCP tristate '"DSCP" and "TOS" target support' depends on IP_NF_MANGLE || IP6_NF_MANGLE depends on NETFILTER_ADVANCED help This option adds a `DSCP' target, which allows you to manipulate the IPv4/IPv6 header DSCP field (differentiated services codepoint). The DSCP field can have any value between 0x0 and 0x3f inclusive. It also adds the "TOS" target, which allows you to create rules in the "mangle" table which alter the Type Of Service field of an IPv4 or the Priority field of an IPv6 packet, prior to routing. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_HL tristate '"HL" hoplimit target support' depends on IP_NF_MANGLE || IP6_NF_MANGLE depends on NETFILTER_ADVANCED ---help--- This option adds the "HL" (for IPv6) and "TTL" (for IPv4) targets, which enable the user to change the hoplimit/time-to-live value of the IP header. While it is safe to decrement the hoplimit/TTL value, the modules also allow to increment and set the hoplimit value of the header to arbitrary values. This is EXTREMELY DANGEROUS since you can easily create immortal packets that loop forever on the network. config NETFILTER_XT_TARGET_HMARK tristate '"HMARK" target support' depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n) depends on NETFILTER_ADVANCED ---help--- This option adds the "HMARK" target. The target allows you to create rules in the "raw" and "mangle" tables which set the skbuff mark by means of hash calculation within a given range. The nfmark can influence the routing method (see "Use netfilter MARK value as routing key") and can also be used by other subsystems to change their behaviour. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_IDLETIMER tristate "IDLETIMER target support" depends on NETFILTER_ADVANCED help This option adds the `IDLETIMER' target. Each matching packet resets the timer associated with label specified when the rule is added. When the timer expires, it triggers a sysfs notification. The remaining time for expiration can be read via sysfs. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_LED tristate '"LED" target support' depends on LEDS_CLASS && LEDS_TRIGGERS depends on NETFILTER_ADVANCED help This option adds a `LED' target, which allows you to blink LEDs in response to particular packets passing through your machine. This can be used to turn a spare LED into a network activity LED, which only flashes in response to FTP transfers, for example. Or you could have an LED which lights up for a minute or two every time somebody connects to your machine via SSH. You will need support for the "led" class to make this work. To create an LED trigger for incoming SSH traffic: iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000 Then attach the new trigger to an LED on your system: echo netfilter-ssh > /sys/class/leds//trigger For more information on the LEDs available on your system, see Documentation/leds/leds-class.txt config NETFILTER_XT_TARGET_LOG tristate "LOG target support" default m if NETFILTER_ADVANCED=n help This option adds a `LOG' target, which allows you to create rules in any iptables table which records the packet header to the syslog. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_MARK tristate '"MARK" target support' depends on NETFILTER_ADVANCED select NETFILTER_XT_MARK ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). config NETFILTER_XT_TARGET_NETMAP tristate '"NETMAP" target support' depends on NF_NAT ---help--- NETMAP is an implementation of static 1:1 NAT mapping of network addresses. It maps the network address part, while keeping the host address part intact. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_NFLOG tristate '"NFLOG" target support' default m if NETFILTER_ADVANCED=n select NETFILTER_NETLINK_LOG help This option enables the NFLOG target, which allows to LOG messages through nfnetlink_log. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_NFQUEUE tristate '"NFQUEUE" target Support' depends on NETFILTER_ADVANCED select NETFILTER_NETLINK_QUEUE help This target replaced the old obsolete QUEUE target. As opposed to QUEUE, it supports 65535 different queues, not just one. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_NOTRACK tristate '"NOTRACK" target support (DEPRECATED)' depends on NF_CONNTRACK depends on IP_NF_RAW || IP6_NF_RAW depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT config NETFILTER_XT_TARGET_RATEEST tristate '"RATEEST" target support' depends on NETFILTER_ADVANCED help This option adds a `RATEEST' target, which allows to measure rates similar to TC estimators. The `rateest' match can be used to match on the measured rates. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_REDIRECT tristate "REDIRECT target support" depends on NF_NAT ---help--- REDIRECT is a special case of NAT: all incoming connections are mapped onto the incoming interface's address, causing the packets to come to the local machine instead of passing through. This is useful for transparent proxies. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_TEE tristate '"TEE" - packet cloning to alternate destination' depends on NETFILTER_ADVANCED depends on (IPV6 || IPV6=n) depends on !NF_CONNTRACK || NF_CONNTRACK ---help--- This option adds a "TEE" target with which a packet can be cloned and this clone be rerouted to another nexthop. config NETFILTER_XT_TARGET_TPROXY tristate '"TPROXY" target transparent proxying support' depends on NETFILTER_XTABLES depends on NETFILTER_ADVANCED depends on IP_NF_MANGLE select NF_DEFRAG_IPV4 select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES help This option adds a `TPROXY' target, which is somewhat similar to REDIRECT. It can only be used in the mangle table and is useful to redirect traffic to a transparent proxy. It does _not_ depend on Netfilter connection tracking and NAT, unlike REDIRECT. For it to work you will have to configure certain iptables rules and use policy routing. For more information on how to set it up see Documentation/networking/tproxy.txt. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_TRACE tristate '"TRACE" target support' depends on IP_NF_RAW || IP6_NF_RAW depends on NETFILTER_ADVANCED help The TRACE target allows you to mark packets so that the kernel will log every rule which match the packets as those traverse the tables, chains, rules. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_TARGET_SECMARK tristate '"SECMARK" target support' depends on NETWORK_SECMARK default m if NETFILTER_ADVANCED=n help The SECMARK target allows security marking of network packets, for use with security subsystems. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' depends on (IPV6 || IPV6=n) default m if NETFILTER_ADVANCED=n ---help--- This option adds a `TCPMSS' target, which allows you to alter the MSS value of TCP SYN packets, to control the maximum size for that connection (usually limiting it to your outgoing interface's MTU minus 40). This is used to overcome criminally braindead ISPs or servers which block ICMP Fragmentation Needed packets. The symptoms of this problem are that everything works fine from your Linux firewall/router, but machines behind it can never exchange large packets: 1) Web browsers connect, then hang with no data received. 2) Small mail works fine, but large emails hang. 3) ssh works fine, but scp hangs after initial handshaking. Workaround: activate this option and add a rule to your firewall configuration like: iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --clamp-mss-to-pmtu To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_TARGET_TCPOPTSTRIP tristate '"TCPOPTSTRIP" target support' depends on IP_NF_MANGLE || IP6_NF_MANGLE depends on NETFILTER_ADVANCED help This option adds a "TCPOPTSTRIP" target, which allows you to strip TCP options from TCP packets. # alphabetically ordered list of matches comment "Xtables matches" config NETFILTER_XT_MATCH_ADDRTYPE tristate '"addrtype" address type match support' depends on NETFILTER_ADVANCED ---help--- This option allows you to match what routing thinks of an address, eg. UNICAST, LOCAL, BROADCAST, ... If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_BPF tristate '"bpf" match support' depends on NETFILTER_ADVANCED help BPF matching applies a linux socket filter to each packet and accepts those for which the filter returns non-zero. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_CLUSTER tristate '"cluster" match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED ---help--- This option allows you to build work-load-sharing clusters of network servers/stateful firewalls without having a dedicated load-balancing router/server/switch. Basically, this match returns true when the packet must be handled by this cluster node. Thus, all nodes see all packets and this match decides which node handles what packets. The work-load sharing algorithm is based on source address hashing. If you say Y or M here, try `iptables -m cluster --help` for more information. config NETFILTER_XT_MATCH_COMMENT tristate '"comment" match support' depends on NETFILTER_ADVANCED help This option adds a `comment' dummy-match, which allows you to put comments in your iptables ruleset. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_CONNBYTES tristate '"connbytes" per-connection counter match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED help This option adds a `connbytes' match, which allows you to match the number of bytes and/or packets for each direction within a connection. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_CONNLABEL tristate '"connlabel" match support' select NF_CONNTRACK_LABELS depends on NF_CONNTRACK depends on NETFILTER_ADVANCED ---help--- This match allows you to test and assign userspace-defined labels names to a connection. The kernel only stores bit values - mapping names to bits is done by userspace. Unlike connmark, more than 32 flag bits may be assigned to a connection simultaneously. config NETFILTER_XT_MATCH_CONNLIMIT tristate '"connlimit" match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED ---help--- This match allows you to match against the number of parallel connections to a server per client IP address (or address block). config NETFILTER_XT_MATCH_CONNMARK tristate '"connmark" connection mark match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_CONNMARK ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module). config NETFILTER_XT_MATCH_CONNTRACK tristate '"conntrack" connection tracking match support' depends on NF_CONNTRACK default m if NETFILTER_ADVANCED=n help This is a general conntrack match module, a superset of the state match. It allows matching on additional conntrack information, which is useful in complex configurations, such as NAT gateways with multiple internet links or tunnels. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_CPU tristate '"cpu" match support' depends on NETFILTER_ADVANCED help CPU matching allows you to match packets based on the CPU currently handling the packet. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_DCCP tristate '"dccp" protocol match support' depends on NETFILTER_ADVANCED default IP_DCCP help With this option enabled, you will be able to use the iptables `dccp' match in order to match on DCCP source/destination ports and DCCP flags. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_DEVGROUP tristate '"devgroup" match support' depends on NETFILTER_ADVANCED help This options adds a `devgroup' match, which allows to match on the device group a network device is assigned to. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_DSCP tristate '"dscp" and "tos" match support' depends on NETFILTER_ADVANCED help This option adds a `DSCP' match, which allows you to match against the IPv4/IPv6 header DSCP field (differentiated services codepoint). The DSCP field can have any value between 0x0 and 0x3f inclusive. It will also add a "tos" match, which allows you to match packets based on the Type Of Service fields of the IPv4 packet (which share the same bits as DSCP). To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_ECN tristate '"ecn" match support' depends on NETFILTER_ADVANCED ---help--- This option adds an "ECN" match, which allows you to match against the IPv4 and TCP header ECN fields. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_ESP tristate '"esp" match support' depends on NETFILTER_ADVANCED help This match extension allows you to match a range of SPIs inside ESP header of IPSec packets. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_HASHLIMIT tristate '"hashlimit" match support' depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n) depends on NETFILTER_ADVANCED help This option adds a `hashlimit' match. As opposed to `limit', this match dynamically creates a hash table of limit buckets, based on your selection of source/destination addresses and/or ports. It enables you to express policies like `10kpps for any given destination address' or `500pps from any given source address' with a single rule. config NETFILTER_XT_MATCH_HELPER tristate '"helper" match support' depends on NF_CONNTRACK depends on NETFILTER_ADVANCED help Helper matching allows you to match packets in dynamic connections tracked by a conntrack-helper, ie. ip_conntrack_ftp To compile it as a module, choose M here. If unsure, say Y. config NETFILTER_XT_MATCH_HL tristate '"hl" hoplimit/TTL match support' depends on NETFILTER_ADVANCED ---help--- HL matching allows you to match packets based on the hoplimit in the IPv6 header, or the time-to-live field in the IPv4 header of the packet. config NETFILTER_XT_MATCH_IPRANGE tristate '"iprange" address range match support' depends on NETFILTER_ADVANCED ---help--- This option adds a "iprange" match, which allows you to match based on an IP address range. (Normal iptables only matches on single addresses with an optional mask.) If unsure, say M. config NETFILTER_XT_MATCH_IPVS tristate '"ipvs" match support' depends on IP_VS depends on NETFILTER_ADVANCED depends on NF_CONNTRACK help This option allows you to match against IPVS properties of a packet. If unsure, say N. config NETFILTER_XT_MATCH_LENGTH tristate '"length" match support' depends on NETFILTER_ADVANCED help This option allows you to match the length of a packet against a specific value or range of values. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_LIMIT tristate '"limit" match support' depends on NETFILTER_ADVANCED help limit matching allows you to control the rate at which a rule can be matched: mainly useful in combination with the LOG target ("LOG target support", below) and to avoid some Denial of Service attacks. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_MAC tristate '"mac" address match support' depends on NETFILTER_ADVANCED help MAC matching allows you to match packets based on the source Ethernet address of the packet. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_MARK tristate '"mark" match support' depends on NETFILTER_ADVANCED select NETFILTER_XT_MARK ---help--- This is a backwards-compat option for the user's convenience (e.g. when running oldconfig). It selects CONFIG_NETFILTER_XT_MARK (combined mark/MARK module). config NETFILTER_XT_MATCH_MULTIPORT tristate '"multiport" Multiple port match support' depends on NETFILTER_ADVANCED help Multiport matching allows you to match TCP or UDP packets based on a series of source or destination ports: normally a rule can only match a single range of ports. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_NFACCT tristate '"nfacct" match support' depends on NETFILTER_ADVANCED select NETFILTER_NETLINK_ACCT help This option allows you to use the extended accounting through nfnetlink_acct. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_OSF tristate '"osf" Passive OS fingerprint match' depends on NETFILTER_ADVANCED && NETFILTER_NETLINK help This option selects the Passive OS Fingerprinting match module that allows to passively match the remote operating system by analyzing incoming TCP SYN packets. Rules and loading software can be downloaded from http://www.ioremap.net/projects/osf To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_OWNER tristate '"owner" match support' depends on NETFILTER_ADVANCED ---help--- Socket owner matching allows you to match locally-generated packets based on who created the socket: the user or group. It is also possible to check whether a socket actually exists. config NETFILTER_XT_MATCH_POLICY tristate 'IPsec "policy" match support' depends on XFRM default m if NETFILTER_ADVANCED=n help Policy matching allows you to match packets based on the IPsec policy that was used during decapsulation/will be used during encapsulation. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_PHYSDEV tristate '"physdev" match support' depends on BRIDGE && BRIDGE_NETFILTER depends on NETFILTER_ADVANCED help Physdev packet matching matches against the physical bridge ports the IP packet arrived on or will leave by. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_PKTTYPE tristate '"pkttype" packet type match support' depends on NETFILTER_ADVANCED help Packet type matching allows you to match a packet by its "class", eg. BROADCAST, MULTICAST, ... Typical usage: iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_QUOTA tristate '"quota" match support' depends on NETFILTER_ADVANCED help This option adds a `quota' match, which allows to match on a byte counter. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_RATEEST tristate '"rateest" match support' depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_RATEEST help This option adds a `rateest' match, which allows to match on the rate estimated by the RATEEST target. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_REALM tristate '"realm" match support' depends on NETFILTER_ADVANCED select IP_ROUTE_CLASSID help This option adds a `realm' match, which allows you to use the realm key from the routing subsystem inside iptables. This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option in tc world. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_RECENT tristate '"recent" match support' depends on NETFILTER_ADVANCED ---help--- This match is used for creating one or many lists of recently used addresses and then matching against that/those list(s). Short options are available by using 'iptables -m recent -h' Official Website: config NETFILTER_XT_MATCH_SCTP tristate '"sctp" protocol match support' depends on NETFILTER_ADVANCED default IP_SCTP help With this option enabled, you will be able to use the `sctp' match in order to match on SCTP source/destination ports and SCTP chunk types. If you want to compile it as a module, say M here and read . If unsure, say `N'. config NETFILTER_XT_MATCH_SOCKET tristate '"socket" match support' depends on NETFILTER_XTABLES depends on NETFILTER_ADVANCED depends on !NF_CONNTRACK || NF_CONNTRACK depends on (IPV6 || IPV6=n) select NF_DEFRAG_IPV4 select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES help This option adds a `socket' match, which can be used to match packets for which a TCP or UDP socket lookup finds a valid socket. It can be used in combination with the MARK target and policy routing to implement full featured non-locally bound sockets. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_STATE tristate '"state" match support' depends on NF_CONNTRACK default m if NETFILTER_ADVANCED=n help Connection state matching allows you to match packets based on their relationship to a tracked connection (ie. previous packets). This is a powerful tool for packet classification. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_STATISTIC tristate '"statistic" match support' depends on NETFILTER_ADVANCED help This option adds a `statistic' match, which allows you to match on packets periodically or randomly with a given percentage. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_STRING tristate '"string" match support' depends on NETFILTER_ADVANCED select TEXTSEARCH select TEXTSEARCH_KMP select TEXTSEARCH_BM select TEXTSEARCH_FSM help This option adds a `string' match, which allows you to look for pattern matchings in packets. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_TCPMSS tristate '"tcpmss" match support' depends on NETFILTER_ADVANCED help This option adds a `tcpmss' match, which allows you to examine the MSS value of TCP SYN packets, which control the maximum packet size for that connection. To compile it as a module, choose M here. If unsure, say N. config NETFILTER_XT_MATCH_TIME tristate '"time" match support' depends on NETFILTER_ADVANCED ---help--- This option adds a "time" match, which allows you to match based on the packet arrival time (at the machine which netfilter is running) on) or departure time/date (for locally generated packets). If you say Y here, try `iptables -m time --help` for more information. If you want to compile it as a module, say M here. If unsure, say N. config NETFILTER_XT_MATCH_U32 tristate '"u32" match support' depends on NETFILTER_ADVANCED ---help--- u32 allows you to extract quantities of up to 4 bytes from a packet, AND them with specified masks, shift them by specified amounts and test whether the results are in any of a set of specified ranges. The specification of what to extract is general enough to skip over headers with lengths stored in the packet, as in IP or TCP header lengths. Details and examples are in the kernel module source. endif # NETFILTER_XTABLES endmenu source "net/netfilter/ipset/Kconfig" source "net/netfilter/ipvs/Kconfig" menuconfig IP_SET tristate "IP set support" depends on INET && NETFILTER select NETFILTER_NETLINK help This option adds IP set support to the kernel. In order to define and use the sets, you need the userspace utility ipset(8). You can use the sets in netfilter via the "set" match and "SET" target. To compile it as a module, choose M here. If unsure, say N. if IP_SET config IP_SET_MAX int "Maximum number of IP sets" default 256 range 2 65534 depends on IP_SET help You can define here default value of the maximum number of IP sets for the kernel. The value can be overriden by the 'max_sets' module parameter of the 'ip_set' module. config IP_SET_BITMAP_IP tristate "bitmap:ip set support" depends on IP_SET help This option adds the bitmap:ip set type support, by which one can store IPv4 addresses (or network addresse) from a range. To compile it as a module, choose M here. If unsure, say N. config IP_SET_BITMAP_IPMAC tristate "bitmap:ip,mac set support" depends on IP_SET help This option adds the bitmap:ip,mac set type support, by which one can store IPv4 address and (source) MAC address pairs from a range. To compile it as a module, choose M here. If unsure, say N. config IP_SET_BITMAP_PORT tristate "bitmap:port set support" depends on IP_SET help This option adds the bitmap:port set type support, by which one can store TCP/UDP port numbers from a range. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_IP tristate "hash:ip set support" depends on IP_SET help This option adds the hash:ip set type support, by which one can store arbitrary IPv4 or IPv6 addresses (or network addresses) in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_IPPORT tristate "hash:ip,port set support" depends on IP_SET help This option adds the hash:ip,port set type support, by which one can store IPv4/IPv6 address and protocol/port pairs. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_IPPORTIP tristate "hash:ip,port,ip set support" depends on IP_SET help This option adds the hash:ip,port,ip set type support, by which one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6 address triples in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_IPPORTNET tristate "hash:ip,port,net set support" depends on IP_SET help This option adds the hash:ip,port,net set type support, by which one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6 network address/prefix triples in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_NETPORTNET tristate "hash:net,port,net set support" depends on IP_SET help This option adds the hash:net,port,net set type support, by which one can store two IPv4/IPv6 subnets, and a protocol/port in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_NET tristate "hash:net set support" depends on IP_SET help This option adds the hash:net set type support, by which one can store IPv4/IPv6 network address/prefix elements in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_NETNET tristate "hash:net,net set support" depends on IP_SET help This option adds the hash:net,net set type support, by which one can store IPv4/IPv6 network address/prefix pairs in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_NETPORT tristate "hash:net,port set support" depends on IP_SET help This option adds the hash:net,port set type support, by which one can store IPv4/IPv6 network address/prefix and protocol/port pairs as elements in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_HASH_NETIFACE tristate "hash:net,iface set support" depends on IP_SET help This option adds the hash:net,iface set type support, by which one can store IPv4/IPv6 network address/prefix and interface name pairs as elements in a set. To compile it as a module, choose M here. If unsure, say N. config IP_SET_LIST_SET tristate "list:set set support" depends on IP_SET help This option adds the list:set set type support. In this kind of set one can store the name of other sets and it forms an ordered union of the member sets. To compile it as a module, choose M here. If unsure, say N. endif # IP_SET # # NetLabel configuration # config NETLABEL bool "NetLabel subsystem support" depends on SECURITY default n ---help--- NetLabel provides support for explicit network packet labeling protocols such as CIPSO and RIPSO. For more information see Documentation/netlabel as well as the NetLabel SourceForge project for configuration tools and additional documentation. * http://netlabel.sf.net If you are unsure, say N. # # Netlink Sockets # config NETLINK_MMAP bool "NETLINK: mmaped IO" ---help--- This option enables support for memory mapped netlink IO. This reduces overhead by avoiding copying data between kernel- and userspace. If unsure, say N. config NETLINK_DIAG tristate "NETLINK: socket monitoring interface" default n ---help--- Support for NETLINK socket monitoring interface used by the ss tool. If unsure, say Y. # # NFC sybsystem configuration # menuconfig NFC depends on NET depends on RFKILL || !RFKILL tristate "NFC subsystem support" default n help Say Y here if you want to build support for NFC (Near field communication) devices. To compile this support as a module, choose M here: the module will be called nfc. config NFC_DIGITAL depends on NFC select CRC_CCITT select CRC_ITU_T tristate "NFC Digital Protocol stack support" default n help Say Y if you want to build NFC digital protocol stack support. This is needed by NFC chipsets whose firmware only implement the NFC analog layer. To compile this support as a module, choose M here: the module will be called nfc_digital. source "net/nfc/nci/Kconfig" source "net/nfc/hci/Kconfig" source "drivers/nfc/Kconfig" config NFC_HCI depends on NFC tristate "NFC HCI implementation" default n help Say Y here if you want to build support for a kernel NFC HCI implementation. This is mostly needed for devices that only process HCI frames, like for example the NXP pn544. config NFC_SHDLC depends on NFC_HCI select CRC_CCITT bool "SHDLC link layer for HCI based NFC drivers" default n ---help--- Say yes if you use an NFC HCI driver that requires SHDLC link layer. If unsure, say N here. config NFC_NCI depends on NFC tristate "NCI protocol support" default n help NCI (NFC Controller Interface) is a communication protocol between an NFC Controller (NFCC) and a Device Host (DH). Say Y here to compile NCI support into the kernel or say M to compile it as module (nci). config NFC_NCI_SPI depends on NFC_NCI && SPI select CRC_CCITT bool "NCI over SPI protocol support" default n help NCI (NFC Controller Interface) is a communication protocol between an NFC Controller (NFCC) and a Device Host (DH). Say yes if you use an NCI driver that requires SPI link layer. # # Open vSwitch # config OPENVSWITCH tristate "Open vSwitch" select LIBCRC32C ---help--- Open vSwitch is a multilayer Ethernet switch targeted at virtualized environments. In addition to supporting a variety of features expected in a traditional hardware switch, it enables fine-grained programmatic extension and flow-based control of the network. This control is useful in a wide variety of applications but is particularly important in multi-server virtualization deployments, which are often characterized by highly dynamic endpoints and the need to maintain logical abstractions for multiple tenants. The Open vSwitch datapath provides an in-kernel fast path for packet forwarding. It is complemented by a userspace daemon, ovs-vswitchd, which is able to accept configuration from a variety of sources and translate it into packet processing rules. See http://openvswitch.org for more information and userspace utilities. To compile this code as a module, choose M here: the module will be called openvswitch. If unsure, say N. config OPENVSWITCH_GRE bool "Open vSwitch GRE tunneling support" depends on INET depends on OPENVSWITCH depends on NET_IPGRE_DEMUX && !(OPENVSWITCH=y && NET_IPGRE_DEMUX=m) default y ---help--- If you say Y here, then the Open vSwitch will be able create GRE vport. Say N to exclude this support and reduce the binary size. If unsure, say Y. config OPENVSWITCH_VXLAN bool "Open vSwitch VXLAN tunneling support" depends on INET depends on OPENVSWITCH depends on VXLAN && !(OPENVSWITCH=y && VXLAN=m) default y ---help--- If you say Y here, then the Open vSwitch will be able create vxlan vport. Say N to exclude this support and reduce the binary size. If unsure, say Y. # # Packet configuration # config PACKET tristate "Packet socket" ---help--- The Packet protocol is used by applications which communicate directly with network devices without an intermediate network protocol implemented in the kernel, e.g. tcpdump. If you want them to work, choose Y. To compile this driver as a module, choose M here: the module will be called af_packet. If unsure, say Y. config PACKET_DIAG tristate "Packet: sockets monitoring interface" depends on PACKET default n ---help--- Support for PF_PACKET sockets monitoring interface used by the ss tool. If unsure, say Y. # # Phonet protocol # config PHONET tristate "Phonet protocols family" help The Phone Network protocol (PhoNet) is a packet-oriented communication protocol developed by Nokia for use with its modems. This is required for Maemo to use cellular data connectivity (if supported). It can also be used to control Nokia phones from a Linux computer, although AT commands may be easier to use. To compile this driver as a module, choose M here: the module will be called phonet. If unsure, say N. config RDS tristate "The RDS Protocol" depends on INET ---help--- The RDS (Reliable Datagram Sockets) protocol provides reliable, sequenced delivery of datagrams over Infiniband, iWARP, or TCP. config RDS_RDMA tristate "RDS over Infiniband and iWARP" depends on RDS && INFINIBAND && INFINIBAND_ADDR_TRANS ---help--- Allow RDS to use Infiniband and iWARP as a transport. This transport supports RDMA operations. config RDS_TCP tristate "RDS over TCP" depends on RDS ---help--- Allow RDS to use TCP as a transport. This transport does not support RDMA operations. config RDS_DEBUG bool "RDS debugging messages" depends on RDS default n # # RF switch subsystem configuration # menuconfig RFKILL tristate "RF switch subsystem support" help Say Y here if you want to have control over RF switches found on many WiFi and Bluetooth cards. To compile this driver as a module, choose M here: the module will be called rfkill. # LED trigger support config RFKILL_LEDS bool depends on RFKILL depends on LEDS_TRIGGERS = y || RFKILL = LEDS_TRIGGERS default y config RFKILL_INPUT bool "RF switch input support" if EXPERT depends on RFKILL depends on INPUT = y || RFKILL = INPUT default y if !EXPERT config RFKILL_REGULATOR tristate "Generic rfkill regulator driver" depends on RFKILL || !RFKILL depends on REGULATOR help This options enable controlling radio transmitters connected to voltage regulator using the regulator framework. To compile this driver as a module, choose M here: the module will be called rfkill-regulator. config RFKILL_GPIO tristate "GPIO RFKILL driver" depends on RFKILL && GPIOLIB default n help If you say yes here you get support of a generic gpio RFKILL driver. The platform should fill in the appropriate fields in the rfkill_gpio_platform_data structure and pass that to the driver. # # RxRPC session sockets # config AF_RXRPC tristate "RxRPC session sockets" depends on INET select CRYPTO select KEYS help Say Y or M here to include support for RxRPC session sockets (just the transport part, not the presentation part: (un)marshalling is left to the application). These are used for AFS kernel filesystem and userspace utilities. This module at the moment only supports client operations and is currently incomplete. See Documentation/networking/rxrpc.txt. config AF_RXRPC_DEBUG bool "RxRPC dynamic debugging" depends on AF_RXRPC help Say Y here to make runtime controllable debugging messages appear. See Documentation/networking/rxrpc.txt. config RXKAD tristate "RxRPC Kerberos security" depends on AF_RXRPC select CRYPTO select CRYPTO_MANAGER select CRYPTO_BLKCIPHER select CRYPTO_PCBC select CRYPTO_FCRYPT help Provide kerberos 4 and AFS kaserver security handling for AF_RXRPC through the use of the key retention service. See Documentation/networking/rxrpc.txt. # # Traffic control configuration. # menuconfig NET_SCHED bool "QoS and/or fair queueing" select NET_SCH_FIFO ---help--- When the kernel has several packets to send out over a network device, it has to decide which ones to send first, which ones to delay, and which ones to drop. This is the job of the queueing disciplines, several different algorithms for how to do this "fairly" have been proposed. If you say N here, you will get the standard packet scheduler, which is a FIFO (first come, first served). If you say Y here, you will be able to choose from among several alternative algorithms which can then be attached to different network devices. This is useful for example if some of your network devices are real time devices that need a certain minimum data flow rate, or if you need to limit the maximum data flow rate for traffic which matches specified criteria. This code is considered to be experimental. To administer these schedulers, you'll need the user-level utilities from the package iproute2+tc at . That package also contains some documentation; for more, check out . This Quality of Service (QoS) support will enable you to use Differentiated Services (diffserv) and Resource Reservation Protocol (RSVP) on your Linux router if you also say Y to the corresponding classifiers below. Documentation and software is at . If you say Y here and to "/proc file system" below, you will be able to read status information about packet schedulers from the file /proc/net/psched. The available schedulers are listed in the following questions; you can say Y to as many as you like. If unsure, say N now. if NET_SCHED comment "Queueing/Scheduling" config NET_SCH_CBQ tristate "Class Based Queueing (CBQ)" ---help--- Say Y here if you want to use the Class-Based Queueing (CBQ) packet scheduling algorithm. This algorithm classifies the waiting packets into a tree-like hierarchy of classes; the leaves of this tree are in turn scheduled by separate algorithms. See the top of for more details. CBQ is a commonly used scheduler, so if you're unsure, you should say Y here. Then say Y to all the queueing algorithms below that you want to use as leaf disciplines. To compile this code as a module, choose M here: the module will be called sch_cbq. config NET_SCH_HTB tristate "Hierarchical Token Bucket (HTB)" ---help--- Say Y here if you want to use the Hierarchical Token Buckets (HTB) packet scheduling algorithm. See for complete manual and in-depth articles. HTB is very similar to CBQ regarding its goals however is has different properties and different algorithm. To compile this code as a module, choose M here: the module will be called sch_htb. config NET_SCH_HFSC tristate "Hierarchical Fair Service Curve (HFSC)" ---help--- Say Y here if you want to use the Hierarchical Fair Service Curve (HFSC) packet scheduling algorithm. To compile this code as a module, choose M here: the module will be called sch_hfsc. config NET_SCH_ATM tristate "ATM Virtual Circuits (ATM)" depends on ATM ---help--- Say Y here if you want to use the ATM pseudo-scheduler. This provides a framework for invoking classifiers, which in turn select classes of this queuing discipline. Each class maps the flow(s) it is handling to a given virtual circuit. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_atm. config NET_SCH_PRIO tristate "Multi Band Priority Queueing (PRIO)" ---help--- Say Y here if you want to use an n-band priority queue packet scheduler. To compile this code as a module, choose M here: the module will be called sch_prio. config NET_SCH_MULTIQ tristate "Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)" ---help--- Say Y here if you want to use an n-band queue packet scheduler to support devices that have multiple hardware transmit queues. To compile this code as a module, choose M here: the module will be called sch_multiq. config NET_SCH_RED tristate "Random Early Detection (RED)" ---help--- Say Y here if you want to use the Random Early Detection (RED) packet scheduling algorithm. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_red. config NET_SCH_SFB tristate "Stochastic Fair Blue (SFB)" ---help--- Say Y here if you want to use the Stochastic Fair Blue (SFB) packet scheduling algorithm. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_sfb. config NET_SCH_SFQ tristate "Stochastic Fairness Queueing (SFQ)" ---help--- Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) packet scheduling algorithm. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_sfq. config NET_SCH_TEQL tristate "True Link Equalizer (TEQL)" ---help--- Say Y here if you want to use the True Link Equalizer (TLE) packet scheduling algorithm. This queueing discipline allows the combination of several physical devices into one virtual device. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_teql. config NET_SCH_TBF tristate "Token Bucket Filter (TBF)" ---help--- Say Y here if you want to use the Token Bucket Filter (TBF) packet scheduling algorithm. See the top of for more details. To compile this code as a module, choose M here: the module will be called sch_tbf. config NET_SCH_GRED tristate "Generic Random Early Detection (GRED)" ---help--- Say Y here if you want to use the Generic Random Early Detection (GRED) packet scheduling algorithm for some of your network devices (see the top of for details and references about the algorithm). To compile this code as a module, choose M here: the module will be called sch_gred. config NET_SCH_DSMARK tristate "Differentiated Services marker (DSMARK)" ---help--- Say Y if you want to schedule packets according to the Differentiated Services architecture proposed in RFC 2475. Technical information on this method, with pointers to associated RFCs, is available at . To compile this code as a module, choose M here: the module will be called sch_dsmark. config NET_SCH_NETEM tristate "Network emulator (NETEM)" ---help--- Say Y if you want to emulate network delay, loss, and packet re-ordering. This is often useful to simulate networks when testing applications or protocols. To compile this driver as a module, choose M here: the module will be called sch_netem. If unsure, say N. config NET_SCH_DRR tristate "Deficit Round Robin scheduler (DRR)" help Say Y here if you want to use the Deficit Round Robin (DRR) packet scheduling algorithm. To compile this driver as a module, choose M here: the module will be called sch_drr. If unsure, say N. config NET_SCH_MQPRIO tristate "Multi-queue priority scheduler (MQPRIO)" help Say Y here if you want to use the Multi-queue Priority scheduler. This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers. To compile this driver as a module, choose M here: the module will be called sch_mqprio. If unsure, say N. config NET_SCH_CHOKE tristate "CHOose and Keep responsive flow scheduler (CHOKE)" help Say Y here if you want to use the CHOKe packet scheduler (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows). This is a variation of RED which trys to penalize flows that monopolize the queue. To compile this code as a module, choose M here: the module will be called sch_choke. config NET_SCH_QFQ tristate "Quick Fair Queueing scheduler (QFQ)" help Say Y here if you want to use the Quick Fair Queueing Scheduler (QFQ) packet scheduling algorithm. To compile this driver as a module, choose M here: the module will be called sch_qfq. If unsure, say N. config NET_SCH_CODEL tristate "Controlled Delay AQM (CODEL)" help Say Y here if you want to use the Controlled Delay (CODEL) packet scheduling algorithm. To compile this driver as a module, choose M here: the module will be called sch_codel. If unsure, say N. config NET_SCH_FQ_CODEL tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)" help Say Y here if you want to use the FQ Controlled Delay (FQ_CODEL) packet scheduling algorithm. To compile this driver as a module, choose M here: the module will be called sch_fq_codel. If unsure, say N. config NET_SCH_FQ tristate "Fair Queue" help Say Y here if you want to use the FQ packet scheduling algorithm. FQ does flow separation, and is able to respect pacing requirements set by TCP stack into sk->sk_pacing_rate (for localy generated traffic) To compile this driver as a module, choose M here: the module will be called sch_fq. If unsure, say N. config NET_SCH_INGRESS tristate "Ingress Qdisc" depends on NET_CLS_ACT ---help--- Say Y here if you want to use classifiers for incoming packets. If unsure, say Y. To compile this code as a module, choose M here: the module will be called sch_ingress. config NET_SCH_PLUG tristate "Plug network traffic until release (PLUG)" ---help--- This queuing discipline allows userspace to plug/unplug a network output queue, using the netlink interface. When it receives an enqueue command it inserts a plug into the outbound queue that causes following packets to enqueue until a dequeue command arrives over netlink, causing the plug to be removed and resuming the normal packet flow. This module also provides a generic "network output buffering" functionality (aka output commit), wherein upon arrival of a dequeue command, only packets up to the first plug are released for delivery. The Remus HA project uses this module to enable speculative execution of virtual machines by allowing the generated network output to be rolled back if needed. For more information, please refer to http://wiki.xensource.com/xenwiki/Remus Say Y here if you are using this kernel for Xen dom0 and want to protect Xen guests with Remus. To compile this code as a module, choose M here: the module will be called sch_plug. comment "Classification" config NET_CLS boolean config NET_CLS_BASIC tristate "Elementary classification (BASIC)" select NET_CLS ---help--- Say Y here if you want to be able to classify packets using only extended matches and actions. To compile this code as a module, choose M here: the module will be called cls_basic. config NET_CLS_TCINDEX tristate "Traffic-Control Index (TCINDEX)" select NET_CLS ---help--- Say Y here if you want to be able to classify packets based on traffic control indices. You will want this feature if you want to implement Differentiated Services together with DSMARK. To compile this code as a module, choose M here: the module will be called cls_tcindex. config NET_CLS_ROUTE4 tristate "Routing decision (ROUTE)" depends on INET select IP_ROUTE_CLASSID select NET_CLS ---help--- If you say Y here, you will be able to classify packets according to the route table entry they matched. To compile this code as a module, choose M here: the module will be called cls_route. config NET_CLS_FW tristate "Netfilter mark (FW)" select NET_CLS ---help--- If you say Y here, you will be able to classify packets according to netfilter/firewall marks. To compile this code as a module, choose M here: the module will be called cls_fw. config NET_CLS_U32 tristate "Universal 32bit comparisons w/ hashing (U32)" select NET_CLS ---help--- Say Y here to be able to classify packets using a universal 32bit pieces based comparison scheme. To compile this code as a module, choose M here: the module will be called cls_u32. config CLS_U32_PERF bool "Performance counters support" depends on NET_CLS_U32 ---help--- Say Y here to make u32 gather additional statistics useful for fine tuning u32 classifiers. config CLS_U32_MARK bool "Netfilter marks support" depends on NET_CLS_U32 ---help--- Say Y here to be able to use netfilter marks as u32 key. config NET_CLS_RSVP tristate "IPv4 Resource Reservation Protocol (RSVP)" select NET_CLS ---help--- The Resource Reservation Protocol (RSVP) permits end systems to request a minimum and maximum data flow rate for a connection; this is important for real time data such as streaming sound or video. Say Y here if you want to be able to classify outgoing packets based on their RSVP requests. To compile this code as a module, choose M here: the module will be called cls_rsvp. config NET_CLS_RSVP6 tristate "IPv6 Resource Reservation Protocol (RSVP6)" select NET_CLS ---help--- The Resource Reservation Protocol (RSVP) permits end systems to request a minimum and maximum data flow rate for a connection; this is important for real time data such as streaming sound or video. Say Y here if you want to be able to classify outgoing packets based on their RSVP requests and you are using the IPv6 protocol. To compile this code as a module, choose M here: the module will be called cls_rsvp6. config NET_CLS_FLOW tristate "Flow classifier" select NET_CLS ---help--- If you say Y here, you will be able to classify packets based on a configurable combination of packet keys. This is mostly useful in combination with SFQ. To compile this code as a module, choose M here: the module will be called cls_flow. config NET_CLS_CGROUP tristate "Control Group Classifier" select NET_CLS depends on CGROUPS ---help--- Say Y here if you want to classify packets based on the control cgroup of their process. To compile this code as a module, choose M here: the module will be called cls_cgroup. config NET_CLS_BPF tristate "BPF-based classifier" select NET_CLS ---help--- If you say Y here, you will be able to classify packets based on programmable BPF (JIT'ed) filters as an alternative to ematches. To compile this code as a module, choose M here: the module will be called cls_bpf. config NET_EMATCH bool "Extended Matches" select NET_CLS ---help--- Say Y here if you want to use extended matches on top of classifiers and select the extended matches below. Extended matches are small classification helpers not worth writing a separate classifier for. A recent version of the iproute2 package is required to use extended matches. config NET_EMATCH_STACK int "Stack size" depends on NET_EMATCH default "32" ---help--- Size of the local stack variable used while evaluating the tree of ematches. Limits the depth of the tree, i.e. the number of encapsulated precedences. Every level requires 4 bytes of additional stack space. config NET_EMATCH_CMP tristate "Simple packet data comparison" depends on NET_EMATCH ---help--- Say Y here if you want to be able to classify packets based on simple packet data comparisons for 8, 16, and 32bit values. To compile this code as a module, choose M here: the module will be called em_cmp. config NET_EMATCH_NBYTE tristate "Multi byte comparison" depends on NET_EMATCH ---help--- Say Y here if you want to be able to classify packets based on multiple byte comparisons mainly useful for IPv6 address comparisons. To compile this code as a module, choose M here: the module will be called em_nbyte. config NET_EMATCH_U32 tristate "U32 key" depends on NET_EMATCH ---help--- Say Y here if you want to be able to classify packets using the famous u32 key in combination with logic relations. To compile this code as a module, choose M here: the module will be called em_u32. config NET_EMATCH_META tristate "Metadata" depends on NET_EMATCH ---help--- Say Y here if you want to be able to classify packets based on metadata such as load average, netfilter attributes, socket attributes and routing decisions. To compile this code as a module, choose M here: the module will be called em_meta. config NET_EMATCH_TEXT tristate "Textsearch" depends on NET_EMATCH select TEXTSEARCH select TEXTSEARCH_KMP select TEXTSEARCH_BM select TEXTSEARCH_FSM ---help--- Say Y here if you want to be able to classify packets based on textsearch comparisons. To compile this code as a module, choose M here: the module will be called em_text. config NET_EMATCH_CANID tristate "CAN Identifier" depends on NET_EMATCH && (CAN=y || CAN=m) ---help--- Say Y here if you want to be able to classify CAN frames based on CAN Identifier. To compile this code as a module, choose M here: the module will be called em_canid. config NET_EMATCH_IPSET tristate "IPset" depends on NET_EMATCH && IP_SET ---help--- Say Y here if you want to be able to classify packets based on ipset membership. To compile this code as a module, choose M here: the module will be called em_ipset. config NET_CLS_ACT bool "Actions" ---help--- Say Y here if you want to use traffic control actions. Actions get attached to classifiers and are invoked after a successful classification. They are used to overwrite the classification result, instantly drop or redirect packets, etc. A recent version of the iproute2 package is required to use extended matches. config NET_ACT_POLICE tristate "Traffic Policing" depends on NET_CLS_ACT ---help--- Say Y here if you want to do traffic policing, i.e. strict bandwidth limiting. This action replaces the existing policing module. To compile this code as a module, choose M here: the module will be called act_police. config NET_ACT_GACT tristate "Generic actions" depends on NET_CLS_ACT ---help--- Say Y here to take generic actions such as dropping and accepting packets. To compile this code as a module, choose M here: the module will be called act_gact. config GACT_PROB bool "Probability support" depends on NET_ACT_GACT ---help--- Say Y here to use the generic action randomly or deterministically. config NET_ACT_MIRRED tristate "Redirecting and Mirroring" depends on NET_CLS_ACT ---help--- Say Y here to allow packets to be mirrored or redirected to other devices. To compile this code as a module, choose M here: the module will be called act_mirred. config NET_ACT_IPT tristate "IPtables targets" depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES ---help--- Say Y here to be able to invoke iptables targets after successful classification. To compile this code as a module, choose M here: the module will be called act_ipt. config NET_ACT_NAT tristate "Stateless NAT" depends on NET_CLS_ACT ---help--- Say Y here to do stateless NAT on IPv4 packets. You should use netfilter for NAT unless you know what you are doing. To compile this code as a module, choose M here: the module will be called act_nat. config NET_ACT_PEDIT tristate "Packet Editing" depends on NET_CLS_ACT ---help--- Say Y here if you want to mangle the content of packets. To compile this code as a module, choose M here: the module will be called act_pedit. config NET_ACT_SIMP tristate "Simple Example (Debug)" depends on NET_CLS_ACT ---help--- Say Y here to add a simple action for demonstration purposes. It is meant as an example and for debugging purposes. It will print a configured policy string followed by the packet count to the console for every packet that passes by. If unsure, say N. To compile this code as a module, choose M here: the module will be called act_simple. config NET_ACT_SKBEDIT tristate "SKB Editing" depends on NET_CLS_ACT ---help--- Say Y here to change skb priority or queue_mapping settings. If unsure, say N. To compile this code as a module, choose M here: the module will be called act_skbedit. config NET_ACT_CSUM tristate "Checksum Updating" depends on NET_CLS_ACT && INET ---help--- Say Y here to update some common checksum after some direct packet alterations. To compile this code as a module, choose M here: the module will be called act_csum. config NET_CLS_IND bool "Incoming device classification" depends on NET_CLS_U32 || NET_CLS_FW ---help--- Say Y here to extend the u32 and fw classifier to support classification based on the incoming device. This option is likely to disappear in favour of the metadata ematch. endif # NET_SCHED config NET_SCH_FIFO bool # # SCTP configuration # menuconfig IP_SCTP tristate "The SCTP Protocol" depends on INET depends on IPV6 || IPV6=n select CRYPTO select CRYPTO_HMAC select CRYPTO_SHA1 select LIBCRC32C ---help--- Stream Control Transmission Protocol From RFC 2960 . "SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP. It offers the following services to its users: -- acknowledged error-free non-duplicated transfer of user data, -- data fragmentation to conform to discovered path MTU size, -- sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages, -- optional bundling of multiple user messages into a single SCTP packet, and -- network-level fault tolerance through supporting of multi- homing at either or both ends of an association." To compile this protocol support as a module, choose M here: the module will be called sctp. Debug messages are handeled by the kernel's dynamic debugging framework. If in doubt, say N. if IP_SCTP config NET_SCTPPROBE tristate "SCTP: Association probing" depends on PROC_FS && KPROBES ---help--- This module allows for capturing the changes to SCTP association state in response to incoming packets. It is used for debugging SCTP congestion control algorithms. If you don't understand what was just said, you don't need it: say N. To compile this code as a module, choose M here: the module will be called sctp_probe. config SCTP_DBG_OBJCNT bool "SCTP: Debug object counts" depends on PROC_FS help If you say Y, this will enable debugging support for counting the type of objects that are currently allocated. This is useful for identifying memory leaks. This debug information can be viewed by 'cat /proc/net/sctp/sctp_dbg_objcnt' If unsure, say N choice prompt "Default SCTP cookie HMAC encoding" default SCTP_DEFAULT_COOKIE_HMAC_MD5 help This option sets the default sctp cookie hmac algorithm when in doubt select 'md5' config SCTP_DEFAULT_COOKIE_HMAC_MD5 bool "Enable optional MD5 hmac cookie generation" help Enable optional MD5 hmac based SCTP cookie generation select SCTP_COOKIE_HMAC_MD5 config SCTP_DEFAULT_COOKIE_HMAC_SHA1 bool "Enable optional SHA1 hmac cookie generation" help Enable optional SHA1 hmac based SCTP cookie generation select SCTP_COOKIE_HMAC_SHA1 config SCTP_DEFAULT_COOKIE_HMAC_NONE bool "Use no hmac alg in SCTP cookie generation" help Use no hmac algorithm in SCTP cookie generation endchoice config SCTP_COOKIE_HMAC_MD5 bool "Enable optional MD5 hmac cookie generation" help Enable optional MD5 hmac based SCTP cookie generation select CRYPTO_HMAC if SCTP_COOKIE_HMAC_MD5 select CRYPTO_MD5 if SCTP_COOKIE_HMAC_MD5 config SCTP_COOKIE_HMAC_SHA1 bool "Enable optional SHA1 hmac cookie generation" help Enable optional SHA1 hmac based SCTP cookie generation select CRYPTO_HMAC if SCTP_COOKIE_HMAC_SHA1 select CRYPTO_SHA1 if SCTP_COOKIE_HMAC_SHA1 endif # IP_SCTP config SUNRPC tristate config SUNRPC_GSS tristate select OID_REGISTRY config SUNRPC_BACKCHANNEL bool depends on SUNRPC config SUNRPC_XPRT_RDMA tristate depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS default SUNRPC && INFINIBAND help This option allows the NFS client and server to support an RDMA-enabled transport. To compile RPC client RDMA transport support as a module, choose M here: the module will be called xprtrdma. If unsure, say N. config SUNRPC_SWAP bool depends on SUNRPC config RPCSEC_GSS_KRB5 tristate "Secure RPC: Kerberos V mechanism" depends on SUNRPC && CRYPTO depends on CRYPTO_MD5 && CRYPTO_DES && CRYPTO_CBC && CRYPTO_CTS depends on CRYPTO_ECB && CRYPTO_HMAC && CRYPTO_SHA1 && CRYPTO_AES depends on CRYPTO_ARC4 default y select SUNRPC_GSS help Choose Y here to enable Secure RPC using the Kerberos version 5 GSS-API mechanism (RFC 1964). Secure RPC calls with Kerberos require an auxiliary user-space daemon which may be found in the Linux nfs-utils package available from http://linux-nfs.org/. In addition, user-space Kerberos support should be installed. If unsure, say Y. config SUNRPC_DEBUG bool "RPC: Enable dprintk debugging" depends on SUNRPC && SYSCTL help This option enables a sysctl-based debugging interface that is be used by the 'rpcdebug' utility to turn on or off logging of different aspects of the kernel RPC activity. Disabling this option will make your kernel slightly smaller, but makes troubleshooting NFS issues significantly harder. If unsure, say Y. # # TIPC configuration # menuconfig TIPC tristate "The TIPC Protocol" depends on INET ---help--- The Transparent Inter Process Communication (TIPC) protocol is specially designed for intra cluster communication. This protocol originates from Ericsson where it has been used in carrier grade cluster applications for many years. For more information about TIPC, see http://tipc.sourceforge.net. This protocol support is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called tipc. If you want to compile it as a module, say M here and read . If in doubt, say N. config TIPC_PORTS int "Maximum number of ports in a node" depends on TIPC range 127 65535 default "8191" help Specifies how many ports can be supported by a node. Can range from 127 to 65535 ports; default is 8191. Setting this to a smaller value saves some memory, setting it to higher allows for more ports. config TIPC_MEDIA_IB bool "InfiniBand media type support" depends on TIPC && INFINIBAND_IPOIB help Saying Y here will enable support for running TIPC on IP-over-InfiniBand devices. # # Unix Domain Sockets # config UNIX tristate "Unix domain sockets" ---help--- If you say Y here, you will include support for Unix domain sockets; sockets are the standard Unix mechanism for establishing and accessing network connections. Many commonly used programs such as the X Window system and syslog use these sockets even if your machine is not connected to any network. Unless you are working on an embedded system or something similar, you therefore definitely want to say Y here. To compile this driver as a module, choose M here: the module will be called unix. Note that several important services won't work correctly if you say M here and then neglect to load the module. Say Y unless you know what you are doing. config UNIX_DIAG tristate "UNIX: socket monitoring interface" depends on UNIX default n ---help--- Support for UNIX socket monitoring interface used by the ss tool. If unsure, say Y. # # Vsock protocol # config VSOCKETS tristate "Virtual Socket protocol" help Virtual Socket Protocol is a socket protocol similar to TCP/IP allowing communication between Virtual Machines and hypervisor or host. You should also select one or more hypervisor-specific transports below. To compile this driver as a module, choose M here: the module will be called vsock. If unsure, say N. config VMWARE_VMCI_VSOCKETS tristate "VMware VMCI transport for Virtual Sockets" depends on VSOCKETS && VMWARE_VMCI help This module implements a VMCI transport for Virtual Sockets. Enable this transport if your Virtual Machine runs on a VMware hypervisor. To compile this driver as a module, choose M here: the module will be called vmw_vsock_vmci_transport. If unsure, say N. # # WiMAX LAN device configuration # menuconfig WIMAX tristate "WiMAX Wireless Broadband support" depends on RFKILL || !RFKILL help Select to configure support for devices that provide wireless broadband connectivity using the WiMAX protocol (IEEE 802.16). Please note that most of these devices require signing up for a service plan with a provider. The different WiMAX drivers can be enabled in the menu entry Device Drivers > Network device support > WiMAX Wireless Broadband devices If unsure, it is safe to select M (module). config WIMAX_DEBUG_LEVEL int "WiMAX debug level" depends on WIMAX default 8 help Select the maximum debug verbosity level to be compiled into the WiMAX stack code. By default, debug messages are disabled at runtime and can be selectively enabled for different parts of the code using the sysfs debug-levels file. If set at zero, this will compile out all the debug code. It is recommended that it is left at 8. config WIRELESS_EXT bool config WEXT_CORE def_bool y depends on CFG80211_WEXT || WIRELESS_EXT config WEXT_PROC def_bool y depends on PROC_FS depends on WEXT_CORE config WEXT_SPY bool config WEXT_PRIV bool config CFG80211 tristate "cfg80211 - wireless configuration API" depends on RFKILL || !RFKILL ---help--- cfg80211 is the Linux wireless LAN (802.11) configuration API. Enable this if you have a wireless device. For more information refer to documentation on the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/cfg80211 When built as a module it will be called cfg80211. config NL80211_TESTMODE bool "nl80211 testmode command" depends on CFG80211 help The nl80211 testmode command helps implementing things like factory calibration or validation tools for wireless chips. Select this option ONLY for kernels that are specifically built for such purposes. Debugging tools that are supposed to end up in the hands of users should better be implemented with debugfs. Say N. config CFG80211_DEVELOPER_WARNINGS bool "enable developer warnings" depends on CFG80211 default n help This option enables some additional warnings that help cfg80211 developers and driver developers, but that can trigger due to races with userspace. For example, when a driver reports that it was disconnected from the AP, but the user disconnects manually at the same time, the warning might trigger spuriously due to races. Say Y only if you are developing cfg80211 or a driver based on it (or mac80211). config CFG80211_REG_DEBUG bool "cfg80211 regulatory debugging" depends on CFG80211 default n ---help--- You can enable this if you want to debug regulatory changes. For more information on cfg80211 regulatory refer to the wireless wiki: http://wireless.kernel.org/en/developers/Regulatory If unsure, say N. config CFG80211_CERTIFICATION_ONUS bool "cfg80211 certification onus" depends on CFG80211 && EXPERT default n ---help--- You should disable this option unless you are both capable and willing to ensure your system will remain regulatory compliant with the features available under this option. Some options may still be under heavy development and for whatever reason regulatory compliance has not or cannot yet be verified. Regulatory verification may at times only be possible until you have the final system in place. This option should only be enabled by system integrators or distributions that have done work necessary to ensure regulatory certification on the system with the enabled features. Alternatively you can enable this option if you are a wireless researcher and are working in a controlled and approved environment by your local regulatory agency. config CFG80211_DEFAULT_PS bool "enable powersave by default" depends on CFG80211 default y help This option enables powersave mode by default. If this causes your applications to misbehave you should fix your applications instead -- they need to register their network latency requirement, see Documentation/power/pm_qos_interface.txt. config CFG80211_DEBUGFS bool "cfg80211 DebugFS entries" depends on CFG80211 depends on DEBUG_FS ---help--- You can enable this if you want to debugfs entries for cfg80211. If unsure, say N. config CFG80211_INTERNAL_REGDB bool "use statically compiled regulatory rules database" if EXPERT default n depends on CFG80211 ---help--- This option generates an internal data structure representing the wireless regulatory rules described in net/wireless/db.txt and includes code to query that database. This is an alternative to using CRDA for defining regulatory rules for the kernel. For details see: http://wireless.kernel.org/en/developers/Regulatory Most distributions have a CRDA package. So if unsure, say N. config CFG80211_WEXT bool "cfg80211 wireless extensions compatibility" depends on CFG80211 select WEXT_CORE help Enable this option if you need old userspace for wireless extensions with cfg80211-based drivers. config LIB80211 tristate default n help This options enables a library of common routines used by IEEE802.11 wireless LAN drivers. Drivers should select this themselves if needed. config LIB80211_CRYPT_WEP tristate config LIB80211_CRYPT_CCMP tristate config LIB80211_CRYPT_TKIP tristate config LIB80211_DEBUG bool "lib80211 debugging messages" depends on LIB80211 default n ---help--- You can enable this if you want verbose debugging messages from lib80211. If unsure, say N. # # CCITT X.25 Packet Layer # config X25 tristate "CCITT X.25 Packet Layer" ---help--- X.25 is a set of standardized network protocols, similar in scope to frame relay; the one physical line from your box to the X.25 network entry point can carry several logical point-to-point connections (called "virtual circuits") to other computers connected to the X.25 network. Governments, banks, and other organizations tend to use it to connect to each other or to form Wide Area Networks (WANs). Many countries have public X.25 networks. X.25 consists of two protocols: the higher level Packet Layer Protocol (PLP) (say Y here if you want that) and the lower level data link layer protocol LAPB (say Y to "LAPB Data Link Driver" below if you want that). You can read more about X.25 at and . Information about X.25 for Linux is contained in the files and . One connects to an X.25 network either with a dedicated network card using the X.21 protocol (not yet supported by Linux) or one can do X.25 over a standard telephone line using an ordinary modem (say Y to "X.25 async driver" below) or over Ethernet using an ordinary Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link Driver" and "LAPB over Ethernet driver" below). To compile this driver as a module, choose M here: the module will be called x25. If unsure, say N. # # XFRM configuration # config XFRM bool depends on NET config XFRM_ALGO tristate select XFRM select CRYPTO config XFRM_USER tristate "Transformation user configuration interface" depends on INET select XFRM_ALGO ---help--- Support for Transformation(XFRM) user configuration interface like IPsec used by native Linux tools. If unsure, say Y. config XFRM_SUB_POLICY bool "Transformation sub policy support" depends on XFRM ---help--- Support sub policy for developers. By using sub policy with main one, two policies can be applied to the same packet at once. Policy which lives shorter time in kernel should be a sub. If unsure, say N. config XFRM_MIGRATE bool "Transformation migrate database" depends on XFRM ---help--- A feature to update locator(s) of a given IPsec security association dynamically. This feature is required, for instance, in a Mobile IPv6 environment with IPsec configuration where mobile nodes change their attachment point to the Internet. If unsure, say N. config XFRM_STATISTICS bool "Transformation statistics" depends on INET && XFRM && PROC_FS ---help--- This statistics is not a SNMP/MIB specification but shows statistics about transformation error (or almost error) factor at packet processing for developer. If unsure, say N. config XFRM_IPCOMP tristate select XFRM_ALGO select CRYPTO select CRYPTO_DEFLATE config NET_KEY tristate "PF_KEY sockets" select XFRM_ALGO ---help--- PF_KEYv2 socket family, compatible to KAME ones. They are required if you are going to use IPsec tools ported from KAME. Say Y unless you know what you are doing. config NET_KEY_MIGRATE bool "PF_KEY MIGRATE" depends on NET_KEY select XFRM_MIGRATE ---help--- Add a PF_KEY MIGRATE message to PF_KEYv2 socket family. The PF_KEY MIGRATE message is used to dynamically update locator(s) of a given IPsec security association. This feature is required, for instance, in a Mobile IPv6 environment with IPsec configuration where mobile nodes change their attachment point to the Internet. Detail information can be found in the internet-draft . If unsure, say N. menuconfig SAMPLES bool "Sample kernel code" help You can build and test sample kernel code here. if SAMPLES config SAMPLE_TRACE_EVENTS tristate "Build trace_events examples -- loadable modules only" depends on EVENT_TRACING && m help This build trace event example modules. config SAMPLE_KOBJECT tristate "Build kobject examples -- loadable modules only" depends on m help This config option will allow you to build a number of different kobject sample modules showing how to use kobjects, ksets, and ktypes properly. If in doubt, say "N" here. config SAMPLE_KPROBES tristate "Build kprobes examples -- loadable modules only" depends on KPROBES && m help This build several kprobes example modules. config SAMPLE_KRETPROBES tristate "Build kretprobes example -- loadable modules only" default m depends on SAMPLE_KPROBES && KRETPROBES config SAMPLE_HW_BREAKPOINT tristate "Build kernel hardware breakpoint examples -- loadable module only" depends on HAVE_HW_BREAKPOINT && m help This builds kernel hardware breakpoint example modules. config SAMPLE_KFIFO tristate "Build kfifo examples -- loadable modules only" depends on m help This config option will allow you to build a number of different kfifo sample modules showing how to use the generic kfifo API. If in doubt, say "N" here. config SAMPLE_KDB tristate "Build kdb command example -- loadable modules only" depends on KGDB_KDB && m help Build an example of how to dynamically add the hello command to the kdb shell. config SAMPLE_RPMSG_CLIENT tristate "Build rpmsg client sample -- loadable modules only" depends on RPMSG && m help Build an rpmsg client sample driver, which demonstrates how to communicate with an AMP-configured remote processor over the rpmsg bus. endif # SAMPLES # # Security configuration # menu "Security options" source security/keys/Kconfig config SECURITY_DMESG_RESTRICT bool "Restrict unprivileged access to the kernel syslog" default n help This enforces restrictions on unprivileged users reading the kernel syslog via dmesg(8). If this option is not selected, no restrictions will be enforced unless the dmesg_restrict sysctl is explicitly set to (1). If you are unsure how to answer this question, answer N. config SECURITY bool "Enable different security models" depends on SYSFS help This allows you to choose different security modules to be configured into your kernel. If this option is not selected, the default Linux security model will be used. If you are unsure how to answer this question, answer N. config SECURITYFS bool "Enable the securityfs filesystem" help This will build the securityfs filesystem. It is currently used by the TPM bios character driver and IMA, an integrity provider. It is not used by SELinux or SMACK. If you are unsure how to answer this question, answer N. config SECURITY_NETWORK bool "Socket and Networking Security Hooks" depends on SECURITY help This enables the socket and networking security hooks. If enabled, a security module can use these hooks to implement socket and networking access controls. If you are unsure how to answer this question, answer N. config SECURITY_NETWORK_XFRM bool "XFRM (IPSec) Networking Security Hooks" depends on XFRM && SECURITY_NETWORK help This enables the XFRM (IPSec) networking security hooks. If enabled, a security module can use these hooks to implement per-packet access controls based on labels derived from IPSec policy. Non-IPSec communications are designated as unlabelled, and only sockets authorized to communicate unlabelled data can send without using IPSec. If you are unsure how to answer this question, answer N. config SECURITY_PATH bool "Security hooks for pathname based access control" depends on SECURITY help This enables the security hooks for pathname based access control. If enabled, a security module can use these hooks to implement pathname based access controls. If you are unsure how to answer this question, answer N. config INTEL_TXT bool "Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)" depends on HAVE_INTEL_TXT help This option enables support for booting the kernel with the Trusted Boot (tboot) module. This will utilize Intel(R) Trusted Execution Technology to perform a measured launch of the kernel. If the system does not support Intel(R) TXT, this will have no effect. Intel TXT will provide higher assurance of system configuration and initial state as well as data reset protection. This is used to create a robust initial kernel measurement and verification, which helps to ensure that kernel security mechanisms are functioning correctly. This level of protection requires a root of trust outside of the kernel itself. Intel TXT also helps solve real end user concerns about having confidence that their hardware is running the VMM or kernel that it was configured with, especially since they may be responsible for providing such assurances to VMs and services running on it. See for more information about Intel(R) TXT. See for more information about tboot. See Documentation/intel_txt.txt for a description of how to enable Intel TXT support in a kernel boot. If you are unsure as to whether this is required, answer N. config LSM_MMAP_MIN_ADDR int "Low address space for LSM to protect from user allocation" depends on SECURITY && SECURITY_SELINUX default 32768 if ARM default 65536 help This is the portion of low virtual memory which should be protected from userspace allocation. Keeping a user from writing to low pages can help reduce the impact of kernel NULL pointer bugs. For most ia64, ppc64 and x86 users with lots of address space a value of 65536 is reasonable and should cause no problems. On arm and other archs it should not be higher than 32768. Programs which use vm86 functionality or have some need to map this low address space will need the permission specific to the systems running LSM. source security/selinux/Kconfig source security/smack/Kconfig source security/tomoyo/Kconfig source security/apparmor/Kconfig source security/yama/Kconfig source security/integrity/Kconfig choice prompt "Default security module" default DEFAULT_SECURITY_SELINUX if SECURITY_SELINUX default DEFAULT_SECURITY_SMACK if SECURITY_SMACK default DEFAULT_SECURITY_TOMOYO if SECURITY_TOMOYO default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR default DEFAULT_SECURITY_YAMA if SECURITY_YAMA default DEFAULT_SECURITY_DAC help Select the security module that will be used by default if the kernel parameter security= is not specified. config DEFAULT_SECURITY_SELINUX bool "SELinux" if SECURITY_SELINUX=y config DEFAULT_SECURITY_SMACK bool "Simplified Mandatory Access Control" if SECURITY_SMACK=y config DEFAULT_SECURITY_TOMOYO bool "TOMOYO" if SECURITY_TOMOYO=y config DEFAULT_SECURITY_APPARMOR bool "AppArmor" if SECURITY_APPARMOR=y config DEFAULT_SECURITY_YAMA bool "Yama" if SECURITY_YAMA=y config DEFAULT_SECURITY_DAC bool "Unix Discretionary Access Controls" endchoice config DEFAULT_SECURITY string default "selinux" if DEFAULT_SECURITY_SELINUX default "smack" if DEFAULT_SECURITY_SMACK default "tomoyo" if DEFAULT_SECURITY_TOMOYO default "apparmor" if DEFAULT_SECURITY_APPARMOR default "yama" if DEFAULT_SECURITY_YAMA default "" if DEFAULT_SECURITY_DAC endmenu config SECURITY_APPARMOR bool "AppArmor support" depends on SECURITY && NET select AUDIT select SECURITY_PATH select SECURITYFS select SECURITY_NETWORK default n help This enables the AppArmor security module. Required userspace tools (if they are not included in your distribution) and further information may be found at http://apparmor.wiki.kernel.org If you are unsure how to answer this question, answer N. config SECURITY_APPARMOR_BOOTPARAM_VALUE int "AppArmor boot parameter default value" depends on SECURITY_APPARMOR range 0 1 default 1 help This option sets the default value for the kernel parameter 'apparmor', which allows AppArmor to be enabled or disabled at boot. If this option is set to 0 (zero), the AppArmor kernel parameter will default to 0, disabling AppArmor at boot. If this option is set to 1 (one), the AppArmor kernel parameter will default to 1, enabling AppArmor at boot. If you are unsure how to answer this question, answer 1. config SECURITY_APPARMOR_HASH bool "SHA1 hash of loaded profiles" depends on SECURITY_APPARMOR depends on CRYPTO select CRYPTO_SHA1 default y help This option selects whether sha1 hashing is done against loaded profiles and exported for inspection to user space via the apparmor filesystem. # config INTEGRITY def_bool y depends on IMA || EVM config INTEGRITY_SIGNATURE boolean "Digital signature verification using multiple keyrings" depends on INTEGRITY && KEYS default n select SIGNATURE help This option enables digital signature verification support using multiple keyrings. It defines separate keyrings for each of the different use cases - evm, ima, and modules. Different keyrings improves search performance, but also allow to "lock" certain keyring to prevent adding new keys. This is useful for evm and module keyrings, when keys are usually only added from initramfs. config INTEGRITY_AUDIT bool "Enables integrity auditing support " depends on INTEGRITY && AUDIT default y help In addition to enabling integrity auditing support, this option adds a kernel parameter 'integrity_audit', which controls the level of integrity auditing messages. 0 - basic integrity auditing messages (default) 1 - additional integrity auditing messages Additional informational integrity auditing messages would be enabled by specifying 'integrity_audit=1' on the kernel command line. config INTEGRITY_ASYMMETRIC_KEYS boolean "Enable asymmetric keys support" depends on INTEGRITY_SIGNATURE default n select ASYMMETRIC_KEY_TYPE select ASYMMETRIC_PUBLIC_KEY_SUBTYPE select PUBLIC_KEY_ALGO_RSA select X509_CERTIFICATE_PARSER help This option enables digital signature verification using asymmetric keys. source security/integrity/ima/Kconfig source security/integrity/evm/Kconfig config EVM boolean "EVM support" depends on SECURITY && KEYS && (TRUSTED_KEYS=y || TRUSTED_KEYS=n) select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_SHA1 select ENCRYPTED_KEYS default n help EVM protects a file's security extended attributes against integrity attacks. If you are unsure how to answer this question, answer N. config EVM_HMAC_VERSION int "EVM HMAC version" depends on EVM default 2 help This options adds EVM HMAC version support. 1 - original version 2 - add per filesystem unique identifier (UUID) (default) WARNING: changing the HMAC calculation method or adding additional info to the calculation, requires existing EVM labeled file systems to be relabeled. # IBM Integrity Measurement Architecture # config IMA bool "Integrity Measurement Architecture(IMA)" depends on SECURITY select INTEGRITY select SECURITYFS select CRYPTO select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_HASH_INFO select TCG_TPM if HAS_IOMEM && !UML select TCG_TIS if TCG_TPM && X86 select TCG_IBMVTPM if TCG_TPM && PPC64 help The Trusted Computing Group(TCG) runtime Integrity Measurement Architecture(IMA) maintains a list of hash values of executables and other sensitive system files, as they are read or executed. If an attacker manages to change the contents of an important system file being measured, we can tell. If your system has a TPM chip, then IMA also maintains an aggregate integrity value over this list inside the TPM hardware, so that the TPM can prove to a third party whether or not critical system files have been modified. Read to learn more about IMA. If unsure, say N. config IMA_MEASURE_PCR_IDX int depends on IMA range 8 14 default 10 help IMA_MEASURE_PCR_IDX determines the TPM PCR register index that IMA uses to maintain the integrity aggregate of the measurement list. If unsure, use the default 10. config IMA_LSM_RULES bool depends on IMA && AUDIT && (SECURITY_SELINUX || SECURITY_SMACK) default y help Disabling this option will disregard LSM based policy rules. choice prompt "Default template" default IMA_NG_TEMPLATE depends on IMA help Select the default IMA measurement template. The original 'ima' measurement list template contains a hash, defined as 20 bytes, and a null terminated pathname, limited to 255 characters. The 'ima-ng' measurement list template permits both larger hash digests and longer pathnames. config IMA_TEMPLATE bool "ima" config IMA_NG_TEMPLATE bool "ima-ng (default)" config IMA_SIG_TEMPLATE bool "ima-sig" endchoice config IMA_DEFAULT_TEMPLATE string depends on IMA default "ima" if IMA_TEMPLATE default "ima-ng" if IMA_NG_TEMPLATE default "ima-sig" if IMA_SIG_TEMPLATE choice prompt "Default integrity hash algorithm" default IMA_DEFAULT_HASH_SHA1 depends on IMA help Select the default hash algorithm used for the measurement list, integrity appraisal and audit log. The compiled default hash algorithm can be overwritten using the kernel command line 'ima_hash=' option. config IMA_DEFAULT_HASH_SHA1 bool "SHA1 (default)" depends on CRYPTO_SHA1 config IMA_DEFAULT_HASH_SHA256 bool "SHA256" depends on CRYPTO_SHA256 && !IMA_TEMPLATE config IMA_DEFAULT_HASH_SHA512 bool "SHA512" depends on CRYPTO_SHA512 && !IMA_TEMPLATE config IMA_DEFAULT_HASH_WP512 bool "WP512" depends on CRYPTO_WP512 && !IMA_TEMPLATE endchoice config IMA_DEFAULT_HASH string depends on IMA default "sha1" if IMA_DEFAULT_HASH_SHA1 default "sha256" if IMA_DEFAULT_HASH_SHA256 default "sha512" if IMA_DEFAULT_HASH_SHA512 default "wp512" if IMA_DEFAULT_HASH_WP512 config IMA_APPRAISE bool "Appraise integrity measurements" depends on IMA default n help This option enables local measurement integrity appraisal. It requires the system to be labeled with a security extended attribute containing the file hash measurement. To protect the security extended attributes from offline attack, enable and configure EVM. For more information on integrity appraisal refer to: If unsure, say N. # # Key management configuration # config KEYS bool "Enable access key retention support" select ASSOCIATIVE_ARRAY help This option provides support for retaining authentication tokens and access keys in the kernel. It also includes provision of methods by which such keys might be associated with a process so that network filesystems, encryption support and the like can find them. Furthermore, a special type of key is available that acts as keyring: a searchable sequence of keys. Each process is equipped with access to five standard keyrings: UID-specific, GID-specific, session, process and thread. If you are unsure as to whether this is required, answer N. config PERSISTENT_KEYRINGS bool "Enable register of persistent per-UID keyrings" depends on KEYS help This option provides a register of persistent per-UID keyrings, primarily aimed at Kerberos key storage. The keyrings are persistent in the sense that they stay around after all processes of that UID have exited, not that they survive the machine being rebooted. A particular keyring may be accessed by either the user whose keyring it is or by a process with administrative privileges. The active LSMs gets to rule on which admin-level processes get to access the cache. Keyrings are created and added into the register upon demand and get removed if they expire (a default timeout is set upon creation). config BIG_KEYS bool "Large payload keys" depends on KEYS depends on TMPFS help This option provides support for holding large keys within the kernel (for example Kerberos ticket caches). The data may be stored out to swapspace by tmpfs. If you are unsure as to whether this is required, answer N. config TRUSTED_KEYS tristate "TRUSTED KEYS" depends on KEYS && TCG_TPM select CRYPTO select CRYPTO_HMAC select CRYPTO_SHA1 help This option provides support for creating, sealing, and unsealing keys in the kernel. Trusted keys are random number symmetric keys, generated and RSA-sealed by the TPM. The TPM only unseals the keys, if the boot PCRs and other criteria match. Userspace will only ever see encrypted blobs. If you are unsure as to whether this is required, answer N. config ENCRYPTED_KEYS tristate "ENCRYPTED KEYS" depends on KEYS select CRYPTO select CRYPTO_HMAC select CRYPTO_AES select CRYPTO_CBC select CRYPTO_SHA256 select CRYPTO_RNG help This option provides support for create/encrypting/decrypting keys in the kernel. Encrypted keys are kernel generated random numbers, which are encrypted/decrypted with a 'master' symmetric key. The 'master' key can be either a trusted-key or user-key type. Userspace only ever sees/stores encrypted blobs. If you are unsure as to whether this is required, answer N. config KEYS_DEBUG_PROC_KEYS bool "Enable the /proc/keys file by which keys may be viewed" depends on KEYS help This option turns on support for the /proc/keys file - through which can be listed all the keys on the system that are viewable by the reading process. The only keys included in the list are those that grant View permission to the reading process whether or not it possesses them. Note that LSM security checks are still performed, and may further filter out keys that the current process is not authorised to view. Only key attributes are listed here; key payloads are not included in the resulting table. If you are unsure as to whether this is required, answer N. config SECURITY_SELINUX bool "NSA SELinux Support" depends on SECURITY_NETWORK && AUDIT && NET && INET select NETWORK_SECMARK default n help This selects NSA Security-Enhanced Linux (SELinux). You will also need a policy configuration and a labeled filesystem. If you are unsure how to answer this question, answer N. config SECURITY_SELINUX_BOOTPARAM bool "NSA SELinux boot parameter" depends on SECURITY_SELINUX default n help This option adds a kernel parameter 'selinux', which allows SELinux to be disabled at boot. If this option is selected, SELinux functionality can be disabled with selinux=0 on the kernel command line. The purpose of this option is to allow a single kernel image to be distributed with SELinux built in, but not necessarily enabled. If you are unsure how to answer this question, answer N. config SECURITY_SELINUX_BOOTPARAM_VALUE int "NSA SELinux boot parameter default value" depends on SECURITY_SELINUX_BOOTPARAM range 0 1 default 1 help This option sets the default value for the kernel parameter 'selinux', which allows SELinux to be disabled at boot. If this option is set to 0 (zero), the SELinux kernel parameter will default to 0, disabling SELinux at bootup. If this option is set to 1 (one), the SELinux kernel parameter will default to 1, enabling SELinux at bootup. If you are unsure how to answer this question, answer 1. config SECURITY_SELINUX_DISABLE bool "NSA SELinux runtime disable" depends on SECURITY_SELINUX default n help This option enables writing to a selinuxfs node 'disable', which allows SELinux to be disabled at runtime prior to the policy load. SELinux will then remain disabled until the next boot. This option is similar to the selinux=0 boot parameter, but is to support runtime disabling of SELinux, e.g. from /sbin/init, for portability across platforms where boot parameters are difficult to employ. If you are unsure how to answer this question, answer N. config SECURITY_SELINUX_DEVELOP bool "NSA SELinux Development Support" depends on SECURITY_SELINUX default y help This enables the development support option of NSA SELinux, which is useful for experimenting with SELinux and developing policies. If unsure, say Y. With this option enabled, the kernel will start in permissive mode (log everything, deny nothing) unless you specify enforcing=1 on the kernel command line. You can interactively toggle the kernel between enforcing mode and permissive mode (if permitted by the policy) via /selinux/enforce. config SECURITY_SELINUX_AVC_STATS bool "NSA SELinux AVC Statistics" depends on SECURITY_SELINUX default y help This option collects access vector cache statistics to /selinux/avc/cache_stats, which may be monitored via tools such as avcstat. config SECURITY_SELINUX_CHECKREQPROT_VALUE int "NSA SELinux checkreqprot default value" depends on SECURITY_SELINUX range 0 1 default 1 help This option sets the default value for the 'checkreqprot' flag that determines whether SELinux checks the protection requested by the application or the protection that will be applied by the kernel (including any implied execute for read-implies-exec) for mmap and mprotect calls. If this option is set to 0 (zero), SELinux will default to checking the protection that will be applied by the kernel. If this option is set to 1 (one), SELinux will default to checking the protection requested by the application. The checkreqprot flag may be changed from the default via the 'checkreqprot=' boot parameter. It may also be changed at runtime via /selinux/checkreqprot if authorized by policy. If you are unsure how to answer this question, answer 1. config SECURITY_SELINUX_POLICYDB_VERSION_MAX bool "NSA SELinux maximum supported policy format version" depends on SECURITY_SELINUX default n help This option enables the maximum policy format version supported by SELinux to be set to a particular value. This value is reported to userspace via /selinux/policyvers and used at policy load time. It can be adjusted downward to support legacy userland (init) that does not correctly handle kernels that support newer policy versions. Examples: For the Fedora Core 3 or 4 Linux distributions, enable this option and set the value via the next option. For Fedora Core 5 and later, do not enable this option. If you are unsure how to answer this question, answer N. config SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE int "NSA SELinux maximum supported policy format version value" depends on SECURITY_SELINUX_POLICYDB_VERSION_MAX range 15 23 default 19 help This option sets the value for the maximum policy format version supported by SELinux. Examples: For Fedora Core 3, use 18. For Fedora Core 4, use 19. If you are unsure how to answer this question, look for the policy format version supported by your policy toolchain, by running 'checkpolicy -V'. Or look at what policy you have installed under /etc/selinux/$SELINUXTYPE/policy, where SELINUXTYPE is defined in your /etc/selinux/config. config SECURITY_SMACK bool "Simplified Mandatory Access Control Kernel Support" depends on NET depends on INET depends on SECURITY select NETLABEL select SECURITY_NETWORK default n help This selects the Simplified Mandatory Access Control Kernel. Smack is useful for sensitivity, integrity, and a variety of other mandatory security schemes. If you are unsure how to answer this question, answer N. config SECURITY_TOMOYO bool "TOMOYO Linux Support" depends on SECURITY depends on NET select SECURITYFS select SECURITY_PATH select SECURITY_NETWORK default n help This selects TOMOYO Linux, pathname-based access control. Required userspace tools and further information may be found at . If you are unsure how to answer this question, answer N. config SECURITY_TOMOYO_MAX_ACCEPT_ENTRY int "Default maximal count for learning mode" default 2048 range 0 2147483647 depends on SECURITY_TOMOYO help This is the default value for maximal ACL entries that are automatically appended into policy at "learning mode". Some programs access thousands of objects, so running such programs in "learning mode" dulls the system response and consumes much memory. This is the safeguard for such programs. config SECURITY_TOMOYO_MAX_AUDIT_LOG int "Default maximal count for audit log" default 1024 range 0 2147483647 depends on SECURITY_TOMOYO help This is the default value for maximal entries for audit logs that the kernel can hold on memory. You can read the log via /sys/kernel/security/tomoyo/audit. If you don't need audit logs, you may set this value to 0. config SECURITY_TOMOYO_OMIT_USERSPACE_LOADER bool "Activate without calling userspace policy loader." default n depends on SECURITY_TOMOYO ---help--- Say Y here if you want to activate access control as soon as built-in policy was loaded. This option will be useful for systems where operations which can lead to the hijacking of the boot sequence are needed before loading the policy. For example, you can activate immediately after loading the fixed part of policy which will allow only operations needed for mounting a partition which contains the variant part of policy and verifying (e.g. running GPG check) and loading the variant part of policy. Since you can start using enforcing mode from the beginning, you can reduce the possibility of hijacking the boot sequence. config SECURITY_TOMOYO_POLICY_LOADER string "Location of userspace policy loader" default "/sbin/tomoyo-init" depends on SECURITY_TOMOYO depends on !SECURITY_TOMOYO_OMIT_USERSPACE_LOADER ---help--- This is the default pathname of policy loader which is called before activation. You can override this setting via TOMOYO_loader= kernel command line option. config SECURITY_TOMOYO_ACTIVATION_TRIGGER string "Trigger for calling userspace policy loader" default "/sbin/init" depends on SECURITY_TOMOYO depends on !SECURITY_TOMOYO_OMIT_USERSPACE_LOADER ---help--- This is the default pathname of activation trigger. You can override this setting via TOMOYO_trigger= kernel command line option. For example, if you pass init=/bin/systemd option, you may want to also pass TOMOYO_trigger=/bin/systemd option. config SECURITY_YAMA bool "Yama support" depends on SECURITY select SECURITYFS select SECURITY_PATH default n help This selects Yama, which extends DAC support with additional system-wide security settings beyond regular Linux discretionary access controls. Currently available is ptrace scope restriction. Further information can be found in Documentation/security/Yama.txt. If you are unsure how to answer this question, answer N. config SECURITY_YAMA_STACKED bool "Yama stacked with other LSMs" depends on SECURITY_YAMA default n help When Yama is built into the kernel, force it to stack with the selected primary LSM. menuconfig SOUND tristate "Sound card support" depends on HAS_IOMEM help If you have a sound card in your computer, i.e. if it can say more than an occasional beep, say Y. Be sure to have all the information about your sound card and its configuration down (I/O port, interrupt and DMA channel), because you will be asked for it. You want to read the Sound-HOWTO, available from . General information about the modular sound system is contained in the files . The file contains some slightly outdated but still useful information as well. Newer sound driver documentation is found in . If you have a PnP sound card and you want to configure it at boot time using the ISA PnP tools (read ), then you need to compile the sound card support as a module and load that module after the PnP configuration is finished. To do this, choose M here and read ; the module will be called soundcore. if SOUND config SOUND_OSS_CORE bool default n config SOUND_OSS_CORE_PRECLAIM bool "Preclaim OSS device numbers" depends on SOUND_OSS_CORE default y help With this option enabled, the kernel will claim all OSS device numbers if any OSS support (native or emulation) is enabled whether the respective module is loaded or not and try to load the appropriate module using sound-slot/service-* and char-major-* module aliases when one of the device numbers is opened. With this option disabled, kernel will only claim actually in-use device numbers and opening a missing device will generate only the standard char-major-* aliases. The only visible difference is use of additional module aliases and whether OSS sound devices appear multiple times in /proc/devices. sound-slot/service-* module aliases are scheduled to be removed (ie. PRECLAIM won't be available) and this option is to make the transition easier. This option can be overridden during boot using the kernel parameter soundcore.preclaim_oss. Disabling this allows alternative OSS implementations. If unsure, say Y. source "sound/oss/dmasound/Kconfig" if !M68K && !UML menuconfig SND tristate "Advanced Linux Sound Architecture" help Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture), the new base sound system. For more information, see if SND source "sound/core/Kconfig" source "sound/drivers/Kconfig" source "sound/isa/Kconfig" source "sound/pci/Kconfig" source "sound/ppc/Kconfig" source "sound/aoa/Kconfig" source "sound/arm/Kconfig" source "sound/atmel/Kconfig" source "sound/spi/Kconfig" source "sound/mips/Kconfig" source "sound/sh/Kconfig" # the following will depend on the order of config. # here assuming USB is defined before ALSA source "sound/usb/Kconfig" source "sound/firewire/Kconfig" # the following will depend on the order of config. # here assuming PCMCIA is defined before ALSA source "sound/pcmcia/Kconfig" source "sound/sparc/Kconfig" source "sound/parisc/Kconfig" source "sound/soc/Kconfig" endif # SND menuconfig SOUND_PRIME tristate "Open Sound System (DEPRECATED)" select SOUND_OSS_CORE help Say 'Y' or 'M' to enable Open Sound System drivers. if SOUND_PRIME source "sound/oss/Kconfig" endif # SOUND_PRIME endif # !M68K endif # SOUND # AC97_BUS is used from both sound and ucb1400 config AC97_BUS tristate help This is used to avoid config and link hard dependencies between the sound subsystem and other function drivers completely unrelated to sound although they're sharing the AC97 bus. Concerned drivers should "select" this. menuconfig SND_AOA tristate "Apple Onboard Audio driver" depends on PPC_PMAC select SND_PCM ---help--- This option enables the new driver for the various Apple Onboard Audio components. if SND_AOA source "sound/aoa/fabrics/Kconfig" source "sound/aoa/codecs/Kconfig" source "sound/aoa/soundbus/Kconfig" endif # SND_AOA config SND_AOA_ONYX tristate "support Onyx chip" select I2C select I2C_POWERMAC ---help--- This option enables support for the Onyx (pcm3052) codec chip found in the latest Apple machines (most of those with digital audio output). config SND_AOA_TAS tristate "support TAS chips" select I2C select I2C_POWERMAC ---help--- This option enables support for the tas chips found in a lot of Apple Machines, especially iBooks and PowerBooks without digital. config SND_AOA_TOONIE tristate "support Toonie chip" ---help--- This option enables support for the toonie codec found in the Mac Mini. If you have a Mac Mini and want to hear sound, select this option. config SND_AOA_FABRIC_LAYOUT tristate "layout-id fabric" select SND_AOA_SOUNDBUS select SND_AOA_SOUNDBUS_I2S ---help--- This enables the layout-id fabric for the Apple Onboard Audio driver, the module holding it all together based on the device-tree's layout-id property. If you are unsure and have a later Apple machine, compile it as a module. config SND_AOA_SOUNDBUS tristate "Apple Soundbus support" select SND_PCM ---help--- This option enables the generic driver for the soundbus support on Apple machines. It is required for the sound bus implementations. config SND_AOA_SOUNDBUS_I2S tristate "I2S bus support" depends on SND_AOA_SOUNDBUS && PCI ---help--- This option enables support for Apple I2S busses. # ALSA ARM drivers menuconfig SND_ARM bool "ARM sound devices" depends on ARM default y help Support for sound devices specific to ARM architectures. Drivers that are implemented on ASoC can be found in "ALSA for SoC audio support" section. if SND_ARM config SND_ARMAACI tristate "ARM PrimeCell PL041 AC Link support" depends on ARM_AMBA select SND_PCM select SND_AC97_CODEC config SND_PXA2XX_PCM tristate select SND_PCM config SND_PXA2XX_LIB tristate select SND_AC97_CODEC if SND_PXA2XX_LIB_AC97 config SND_PXA2XX_LIB_AC97 bool config SND_PXA2XX_AC97 tristate "AC97 driver for the Intel PXA2xx chip" depends on ARCH_PXA select SND_PXA2XX_PCM select SND_AC97_CODEC select SND_PXA2XX_LIB select SND_PXA2XX_LIB_AC97 help Say Y or M if you want to support any AC97 codec attached to the PXA2xx AC97 interface. endif # SND_ARM menu "Atmel devices (AVR32 and AT91)" depends on AVR32 || ARCH_AT91 config SND_ATMEL_ABDAC tristate "Atmel Audio Bitstream DAC (ABDAC) driver" select SND_PCM depends on DW_DMAC && AVR32 help ALSA sound driver for the Atmel Audio Bitstream DAC (ABDAC). config SND_ATMEL_AC97C tristate "Atmel AC97 Controller (AC97C) driver" select SND_PCM select SND_AC97_CODEC depends on (DW_DMAC && AVR32) || ARCH_AT91 help ALSA sound driver for the Atmel AC97 controller. endmenu # ALSA soundcard-configuration config SND_TIMER tristate config SND_PCM tristate select SND_TIMER config SND_DMAENGINE_PCM tristate config SND_HWDEP tristate config SND_RAWMIDI tristate config SND_COMPRESS_OFFLOAD tristate # To be effective this also requires INPUT - users should say: # select SND_JACK if INPUT=y || INPUT=SND # to avoid having to force INPUT on. config SND_JACK bool config SND_SEQUENCER tristate "Sequencer support" select SND_TIMER help Say Y or M to enable MIDI sequencer and router support. This feature allows routing and enqueueing of MIDI events. Events can be processed at a given time. Many programs require this feature, so you should enable it unless you know what you're doing. config SND_SEQ_DUMMY tristate "Sequencer dummy client" depends on SND_SEQUENCER help Say Y here to enable the dummy sequencer client. This client is a simple MIDI-through client: all normal input events are redirected to the output port immediately. You don't need this unless you want to connect many MIDI devices or applications together. To compile this driver as a module, choose M here: the module will be called snd-seq-dummy. config SND_OSSEMUL select SOUND_OSS_CORE bool config SND_MIXER_OSS tristate "OSS Mixer API" select SND_OSSEMUL help To enable OSS mixer API emulation (/dev/mixer*), say Y here and read . Many programs still use the OSS API, so say Y. To compile this driver as a module, choose M here: the module will be called snd-mixer-oss. config SND_PCM_OSS tristate "OSS PCM (digital audio) API" select SND_OSSEMUL select SND_PCM help To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y here and read . Many programs still use the OSS API, so say Y. To compile this driver as a module, choose M here: the module will be called snd-pcm-oss. config SND_PCM_OSS_PLUGINS bool "OSS PCM (digital audio) API - Include plugin system" depends on SND_PCM_OSS default y help If you disable this option, the ALSA's OSS PCM API will not support conversion of channels, formats and rates. It will behave like most of new OSS/Free drivers in 2.4/2.6 kernels. config SND_SEQUENCER_OSS bool "OSS Sequencer API" depends on SND_SEQUENCER select SND_OSSEMUL help Say Y here to enable OSS sequencer emulation (both /dev/sequencer and /dev/music interfaces). Many programs still use the OSS API, so say Y. If you choose M in "Sequencer support" (SND_SEQUENCER), this will be compiled as a module. The module will be called snd-seq-oss. config SND_HRTIMER tristate "HR-timer backend support" depends on HIGH_RES_TIMERS select SND_TIMER help Say Y here to enable HR-timer backend for ALSA timer. ALSA uses the hrtimer as a precise timing source. The ALSA sequencer code also can use this timing source. To compile this driver as a module, choose M here: the module will be called snd-hrtimer. config SND_SEQ_HRTIMER_DEFAULT bool "Use HR-timer as default sequencer timer" depends on SND_HRTIMER && SND_SEQUENCER default y help Say Y here to use the HR-timer backend as the default sequencer timer. config SND_RTCTIMER tristate "RTC Timer support" depends on RTC select SND_TIMER help Say Y here to enable RTC timer support for ALSA. ALSA uses the RTC timer as a precise timing source and maps the RTC timer to ALSA's timer interface. The ALSA sequencer code also can use this timing source. To compile this driver as a module, choose M here: the module will be called snd-rtctimer. Note that this option is exclusive with the new RTC drivers (CONFIG_RTC_CLASS) since this requires the old API. config SND_SEQ_RTCTIMER_DEFAULT bool "Use RTC as default sequencer timer" depends on SND_RTCTIMER && SND_SEQUENCER depends on !SND_SEQ_HRTIMER_DEFAULT default y help Say Y here to use the RTC timer as the default sequencer timer. This is strongly recommended because it ensures precise MIDI timing even when the system timer runs at less than 1000 Hz. If in doubt, say Y. config SND_DYNAMIC_MINORS bool "Dynamic device file minor numbers" help If you say Y here, the minor numbers of ALSA device files in /dev/snd/ are allocated dynamically. This allows you to have more than 8 sound cards, but requires a dynamic device file system like udev. If you are unsure about this, say N here. config SND_MAX_CARDS int "Max number of sound cards" range 4 256 default 32 depends on SND_DYNAMIC_MINORS help Specify the max number of sound cards that can be assigned on a single machine. config SND_SUPPORT_OLD_API bool "Support old ALSA API" default y help Say Y here to support the obsolete ALSA PCM API (ver.0.9.0 rc3 or older). config SND_VERBOSE_PROCFS bool "Verbose procfs contents" depends on PROC_FS default y help Say Y here to include code for verbose procfs contents (provides useful information to developers when a problem occurs). On the other side, it makes the ALSA subsystem larger. config SND_VERBOSE_PRINTK bool "Verbose printk" help Say Y here to enable verbose log messages. These messages will help to identify source file and position containing printed messages. You don't need this unless you're debugging ALSA. config SND_DEBUG bool "Debug" help Say Y here to enable ALSA debug code. config SND_DEBUG_VERBOSE bool "More verbose debug" depends on SND_DEBUG help Say Y here to enable extra-verbose debugging messages. Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. So, say Y only if you are ready to be annoyed. config SND_PCM_XRUN_DEBUG bool "Enable PCM ring buffer overrun/underrun debugging" default n depends on SND_DEBUG && SND_VERBOSE_PROCFS help Say Y to enable the PCM ring buffer overrun/underrun debugging. It is usually not required, but if you have trouble with sound clicking when system is loaded, it may help to determine the process or driver which causes the scheduling gaps. config SND_VMASTER bool config SND_KCTL_JACK bool config SND_DMA_SGBUF def_bool y depends on X86 source "sound/core/seq/Kconfig" # define SND_XXX_SEQ to min(SND_SEQUENCER,SND_XXX) config SND_RAWMIDI_SEQ def_tristate SND_SEQUENCER && SND_RAWMIDI config SND_OPL3_LIB_SEQ def_tristate SND_SEQUENCER && SND_OPL3_LIB config SND_OPL4_LIB_SEQ def_tristate SND_SEQUENCER && SND_OPL4_LIB config SND_SBAWE_SEQ def_tristate SND_SEQUENCER && SND_SBAWE config SND_EMU10K1_SEQ def_tristate SND_SEQUENCER && SND_EMU10K1 config SND_MPU401_UART tristate select SND_RAWMIDI config SND_OPL3_LIB tristate select SND_TIMER select SND_HWDEP config SND_OPL4_LIB tristate select SND_TIMER select SND_HWDEP config SND_VX_LIB tristate select FW_LOADER select SND_HWDEP select SND_PCM config SND_AC97_CODEC tristate select SND_PCM select AC97_BUS select SND_VMASTER menuconfig SND_DRIVERS bool "Generic sound devices" default y help Support for generic sound devices. if SND_DRIVERS config SND_PCSP tristate "PC-Speaker support (READ HELP!)" depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS depends on INPUT select SND_PCM help If you don't have a sound card in your computer, you can include a driver for the PC speaker which allows it to act like a primitive sound card. This driver also replaces the pcspkr driver for beeps. You can compile this as a module which will be called snd-pcsp. WARNING: if you already have a soundcard, enabling this driver may lead to a problem. Namely, it may get loaded before the other sound driver of yours, making the pc-speaker a default sound device. Which is likely not what you want. To make this driver play nicely with other sound driver, you can add this in a configuration file under /etc/modprobe.d/ directory: options snd-pcsp index=2 You don't need this driver if you only want your pc-speaker to beep. You don't need this driver if you have a tablet piezo beeper in your PC instead of the real speaker. Say N if you have a sound card. Say M if you don't. Say Y only if you really know what you do. config SND_DUMMY tristate "Dummy (/dev/null) soundcard" select SND_PCM help Say Y here to include the dummy driver. This driver does nothing, but emulates various mixer controls and PCM devices. You don't need this unless you're testing the hardware support of programs using the ALSA API. To compile this driver as a module, choose M here: the module will be called snd-dummy. config SND_ALOOP tristate "Generic loopback driver (PCM)" select SND_PCM help Say 'Y' or 'M' to include support for the PCM loopback device. This module returns played samples back to the user space using the standard ALSA PCM device. The devices are routed 0->1 and 1->0, where first number is the playback PCM device and second number is the capture device. Module creates two PCM devices and configured number of substreams (see the pcm_substreams module parameter). The loopback device allows time sychronization with an external timing source using the time shift universal control (+-20% of system time). To compile this driver as a module, choose M here: the module will be called snd-aloop. config SND_VIRMIDI tristate "Virtual MIDI soundcard" depends on SND_SEQUENCER select SND_TIMER select SND_RAWMIDI help Say Y here to include the virtual MIDI driver. This driver allows to connect applications using raw MIDI devices to sequencer clients. If you don't know what MIDI is, say N here. To compile this driver as a module, choose M here: the module will be called snd-virmidi. config SND_MTPAV tristate "MOTU MidiTimePiece AV multiport MIDI" select SND_RAWMIDI help To use a MOTU MidiTimePiece AV multiport MIDI adapter connected to the parallel port, say Y here and make sure that the standard parallel port driver isn't used for the port. To compile this driver as a module, choose M here: the module will be called snd-mtpav. config SND_MTS64 tristate "ESI Miditerminal 4140 driver" depends on PARPORT select SND_RAWMIDI help The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with additional SMPTE Timecode capabilities for the parallel port. Say 'Y' to include support for this device. To compile this driver as a module, chose 'M' here: the module will be called snd-mts64. config SND_SERIAL_U16550 tristate "UART16550 serial MIDI driver" select SND_RAWMIDI help To include support for MIDI serial port interfaces, say Y here and read . This driver works with serial UARTs 16550 and better. This driver accesses the serial port hardware directly, so make sure that the standard serial driver isn't used or deactivated with setserial before loading this driver. To compile this driver as a module, choose M here: the module will be called snd-serial-u16550. config SND_MPU401 tristate "Generic MPU-401 UART driver" select SND_MPU401_UART help Say Y here to include support for MIDI ports compatible with the Roland MPU-401 interface in UART mode. To compile this driver as a module, choose M here: the module will be called snd-mpu401. config SND_PORTMAN2X4 tristate "Portman 2x4 driver" depends on PARPORT select SND_RAWMIDI help Say Y here to include support for Midiman Portman 2x4 parallel port MIDI device. To compile this driver as a module, choose M here: the module will be called snd-portman2x4. config SND_ML403_AC97CR tristate "Xilinx ML403 AC97 Controller Reference" depends on XILINX_VIRTEX select SND_AC97_CODEC help Say Y here to include support for the opb_ac97_controller_ref_v1_00_a ip core found in Xilinx's ML403 reference design. To compile this driver as a module, choose M here: the module will be called snd-ml403_ac97cr. config SND_AC97_POWER_SAVE bool "AC97 Power-Saving Mode" depends on SND_AC97_CODEC default n help Say Y here to enable the aggressive power-saving support of AC97 codecs. In this mode, the power-mode is dynamically controlled at each open/close. The mode is activated by passing 'power_save=X' to the snd-ac97-codec driver module, where 'X' is the time-out value, a nonnegative integer that specifies how many seconds of idle time the driver must count before it may put the AC97 into power-save mode; a value of 0 (zero) disables the use of this power-save mode. After the snd-ac97-codec driver module has been loaded, the 'power_save' parameter can be set via sysfs as follows: echo 10 > /sys/module/snd_ac97_codec/parameters/power_save In this case, the time-out is set to 10 seconds; setting the time-out to 1 second (the minimum activation value) isn't recommended because many applications try to reopen the device frequently. A value of 10 seconds would be a good choice for normal operations. See Documentation/sound/alsa/powersave.txt for more details. config SND_AC97_POWER_SAVE_DEFAULT int "Default time-out for AC97 power-save mode" depends on SND_AC97_POWER_SAVE default 0 help The default time-out value in seconds for AC97 automatic power-save mode. 0 means to disable the power-save mode. See SND_AC97_POWER_SAVE for more details. endif # SND_DRIVERS menuconfig SND_FIREWIRE bool "FireWire sound devices" depends on FIREWIRE default y help Support for IEEE-1394/FireWire/iLink sound devices. if SND_FIREWIRE && FIREWIRE config SND_FIREWIRE_LIB tristate depends on SND_PCM config SND_DICE tristate "DICE-based DACs (EXPERIMENTAL)" select SND_HWDEP select SND_PCM select SND_FIREWIRE_LIB help Say Y here to include support for many DACs based on the DICE chip family (DICE-II/Jr/Mini) from TC Applied Technologies. At the moment, this driver supports playback only. If you want to use devices that support capturing, use FFADO instead. To compile this driver as a module, choose M here: the module will be called snd-dice. config SND_FIREWIRE_SPEAKERS tristate "FireWire speakers" select SND_PCM select SND_FIREWIRE_LIB help Say Y here to include support for the Griffin FireWave Surround and the LaCie FireWire Speakers. To compile this driver as a module, choose M here: the module will be called snd-firewire-speakers. config SND_ISIGHT tristate "Apple iSight microphone" select SND_PCM select SND_FIREWIRE_LIB help Say Y here to include support for the front and rear microphones of the Apple iSight web camera. To compile this driver as a module, choose M here: the module will be called snd-isight. config SND_SCS1X tristate "Stanton Control System 1 MIDI" select SND_PCM select SND_RAWMIDI select SND_FIREWIRE_LIB help Say Y here to include support for the MIDI ports of the Stanton SCS.1d/SCS.1m DJ controllers. (SCS.1m audio is still handled by FFADO.) To compile this driver as a module, choose M here: the module will be called snd-scs1x. endif # SND_FIREWIRE # ALSA ISA drivers config SND_WSS_LIB tristate select SND_PCM config SND_SB_COMMON tristate config SND_SB8_DSP tristate select SND_PCM select SND_SB_COMMON config SND_SB16_DSP tristate select SND_PCM select SND_SB_COMMON menuconfig SND_ISA bool "ISA sound devices" depends on ISA && ISA_DMA_API default y help Support for sound devices connected via the ISA bus. if SND_ISA config SND_ADLIB tristate "AdLib FM card" select SND_OPL3_LIB help Say Y here to include support for AdLib FM cards. To compile this driver as a module, choose M here: the module will be called snd-adlib. config SND_AD1816A tristate "Analog Devices SoundPort AD1816A" depends on PNP select ISAPNP select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM help Say Y here to include support for Analog Devices SoundPort AD1816A or compatible sound chips. To compile this driver as a module, choose M here: the module will be called snd-ad1816a. config SND_AD1848 tristate "Generic AD1848/CS4248 driver" select SND_WSS_LIB help Say Y here to include support for AD1848 (Analog Devices) or CS4248 (Cirrus Logic - Crystal Semiconductors) chips. For newer chips from Cirrus Logic, use the CS4231 or CS4232+ drivers. To compile this driver as a module, choose M here: the module will be called snd-ad1848. config SND_ALS100 tristate "Diamond Tech. DT-019x and Avance Logic ALSxxx" depends on PNP select ISAPNP select SND_OPL3_LIB select SND_MPU401_UART select SND_SB16_DSP help Say Y here to include support for soundcards based on the Diamond Technologies DT-019X or Avance Logic chips: ALS007, ALS100, ALS110, ALS120 and ALS200 chips. To compile this driver as a module, choose M here: the module will be called snd-als100. config SND_AZT1605 tristate "Aztech AZT1605 Driver" depends on SND select SND_WSS_LIB select SND_MPU401_UART select SND_OPL3_LIB help Say Y here to include support for Aztech Sound Galaxy cards based on the AZT1605 chipset. To compile this driver as a module, choose M here: the module will be called snd-azt1605. config SND_AZT2316 tristate "Aztech AZT2316 Driver" depends on SND select SND_WSS_LIB select SND_MPU401_UART select SND_OPL3_LIB help Say Y here to include support for Aztech Sound Galaxy cards based on the AZT2316 chipset. To compile this driver as a module, choose M here: the module will be called snd-azt2316. config SND_AZT2320 tristate "Aztech Systems AZT2320" depends on PNP select ISAPNP select SND_OPL3_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for soundcards based on the Aztech Systems AZT2320 chip. To compile this driver as a module, choose M here: the module will be called snd-azt2320. config SND_CMI8328 tristate "C-Media CMI8328" select SND_WSS_LIB select SND_OPL3_LIB select SND_MPU401_UART help Say Y here to include support for soundcards based on the C-Media CMI8328 chip. To compile this driver as a module, choose M here: the module will be called snd-cmi8328. config SND_CMI8330 tristate "C-Media CMI8330" select SND_WSS_LIB select SND_SB16_DSP select SND_OPL3_LIB select SND_MPU401_UART help Say Y here to include support for soundcards based on the C-Media CMI8330 chip. To compile this driver as a module, choose M here: the module will be called snd-cmi8330. config SND_CS4231 tristate "Generic Cirrus Logic CS4231 driver" select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for CS4231 chips from Cirrus Logic - Crystal Semiconductors. To compile this driver as a module, choose M here: the module will be called snd-cs4231. config SND_CS4236 tristate "Generic Cirrus Logic CS4232/CS4236+ driver" select SND_OPL3_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y to include support for CS4232,CS4235,CS4236,CS4237B, CS4238B,CS4239 chips from Cirrus Logic - Crystal Semiconductors. To compile this driver as a module, choose M here: the module will be called snd-cs4236. config SND_ES1688 tristate "Generic ESS ES688/ES1688 and ES968 PnP driver" select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM help Say Y here to include support for ESS AudioDrive ES688 or ES1688 chips. Also, this module support cards with ES968 PnP chip. To compile this driver as a module, choose M here: the module will be called snd-es1688. config SND_ES18XX tristate "Generic ESS ES18xx driver" select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM help Say Y here to include support for ESS AudioDrive ES18xx chips. To compile this driver as a module, choose M here: the module will be called snd-es18xx. config SND_SC6000 tristate "Gallant SC-6000/6600/7000 and Audio Excel DSP 16" depends on HAS_IOPORT select SND_WSS_LIB select SND_OPL3_LIB select SND_MPU401_UART help Say Y here to include support for Gallant SC-6000, SC-6600, SC-7000 cards and clones: Audio Excel DSP 16 and Zoltrix AV302. These cards are based on CompuMedia ASC-9308 or ASC-9408 chips. To compile this driver as a module, choose M here: the module will be called snd-sc6000. config SND_GUSCLASSIC tristate "Gravis UltraSound Classic" select SND_RAWMIDI select SND_PCM help Say Y here to include support for Gravis UltraSound Classic soundcards. To compile this driver as a module, choose M here: the module will be called snd-gusclassic. config SND_GUSEXTREME tristate "Gravis UltraSound Extreme" select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM help Say Y here to include support for Gravis UltraSound Extreme soundcards. To compile this driver as a module, choose M here: the module will be called snd-gusextreme. config SND_GUSMAX tristate "Gravis UltraSound MAX" select SND_RAWMIDI select SND_WSS_LIB help Say Y here to include support for Gravis UltraSound MAX soundcards. To compile this driver as a module, choose M here: the module will be called snd-gusmax. config SND_INTERWAVE tristate "AMD InterWave, Gravis UltraSound PnP" depends on PNP select SND_RAWMIDI select SND_WSS_LIB help Say Y here to include support for AMD InterWave based soundcards (Gravis UltraSound Plug & Play, STB SoundRage32, MED3210, Dynasonic Pro, Panasonic PCA761AW). To compile this driver as a module, choose M here: the module will be called snd-interwave. config SND_INTERWAVE_STB tristate "AMD InterWave + TEA6330T (UltraSound 32-Pro)" depends on PNP select SND_RAWMIDI select SND_WSS_LIB help Say Y here to include support for AMD InterWave based soundcards with a TEA6330T bass and treble regulator (UltraSound 32-Pro). To compile this driver as a module, choose M here: the module will be called snd-interwave-stb. config SND_JAZZ16 tristate "Media Vision Jazz16 card and compatibles" select SND_OPL3_LIB select SND_MPU401_UART select SND_SB8_DSP help Say Y here to include support for soundcards based on the Media Vision Jazz16 chipset: digital chip MVD1216 (Jazz16), codec MVA416 (CS4216) and mixer MVA514 (ICS2514). Media Vision's Jazz16 cards were sold under names Pro Sonic 16, Premium 3-D and Pro 3-D. There were also OEMs cards with the Jazz16 chipset. To compile this driver as a module, choose M here: the module will be called snd-jazz16. config SND_OPL3SA2 tristate "Yamaha OPL3-SA2/SA3" select SND_OPL3_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for Yamaha OPL3-SA2 and OPL3-SA3 chips. To compile this driver as a module, choose M here: the module will be called snd-opl3sa2. config SND_OPTI92X_AD1848 tristate "OPTi 82C92x - AD1848" select SND_OPL3_LIB select SND_OPL4_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for soundcards based on Opti 82C92x or OTI-601 chips and using an AD1848 codec. To compile this driver as a module, choose M here: the module will be called snd-opti92x-ad1848. config SND_OPTI92X_CS4231 tristate "OPTi 82C92x - CS4231" select SND_OPL3_LIB select SND_OPL4_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for soundcards based on Opti 82C92x chips and using a CS4231 codec. To compile this driver as a module, choose M here: the module will be called snd-opti92x-cs4231. config SND_OPTI93X tristate "OPTi 82C93x" select SND_OPL3_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for soundcards based on Opti 82C93x chips. To compile this driver as a module, choose M here: the module will be called snd-opti93x. config SND_MIRO tristate "Miro miroSOUND PCM1pro/PCM12/PCM20radio driver" select SND_OPL4_LIB select SND_WSS_LIB select SND_MPU401_UART select SND_PCM help Say 'Y' or 'M' to include support for Miro miroSOUND PCM1 pro, miroSOUND PCM12 and miroSOUND PCM20 Radio soundcards. To compile this driver as a module, choose M here: the module will be called snd-miro. config SND_SB8 tristate "Sound Blaster 1.0/2.0/Pro (8-bit)" select SND_OPL3_LIB select SND_RAWMIDI select SND_SB8_DSP help Say Y here to include support for Creative Sound Blaster 1.0/ 2.0/Pro (8-bit) or 100% compatible soundcards. To compile this driver as a module, choose M here: the module will be called snd-sb8. config SND_SB16 tristate "Sound Blaster 16 (PnP)" select SND_OPL3_LIB select SND_MPU401_UART select SND_SB16_DSP help Say Y here to include support for Sound Blaster 16 soundcards (including the Plug and Play version). To compile this driver as a module, choose M here: the module will be called snd-sb16. config SND_SBAWE tristate "Sound Blaster AWE (32,64) (PnP)" select SND_OPL3_LIB select SND_MPU401_UART select SND_SB16_DSP help Say Y here to include support for Sound Blaster AWE soundcards (including the Plug and Play version). To compile this driver as a module, choose M here: the module will be called snd-sbawe. config SND_SB16_CSP bool "Sound Blaster 16/AWE CSP support" depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC) select FW_LOADER help Say Y here to include support for the CSP core. This special coprocessor can do variable tasks like various compression and decompression algorithms. config SND_SSCAPE tristate "Ensoniq SoundScape driver" select SND_MPU401_UART select SND_WSS_LIB select FW_LOADER help Say Y here to include support for Ensoniq SoundScape and Ensoniq OEM soundcards. The PCM audio is supported on SoundScape Classic, Elite, PnP and VIVO cards. The supported OEM cards are SPEA Media FX and Reveal SC-600. The MIDI support is very experimental and requires binary firmware files called "scope.cod" and "sndscape.co?" where the ? is digit 0, 1, 2, 3 or 4. The firmware files can be found in DOS or Windows driver packages. One has to put the firmware files into the /lib/firmware directory. To compile this driver as a module, choose M here: the module will be called snd-sscape. config SND_WAVEFRONT tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" select FW_LOADER select SND_OPL3_LIB select SND_MPU401_UART select SND_WSS_LIB help Say Y here to include support for Turtle Beach Maui, Tropez and Tropez+ soundcards based on the Wavefront chip. To compile this driver as a module, choose M here: the module will be called snd-wavefront. config SND_MSND_PINNACLE tristate "Turtle Beach MultiSound Pinnacle/Fiji driver" depends on X86 select FW_LOADER select SND_MPU401_UART select SND_PCM help Say Y to include support for Turtle Beach MultiSound Pinnacle/ Fiji soundcards. To compile this driver as a module, choose M here: the module will be called snd-msnd-pinnacle. config SND_MSND_CLASSIC tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" depends on X86 select FW_LOADER select SND_MPU401_UART select SND_PCM help Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or Monterey (not for the Pinnacle or Fiji). See for important information about this driver. Note that it has been discontinued, but the Voyetra Turtle Beach knowledge base entry for it is still available at . To compile this driver as a module, choose M here: the module will be called snd-msnd-classic. endif # SND_ISA # ALSA MIPS drivers menuconfig SND_MIPS bool "MIPS sound devices" depends on MIPS default y help Support for sound devices of MIPS architectures. if SND_MIPS config SND_SGI_O2 tristate "SGI O2 Audio" depends on SGI_IP32 help Sound support for the SGI O2 Workstation. config SND_SGI_HAL2 tristate "SGI HAL2 Audio" depends on SGI_HAS_HAL2 help Sound support for the SGI Indy and Indigo2 Workstation. config SND_AU1X00 tristate "Au1x00 AC97 Port Driver (DEPRECATED)" depends on MIPS_ALCHEMY select SND_PCM select SND_AC97_CODEC help ALSA Sound driver for the Au1x00's AC97 port. Newer drivers for ASoC are available, please do not use this driver as it will be removed in the future. endif # SND_MIPS # 18 Apr 1998, Michael Elizabeth Chastain, # More hacking for modularisation. # # Prompt user for primary drivers. config SOUND_BCM_CS4297A tristate "Crystal Sound CS4297a (for Swarm)" depends on SIBYTE_SWARM help The BCM91250A has a Crystal CS4297a on synchronous serial port B (in addition to the DB-9 serial port). Say Y or M here to enable the sound chip instead of the UART. Also note that CONFIG_KGDB should not be enabled at the same time, since it also attempts to use this UART port. config SOUND_VWSND tristate "SGI Visual Workstation Sound" depends on X86_VISWS help Say Y or M if you have an SGI Visual Workstation and you want to be able to use its on-board audio. Read for more info on this driver's capabilities. config SOUND_MSNDCLAS tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" depends on (m || !STANDALONE) && ISA help Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or Monterey (not for the Pinnacle or Fiji). See for important information about this driver. Note that it has been discontinued, but the Voyetra Turtle Beach knowledge base entry for it is still available at . comment "Compiled-in MSND Classic support requires firmware during compilation." depends on SOUND_PRIME && SOUND_MSNDCLAS=y config MSNDCLAS_HAVE_BOOT bool depends on SOUND_MSNDCLAS=y && !STANDALONE default y config MSNDCLAS_INIT_FILE string "Full pathname of MSNDINIT.BIN firmware file" depends on SOUND_MSNDCLAS default "/etc/sound/msndinit.bin" help The MultiSound cards have two firmware files which are required for operation, and are not currently included. These files can be obtained from Turtle Beach. See for information on how to obtain this. config MSNDCLAS_PERM_FILE string "Full pathname of MSNDPERM.BIN firmware file" depends on SOUND_MSNDCLAS default "/etc/sound/msndperm.bin" help The MultiSound cards have two firmware files which are required for operation, and are not currently included. These files can be obtained from Turtle Beach. See for information on how to obtain this. config MSNDCLAS_IRQ int "MSND Classic IRQ 5, 7, 9, 10, 11, 12" depends on SOUND_MSNDCLAS=y default "5" help Interrupt Request line for the MultiSound Classic and related cards. config MSNDCLAS_MEM hex "MSND Classic memory B0000, C8000, D0000, D8000, E0000, E8000" depends on SOUND_MSNDCLAS=y default "D0000" help Memory-mapped I/O base address for the MultiSound Classic and related cards. config MSNDCLAS_IO hex "MSND Classic I/O 210, 220, 230, 240, 250, 260, 290, 3E0" depends on SOUND_MSNDCLAS=y default "290" help I/O port address for the MultiSound Classic and related cards. config SOUND_MSNDPIN tristate "Support for Turtle Beach MultiSound Pinnacle, Fiji" depends on (m || !STANDALONE) && ISA help Say M here if you have a Turtle Beach MultiSound Pinnacle or Fiji. See for important information about this driver. Note that it has been discontinued, but the Voyetra Turtle Beach knowledge base entry for it is still available at . comment "Compiled-in MSND Pinnacle support requires firmware during compilation." depends on SOUND_PRIME && SOUND_MSNDPIN=y config MSNDPIN_HAVE_BOOT bool depends on SOUND_MSNDPIN=y default y config MSNDPIN_INIT_FILE string "Full pathname of PNDSPINI.BIN firmware file" depends on SOUND_MSNDPIN default "/etc/sound/pndspini.bin" help The MultiSound cards have two firmware files which are required for operation, and are not currently included. These files can be obtained from Turtle Beach. See for information on how to obtain this. config MSNDPIN_PERM_FILE string "Full pathname of PNDSPERM.BIN firmware file" depends on SOUND_MSNDPIN default "/etc/sound/pndsperm.bin" help The MultiSound cards have two firmware files which are required for operation, and are not currently included. These files can be obtained from Turtle Beach. See for information on how to obtain this. config MSNDPIN_IRQ int "MSND Pinnacle IRQ 5, 7, 9, 10, 11, 12" depends on SOUND_MSNDPIN=y default "5" help Interrupt request line for the primary synthesizer on MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_MEM hex "MSND Pinnacle memory B0000, C8000, D0000, D8000, E0000, E8000" depends on SOUND_MSNDPIN=y default "D0000" help Memory-mapped I/O base address for the primary synthesizer on MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_IO hex "MSND Pinnacle I/O 210, 220, 230, 240, 250, 260, 290, 3E0" depends on SOUND_MSNDPIN=y default "290" help Memory-mapped I/O base address for the primary synthesizer on MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_DIGITAL bool "MSND Pinnacle has S/PDIF I/O" depends on SOUND_MSNDPIN=y help If you have the S/PDIF daughter board for the Pinnacle or Fiji, answer Y here; otherwise, say N. If you have this, you will be able to play and record from the S/PDIF port (digital signal). See for information on how to make use of this capability. config MSNDPIN_NONPNP bool "MSND Pinnacle non-PnP Mode" depends on SOUND_MSNDPIN=y help The Pinnacle and Fiji card resources can be configured either with PnP, or through a configuration port. Say Y here if your card is NOT in PnP mode. For the Pinnacle, configuration in non-PnP mode allows use of the IDE and joystick peripherals on the card as well; these do not show up when the card is in PnP mode. Specifying zero for any resource of a device will disable the device. If you are running the card in PnP mode, you must say N here and use isapnptools to configure the card's resources. comment "MSND Pinnacle DSP section will be configured to above parameters." depends on SOUND_MSNDPIN=y && MSNDPIN_NONPNP config MSNDPIN_CFG hex "MSND Pinnacle config port 250,260,270" depends on MSNDPIN_NONPNP default "250" help This is the port which the Pinnacle and Fiji uses to configure the card's resources when not in PnP mode. If your card is in PnP mode, then be sure to say N to the previous option, "MSND Pinnacle Non-PnP Mode". comment "Pinnacle-specific Device Configuration (0 disables)" depends on SOUND_MSNDPIN=y && MSNDPIN_NONPNP config MSNDPIN_MPU_IO hex "MSND Pinnacle MPU I/O (e.g. 330)" depends on MSNDPIN_NONPNP default "0" help Memory-mapped I/O base address for the Kurzweil daughterboard synthesizer on MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_MPU_IRQ int "MSND Pinnacle MPU IRQ (e.g. 9)" depends on MSNDPIN_NONPNP default "0" help Interrupt request number for the Kurzweil daughterboard synthesizer on MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_IDE_IO0 hex "MSND Pinnacle IDE I/O 0 (e.g. 170)" depends on MSNDPIN_NONPNP default "0" help CD-ROM drive 0 memory-mapped I/O base address for the MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_IDE_IO1 hex "MSND Pinnacle IDE I/O 1 (e.g. 376)" depends on MSNDPIN_NONPNP default "0" help CD-ROM drive 1 memory-mapped I/O base address for the MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_IDE_IRQ int "MSND Pinnacle IDE IRQ (e.g. 15)" depends on MSNDPIN_NONPNP default "0" help Interrupt request number for the IDE CD-ROM interface on the MultiSound Pinnacle and Fiji sound cards. config MSNDPIN_JOYSTICK_IO hex "MSND Pinnacle joystick I/O (e.g. 200)" depends on MSNDPIN_NONPNP default "0" help Memory-mapped I/O base address for the joystick port on MultiSound Pinnacle and Fiji sound cards. config MSND_FIFOSIZE int "MSND buffer size (kB)" depends on SOUND_MSNDPIN=y || SOUND_MSNDCLAS=y default "128" help Configures the size of each audio buffer, in kilobytes, for recording and playing in the MultiSound drivers (both the Classic and Pinnacle). Larger values reduce the chance of data overruns at the expense of overall latency. If unsure, use the default. menuconfig SOUND_OSS tristate "OSS sound modules" depends on ISA_DMA_API && VIRT_TO_BUS depends on !GENERIC_ISA_DMA_SUPPORT_BROKEN help OSS is the Open Sound System suite of sound card drivers. They make sound programming easier since they provide a common API. Say Y or M here (the module will be called sound) if you haven't found a driver for your sound card above, then pick your driver from the list below. if SOUND_OSS config SOUND_TRACEINIT bool "Verbose initialisation" help Verbose soundcard initialization -- affects the format of autoprobe and initialization messages at boot time. config SOUND_DMAP bool "Persistent DMA buffers" ---help--- Linux can often have problems allocating DMA buffers for ISA sound cards on machines with more than 16MB of RAM. This is because ISA DMA buffers must exist below the 16MB boundary and it is quite possible that a large enough free block in this region cannot be found after the machine has been running for a while. If you say Y here the DMA buffers (64Kb) will be allocated at boot time and kept until the shutdown. This option is only useful if you said Y to "OSS sound modules", above. If you said M to "OSS sound modules" then you can get the persistent DMA buffer functionality by passing the command-line argument "dmabuf=1" to the sound module. Say Y unless you have 16MB or more RAM or a PCI sound card. config SOUND_VMIDI tristate "Loopback MIDI device support" help Support for MIDI loopback on port 1 or 2. config SOUND_TRIX tristate "MediaTrix AudioTrix Pro support" help Answer Y if you have the AudioTriX Pro sound card manufactured by MediaTrix. config TRIX_HAVE_BOOT bool "Have TRXPRO.HEX firmware file" depends on SOUND_TRIX=y && !STANDALONE help The MediaTrix AudioTrix Pro has an on-board microcontroller which needs to be initialized by downloading the code from the file TRXPRO.HEX in the DOS driver directory. If you don't have the TRXPRO.HEX file handy you may skip this step. However, the SB and MPU-401 modes of AudioTrix Pro will not work without this file! config TRIX_BOOT_FILE string "Full pathname of TRXPRO.HEX firmware file" depends on TRIX_HAVE_BOOT default "/etc/sound/trxpro.hex" help Enter the full pathname of your TRXPRO.HEX file, starting from /. config SOUND_MSS tristate "Microsoft Sound System support" ---help--- Again think carefully before answering Y to this question. It's safe to answer Y if you have the original Windows Sound System card made by Microsoft or Aztech SG 16 Pro (or NX16 Pro). Also you may say Y in case your card is NOT among these: ATI Stereo F/X, AdLib, Audio Excell DSP16, Cardinal DSP16, Ensoniq SoundScape (and compatibles made by Reveal and Spea), Gravis Ultrasound, Gravis Ultrasound ACE, Gravis Ultrasound Max, Gravis Ultrasound with 16 bit option, Logitech Sound Man 16, Logitech SoundMan Games, Logitech SoundMan Wave, MAD16 Pro (OPTi 82C929), Media Vision Jazz16, MediaTriX AudioTriX Pro, Microsoft Windows Sound System (MSS/WSS), Mozart (OAK OTI-601), Orchid SW32, Personal Sound System (PSS), Pro Audio Spectrum 16, Pro Audio Studio 16, Pro Sonic 16, Roland MPU-401 MIDI interface, Sound Blaster 1.0, Sound Blaster 16, Sound Blaster 16ASP, Sound Blaster 2.0, Sound Blaster AWE32, Sound Blaster Pro, TI TM4000M notebook, ThunderBoard, Turtle Beach Tropez, Yamaha FM synthesizers (OPL2, OPL3 and OPL4), 6850 UART MIDI Interface. For cards having native support in VoxWare, consult the card specific instructions in . Some drivers have their own MSS support and saying Y to this option will cause a conflict. If you compile the driver into the kernel, you have to add "ad1848=,,,[,]" to the kernel command line. config SOUND_MPU401 tristate "MPU-401 support (NOT for SB16)" ---help--- Be careful with this question. The MPU401 interface is supported by all sound cards. However, some natively supported cards have their own driver for MPU401. Enabling this MPU401 option with these cards will cause a conflict. Also, enabling MPU401 on a system that doesn't really have a MPU401 could cause some trouble. If your card was in the list of supported cards, look at the card specific instructions in the file. It is safe to answer Y if you have a true MPU401 MIDI interface card. If you compile the driver into the kernel, you have to add "mpu401=," to the kernel command line. config SOUND_PAS tristate "ProAudioSpectrum 16 support" ---help--- Answer Y only if you have a Pro Audio Spectrum 16, ProAudio Studio 16 or Logitech SoundMan 16 sound card. Answer N if you have some other card made by Media Vision or Logitech since those are not PAS16 compatible. Please read . It is not necessary to add Sound Blaster support separately; it is included in PAS support. If you compile the driver into the kernel, you have to add "pas2=,,,,,,, to the kernel command line. config PAS_JOYSTICK bool "Enable PAS16 joystick port" depends on SOUND_PAS=y help Say Y here to enable the Pro Audio Spectrum 16's auxiliary joystick port. config SOUND_PSS tristate "PSS (AD1848, ADSP-2115, ESC614) support" help Answer Y or M if you have an Orchid SW32, Cardinal DSP16, Beethoven ADSP-16 or some other card based on the PSS chipset (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP). For more information on how to compile it into the kernel or as a module see the file . If you compile the driver into the kernel, you have to add "pss=,,,,," to the kernel command line. config PSS_MIXER bool "Enable PSS mixer (Beethoven ADSP-16 and other compatible)" depends on SOUND_PSS help Answer Y for Beethoven ADSP-16. You may try to say Y also for other cards if they have master volume, bass, treble, and you can't control it under Linux. If you answer N for Beethoven ADSP-16, you can't control master volume, bass, treble and synth volume. If you said M to "PSS support" above, you may enable or disable this PSS mixer with the module parameter pss_mixer. For more information see the file . config PSS_HAVE_BOOT bool "Have DSPxxx.LD firmware file" depends on SOUND_PSS && !STANDALONE help If you have the DSPxxx.LD file or SYNTH.LD file for you card, say Y to include this file. Without this file the synth device (OPL) may not work. config PSS_BOOT_FILE string "Full pathname of DSPxxx.LD firmware file" depends on PSS_HAVE_BOOT default "/etc/sound/dsp001.ld" help Enter the full pathname of your DSPxxx.LD file or SYNTH.LD file, starting from /. config SOUND_SB tristate "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support" ---help--- Answer Y if you have an original Sound Blaster card made by Creative Labs or a 100% hardware compatible clone (like the Thunderboard or SM Games). For an unknown card you may answer Y if the card claims to be Sound Blaster-compatible. Please read the file . You should also say Y here for cards based on the Avance Logic ALS-007 and ALS-1X0 chips (read ) and for cards based on ESS chips (read and ). If you have an IBM Mwave card, say Y here and read . If you compile the driver into the kernel and don't want to use isapnp, you have to add "sb=,,," to the kernel command line. You can say M here to compile this driver as a module; the module is called sb. config SOUND_YM3812 tristate "Yamaha FM synthesizer (YM3812/OPL-3) support" ---help--- Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4). Answering Y is usually a safe and recommended choice, however some cards may have software (TSR) FM emulation. Enabling FM support with these cards may cause trouble (I don't currently know of any such cards, however). Please read the file if your card has an OPL3 chip. If you compile the driver into the kernel, you have to add "opl3=" to the kernel command line. If unsure, say Y. config SOUND_UART6850 tristate "6850 UART support" help This option enables support for MIDI interfaces based on the 6850 UART chip. This interface is rarely found on sound cards. It's safe to answer N to this question. If you compile the driver into the kernel, you have to add "uart6850=," to the kernel command line. config SOUND_AEDSP16 tristate "Gallant Audio Cards (SC-6000 and SC-6600 based)" ---help--- Answer Y if you have a Gallant's Audio Excel DSP 16 card. This driver supports Audio Excel DSP 16 but not the III nor PnP versions of this card. The Gallant's Audio Excel DSP 16 card can emulate either an SBPro or a Microsoft Sound System card, so you should have said Y to either "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support" or "Microsoft Sound System support", above, and you need to answer the "MSS emulation" and "SBPro emulation" questions below accordingly. You should say Y to one and only one of these two questions. Read the file and the head of as well as to get more information about this driver and its configuration. config SC6600 bool "SC-6600 based audio cards (new Audio Excel DSP 16)" depends on SOUND_AEDSP16 help The SC6600 is the new version of DSP mounted on the Audio Excel DSP 16 cards. Find in the manual the FCC ID of your audio card and answer Y if you have an SC6600 DSP. config SC6600_JOY bool "Activate SC-6600 Joystick Interface" depends on SC6600 help Say Y here in order to use the joystick interface of the Audio Excel DSP 16 card. config SC6600_CDROM int "SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)" depends on SC6600 default "4" help This is used to activate the CD-ROM interface of the Audio Excel DSP 16 card. Enter: 0 for Sony, 1 for Panasonic, 2 for IDE, 4 for no CD-ROM present. config SC6600_CDROMBASE hex "SC-6600 CDROM Interface I/O Address" depends on SC6600 default "0" help Base I/O port address for the CD-ROM interface of the Audio Excel DSP 16 card. config SOUND_VIDC tristate "VIDC 16-bit sound" depends on ARM && ARCH_ACORN help 16-bit support for the VIDC onboard sound hardware found on Acorn machines. config SOUND_WAVEARTIST tristate "Netwinder WaveArtist" depends on ARM && ARCH_NETWINDER help Say Y here to include support for the Rockwell WaveArtist sound system. This driver is mainly for the NetWinder. config SOUND_KAHLUA tristate "XpressAudio Sound Blaster emulation" depends on SOUND_SB endif # SOUND_OSS config DMASOUND_ATARI tristate "Atari DMA sound support" depends on ATARI && SOUND select DMASOUND help If you want to use the internal audio of your Atari in Linux, answer Y to this question. This will provide a Sun-like /dev/audio, compatible with the Linux/i386 sound system. Otherwise, say N. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read . config DMASOUND_PAULA tristate "Amiga DMA sound support" depends on AMIGA && SOUND select DMASOUND help If you want to use the internal audio of your Amiga in Linux, answer Y to this question. This will provide a Sun-like /dev/audio, compatible with the Linux/i386 sound system. Otherwise, say N. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read . config DMASOUND_Q40 tristate "Q40 sound support" depends on Q40 && SOUND select DMASOUND help If you want to use the internal audio of your Q40 in Linux, answer Y to this question. This will provide a Sun-like /dev/audio, compatible with the Linux/i386 sound system. Otherwise, say N. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). If you want to compile it as a module, say M here and read . config DMASOUND tristate select SOUND_OSS_CORE # ALSA PA-RISC drivers menuconfig SND_GSC bool "GSC sound devices" depends on GSC default y help Support for GSC sound devices on PA-RISC architectures. if SND_GSC config SND_HARMONY tristate "Harmony/Vivace sound chip" select SND_PCM help Say 'Y' or 'M' to include support for the Harmony/Vivace sound chip found in most GSC-based PA-RISC workstations. It's frequently provided as part of the Lasi multi-function IC. endif # SND_GSC # ALSA PCI drivers menuconfig SND_PCI bool "PCI sound devices" depends on PCI default y help Support for sound devices connected via the PCI bus. if SND_PCI config SND_AD1889 tristate "Analog Devices AD1889" select SND_AC97_CODEC help Say Y here to include support for the integrated AC97 sound device found in particular on the Hewlett-Packard [BCJ]-xxx0 class PA-RISC workstations, using the AD1819 codec. To compile this as a module, choose M here: the module will be called snd-ad1889. config SND_ALS300 tristate "Avance Logic ALS300/ALS300+" select SND_PCM select SND_AC97_CODEC select SND_OPL3_LIB select ZONE_DMA help Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+ To compile this driver as a module, choose M here: the module will be called snd-als300 config SND_ALS4000 tristate "Avance Logic ALS4000" depends on ISA_DMA_API select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM select SND_SB_COMMON help Say Y here to include support for soundcards based on Avance Logic ALS4000 chips. To compile this driver as a module, choose M here: the module will be called snd-als4000. config SND_ALI5451 tristate "ALi M5451 PCI Audio Controller" select SND_MPU401_UART select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for the integrated AC97 sound device on motherboards using the ALi M5451 Audio Controller (M1535/M1535D/M1535+/M1535D+ south bridges). Newer chipsets use the "Intel/SiS/nVidia/AMD/ALi AC97 Controller" driver. To compile this driver as a module, choose M here: the module will be called snd-ali5451. config SND_ASIHPI tristate "AudioScience ASIxxxx" depends on X86 select FW_LOADER select SND_PCM select SND_HWDEP help Say Y here to include support for AudioScience ASI sound cards. To compile this driver as a module, choose M here: the module will be called snd-asihpi. config SND_ATIIXP tristate "ATI IXP AC97 Controller" select SND_AC97_CODEC help Say Y here to include support for the integrated AC97 sound device on motherboards with ATI chipsets (ATI IXP 150/200/250/ 300/400). To compile this driver as a module, choose M here: the module will be called snd-atiixp. config SND_ATIIXP_MODEM tristate "ATI IXP Modem" select SND_AC97_CODEC help Say Y here to include support for the integrated MC97 modem on motherboards with ATI chipsets (ATI IXP 150/200/250). To compile this driver as a module, choose M here: the module will be called snd-atiixp-modem. config SND_AU8810 tristate "Aureal Advantage" select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for Aureal Advantage soundcards. Supported features: Hardware Mixer, SRC, EQ and SPDIF output. 3D support code is in place, but not yet useable. For more info, email the ALSA developer list, or . To compile this driver as a module, choose M here: the module will be called snd-au8810. config SND_AU8820 tristate "Aureal Vortex" select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for Aureal Vortex soundcards. Supported features: Hardware Mixer and SRC. For more info, email the ALSA developer list, or . To compile this driver as a module, choose M here: the module will be called snd-au8820. config SND_AU8830 tristate "Aureal Vortex 2" select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for Aureal Vortex 2 soundcards. Supported features: Hardware Mixer, SRC, EQ and SPDIF output. 3D support code is in place, but not yet useable. For more info, email the ALSA developer list, or . To compile this driver as a module, choose M here: the module will be called snd-au8830. config SND_AW2 tristate "Emagic Audiowerk 2" help Say Y here to include support for Emagic Audiowerk 2 soundcards. Supported features: Analog and SPDIF output. Analog or SPDIF input. Note: Switch between analog and digital input does not always work. It can produce continuous noise. The workaround is to switch again (and again) between digital and analog input until it works. To compile this driver as a module, choose M here: the module will be called snd-aw2. config SND_AZT3328 tristate "Aztech AZF3328 / PCI168" select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM select SND_RAWMIDI select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for Aztech AZF3328 (PCI168) soundcards. Supported features: AC97-"conformant" mixer, MPU401/OPL3, analog I/O (16bit/8bit, many sample rates [<= 66.2kHz], NO hardware mixing), Digital Enhanced Game Port, 1.024MHz multimedia sequencer timer, ext. codec (I2S port), onboard amp (4W/4Ohms/ch), suspend/resume. To compile this driver as a module, choose M here: the module will be called snd-azt3328. config SND_BT87X tristate "Bt87x Audio Capture" select SND_PCM help If you want to record audio from TV cards based on Brooktree Bt878/Bt879 chips, say Y here and read . To compile this driver as a module, choose M here: the module will be called snd-bt87x. config SND_BT87X_OVERCLOCK bool "Bt87x Audio overclocking" depends on SND_BT87X help Say Y here if 448000 Hz isn't enough for you and you want to record from the analog input with up to 1792000 Hz. Higher sample rates won't hurt your hardware, but audio quality may suffer. config SND_CA0106 tristate "SB Audigy LS / Live 24bit" select SND_AC97_CODEC select SND_RAWMIDI select SND_VMASTER help Say Y here to include support for the Sound Blaster Audigy LS and Live 24bit. To compile this driver as a module, choose M here: the module will be called snd-ca0106. config SND_CMIPCI tristate "C-Media 8338, 8738, 8768, 8770" select SND_OPL3_LIB select SND_MPU401_UART select SND_PCM help If you want to use soundcards based on C-Media CMI8338, CMI8738, CMI8768 or CMI8770 chips, say Y here and read . To compile this driver as a module, choose M here: the module will be called snd-cmipci. config SND_OXYGEN_LIB tristate config SND_OXYGEN tristate "C-Media 8786, 8787, 8788 (Oxygen)" select SND_OXYGEN_LIB select SND_PCM select SND_MPU401_UART help Say Y here to include support for sound cards based on the C-Media CMI8788 (Oxygen HD Audio) chip: * Asound A-8788 * Asus Xonar DG/DGX * AuzenTech X-Meridian * AuzenTech X-Meridian 2G * Bgears b-Enspirer * Club3D Theatron DTS * HT-Omega Claro (plus) * HT-Omega Claro halo (XT) * Kuroutoshikou CMI8787-HG2PCI * Razer Barracuda AC-1 * Sondigo Inferno * TempoTec/MediaTek HiFier Fantasia * TempoTec/MediaTek HiFier Serenade To compile this driver as a module, choose M here: the module will be called snd-oxygen. config SND_CS4281 tristate "Cirrus Logic (Sound Fusion) CS4281" select SND_OPL3_LIB select SND_RAWMIDI select SND_AC97_CODEC help Say Y here to include support for Cirrus Logic CS4281 chips. To compile this driver as a module, choose M here: the module will be called snd-cs4281. config SND_CS46XX tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" select SND_RAWMIDI select SND_AC97_CODEC help Say Y here to include support for Cirrus Logic CS4610/CS4612/ CS4614/CS4615/CS4622/CS4624/CS4630/CS4280 chips. To compile this driver as a module, choose M here: the module will be called snd-cs46xx. config SND_CS46XX_NEW_DSP bool "Cirrus Logic (Sound Fusion) New DSP support" depends on SND_CS46XX default y help Say Y here to use a new DSP image for SPDIF and dual codecs. This works better than the old code, so say Y. config SND_CS5530 tristate "CS5530 Audio" depends on ISA_DMA_API select SND_SB16_DSP help Say Y here to include support for audio on Cyrix/NatSemi CS5530 chips. To compile this driver as a module, choose M here: the module will be called snd-cs5530. config SND_CS5535AUDIO tristate "CS5535/CS5536 Audio" select SND_PCM select SND_AC97_CODEC help Say Y here to include support for audio on CS5535 chips. It is referred to as NS CS5535 IO or AMD CS5535 IO companion in various literature. This driver also supports the CS5536 audio device. However, for both chips, on certain boards, you may need to use ac97_quirk=hp_only if your board has physically mapped headphone out to master output. If that works for you, send lspci -vvv output to the mailing list so that your board can be identified in the quirks list. To compile this driver as a module, choose M here: the module will be called snd-cs5535audio. config SND_CTXFI tristate "Creative Sound Blaster X-Fi" select SND_PCM help If you want to use soundcards based on Creative Sound Blastr X-Fi boards with 20k1 or 20k2 chips, say Y here. To compile this driver as a module, choose M here: the module will be called snd-ctxfi. config SND_DARLA20 tristate "(Echoaudio) Darla20" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Darla. To compile this driver as a module, choose M here: the module will be called snd-darla20 config SND_GINA20 tristate "(Echoaudio) Gina20" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Gina. To compile this driver as a module, choose M here: the module will be called snd-gina20 config SND_LAYLA20 tristate "(Echoaudio) Layla20" select FW_LOADER select SND_RAWMIDI select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Layla. To compile this driver as a module, choose M here: the module will be called snd-layla20 config SND_DARLA24 tristate "(Echoaudio) Darla24" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Darla24. To compile this driver as a module, choose M here: the module will be called snd-darla24 config SND_GINA24 tristate "(Echoaudio) Gina24" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Gina24. To compile this driver as a module, choose M here: the module will be called snd-gina24 config SND_LAYLA24 tristate "(Echoaudio) Layla24" select FW_LOADER select SND_RAWMIDI select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Layla24. To compile this driver as a module, choose M here: the module will be called snd-layla24 config SND_MONA tristate "(Echoaudio) Mona" select FW_LOADER select SND_RAWMIDI select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Mona. To compile this driver as a module, choose M here: the module will be called snd-mona config SND_MIA tristate "(Echoaudio) Mia" select FW_LOADER select SND_RAWMIDI select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Mia and Mia-midi. To compile this driver as a module, choose M here: the module will be called snd-mia config SND_ECHO3G tristate "(Echoaudio) 3G cards" select FW_LOADER select SND_RAWMIDI select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Gina3G and Layla3G. To compile this driver as a module, choose M here: the module will be called snd-echo3g config SND_INDIGO tristate "(Echoaudio) Indigo" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Indigo. To compile this driver as a module, choose M here: the module will be called snd-indigo config SND_INDIGOIO tristate "(Echoaudio) Indigo IO" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Indigo IO. To compile this driver as a module, choose M here: the module will be called snd-indigoio config SND_INDIGODJ tristate "(Echoaudio) Indigo DJ" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Indigo DJ. To compile this driver as a module, choose M here: the module will be called snd-indigodj config SND_INDIGOIOX tristate "(Echoaudio) Indigo IOx" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Indigo IOx. To compile this driver as a module, choose M here: the module will be called snd-indigoiox config SND_INDIGODJX tristate "(Echoaudio) Indigo DJx" select FW_LOADER select SND_PCM help Say 'Y' or 'M' to include support for Echoaudio Indigo DJx. To compile this driver as a module, choose M here: the module will be called snd-indigodjx config SND_EMU10K1 tristate "Emu10k1 (SB Live!, Audigy, E-mu APS)" select FW_LOADER select SND_HWDEP select SND_RAWMIDI select SND_AC97_CODEC select ZONE_DMA help Say Y to include support for Sound Blaster PCI 512, Live!, Audigy and E-mu APS (partially supported) soundcards. The confusing multitude of mixer controls is documented in and . To compile this driver as a module, choose M here: the module will be called snd-emu10k1. config SND_EMU10K1X tristate "Emu10k1X (Dell OEM Version)" select SND_AC97_CODEC select SND_RAWMIDI select ZONE_DMA help Say Y here to include support for the Dell OEM version of the Sound Blaster Live!. To compile this driver as a module, choose M here: the module will be called snd-emu10k1x. config SND_ENS1370 tristate "(Creative) Ensoniq AudioPCI 1370" select SND_RAWMIDI select SND_PCM help Say Y here to include support for Ensoniq AudioPCI ES1370 chips. To compile this driver as a module, choose M here: the module will be called snd-ens1370. config SND_ENS1371 tristate "(Creative) Ensoniq AudioPCI 1371/1373" select SND_RAWMIDI select SND_AC97_CODEC help Say Y here to include support for Ensoniq AudioPCI ES1371 chips and Sound Blaster PCI 64 or 128 soundcards. To compile this driver as a module, choose M here: the module will be called snd-ens1371. config SND_ES1938 tristate "ESS ES1938/1946/1969 (Solo-1)" select SND_OPL3_LIB select SND_MPU401_UART select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for soundcards based on ESS Solo-1 (ES1938, ES1946, ES1969) chips. To compile this driver as a module, choose M here: the module will be called snd-es1938. config SND_ES1968 tristate "ESS ES1968/1978 (Maestro-1/2/2E)" select SND_MPU401_UART select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for soundcards based on ESS Maestro 1/2/2E chips. To compile this driver as a module, choose M here: the module will be called snd-es1968. config SND_ES1968_INPUT bool "Enable input device for es1968 volume buttons" depends on SND_ES1968 depends on INPUT=y || INPUT=SND_ES1968 help If you say Y here, you will get an input device which reports keypresses for the volume buttons connected to the es1968 chip. If you say N the buttons will directly control the master volume. It is recommended to say Y. config SND_ES1968_RADIO bool "Enable TEA5757 radio tuner support for es1968" depends on SND_ES1968 depends on MEDIA_RADIO_SUPPORT depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_ES1968 select RADIO_ADAPTERS select RADIO_TEA575X help Say Y here to include support for TEA5757 radio tuner integrated on some MediaForte cards (e.g. SF64-PCE2). config SND_FM801 tristate "ForteMedia FM801" select SND_OPL3_LIB select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for soundcards based on the ForteMedia FM801 chip. To compile this driver as a module, choose M here: the module will be called snd-fm801. config SND_FM801_TEA575X_BOOL bool "ForteMedia FM801 + TEA5757 tuner" depends on SND_FM801 depends on MEDIA_RADIO_SUPPORT depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_FM801 select RADIO_ADAPTERS select RADIO_TEA575X help Say Y here to include support for soundcards based on the ForteMedia FM801 chip with a TEA5757 tuner (MediaForte SF256-PCS, SF256-PCP and SF64-PCR) into the snd-fm801 driver. source "sound/pci/hda/Kconfig" config SND_HDSP tristate "RME Hammerfall DSP Audio" select FW_LOADER select SND_HWDEP select SND_RAWMIDI select SND_PCM help Say Y here to include support for RME Hammerfall DSP Audio soundcards. To compile this driver as a module, choose M here: the module will be called snd-hdsp. comment "Don't forget to add built-in firmwares for HDSP driver" depends on SND_HDSP=y config SND_HDSPM tristate "RME Hammerfall DSP MADI/RayDAT/AIO" select SND_HWDEP select SND_RAWMIDI select SND_PCM help Say Y here to include support for RME Hammerfall DSP MADI, RayDAT and AIO soundcards. To compile this driver as a module, choose M here: the module will be called snd-hdspm. config SND_ICE1712 tristate "ICEnsemble ICE1712 (Envy24)" select SND_MPU401_UART select SND_AC97_CODEC select BITREVERSE select ZONE_DMA help Say Y here to include support for soundcards based on the ICE1712 (Envy24) chip. Currently supported hardware is: M-Audio Delta 1010(LT), DiO 2496, 66, 44, 410, Audiophile 24/96; Digigram VX442; TerraTec EWX 24/96, EWS 88MT/D, DMX 6Fire, Phase 88; Hoontech SoundTrack DSP 24/Value/Media7.1; Event EZ8; Lionstracs Mediastation, Terrasoniq TS 88. To compile this driver as a module, choose M here: the module will be called snd-ice1712. config SND_ICE1724 tristate "ICE/VT1724/1720 (Envy24HT/PT)" select SND_RAWMIDI select SND_AC97_CODEC select SND_VMASTER help Say Y here to include support for soundcards based on ICE/VT1724/1720 (Envy24HT/PT) chips. Currently supported hardware is: AMP AUDIO2000; M-Audio Revolution 5.1, 7.1, Audiophile 192; TerraTec Aureon 5.1 Sky, 7.1 Space/Universe, Phase 22/28; Onkyo SE-90PCI, SE-200PCI; AudioTrak Prodigy 192, 7.1 (HIFI/LT/XT), HD2; Hercules Fortissimo IV; ESI Juli@; Pontis MS300; EGO-SYS WaveTerminal 192M; Albatron K8X800 Pro II; Chaintech ZNF3-150/250, 9CJS, AV-710; Shuttle SN25P; Philips PSC724 Ultimate Edge. To compile this driver as a module, choose M here: the module will be called snd-ice1724. config SND_INTEL8X0 tristate "Intel/SiS/nVidia/AMD/ALi AC97 Controller" select SND_AC97_CODEC help Say Y here to include support for the integrated AC97 sound device on motherboards with Intel/SiS/nVidia/AMD chipsets, or ALi chipsets using the M5455 Audio Controller. (There is a separate driver for ALi M5451 Audio Controllers.) To compile this driver as a module, choose M here: the module will be called snd-intel8x0. config SND_INTEL8X0M tristate "Intel/SiS/nVidia/AMD MC97 Modem" select SND_AC97_CODEC help Say Y here to include support for the integrated MC97 modem on motherboards with Intel/SiS/nVidia/AMD chipsets. To compile this driver as a module, choose M here: the module will be called snd-intel8x0m. config SND_KORG1212 tristate "Korg 1212 IO" select SND_PCM help Say Y here to include support for Korg 1212IO soundcards. To compile this driver as a module, choose M here: the module will be called snd-korg1212. config SND_LOLA tristate "Digigram Lola" select SND_PCM help Say Y to include support for Digigram Lola boards. To compile this driver as a module, choose M here: the module will be called snd-lola. config SND_LX6464ES tristate "Digigram LX6464ES" depends on HAS_IOPORT select SND_PCM help Say Y here to include support for Digigram LX6464ES boards. To compile this driver as a module, choose M here: the module will be called snd-lx6464es. config SND_MAESTRO3 tristate "ESS Allegro/Maestro3" select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for soundcards based on ESS Maestro 3 (Allegro) chips. To compile this driver as a module, choose M here: the module will be called snd-maestro3. config SND_MAESTRO3_INPUT bool "Enable input device for maestro3 volume buttons" depends on SND_MAESTRO3 depends on INPUT=y || INPUT=SND_MAESTRO3 help If you say Y here, you will get an input device which reports keypresses for the volume buttons connected to the maestro3 chip. If you say N the buttons will directly control the master volume. It is recommended to say Y. config SND_MIXART tristate "Digigram miXart" select FW_LOADER select SND_HWDEP select SND_PCM help If you want to use Digigram miXart soundcards, say Y here and read . To compile this driver as a module, choose M here: the module will be called snd-mixart. config SND_NM256 tristate "NeoMagic NM256AV/ZX" select SND_AC97_CODEC help Say Y here to include support for NeoMagic NM256AV/ZX chips. To compile this driver as a module, choose M here: the module will be called snd-nm256. config SND_PCXHR tristate "Digigram PCXHR" select FW_LOADER select SND_PCM select SND_HWDEP help Say Y here to include support for Digigram PCXHR boards. To compile this driver as a module, choose M here: the module will be called snd-pcxhr. config SND_RIPTIDE tristate "Conexant Riptide" select FW_LOADER select SND_OPL3_LIB select SND_MPU401_UART select SND_AC97_CODEC help Say 'Y' or 'M' to include support for Conexant Riptide chip. To compile this driver as a module, choose M here: the module will be called snd-riptide config SND_RME32 tristate "RME Digi32, 32/8, 32 PRO" select SND_PCM help Say Y to include support for RME Digi32, Digi32 PRO and Digi32/8 (Sek'd Prodif32, Prodif96 and Prodif Gold) audio devices. To compile this driver as a module, choose M here: the module will be called snd-rme32. config SND_RME96 tristate "RME Digi96, 96/8, 96/8 PRO" select SND_PCM help Say Y here to include support for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST soundcards. To compile this driver as a module, choose M here: the module will be called snd-rme96. config SND_RME9652 tristate "RME Digi9652 (Hammerfall)" select SND_PCM help Say Y here to include support for RME Hammerfall (RME Digi9652/Digi9636) soundcards. To compile this driver as a module, choose M here: the module will be called snd-rme9652. config SND_SIS7019 tristate "SiS 7019 Audio Accelerator" depends on X86 && !X86_64 select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for the SiS 7019 Audio Accelerator. To compile this driver as a module, choose M here: the module will be called snd-sis7019. config SND_SONICVIBES tristate "S3 SonicVibes" select SND_OPL3_LIB select SND_MPU401_UART select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for soundcards based on the S3 SonicVibes chip. To compile this driver as a module, choose M here: the module will be called snd-sonicvibes. config SND_TRIDENT tristate "Trident 4D-Wave DX/NX; SiS 7018" select SND_MPU401_UART select SND_AC97_CODEC select ZONE_DMA help Say Y here to include support for soundcards based on Trident 4D-Wave DX/NX or SiS 7018 chips. To compile this driver as a module, choose M here: the module will be called snd-trident. config SND_VIA82XX tristate "VIA 82C686A/B, 8233/8235 AC97 Controller" select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for the integrated AC97 sound device on motherboards with VIA chipsets. To compile this driver as a module, choose M here: the module will be called snd-via82xx. config SND_VIA82XX_MODEM tristate "VIA 82C686A/B, 8233 based Modems" select SND_AC97_CODEC help Say Y here to include support for the integrated MC97 modem on motherboards with VIA chipsets. To compile this driver as a module, choose M here: the module will be called snd-via82xx-modem. config SND_VIRTUOSO tristate "Asus Virtuoso 66/100/200 (Xonar)" select SND_OXYGEN_LIB select SND_PCM select SND_MPU401_UART select SND_JACK if INPUT=y || INPUT=SND help Say Y here to include support for sound cards based on the Asus AV66/AV100/AV200 chips, i.e., Xonar D1, DX, D2, D2X, DS, Essence ST (Deluxe), and Essence STX. Support for the HDAV1.3 (Deluxe) and HDAV1.3 Slim is experimental; for the Xense, missing. To compile this driver as a module, choose M here: the module will be called snd-virtuoso. config SND_VX222 tristate "Digigram VX222" select SND_VX_LIB help Say Y here to include support for Digigram VX222 soundcards. To compile this driver as a module, choose M here: the module will be called snd-vx222. config SND_YMFPCI tristate "Yamaha YMF724/740/744/754" select SND_OPL3_LIB select SND_MPU401_UART select SND_AC97_CODEC help Say Y here to include support for Yamaha PCI audio chips - YMF724, YMF724F, YMF740, YMF740C, YMF744, YMF754. To compile this driver as a module, choose M here: the module will be called snd-ymfpci. endif # SND_PCI menuconfig SND_HDA_INTEL tristate "Intel HD Audio" select SND_PCM select SND_VMASTER select SND_KCTL_JACK help Say Y here to include support for Intel "High Definition Audio" (Azalia) and its compatible devices. This option enables the HD-audio controller. Don't forget to choose the appropriate codec options below. To compile this driver as a module, choose M here: the module will be called snd-hda-intel. if SND_HDA_INTEL config SND_HDA_DSP_LOADER bool config SND_HDA_PREALLOC_SIZE int "Pre-allocated buffer size for HD-audio driver" range 0 32768 default 64 help Specifies the default pre-allocated buffer-size in kB for the HD-audio driver. A larger buffer (e.g. 2048) is preferred for systems using PulseAudio. The default 64 is chosen just for compatibility reasons. Note that the pre-allocation size can be changed dynamically via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. config SND_HDA_HWDEP bool "Build hwdep interface for HD-audio driver" select SND_HWDEP help Say Y here to build a hwdep interface for HD-audio driver. This interface can be used for out-of-band communication with codecs for debugging purposes. config SND_HDA_RECONFIG bool "Allow dynamic codec reconfiguration" depends on SND_HDA_HWDEP help Say Y here to enable the HD-audio codec re-configuration feature. This adds the sysfs interfaces to allow user to clear the whole codec configuration, change the codec setup, add extra verbs, and re-configure the codec dynamically. config SND_HDA_INPUT_BEEP bool "Support digital beep via input layer" depends on INPUT=y || INPUT=SND_HDA_INTEL help Say Y here to build a digital beep interface for HD-audio driver. This interface is used to generate digital beeps. config SND_HDA_INPUT_BEEP_MODE int "Digital beep registration mode (0=off, 1=on)" depends on SND_HDA_INPUT_BEEP=y default "1" range 0 1 help Set 0 to disable the digital beep interface for HD-audio by default. Set 1 to always enable the digital beep interface for HD-audio by default. config SND_HDA_INPUT_JACK bool "Support jack plugging notification via input layer" depends on INPUT=y || INPUT=SND select SND_JACK help Say Y here to enable the jack plugging notification via input layer. config SND_HDA_PATCH_LOADER bool "Support initialization patch loading for HD-audio" select FW_LOADER select SND_HDA_HWDEP select SND_HDA_RECONFIG help Say Y here to allow the HD-audio driver to load a pseudo firmware file ("patch") for overriding the BIOS setup at start up. The "patch" file can be specified via patch module option, such as patch=hda-init. This option turns on hwdep and reconfig features automatically. config SND_HDA_CODEC_REALTEK bool "Build Realtek HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include Realtek HD-audio codec support in snd-hda-intel driver, such as ALC880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-realtek. This module is automatically loaded at probing. config SND_HDA_CODEC_ANALOG bool "Build Analog Device HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include Analog Device HD-audio codec support in snd-hda-intel driver, such as AD1986A. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-analog. This module is automatically loaded at probing. config SND_HDA_CODEC_SIGMATEL bool "Build IDT/Sigmatel HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include IDT (Sigmatel) HD-audio codec support in snd-hda-intel driver, such as STAC9200. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-idt. This module is automatically loaded at probing. config SND_HDA_CODEC_VIA bool "Build VIA HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include VIA HD-audio codec support in snd-hda-intel driver, such as VT1708. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-via. This module is automatically loaded at probing. config SND_HDA_CODEC_HDMI bool "Build HDMI/DisplayPort HD-audio codec support" default y help Say Y here to include HDMI and DisplayPort HD-audio codec support in snd-hda-intel driver. This includes all AMD/ATI, Intel and Nvidia HDMI/DisplayPort codecs. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-hdmi. This module is automatically loaded at probing. config SND_HDA_I915 bool default y depends on DRM_I915 config SND_HDA_CODEC_CIRRUS bool "Build Cirrus Logic codec support" default y select SND_HDA_GENERIC help Say Y here to include Cirrus Logic codec support in snd-hda-intel driver, such as CS4206. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-cirrus. This module is automatically loaded at probing. config SND_HDA_CODEC_CONEXANT bool "Build Conexant HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include Conexant HD-audio codec support in snd-hda-intel driver, such as CX20549. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-conexant. This module is automatically loaded at probing. config SND_HDA_CODEC_CA0110 bool "Build Creative CA0110-IBG codec support" default y select SND_HDA_GENERIC help Say Y here to include Creative CA0110-IBG codec support in snd-hda-intel driver, found on some Creative X-Fi cards. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-ca0110. This module is automatically loaded at probing. config SND_HDA_CODEC_CA0132 bool "Build Creative CA0132 codec support" default y help Say Y here to include Creative CA0132 codec support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-ca0132. This module is automatically loaded at probing. config SND_HDA_CODEC_CA0132_DSP bool "Support new DSP code for CA0132 codec" depends on SND_HDA_CODEC_CA0132 select SND_HDA_DSP_LOADER select FW_LOADER help Say Y here to enable the DSP for Creative CA0132 for extended features like equalizer or echo cancellation. Note that this option requires the external firmware file (ctefx.bin). config SND_HDA_CODEC_CMEDIA bool "Build C-Media HD-audio codec support" default y select SND_HDA_GENERIC help Say Y here to include C-Media HD-audio codec support in snd-hda-intel driver, such as CMI9880. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-cmedia. This module is automatically loaded at probing. config SND_HDA_CODEC_SI3054 bool "Build Silicon Labs 3054 HD-modem codec support" default y help Say Y here to include Silicon Labs 3054 HD-modem codec (and compatibles) support in snd-hda-intel driver. When the HD-audio driver is built as a module, the codec support code is also built as another module, snd-hda-codec-si3054. This module is automatically loaded at probing. config SND_HDA_GENERIC bool "Enable generic HD-audio codec parser" default y help Say Y here to enable the generic HD-audio codec parser in snd-hda-intel driver. config SND_HDA_POWER_SAVE_DEFAULT int "Default time-out for HD-audio power-save mode" depends on PM default 0 help The default time-out value in seconds for HD-audio automatic power-save mode. 0 means to disable the power-save mode. endif # ALSA PCMCIA drivers menuconfig SND_PCMCIA bool "PCMCIA sound devices" depends on PCMCIA default y help Support for sound devices connected via the PCMCIA bus. if SND_PCMCIA && PCMCIA config SND_VXPOCKET tristate "Digigram VXpocket" select SND_VX_LIB help Say Y here to include support for Digigram VXpocket and VXpocket 440 soundcards. To compile this driver as a module, choose M here: the module will be called snd-vxpocket. config SND_PDAUDIOCF tristate "Sound Core PDAudioCF" select SND_PCM help Say Y here to include support for Sound Core PDAudioCF soundcards. To compile this driver as a module, choose M here: the module will be called snd-pdaudiocf. endif # SND_PCMCIA # ALSA PowerMac drivers menuconfig SND_PPC bool "PowerPC sound devices" depends on PPC default y help Support for sound devices specific to PowerPC architectures. if SND_PPC config SND_POWERMAC tristate "PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)" depends on I2C && INPUT && PPC_PMAC select SND_PCM select SND_VMASTER help Say Y here to include support for the integrated sound device. To compile this driver as a module, choose M here: the module will be called snd-powermac. config SND_POWERMAC_AUTO_DRC bool "Toggle DRC automatically at headphone/line plug-in" depends on SND_POWERMAC default y help Say Y here to enable the automatic toggle of DRC (dynamic range compression) on Tumbler/Snapper. If this feature is enabled, DRC is turned off when the headphone/line jack is plugged, and turned on when unplugged. Note that you can turn on/off DRC manually even without this option. config SND_PS3 tristate "PS3 Audio support" depends on PS3_PS3AV select SND_PCM default m help Say Y here to include support for audio on the PS3 To compile this driver as a module, choose M here: the module will be called snd_ps3. config SND_PS3_DEFAULT_START_DELAY int "Startup delay time in ms" depends on SND_PS3 default "2000" endif # SND_PPC # ALSA SH drivers menuconfig SND_SUPERH bool "SUPERH sound devices" depends on SUPERH default y help Support for sound devices specific to SUPERH architectures. Drivers that are implemented on ASoC can be found in "ALSA for SoC audio support" section. if SND_SUPERH config SND_AICA tristate "Dreamcast Yamaha AICA sound" depends on SH_DREAMCAST select SND_PCM select G2_DMA help ALSA Sound driver for the SEGA Dreamcast console. config SND_SH_DAC_AUDIO tristate "SuperH DAC audio support" depends on SND depends on CPU_SH3 && HIGH_RES_TIMERS select SND_PCM help Say Y here to include support for the on-chip DAC. endif # SND_SUPERH # # SoC audio configuration # menuconfig SND_SOC tristate "ALSA for SoC audio support" select SND_PCM select AC97_BUS if SND_SOC_AC97_BUS select SND_JACK if INPUT=y || INPUT=SND select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER select SND_COMPRESS_OFFLOAD ---help--- If you want ASoC support, you should say Y here and also to the specific driver for your SoC platform below. ASoC provides power efficient ALSA support for embedded battery powered SoC based systems like PDA's, Phones and Personal Media Players. This ASoC audio support can also be built as a module. If so, the module will be called snd-soc-core. if SND_SOC config SND_SOC_AC97_BUS bool config SND_SOC_GENERIC_DMAENGINE_PCM bool select SND_DMAENGINE_PCM # All the supported SoCs source "sound/soc/atmel/Kconfig" source "sound/soc/au1x/Kconfig" source "sound/soc/blackfin/Kconfig" source "sound/soc/cirrus/Kconfig" source "sound/soc/davinci/Kconfig" source "sound/soc/dwc/Kconfig" source "sound/soc/fsl/Kconfig" source "sound/soc/jz4740/Kconfig" source "sound/soc/nuc900/Kconfig" source "sound/soc/omap/Kconfig" source "sound/soc/kirkwood/Kconfig" source "sound/soc/mid-x86/Kconfig" source "sound/soc/mxs/Kconfig" source "sound/soc/pxa/Kconfig" source "sound/soc/samsung/Kconfig" source "sound/soc/s6000/Kconfig" source "sound/soc/sh/Kconfig" source "sound/soc/spear/Kconfig" source "sound/soc/tegra/Kconfig" source "sound/soc/txx9/Kconfig" source "sound/soc/ux500/Kconfig" # Supported codecs source "sound/soc/codecs/Kconfig" # generic frame-work source "sound/soc/generic/Kconfig" endif # SND_SOC config SND_ATMEL_SOC tristate "SoC Audio for the Atmel System-on-Chip" depends on HAS_IOMEM help Say Y or M if you want to add support for codecs attached to the ATMEL SSC interface. You will also need to select the audio interfaces to support below. config SND_ATMEL_SOC_PDC tristate depends on SND_ATMEL_SOC config SND_ATMEL_SOC_DMA tristate depends on SND_ATMEL_SOC select SND_SOC_GENERIC_DMAENGINE_PCM config SND_ATMEL_SOC_SSC tristate depends on SND_ATMEL_SOC help Say Y or M if you want to add support for codecs the ATMEL SSC interface. You will also needs to select the individual machine drivers to support below. config SND_AT91_SOC_SAM9G20_WM8731 tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && AT91_PROGRAMMABLE_CLOCKS select SND_ATMEL_SOC_PDC select SND_ATMEL_SOC_SSC select SND_SOC_WM8731 help Say Y if you want to add support for SoC audio on WM8731-based AT91sam9g20 evaluation board. config SND_ATMEL_SOC_WM8904 tristate "Atmel ASoC driver for boards using WM8904 codec" depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC select SND_ATMEL_SOC_SSC select SND_ATMEL_SOC_DMA select SND_SOC_WM8904 help Say Y if you want to add support for Atmel ASoC driver for boards using WM8904 codec. config SND_AT91_SOC_SAM9X5_WM8731 tristate "SoC Audio support for WM8731-based at91sam9x5 board" depends on ATMEL_SSC && SND_ATMEL_SOC && SOC_AT91SAM9X5 select SND_ATMEL_SOC_SSC select SND_ATMEL_SOC_DMA select SND_SOC_WM8731 help Say Y if you want to add support for audio SoC on an at91sam9x5 based board that is using WM8731 codec. config SND_AT91_SOC_AFEB9260 tristate "SoC Audio support for AFEB9260 board" depends on ARCH_AT91 && ATMEL_SSC && ARCH_AT91 && MACH_AFEB9260 && SND_ATMEL_SOC select SND_ATMEL_SOC_PDC select SND_ATMEL_SOC_SSC select SND_SOC_TLV320AIC23 help Say Y here to support sound on AFEB9260 board. ## ## Au1200/Au1550/Au1300 PSC + DBDMA ## config SND_SOC_AU1XPSC tristate "SoC Audio for Au12xx/Au13xx/Au1550" depends on MIPS_ALCHEMY help This option enables support for the Programmable Serial Controllers in AC97 and I2S mode, and the Descriptor-Based DMA Controller (DBDMA) as found on the Au12xx/Au13xx/Au1550 SoC. config SND_SOC_AU1XPSC_I2S tristate config SND_SOC_AU1XPSC_AC97 tristate select AC97_BUS select SND_AC97_CODEC select SND_SOC_AC97_BUS ## ## Au1000/1500/1100 DMA + AC97C/I2SC ## config SND_SOC_AU1XAUDIO tristate "SoC Audio for Au1000/Au1500/Au1100" depends on MIPS_ALCHEMY help This is a driver set for the AC97 unit and the old DMA controller as found on the Au1000/Au1500/Au1100 chips. config SND_SOC_AU1XAC97C tristate select AC97_BUS select SND_AC97_CODEC select SND_SOC_AC97_BUS config SND_SOC_AU1XI2SC tristate ## ## Boards ## config SND_SOC_DB1000 tristate "DB1000 Audio support" depends on SND_SOC_AU1XAUDIO select SND_SOC_AU1XAC97C select SND_SOC_AC97_CODEC help Select this option to enable AC97 audio on the early DB1x00 series of boards (DB1000/DB1500/DB1100). config SND_SOC_DB1200 tristate "DB1200/DB1300/DB1550 Audio support" depends on SND_SOC_AU1XPSC select SND_SOC_AU1XPSC_AC97 select SND_SOC_AC97_CODEC select SND_SOC_WM9712 select SND_SOC_AU1XPSC_I2S select SND_SOC_WM8731 help Select this option to enable audio (AC97 and I2S) on the Alchemy/AMD/RMI/NetLogic Db1200, Db1550 and Db1300 evaluation boards. If you need Db1300 touchscreen support, you definitely want to say Y. config SND_BF5XX_I2S tristate "SoC I2S Audio for the ADI Blackfin chip" depends on BLACKFIN select SND_BF5XX_SOC_SPORT if !BF60x select SND_BF6XX_SOC_SPORT if BF60x help Say Y or M if you want to add support for codecs attached to the Blackfin SPORT (synchronous serial ports) interface in I2S mode (supports single stereo In/Out). You will also need to select the audio interfaces to support below. config SND_BF5XX_SOC_SSM2602 tristate "SoC SSM2602 Audio Codec Add-On Card support" depends on SND_BF5XX_I2S && (SPI_MASTER || I2C) select SND_BF5XX_SOC_I2S if !BF60x select SND_BF6XX_SOC_I2S if BF60x select SND_SOC_SSM2602 help Say Y if you want to add support for the Analog Devices SSM2602 Audio Codec Add-On Card. config SND_SOC_BFIN_EVAL_ADAU1701 tristate "Support for the EVAL-ADAU1701MINIZ board on Blackfin eval boards" depends on SND_BF5XX_I2S select SND_BF5XX_SOC_I2S select SND_SOC_ADAU1701 select I2C help Say Y if you want to add support for the Analog Devices EVAL-ADAU1701MINIZ board connected to one of the Blackfin evaluation boards like the BF5XX-STAMP or BF5XX-EZKIT. config SND_SOC_BFIN_EVAL_ADAU1373 tristate "Support for the EVAL-ADAU1373 board on Blackfin eval boards" depends on SND_BF5XX_I2S && I2C select SND_BF5XX_SOC_I2S select SND_SOC_ADAU1373 help Say Y if you want to add support for the Analog Devices EVAL-ADAU1373 board connected to one of the Blackfin evaluation boards like the BF5XX-STAMP or BF5XX-EZKIT. Note: This driver assumes that first ADAU1373 DAI is connected to the first SPORT port on the BF5XX board. config SND_SOC_BFIN_EVAL_ADAV80X tristate "Support for the EVAL-ADAV80X boards on Blackfin eval boards" depends on SND_BF5XX_I2S && (SPI_MASTER || I2C) select SND_BF5XX_SOC_I2S select SND_SOC_ADAV80X help Say Y if you want to add support for the Analog Devices EVAL-ADAV801 or EVAL-ADAV803 board connected to one of the Blackfin evaluation boards like the BF5XX-STAMP or BF5XX-EZKIT. Note: This driver assumes that the ADAV80X digital record and playback interfaces are connected to the first SPORT port on the BF5XX board. config SND_BF5XX_SOC_AD1836 tristate "SoC AD1836 Audio support for BF5xx" depends on SND_BF5XX_I2S select SND_BF5XX_SOC_I2S select SND_SOC_AD1836 help Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT. config SND_BF5XX_SOC_AD193X tristate "SoC AD193X Audio support for Blackfin" depends on SND_BF5XX_I2S select SND_BF5XX_SOC_I2S select SND_SOC_AD193X help Say Y if you want to add support for AD193X codec on Blackfin. This driver supports AD1936, AD1937, AD1938 and AD1939. config SND_BF5XX_SOC_AD73311 tristate "SoC AD73311 Audio support for Blackfin" depends on SND_BF5XX_I2S select SND_BF5XX_SOC_I2S select SND_SOC_AD73311 help Say Y if you want to add support for AD73311 codec on Blackfin. config SND_BFIN_AD73311_SE int "PF pin for AD73311L Chip Select" depends on SND_BF5XX_SOC_AD73311 default 4 help Enter the GPIO used to control AD73311's SE pin. Acceptable values are 0 to 7 config SND_BF5XX_AC97 tristate "SoC AC97 Audio for the ADI BF5xx chip" depends on BLACKFIN select AC97_BUS select SND_SOC_AC97_BUS select SND_BF5XX_SOC_SPORT select SND_BF5XX_SOC_AC97 help Say Y or M if you want to add support for codecs attached to the Blackfin SPORT (synchronous serial ports) interface in slot 16 mode (pseudo AC97 interface). You will also need to select the audio interfaces to support below. Note: AC97 codecs which do not implement the slot-16 mode will not function properly with this driver. This driver is known to work with the Analog Devices line of AC97 codecs. config SND_BF5XX_MMAP_SUPPORT bool "Enable MMAP Support" depends on SND_BF5XX_AC97 default y help Say y if you want AC97 driver to support mmap mode. We introduce an intermediate buffer to simulate mmap. config SND_BF5XX_MULTICHAN_SUPPORT bool "Enable Multichannel Support" depends on SND_BF5XX_AC97 default n help Say y if you want AC97 driver to support up to 5.1 channel audio. this mode will consume much more memory for DMA. config SND_BF5XX_HAVE_COLD_RESET bool "BOARD has COLD Reset GPIO" depends on SND_BF5XX_AC97 default y if BFIN548_EZKIT default n if !BFIN548_EZKIT config SND_BF5XX_RESET_GPIO_NUM int "Set a GPIO for cold reset" depends on SND_BF5XX_HAVE_COLD_RESET range 0 159 default 19 if BFIN548_EZKIT default 5 if BFIN537_STAMP default 0 help Set the correct GPIO for RESET the sound chip. config SND_BF5XX_SOC_AD1980 tristate "SoC AD1980/1 Audio support for BF5xx (Obsolete)" depends on SND_BF5XX_AC97 select SND_BF5XX_SOC_AC97 select SND_SOC_AD1980 help Say Y if you want to add support for SoC audio on BF5xx STAMP/EZKIT. Warning: Because Analog Devices Inc. discontinued the ad1980 sound chip since Sep. 2009, this ad1980 driver is not maintained, tested and supported by ADI now. config SND_BF5XX_SOC_SPORT tristate config SND_BF6XX_SOC_SPORT tristate config SND_BF5XX_SOC_I2S tristate config SND_BF6XX_SOC_I2S tristate config SND_BF5XX_SOC_AC97 tristate config SND_BF5XX_SPORT_NUM int "Set a SPORT for Sound chip" depends on (SND_BF5XX_SOC_SPORT || SND_BF6XX_SOC_SPORT) range 0 3 if BF54x range 0 1 if !BF54x default 0 help Set the correct SPORT for sound chip. config SND_EP93XX_SOC tristate "SoC Audio support for the Cirrus Logic EP93xx series" depends on (ARCH_EP93XX || COMPILE_TEST) && SND_SOC select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y or M if you want to add support for codecs attached to the EP93xx I2S or AC97 interfaces. config SND_EP93XX_SOC_I2S tristate config SND_EP93XX_SOC_AC97 tristate select AC97_BUS select SND_SOC_AC97_BUS config SND_EP93XX_SOC_SNAPPERCL15 tristate "SoC Audio support for Bluewater Systems Snapper CL15 module" depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 select SND_EP93XX_SOC_I2S select SND_SOC_TLV320AIC23 help Say Y or M here if you want to add support for I2S audio on the Bluewater Systems Snapper CL15 module. config SND_EP93XX_SOC_SIMONE tristate "SoC Audio support for Simplemachines Sim.One board" depends on SND_EP93XX_SOC && MACH_SIM_ONE select SND_EP93XX_SOC_AC97 select SND_SOC_AC97_CODEC help Say Y or M here if you want to add support for AC97 audio on the Simplemachines Sim.One board. config SND_EP93XX_SOC_EDB93XX tristate "SoC Audio support for Cirrus Logic EDB93xx boards" depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A) select SND_EP93XX_SOC_I2S select SND_SOC_CS4271 help Say Y or M here if you want to add support for I2S audio on the Cirrus Logic EDB93xx boards. # Helper to resolve issues with configs that have SPI enabled but I2C # modular, meaning we can't build the codec driver in with I2C support. # We use an ordered list of conditional defaults to pick the appropriate # setting - SPI can't be modular so that case doesn't need to be covered. config SND_SOC_I2C_AND_SPI tristate default m if I2C=m default y if I2C=y default y if SPI_MASTER=y config SND_SOC_ALL_CODECS tristate "Build all ASoC CODEC drivers" depends on COMPILE_TEST select SND_SOC_88PM860X if MFD_88PM860X select SND_SOC_L3 select SND_SOC_AB8500_CODEC if ABX500_CORE select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS select SND_SOC_AD1836 if SPI_MASTER select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI select SND_SOC_AD1980 if SND_SOC_AC97_BUS select SND_SOC_AD73311 select SND_SOC_ADAU1373 if I2C select SND_SOC_ADAV80X if SND_SOC_I2C_AND_SPI select SND_SOC_ADAU1701 if I2C select SND_SOC_ADS117X select SND_SOC_AK4104 if SPI_MASTER select SND_SOC_AK4535 if I2C select SND_SOC_AK4641 if I2C select SND_SOC_AK4642 if I2C select SND_SOC_AK4671 if I2C select SND_SOC_AK5386 select SND_SOC_ALC5623 if I2C select SND_SOC_ALC5632 if I2C select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC select SND_SOC_CS42L51 if I2C select SND_SOC_CS42L52 if I2C select SND_SOC_CS42L73 if I2C select SND_SOC_CS4270 if I2C select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI select SND_SOC_CX20442 if TTY select SND_SOC_DA7210 if I2C select SND_SOC_DA7213 if I2C select SND_SOC_DA732X if I2C select SND_SOC_DA9055 if I2C select SND_SOC_BT_SCO select SND_SOC_ISABELLE if I2C select SND_SOC_JZ4740_CODEC select SND_SOC_LM4857 if I2C select SND_SOC_LM49453 if I2C select SND_SOC_MAX98088 if I2C select SND_SOC_MAX98090 if I2C select SND_SOC_MAX98095 if I2C select SND_SOC_MAX9850 if I2C select SND_SOC_MAX9768 if I2C select SND_SOC_MAX9877 if I2C select SND_SOC_MC13783 if MFD_MC13XXX select SND_SOC_ML26124 if I2C select SND_SOC_HDMI_CODEC select SND_SOC_PCM1681 if I2C select SND_SOC_PCM1792A if SPI_MASTER select SND_SOC_PCM3008 select SND_SOC_RT5631 if I2C select SND_SOC_RT5640 if I2C select SND_SOC_SGTL5000 if I2C select SND_SOC_SI476X if MFD_SI476X_CORE select SND_SOC_SN95031 if INTEL_SCU_IPC select SND_SOC_SPDIF select SND_SOC_SSM2518 if I2C select SND_SOC_SSM2602 if SND_SOC_I2C_AND_SPI select SND_SOC_STA32X if I2C select SND_SOC_STA529 if I2C select SND_SOC_STAC9766 if SND_SOC_AC97_BUS select SND_SOC_TAS5086 if I2C select SND_SOC_TLV320AIC23 if I2C select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC32X4 if I2C select SND_SOC_TLV320AIC3X if I2C select SND_SOC_TPA6130A2 if I2C select SND_SOC_TLV320DAC33 if I2C select SND_SOC_TWL4030 if TWL4030_CORE select SND_SOC_TWL6040 if TWL6040_CORE select SND_SOC_UDA134X select SND_SOC_UDA1380 if I2C select SND_SOC_WL1273 if MFD_WL1273_CORE select SND_SOC_WM0010 if SPI_MASTER select SND_SOC_WM1250_EV1 if I2C select SND_SOC_WM2000 if I2C select SND_SOC_WM2200 if I2C select SND_SOC_WM5100 if I2C select SND_SOC_WM5102 if MFD_WM5102 select SND_SOC_WM5110 if MFD_WM5110 select SND_SOC_WM8350 if MFD_WM8350 select SND_SOC_WM8400 if MFD_WM8400 select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8523 if I2C select SND_SOC_WM8580 if I2C select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8727 select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8770 if SPI_MASTER select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8782 select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8900 if I2C select SND_SOC_WM8903 if I2C select SND_SOC_WM8904 if I2C select SND_SOC_WM8940 if I2C select SND_SOC_WM8955 if I2C select SND_SOC_WM8960 if I2C select SND_SOC_WM8961 if I2C select SND_SOC_WM8962 if I2C select SND_SOC_WM8971 if I2C select SND_SOC_WM8974 if I2C select SND_SOC_WM8978 if I2C select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8990 if I2C select SND_SOC_WM8991 if I2C select SND_SOC_WM8993 if I2C select SND_SOC_WM8994 if MFD_WM8994 select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI select SND_SOC_WM8996 if I2C select SND_SOC_WM8997 if MFD_WM8997 select SND_SOC_WM9081 if I2C select SND_SOC_WM9090 if I2C select SND_SOC_WM9705 if SND_SOC_AC97_BUS select SND_SOC_WM9712 if SND_SOC_AC97_BUS select SND_SOC_WM9713 if SND_SOC_AC97_BUS help Normally ASoC codec drivers are only built if a machine driver which uses them is also built since they are only usable with a machine driver. Selecting this option will allow these drivers to be built without an explicit machine driver for test and development purposes. Support for the bus types used to access the codecs to be built must be selected separately. If unsure select "N". config SND_SOC_88PM860X tristate config SND_SOC_ARIZONA tristate default y if SND_SOC_WM5102=y default y if SND_SOC_WM5110=y default y if SND_SOC_WM8997=y default m if SND_SOC_WM5102=m default m if SND_SOC_WM5110=m default m if SND_SOC_WM8997=m config SND_SOC_WM_HUBS tristate default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m config SND_SOC_WM_ADSP tristate default y if SND_SOC_WM5102=y default y if SND_SOC_WM2200=y default m if SND_SOC_WM5102=m default m if SND_SOC_WM2200=m config SND_SOC_AB8500_CODEC tristate config SND_SOC_AC97_CODEC tristate select SND_AC97_CODEC config SND_SOC_AD1836 tristate config SND_SOC_AD193X tristate config SND_SOC_AD1980 tristate config SND_SOC_AD73311 tristate config SND_SOC_ADAU1701 select SND_SOC_SIGMADSP tristate config SND_SOC_ADAU1373 tristate config SND_SOC_ADAV80X tristate config SND_SOC_ADS117X tristate config SND_SOC_AK4104 tristate config SND_SOC_AK4535 tristate config SND_SOC_AK4554 tristate config SND_SOC_AK4641 tristate config SND_SOC_AK4642 tristate config SND_SOC_AK4671 tristate config SND_SOC_AK5386 tristate config SND_SOC_ALC5623 tristate config SND_SOC_ALC5632 tristate config SND_SOC_CQ0093VC tristate config SND_SOC_CS42L51 tristate config SND_SOC_CS42L52 tristate config SND_SOC_CS42L73 tristate # Cirrus Logic CS4270 Codec config SND_SOC_CS4270 tristate # Cirrus Logic CS4270 Codec VD = 3.3V Errata # Select if you are affected by the errata where the part will not function # if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will # not select any sample rates that require MCLK to be divided by 1.5. config SND_SOC_CS4270_VD33_ERRATA bool depends on SND_SOC_CS4270 config SND_SOC_CS4271 tristate config SND_SOC_CX20442 tristate depends on TTY config SND_SOC_JZ4740_CODEC select REGMAP_MMIO tristate config SND_SOC_L3 tristate config SND_SOC_DA7210 tristate config SND_SOC_DA7213 tristate config SND_SOC_DA732X tristate config SND_SOC_DA9055 tristate config SND_SOC_BT_SCO tristate config SND_SOC_DMIC tristate config SND_SOC_ISABELLE tristate config SND_SOC_LM49453 tristate config SND_SOC_MAX98088 tristate config SND_SOC_MAX98090 tristate config SND_SOC_MAX98095 tristate config SND_SOC_MAX9850 tristate config SND_SOC_HDMI_CODEC tristate config SND_SOC_PCM1681 tristate config SND_SOC_PCM1792A tristate config SND_SOC_PCM3008 tristate config SND_SOC_RT5631 tristate config SND_SOC_RT5640 tristate #Freescale sgtl5000 codec config SND_SOC_SGTL5000 tristate config SND_SOC_SI476X tristate config SND_SOC_SIGMADSP tristate select CRC32 config SND_SOC_SN95031 tristate config SND_SOC_SPDIF tristate config SND_SOC_SSM2518 tristate config SND_SOC_SSM2602 tristate config SND_SOC_STA32X tristate config SND_SOC_STA529 tristate config SND_SOC_STAC9766 tristate config SND_SOC_TAS5086 tristate config SND_SOC_TLV320AIC23 tristate config SND_SOC_TLV320AIC26 tristate depends on SPI config SND_SOC_TLV320AIC32X4 tristate config SND_SOC_TLV320AIC3X tristate config SND_SOC_TLV320DAC33 tristate config SND_SOC_TWL4030 select MFD_TWL4030_AUDIO tristate config SND_SOC_TWL6040 tristate config SND_SOC_UDA134X tristate config SND_SOC_UDA1380 tristate config SND_SOC_WL1273 tristate config SND_SOC_WM0010 tristate config SND_SOC_WM1250_EV1 tristate config SND_SOC_WM2000 tristate config SND_SOC_WM2200 tristate config SND_SOC_WM5100 tristate config SND_SOC_WM5102 tristate config SND_SOC_WM5110 tristate config SND_SOC_WM8350 tristate config SND_SOC_WM8400 tristate config SND_SOC_WM8510 tristate config SND_SOC_WM8523 tristate config SND_SOC_WM8580 tristate config SND_SOC_WM8711 tristate config SND_SOC_WM8727 tristate config SND_SOC_WM8728 tristate config SND_SOC_WM8731 tristate config SND_SOC_WM8737 tristate config SND_SOC_WM8741 tristate config SND_SOC_WM8750 tristate config SND_SOC_WM8753 tristate config SND_SOC_WM8770 tristate config SND_SOC_WM8776 tristate config SND_SOC_WM8782 tristate config SND_SOC_WM8804 tristate config SND_SOC_WM8900 tristate config SND_SOC_WM8903 tristate config SND_SOC_WM8904 tristate config SND_SOC_WM8940 tristate config SND_SOC_WM8955 tristate config SND_SOC_WM8960 tristate config SND_SOC_WM8961 tristate config SND_SOC_WM8962 tristate config SND_SOC_WM8971 tristate config SND_SOC_WM8974 tristate config SND_SOC_WM8978 tristate config SND_SOC_WM8983 tristate config SND_SOC_WM8985 tristate config SND_SOC_WM8988 tristate config SND_SOC_WM8990 tristate config SND_SOC_WM8991 tristate config SND_SOC_WM8993 tristate config SND_SOC_WM8994 tristate config SND_SOC_WM8995 tristate config SND_SOC_WM8996 tristate config SND_SOC_WM8997 tristate config SND_SOC_WM9081 tristate config SND_SOC_WM9090 tristate config SND_SOC_WM9705 tristate config SND_SOC_WM9712 tristate config SND_SOC_WM9713 tristate # Amp config SND_SOC_LM4857 tristate config SND_SOC_MAX9768 tristate config SND_SOC_MAX9877 tristate config SND_SOC_MC13783 tristate config SND_SOC_ML26124 tristate config SND_SOC_TPA6130A2 tristate config SND_DAVINCI_SOC tristate "SoC Audio for the TI DAVINCI or AM33XX chip" depends on ARCH_DAVINCI || SOC_AM33XX help Platform driver for daVinci or AM33xx Say Y or M if you want to add support for codecs attached to the DAVINCI AC97, I2S, or McASP interface. You will also need to select the audio interfaces to support below. config SND_DAVINCI_SOC_I2S tristate config SND_DAVINCI_SOC_MCASP tristate config SND_DAVINCI_SOC_VCIF tristate config SND_AM33XX_SOC_EVM tristate "SoC Audio for the AM33XX chip based boards" depends on SND_DAVINCI_SOC && SOC_AM33XX select SND_SOC_TLV320AIC3X select SND_DAVINCI_SOC_MCASP help Say Y or M if you want to add support for SoC audio on AM33XX boards using McASP and TLV320AIC3X codec. For example AM335X-EVM, AM335X-EVMSK, and BeagelBone with AudioCape boards have this setup. config SND_DAVINCI_SOC_EVM tristate "SoC Audio support for DaVinci DM6446, DM355 or DM365 EVM" depends on SND_DAVINCI_SOC depends on MACH_DAVINCI_EVM || MACH_DAVINCI_DM355_EVM || MACH_DAVINCI_DM365_EVM select SND_DAVINCI_SOC_I2S select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on TI DaVinci DM6446, DM355 or DM365 EVM platforms. choice prompt "DM365 codec select" depends on SND_DAVINCI_SOC_EVM depends on MACH_DAVINCI_DM365_EVM config SND_DM365_AIC3X_CODEC bool "Audio Codec - AIC3101" help Say Y if you want to add support for AIC3101 audio codec config SND_DM365_VOICE_CODEC bool "Voice Codec - CQ93VC" select MFD_DAVINCI_VOICECODEC select SND_DAVINCI_SOC_VCIF select SND_SOC_CQ0093VC help Say Y if you want to add support for SoC On-chip voice codec endchoice config SND_DM6467_SOC_EVM tristate "SoC Audio support for DaVinci DM6467 EVM" depends on SND_DAVINCI_SOC && MACH_DAVINCI_DM6467_EVM select SND_DAVINCI_SOC_MCASP select SND_SOC_TLV320AIC3X select SND_SOC_SPDIF help Say Y if you want to add support for SoC audio on TI config SND_DA830_SOC_EVM tristate "SoC Audio support for DA830/OMAP-L137 EVM" depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM select SND_DAVINCI_SOC_MCASP select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on TI DA830/OMAP-L137 EVM config SND_DA850_SOC_EVM tristate "SoC Audio support for DA850/OMAP-L138 EVM" depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM select SND_DAVINCI_SOC_MCASP select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on TI DA850/OMAP-L138 EVM config SND_DESIGNWARE_I2S tristate "Synopsys I2S Device Driver" depends on CLKDEV_LOOKUP help Say Y or M if you want to add support for I2S driver for Synopsys desigwnware I2S device. The device supports upto maximum of 8 channels each for play and record. config SND_SOC_FSL_SSI tristate config SND_SOC_FSL_SPDIF tristate config SND_SOC_FSL_UTILS tristate menuconfig SND_POWERPC_SOC tristate "SoC Audio for Freescale PowerPC CPUs" depends on FSL_SOC || PPC_MPC52xx help Say Y or M if you want to add support for codecs attached to the PowerPC CPUs. if SND_POWERPC_SOC config SND_MPC52xx_DMA tristate config SND_SOC_POWERPC_DMA tristate config SND_SOC_MPC8610_HPCD tristate "ALSA SoC support for the Freescale MPC8610 HPCD board" # I2C is necessary for the CS4270 driver depends on MPC8610_HPCD && I2C select SND_SOC_FSL_SSI select SND_SOC_FSL_UTILS select SND_SOC_POWERPC_DMA select SND_SOC_CS4270 select SND_SOC_CS4270_VD33_ERRATA default y if MPC8610_HPCD help Say Y if you want to enable audio on the Freescale MPC8610 HPCD. config SND_SOC_P1022_DS tristate "ALSA SoC support for the Freescale P1022 DS board" # I2C is necessary for the WM8776 driver depends on P1022_DS && I2C select SND_SOC_FSL_SSI select SND_SOC_FSL_UTILS select SND_SOC_POWERPC_DMA select SND_SOC_WM8776 default y if P1022_DS help Say Y if you want to enable audio on the Freescale P1022 DS board. This will also include the Wolfson Microelectronics WM8776 codec driver. config SND_SOC_P1022_RDK tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board" # I2C is necessary for the WM8960 driver depends on P1022_RDK && I2C select SND_SOC_FSL_SSI select SND_SOC_FSL_UTILS select SND_SOC_POWERPC_DMA select SND_SOC_WM8960 default y if P1022_RDK help Say Y if you want to enable audio on the Freescale / iVeia P1022 RDK board. This will also include the Wolfson Microelectronics WM8960 codec driver. config SND_SOC_MPC5200_I2S tristate "Freescale MPC5200 PSC in I2S mode driver" depends on PPC_MPC52xx && PPC_BESTCOMM select SND_MPC52xx_DMA select PPC_BESTCOMM_GEN_BD help Say Y here to support the MPC5200 PSCs in I2S mode. config SND_SOC_MPC5200_AC97 tristate "Freescale MPC5200 PSC in AC97 mode driver" depends on PPC_MPC52xx && PPC_BESTCOMM select SND_SOC_AC97_BUS select SND_MPC52xx_DMA select PPC_BESTCOMM_GEN_BD help Say Y here to support the MPC5200 PSCs in AC97 mode. config SND_MPC52xx_SOC_PCM030 tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712" depends on PPC_MPC5200_SIMPLE select SND_SOC_MPC5200_AC97 select SND_SOC_WM9712 help Say Y if you want to add support for sound on the Phytec pcm030 baseboard. config SND_MPC52xx_SOC_EFIKA tristate "SoC AC97 Audio support for bbplan Efika and STAC9766" depends on PPC_EFIKA select SND_SOC_MPC5200_AC97 select SND_SOC_STAC9766 help Say Y if you want to add support for sound on the Efika. endif # SND_POWERPC_SOC menuconfig SND_IMX_SOC tristate "SoC Audio for Freescale i.MX CPUs" depends on ARCH_MXC || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the i.MX CPUs. if SND_IMX_SOC config SND_SOC_IMX_SSI tristate config SND_SOC_IMX_PCM_FIQ tristate select FIQ config SND_SOC_IMX_PCM_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM config SND_SOC_IMX_AUDMUX tristate config SND_MXC_SOC_WM1133_EV1 tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted" depends on MACH_MX31ADS_WM1133_EV1 select SND_SOC_WM8350 select SND_SOC_IMX_PCM_FIQ select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI help Enable support for audio on the i.MX31ADS with the WM1133-EV1 PMIC board with WM8835x fitted. config SND_SOC_MX27VIS_AIC32X4 tristate "SoC audio support for Visstrim M10 boards" depends on MACH_IMX27_VISSTRIM_M10 && I2C select SND_SOC_TLV320AIC32X4 select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI help Say Y if you want to add support for SoC audio on Visstrim SM10 board with TLV320AIC32X4 codec. config SND_SOC_PHYCORE_AC97 tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards" depends on MACH_PCM043 || MACH_PCA100 select SND_SOC_AC97_BUS select SND_SOC_WM9712 select SND_SOC_IMX_PCM_FIQ select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI help Say Y if you want to add support for SoC audio on Phytec phyCORE and phyCARD boards in AC97 mode config SND_SOC_EUKREA_TLV320 tristate "Eukrea TLV320" depends on MACH_EUKREA_MBIMX27_BASEBOARD \ || MACH_EUKREA_MBIMXSD25_BASEBOARD \ || MACH_EUKREA_MBIMXSD35_BASEBOARD \ || MACH_EUKREA_MBIMXSD51_BASEBOARD depends on I2C select SND_SOC_TLV320AIC23 select SND_SOC_IMX_PCM_FIQ select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI help Enable I2S based access to the TLV320AIC23B codec attached to the SSI interface config SND_SOC_IMX_WM8962 tristate "SoC Audio support for i.MX boards with wm8962" depends on OF && I2C select SND_SOC_WM8962 select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_AUDMUX select SND_SOC_FSL_SSI help Say Y if you want to add support for SoC audio on an i.MX board with a wm8962 codec. config SND_SOC_IMX_SGTL5000 tristate "SoC Audio support for i.MX boards with sgtl5000" depends on OF && I2C select SND_SOC_SGTL5000 select SND_SOC_IMX_PCM_DMA select SND_SOC_IMX_AUDMUX select SND_SOC_FSL_SSI help Say Y if you want to add support for SoC audio on an i.MX board with a sgtl5000 codec. config SND_SOC_IMX_SPDIF tristate "SoC Audio support for i.MX boards with S/PDIF" select SND_SOC_IMX_PCM_DMA select SND_SOC_FSL_SPDIF select SND_SOC_SPDIF select REGMAP_MMIO help SoC Audio support for i.MX boards with S/PDIF Say Y if you want to add support for SoC audio on an i.MX board with a S/DPDIF. config SND_SOC_IMX_MC13783 tristate "SoC Audio support for I.MX boards with mc13783" depends on MFD_MC13783 && ARM select SND_SOC_IMX_SSI select SND_SOC_IMX_AUDMUX select SND_SOC_MC13783 select SND_SOC_IMX_PCM_DMA endif # SND_IMX_SOC config SND_SIMPLE_CARD tristate "ASoC Simple sound card support" help This option enables generic simple sound card support config SND_JZ4740_SOC tristate "SoC Audio for Ingenic JZ4740 SoC" depends on MACH_JZ4740 && SND_SOC help Say Y or M if you want to add support for codecs attached to the JZ4740 I2S interface. You will also need to select the audio interfaces to support below. config SND_JZ4740_SOC_I2S depends on SND_JZ4740_SOC tristate "SoC Audio (I2S protocol) for Ingenic JZ4740 SoC" help Say Y if you want to use I2S protocol and I2S codec on Ingenic JZ4740 based boards. config SND_JZ4740_SOC_QI_LB60 tristate "SoC Audio support for Qi LB60" depends on SND_JZ4740_SOC && JZ4740_QI_LB60 select SND_JZ4740_SOC_I2S select SND_SOC_JZ4740_CODEC help Say Y if you want to add support for ASoC audio on the Qi LB60 board a.k.a Qi Ben NanoNote. config SND_KIRKWOOD_SOC tristate "SoC Audio for the Marvell Kirkwood and Dove chips" depends on ARCH_KIRKWOOD || ARCH_DOVE || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the Kirkwood I2S interface. You will also need to select the audio interfaces to support below. config SND_KIRKWOOD_SOC_OPENRD tristate "SoC Audio support for Kirkwood Openrd Client" depends on SND_KIRKWOOD_SOC && (MACH_OPENRD_CLIENT || MACH_OPENRD_ULTIMATE || COMPILE_TEST) depends on I2C select SND_SOC_CS42L51 help Say Y if you want to add support for SoC audio on Openrd Client. config SND_KIRKWOOD_SOC_T5325 tristate "SoC Audio support for HP t5325" depends on SND_KIRKWOOD_SOC && (MACH_T5325 || COMPILE_TEST) && I2C select SND_SOC_ALC5623 help Say Y if you want to add support for SoC audio on the HP t5325 thin client. config SND_MFLD_MACHINE tristate "SOC Machine Audio driver for Intel Medfield MID platform" depends on INTEL_SCU_IPC select SND_SOC_SN95031 select SND_SST_PLATFORM help This adds support for ASoC machine driver for Intel(R) MID Medfield platform used as alsa device in audio substem in Intel(R) MID devices Say Y if you have such a device If unsure select "N". config SND_SST_PLATFORM tristate menuconfig SND_MXS_SOC tristate "SoC Audio for Freescale MXS CPUs" depends on ARCH_MXS || COMPILE_TEST depends on COMMON_CLK select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y or M if you want to add support for codecs attached to the MXS SAIF interface. if SND_MXS_SOC config SND_SOC_MXS_SGTL5000 tristate "SoC Audio support for MXS boards with sgtl5000" depends on I2C select SND_SOC_SGTL5000 help Say Y if you want to add support for SoC audio on an MXS board with a sgtl5000 codec. endif # SND_MXS_SOC ## ## NUC900 series AC97 API ## config SND_SOC_NUC900 tristate "SoC Audio for NUC900 series" depends on ARCH_W90X900 help This option enables support for AC97 mode on the NUC900 SoC. config SND_SOC_NUC900_AC97 tristate select AC97_BUS select SND_AC97_CODEC select SND_SOC_AC97_BUS ## ## Boards ## config SND_SOC_NUC900EVB tristate "NUC900 AC97 support for demo board" depends on SND_SOC_NUC900 select SND_SOC_NUC900_AC97 select SND_SOC_AC97_CODEC help Select this option to enable audio (AC97) on the NUC900 demoboard. config SND_OMAP_SOC tristate "SoC Audio for the Texas Instruments OMAP chips" depends on (ARCH_OMAP && DMA_OMAP) || (ARM && COMPILE_TEST) select SND_DMAENGINE_PCM config SND_OMAP_SOC_DMIC tristate config SND_OMAP_SOC_MCBSP tristate config SND_OMAP_SOC_MCPDM tristate config SND_OMAP_SOC_HDMI tristate config SND_OMAP_SOC_N810 tristate "SoC Audio support for Nokia N810" depends on SND_OMAP_SOC && MACH_NOKIA_N810 && I2C depends on OMAP_MUX select SND_OMAP_SOC_MCBSP select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on Nokia N810. config SND_OMAP_SOC_RX51 tristate "SoC Audio support for Nokia RX-51" depends on SND_OMAP_SOC && ARM && (MACH_NOKIA_RX51 || COMPILE_TEST) select SND_OMAP_SOC_MCBSP select SND_SOC_TLV320AIC3X select SND_SOC_TPA6130A2 help Say Y if you want to add support for SoC audio on Nokia RX-51 hardware. This is also known as Nokia N900 product. config SND_OMAP_SOC_AMS_DELTA tristate "SoC Audio support for Amstrad E3 (Delta) videophone" depends on SND_OMAP_SOC && MACH_AMS_DELTA select SND_OMAP_SOC_MCBSP select SND_SOC_CX20442 help Say Y if you want to add support for SoC audio device connected to a handset and a speakerphone found on Amstrad E3 (Delta) videophone. Note that in order to get those devices fully supported, you have to build the kernel with standard serial port driver included and configured for at least 4 ports. Then, from userspace, you must load a line discipline #19 on the modem (ttyS3) serial line. The simplest way to achieve this is to install util-linux-ng and use the included ldattach utility. This can be started automatically from udev, a simple rule like this one should do the trick (it does for me): ACTION=="add", KERNEL=="controlC0", \ RUN+="/usr/sbin/ldattach 19 /dev/ttyS3" config SND_OMAP_SOC_OSK5912 tristate "SoC Audio support for omap osk5912" depends on SND_OMAP_SOC && MACH_OMAP_OSK && I2C select SND_OMAP_SOC_MCBSP select SND_SOC_TLV320AIC23 help Say Y if you want to add support for SoC audio on osk5912. config SND_OMAP_SOC_AM3517EVM tristate "SoC Audio support for OMAP3517 / AM3517 EVM" depends on SND_OMAP_SOC && MACH_OMAP3517EVM && I2C select SND_OMAP_SOC_MCBSP select SND_SOC_TLV320AIC23 help Say Y if you want to add support for SoC audio on the OMAP3517 / AM3517 EVM. config SND_OMAP_SOC_OMAP_TWL4030 tristate "SoC Audio support for TI SoC based boards with twl4030 codec" depends on TWL4030_CORE && SND_OMAP_SOC select SND_OMAP_SOC_MCBSP select SND_SOC_TWL4030 help Say Y if you want to add support for SoC audio on TI SoC based boards using twl4030 as c codec. This driver currently supports: - Beagleboard or Devkit8000 - Gumstix Overo or CompuLab CM-T35/CM-T3730 - IGEP v2 - OMAP3EVM - SDP3430 - Zoom2 config SND_OMAP_SOC_OMAP_ABE_TWL6040 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec" depends on TWL6040_CORE && SND_OMAP_SOC && (ARCH_OMAP4 || COMPILE_TEST) select SND_OMAP_SOC_DMIC select SND_OMAP_SOC_MCPDM select SND_SOC_TWL6040 select SND_SOC_DMIC help Say Y if you want to add support for SoC audio on OMAP boards using ABE and twl6040 codec. This driver currently supports: - SDP4430/Blaze boards - PandaBoard (4430) - PandaBoardES (4460) config SND_OMAP_SOC_OMAP_HDMI tristate "SoC Audio support for Texas Instruments OMAP HDMI" depends on SND_OMAP_SOC && OMAP4_DSS_HDMI && OMAP2_DSS select SND_OMAP_SOC_HDMI select SND_SOC_HDMI_CODEC select OMAP4_DSS_HDMI_AUDIO help Say Y if you want to add support for SoC HDMI audio on Texas Instruments OMAP4 chips config SND_OMAP_SOC_OMAP3_PANDORA tristate "SoC Audio support for OMAP3 Pandora" depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP3_PANDORA select SND_OMAP_SOC_MCBSP select SND_SOC_TWL4030 help Say Y if you want to add support for SoC audio on the OMAP3 Pandora. config SND_PXA2XX_SOC tristate "SoC Audio for the Intel PXA2xx chip" depends on ARCH_PXA select SND_ARM select SND_PXA2XX_LIB help Say Y or M if you want to add support for codecs attached to the PXA2xx AC97, I2S or SSP interface. You will also need to select the audio interfaces to support below. config SND_MMP_SOC bool "Soc Audio for Marvell MMP chips" depends on ARCH_MMP select SND_DMAENGINE_PCM select SND_ARM help Say Y if you want to add support for codecs attached to the MMP SSPA interface. config SND_PXA2XX_AC97 tristate select SND_AC97_CODEC config SND_PXA2XX_SOC_AC97 tristate select AC97_BUS select SND_ARM select SND_PXA2XX_LIB_AC97 select SND_SOC_AC97_BUS config SND_PXA2XX_SOC_I2S tristate config SND_PXA_SOC_SSP tristate select PXA_SSP config SND_MMP_SOC_SSPA tristate config SND_PXA2XX_SOC_CORGI tristate "SoC Audio support for Sharp Zaurus SL-C7x0" depends on SND_PXA2XX_SOC && PXA_SHARP_C7xx select SND_PXA2XX_SOC_I2S select SND_SOC_WM8731 help Say Y if you want to add support for SoC audio on Sharp Zaurus SL-C7x0 models (Corgi, Shepherd, Husky). config SND_PXA2XX_SOC_SPITZ tristate "SoC Audio support for Sharp Zaurus SL-Cxx00" depends on SND_PXA2XX_SOC && PXA_SHARP_Cxx00 select SND_PXA2XX_SOC_I2S select SND_SOC_WM8750 help Say Y if you want to add support for SoC audio on Sharp Zaurus SL-Cxx00 models (Spitz, Borzoi and Akita). config SND_PXA2XX_SOC_Z2 tristate "SoC Audio support for Zipit Z2" depends on SND_PXA2XX_SOC && MACH_ZIPIT2 select SND_PXA2XX_SOC_I2S select SND_SOC_WM8750 help Say Y if you want to add support for SoC audio on Zipit Z2. config SND_PXA2XX_SOC_POODLE tristate "SoC Audio support for Poodle" depends on SND_PXA2XX_SOC && MACH_POODLE select SND_PXA2XX_SOC_I2S select SND_SOC_WM8731 help Say Y if you want to add support for SoC audio on Sharp Zaurus SL-5600 model (Poodle). config SND_PXA2XX_SOC_TOSA tristate "SoC AC97 Audio support for Tosa" depends on SND_PXA2XX_SOC && MACH_TOSA depends on MFD_TC6393XB select SND_PXA2XX_SOC_AC97 select SND_SOC_WM9712 help Say Y if you want to add support for SoC audio on Sharp Zaurus SL-C6000x models (Tosa). config SND_PXA2XX_SOC_E740 tristate "SoC AC97 Audio support for e740" depends on SND_PXA2XX_SOC && MACH_E740 select SND_SOC_WM9705 select SND_PXA2XX_SOC_AC97 help Say Y if you want to add support for SoC audio on the toshiba e740 PDA config SND_PXA2XX_SOC_E750 tristate "SoC AC97 Audio support for e750" depends on SND_PXA2XX_SOC && MACH_E750 select SND_SOC_WM9705 select SND_PXA2XX_SOC_AC97 help Say Y if you want to add support for SoC audio on the toshiba e750 PDA config SND_PXA2XX_SOC_E800 tristate "SoC AC97 Audio support for e800" depends on SND_PXA2XX_SOC && MACH_E800 select SND_SOC_WM9712 select SND_PXA2XX_SOC_AC97 help Say Y if you want to add support for SoC audio on the Toshiba e800 PDA config SND_PXA2XX_SOC_EM_X270 tristate "SoC Audio support for CompuLab EM-x270, eXeda and CM-X300" depends on SND_PXA2XX_SOC && (MACH_EM_X270 || MACH_EXEDA || \ MACH_CM_X300) select SND_PXA2XX_SOC_AC97 select SND_SOC_WM9712 help Say Y if you want to add support for SoC audio on CompuLab EM-x270, eXeda and CM-X300 machines. config SND_PXA2XX_SOC_PALM27X bool "SoC Audio support for Palm T|X, T5, E2 and LifeDrive" depends on SND_PXA2XX_SOC && (MACH_PALMLD || MACH_PALMTX || \ MACH_PALMT5 || MACH_PALMTE2) select SND_PXA2XX_SOC_AC97 select SND_SOC_WM9712 help Say Y if you want to add support for SoC audio on Palm T|X, T5, E2 or LifeDrive handheld computer. config SND_PXA910_SOC tristate "SoC Audio for Marvell PXA910 chip" depends on ARCH_MMP && SND select SND_PCM help Say Y if you want to add support for SoC audio on the Marvell PXA910 reference platform. config SND_SOC_TTC_DKB bool "SoC Audio support for TTC DKB" depends on SND_PXA910_SOC && MACH_TTC_DKB select PXA_SSP select SND_PXA_SOC_SSP select SND_MMP_SOC select MFD_88PM860X select SND_SOC_88PM860X help Say Y if you want to add support for SoC audio on TTC DKB config SND_SOC_ZYLONITE tristate "SoC Audio support for Marvell Zylonite" depends on SND_PXA2XX_SOC && MACH_ZYLONITE select SND_PXA2XX_SOC_AC97 select SND_PXA_SOC_SSP select SND_SOC_WM9713 help Say Y if you want to add support for SoC audio on the Marvell Zylonite reference platform. config SND_SOC_RAUMFELD tristate "SoC Audio support Raumfeld audio adapter" depends on SND_PXA2XX_SOC && (MACH_RAUMFELD_SPEAKER || MACH_RAUMFELD_CONNECTOR) depends on I2C && SPI_MASTER select SND_PXA_SOC_SSP select SND_SOC_CS4270 select SND_SOC_AK4104 help Say Y if you want to add support for SoC audio on Raumfeld devices config SND_PXA2XX_SOC_HX4700 tristate "SoC Audio support for HP iPAQ hx4700" depends on SND_PXA2XX_SOC && MACH_H4700 && I2C select SND_PXA2XX_SOC_I2S select SND_SOC_AK4641 help Say Y if you want to add support for SoC audio on the HP iPAQ hx4700. config SND_PXA2XX_SOC_MAGICIAN tristate "SoC Audio support for HTC Magician" depends on SND_PXA2XX_SOC && MACH_MAGICIAN select SND_PXA2XX_SOC_I2S select SND_PXA_SOC_SSP select SND_SOC_UDA1380 help Say Y if you want to add support for SoC audio on the HTC Magician. config SND_PXA2XX_SOC_MIOA701 tristate "SoC Audio support for MIO A701" depends on SND_PXA2XX_SOC && MACH_MIOA701 select SND_PXA2XX_SOC_AC97 select SND_SOC_WM9713 help Say Y if you want to add support for SoC audio on the MIO A701. config SND_PXA2XX_SOC_IMOTE2 tristate "SoC Audio support for IMote 2" depends on SND_PXA2XX_SOC && MACH_INTELMOTE2 && I2C select SND_PXA2XX_SOC_I2S select SND_SOC_WM8940 help Say Y if you want to add support for SoC audio on the IMote 2. config SND_MMP_SOC_BROWNSTONE tristate "SoC Audio support for Marvell Brownstone" depends on SND_MMP_SOC && MACH_BROWNSTONE select SND_MMP_SOC_SSPA select MFD_WM8994 select SND_SOC_WM8994 help Say Y if you want to add support for SoC audio on the Marvell Brownstone reference platform. config SND_S6000_SOC tristate "SoC Audio for the Stretch s6000 family" depends on XTENSA_VARIANT_S6000 help Say Y or M if you want to add support for codecs attached to s6000 family chips. You will also need to select the platform to support below. config SND_S6000_SOC_I2S tristate config SND_S6000_SOC_S6IPCAM tristate "SoC Audio support for Stretch 6105 IP Camera" depends on SND_S6000_SOC && XTENSA_PLATFORM_S6105 select SND_S6000_SOC_I2S select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on the Stretch s6105 IP Camera Reference Design. config SND_SOC_SAMSUNG tristate "ASoC support for Samsung" depends on PLAT_SAMSUNG select S3C64XX_DMA if ARCH_S3C64XX select S3C24XX_DMA if ARCH_S3C24XX help Say Y or M if you want to add support for codecs attached to the Samsung SoCs' Audio interfaces. You will also need to select the audio interfaces to support below. config SND_S3C24XX_I2S tristate select S3C2410_DMA config SND_S3C_I2SV2_SOC tristate config SND_S3C2412_SOC_I2S tristate select SND_S3C_I2SV2_SOC select S3C2410_DMA config SND_SAMSUNG_PCM tristate config SND_SAMSUNG_AC97 tristate select SND_SOC_AC97_BUS config SND_SAMSUNG_SPDIF tristate select SND_SOC_SPDIF config SND_SAMSUNG_I2S tristate config SND_SOC_SAMSUNG_NEO1973_WM8753 tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)" depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02 select SND_S3C24XX_I2S select SND_SOC_WM8753 select SND_SOC_BT_SCO help Say Y here to enable audio support for the Openmoko Neo1973 Smartphones. config SND_SOC_SAMSUNG_JIVE_WM8750 tristate "SoC I2S Audio support for Jive" depends on SND_SOC_SAMSUNG && MACH_JIVE select SND_SOC_WM8750 select SND_S3C2412_SOC_I2S help Sat Y if you want to add support for SoC audio on the Jive. config SND_SOC_SAMSUNG_SMDK_WM8580 tristate "SoC I2S Audio support for WM8580 on SMDK" depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDK6440 || MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110) select SND_SOC_WM8580 select SND_SAMSUNG_I2S help Say Y if you want to add support for SoC audio on the SMDKs. config SND_SOC_SAMSUNG_SMDK_WM8994 tristate "SoC I2S Audio support for WM8994 on SMDK" depends on SND_SOC_SAMSUNG depends on I2C=y select MFD_WM8994 select SND_SOC_WM8994 select SND_SAMSUNG_I2S help Say Y if you want to add support for SoC audio on the SMDKs. config SND_SOC_SAMSUNG_SMDK2443_WM9710 tristate "SoC AC97 Audio support for SMDK2443 - WM9710" depends on SND_SOC_SAMSUNG && MACH_SMDK2443 select S3C2410_DMA select AC97_BUS select SND_SOC_AC97_CODEC select SND_SAMSUNG_AC97 help Say Y if you want to add support for SoC audio on smdk2443 with the WM9710. config SND_SOC_SAMSUNG_LN2440SBC_ALC650 tristate "SoC AC97 Audio support for LN2440SBC - ALC650" depends on SND_SOC_SAMSUNG && ARCH_S3C24XX select S3C2410_DMA select AC97_BUS select SND_SOC_AC97_CODEC select SND_SAMSUNG_AC97 help Say Y if you want to add support for SoC audio on ln2440sbc with the ALC650. config SND_SOC_SAMSUNG_S3C24XX_UDA134X tristate "SoC I2S Audio support UDA134X wired to a S3C24XX" depends on SND_SOC_SAMSUNG && ARCH_S3C24XX select SND_S3C24XX_I2S select SND_SOC_L3 select SND_SOC_UDA134X config SND_SOC_SAMSUNG_SIMTEC tristate help Internal node for common S3C24XX/Simtec suppor config SND_SOC_SAMSUNG_SIMTEC_TLV320AIC23 tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards" depends on SND_SOC_SAMSUNG && ARCH_S3C24XX select SND_S3C24XX_I2S select SND_SOC_TLV320AIC23 select SND_SOC_SAMSUNG_SIMTEC config SND_SOC_SAMSUNG_SIMTEC_HERMES tristate "SoC I2S Audio support for Simtec Hermes board" depends on SND_SOC_SAMSUNG && ARCH_S3C24XX select SND_S3C24XX_I2S select SND_SOC_TLV320AIC3X select SND_SOC_SAMSUNG_SIMTEC config SND_SOC_SAMSUNG_H1940_UDA1380 tristate "Audio support for the HP iPAQ H1940" depends on SND_SOC_SAMSUNG && ARCH_H1940 select SND_S3C24XX_I2S select SND_SOC_UDA1380 help This driver provides audio support for HP iPAQ h1940 PDA. config SND_SOC_SAMSUNG_RX1950_UDA1380 tristate "Audio support for the HP iPAQ RX1950" depends on SND_SOC_SAMSUNG && MACH_RX1950 select SND_S3C24XX_I2S select SND_SOC_UDA1380 help This driver provides audio support for HP iPAQ RX1950 PDA. config SND_SOC_SAMSUNG_SMDK_WM9713 tristate "SoC AC97 Audio support for SMDK with WM9713" depends on SND_SOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDKV210 || MACH_SMDKC110 || MACH_SMDKV310 || MACH_SMDKC210) select SND_SOC_WM9713 select SND_SAMSUNG_AC97 help Sat Y if you want to add support for SoC audio on the SMDK. config SND_SOC_SMARTQ tristate "SoC I2S Audio support for SmartQ board" depends on SND_SOC_SAMSUNG && MACH_SMARTQ select SND_SAMSUNG_I2S select SND_SOC_WM8750 config SND_SOC_GONI_AQUILA_WM8994 tristate "SoC I2S Audio support for AQUILA/GONI - WM8994" depends on SND_SOC_SAMSUNG && (MACH_GONI || MACH_AQUILA) depends on I2C=y select SND_SAMSUNG_I2S select MFD_WM8994 select SND_SOC_WM8994 help Say Y if you want to add support for SoC audio on goni or aquila with the WM8994. config SND_SOC_SAMSUNG_SMDK_SPDIF tristate "SoC S/PDIF Audio support for SMDK" depends on SND_SOC_SAMSUNG select SND_SAMSUNG_SPDIF help Say Y if you want to add support for SoC S/PDIF audio on the SMDK. config SND_SOC_SMDK_WM8580_PCM tristate "SoC PCM Audio support for WM8580 on SMDK" depends on SND_SOC_SAMSUNG && (MACH_SMDK6450 || MACH_SMDKV210 || MACH_SMDKC110) select SND_SOC_WM8580 select SND_SAMSUNG_PCM help Say Y if you want to add support for SoC audio on the SMDK. config SND_SOC_SMDK_WM8994_PCM tristate "SoC PCM Audio support for WM8994 on SMDK" depends on SND_SOC_SAMSUNG depends on I2C=y select MFD_WM8994 select SND_SOC_WM8994 select SND_SAMSUNG_PCM help Say Y if you want to add support for SoC audio on the SMDK config SND_SOC_SPEYSIDE tristate "Audio support for Wolfson Speyside" depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 select SND_SAMSUNG_I2S select SND_SOC_WM8996 select SND_SOC_WM9081 select SND_SOC_WM0010 select SND_SOC_WM1250_EV1 config SND_SOC_TOBERMORY tristate "Audio support for Wolfson Tobermory" depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 select SND_SAMSUNG_I2S select SND_SOC_WM8962 config SND_SOC_BELLS tristate "Audio support for Wolfson Bells" depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 select SND_SAMSUNG_I2S select SND_SOC_WM5102 select SND_SOC_WM5110 select SND_SOC_WM9081 select SND_SOC_WM0010 select SND_SOC_WM1250_EV1 config SND_SOC_LOWLAND tristate "Audio support for Wolfson Lowland" depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 select SND_SAMSUNG_I2S select SND_SOC_WM5100 select SND_SOC_WM9081 config SND_SOC_LITTLEMILL tristate "Audio support for Wolfson Littlemill" depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410 select SND_SAMSUNG_I2S select MFD_WM8994 select SND_SOC_WM8994 menu "SoC Audio support for SuperH" depends on SUPERH || ARCH_SHMOBILE config SND_SOC_PCM_SH7760 tristate "SoC Audio support for Renesas SH7760" depends on CPU_SUBTYPE_SH7760 && SH_DMABRG help Enable this option for SH7760 AC97/I2S audio support. ## ## Audio unit modules ## config SND_SOC_SH4_HAC tristate select AC97_BUS select SND_SOC_AC97_BUS config SND_SOC_SH4_SSI tristate config SND_SOC_SH4_FSI tristate "SH4 FSI support" select SND_SIMPLE_CARD help This option enables FSI sound support config SND_SOC_SH4_SIU tristate depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select DMA_ENGINE select DMADEVICES select SH_DMAE select FW_LOADER config SND_SOC_RCAR tristate "R-Car series SRU/SCU/SSIU/SSI support" select SND_SIMPLE_CARD select REGMAP help This option enables R-Car SUR/SCU/SSIU/SSI sound support ## ## Boards ## config SND_SH7760_AC97 tristate "SH7760 AC97 sound support" depends on CPU_SUBTYPE_SH7760 && SND_SOC_PCM_SH7760 select SND_SOC_SH4_HAC select SND_SOC_AC97_CODEC help This option enables generic sound support for the first AC97 unit of the SH7760. config SND_SIU_MIGOR tristate "SIU sound support on Migo-R" depends on SH_MIGOR select SND_SOC_SH4_SIU select SND_SOC_WM8978 help This option enables sound support for the SH7722 Migo-R board endmenu config SND_SPEAR_SOC tristate select SND_DMAENGINE_PCM config SND_SPEAR_SPDIF_OUT tristate config SND_SPEAR_SPDIF_IN tristate config SND_SOC_TEGRA tristate "SoC Audio for the Tegra System-on-Chip" depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST select REGMAP_MMIO select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y or M here if you want support for SoC audio on Tegra. config SND_SOC_TEGRA20_AC97 tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC select SND_SOC_AC97_BUS select SND_SOC_TEGRA20_DAS help Say Y or M if you want to add support for codecs attached to the Tegra20 AC97 interface. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA20_DAS tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC help Say Y or M if you want to add support for the Tegra20 DAS module. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA20_I2S tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC select SND_SOC_TEGRA20_DAS help Say Y or M if you want to add support for codecs attached to the Tegra20 I2S interface. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA20_SPDIF tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC default m help Say Y or M if you want to add support for the Tegra20 SPDIF interface. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA30_AHUB tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_3x_SOC help Say Y or M if you want to add support for the Tegra20 AHUB module. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA30_I2S tristate depends on SND_SOC_TEGRA && ARCH_TEGRA_3x_SOC select SND_SOC_TEGRA30_AHUB help Say Y or M if you want to add support for codecs attached to the Tegra30 I2S interface. You will also need to select the individual machine drivers to support below. config SND_SOC_TEGRA_RT5640 tristate "SoC Audio support for Tegra boards using an RT5640 codec" depends on SND_SOC_TEGRA && I2C && GPIOLIB select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC select SND_SOC_RT5640 help Say Y or M here if you want to add support for SoC audio on Tegra boards using the RT5640 codec, such as Dalmore. config SND_SOC_TEGRA_WM8753 tristate "SoC Audio support for Tegra boards using a WM8753 codec" depends on SND_SOC_TEGRA && I2C && GPIOLIB select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC select SND_SOC_WM8753 help Say Y or M here if you want to add support for SoC audio on Tegra boards using the WM8753 codec, such as Whistler. config SND_SOC_TEGRA_WM8903 tristate "SoC Audio support for Tegra boards using a WM8903 codec" depends on SND_SOC_TEGRA && I2C && GPIOLIB select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_TEGRA30_I2S if ARCH_TEGRA_3x_SOC select SND_SOC_WM8903 help Say Y or M here if you want to add support for SoC audio on Tegra boards using the WM8093 codec. Currently, the supported boards are Harmony, Ventana, Seaboard, Kaen, and Aebl. config SND_SOC_TEGRA_WM9712 tristate "SoC Audio support for Tegra boards using a WM9712 codec" depends on SND_SOC_TEGRA && ARCH_TEGRA_2x_SOC && GPIOLIB select SND_SOC_TEGRA20_AC97 select SND_SOC_WM9712 help Say Y or M here if you want to add support for SoC audio on Tegra boards using the WM9712 (or compatible) codec. config SND_SOC_TEGRA_TRIMSLICE tristate "SoC Audio support for TrimSlice board" depends on SND_SOC_TEGRA && I2C select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_TLV320AIC23 help Say Y or M here if you want to add support for SoC audio on the TrimSlice platform. config SND_SOC_TEGRA_ALC5632 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" depends on SND_SOC_TEGRA && I2C && GPIOLIB select SND_SOC_TEGRA20_I2S if ARCH_TEGRA_2x_SOC select SND_SOC_ALC5632 help Say Y or M here if you want to add support for SoC audio on the Toshiba AC100 netbook. ## ## TXx9 ACLC ## config SND_SOC_TXX9ACLC tristate "SoC Audio for TXx9" depends on HAS_TXX9_ACLC && TXX9_DMAC help This option enables support for the AC Link Controllers in TXx9 SoC. config HAS_TXX9_ACLC bool config SND_SOC_TXX9ACLC_AC97 tristate select AC97_BUS select SND_AC97_CODEC select SND_SOC_AC97_BUS ## ## Boards ## config SND_SOC_TXX9ACLC_GENERIC tristate "Generic TXx9 ACLC sound machine" depends on SND_SOC_TXX9ACLC select SND_SOC_TXX9ACLC_AC97 select SND_SOC_AC97_CODEC help This is a generic AC97 sound machine for use in TXx9 based systems. # # Ux500 SoC audio configuration # menuconfig SND_SOC_UX500 tristate "SoC Audio support for Ux500 platform" depends on SND_SOC depends on MFD_DB8500_PRCMU help Say Y if you want to enable ASoC-support for any of the Ux500 platforms (e.g. U8500). config SND_SOC_UX500_PLAT_MSP_I2S tristate depends on SND_SOC_UX500 config SND_SOC_UX500_PLAT_DMA tristate "Platform - DB8500 (DMA)" depends on SND_SOC_UX500 select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y if you want to enable the Ux500 platform-driver. config SND_SOC_UX500_MACH_MOP500 tristate "Machine - MOP500 (Ux500 + AB8500)" depends on AB8500_CORE && AB8500_GPADC && SND_SOC_UX500 select SND_SOC_AB8500_CODEC select SND_SOC_UX500_PLAT_MSP_I2S select SND_SOC_UX500_PLAT_DMA help Select this to enable the MOP500 machine-driver. This will enable platform-drivers for: Ux500 This will enable codec-drivers for: AB8500 # ALSA Sparc drivers menuconfig SND_SPARC bool "Sparc sound devices" depends on SPARC default y help Support for sound devices specific to Sun SPARC architectures. if SND_SPARC config SND_SUN_AMD7930 tristate "Sun AMD7930" depends on SBUS select SND_PCM help Say Y here to include support for AMD7930 sound device on Sun. To compile this driver as a module, choose M here: the module will be called snd-sun-amd7930. config SND_SUN_CS4231 tristate "Sun CS4231" select SND_PCM help Say Y here to include support for CS4231 sound device on Sun. To compile this driver as a module, choose M here: the module will be called snd-sun-cs4231. config SND_SUN_DBRI tristate "Sun DBRI" depends on SBUS select SND_PCM help Say Y here to include support for DBRI sound device on Sun. To compile this driver as a module, choose M here: the module will be called snd-sun-dbri. endif # SND_SPARC #SPI drivers menuconfig SND_SPI bool "SPI sound devices" depends on SPI default y help Support for sound devices connected via the SPI bus. if SND_SPI config SND_AT73C213 tristate "Atmel AT73C213 DAC driver" depends on ATMEL_SSC select SND_PCM help Say Y here if you want to use the Atmel AT73C213 external DAC. This DAC can be found on Atmel development boards. This driver requires the Atmel SSC driver for sound sink, a peripheral found on most AT91 and AVR32 microprocessors. To compile this driver as a module, choose M here: the module will be called snd-at73c213. config SND_AT73C213_TARGET_BITRATE int "Target bitrate for AT73C213" depends on SND_AT73C213 default "48000" range 8000 50000 help Sets the target bitrate for the bitrate calculator in the driver. Limited by hardware to be between 8000 Hz and 50000 Hz. Set to 48000 Hz by default. endif # SND_SPI # ALSA USB drivers menuconfig SND_USB bool "USB sound devices" depends on USB default y help Support for sound devices connected via the USB bus. if SND_USB && USB config SND_USB_AUDIO tristate "USB Audio/MIDI driver" select SND_HWDEP select SND_RAWMIDI select SND_PCM help Say Y here to include support for USB audio and USB MIDI devices. To compile this driver as a module, choose M here: the module will be called snd-usb-audio. config SND_USB_UA101 tristate "Edirol UA-101/UA-1000 driver" select SND_PCM select SND_RAWMIDI help Say Y here to include support for the Edirol UA-101 and UA-1000 audio/MIDI interfaces. To compile this driver as a module, choose M here: the module will be called snd-ua101. config SND_USB_USX2Y tristate "Tascam US-122, US-224 and US-428 USB driver" depends on X86 || PPC || ALPHA select SND_HWDEP select SND_RAWMIDI select SND_PCM help Say Y here to include support for Tascam USB Audio/MIDI interfaces or controllers US-122, US-224 and US-428. To compile this driver as a module, choose M here: the module will be called snd-usb-usx2y. config SND_USB_CAIAQ tristate "Native Instruments USB audio devices" select SND_HWDEP select SND_RAWMIDI select SND_PCM help Say Y here to include support for caiaq USB audio interfaces, namely: * Native Instruments RigKontrol2 * Native Instruments RigKontrol3 * Native Instruments Kore Controller * Native Instruments Kore Controller 2 * Native Instruments Audio Kontrol 1 * Native Instruments Audio 2 DJ * Native Instruments Audio 4 DJ * Native Instruments Audio 8 DJ * Native Instruments Traktor Audio 2 * Native Instruments Guitar Rig Session I/O * Native Instruments Guitar Rig mobile * Native Instruments Traktor Kontrol X1 * Native Instruments Traktor Kontrol S4 * Native Instruments Maschine Controller To compile this driver as a module, choose M here: the module will be called snd-usb-caiaq. config SND_USB_CAIAQ_INPUT bool "enable input device for controllers" depends on SND_USB_CAIAQ depends on INPUT=y || INPUT=SND_USB_CAIAQ help Say Y here to support input controllers like buttons, knobs, alpha dials and analog pedals on the following products: * Native Instruments RigKontrol2 * Native Instruments RigKontrol3 * Native Instruments Kore Controller * Native Instruments Kore Controller 2 * Native Instruments Audio Kontrol 1 * Native Instruments Traktor Kontrol S4 * Native Instruments Maschine Controller config SND_USB_US122L tristate "Tascam US-122L USB driver" depends on X86 select SND_HWDEP select SND_RAWMIDI help Say Y here to include support for Tascam US-122L USB Audio/MIDI interfaces. To compile this driver as a module, choose M here: the module will be called snd-usb-us122l. config SND_USB_6FIRE tristate "TerraTec DMX 6Fire USB" select FW_LOADER select BITREVERSE select SND_RAWMIDI select SND_PCM select SND_VMASTER help Say Y here to include support for TerraTec 6fire DMX USB interface. You will need firmware files in order to be able to use the device after it has been coldstarted. An install script for the firmware and further help can be found at http://sixfireusb.sourceforge.net config SND_USB_HIFACE tristate "M2Tech hiFace USB-SPDIF driver" select SND_PCM help Select this option to include support for M2Tech hiFace USB-SPDIF interface. This driver supports the original M2Tech hiFace and some other compatible devices. The supported products are: * M2Tech Young * M2Tech hiFace * M2Tech North Star * M2Tech W4S Young * M2Tech Corrson * M2Tech AUDIA * M2Tech SL Audio * M2Tech Empirical * M2Tech Rockna * M2Tech Pathos * M2Tech Metronome * M2Tech CAD * M2Tech Audio Esclusive * M2Tech Rotel * M2Tech Eeaudio * The Chord Company CHORD * AVA Group A/S Vitus To compile this driver as a module, choose M here: the module will be called snd-usb-hiface. endif # SND_USB # # Configuration for initramfs # config INITRAMFS_SOURCE string "Initramfs source file(s)" default "" help This can be either a single cpio archive with a .cpio suffix or a space-separated list of directories and files for building the initramfs image. A cpio archive should contain a filesystem archive to be used as an initramfs image. Directories should contain a filesystem layout to be included in the initramfs image. Files should contain entries according to the format described by the "usr/gen_init_cpio" program in the kernel tree. When multiple directories and files are specified then the initramfs image will be the aggregate of all of them. See for more details. If you are not sure, leave it blank. config INITRAMFS_ROOT_UID int "User ID to map to 0 (user root)" depends on INITRAMFS_SOURCE!="" default "0" help This setting is only meaningful if the INITRAMFS_SOURCE is contains a directory. Setting this user ID (UID) to something other than "0" will cause all files owned by that UID to be owned by user root in the initial ramdisk image. If you are not sure, leave it set to "0". config INITRAMFS_ROOT_GID int "Group ID to map to 0 (group root)" depends on INITRAMFS_SOURCE!="" default "0" help This setting is only meaningful if the INITRAMFS_SOURCE is contains a directory. Setting this group ID (GID) to something other than "0" will cause all files owned by that GID to be owned by group root in the initial ramdisk image. If you are not sure, leave it set to "0". config RD_GZIP bool "Support initial ramdisks compressed using gzip" if EXPERT default y depends on BLK_DEV_INITRD select DECOMPRESS_GZIP help Support loading of a gzip encoded initial ramdisk or cpio buffer. If unsure, say Y. config RD_BZIP2 bool "Support initial ramdisks compressed using bzip2" if EXPERT default !EXPERT depends on BLK_DEV_INITRD select DECOMPRESS_BZIP2 help Support loading of a bzip2 encoded initial ramdisk or cpio buffer If unsure, say N. config RD_LZMA bool "Support initial ramdisks compressed using LZMA" if EXPERT default !EXPERT depends on BLK_DEV_INITRD select DECOMPRESS_LZMA help Support loading of a LZMA encoded initial ramdisk or cpio buffer If unsure, say N. config RD_XZ bool "Support initial ramdisks compressed using XZ" if EXPERT default !EXPERT depends on BLK_DEV_INITRD select DECOMPRESS_XZ help Support loading of a XZ encoded initial ramdisk or cpio buffer. If unsure, say N. config RD_LZO bool "Support initial ramdisks compressed using LZO" if EXPERT default !EXPERT depends on BLK_DEV_INITRD select DECOMPRESS_LZO help Support loading of a LZO encoded initial ramdisk or cpio buffer If unsure, say N. config RD_LZ4 bool "Support initial ramdisks compressed using LZ4" if EXPERT default !EXPERT depends on BLK_DEV_INITRD select DECOMPRESS_LZ4 help Support loading of a LZ4 encoded initial ramdisk or cpio buffer If unsure, say N. choice prompt "Built-in initramfs compression mode" if INITRAMFS_SOURCE!="" help This option decides by which algorithm the builtin initramfs will be compressed. Several compression algorithms are available, which differ in efficiency, compression and decompression speed. Compression speed is only relevant when building a kernel. Decompression speed is relevant at each boot. If you have any problems with bzip2 or LZMA compressed initramfs, mail me (Alain Knaff) . High compression options are mostly useful for users who are low on RAM, since it reduces the memory consumption during boot. If in doubt, select 'gzip' config INITRAMFS_COMPRESSION_NONE bool "None" help Do not compress the built-in initramfs at all. This may sound wasteful in space, but, you should be aware that the built-in initramfs will be compressed at a later stage anyways along with the rest of the kernel, on those architectures that support this. However, not compressing the initramfs may lead to slightly higher memory consumption during a short time at boot, while both the cpio image and the unpacked filesystem image will be present in memory simultaneously config INITRAMFS_COMPRESSION_GZIP bool "Gzip" depends on RD_GZIP help The old and tried gzip compression. It provides a good balance between compression ratio and decompression speed. config INITRAMFS_COMPRESSION_BZIP2 bool "Bzip2" depends on RD_BZIP2 help Its compression ratio and speed is intermediate. Decompression speed is slowest among the choices. The initramfs size is about 10% smaller with bzip2, in comparison to gzip. Bzip2 uses a large amount of memory. For modern kernels you will need at least 8MB RAM or more for booting. config INITRAMFS_COMPRESSION_LZMA bool "LZMA" depends on RD_LZMA help This algorithm's compression ratio is best. Decompression speed is between the other choices. Compression is slowest. The initramfs size is about 33% smaller with LZMA in comparison to gzip. config INITRAMFS_COMPRESSION_XZ bool "XZ" depends on RD_XZ help XZ uses the LZMA2 algorithm. The initramfs size is about 30% smaller with XZ in comparison to gzip. Decompression speed is better than that of bzip2 but worse than gzip and LZO. Compression is slow. config INITRAMFS_COMPRESSION_LZO bool "LZO" depends on RD_LZO help Its compression ratio is the poorest among the choices. The kernel size is about 10% bigger than gzip; however its speed (both compression and decompression) is the fastest. endchoice # KVM common configuration items and defaults config HAVE_KVM bool config HAVE_KVM_IRQCHIP bool config HAVE_KVM_IRQ_ROUTING bool config HAVE_KVM_EVENTFD bool select EVENTFD config KVM_APIC_ARCHITECTURE bool config KVM_MMIO bool config KVM_ASYNC_PF bool config HAVE_KVM_MSI bool config HAVE_KVM_CPU_RELAX_INTERCEPT bool config KVM_VFIO bool