Prepare v2023.10
[platform/kernel/u-boot.git] / arch / arc / Kconfig
1 menu "ARC architecture"
2         depends on ARC
3
4 config SYS_ARCH
5         default "arc"
6
7 config SYS_CPU
8         default "arcv1" if ISA_ARCOMPACT
9         default "arcv2" if ISA_ARCV2
10
11 choice
12         prompt "ARC Instruction Set"
13         default ISA_ARCOMPACT
14
15 config ISA_ARCOMPACT
16         bool "ARCompact ISA"
17         help
18           The original ARC ISA of ARC600/700 cores
19
20 config ISA_ARCV2
21         bool "ARC ISA v2"
22         help
23           ISA for the Next Generation ARC-HS cores
24
25 endchoice
26
27 choice
28         prompt "CPU selection"
29         default CPU_ARC770D if ISA_ARCOMPACT
30         default CPU_ARCHS38 if ISA_ARCV2
31
32 config 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
39 config 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
46 config 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
53 config 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
60 config 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
67 endchoice
68
69 choice
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
77 config ARC_MMU_ABSENT
78         bool "No MMU"
79         help
80           No MMU
81
82 config 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
89 config 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
97 config ARC_MMU_V4
98         bool "MMU v4"
99         depends on CPU_ARCHS38
100         help
101           Introduced as a part of ARC HS38 release.
102
103 endchoice
104
105 config 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
112 config CPU_BIG_ENDIAN
113         bool "Enable Big Endian Mode"
114         help
115           Build kernel for Big Endian Mode of ARC CPU
116
117 config SYS_ICACHE_OFF
118         bool "Do not enable icache"
119         help
120           Do not enable instruction cache in U-Boot.
121
122 config 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
129 config SYS_DCACHE_OFF
130         bool "Do not enable dcache"
131         help
132           Do not enable data cache in U-Boot.
133
134 config 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
141 menuconfig ARC_DBG
142         bool "ARC debugging"
143
144 if ARC_DBG
145
146 config 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
155 endif
156
157 choice
158         prompt "Target select"
159         default TARGET_AXS103
160
161 config TARGET_TB100
162         bool "Support tb100"
163
164 config TARGET_NSIM
165         bool "Support ARC simulation & prototyping platforms"
166
167 config TARGET_AXS101
168         bool "Support Synopsys Designware SDP board AXS101"
169
170 config TARGET_AXS103
171         bool "Support Synopsys Designware SDP board AXS103"
172
173 config TARGET_EMSDP
174         bool "Synopsys EM Software Development Platform"
175         select CPU_ARCEM6
176
177 config TARGET_HSDK
178         bool "Support Synopsys HSDK or HSDK-4xD board"
179
180 config TARGET_IOT_DEVKIT
181         bool "Synopsys Brite IoT Development kit"
182         select CPU_ARCEM6
183
184 endchoice
185
186 source "board/abilis/tb100/Kconfig"
187 source "board/synopsys/axs10x/Kconfig"
188 source "board/synopsys/emsdp/Kconfig"
189 source "board/synopsys/hsdk/Kconfig"
190 source "board/synopsys/iot_devkit/Kconfig"
191 source "board/synopsys/nsim/Kconfig"
192
193 endmenu