blob: 85fddd2f878ff4616d8ae114d475e6617d388055 [file] [log] [blame]
Masahiro Yamadadd840582014-07-30 14:08:14 +09001menu "ARC architecture"
2 depends on ARC
3
4config SYS_ARCH
Masahiro Yamadadd840582014-07-30 14:08:14 +09005 default "arc"
6
Alexey Brodkina67ef282015-02-03 13:58:20 +03007config USE_PRIVATE_LIBGCC
8 default y
9
Alexey Brodkine20bcb02014-12-25 18:47:45 +030010config SYS_CPU
Alexey Brodkinf13606b2015-01-13 18:35:46 +030011 default "arcv1" if ISA_ARCOMPACT
12 default "arcv2" if ISA_ARCV2
13
14choice
15 prompt "ARC Instruction Set"
16 default ISA_ARCOMPACT
17
18config ISA_ARCOMPACT
19 bool "ARCompact ISA"
20 help
21 The original ARC ISA of ARC600/700 cores
22
23config ISA_ARCV2
24 bool "ARC ISA v2"
25 help
26 ISA for the Next Generation ARC-HS cores
27
28endchoice
Alexey Brodkine20bcb02014-12-25 18:47:45 +030029
Masahiro Yamadadd840582014-07-30 14:08:14 +090030choice
Alexey Brodkin812980b2015-02-03 13:58:11 +030031 prompt "CPU selection"
Alexey Brodkinf13606b2015-01-13 18:35:46 +030032 default CPU_ARC770D if ISA_ARCOMPACT
33 default CPU_ARCHS38 if ISA_ARCV2
Alexey Brodkin812980b2015-02-03 13:58:11 +030034
35config CPU_ARC750D
36 bool "ARC 750D"
37 select ARC_MMU_V2
Alexey Brodkinf13606b2015-01-13 18:35:46 +030038 depends on ISA_ARCOMPACT
Alexey Brodkin812980b2015-02-03 13:58:11 +030039 help
40 Choose this option to build an U-Boot for ARC750D CPU.
41
42config CPU_ARC770D
43 bool "ARC 770D"
44 select ARC_MMU_V3
Alexey Brodkinf13606b2015-01-13 18:35:46 +030045 depends on ISA_ARCOMPACT
Alexey Brodkin812980b2015-02-03 13:58:11 +030046 help
47 Choose this option to build an U-Boot for ARC770D CPU.
48
Alexey Brodkinf13606b2015-01-13 18:35:46 +030049config CPU_ARCEM6
50 bool "ARC EM6"
51 select ARC_MMU_ABSENT
52 depends on ISA_ARCV2
53 help
54 Next Generation ARC Core based on ISA-v2 ISA without MMU.
55
56config CPU_ARCHS36
57 bool "ARC HS36"
58 select ARC_MMU_ABSENT
59 depends on ISA_ARCV2
60 help
61 Next Generation ARC Core based on ISA-v2 ISA without MMU.
62
63config CPU_ARCHS38
64 bool "ARC HS38"
65 select ARC_MMU_V4
66 depends on ISA_ARCV2
67 help
68 Next Generation ARC Core based on ISA-v2 ISA with MMU.
69
Alexey Brodkin812980b2015-02-03 13:58:11 +030070endchoice
71
72choice
73 prompt "MMU Version"
74 default ARC_MMU_V3 if CPU_ARC770D
75 default ARC_MMU_V2 if CPU_ARC750D
Alexey Brodkinf13606b2015-01-13 18:35:46 +030076 default ARC_MMU_ABSENT if CPU_ARCEM6
77 default ARC_MMU_ABSENT if CPU_ARCHS36
78 default ARC_MMU_V4 if CPU_ARCHS38
79
80config ARC_MMU_ABSENT
81 bool "No MMU"
82 help
83 No MMU
Alexey Brodkin812980b2015-02-03 13:58:11 +030084
85config ARC_MMU_V2
86 bool "MMU v2"
87 depends on CPU_ARC750D
88 help
89 Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
90 when 2 D-TLB and 1 I-TLB entries index into same 2way set.
91
92config ARC_MMU_V3
93 bool "MMU v3"
94 depends on CPU_ARC770D
95 help
96 Introduced with ARC700 4.10: New Features
97 Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
98 Shared Address Spaces (SASID)
99
Alexey Brodkinf13606b2015-01-13 18:35:46 +0300100config ARC_MMU_V4
101 bool "MMU v4"
102 depends on CPU_ARCHS38
103 help
104 Introduced as a part of ARC HS38 release.
105
Alexey Brodkin812980b2015-02-03 13:58:11 +0300106endchoice
107
Alexey Brodkin1f9ad442015-02-03 13:58:14 +0300108config CPU_BIG_ENDIAN
109 bool "Enable Big Endian Mode"
110 default n
111 help
112 Build kernel for Big Endian Mode of ARC CPU
113
Alexey Brodkin205e7a72015-02-03 13:58:13 +0300114config SYS_ICACHE_OFF
115 bool "Do not use Instruction Cache"
116 default n
117
118config SYS_DCACHE_OFF
119 bool "Do not use Data Cache"
120 default n
121
122config ARC_CACHE_LINE_SHIFT
123 int "Cache Line Length (as power of 2)"
124 range 5 7
125 default "6"
Alexey Brodkinb9037922015-03-17 14:26:43 +0300126 depends on !SYS_DCACHE_OFF || !SYS_ICACHE_OFF
Alexey Brodkin205e7a72015-02-03 13:58:13 +0300127 help
128 Starting with ARC700 4.9, Cache line length is configurable,
129 This option specifies "N", with Line-len = 2 power N
130 So line lengths of 32, 64, 128 are specified by 5,6,7, respectively
131 Linux only supports same line lengths for I and D caches.
132
Alexey Brodkin812980b2015-02-03 13:58:11 +0300133choice
Masahiro Yamadadd840582014-07-30 14:08:14 +0900134 prompt "Target select"
Joe Hershbergera26cd042015-05-12 14:46:23 -0500135 optional
Masahiro Yamadadd840582014-07-30 14:08:14 +0900136
Alexey Brodkinb9037922015-03-17 14:26:43 +0300137config TARGET_DUMMY
138 bool "Dummy target"
139 help
140 Please select one of real target boards below!
141 This target is only meant to force "makedefconfig" to put
142 TARGET_xxx in defconfig even this is the first target from the list
143 below.
144
Masahiro Yamadadd840582014-07-30 14:08:14 +0900145config TARGET_TB100
146 bool "Support tb100"
147
148config TARGET_ARCANGEL4
149 bool "Support arcangel4"
150
Masahiro Yamadadd840582014-07-30 14:08:14 +0900151config TARGET_AXS101
152 bool "Support axs101"
153
154endchoice
155
156source "board/abilis/tb100/Kconfig"
157source "board/synopsys/Kconfig"
158source "board/synopsys/axs101/Kconfig"
159
160endmenu