]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - arch/Config.in.mips
imx8mqevk: readme: Put switch configuration for SD card boot
[coffee/buildroot.git] / arch / Config.in.mips
1 # mips default CPU ISAs
2 config BR2_MIPS_CPU_MIPS32
3         bool
4         select BR2_MIPS_NAN_LEGACY
5 config BR2_MIPS_CPU_MIPS32R2
6         bool
7         select BR2_MIPS_NAN_LEGACY
8 config BR2_MIPS_CPU_MIPS32R5
9         bool
10         select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
11 config BR2_MIPS_CPU_MIPS32R6
12         bool
13         select BR2_MIPS_NAN_2008
14         select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
15 config BR2_MIPS_CPU_MIPS64
16         bool
17         select BR2_MIPS_NAN_LEGACY
18 config BR2_MIPS_CPU_MIPS64R2
19         bool
20         select BR2_MIPS_NAN_LEGACY
21 config BR2_MIPS_CPU_MIPS64R5
22         bool
23         select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
24 config BR2_MIPS_CPU_MIPS64R6
25         bool
26         select BR2_MIPS_NAN_2008
27         select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
28
29 choice
30         prompt "Target Architecture Variant"
31         default BR2_mips_32 if BR2_mips || BR2_mipsel
32         default BR2_mips_64 if BR2_mips64 || BR2_mips64el
33         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
34         help
35           Specific CPU variant to use
36
37           64bit cabable: 64, 64r2, 64r5, 64r6
38           non-64bit capable: 32, 32r2, 32r5, 32r6
39
40 config BR2_mips_32
41         bool "Generic MIPS32"
42         depends on !BR2_ARCH_IS_64
43         select BR2_MIPS_CPU_MIPS32
44 config BR2_mips_32r2
45         bool "Generic MIPS32R2"
46         depends on !BR2_ARCH_IS_64
47         select BR2_MIPS_CPU_MIPS32R2
48 config BR2_mips_32r5
49         bool "Generic MIPS32R5"
50         depends on !BR2_ARCH_IS_64
51         select BR2_MIPS_CPU_MIPS32R5
52 config BR2_mips_32r6
53         bool "Generic MIPS32R6"
54         depends on !BR2_ARCH_IS_64
55         select BR2_MIPS_CPU_MIPS32R6
56 config BR2_mips_interaptiv
57         bool "interAptiv"
58         depends on !BR2_ARCH_IS_64
59         select BR2_MIPS_CPU_MIPS32R2
60         select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
61 config BR2_mips_m5150
62         bool "M5150"
63         depends on !BR2_ARCH_IS_64
64         select BR2_MIPS_CPU_MIPS32R5
65         select BR2_MIPS_NAN_2008
66         select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
67 config BR2_mips_m6250
68         bool "M6250"
69         depends on !BR2_ARCH_IS_64
70         select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
71         select BR2_MIPS_CPU_MIPS32R6
72 config BR2_mips_p5600
73         bool "P5600"
74         depends on !BR2_ARCH_IS_64
75         select BR2_MIPS_CPU_MIPS32R5
76         select BR2_MIPS_NAN_2008
77 config BR2_mips_xburst
78         bool "XBurst"
79         depends on !BR2_ARCH_IS_64
80         select BR2_MIPS_CPU_MIPS32R2
81         help
82           The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
83           bug in the FPU that can generate incorrect results in
84           certain cases. The problem shows up when you have several
85           fused madd instructions in sequence with dependant
86           operands. This requires the -mno-fused-madd compiler option
87           to be used in order to prevent emitting these instructions.
88
89           See http://www.ingenic.com/en/?xburst.html
90 config BR2_mips_64
91         bool "Generic MIPS64"
92         depends on BR2_ARCH_IS_64
93         select BR2_MIPS_CPU_MIPS64
94 config BR2_mips_64r2
95         bool "Generic MIPS64R2"
96         depends on BR2_ARCH_IS_64
97         select BR2_MIPS_CPU_MIPS64R2
98 config BR2_mips_64r5
99         bool "Generic MIPS64R5"
100         depends on BR2_ARCH_IS_64
101         select BR2_MIPS_CPU_MIPS64R5
102 config BR2_mips_64r6
103         bool "Generic MIPS64R6"
104         depends on BR2_ARCH_IS_64
105         select BR2_MIPS_CPU_MIPS64R6
106 config BR2_mips_i6400
107         bool "I6400"
108         depends on BR2_ARCH_IS_64
109         select BR2_MIPS_CPU_MIPS64R6
110         select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
111 config BR2_mips_p6600
112         bool "P6600"
113         depends on BR2_ARCH_IS_64
114         select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
115         select BR2_MIPS_CPU_MIPS64R6
116 endchoice
117
118 choice
119         prompt "Target ABI"
120         default BR2_MIPS_NABI32
121         depends on BR2_mips64 || BR2_mips64el
122
123         help
124           Application Binary Interface to use
125
126 config BR2_MIPS_NABI32
127         bool "n32"
128         depends on BR2_ARCH_IS_64
129         select BR2_KERNEL_64_USERLAND_32
130 config BR2_MIPS_NABI64
131         bool "n64"
132         depends on BR2_ARCH_IS_64
133 endchoice
134
135 config BR2_MIPS_SOFT_FLOAT
136         bool "Use soft-float"
137         default y
138         select BR2_SOFT_FLOAT
139         help
140           If your target CPU does not have a Floating Point Unit (FPU)
141           or a kernel FPU emulator, but you still wish to support
142           floating point functions, then everything will need to be
143           compiled with soft floating point support (-msoft-float).
144
145 choice
146         prompt "FP mode"
147         default BR2_MIPS_FP32_MODE_XX
148         depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
149         help
150           MIPS32 supports different FP modes (32,xx,64). Information
151           about FP modes can be found here:
152           https://sourceware.org/binutils/docs/as/MIPS-Options.html
153           https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
154
155 config BR2_MIPS_FP32_MODE_32
156         bool "32"
157         depends on !BR2_MIPS_CPU_MIPS32R6
158
159 config BR2_MIPS_FP32_MODE_XX
160         bool "xx"
161         select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
162
163 config BR2_MIPS_FP32_MODE_64
164         bool "64"
165         depends on !BR2_MIPS_CPU_MIPS32
166 endchoice
167
168 config BR2_GCC_TARGET_FP32_MODE
169         default "32"    if BR2_MIPS_FP32_MODE_32
170         default "xx"    if BR2_MIPS_FP32_MODE_XX
171         default "64"    if BR2_MIPS_FP32_MODE_64
172
173 config BR2_MIPS_NAN_LEGACY
174         bool
175
176 config BR2_MIPS_NAN_2008
177         bool
178         select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
179
180 choice
181         prompt "Target NaN"
182         default BR2_MIPS_ENABLE_NAN_2008
183         depends on BR2_mips_32r5 || BR2_mips_64r5
184         help
185           MIPS supports two different NaN encodings, legacy and 2008.
186           Information about MIPS NaN encodings can be found here:
187           https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html
188
189 config BR2_MIPS_ENABLE_NAN_LEGACY
190         bool "legacy"
191         select BR2_MIPS_NAN_LEGACY
192
193 config BR2_MIPS_ENABLE_NAN_2008
194         bool "2008"
195         depends on !BR2_MIPS_SOFT_FLOAT
196         select BR2_MIPS_NAN_2008
197 endchoice
198
199 config BR2_GCC_TARGET_NAN
200         default "legacy"        if BR2_MIPS_NAN_LEGACY
201         default "2008"          if BR2_MIPS_NAN_2008
202
203 config BR2_ARCH
204         default "mips"          if BR2_mips
205         default "mipsel"        if BR2_mipsel
206         default "mips64"        if BR2_mips64
207         default "mips64el"      if BR2_mips64el
208
209 config BR2_ENDIAN
210         default "LITTLE"        if BR2_mipsel || BR2_mips64el
211         default "BIG"           if BR2_mips || BR2_mips64
212
213 config BR2_GCC_TARGET_ARCH
214         default "mips32"        if BR2_mips_32
215         default "mips32r2"      if BR2_mips_32r2
216         default "mips32r5"      if BR2_mips_32r5
217         default "mips32r6"      if BR2_mips_32r6
218         default "interaptiv"    if BR2_mips_interaptiv
219         default "m5101"         if BR2_mips_m5150
220         default "m6201"         if BR2_mips_m6250
221         default "p5600"         if BR2_mips_p5600
222         default "mips32r2"      if BR2_mips_xburst
223         default "mips64"        if BR2_mips_64
224         default "mips64r2"      if BR2_mips_64r2
225         default "mips64r5"      if BR2_mips_64r5
226         default "mips64r6"      if BR2_mips_64r6
227         default "i6400"         if BR2_mips_i6400
228         default "p6600"         if BR2_mips_p6600
229
230 config BR2_MIPS_OABI32
231         bool
232         default y               if BR2_mips || BR2_mipsel
233
234 config BR2_GCC_TARGET_ABI
235         default "32"            if BR2_MIPS_OABI32
236         default "n32"           if BR2_MIPS_NABI32
237         default "64"            if BR2_MIPS_NABI64
238
239 config BR2_READELF_ARCH_NAME
240         default "MIPS R3000"