1menu "ARC architecture"
2	depends on ARC
3
4config SYS_ARCH
5	default "arc"
6
7config SYS_CPU
8	default "arcv1" if ISA_ARCOMPACT
9	default "arcv2" if ISA_ARCV2
10
11choice
12	prompt "ARC Instruction Set"
13	default ISA_ARCOMPACT
14
15config ISA_ARCOMPACT
16	bool "ARCompact ISA"
17	help
18	  The original ARC ISA of ARC600/700 cores
19
20config ISA_ARCV2
21	bool "ARC ISA v2"
22	help
23	  ISA for the Next Generation ARC-HS cores
24
25endchoice
26
27choice
28	prompt "CPU selection"
29	default CPU_ARC770D if ISA_ARCOMPACT
30	default CPU_ARCHS38 if ISA_ARCV2
31
32config CPU_ARC750D
33	bool "ARC 750D"
34	depends on ISA_ARCOMPACT
35	select ARC_MMU_V2
36	help
37	  Choose this option to build an U-Boot for ARC750D CPU.
38
39config CPU_ARC770D
40	bool "ARC 770D"
41	depends on ISA_ARCOMPACT
42	select ARC_MMU_V3
43	help
44	  Choose this option to build an U-Boot for ARC770D CPU.
45
46config CPU_ARCEM6
47	bool "ARC EM6"
48	depends on ISA_ARCV2
49	select ARC_MMU_ABSENT
50	help
51	  Next Generation ARC Core based on ISA-v2 ISA without MMU.
52
53config CPU_ARCHS36
54	bool "ARC HS36"
55	depends on ISA_ARCV2
56	select ARC_MMU_ABSENT
57	help
58	  Next Generation ARC Core based on ISA-v2 ISA without MMU.
59
60config CPU_ARCHS38
61	bool "ARC HS38"
62	depends on ISA_ARCV2
63	select ARC_MMU_V4
64	help
65	  Next Generation ARC Core based on ISA-v2 ISA with MMU.
66
67endchoice
68
69choice
70	prompt "MMU Version"
71	default ARC_MMU_V3 if CPU_ARC770D
72	default ARC_MMU_V2 if CPU_ARC750D
73	default ARC_MMU_ABSENT if CPU_ARCEM6
74	default ARC_MMU_ABSENT if CPU_ARCHS36
75	default ARC_MMU_V4 if CPU_ARCHS38
76
77config ARC_MMU_ABSENT
78	bool "No MMU"
79	help
80	  No MMU
81
82config ARC_MMU_V2
83	bool "MMU v2"
84	depends on CPU_ARC750D
85	help
86	  Fixed the deficiency of v1 - possible thrashing in memcpy sceanrio
87	  when 2 D-TLB and 1 I-TLB entries index into same 2way set.
88
89config ARC_MMU_V3
90	bool "MMU v3"
91	depends on CPU_ARC770D
92	help
93	  Introduced with ARC700 4.10: New Features
94	  Variable Page size (1k-16k), var JTLB size 128 x (2 or 4)
95	  Shared Address Spaces (SASID)
96
97config ARC_MMU_V4
98	bool "MMU v4"
99	depends on CPU_ARCHS38
100	help
101	  Introduced as a part of ARC HS38 release.
102
103endchoice
104
105config ARC_MMU_VER
106	int
107	default 0 if ARC_MMU_ABSENT
108	default 2 if ARC_MMU_V2
109	default 3 if ARC_MMU_V3
110	default 4 if ARC_MMU_V4
111
112config CPU_BIG_ENDIAN
113	bool "Enable Big Endian Mode"
114	help
115	  Build kernel for Big Endian Mode of ARC CPU
116
117config SYS_ICACHE_OFF
118	bool "Do not enable icache"
119	help
120	  Do not enable instruction cache in U-Boot.
121
122config SPL_SYS_ICACHE_OFF
123	bool "Do not enable icache in SPL"
124	depends on SPL
125	default SYS_ICACHE_OFF
126	help
127	  Do not enable instruction cache in SPL.
128
129config SYS_DCACHE_OFF
130	bool "Do not enable dcache"
131	help
132	  Do not enable data cache in U-Boot.
133
134config SPL_SYS_DCACHE_OFF
135	bool "Do not enable dcache in SPL"
136	depends on SPL
137	default SYS_DCACHE_OFF
138	help
139	  Do not enable data cache in SPL.
140
141menuconfig ARC_DBG
142	bool "ARC debugging"
143
144if ARC_DBG
145
146config ARC_DBG_IOC_ENABLE
147	bool "Enable IO coherency unit"
148	depends on CPU_ARCHS38
149	help
150	  Enable IO coherency unit to debug problems with caches and
151	  DMA peripherals.
152	  NOTE: as of today linux will not work properly if this option
153	  is enabled in u-boot!
154
155endif
156
157choice
158	prompt "Target select"
159	default TARGET_AXS103
160
161config TARGET_TB100
162	bool "Support tb100"
163
164config TARGET_NSIM
165	bool "Support ARC simulation & prototyping platforms"
166
167config TARGET_AXS101
168	bool "Support Synopsys Designware SDP board AXS101"
169
170config TARGET_AXS103
171	bool "Support Synopsys Designware SDP board AXS103"
172
173config TARGET_EMSDP
174	bool "Synopsys EM Software Development Platform"
175	select CPU_ARCEM6
176
177config TARGET_HSDK
178	bool "Support Synopsys HSDK or HSDK-4xD board"
179
180config TARGET_IOT_DEVKIT
181	bool "Synopsys Brite IoT Development kit"
182	select CPU_ARCEM6
183
184endchoice
185
186source "board/abilis/tb100/Kconfig"
187source "board/synopsys/axs10x/Kconfig"
188source "board/synopsys/emsdp/Kconfig"
189source "board/synopsys/hsdk/Kconfig"
190source "board/synopsys/iot_devkit/Kconfig"
191source "board/synopsys/nsim/Kconfig"
192
193endmenu
194