config ARM bool select HAS_KALLSYMS select HAS_CACHE select HAVE_CONFIGURABLE_TEXT_BASE if !RELOCATABLE select HAVE_IMAGE_COMPRESSION default y config ARM_LINUX bool default y depends on CMD_BOOTZ || CMD_BOOTU || BOOTM config HAVE_MACH_ARM_HEAD bool config ARM_USE_COMPRESSED_DTB bool select UNCOMPRESS select LZO_DECOMPRESS config TEXT_BASE hex default 0x0 menu "System Type" config BUILTIN_DTB bool "link a DTB into the barebox image" depends on OFTREE depends on !HAVE_PBL_MULTI_IMAGES config BUILTIN_DTB_NAME string "DTB to build into the barebox image" depends on BUILTIN_DTB default "canon-a1100" if MACH_CANON_A1100 default "imx51-genesi-efika-sb" if MACH_EFIKA_MX_SMARTBOOK default "versatile-pb" if ARCH_VERSATILE_PB default "virt2real" if MACH_VIRT2REAL default "module-mb7707" if MACH_MB7707 choice prompt "ARM system type" config ARCH_AT91 bool "Atmel AT91" select GPIOLIB select CLKDEV_LOOKUP select HAS_DEBUG_LL select HAVE_CLK select PINCTRL_AT91 select COMMON_CLK_AT91 if COMMON_CLK_OF_PROVIDER config ARCH_BCM283X bool "Broadcom BCM283x based boards" select GPIOLIB select CLKDEV_LOOKUP select COMMON_CLK select CLOCKSOURCE_BCM283X select ARM_AMBA select HAS_DEBUG_LL select RELOCATABLE select OFTREE select OFDEVICE select HAVE_PBL_MULTI_IMAGES config ARCH_CLPS711X bool "Cirrus Logic EP711x/EP721x/EP731x" select CLKDEV_LOOKUP select CLOCKSOURCE_CLPS711X select COMMON_CLK select CPU_32v4T select GPIOLIB select MFD_SYSCON config ARCH_DAVINCI bool "TI Davinci" select CPU_ARM926T select HAS_DEBUG_LL select GPIOLIB config ARCH_DIGIC bool "Canon DIGIC-based cameras" select CPU_ARM946E select HAS_DEBUG_LL select CLOCKSOURCE_DIGIC select GPIOLIB help Support for Canon's digital cameras that use the DIGIC4 chip. config ARCH_EP93XX bool "Cirrus Logic EP93xx" select CPU_ARM920T select GENERIC_GPIO config ARCH_HIGHBANK bool "Calxeda Highbank" select HAS_DEBUG_LL select ARCH_HAS_L2X0 select CPU_V7 select ARM_AMBA select AMBA_SP804 select CLKDEV_LOOKUP select COMMON_CLK select GPIOLIB config ARCH_IMX bool "Freescale iMX-based" select GPIOLIB select COMMON_CLK select CLKDEV_LOOKUP select WATCHDOG_IMX_RESET_SOURCE select HAS_DEBUG_LL config ARCH_MVEBU bool "Marvell EBU platforms" select COMMON_CLK select COMMON_CLK_OF_PROVIDER select CLKDEV_LOOKUP select GPIOLIB select HAS_DEBUG_LL select HAVE_MACH_ARM_HEAD select HAVE_PBL_MULTI_IMAGES select HW_HAS_PCI select MVEBU_MBUS select OFTREE select OF_ADDRESS_PCI select PINCTRL config ARCH_MXS bool "Freescale i.MX23/28 (mxs) based" select GPIOLIB select GENERIC_GPIO select COMMON_CLK select CLKDEV_LOOKUP select HAS_DEBUG_LL config ARCH_NETX bool "Hilscher NetX based" select CPU_ARM926T config ARCH_NOMADIK bool "STMicroelectronics Nomadik" select CPU_ARM926T select CLOCKSOURCE_NOMADIK select HAVE_CLK help Support for the Nomadik platform by ST-Ericsson config ARCH_OMAP bool "TI OMAP" select HAS_DEBUG_LL select GPIOLIB config ARCH_PXA bool "Intel/Marvell PXA based" select GENERIC_GPIO config ARCH_ROCKCHIP bool "Rockchip RX3xxx" select CPU_V7 select ARM_SMP_TWD select COMMON_CLK select CLKDEV_LOOKUP select COMMON_CLK_OF_PROVIDER select GPIOLIB select PINCTRL select PINCTRL_ROCKCHIP select OFTREE select HAVE_PBL_MULTI_IMAGES select HAS_DEBUG_LL select ARCH_HAS_L2X0 config ARCH_SOCFPGA bool "Altera SOCFPGA" select HAS_DEBUG_LL select ARM_SMP_TWD select CPU_V7 select COMMON_CLK select CLKDEV_LOOKUP config ARCH_S3C24xx bool "Samsung S3C2410, S3C2440" select ARCH_SAMSUNG select CPU_ARM920T select GENERIC_GPIO config ARCH_S5PCxx bool "Samsung S5PC110, S5PV210" select ARCH_SAMSUNG select CPU_V7 select GENERIC_GPIO config ARCH_S3C64xx bool "Samsung S3C64xx" select ARCH_SAMSUNG select CPU_V6 select GENERIC_GPIO config ARCH_VERSATILE bool "ARM Versatile boards (ARM926EJ-S)" select GPIOLIB select HAVE_CLK select HAS_DEBUG_LL config ARCH_VEXPRESS bool "ARM Vexpres boards" select HAS_DEBUG_LL select CPU_V7 select ARM_AMBA select AMBA_SP804 select CLKDEV_LOOKUP select COMMON_CLK config ARCH_TEGRA bool "NVIDIA Tegra" select CPU_V7 select HAS_DEBUG_LL select HW_HAS_PCI select COMMON_CLK select COMMON_CLK_OF_PROVIDER select CLKDEV_LOOKUP select GPIOLIB select GPIO_TEGRA select HAVE_PBL_MULTI_IMAGES select OFDEVICE select OFTREE select RELOCATABLE select RESET_CONTROLLER select PINCTRL config ARCH_UEMD bool "RC Module UEMD Platform" select CPU_ARM1176 select COMMON_CLK select COMMON_CLK_OF_PROVIDER select CLKDEV_LOOKUP select OFDEVICE select OFTREE select CLOCKSOURCE_UEMD select HAS_DEBUG_LL config ARCH_ZYNQ bool "Xilinx Zynq-based boards" select HAS_DEBUG_LL config ARCH_QEMU bool "ARM QEMU boards" select HAS_DEBUG_LL endchoice source arch/arm/cpu/Kconfig source arch/arm/mach-at91/Kconfig source arch/arm/mach-bcm283x/Kconfig source arch/arm/mach-clps711x/Kconfig source arch/arm/mach-davinci/Kconfig source arch/arm/mach-digic/Kconfig source arch/arm/mach-ep93xx/Kconfig source arch/arm/mach-highbank/Kconfig source arch/arm/mach-imx/Kconfig source arch/arm/mach-mxs/Kconfig source arch/arm/mach-mvebu/Kconfig source arch/arm/mach-netx/Kconfig source arch/arm/mach-nomadik/Kconfig source arch/arm/mach-omap/Kconfig source arch/arm/mach-pxa/Kconfig source arch/arm/mach-rockchip/Kconfig source arch/arm/mach-samsung/Kconfig source arch/arm/mach-socfpga/Kconfig source arch/arm/mach-versatile/Kconfig source arch/arm/mach-vexpress/Kconfig source arch/arm/mach-tegra/Kconfig source arch/arm/mach-uemd/Kconfig source arch/arm/mach-zynq/Kconfig source arch/arm/mach-qemu/Kconfig config ARM_ASM_UNIFIED bool config AEABI bool "Use the ARM EABI to compile barebox" depends on !CPU_V8 help This option allows for barebox to be compiled using the latest ARM ABI (aka EABI). To use this you need GCC version 4.0.0 or later. config THUMB2_BAREBOX select ARM_ASM_UNIFIED select AEABI depends on !ARCH_TEGRA && !ARCH_AT91 depends on CPU_V7 && !CPU_32v4T && !CPU_32v5 && !CPU_32v6 bool "Compile barebox in thumb-2 mode (read help)" help This enables compilation of barebox in thumb-2 mode which generates ~25% smaller binaries. ARM assembly code needs some fixups to be able to work correctly in thumb-2 mode. the barebox core should have these fixups since most assembly code is derived from the Kernel. However, your board lowlevel init code may break in thumb-2 mode. You have been warned. config ARM_BOARD_APPEND_ATAG bool "Let board specific code to add ATAGs to be passed to the kernel" depends on ARM_LINUX && !CPU_V8 help This option is purely to start some vendor provided kernels. ** DO NOT USE FOR YOUR OWN DESIGNS! ** config ARM_BOARD_PREPEND_ATAG bool "Prepend the board specific ATAGs" depends on ARM_BOARD_APPEND_ATAG help Choose this option if your kernel crops the passed ATAG list e.g. at ATAG_MEM, also cropping off the board specific ATAGs. This option will pass all board specific ATAGs in front of all other ATAGs. This option is purely to start some vendor provided kernels. ** DO NOT USE FOR YOUR OWN DESIGNS! ** endmenu choice prompt "Barebox 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 modes. config 32BIT bool "32-bit barebox" depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL help Select this option if you want to build a 32-bit barebox. config 64BIT bool "64-bit barebox" depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL select ARCH_DMA_ADDR_T_64BIT help Select this option if you want to build a 64-bit barebox. endchoice menu "ARM specific settings" config ARM_OPTIMZED_STRING_FUNCTIONS bool "use assembler optimized string functions" # # memset() and memcpy() in arm/lib64/mem[set|cpy].S are # written with assumption of enabled MMU and cache. Depending # on the inputs in may fail with Alignement exception if used # without MMU # depends on !CPU_V8 || MMU help Say yes here to use assembler optimized memcpy / memset functions. These functions work much faster than the normal versions but increase your binary size. config ARM_EXCEPTIONS bool "enable arm exception handling support" default y config ARM_UNWIND bool "enable stack unwinding support" depends on AEABI help This option enables stack unwinding support in barebox using the information automatically generated by the compiler. The resulting kernel image is slightly bigger but the performance is not affected. Currently, this feature only works with EABI compilers. If unsure say Y. config ARM_SEMIHOSTING bool "enable ARM semihosting support" depends on !CPU_V8 help This option enables ARM semihosting support in barebox. ARM semihosting is a communication discipline that allows code running on target ARM cpu perform system calls and access the data on the host computer connected to the target via debugging channel (JTAG, SWD). If unsure say N config ARM_SMCCC bool config ARM_SECURE_MONITOR select ARM_SMCCC bool config ARM_PSCI bool "enable Power State Coordination Interface (PSCI) support" depends on CPU_V7 select ARM_SECURE_MONITOR help PSCI is used for controlling secondary CPU cores on some systems. Say yes here if you have one of these. config ARM_PSCI_DEBUG bool "Enable PSCI debugging" depends on ARM_PSCI help This enables debug output from the PSCI functions during runtime of the Kernel. This needs board specific help, the board needs to provide a putc function using psci_set_putc(). This putc function will then be called during runtime of the Kernel, so it must be able to cope with that. It may happen for example that the Kernel has turned off some clocks needed in the putc function. Only use for debugging. endmenu