ARM: at91: introduce AT91_SAM9_ALT_RESET to select the at91sam9 alternative reset
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-at91 / Kconfig
1 if ARCH_AT91
2
3 config HAVE_AT91_DATAFLASH_CARD
4         bool
5
6 config HAVE_AT91_DBGU0
7         bool
8
9 config HAVE_AT91_DBGU1
10         bool
11
12 config HAVE_AT91_USART3
13         bool
14
15 config HAVE_AT91_USART4
16         bool
17
18 config HAVE_AT91_USART5
19         bool
20
21 config AT91_SAM9_ALT_RESET
22         bool
23
24 menu "Atmel AT91 System-on-Chip"
25
26 choice
27         prompt "Atmel AT91 Processor"
28
29 config ARCH_AT91RM9200
30         bool "AT91RM9200"
31         select CPU_ARM920T
32         select GENERIC_CLOCKEVENTS
33         select HAVE_AT91_DBGU0
34         select HAVE_AT91_USART3
35
36 config ARCH_AT91SAM9260
37         bool "AT91SAM9260 or AT91SAM9XE"
38         select CPU_ARM926T
39         select GENERIC_CLOCKEVENTS
40         select HAVE_AT91_DBGU0
41         select HAVE_AT91_USART3
42         select HAVE_AT91_USART4
43         select HAVE_AT91_USART5
44         select HAVE_NET_MACB
45         select AT91_SAM9_ALT_RESET
46
47 config ARCH_AT91SAM9261
48         bool "AT91SAM9261"
49         select CPU_ARM926T
50         select GENERIC_CLOCKEVENTS
51         select HAVE_FB_ATMEL
52         select HAVE_AT91_DBGU0
53         select AT91_SAM9_ALT_RESET
54
55 config ARCH_AT91SAM9G10
56         bool "AT91SAM9G10"
57         select CPU_ARM926T
58         select GENERIC_CLOCKEVENTS
59         select HAVE_AT91_DBGU0
60         select HAVE_FB_ATMEL
61         select AT91_SAM9_ALT_RESET
62
63 config ARCH_AT91SAM9263
64         bool "AT91SAM9263"
65         select CPU_ARM926T
66         select GENERIC_CLOCKEVENTS
67         select HAVE_FB_ATMEL
68         select HAVE_NET_MACB
69         select HAVE_AT91_DBGU1
70         select AT91_SAM9_ALT_RESET
71
72 config ARCH_AT91SAM9RL
73         bool "AT91SAM9RL"
74         select CPU_ARM926T
75         select GENERIC_CLOCKEVENTS
76         select HAVE_AT91_USART3
77         select HAVE_FB_ATMEL
78         select HAVE_AT91_DBGU0
79         select AT91_SAM9_ALT_RESET
80
81 config ARCH_AT91SAM9G20
82         bool "AT91SAM9G20"
83         select CPU_ARM926T
84         select GENERIC_CLOCKEVENTS
85         select HAVE_AT91_DBGU0
86         select HAVE_AT91_USART3
87         select HAVE_AT91_USART4
88         select HAVE_AT91_USART5
89         select HAVE_NET_MACB
90         select AT91_SAM9_ALT_RESET
91
92 config ARCH_AT91SAM9G45
93         bool "AT91SAM9G45"
94         select CPU_ARM926T
95         select GENERIC_CLOCKEVENTS
96         select HAVE_AT91_USART3
97         select HAVE_FB_ATMEL
98         select HAVE_NET_MACB
99         select HAVE_AT91_DBGU1
100
101 config ARCH_AT91CAP9
102         bool "AT91CAP9"
103         select CPU_ARM926T
104         select GENERIC_CLOCKEVENTS
105         select HAVE_FB_ATMEL
106         select HAVE_NET_MACB
107         select HAVE_AT91_DBGU1
108
109 config ARCH_AT91X40
110         bool "AT91x40"
111         select ARCH_USES_GETTIMEOFFSET
112
113 endchoice
114
115 config AT91_PMC_UNIT
116         bool
117         default !ARCH_AT91X40
118
119 # ----------------------------------------------------------
120
121 if ARCH_AT91RM9200
122
123 comment "AT91RM9200 Board Type"
124
125 config MACH_ONEARM
126         bool "Ajeco 1ARM Single Board Computer"
127         help
128           Select this if you are using Ajeco's 1ARM Single Board Computer.
129           <http://www.ajeco.fi/>
130
131 config ARCH_AT91RM9200DK
132         bool "Atmel AT91RM9200-DK Development board"
133         select HAVE_AT91_DATAFLASH_CARD
134         help
135           Select this if you are using Atmel's AT91RM9200-DK Development board.
136           (Discontinued)
137
138 config MACH_AT91RM9200EK
139         bool "Atmel AT91RM9200-EK Evaluation Kit"
140         select HAVE_AT91_DATAFLASH_CARD
141         help
142           Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
143           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>
144
145 config MACH_CSB337
146         bool "Cogent CSB337"
147         help
148           Select this if you are using Cogent's CSB337 board.
149           <http://www.cogcomp.com/csb_csb337.htm>
150
151 config MACH_CSB637
152         bool "Cogent CSB637"
153         help
154           Select this if you are using Cogent's CSB637 board.
155           <http://www.cogcomp.com/csb_csb637.htm>
156
157 config MACH_CARMEVA
158         bool "Conitec ARM&EVA"
159         help
160           Select this if you are using Conitec's AT91RM9200-MCU-Module.
161           <http://www.conitec.net/english/linuxboard.php>
162
163 config MACH_ATEB9200
164         bool "Embest ATEB9200"
165         help
166           Select this if you are using Embest's ATEB9200 board.
167           <http://www.embedinfo.com/english/product/ATEB9200.asp>
168
169 config MACH_KB9200
170         bool "KwikByte KB920x"
171         help
172           Select this if you are using KwikByte's KB920x board.
173           <http://www.kwikbyte.com/KB9202.html>
174
175 config MACH_PICOTUX2XX
176         bool "picotux 200"
177         help
178           Select this if you are using a picotux 200.
179           <http://www.picotux.com/>
180
181 config MACH_KAFA
182         bool "Sperry-Sun KAFA board"
183         help
184           Select this if you are using Sperry-Sun's KAFA board.
185
186 config MACH_ECBAT91
187         bool "emQbit ECB_AT91 SBC"
188         select HAVE_AT91_DATAFLASH_CARD
189         help
190           Select this if you are using emQbit's ECB_AT91 board.
191           <http://wiki.emqbit.com/free-ecb-at91>
192
193 config MACH_YL9200
194         bool "ucDragon YL-9200"
195         help
196           Select this if you are using the ucDragon YL-9200 board.
197
198 config MACH_CPUAT91
199         bool "Eukrea CPUAT91"
200         help
201           Select this if you are using the Eukrea Electromatique's
202           CPUAT91 board <http://www.eukrea.com/>.
203
204 config MACH_ECO920
205         bool "eco920"
206         help
207           Select this if you are using the eco920 board
208
209 config MACH_RSI_EWS
210         bool "RSI Embedded Webserver"
211         depends on ARCH_AT91RM9200
212         help
213           Select this if you are using RSIs EWS board.
214 endif
215
216 # ----------------------------------------------------------
217
218 if ARCH_AT91SAM9260
219
220 comment "AT91SAM9260 Variants"
221
222 comment "AT91SAM9260 / AT91SAM9XE Board Type"
223
224 config MACH_AT91SAM9260EK
225         bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
226         select HAVE_AT91_DATAFLASH_CARD
227         help
228           Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
229           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
230
231 config MACH_CAM60
232         bool "KwikByte KB9260 (CAM60) board"
233         help
234           Select this if you are using KwikByte's KB9260 (CAM60) board based on the Atmel AT91SAM9260.
235           <http://www.kwikbyte.com/KB9260.html>
236
237 config MACH_SAM9_L9260
238         bool "Olimex SAM9-L9260 board"
239         select HAVE_AT91_DATAFLASH_CARD
240         help
241           Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
242           <http://www.olimex.com/dev/sam9-L9260.html>
243
244 config MACH_AFEB9260
245         bool "Custom afeb9260 board v1"
246         help
247           Select this if you are using custom afeb9260 board based on
248           open hardware design. Select this for revision 1 of the board.
249           <svn://194.85.238.22/home/users/george/svn/arm9eb>
250           <http://groups.google.com/group/arm9fpga-evolution-board>
251
252 config MACH_USB_A9260
253         bool "CALAO USB-A9260"
254         help
255           Select this if you are using a Calao Systems USB-A9260.
256           <http://www.calao-systems.com>
257
258 config MACH_QIL_A9260
259         bool "CALAO QIL-A9260 board"
260         help
261           Select this if you are using a Calao Systems QIL-A9260 Board.
262           <http://www.calao-systems.com>
263
264 config MACH_CPU9260
265         bool "Eukrea CPU9260 board"
266         help
267           Select this if you are using a Eukrea Electromatique's
268           CPU9260 Board <http://www.eukrea.com/>
269
270 config MACH_FLEXIBITY
271         bool "Flexibity Connect board"
272         help
273           Select this if you are using Flexibity Connect board
274           <http://www.flexibity.com>
275
276 endif
277
278 # ----------------------------------------------------------
279
280 if ARCH_AT91SAM9261
281
282 comment "AT91SAM9261 Board Type"
283
284 config MACH_AT91SAM9261EK
285         bool "Atmel AT91SAM9261-EK Evaluation Kit"
286         select HAVE_AT91_DATAFLASH_CARD
287         help
288           Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
289           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
290
291 endif
292
293 # ----------------------------------------------------------
294
295 if ARCH_AT91SAM9G10
296
297 comment "AT91SAM9G10 Board Type"
298
299 config MACH_AT91SAM9G10EK
300         bool "Atmel AT91SAM9G10-EK Evaluation Kit"
301         select HAVE_AT91_DATAFLASH_CARD
302         help
303           Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
304           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
305
306 endif
307
308 # ----------------------------------------------------------
309
310 if ARCH_AT91SAM9263
311
312 comment "AT91SAM9263 Board Type"
313
314 config MACH_AT91SAM9263EK
315         bool "Atmel AT91SAM9263-EK Evaluation Kit"
316         select HAVE_AT91_DATAFLASH_CARD
317         help
318           Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
319           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
320
321 config MACH_USB_A9263
322         bool "CALAO USB-A9263"
323         help
324           Select this if you are using a Calao Systems USB-A9263.
325           <http://www.calao-systems.com>
326
327 config MACH_NEOCORE926
328         bool "Adeneo NEOCORE926"
329         select HAVE_AT91_DATAFLASH_CARD
330         help
331           Select this if you are using the Adeneo Neocore 926 board.
332
333 endif
334
335 # ----------------------------------------------------------
336
337 if ARCH_AT91SAM9RL
338
339 comment "AT91SAM9RL Board Type"
340
341 config MACH_AT91SAM9RLEK
342         bool "Atmel AT91SAM9RL-EK Evaluation Kit"
343         help
344           Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
345
346 endif
347
348 # ----------------------------------------------------------
349
350 if ARCH_AT91SAM9G20
351
352 comment "AT91SAM9G20 Board Type"
353
354 config MACH_AT91SAM9G20EK
355         bool "Atmel AT91SAM9G20-EK Evaluation Kit"
356         select HAVE_AT91_DATAFLASH_CARD
357         help
358           Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
359           that embeds only one SD/MMC slot.
360
361 config MACH_AT91SAM9G20EK_2MMC
362         depends on MACH_AT91SAM9G20EK
363         bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
364         help
365           Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
366           with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
367           onwards.
368
369 config MACH_CPU9G20
370         bool "Eukrea CPU9G20 board"
371         help
372           Select this if you are using a Eukrea Electromatique's
373           CPU9G20 Board <http://www.eukrea.com/>
374
375 config MACH_ACMENETUSFOXG20
376         bool "Acme Systems srl FOX Board G20"
377         help
378           Select this if you are using Acme Systems
379           FOX Board G20 <http://www.acmesystems.it>
380
381 config MACH_PORTUXG20
382         bool "taskit PortuxG20"
383         help
384           Select this if you are using taskit's PortuxG20.
385           <http://www.taskit.de/en/>
386
387 config MACH_STAMP9G20
388         bool "taskit Stamp9G20 CPU module"
389         help
390           Select this if you are using taskit's Stamp9G20 CPU module on its
391           evaluation board.
392           <http://www.taskit.de/en/>
393
394 config MACH_PCONTROL_G20
395         bool "PControl G20 CPU module"
396         help
397           Select this if you are using taskit's Stamp9G20 CPU module on this
398           carrier board, beeing the decentralized unit of a building automation
399           system; featuring nvram, eth-switch, iso-rs485, display, io
400
401 config MACH_GSIA18S
402         bool "GS_IA18_S board"
403         help
404           This enables support for the GS_IA18_S board
405           produced by GeoSIG Ltd company. This is an internet accelerograph.
406           <http://www.geosig.com>
407
408 config MACH_USB_A9G20
409         bool "CALAO USB-A9G20"
410         depends on ARCH_AT91SAM9G20
411         help
412           Select this if you are using a Calao Systems USB-A9G20.
413           <http://www.calao-systems.com>
414
415 endif
416
417 if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20)
418 comment "AT91SAM9260/AT91SAM9G20 boards"
419
420 config MACH_SNAPPER_9260
421         bool "Bluewater Systems Snapper 9260/9G20 module"
422         help
423           Select this if you are using the Bluewater Systems Snapper 9260 or
424           Snapper 9G20 modules.
425           <http://www.bluewatersys.com/>
426 endif
427
428 # ----------------------------------------------------------
429
430 if ARCH_AT91SAM9G45
431
432 comment "AT91SAM9G45 Board Type"
433
434 config MACH_AT91SAM9M10G45EK
435         bool "Atmel AT91SAM9M10G45-EK Evaluation Kits"
436         help
437           Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
438           "ES" at the end of the name means that this board is an
439           Engineering Sample.
440
441 endif
442
443 # ----------------------------------------------------------
444
445 if ARCH_AT91CAP9
446
447 comment "AT91CAP9 Board Type"
448
449 config MACH_AT91CAP9ADK
450         bool "Atmel AT91CAP9A-DK Evaluation Kit"
451         select HAVE_AT91_DATAFLASH_CARD
452         help
453           Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
454           <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
455
456 endif
457
458 # ----------------------------------------------------------
459
460 if ARCH_AT91X40
461
462 comment "AT91X40 Board Type"
463
464 config MACH_AT91EB01
465         bool "Atmel AT91EB01 Evaluation Kit"
466         help
467           Select this if you are using Atmel's AT91EB01 Evaluation Kit.
468           It is also a popular target for simulators such as GDB's
469           ARM simulator (commonly known as the ARMulator) and the
470           Skyeye simulator.
471
472 endif
473
474 # ----------------------------------------------------------
475
476 comment "Generic Board Type"
477
478 config MACH_AT91SAM_DT
479         bool "Atmel AT91SAM Evaluation Kits with device-tree support"
480         select USE_OF
481         help
482           Select this if you want to experiment device-tree with
483           an Atmel Evaluation Kit.
484
485 # ----------------------------------------------------------
486
487 comment "AT91 Board Options"
488
489 config MTD_AT91_DATAFLASH_CARD
490         bool "Enable DataFlash Card support"
491         depends on HAVE_AT91_DATAFLASH_CARD
492         help
493           Enable support for the DataFlash card.
494
495 # ----------------------------------------------------------
496
497 comment "AT91 Feature Selections"
498
499 config AT91_PROGRAMMABLE_CLOCKS
500         bool "Programmable Clocks"
501         help
502           Select this if you need to program one or more of the PCK0..PCK3
503           programmable clock outputs.
504
505 config AT91_SLOW_CLOCK
506         bool "Suspend-to-RAM disables main oscillator"
507         depends on SUSPEND
508         help
509           Select this if you want Suspend-to-RAM to save the most power
510           possible (without powering off the CPU) by disabling the PLLs
511           and main oscillator so that only the 32 KiHz clock is available.
512
513           When only that slow-clock is available, some peripherals lose
514           functionality.  Many can't issue wakeup events unless faster
515           clocks are available.  Some lose their operating state and
516           need to be completely re-initialized.
517
518 config AT91_TIMER_HZ
519        int "Kernel HZ (jiffies per second)"
520        range 32 1024
521        depends on ARCH_AT91
522        default "128" if ARCH_AT91RM9200
523        default "100"
524        help
525           On AT91rm9200 chips where you're using a system clock derived
526           from the 32768 Hz hardware clock, this tick rate should divide
527           it exactly: use a power-of-two value, such as 128 or 256, to
528           reduce timing errors caused by rounding.
529
530           On AT91sam926x chips, or otherwise when using a higher precision
531           system clock (of at least several MHz), rounding is less of a
532           problem so it can be safer to use a decimal values like 100.
533
534 choice
535         prompt "Select a UART for early kernel messages"
536
537 config AT91_EARLY_DBGU0
538         bool "DBGU on rm9200, 9260/9g20, 9261/9g10 and 9rl"
539         depends on HAVE_AT91_DBGU0
540
541 config AT91_EARLY_DBGU1
542         bool "DBGU on 9263, 9g45 and cap9"
543         depends on HAVE_AT91_DBGU1
544
545 config AT91_EARLY_USART0
546         bool "USART0"
547
548 config AT91_EARLY_USART1
549         bool "USART1"
550
551 config AT91_EARLY_USART2
552         bool "USART2"
553         depends on ! ARCH_AT91X40
554
555 config AT91_EARLY_USART3
556         bool "USART3"
557         depends on HAVE_AT91_USART3
558
559 config AT91_EARLY_USART4
560         bool "USART4"
561         depends on HAVE_AT91_USART4
562
563 config AT91_EARLY_USART5
564         bool "USART5"
565         depends on HAVE_AT91_USART5
566
567 endchoice
568
569 endmenu
570
571 endif