summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/Kconfig
blob: 2577103293748a1c28c94e0d5fad20057d8cfb34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
comment "Processor Type"

config PHYS_ADDR_T_64BIT
	bool

config CPU_32
	bool
	select HAS_MODULES
	select HAS_DMA
	select HAVE_PBL_IMAGE

config CPU_64
	bool
	select PHYS_ADDR_T_64BIT
	select HAVE_PBL_IMAGE
	select HAS_DMA

# Select CPU types depending on the architecture selected. This selects
# which CPUs we support in the kernel image, and the compiler instruction
# optimiser behaviour.

# ARM1176
config CPU_ARM1176
	bool
	select CPU_V6

# 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://www.cirrus.com/en/products/ep9312.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.

# ARM946E-S
config CPU_ARM946E
	bool
	select CPU_32v4T
	help
	  ARM946E-S is a member of the ARM9E-S family of high-
	  performance, 32-bit system-on-chip processor solutions.
	  The TCM and ARMv5TE 32-bit instruction set is supported.

	  Say Y if you want support for the ARM946E-S processor.
	  Otherwise, say N.

# Feroceon
config CPU_FEROCEON
	bool
	select CPU_32v5
	help
	  This is a Marvell implementation of an ARMv5TE compatible
	  ARM core, used in the Marvell Kirkwood SoC family.

# ARMv6
config CPU_V6
	bool
	select CPU_32v6

# ARMv7
config CPU_V7
	bool
	select CPU_32v7

# ARMv8
config CPU_V8
	bool
	select CPU_64v8
	select CPU_SUPPORTS_64BIT_KERNEL
	select ARM_EXCEPTIONS

config CPU_XSC3
        bool
        select CPU_32v4T
        help
          Select code specific to PXA3xx variants

# Xscale PXA25x, PXA27x
config CPU_XSCALE
	bool
	select CPU_32v4T

# 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
	select CPU_32

config CPU_32v5
	bool
	select CPU_32

config CPU_32v6
	bool
	select CPU_32

config CPU_32v7
	bool
	select CPU_32

config CPU_64v8
	bool
	select CPU_64

comment "processor features"

config ARCH_SUPPORTS_BIG_ENDIAN
	bool

config CPU_BIG_ENDIAN
	bool "Build big-endian kernel"
	depends on ARCH_SUPPORTS_BIG_ENDIAN
	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 BOOT_ENDIANNESS_SWITCH
	bool "Support switching of Linux kernel endianness"
	help
	  Say Y here if you need to switch CPU endianness before running
	  Linux kernel, e.g. if you want big-endian Barebox to run
	  little-endian Linux.

	  Currently implemented only by "bootz" command.

config ARCH_HAS_L2X0
	bool

config CACHE_L2X0
	bool "Enable L2x0 PrimeCell"
	depends on MMU && ARCH_HAS_L2X0

config SYS_SUPPORTS_32BIT_KERNEL
	bool

config SYS_SUPPORTS_64BIT_KERNEL
	bool

config CPU_SUPPORTS_32BIT_KERNEL
	bool

config CPU_SUPPORTS_64BIT_KERNEL
	bool