| config ZONE_DMA | |
| def_bool y | |
| config XTENSA | |
| def_bool y | |
| select ARCH_WANT_FRAME_POINTERS | |
| select ARCH_WANT_IPC_PARSE_VERSION | |
| select ARCH_WANT_OPTIONAL_GPIOLIB | |
| select BUILDTIME_EXTABLE_SORT | |
| select CLONE_BACKWARDS | |
| select COMMON_CLK | |
| select GENERIC_ATOMIC64 | |
| select GENERIC_CLOCKEVENTS | |
| select GENERIC_IRQ_SHOW | |
| select GENERIC_PCI_IOMAP | |
| select GENERIC_SCHED_CLOCK | |
| select HAVE_DMA_API_DEBUG | |
| select HAVE_DMA_ATTRS | |
| select HAVE_FUNCTION_TRACER | |
| select HAVE_IRQ_TIME_ACCOUNTING | |
| select HAVE_OPROFILE | |
| select HAVE_PERF_EVENTS | |
| select IRQ_DOMAIN | |
| select MODULES_USE_ELF_RELA | |
| select PERF_USE_VMALLOC | |
| select VIRT_TO_BUS | |
| 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 <http://www.linux-xtensa.org/>. | |
| 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_MAP | |
| 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 | |
| config HAVE_XTENSA_GPIO32 | |
| 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 | |
| select HAVE_XTENSA_GPIO32 | |
| 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 | |
| select HAVE_XTENSA_GPIO32 | |
| help | |
| This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE). | |
| config XTENSA_VARIANT_CUSTOM | |
| bool "Custom Xtensa processor configuration" | |
| select HAVE_XTENSA_GPIO32 | |
| help | |
| Select this variant to use a custom Xtensa processor configuration. | |
| You will be prompted for a processor variant CORENAME. | |
| endchoice | |
| config XTENSA_VARIANT_CUSTOM_NAME | |
| string "Xtensa Processor Custom Core Variant Name" | |
| depends on XTENSA_VARIANT_CUSTOM | |
| help | |
| Provide the name of a custom Xtensa processor variant. | |
| This CORENAME selects arch/xtensa/variant/CORENAME. | |
| Dont forget you have to select MMU if you have one. | |
| config XTENSA_VARIANT_NAME | |
| string | |
| default "dc232b" if XTENSA_VARIANT_DC232B | |
| default "dc233c" if XTENSA_VARIANT_DC233C | |
| default "fsf" if XTENSA_VARIANT_FSF | |
| default XTENSA_VARIANT_CUSTOM_NAME if XTENSA_VARIANT_CUSTOM | |
| config XTENSA_VARIANT_MMU | |
| bool "Core variant has a Full MMU (TLB, Pages, Protection, etc)" | |
| depends on XTENSA_VARIANT_CUSTOM | |
| default y | |
| select MMU | |
| help | |
| Build a Conventional Kernel with full MMU support, | |
| ie: it supports a TLB with auto-loading, page protection. | |
| config XTENSA_VARIANT_HAVE_PERF_EVENTS | |
| bool "Core variant has Performance Monitor Module" | |
| depends on XTENSA_VARIANT_CUSTOM | |
| default n | |
| help | |
| Enable if core variant has Performance Monitor Module with | |
| External Registers Interface. | |
| If unsure, say N. | |
| 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 HAVE_SMP | |
| bool "System Supports SMP (MX)" | |
| depends on XTENSA_VARIANT_CUSTOM | |
| select XTENSA_MX | |
| help | |
| This option is use to indicate that the system-on-a-chip (SOC) | |
| supports Multiprocessing. Multiprocessor support implemented above | |
| the CPU core definition and currently needs to be selected manually. | |
| Multiprocessor support in implemented with external cache and | |
| interrupt controllers. | |
| The MX interrupt distributer adds Interprocessor Interrupts | |
| and causes the IRQ numbers to be increased by 4 for devices | |
| like the open cores ethernet driver and the serial interface. | |
| You still have to select "Enable SMP" to enable SMP on this SOC. | |
| config SMP | |
| bool "Enable Symmetric multi-processing support" | |
| depends on HAVE_SMP | |
| select GENERIC_SMP_IDLE_THREAD | |
| help | |
| Enabled SMP Software; allows more than one CPU/CORE | |
| to be activated during startup. | |
| config NR_CPUS | |
| depends on SMP | |
| int "Maximum number of CPUs (2-32)" | |
| range 2 32 | |
| default "4" | |
| 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 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. | |
| config HIGHMEM | |
| bool "High Memory Support" | |
| depends on MMU | |
| help | |
| Linux can use the full amount of RAM in the system by | |
| default. However, the default MMUv2 setup only maps the | |
| lowermost 128 MB of memory linearly to the areas starting | |
| at 0xd0000000 (cached) and 0xd8000000 (uncached). | |
| When there are more than 128 MB memory in the system 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 128 MB total physical RAM, answer | |
| N here. | |
| If unsure, say Y. | |
| config FAST_SYSCALL_XTENSA | |
| bool "Enable fast atomic syscalls" | |
| default n | |
| help | |
| fast_syscall_xtensa is a syscall that can make atomic operations | |
| on UP kernel when processor has no s32c1i support. | |
| This syscall is deprecated. It may have issues when called with | |
| invalid arguments. It is provided only for backwards compatibility. | |
| Only enable it if your userspace software requires it. | |
| If unsure, say N. | |
| config FAST_SYSCALL_SPILL_REGISTERS | |
| bool "Enable spill registers syscall" | |
| default n | |
| help | |
| fast_syscall_spill_registers is a syscall that spills all active | |
| register windows of a calling userspace task onto its stack. | |
| This syscall is deprecated. It may have issues when called with | |
| invalid arguments. It is provided only for backwards compatibility. | |
| Only enable it if your userspace software requires it. | |
| If unsure, say N. | |
| 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 | |
| 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" | |
| select XTENSA_CALIBRATE_CCOUNT | |
| select SERIAL_CONSOLE | |
| help | |
| ISS is an acronym for Tensilica's Instruction Set Simulator. | |
| config XTENSA_PLATFORM_XT2000 | |
| bool "XT2000" | |
| select HAVE_IDE | |
| 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_XTFPGA | |
| bool "XTFPGA" | |
| select ETHOC if ETHERNET | |
| select PLATFORM_WANT_DEFAULT_MEM | |
| select SERIAL_CONSOLE | |
| 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 && BLOCK | |
| 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" | |
| config PLATFORM_WANT_DEFAULT_MEM | |
| def_bool n | |
| config DEFAULT_MEM_START | |
| hex "Physical address of the default memory area start" | |
| depends on PLATFORM_WANT_DEFAULT_MEM | |
| default 0x00000000 if MMU | |
| default 0x40000000 if !MMU | |
| help | |
| This is a fallback start address of the default memory area, it is | |
| used when no physical memory size is passed through DTB or through | |
| boot parameter from bootloader. | |
| In noMMU configuration the following parameters are derived from it: | |
| - kernel load address; | |
| - kernel entry point address; | |
| - relocatable vectors base address; | |
| - uBoot load address; | |
| - TASK_SIZE. | |
| If unsure, leave the default value here. | |
| config DEFAULT_MEM_SIZE | |
| hex "Maximal size of the default memory area" | |
| depends on PLATFORM_WANT_DEFAULT_MEM | |
| default 0x04000000 | |
| help | |
| This is a fallback size of the default memory area, it is used when | |
| no physical memory size is passed through DTB or through boot | |
| parameter from bootloader. | |
| It's also used for TASK_SIZE calculation in noMMU configuration. | |
| If unsure, leave the default value here. | |
| config XTFPGA_LCD | |
| bool "Enable XTFPGA LCD driver" | |
| depends on XTENSA_PLATFORM_XTFPGA | |
| default n | |
| help | |
| There's a 2x16 LCD on most of XTFPGA boards, kernel may output | |
| progress messages there during bootup/shutdown. It may be useful | |
| during board bringup. | |
| If unsure, say N. | |
| config XTFPGA_LCD_BASE_ADDR | |
| hex "XTFPGA LCD base address" | |
| depends on XTFPGA_LCD | |
| default "0x0d0c0000" | |
| help | |
| Base address of the LCD controller inside KIO region. | |
| Different boards from XTFPGA family have LCD controller at different | |
| addresses. Please consult prototyping user guide for your board for | |
| the correct address. Wrong address here may lead to hardware lockup. | |
| config XTFPGA_LCD_8BIT_ACCESS | |
| bool "Use 8-bit access to XTFPGA LCD" | |
| depends on XTFPGA_LCD | |
| default n | |
| help | |
| LCD may be connected with 4- or 8-bit interface, 8-bit access may | |
| only be used with 8-bit interface. Please consult prototyping user | |
| guide for your board for the correct interface width. | |
| endmenu | |
| menu "Executable file formats" | |
| source "fs/Kconfig.binfmt" | |
| endmenu | |
| menu "Power management options" | |
| source "kernel/power/Kconfig" | |
| endmenu | |
| source "net/Kconfig" | |
| source "drivers/Kconfig" | |
| source "fs/Kconfig" | |
| source "arch/xtensa/Kconfig.debug" | |
| source "security/Kconfig" | |
| source "crypto/Kconfig" | |
| source "lib/Kconfig" | |