Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 420ae951 authored by Max Filippov's avatar Max Filippov
Browse files

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: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 64aa90f2
Loading
Loading
Loading
Loading
+35 −1
Original line number Diff line number Diff line
@@ -62,7 +62,9 @@ config TRACE_IRQFLAGS_SUPPORT
	def_bool y

config MMU
	def_bool n
	bool
	default n if !XTENSA_VARIANT_CUSTOM
	default XTENSA_VARIANT_MMU if XTENSA_VARIANT_CUSTOM

config VARIANT_IRQ_SWITCH
	def_bool n
@@ -102,8 +104,40 @@ config XTENSA_VARIANT_S6000
	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
+2 −5
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
# for more details.
#
# 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
# architecture-specific flags and dependencies. Remember to do have actions
@@ -13,11 +14,7 @@
# Core configuration.
# (Use VAR=<xtensa_config> to use another default compiler.)

variant-$(CONFIG_XTENSA_VARIANT_FSF)		:= fsf
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-y := $(patsubst "%",%,$(CONFIG_XTENSA_VARIANT_NAME))

VARIANT = $(variant-y)
export VARIANT