xtensa: simplify addition of new core variants
Instead of adding new Kconfig options and Makefile rules for each new core variant provide XTENSA_VARIANT_CUSTOM variant and record variant name in the XTENSA_VARIANT_NAME variable. Adding new core variant now means providing directory structure under arch/xtensa/variant and specifying correct name in kernel configuration. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
64aa90f26c
commit
420ae95184
2 changed files with 37 additions and 6 deletions
|
@ -62,7 +62,9 @@ config TRACE_IRQFLAGS_SUPPORT
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
||||||
config MMU
|
config MMU
|
||||||
def_bool n
|
bool
|
||||||
|
default n if !XTENSA_VARIANT_CUSTOM
|
||||||
|
default XTENSA_VARIANT_MMU if XTENSA_VARIANT_CUSTOM
|
||||||
|
|
||||||
config VARIANT_IRQ_SWITCH
|
config VARIANT_IRQ_SWITCH
|
||||||
def_bool n
|
def_bool n
|
||||||
|
@ -102,8 +104,40 @@ config XTENSA_VARIANT_S6000
|
||||||
select VARIANT_IRQ_SWITCH
|
select VARIANT_IRQ_SWITCH
|
||||||
select ARCH_REQUIRE_GPIOLIB
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
select XTENSA_CALIBRATE_CCOUNT
|
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
|
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
|
config XTENSA_UNALIGNED_USER
|
||||||
bool "Unaligned memory access in use space"
|
bool "Unaligned memory access in use space"
|
||||||
help
|
help
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
# for more details.
|
# for more details.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2001 - 2005 Tensilica Inc.
|
# Copyright (C) 2001 - 2005 Tensilica Inc.
|
||||||
|
# Copyright (C) 2014 Cadence Design Systems Inc.
|
||||||
#
|
#
|
||||||
# This file is included by the global makefile so that you can add your own
|
# This file is included by the global makefile so that you can add your own
|
||||||
# architecture-specific flags and dependencies. Remember to do have actions
|
# architecture-specific flags and dependencies. Remember to do have actions
|
||||||
|
@ -13,11 +14,7 @@
|
||||||
# Core configuration.
|
# Core configuration.
|
||||||
# (Use VAR=<xtensa_config> to use another default compiler.)
|
# (Use VAR=<xtensa_config> to use another default compiler.)
|
||||||
|
|
||||||
variant-$(CONFIG_XTENSA_VARIANT_FSF) := fsf
|
variant-y := $(patsubst "%",%,$(CONFIG_XTENSA_VARIANT_NAME))
|
||||||
variant-$(CONFIG_XTENSA_VARIANT_DC232B) := dc232b
|
|
||||||
variant-$(CONFIG_XTENSA_VARIANT_DC233C) := dc233c
|
|
||||||
variant-$(CONFIG_XTENSA_VARIANT_S6000) := s6000
|
|
||||||
variant-$(CONFIG_XTENSA_VARIANT_LINUX_CUSTOM) := custom
|
|
||||||
|
|
||||||
VARIANT = $(variant-y)
|
VARIANT = $(variant-y)
|
||||||
export VARIANT
|
export VARIANT
|
||||||
|
|
Loading…
Add table
Reference in a new issue