Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

config CONFIG_AVR32
	def_bool y
	# With CONFIG_EXPERT=n, we get lots of stuff automatically selected
	# that we usually don't need on CONFIG_AVR32.
	select CONFIG_EXPERT
	select CONFIG_HAVE_CLK
	select CONFIG_HAVE_EXIT_THREAD
	select CONFIG_HAVE_OPROFILE
	select CONFIG_HAVE_KPROBES
	select CONFIG_VIRT_TO_BUS
	select CONFIG_GENERIC_IRQ_PROBE
	select CONFIG_GENERIC_ATOMIC64
	select CONFIG_HARDIRQS_SW_RESEND
	select CONFIG_GENERIC_IRQ_SHOW
	select CONFIG_ARCH_HAVE_CUSTOM_GPIO_H
	select CONFIG_ARCH_WANT_IPC_PARSE_VERSION
	select CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG
	select CONFIG_GENERIC_CLOCKEVENTS
	select CONFIG_HAVE_MOD_ARCH_SPECIFIC
	select CONFIG_MODULES_USE_ELF_RELA
	select CONFIG_HAVE_NMI
	help
	  CONFIG_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 CONFIG_AVR32 Linux project with a web page at
	  http://avr32linux.org/.

config CONFIG_STACKTRACE_SUPPORT
	def_bool y

config CONFIG_LOCKDEP_SUPPORT
	def_bool y

config CONFIG_TRACE_IRQFLAGS_SUPPORT
	def_bool y

config CONFIG_RWSEM_GENERIC_SPINLOCK
	def_bool y

config CONFIG_RWSEM_XCHGADD_ALGORITHM
	def_bool n

config CONFIG_ARCH_HAS_ILOG2_U32
	def_bool n

config CONFIG_ARCH_HAS_ILOG2_U64
	def_bool n

config CONFIG_GENERIC_HWEIGHT
	def_bool y

config CONFIG_GENERIC_CALIBRATE_DELAY
	def_bool y

config CONFIG_GENERIC_BUG
	def_bool y
	depends on CONFIG_BUG

source "init/Kconfig"

source "kernel/Kconfig.freezer"

menu "System Type and features"

config CONFIG_SUBARCH_AVR32B
	bool
config CONFIG_MMU
	bool
config CONFIG_PERFORMANCE_COUNTERS
	bool

config CONFIG_PLATFORM_AT32AP
	bool
	select CONFIG_SUBARCH_AVR32B
	select CONFIG_MMU
	select CONFIG_PERFORMANCE_COUNTERS
	select CONFIG_GPIOLIB
	select CONFIG_GENERIC_ALLOCATOR
	select CONFIG_HAVE_FB_ATMEL

#
# CPU types
#

# AP7000 derivatives
config CONFIG_CPU_AT32AP700X
	bool
	select CONFIG_PLATFORM_AT32AP
config CONFIG_CPU_AT32AP7000
	bool
	select CONFIG_CPU_AT32AP700X
config CONFIG_CPU_AT32AP7001
	bool
	select CONFIG_CPU_AT32AP700X
config CONFIG_CPU_AT32AP7002
	bool
	select CONFIG_CPU_AT32AP700X

# AP700X boards
config CONFIG_BOARD_ATNGW100_COMMON
	bool
	select CONFIG_CPU_AT32AP7000

choice
	prompt "AVR32 board type"
	default CONFIG_BOARD_ATSTK1000

config CONFIG_BOARD_ATSTK1000
	bool "ATSTK1000 evaluation board"

config CONFIG_BOARD_ATNGW100_MKI
	bool "ATNGW100 Network Gateway"
	select CONFIG_BOARD_ATNGW100_COMMON

config CONFIG_BOARD_ATNGW100_MKII
	bool "ATNGW100 mkII Network Gateway"
	select CONFIG_BOARD_ATNGW100_COMMON

config CONFIG_BOARD_HAMMERHEAD
	bool "Hammerhead board"
	select CONFIG_CPU_AT32AP7000
	select CONFIG_USB_ARCH_HAS_HCD
	help
	  The Hammerhead platform is built around an CONFIG_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 CONFIG_FPGA from Altera is integrated on the board. The CONFIG_FPGA is
	  mapped into the 32-bit AVR memory bus. The CONFIG_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 CONFIG_BOARD_FAVR_32
	bool "Favr-32 LCD-board"
	select CONFIG_CPU_AT32AP7000

config CONFIG_BOARD_MERISC
	bool "Merisc board"
	select CONFIG_CPU_AT32AP7000
	help
	  Merisc is the family name for a range of CONFIG_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 CONFIG_BOARD_MIMC200
	bool "MIMC200 CPU board"
	select CONFIG_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 CONFIG_LOADER_U_BOOT

config	CONFIG_LOADER_U_BOOT
	bool "U-Boot (or similar) bootloader"
endchoice

source "arch/avr32/mach-at32ap/Kconfig"

config CONFIG_LOAD_ADDRESS
	hex
	default 0x10000000 if CONFIG_LOADER_U_BOOT=y && CONFIG_CPU_AT32AP700X=y

config CONFIG_ENTRY_ADDRESS
	hex
	default 0x90000000 if CONFIG_LOADER_U_BOOT=y && CONFIG_CPU_AT32AP700X=y

config CONFIG_PHYS_OFFSET
	hex
	default 0x10000000 if CONFIG_CPU_AT32AP700X=y

source "kernel/Kconfig.preempt"

config CONFIG_QUICKLIST
	def_bool y

config CONFIG_ARCH_HAVE_MEMORY_PRESENT
	def_bool n

config CONFIG_NEED_NODE_MEMMAP_SIZE
	def_bool n

config CONFIG_ARCH_FLATMEM_ENABLE
	def_bool y

config CONFIG_ARCH_DISCONTIGMEM_ENABLE
	def_bool n

config CONFIG_ARCH_SPARSEMEM_ENABLE
	def_bool n

config CONFIG_NODES_SHIFT
	int
	default "2"
	depends on CONFIG_NEED_MULTIPLE_NODES

source "mm/Kconfig"

config 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 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.

# CONFIG_FPU emulation goes here

source "kernel/Kconfig.hz"

config 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 CONFIG_ARCH_SUSPEND_POSSIBLE
	def_bool y

menu "CPU Frequency scaling"
source "drivers/cpufreq/Kconfig"
endmenu

endmenu

menu "Bus options"

config 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"