492 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			492 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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_FUNCTION_TRACER
 | 
						|
	select HAVE_IRQ_TIME_ACCOUNTING
 | 
						|
	select HAVE_OPROFILE
 | 
						|
	select HAVE_PERF_EVENTS
 | 
						|
	select IRQ_DOMAIN
 | 
						|
	select MODULES_USE_ELF_RELA
 | 
						|
	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
 | 
						|
	bool
 | 
						|
	default n if !XTENSA_VARIANT_CUSTOM
 | 
						|
	default XTENSA_VARIANT_MMU if XTENSA_VARIANT_CUSTOM
 | 
						|
 | 
						|
config VARIANT_IRQ_SWITCH
 | 
						|
	def_bool n
 | 
						|
 | 
						|
config HAVE_XTENSA_GPIO32
 | 
						|
	def_bool n
 | 
						|
 | 
						|
config MAY_HAVE_SMP
 | 
						|
	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_S6000
 | 
						|
	bool "s6000 - Stretch software configurable processor"
 | 
						|
	select VARIANT_IRQ_SWITCH
 | 
						|
	select ARCH_REQUIRE_GPIOLIB
 | 
						|
	select XTENSA_CALIBRATE_CCOUNT
 | 
						|
 | 
						|
config XTENSA_VARIANT_CUSTOM
 | 
						|
	bool "Custom Xtensa processor configuration"
 | 
						|
	select MAY_HAVE_SMP
 | 
						|
	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 "s6000"				if XTENSA_VARIANT_S6000
 | 
						|
	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
 | 
						|
	help
 | 
						|
	  Build a Conventional Kernel with full MMU support,
 | 
						|
	  ie: it supports a TLB with auto-loading, page protection.
 | 
						|
 | 
						|
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 MAY_HAVE_SMP
 | 
						|
	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 controlers.
 | 
						|
 | 
						|
	  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"
 | 
						|
	depends on MMU
 | 
						|
	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_S6105
 | 
						|
	bool "S6105"
 | 
						|
	select HAVE_IDE
 | 
						|
	select SERIAL_CONSOLE
 | 
						|
	select NO_IOPORT_MAP
 | 
						|
 | 
						|
config XTENSA_PLATFORM_XTFPGA
 | 
						|
	bool "XTFPGA"
 | 
						|
	select ETHOC if ETHERNET
 | 
						|
	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 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.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
source "net/Kconfig"
 | 
						|
 | 
						|
source "drivers/Kconfig"
 | 
						|
 | 
						|
source "fs/Kconfig"
 | 
						|
 | 
						|
source "arch/xtensa/Kconfig.debug"
 | 
						|
 | 
						|
source "security/Kconfig"
 | 
						|
 | 
						|
source "crypto/Kconfig"
 | 
						|
 | 
						|
source "lib/Kconfig"
 | 
						|
 | 
						|
 |