forked from luck/tmp_suning_uos_patched
bbd7ffdbef
Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> Link: https://lkml.kernel.org/r/20200409064416.83340-8-sboyd@kernel.org Reviewed-by: Mark Brown <broonie@kernel.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
114 lines
3.0 KiB
Plaintext
114 lines
3.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.rst.
|
|
#
|
|
|
|
config C6X
|
|
def_bool y
|
|
select ARCH_32BIT_OFF_T
|
|
select ARCH_HAS_BINFMT_FLAT
|
|
select ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
select CLKDEV_LOOKUP
|
|
select HAVE_LEGACY_CLK
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_IRQ_SHOW
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select SPARSE_IRQ
|
|
select IRQ_DOMAIN
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
select GENERIC_CLOCKEVENTS
|
|
select MODULES_USE_ELF_RELA
|
|
select MMU_GATHER_NO_RANGE if MMU
|
|
|
|
config MMU
|
|
def_bool n
|
|
|
|
config FPU
|
|
def_bool n
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
def_bool y
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_BUG
|
|
def_bool y
|
|
depends on BUG
|
|
|
|
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.
|
|
|
|
# Use the generic interrupt handling code in kernel/irq/
|
|
|
|
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 "kernel/Kconfig.hz"
|
|
|
|
endmenu
|