arm: introduce CPU CONFIG from linux
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
eea19dc488
commit
bab3a3b976
|
@ -18,15 +18,6 @@ config ARM
|
|||
select HAVE_CONFIGURABLE_TEXT_BASE
|
||||
default y
|
||||
|
||||
config ARM920T
|
||||
bool
|
||||
|
||||
config ARM926EJS
|
||||
bool
|
||||
|
||||
config ARMCORTEXA8
|
||||
bool
|
||||
|
||||
menu "System Type"
|
||||
|
||||
choice
|
||||
|
@ -37,24 +28,25 @@ config ARCH_AT91
|
|||
|
||||
config ARCH_AT91RM9200
|
||||
bool "Atmel AT91RM9200"
|
||||
select ARM920T
|
||||
select CPU_ARM920T
|
||||
|
||||
config ARCH_IMX
|
||||
bool "Freescale iMX-based"
|
||||
|
||||
config ARCH_NETX
|
||||
bool "Hilscher NetX based"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
|
||||
config ARCH_OMAP
|
||||
bool "TI OMAP"
|
||||
|
||||
config ARCH_S3C24xx
|
||||
bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
|
||||
select ARM920T
|
||||
select CPU_ARM920T
|
||||
|
||||
endchoice
|
||||
|
||||
source arch/arm/cpu/Kconfig
|
||||
source arch/arm/mach-at91/Kconfig
|
||||
source arch/arm/mach-at91rm9200/Kconfig
|
||||
source arch/arm/mach-imx/Kconfig
|
||||
|
@ -92,9 +84,9 @@ config INITRD_TAG
|
|||
If you want to start a 2.6 kernel and use an
|
||||
initrd image say y here.
|
||||
|
||||
config ARMCORTEXA8_DCACHE_SKIP
|
||||
config CPU_V7_DCACHE_SKIP
|
||||
bool "Skip DCache Invlidate"
|
||||
depends on ARMCORTEXA8
|
||||
depends on CPU_V7
|
||||
default n
|
||||
help
|
||||
If your architecture configuration uses some other method of disabling caches, enable this
|
||||
|
|
|
@ -30,8 +30,8 @@ board-$(CONFIG_MACH_A9M2440) := a9m2440
|
|||
board-$(CONFIG_MACH_EUKREA_CPUIMX27) := eukrea_cpuimx27
|
||||
|
||||
# FIXME "cpu-y" never used on ARM!
|
||||
cpu-$(CONFIG_ARM920T) := arm920t
|
||||
cpu-$(CONFIG_ARM926EJS) := arm926ejs
|
||||
cpu-$(CONFIG_CPU_ARM920T) := arm920t
|
||||
cpu-$(CONFIG_CPU_ARM926T) := arm926ejs
|
||||
|
||||
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
||||
|
||||
|
@ -70,7 +70,7 @@ archprepare: maketools
|
|||
PHONY += maketools
|
||||
|
||||
# Add architecture specific flags
|
||||
ifeq ($(CONFIG_ARMCORTEXA8),y)
|
||||
ifeq ($(CONFIG_CPU_V7),y)
|
||||
CPPFLAGS += -march=armv7a
|
||||
endif
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Digi A9M2410"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM920T=y
|
||||
CONFIG_CPU_ARM920T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Digi A9M2440"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM920T=y
|
||||
CONFIG_CPU_ARM920T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Atmel 91SAM9260-EK"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Atmel at91sam9263-ek"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9263=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Eukrea CPUIMX27"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Freescale MX25 3Stack"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Bucyrus MMC-CPU"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9263=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Freescale i.MX21 ADS"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Freescale i.MX27 ADS"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_IMX=y
|
||||
CONFIG_ARCH_IMX27=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Hilscher Netx nxdb500"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_NETX=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Texas Instrument's SDP343x"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARMCORTEXA8=y
|
||||
CONFIG_CPU_V7=y
|
||||
CONFIG_ARCH_OMAP=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
|
@ -42,7 +42,7 @@ CONFIG_MACH_OMAP343xSDP=y
|
|||
# CONFIG_CMDLINE_TAG is not set
|
||||
# CONFIG_SETUP_MEMORY_TAGS is not set
|
||||
# CONFIG_INITRD_TAG is not set
|
||||
# CONFIG_ARMCORTEXA8_DCACHE_SKIP is not set
|
||||
# CONFIG_CPU_V7_DCACHE_SKIP is not set
|
||||
CONFIG_HAS_KALLSYMS=y
|
||||
CONFIG_HAS_MODULES=y
|
||||
# CONFIG_CMD_MEMORY is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Texas Instrument's Beagle"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARMCORTEXA8=y
|
||||
CONFIG_CPU_V7=y
|
||||
CONFIG_ARCH_OMAP=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
|
@ -43,7 +43,7 @@ CONFIG_MACH_BEAGLE=y
|
|||
# CONFIG_CMDLINE_TAG is not set
|
||||
# CONFIG_SETUP_MEMORY_TAGS is not set
|
||||
# CONFIG_INITRD_TAG is not set
|
||||
# CONFIG_ARMCORTEXA8_DCACHE_SKIP is not set
|
||||
# CONFIG_CPU_V7_DCACHE_SKIP is not set
|
||||
CONFIG_HAS_KALLSYMS=y
|
||||
CONFIG_HAS_MODULES=y
|
||||
# CONFIG_CMD_MEMORY is not set
|
||||
|
|
|
@ -7,7 +7,7 @@ CONFIG_BOARDINFO="Phytec phyCard-i.MX27"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
# CONFIG_MACH_PCM038 is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Phytec phyCORE-i.MX27"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
# CONFIG_MACH_SCB9328 is not set
|
||||
CONFIG_MACH_PCM038=y
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Ronetix PM9263"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM926EJS=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9263=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -8,7 +8,7 @@ CONFIG_BOARDINFO="Synertronixx scb9328"
|
|||
# CONFIG_BOARD_LINKER_SCRIPT is not set
|
||||
CONFIG_GENERIC_LINKER_SCRIPT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM920T=y
|
||||
CONFIG_CPU_ARM920T=y
|
||||
CONFIG_ARCH_IMX=y
|
||||
CONFIG_ARCH_IMX1=y
|
||||
# CONFIG_MACH_MX1ADS is not set
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
comment "Processor Type"
|
||||
|
||||
config CPU_32
|
||||
bool
|
||||
default y
|
||||
|
||||
# Select CPU types depending on the architecture selected. This selects
|
||||
# which CPUs we support in the kernel image, and the compiler instruction
|
||||
# optimiser behaviour.
|
||||
|
||||
# ARM920T
|
||||
config CPU_ARM920T
|
||||
bool
|
||||
select CPU_32v4T
|
||||
help
|
||||
The ARM920T is licensed to be produced by numerous vendors,
|
||||
and is used in the Maverick EP9312 and the Samsung S3C2410.
|
||||
|
||||
More information on the Maverick EP9312 at
|
||||
<http://linuxdevices.com/products/PD2382866068.html>.
|
||||
|
||||
Say Y if you want support for the ARM920T processor.
|
||||
Otherwise, say N.
|
||||
|
||||
|
||||
# ARM926T
|
||||
config CPU_ARM926T
|
||||
bool
|
||||
select CPU_32v5
|
||||
help
|
||||
This is a variant of the ARM920. It has slightly different
|
||||
instruction sequences for cache and TLB operations. Curiously,
|
||||
there is no documentation on it at the ARM corporate website.
|
||||
|
||||
Say Y if you want support for the ARM926T processor.
|
||||
Otherwise, say N.
|
||||
|
||||
# ARMv7
|
||||
config CPU_V7
|
||||
bool
|
||||
select CPU_32v7
|
||||
|
||||
# Figure out what processor architecture version we should be using.
|
||||
# This defines the compiler instruction set which depends on the machine type.
|
||||
config CPU_32v4T
|
||||
bool
|
||||
|
||||
config CPU_32v5
|
||||
bool
|
||||
|
||||
config CPU_32v7
|
||||
bool
|
|
@ -4,9 +4,9 @@ obj-y += interrupts.o
|
|||
#
|
||||
# Any variants can be called as start-armxyz.S
|
||||
#
|
||||
obj-$(CONFIG_ARM920T) += start-arm.o
|
||||
obj-$(CONFIG_ARM926EJS) += start-arm.o
|
||||
obj-$(CONFIG_ARMCORTEXA8) += start-arm.o
|
||||
obj-$(CONFIG_CPU_ARM920T) += start-arm.o
|
||||
obj-$(CONFIG_CPU_ARM926T) += start-arm.o
|
||||
obj-$(CONFIG_CPU_V7) += start-arm.o
|
||||
obj-$(CONFIG_ARCH_IMX31) += start-arm.o
|
||||
obj-$(CONFIG_ARCH_IMX35) += start-arm.o
|
||||
obj-$(CONFIG_CMD_ARM_CPUINFO) += cpuinfo.o
|
||||
|
|
|
@ -131,7 +131,7 @@ reset:
|
|||
bl arch_init_lowlevel
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARMCORTEXA8
|
||||
#ifdef CONFIG_CPU_V7
|
||||
/*
|
||||
* Invalidate v7 I/D caches
|
||||
*/
|
||||
|
@ -139,7 +139,7 @@ reset:
|
|||
mcr p15, 0, r0, c8, c7, 0 /* invalidate TLBs */
|
||||
mcr p15, 0, r0, c7, c5, 0 /* invalidate icache */
|
||||
/* Invalidate all Dcaches */
|
||||
#ifndef CONFIG_ARMCORTEXA8_DCACHE_SKIP
|
||||
#ifndef CONFIG_CPU_V7_DCACHE_SKIP
|
||||
/* If Arch specific ROM code SMI handling does not exist */
|
||||
mrc p15, 1, r0, c0, c0, 1 /* read clidr */
|
||||
ands r3, r0, #0x7000000 /* extract loc from clidr */
|
||||
|
@ -180,7 +180,7 @@ finished_inval:
|
|||
mov r10, #0 /* swith back to cache level 0 */
|
||||
mcr p15, 2, r10, c0, c0, 0 /* select current cache level in cssr */
|
||||
isb
|
||||
#endif /* CONFIG_ARMCORTEXA8_DCACHE_SKIP */
|
||||
#endif /* CONFIG_CPU_V7_DCACHE_SKIP */
|
||||
|
||||
#else
|
||||
/*
|
||||
|
|
|
@ -17,11 +17,11 @@ choice
|
|||
|
||||
config ARCH_AT91SAM9260
|
||||
bool "AT91SAM9260"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
|
||||
config ARCH_AT91SAM9263
|
||||
bool "AT91SAM9263"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
select MACH_HAS_LOWLEVEL_INIT
|
||||
|
||||
endchoice
|
||||
|
|
|
@ -36,20 +36,20 @@ choice
|
|||
|
||||
config ARCH_IMX1
|
||||
bool "i.MX1"
|
||||
select ARM920T
|
||||
select CPU_ARM920T
|
||||
|
||||
config ARCH_IMX21
|
||||
bool "i.MX21"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
|
||||
config ARCH_IMX25
|
||||
bool "i.MX25"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
select ARCH_HAS_FEC_IMX
|
||||
|
||||
config ARCH_IMX27
|
||||
bool "i.MX27"
|
||||
select ARM926EJS
|
||||
select CPU_ARM926T
|
||||
select ARCH_HAS_FEC_IMX
|
||||
|
||||
config ARCH_IMX31
|
||||
|
|
|
@ -31,7 +31,7 @@ choice
|
|||
|
||||
config ARCH_OMAP3
|
||||
bool "OMAP3"
|
||||
select ARMCORTEXA8
|
||||
select CPU_V7
|
||||
select ARCH_HAS_LOWLEVEL_INIT
|
||||
select OMAP_CLOCK_SOURCE_S32K
|
||||
help
|
||||
|
|
Loading…
Reference in New Issue