blob: 1cdb390e79b9bbdaf1e1f0d212f02ced111f2866 [file] [log] [blame]
Mario Sixa861ea62019-01-21 09:17:57 +01001menu "BATS setup"
2
3menuconfig BAT0
4 bool "BAT0"
5
6if BAT0
7
8config BAT0_NAME
9 string "Identifier"
10
11config BAT0_BASE
12 hex "Base"
13
14choice
15 prompt "Block length"
16
17config BAT0_LENGTH_128_KBYTES
18 bool "128 kb"
19
20config BAT0_LENGTH_256_KBYTES
21 bool "256 kb"
22
23config BAT0_LENGTH_512_KBYTES
24 bool "512 kb"
25
26config BAT0_LENGTH_1_MBYTES
27 bool "1 mb"
28
29config BAT0_LENGTH_2_MBYTES
30 bool "2 mb"
31
32config BAT0_LENGTH_4_MBYTES
33 bool "4 mb"
34
35config BAT0_LENGTH_8_MBYTES
36 bool "8 mb"
37
38config BAT0_LENGTH_16_MBYTES
39 bool "16 mb"
40
41config BAT0_LENGTH_32_MBYTES
42 bool "32 mb"
43
44config BAT0_LENGTH_64_MBYTES
45 bool "64 mb"
46
47config BAT0_LENGTH_128_MBYTES
48 bool "128 mb"
49
50config BAT0_LENGTH_256_MBYTES
51 bool "256 mb"
52endchoice
53
54choice
55 prompt "Protection mode"
56
57config BAT0_ACCESS_NONE
58 bool "No access"
59
60config BAT0_ACCESS_RO
61 bool "Read-only"
62
63config BAT0_ACCESS_RW
64 bool "Read-write"
65
66endchoice
67
Mario Sixa861ea62019-01-21 09:17:57 +010068config BAT0_ICACHE_INHIBITED
69 bool "I-cache Inhibited"
70
71config BAT0_ICACHE_MEMORYCOHERENCE
72 bool "I-cache Memory coherence"
73
Mario Sixa861ea62019-01-21 09:17:57 +010074config BAT0_DCACHE_WRITETHROUGH
75 bool "D-cache Write-through"
76
77config BAT0_DCACHE_INHIBITED
78 bool "D-cache Inhibited"
79
80config BAT0_DCACHE_MEMORYCOHERENCE
81 bool "D-cache Memory coherence"
82
83config BAT0_DCACHE_GUARDED
84 bool "D-cache Guarded"
85
86config BAT0_USER_MODE_VALID
87 bool "User mode valid"
88
89config BAT0_SUPERVISOR_MODE_VALID
90 bool "Supervisor mode valid"
91
92endif
93
94config BAT0_LENGTH
95 hex
96 default 0x00000000 if BAT0_LENGTH_128_KBYTES
97 default 0x00000004 if BAT0_LENGTH_256_KBYTES
98 default 0x0000000c if BAT0_LENGTH_512_KBYTES
99 default 0x0000001c if BAT0_LENGTH_1_MBYTES
100 default 0x0000003c if BAT0_LENGTH_2_MBYTES
101 default 0x0000007c if BAT0_LENGTH_4_MBYTES
102 default 0x000000fc if BAT0_LENGTH_8_MBYTES
103 default 0x000001fc if BAT0_LENGTH_16_MBYTES
104 default 0x000003fc if BAT0_LENGTH_32_MBYTES
105 default 0x000007fc if BAT0_LENGTH_64_MBYTES
106 default 0x00000ffc if BAT0_LENGTH_128_MBYTES
107 default 0x00001ffc if BAT0_LENGTH_256_MBYTES
108
109config BAT0_PAGE_PROTECTION
110 hex
111 default 0x0 if BAT0_ACCESS_NONE
112 default 0x1 if BAT0_ACCESS_RO
113 default 0x2 if BAT0_ACCESS_RW
114
115config BAT0_WIMG_ICACHE
116 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100117 default 0x0 if !BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE
118 default 0x10 if !BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE
119 default 0x20 if BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE
120 default 0x30 if BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100121
122config BAT0_WIMG_DCACHE
123 hex
124 default 0x0 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
125 default 0x8 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
126 default 0x10 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
127 default 0x18 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
128 default 0x20 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
129 default 0x28 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
130 default 0x30 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
131 default 0x38 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
132 default 0x40 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
133 default 0x48 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
134 default 0x50 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
135 default 0x58 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
136 default 0x60 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
137 default 0x68 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
138 default 0x70 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
139 default 0x78 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
140
141config BAT0_VALID_BITS
142 hex
143 default 0x0 if !BAT0_SUPERVISOR_MODE_VALID && !BAT0_USER_MODE_VALID
144 default 0x1 if !BAT0_SUPERVISOR_MODE_VALID && BAT0_USER_MODE_VALID
145 default 0x2 if BAT0_SUPERVISOR_MODE_VALID && !BAT0_USER_MODE_VALID
146 default 0x3 if BAT0_SUPERVISOR_MODE_VALID && BAT0_USER_MODE_VALID
147
148menuconfig BAT1
149 bool "BAT1"
150
151if BAT1
152
153config BAT1_NAME
154 string "Identifier"
155
156config BAT1_BASE
157 hex "Base"
158
159choice
160 prompt "Block length"
161
162config BAT1_LENGTH_128_KBYTES
163 bool "128 kb"
164
165config BAT1_LENGTH_256_KBYTES
166 bool "256 kb"
167
168config BAT1_LENGTH_512_KBYTES
169 bool "512 kb"
170
171config BAT1_LENGTH_1_MBYTES
172 bool "1 mb"
173
174config BAT1_LENGTH_2_MBYTES
175 bool "2 mb"
176
177config BAT1_LENGTH_4_MBYTES
178 bool "4 mb"
179
180config BAT1_LENGTH_8_MBYTES
181 bool "8 mb"
182
183config BAT1_LENGTH_16_MBYTES
184 bool "16 mb"
185
186config BAT1_LENGTH_32_MBYTES
187 bool "32 mb"
188
189config BAT1_LENGTH_64_MBYTES
190 bool "64 mb"
191
192config BAT1_LENGTH_128_MBYTES
193 bool "128 mb"
194
195config BAT1_LENGTH_256_MBYTES
196 bool "256 mb"
197endchoice
198
199choice
200 prompt "Protection mode"
201
202config BAT1_ACCESS_NONE
203 bool "No access"
204
205config BAT1_ACCESS_RO
206 bool "Read-only"
207
208config BAT1_ACCESS_RW
209 bool "Read-write"
210
211endchoice
212
Mario Sixa861ea62019-01-21 09:17:57 +0100213config BAT1_ICACHE_INHIBITED
214 bool "I-cache Inhibited"
215
216config BAT1_ICACHE_MEMORYCOHERENCE
217 bool "I-cache Memory coherence"
218
Mario Sixa861ea62019-01-21 09:17:57 +0100219config BAT1_DCACHE_WRITETHROUGH
220 bool "D-cache Write-through"
221
222config BAT1_DCACHE_INHIBITED
223 bool "D-cache Inhibited"
224
225config BAT1_DCACHE_MEMORYCOHERENCE
226 bool "D-cache Memory coherence"
227
228config BAT1_DCACHE_GUARDED
229 bool "D-cache Guarded"
230
231config BAT1_USER_MODE_VALID
232 bool "User mode valid"
233
234config BAT1_SUPERVISOR_MODE_VALID
235 bool "Supervisor mode valid"
236
237endif
238
239config BAT1_LENGTH
240 hex
241 default 0x00000000 if BAT1_LENGTH_128_KBYTES
242 default 0x00000004 if BAT1_LENGTH_256_KBYTES
243 default 0x0000000c if BAT1_LENGTH_512_KBYTES
244 default 0x0000001c if BAT1_LENGTH_1_MBYTES
245 default 0x0000003c if BAT1_LENGTH_2_MBYTES
246 default 0x0000007c if BAT1_LENGTH_4_MBYTES
247 default 0x000000fc if BAT1_LENGTH_8_MBYTES
248 default 0x000001fc if BAT1_LENGTH_16_MBYTES
249 default 0x000003fc if BAT1_LENGTH_32_MBYTES
250 default 0x000007fc if BAT1_LENGTH_64_MBYTES
251 default 0x00000ffc if BAT1_LENGTH_128_MBYTES
252 default 0x00001ffc if BAT1_LENGTH_256_MBYTES
253
254config BAT1_PAGE_PROTECTION
255 hex
256 default 0x0 if BAT1_ACCESS_NONE
257 default 0x1 if BAT1_ACCESS_RO
258 default 0x2 if BAT1_ACCESS_RW
259
260config BAT1_WIMG_ICACHE
261 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100262 default 0x0 if !BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE
263 default 0x10 if !BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE
264 default 0x20 if BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE
265 default 0x30 if BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100266
267config BAT1_WIMG_DCACHE
268 hex
269 default 0x0 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
270 default 0x8 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
271 default 0x10 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
272 default 0x18 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
273 default 0x20 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
274 default 0x28 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
275 default 0x30 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
276 default 0x38 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
277 default 0x40 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
278 default 0x48 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
279 default 0x50 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
280 default 0x58 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
281 default 0x60 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
282 default 0x68 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
283 default 0x70 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
284 default 0x78 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
285
286config BAT1_VALID_BITS
287 hex
288 default 0x0 if !BAT1_SUPERVISOR_MODE_VALID && !BAT1_USER_MODE_VALID
289 default 0x1 if !BAT1_SUPERVISOR_MODE_VALID && BAT1_USER_MODE_VALID
290 default 0x2 if BAT1_SUPERVISOR_MODE_VALID && !BAT1_USER_MODE_VALID
291 default 0x3 if BAT1_SUPERVISOR_MODE_VALID && BAT1_USER_MODE_VALID
292
293menuconfig BAT2
294 bool "BAT2"
295
296if BAT2
297
298config BAT2_NAME
299 string "Identifier"
300
301config BAT2_BASE
302 hex "Base"
303
304choice
305 prompt "Block length"
306
307config BAT2_LENGTH_128_KBYTES
308 bool "128 kb"
309
310config BAT2_LENGTH_256_KBYTES
311 bool "256 kb"
312
313config BAT2_LENGTH_512_KBYTES
314 bool "512 kb"
315
316config BAT2_LENGTH_1_MBYTES
317 bool "1 mb"
318
319config BAT2_LENGTH_2_MBYTES
320 bool "2 mb"
321
322config BAT2_LENGTH_4_MBYTES
323 bool "4 mb"
324
325config BAT2_LENGTH_8_MBYTES
326 bool "8 mb"
327
328config BAT2_LENGTH_16_MBYTES
329 bool "16 mb"
330
331config BAT2_LENGTH_32_MBYTES
332 bool "32 mb"
333
334config BAT2_LENGTH_64_MBYTES
335 bool "64 mb"
336
337config BAT2_LENGTH_128_MBYTES
338 bool "128 mb"
339
340config BAT2_LENGTH_256_MBYTES
341 bool "256 mb"
342endchoice
343
344choice
345 prompt "Protection mode"
346
347config BAT2_ACCESS_NONE
348 bool "No access"
349
350config BAT2_ACCESS_RO
351 bool "Read-only"
352
353config BAT2_ACCESS_RW
354 bool "Read-write"
355
356endchoice
357
Mario Sixa861ea62019-01-21 09:17:57 +0100358config BAT2_ICACHE_INHIBITED
359 bool "I-cache Inhibited"
360
361config BAT2_ICACHE_MEMORYCOHERENCE
362 bool "I-cache Memory coherence"
363
Mario Sixa861ea62019-01-21 09:17:57 +0100364config BAT2_DCACHE_WRITETHROUGH
365 bool "D-cache Write-through"
366
367config BAT2_DCACHE_INHIBITED
368 bool "D-cache Inhibited"
369
370config BAT2_DCACHE_MEMORYCOHERENCE
371 bool "D-cache Memory coherence"
372
373config BAT2_DCACHE_GUARDED
374 bool "D-cache Guarded"
375
376config BAT2_USER_MODE_VALID
377 bool "User mode valid"
378
379config BAT2_SUPERVISOR_MODE_VALID
380 bool "Supervisor mode valid"
381
382endif
383
384config BAT2_LENGTH
385 hex
386 default 0x00000000 if BAT2_LENGTH_128_KBYTES
387 default 0x00000004 if BAT2_LENGTH_256_KBYTES
388 default 0x0000000c if BAT2_LENGTH_512_KBYTES
389 default 0x0000001c if BAT2_LENGTH_1_MBYTES
390 default 0x0000003c if BAT2_LENGTH_2_MBYTES
391 default 0x0000007c if BAT2_LENGTH_4_MBYTES
392 default 0x000000fc if BAT2_LENGTH_8_MBYTES
393 default 0x000001fc if BAT2_LENGTH_16_MBYTES
394 default 0x000003fc if BAT2_LENGTH_32_MBYTES
395 default 0x000007fc if BAT2_LENGTH_64_MBYTES
396 default 0x00000ffc if BAT2_LENGTH_128_MBYTES
397 default 0x00001ffc if BAT2_LENGTH_256_MBYTES
398
399config BAT2_PAGE_PROTECTION
400 hex
401 default 0x0 if BAT2_ACCESS_NONE
402 default 0x1 if BAT2_ACCESS_RO
403 default 0x2 if BAT2_ACCESS_RW
404
405config BAT2_WIMG_ICACHE
406 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100407 default 0x0 if !BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE
408 default 0x10 if !BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE
409 default 0x20 if BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE
410 default 0x30 if BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100411
412config BAT2_WIMG_DCACHE
413 hex
414 default 0x0 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
415 default 0x8 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
416 default 0x10 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
417 default 0x18 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
418 default 0x20 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
419 default 0x28 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
420 default 0x30 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
421 default 0x38 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
422 default 0x40 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
423 default 0x48 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
424 default 0x50 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
425 default 0x58 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
426 default 0x60 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
427 default 0x68 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
428 default 0x70 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
429 default 0x78 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
430
431config BAT2_VALID_BITS
432 hex
433 default 0x0 if !BAT2_SUPERVISOR_MODE_VALID && !BAT2_USER_MODE_VALID
434 default 0x1 if !BAT2_SUPERVISOR_MODE_VALID && BAT2_USER_MODE_VALID
435 default 0x2 if BAT2_SUPERVISOR_MODE_VALID && !BAT2_USER_MODE_VALID
436 default 0x3 if BAT2_SUPERVISOR_MODE_VALID && BAT2_USER_MODE_VALID
437
438menuconfig BAT3
439 bool "BAT3"
440
441if BAT3
442
443config BAT3_NAME
444 string "Identifier"
445
446config BAT3_BASE
447 hex "Base"
448
449choice
450 prompt "Block length"
451
452config BAT3_LENGTH_128_KBYTES
453 bool "128 kb"
454
455config BAT3_LENGTH_256_KBYTES
456 bool "256 kb"
457
458config BAT3_LENGTH_512_KBYTES
459 bool "512 kb"
460
461config BAT3_LENGTH_1_MBYTES
462 bool "1 mb"
463
464config BAT3_LENGTH_2_MBYTES
465 bool "2 mb"
466
467config BAT3_LENGTH_4_MBYTES
468 bool "4 mb"
469
470config BAT3_LENGTH_8_MBYTES
471 bool "8 mb"
472
473config BAT3_LENGTH_16_MBYTES
474 bool "16 mb"
475
476config BAT3_LENGTH_32_MBYTES
477 bool "32 mb"
478
479config BAT3_LENGTH_64_MBYTES
480 bool "64 mb"
481
482config BAT3_LENGTH_128_MBYTES
483 bool "128 mb"
484
485config BAT3_LENGTH_256_MBYTES
486 bool "256 mb"
487endchoice
488
489choice
490 prompt "Protection mode"
491
492config BAT3_ACCESS_NONE
493 bool "No access"
494
495config BAT3_ACCESS_RO
496 bool "Read-only"
497
498config BAT3_ACCESS_RW
499 bool "Read-write"
500
501endchoice
502
Mario Sixa861ea62019-01-21 09:17:57 +0100503config BAT3_ICACHE_INHIBITED
504 bool "I-cache Inhibited"
505
506config BAT3_ICACHE_MEMORYCOHERENCE
507 bool "I-cache Memory coherence"
508
Mario Sixa861ea62019-01-21 09:17:57 +0100509config BAT3_DCACHE_WRITETHROUGH
510 bool "D-cache Write-through"
511
512config BAT3_DCACHE_INHIBITED
513 bool "D-cache Inhibited"
514
515config BAT3_DCACHE_MEMORYCOHERENCE
516 bool "D-cache Memory coherence"
517
518config BAT3_DCACHE_GUARDED
519 bool "D-cache Guarded"
520
521config BAT3_USER_MODE_VALID
522 bool "User mode valid"
523
524config BAT3_SUPERVISOR_MODE_VALID
525 bool "Supervisor mode valid"
526
527endif
528
529config BAT3_LENGTH
530 hex
531 default 0x00000000 if BAT3_LENGTH_128_KBYTES
532 default 0x00000004 if BAT3_LENGTH_256_KBYTES
533 default 0x0000000c if BAT3_LENGTH_512_KBYTES
534 default 0x0000001c if BAT3_LENGTH_1_MBYTES
535 default 0x0000003c if BAT3_LENGTH_2_MBYTES
536 default 0x0000007c if BAT3_LENGTH_4_MBYTES
537 default 0x000000fc if BAT3_LENGTH_8_MBYTES
538 default 0x000001fc if BAT3_LENGTH_16_MBYTES
539 default 0x000003fc if BAT3_LENGTH_32_MBYTES
540 default 0x000007fc if BAT3_LENGTH_64_MBYTES
541 default 0x00000ffc if BAT3_LENGTH_128_MBYTES
542 default 0x00001ffc if BAT3_LENGTH_256_MBYTES
543
544config BAT3_PAGE_PROTECTION
545 hex
546 default 0x0 if BAT3_ACCESS_NONE
547 default 0x1 if BAT3_ACCESS_RO
548 default 0x2 if BAT3_ACCESS_RW
549
550config BAT3_WIMG_ICACHE
551 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100552 default 0x0 if !BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE
553 default 0x10 if !BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE
554 default 0x20 if BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE
555 default 0x30 if BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100556
557config BAT3_WIMG_DCACHE
558 hex
559 default 0x0 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
560 default 0x8 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
561 default 0x10 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
562 default 0x18 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
563 default 0x20 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
564 default 0x28 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
565 default 0x30 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
566 default 0x38 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
567 default 0x40 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
568 default 0x48 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
569 default 0x50 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
570 default 0x58 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
571 default 0x60 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
572 default 0x68 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
573 default 0x70 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
574 default 0x78 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
575
576config BAT3_VALID_BITS
577 hex
578 default 0x0 if !BAT3_SUPERVISOR_MODE_VALID && !BAT3_USER_MODE_VALID
579 default 0x1 if !BAT3_SUPERVISOR_MODE_VALID && BAT3_USER_MODE_VALID
580 default 0x2 if BAT3_SUPERVISOR_MODE_VALID && !BAT3_USER_MODE_VALID
581 default 0x3 if BAT3_SUPERVISOR_MODE_VALID && BAT3_USER_MODE_VALID
582
583if HIGH_BATS
584
585menuconfig BAT4
586 bool "BAT4"
587
588if BAT4
589
590config BAT4_NAME
591 string "Identifier"
592
593config BAT4_BASE
594 hex "Base"
595
596choice
597 prompt "Block length"
598
599config BAT4_LENGTH_128_KBYTES
600 bool "128 kb"
601
602config BAT4_LENGTH_256_KBYTES
603 bool "256 kb"
604
605config BAT4_LENGTH_512_KBYTES
606 bool "512 kb"
607
608config BAT4_LENGTH_1_MBYTES
609 bool "1 mb"
610
611config BAT4_LENGTH_2_MBYTES
612 bool "2 mb"
613
614config BAT4_LENGTH_4_MBYTES
615 bool "4 mb"
616
617config BAT4_LENGTH_8_MBYTES
618 bool "8 mb"
619
620config BAT4_LENGTH_16_MBYTES
621 bool "16 mb"
622
623config BAT4_LENGTH_32_MBYTES
624 bool "32 mb"
625
626config BAT4_LENGTH_64_MBYTES
627 bool "64 mb"
628
629config BAT4_LENGTH_128_MBYTES
630 bool "128 mb"
631
632config BAT4_LENGTH_256_MBYTES
633 bool "256 mb"
634endchoice
635
636choice
637 prompt "Protection mode"
638
639config BAT4_ACCESS_NONE
640 bool "No access"
641
642config BAT4_ACCESS_RO
643 bool "Read-only"
644
645config BAT4_ACCESS_RW
646 bool "Read-write"
647
648endchoice
649
Mario Sixa861ea62019-01-21 09:17:57 +0100650config BAT4_ICACHE_INHIBITED
651 bool "I-cache Inhibited"
652
653config BAT4_ICACHE_MEMORYCOHERENCE
654 bool "I-cache Memory coherence"
655
Mario Sixa861ea62019-01-21 09:17:57 +0100656config BAT4_DCACHE_WRITETHROUGH
657 bool "D-cache Write-through"
658
659config BAT4_DCACHE_INHIBITED
660 bool "D-cache Inhibited"
661
662config BAT4_DCACHE_MEMORYCOHERENCE
663 bool "D-cache Memory coherence"
664
665config BAT4_DCACHE_GUARDED
666 bool "D-cache Guarded"
667
668config BAT4_USER_MODE_VALID
669 bool "User mode valid"
670
671config BAT4_SUPERVISOR_MODE_VALID
672 bool "Supervisor mode valid"
673
674endif
675
676config BAT4_LENGTH
677 hex
678 default 0x00000000 if BAT4_LENGTH_128_KBYTES
679 default 0x00000004 if BAT4_LENGTH_256_KBYTES
680 default 0x0000000c if BAT4_LENGTH_512_KBYTES
681 default 0x0000001c if BAT4_LENGTH_1_MBYTES
682 default 0x0000003c if BAT4_LENGTH_2_MBYTES
683 default 0x0000007c if BAT4_LENGTH_4_MBYTES
684 default 0x000000fc if BAT4_LENGTH_8_MBYTES
685 default 0x000001fc if BAT4_LENGTH_16_MBYTES
686 default 0x000003fc if BAT4_LENGTH_32_MBYTES
687 default 0x000007fc if BAT4_LENGTH_64_MBYTES
688 default 0x00000ffc if BAT4_LENGTH_128_MBYTES
689 default 0x00001ffc if BAT4_LENGTH_256_MBYTES
690
691config BAT4_PAGE_PROTECTION
692 hex
693 default 0x0 if BAT4_ACCESS_NONE
694 default 0x1 if BAT4_ACCESS_RO
695 default 0x2 if BAT4_ACCESS_RW
696
697config BAT4_WIMG_ICACHE
698 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100699 default 0x0 if !BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE
700 default 0x10 if !BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE
701 default 0x20 if BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE
702 default 0x30 if BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100703
704config BAT4_WIMG_DCACHE
705 hex
706 default 0x0 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
707 default 0x8 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
708 default 0x10 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
709 default 0x18 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
710 default 0x20 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
711 default 0x28 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
712 default 0x30 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
713 default 0x38 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
714 default 0x40 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
715 default 0x48 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
716 default 0x50 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
717 default 0x58 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
718 default 0x60 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
719 default 0x68 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
720 default 0x70 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
721 default 0x78 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
722
723config BAT4_VALID_BITS
724 hex
725 default 0x0 if !BAT4_SUPERVISOR_MODE_VALID && !BAT4_USER_MODE_VALID
726 default 0x1 if !BAT4_SUPERVISOR_MODE_VALID && BAT4_USER_MODE_VALID
727 default 0x2 if BAT4_SUPERVISOR_MODE_VALID && !BAT4_USER_MODE_VALID
728 default 0x3 if BAT4_SUPERVISOR_MODE_VALID && BAT4_USER_MODE_VALID
729
730menuconfig BAT5
731 bool "BAT5"
732
733if BAT5
734
735config BAT5_NAME
736 string "Identifier"
737
738config BAT5_BASE
739 hex "Base"
740
741choice
742 prompt "Block length"
743
744config BAT5_LENGTH_128_KBYTES
745 bool "128 kb"
746
747config BAT5_LENGTH_256_KBYTES
748 bool "256 kb"
749
750config BAT5_LENGTH_512_KBYTES
751 bool "512 kb"
752
753config BAT5_LENGTH_1_MBYTES
754 bool "1 mb"
755
756config BAT5_LENGTH_2_MBYTES
757 bool "2 mb"
758
759config BAT5_LENGTH_4_MBYTES
760 bool "4 mb"
761
762config BAT5_LENGTH_8_MBYTES
763 bool "8 mb"
764
765config BAT5_LENGTH_16_MBYTES
766 bool "16 mb"
767
768config BAT5_LENGTH_32_MBYTES
769 bool "32 mb"
770
771config BAT5_LENGTH_64_MBYTES
772 bool "64 mb"
773
774config BAT5_LENGTH_128_MBYTES
775 bool "128 mb"
776
777config BAT5_LENGTH_256_MBYTES
778 bool "256 mb"
779endchoice
780
781choice
782 prompt "Protection mode"
783
784config BAT5_ACCESS_NONE
785 bool "No access"
786
787config BAT5_ACCESS_RO
788 bool "Read-only"
789
790config BAT5_ACCESS_RW
791 bool "Read-write"
792
793endchoice
794
Mario Sixa861ea62019-01-21 09:17:57 +0100795config BAT5_ICACHE_INHIBITED
796 bool "I-cache Inhibited"
797
798config BAT5_ICACHE_MEMORYCOHERENCE
799 bool "I-cache Memory coherence"
800
Mario Sixa861ea62019-01-21 09:17:57 +0100801config BAT5_DCACHE_WRITETHROUGH
802 bool "D-cache Write-through"
803
804config BAT5_DCACHE_INHIBITED
805 bool "D-cache Inhibited"
806
807config BAT5_DCACHE_MEMORYCOHERENCE
808 bool "D-cache Memory coherence"
809
810config BAT5_DCACHE_GUARDED
811 bool "D-cache Guarded"
812
813config BAT5_USER_MODE_VALID
814 bool "User mode valid"
815
816config BAT5_SUPERVISOR_MODE_VALID
817 bool "Supervisor mode valid"
818
819endif
820
821config BAT5_LENGTH
822 hex
823 default 0x00000000 if BAT5_LENGTH_128_KBYTES
824 default 0x00000004 if BAT5_LENGTH_256_KBYTES
825 default 0x0000000c if BAT5_LENGTH_512_KBYTES
826 default 0x0000001c if BAT5_LENGTH_1_MBYTES
827 default 0x0000003c if BAT5_LENGTH_2_MBYTES
828 default 0x0000007c if BAT5_LENGTH_4_MBYTES
829 default 0x000000fc if BAT5_LENGTH_8_MBYTES
830 default 0x000001fc if BAT5_LENGTH_16_MBYTES
831 default 0x000003fc if BAT5_LENGTH_32_MBYTES
832 default 0x000007fc if BAT5_LENGTH_64_MBYTES
833 default 0x00000ffc if BAT5_LENGTH_128_MBYTES
834 default 0x00001ffc if BAT5_LENGTH_256_MBYTES
835
836config BAT5_PAGE_PROTECTION
837 hex
838 default 0x0 if BAT5_ACCESS_NONE
839 default 0x1 if BAT5_ACCESS_RO
840 default 0x2 if BAT5_ACCESS_RW
841
842config BAT5_WIMG_ICACHE
843 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100844 default 0x0 if !BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE
845 default 0x10 if !BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE
846 default 0x20 if BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE
847 default 0x30 if BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100848
849config BAT5_WIMG_DCACHE
850 hex
851 default 0x0 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
852 default 0x8 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
853 default 0x10 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
854 default 0x18 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
855 default 0x20 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
856 default 0x28 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
857 default 0x30 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
858 default 0x38 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
859 default 0x40 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
860 default 0x48 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
861 default 0x50 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
862 default 0x58 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
863 default 0x60 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
864 default 0x68 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
865 default 0x70 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
866 default 0x78 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
867
868config BAT5_VALID_BITS
869 hex
870 default 0x0 if !BAT5_SUPERVISOR_MODE_VALID && !BAT5_USER_MODE_VALID
871 default 0x1 if !BAT5_SUPERVISOR_MODE_VALID && BAT5_USER_MODE_VALID
872 default 0x2 if BAT5_SUPERVISOR_MODE_VALID && !BAT5_USER_MODE_VALID
873 default 0x3 if BAT5_SUPERVISOR_MODE_VALID && BAT5_USER_MODE_VALID
874
875menuconfig BAT6
876 bool "BAT6"
877
878if BAT6
879
880config BAT6_NAME
881 string "Identifier"
882
883config BAT6_BASE
884 hex "Base"
885
886choice
887 prompt "Block length"
888
889config BAT6_LENGTH_128_KBYTES
890 bool "128 kb"
891
892config BAT6_LENGTH_256_KBYTES
893 bool "256 kb"
894
895config BAT6_LENGTH_512_KBYTES
896 bool "512 kb"
897
898config BAT6_LENGTH_1_MBYTES
899 bool "1 mb"
900
901config BAT6_LENGTH_2_MBYTES
902 bool "2 mb"
903
904config BAT6_LENGTH_4_MBYTES
905 bool "4 mb"
906
907config BAT6_LENGTH_8_MBYTES
908 bool "8 mb"
909
910config BAT6_LENGTH_16_MBYTES
911 bool "16 mb"
912
913config BAT6_LENGTH_32_MBYTES
914 bool "32 mb"
915
916config BAT6_LENGTH_64_MBYTES
917 bool "64 mb"
918
919config BAT6_LENGTH_128_MBYTES
920 bool "128 mb"
921
922config BAT6_LENGTH_256_MBYTES
923 bool "256 mb"
924endchoice
925
926choice
927 prompt "Protection mode"
928
929config BAT6_ACCESS_NONE
930 bool "No access"
931
932config BAT6_ACCESS_RO
933 bool "Read-only"
934
935config BAT6_ACCESS_RW
936 bool "Read-write"
937
938endchoice
939
Mario Sixa861ea62019-01-21 09:17:57 +0100940config BAT6_ICACHE_INHIBITED
941 bool "I-cache Inhibited"
942
943config BAT6_ICACHE_MEMORYCOHERENCE
944 bool "I-cache Memory coherence"
945
Mario Sixa861ea62019-01-21 09:17:57 +0100946config BAT6_DCACHE_WRITETHROUGH
947 bool "D-cache Write-through"
948
949config BAT6_DCACHE_INHIBITED
950 bool "D-cache Inhibited"
951
952config BAT6_DCACHE_MEMORYCOHERENCE
953 bool "D-cache Memory coherence"
954
955config BAT6_DCACHE_GUARDED
956 bool "D-cache Guarded"
957
958config BAT6_USER_MODE_VALID
959 bool "User mode valid"
960
961config BAT6_SUPERVISOR_MODE_VALID
962 bool "Supervisor mode valid"
963
964endif
965
966config BAT6_LENGTH
967 hex
968 default 0x00000000 if BAT6_LENGTH_128_KBYTES
969 default 0x00000004 if BAT6_LENGTH_256_KBYTES
970 default 0x0000000c if BAT6_LENGTH_512_KBYTES
971 default 0x0000001c if BAT6_LENGTH_1_MBYTES
972 default 0x0000003c if BAT6_LENGTH_2_MBYTES
973 default 0x0000007c if BAT6_LENGTH_4_MBYTES
974 default 0x000000fc if BAT6_LENGTH_8_MBYTES
975 default 0x000001fc if BAT6_LENGTH_16_MBYTES
976 default 0x000003fc if BAT6_LENGTH_32_MBYTES
977 default 0x000007fc if BAT6_LENGTH_64_MBYTES
978 default 0x00000ffc if BAT6_LENGTH_128_MBYTES
979 default 0x00001ffc if BAT6_LENGTH_256_MBYTES
980
981config BAT6_PAGE_PROTECTION
982 hex
983 default 0x0 if BAT6_ACCESS_NONE
984 default 0x1 if BAT6_ACCESS_RO
985 default 0x2 if BAT6_ACCESS_RW
986
987config BAT6_WIMG_ICACHE
988 hex
Christophe Leroy41d22932023-01-27 14:51:06 +0100989 default 0x0 if !BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE
990 default 0x10 if !BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE
991 default 0x20 if BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE
992 default 0x30 if BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +0100993
994config BAT6_WIMG_DCACHE
995 hex
996 default 0x0 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
997 default 0x8 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
998 default 0x10 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
999 default 0x18 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1000 default 0x20 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1001 default 0x28 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1002 default 0x30 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1003 default 0x38 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1004 default 0x40 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1005 default 0x48 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1006 default 0x50 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1007 default 0x58 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1008 default 0x60 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1009 default 0x68 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1010 default 0x70 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
1011 default 0x78 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
1012
1013config BAT6_VALID_BITS
1014 hex
1015 default 0x0 if !BAT6_SUPERVISOR_MODE_VALID && !BAT6_USER_MODE_VALID
1016 default 0x1 if !BAT6_SUPERVISOR_MODE_VALID && BAT6_USER_MODE_VALID
1017 default 0x2 if BAT6_SUPERVISOR_MODE_VALID && !BAT6_USER_MODE_VALID
1018 default 0x3 if BAT6_SUPERVISOR_MODE_VALID && BAT6_USER_MODE_VALID
1019
1020menuconfig BAT7
1021 bool "BAT7"
1022
1023if BAT7
1024
1025config BAT7_NAME
1026 string "Identifier"
1027
1028config BAT7_BASE
1029 hex "Base"
1030
1031choice
1032 prompt "Block length"
1033
1034config BAT7_LENGTH_128_KBYTES
1035 bool "128 kb"
1036
1037config BAT7_LENGTH_256_KBYTES
1038 bool "256 kb"
1039
1040config BAT7_LENGTH_512_KBYTES
1041 bool "512 kb"
1042
1043config BAT7_LENGTH_1_MBYTES
1044 bool "1 mb"
1045
1046config BAT7_LENGTH_2_MBYTES
1047 bool "2 mb"
1048
1049config BAT7_LENGTH_4_MBYTES
1050 bool "4 mb"
1051
1052config BAT7_LENGTH_8_MBYTES
1053 bool "8 mb"
1054
1055config BAT7_LENGTH_16_MBYTES
1056 bool "16 mb"
1057
1058config BAT7_LENGTH_32_MBYTES
1059 bool "32 mb"
1060
1061config BAT7_LENGTH_64_MBYTES
1062 bool "64 mb"
1063
1064config BAT7_LENGTH_128_MBYTES
1065 bool "128 mb"
1066
1067config BAT7_LENGTH_256_MBYTES
1068 bool "256 mb"
1069endchoice
1070
1071choice
1072 prompt "Protection mode"
1073
1074config BAT7_ACCESS_NONE
1075 bool "No access"
1076
1077config BAT7_ACCESS_RO
1078 bool "Read-only"
1079
1080config BAT7_ACCESS_RW
1081 bool "Read-write"
1082
1083endchoice
1084
Mario Sixa861ea62019-01-21 09:17:57 +01001085config BAT7_ICACHE_INHIBITED
1086 bool "I-cache Inhibited"
1087
1088config BAT7_ICACHE_MEMORYCOHERENCE
1089 bool "I-cache Memory coherence"
1090
Mario Sixa861ea62019-01-21 09:17:57 +01001091config BAT7_DCACHE_WRITETHROUGH
1092 bool "D-cache Write-through"
1093
1094config BAT7_DCACHE_INHIBITED
1095 bool "D-cache Inhibited"
1096
1097config BAT7_DCACHE_MEMORYCOHERENCE
1098 bool "D-cache Memory coherence"
1099
1100config BAT7_DCACHE_GUARDED
1101 bool "D-cache Guarded"
1102
1103config BAT7_USER_MODE_VALID
1104 bool "User mode valid"
1105
1106config BAT7_SUPERVISOR_MODE_VALID
1107 bool "Supervisor mode valid"
1108
1109endif
1110
1111config BAT7_LENGTH
1112 hex
1113 default 0x00000000 if BAT7_LENGTH_128_KBYTES
1114 default 0x00000004 if BAT7_LENGTH_256_KBYTES
1115 default 0x0000000c if BAT7_LENGTH_512_KBYTES
1116 default 0x0000001c if BAT7_LENGTH_1_MBYTES
1117 default 0x0000003c if BAT7_LENGTH_2_MBYTES
1118 default 0x0000007c if BAT7_LENGTH_4_MBYTES
1119 default 0x000000fc if BAT7_LENGTH_8_MBYTES
1120 default 0x000001fc if BAT7_LENGTH_16_MBYTES
1121 default 0x000003fc if BAT7_LENGTH_32_MBYTES
1122 default 0x000007fc if BAT7_LENGTH_64_MBYTES
1123 default 0x00000ffc if BAT7_LENGTH_128_MBYTES
1124 default 0x00001ffc if BAT7_LENGTH_256_MBYTES
1125
1126config BAT7_PAGE_PROTECTION
1127 hex
1128 default 0x0 if BAT7_ACCESS_NONE
1129 default 0x1 if BAT7_ACCESS_RO
1130 default 0x2 if BAT7_ACCESS_RW
1131
1132config BAT7_WIMG_ICACHE
1133 hex
Christophe Leroy41d22932023-01-27 14:51:06 +01001134 default 0x0 if !BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE
1135 default 0x10 if !BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE
1136 default 0x20 if BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE
1137 default 0x30 if BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE
Mario Sixa861ea62019-01-21 09:17:57 +01001138
1139config BAT7_WIMG_DCACHE
1140 hex
1141 default 0x0 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1142 default 0x8 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1143 default 0x10 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1144 default 0x18 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1145 default 0x20 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1146 default 0x28 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1147 default 0x30 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1148 default 0x38 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1149 default 0x40 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1150 default 0x48 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1151 default 0x50 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1152 default 0x58 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1153 default 0x60 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1154 default 0x68 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1155 default 0x70 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
1156 default 0x78 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
1157
1158config BAT7_VALID_BITS
1159 hex
1160 default 0x0 if !BAT7_SUPERVISOR_MODE_VALID && !BAT7_USER_MODE_VALID
1161 default 0x1 if !BAT7_SUPERVISOR_MODE_VALID && BAT7_USER_MODE_VALID
1162 default 0x2 if BAT7_SUPERVISOR_MODE_VALID && !BAT7_USER_MODE_VALID
1163 default 0x3 if BAT7_SUPERVISOR_MODE_VALID && BAT7_USER_MODE_VALID
1164
1165endif
1166
1167endmenu