Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[cascardo/linux.git] / arch / cris / arch-v32 / drivers / Kconfig
1 if ETRAX_ARCH_V32
2
3 config ETRAX_ETHERNET
4         bool "Ethernet support"
5         depends on ETRAX_ARCH_V32 && NETDEVICES
6         select MII
7         help
8           This option enables the ETRAX FS built-in 10/100Mbit Ethernet
9           controller.
10
11 config ETRAX_NO_PHY
12         bool "PHY not present"
13         depends on ETRAX_ETHERNET
14         default N
15         help
16           This option disables all MDIO communication with an ethernet
17           transceiver connected to the MII interface. This option shall
18           typically be enabled if the MII interface is connected to a
19           switch. This option should normally be disabled. If enabled,
20           speed and duplex will be locked to 100 Mbit and full duplex.
21
22 config ETRAX_ETHERNET_IFACE0
23         depends on ETRAX_ETHERNET
24         bool "Enable network interface 0"
25
26 config ETRAX_ETHERNET_IFACE1
27         depends on (ETRAX_ETHERNET && ETRAXFS)
28         bool "Enable network interface 1 (uses DMA6 and DMA7)"
29
30 config ETRAX_ETHERNET_GBIT
31         depends on (ETRAX_ETHERNET && CRIS_MACH_ARTPEC3)
32         bool "Enable gigabit Ethernet support"
33
34 choice
35         prompt "Eth0 led group"
36         depends on ETRAX_ETHERNET_IFACE0
37         default ETRAX_ETH0_USE_LEDGRP0
38
39 config ETRAX_ETH0_USE_LEDGRP0
40         bool "Use LED grp 0"
41         depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO
42         help
43           Use LED grp 0 for eth0
44
45 config ETRAX_ETH0_USE_LEDGRP1
46         bool "Use LED grp 1"
47         depends on ETRAX_NBR_LED_GRP_TWO
48         help
49           Use LED grp 1 for eth0
50
51 config ETRAX_ETH0_USE_LEDGRPNULL
52         bool "Use no LEDs for eth0"
53         help
54           Use no LEDs for eth0
55 endchoice
56
57 choice
58         prompt "Eth1 led group"
59         depends on ETRAX_ETHERNET_IFACE1
60         default ETRAX_ETH1_USE_LEDGRP1
61
62 config ETRAX_ETH1_USE_LEDGRP0
63         bool "Use LED grp 0"
64         depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO
65         help
66           Use LED grp 0 for eth1
67
68 config ETRAX_ETH1_USE_LEDGRP1
69         bool "Use LED grp 1"
70         depends on ETRAX_NBR_LED_GRP_TWO
71         help
72           Use LED grp 1 for eth1
73
74 config ETRAX_ETH1_USE_LEDGRPNULL
75         bool "Use no LEDs for eth1"
76         help
77           Use no LEDs for eth1
78 endchoice
79
80 config ETRAXFS_SERIAL
81         bool "Serial-port support"
82         depends on ETRAX_ARCH_V32
83         select SERIAL_CORE
84         select SERIAL_CORE_CONSOLE
85         help
86           Enables the ETRAX FS serial driver for ser0 (ttyS0)
87           You probably want this enabled.
88
89 config ETRAX_RS485
90         bool "RS-485 support"
91         depends on ETRAXFS_SERIAL
92         help
93           Enables support for RS-485 serial communication.
94
95 config ETRAX_RS485_DISABLE_RECEIVER
96         bool "Disable serial receiver"
97         depends on ETRAX_RS485
98         help
99           It is necessary to disable the serial receiver to avoid serial
100           loopback.  Not all products are able to do this in software only.
101
102 config ETRAX_SERIAL_PORT0
103         bool "Serial port 0 enabled"
104         depends on ETRAXFS_SERIAL
105         help
106           Enables the ETRAX FS serial driver for ser0 (ttyS0)
107           Normally you want this on. You can control what DMA channels to use
108           if you do not need DMA to something else.
109           ser0 can use dma4 or dma6 for output and dma5 or dma7 for input.
110
111 choice
112         prompt "Ser0 default port type "
113         depends on ETRAX_SERIAL_PORT0
114         default ETRAX_SERIAL_PORT0_TYPE_232
115         help
116           Type of serial port.
117
118 config ETRAX_SERIAL_PORT0_TYPE_232
119         bool "Ser0 is a RS-232 port"
120         help
121           Configure serial port 0 to be a RS-232 port.
122
123 config ETRAX_SERIAL_PORT0_TYPE_485HD
124         bool "Ser0 is a half duplex RS-485 port"
125         depends on ETRAX_RS485
126         help
127           Configure serial port 0 to be a half duplex (two wires) RS-485 port.
128
129 config ETRAX_SERIAL_PORT0_TYPE_485FD
130         bool "Ser0 is a full duplex RS-485 port"
131         depends on ETRAX_RS485
132         help
133           Configure serial port 0 to be a full duplex (four wires) RS-485 port.
134 endchoice
135
136 config ETRAX_SER0_DTR_BIT
137         string "Ser 0 DTR bit (empty = not used)"
138         depends on ETRAX_SERIAL_PORT0
139
140 config ETRAX_SER0_RI_BIT
141         string "Ser 0 RI bit (empty = not used)"
142         depends on ETRAX_SERIAL_PORT0
143
144 config ETRAX_SER0_DSR_BIT
145         string "Ser 0 DSR bit (empty = not used)"
146         depends on ETRAX_SERIAL_PORT0
147
148 config ETRAX_SER0_CD_BIT
149         string "Ser 0 CD bit (empty = not used)"
150         depends on ETRAX_SERIAL_PORT0
151
152 config ETRAX_SERIAL_PORT1
153         bool "Serial port 1 enabled"
154         depends on ETRAXFS_SERIAL
155         help
156           Enables the ETRAX FS serial driver for ser1 (ttyS1).
157
158 choice
159         prompt "Ser1 default port type"
160         depends on ETRAX_SERIAL_PORT1
161         default ETRAX_SERIAL_PORT1_TYPE_232
162         help
163           Type of serial port.
164
165 config ETRAX_SERIAL_PORT1_TYPE_232
166         bool "Ser1 is a RS-232 port"
167         help
168           Configure serial port 1 to be a RS-232 port.
169
170 config ETRAX_SERIAL_PORT1_TYPE_485HD
171         bool "Ser1 is a half duplex RS-485 port"
172         depends on ETRAX_RS485
173         help
174           Configure serial port 1 to be a half duplex (two wires) RS-485 port.
175
176 config ETRAX_SERIAL_PORT1_TYPE_485FD
177         bool "Ser1 is a full duplex RS-485 port"
178         depends on ETRAX_RS485
179         help
180           Configure serial port 1 to be a full duplex (four wires) RS-485 port.
181 endchoice
182
183 config ETRAX_SER1_DTR_BIT
184         string "Ser 1 DTR bit (empty = not used)"
185         depends on ETRAX_SERIAL_PORT1
186
187 config ETRAX_SER1_RI_BIT
188         string "Ser 1 RI bit (empty = not used)"
189         depends on ETRAX_SERIAL_PORT1
190
191 config ETRAX_SER1_DSR_BIT
192         string "Ser 1 DSR bit (empty = not used)"
193         depends on ETRAX_SERIAL_PORT1
194
195 config ETRAX_SER1_CD_BIT
196         string "Ser 1 CD bit (empty = not used)"
197         depends on ETRAX_SERIAL_PORT1
198
199 config ETRAX_SERIAL_PORT2
200         bool "Serial port 2 enabled"
201         depends on ETRAXFS_SERIAL
202         help
203           Enables the ETRAX FS serial driver for ser2 (ttyS2).
204
205 choice
206         prompt "Ser2 default port type"
207         depends on ETRAX_SERIAL_PORT2
208         default ETRAX_SERIAL_PORT2_TYPE_232
209         help
210           What DMA channel to use for ser2
211
212 config ETRAX_SERIAL_PORT2_TYPE_232
213         bool "Ser2 is a RS-232 port"
214         help
215           Configure serial port 2 to be a RS-232 port.
216
217 config ETRAX_SERIAL_PORT2_TYPE_485HD
218         bool "Ser2 is a half duplex RS-485 port"
219         depends on ETRAX_RS485
220         help
221           Configure serial port 2 to be a half duplex (two wires) RS-485 port.
222
223 config ETRAX_SERIAL_PORT2_TYPE_485FD
224         bool "Ser2 is a full duplex RS-485 port"
225         depends on ETRAX_RS485
226         help
227           Configure serial port 2 to be a full duplex (four wires) RS-485 port.
228 endchoice
229
230
231 config ETRAX_SER2_DTR_BIT
232         string "Ser 2 DTR bit (empty = not used)"
233         depends on ETRAX_SERIAL_PORT2
234
235 config ETRAX_SER2_RI_BIT
236         string "Ser 2 RI bit (empty = not used)"
237         depends on ETRAX_SERIAL_PORT2
238
239 config ETRAX_SER2_DSR_BIT
240         string "Ser 2 DSR bit (empty = not used)"
241         depends on ETRAX_SERIAL_PORT2
242
243 config ETRAX_SER2_CD_BIT
244         string "Ser 2 CD bit (empty = not used)"
245         depends on ETRAX_SERIAL_PORT2
246
247 config ETRAX_SERIAL_PORT3
248         bool "Serial port 3 enabled"
249         depends on ETRAXFS_SERIAL
250         help
251           Enables the ETRAX FS serial driver for ser3 (ttyS3).
252
253 choice
254         prompt "Ser3 default port type"
255         depends on ETRAX_SERIAL_PORT3
256         default ETRAX_SERIAL_PORT3_TYPE_232
257         help
258           What DMA channel to use for ser3.
259
260 config ETRAX_SERIAL_PORT3_TYPE_232
261         bool "Ser3 is a RS-232 port"
262         help
263           Configure serial port 3 to be a RS-232 port.
264
265 config ETRAX_SERIAL_PORT3_TYPE_485HD
266         bool "Ser3 is a half duplex RS-485 port"
267         depends on ETRAX_RS485
268         help
269           Configure serial port 3 to be a half duplex (two wires) RS-485 port.
270
271 config ETRAX_SERIAL_PORT3_TYPE_485FD
272         bool "Ser3 is a full duplex RS-485 port"
273         depends on ETRAX_RS485
274         help
275           Configure serial port 3 to be a full duplex (four wires) RS-485 port.
276 endchoice
277
278 config ETRAX_SER3_DTR_BIT
279         string "Ser 3 DTR bit (empty = not used)"
280         depends on ETRAX_SERIAL_PORT3
281
282 config ETRAX_SER3_RI_BIT
283         string "Ser 3 RI bit (empty = not used)"
284         depends on ETRAX_SERIAL_PORT3
285
286 config ETRAX_SER3_DSR_BIT
287         string "Ser 3 DSR bit (empty = not used)"
288         depends on ETRAX_SERIAL_PORT3
289
290 config ETRAX_SER3_CD_BIT
291         string "Ser 3 CD bit (empty = not used)"
292         depends on ETRAX_SERIAL_PORT3
293
294 config ETRAX_SERIAL_PORT4
295         bool "Serial port 4 enabled"
296         depends on ETRAXFS_SERIAL && CRIS_MACH_ARTPEC3
297         help
298           Enables the ETRAX FS serial driver for ser4 (ttyS4).
299
300 choice
301         prompt "Ser4 default port type"
302         depends on ETRAX_SERIAL_PORT4
303         default ETRAX_SERIAL_PORT4_TYPE_232
304         help
305           What DMA channel to use for ser4.
306
307 config ETRAX_SERIAL_PORT4_TYPE_232
308         bool "Ser4 is a RS-232 port"
309         help
310           Configure serial port 4 to be a RS-232 port.
311
312 config ETRAX_SERIAL_PORT4_TYPE_485HD
313         bool "Ser4 is a half duplex RS-485 port"
314         depends on ETRAX_RS485
315         help
316           Configure serial port 4 to be a half duplex (two wires) RS-485 port.
317
318 config ETRAX_SERIAL_PORT4_TYPE_485FD
319         bool "Ser4 is a full duplex RS-485 port"
320         depends on ETRAX_RS485
321         help
322           Configure serial port 4 to be a full duplex (four wires) RS-485 port.
323 endchoice
324
325 choice
326         prompt "Ser4 DMA in channel "
327         depends on ETRAX_SERIAL_PORT4
328         default ETRAX_SERIAL_PORT4_NO_DMA_IN
329         help
330           What DMA channel to use for ser4.
331
332
333 config ETRAX_SERIAL_PORT4_NO_DMA_IN
334         bool "Ser4 uses no DMA for input"
335         help
336           Do not use DMA for ser4 input.
337
338 config ETRAX_SERIAL_PORT4_DMA9_IN
339         bool "Ser4 uses DMA9 for input"
340         depends on ETRAX_SERIAL_PORT4
341         help
342           Enables the DMA9 input channel for ser4 (ttyS4).
343           If you do not enable DMA, an interrupt for each character will be
344           used when receiving data.
345           Normally you want to use DMA, unless you use the DMA channel for
346           something else.
347
348 endchoice
349
350 config ETRAX_SER4_DTR_BIT
351         string "Ser 4 DTR bit (empty = not used)"
352         depends on ETRAX_SERIAL_PORT4
353
354 config ETRAX_SER4_RI_BIT
355         string "Ser 4 RI bit (empty = not used)"
356         depends on ETRAX_SERIAL_PORT4
357
358 config ETRAX_SER4_DSR_BIT
359         string "Ser 4 DSR bit (empty = not used)"
360         depends on ETRAX_SERIAL_PORT4
361
362 config ETRAX_SER4_CD_BIT
363         string "Ser 4 CD bit (empty = not used)"
364         depends on ETRAX_SERIAL_PORT4
365
366 config ETRAX_SYNCHRONOUS_SERIAL
367         bool "Synchronous serial-port support"
368         depends on ETRAX_ARCH_V32
369         help
370           Enables the ETRAX FS synchronous serial driver.
371
372 config ETRAX_SYNCHRONOUS_SERIAL_PORT0
373          bool "Synchronous serial port 0 enabled"
374          depends on ETRAX_SYNCHRONOUS_SERIAL
375          help
376            Enabled synchronous serial port 0.
377
378 config ETRAX_SYNCHRONOUS_SERIAL0_DMA
379          bool "Enable DMA on synchronous serial port 0."
380          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
381          help
382            A synchronous serial port can run in manual or DMA mode.
383            Selecting this option will make it run in DMA mode.
384
385 config ETRAX_SYNCHRONOUS_SERIAL_PORT1
386          bool "Synchronous serial port 1 enabled"
387          depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
388          help
389            Enabled synchronous serial port 1.
390
391 config ETRAX_SYNCHRONOUS_SERIAL1_DMA
392          bool "Enable DMA on synchronous serial port 1."
393          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
394          help
395            A synchronous serial port can run in manual or DMA mode.
396            Selecting this option will make it run in DMA mode.
397
398 config ETRAX_AXISFLASHMAP
399         bool "Axis flash-map support"
400         depends on ETRAX_ARCH_V32
401         select MTD
402         select MTD_CFI
403         select MTD_CFI_AMDSTD
404         select MTD_JEDECPROBE
405         select MTD_BLOCK
406         select MTD_COMPLEX_MAPPINGS
407         help
408           This option enables MTD mapping of flash devices.  Needed to use
409           flash memories.  If unsure, say Y.
410
411 config ETRAX_AXISFLASHMAP_MTD0WHOLE
412         bool "MTD0 is whole boot flash device"
413         depends on ETRAX_AXISFLASHMAP
414         default N
415         help
416           When this option is not set, mtd0 refers to the first partition
417           on the boot flash device. When set, mtd0 refers to the whole
418           device, with mtd1 referring to the first partition etc.
419
420 config ETRAX_PTABLE_SECTOR
421         int "Byte-offset of partition table sector"
422         depends on ETRAX_AXISFLASHMAP
423         default "65536"
424         help
425           Byte-offset of the partition table in the first flash chip.
426           The default value is 64kB and should not be changed unless
427           you know exactly what you are doing. The only valid reason
428           for changing this is when the flash block size is bigger
429           than 64kB (e.g. when using two parallel 16 bit flashes).
430
431 config ETRAX_NANDFLASH
432         bool "NAND flash support"
433         depends on ETRAX_ARCH_V32
434         select MTD_NAND
435         select MTD_NAND_IDS
436         help
437           This option enables MTD mapping of NAND flash devices.  Needed to use
438           NAND flash memories.  If unsure, say Y.
439
440 config ETRAX_NANDBOOT
441         bool "Boot from NAND flash"
442         depends on ETRAX_NANDFLASH
443         help
444           This options enables booting from NAND flash devices.
445           Say Y if your boot code, kernel and root file system is in
446           NAND flash. Say N if they are in NOR flash.
447
448 config ETRAX_I2C
449         bool "I2C driver"
450         depends on ETRAX_ARCH_V32
451         help
452           This option enables the I2C driver used by e.g. the RTC driver.
453
454 config ETRAX_V32_I2C_DATA_PORT
455         string "I2C data pin"
456         depends on ETRAX_I2C
457         help
458           The pin to use for I2C data.
459
460 config ETRAX_V32_I2C_CLK_PORT
461         string "I2C clock pin"
462         depends on ETRAX_I2C
463         help
464           The pin to use for I2C clock.
465
466 config ETRAX_GPIO
467         bool "GPIO support"
468         depends on ETRAX_ARCH_V32
469         ---help---
470           Enables the ETRAX general port device (major 120, minors 0-4).
471           You can use this driver to access the general port bits. It supports
472           these ioctl's:
473           #include <linux/etraxgpio.h>
474           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
475           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
476           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
477           err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
478           Remember that you need to setup the port directions appropriately in
479           the General configuration.
480
481 config ETRAX_VIRTUAL_GPIO
482         bool "Virtual GPIO support"
483         depends on ETRAX_GPIO
484         help
485           Enables the virtual Etrax general port device (major 120, minor 6).
486           It uses an I/O expander for the I2C-bus.
487
488 config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
489         int "Virtual GPIO interrupt pin on PA pin"
490         range 0 7
491         depends on ETRAX_VIRTUAL_GPIO
492         help
493           The pin to use on PA for virtual gpio interrupt.
494
495 config ETRAX_PA_CHANGEABLE_DIR
496         hex "PA user changeable dir mask"
497         depends on ETRAX_GPIO
498         default "0x00" if ETRAXFS
499         default "0x00000000" if !ETRAXFS
500         help
501           This is a bitmask (8 bits) with information of what bits in PA that a
502           user can change direction on using ioctl's.
503           Bit set = changeable.
504           You probably want 0 here, but it depends on your hardware.
505
506 config ETRAX_PA_CHANGEABLE_BITS
507         hex "PA user changeable bits mask"
508         depends on ETRAX_GPIO
509         default "0x00" if ETRAXFS
510         default "0x00000000" if !ETRAXFS
511         help
512           This is a bitmask (8 bits) with information of what bits in PA
513           that a user can change the value on using ioctl's.
514           Bit set = changeable.
515
516 config ETRAX_PB_CHANGEABLE_DIR
517         hex "PB user changeable dir mask"
518         depends on ETRAX_GPIO
519         default "0x00000" if ETRAXFS
520         default "0x00000000" if !ETRAXFS
521         help
522           This is a bitmask (18 bits) with information of what bits in PB
523           that a user can change direction on using ioctl's.
524           Bit set = changeable.
525           You probably want 0 here, but it depends on your hardware.
526
527 config ETRAX_PB_CHANGEABLE_BITS
528         hex "PB user changeable bits mask"
529         depends on ETRAX_GPIO
530         default "0x00000" if ETRAXFS
531         default "0x00000000" if !ETRAXFS
532         help
533           This is a bitmask (18 bits) with information of what bits in PB
534           that a user can change the value on using ioctl's.
535           Bit set = changeable.
536
537 config ETRAX_PC_CHANGEABLE_DIR
538         hex "PC user changeable dir mask"
539         depends on ETRAX_GPIO
540         default "0x00000" if ETRAXFS
541         default "0x00000000" if !ETRAXFS
542         help
543           This is a bitmask (18 bits) with information of what bits in PC
544           that a user can change direction on using ioctl's.
545           Bit set = changeable.
546           You probably want 0 here, but it depends on your hardware.
547
548 config ETRAX_PC_CHANGEABLE_BITS
549         hex "PC user changeable bits mask"
550         depends on ETRAX_GPIO
551         default "0x00000" if ETRAXFS
552         default "0x00000000" if ETRAXFS
553         help
554           This is a bitmask (18 bits) with information of what bits in PC
555           that a user can change the value on using ioctl's.
556           Bit set = changeable.
557
558 config ETRAX_PD_CHANGEABLE_DIR
559         hex "PD user changeable dir mask"
560         depends on ETRAX_GPIO && ETRAXFS
561         default "0x00000"
562         help
563           This is a bitmask (18 bits) with information of what bits in PD
564           that a user can change direction on using ioctl's.
565           Bit set = changeable.
566           You probably want 0x00000 here, but it depends on your hardware.
567
568 config ETRAX_PD_CHANGEABLE_BITS
569         hex "PD user changeable bits mask"
570         depends on ETRAX_GPIO && ETRAXFS
571         default "0x00000"
572         help
573           This is a bitmask (18 bits) with information of what bits in PD
574           that a user can change the value on using ioctl's.
575           Bit set = changeable.
576
577 config ETRAX_PE_CHANGEABLE_DIR
578         hex "PE user changeable dir mask"
579         depends on ETRAX_GPIO && ETRAXFS
580         default "0x00000"
581         help
582           This is a bitmask (18 bits) with information of what bits in PE
583           that a user can change direction on using ioctl's.
584           Bit set = changeable.
585           You probably want 0x00000 here, but it depends on your hardware.
586
587 config ETRAX_PE_CHANGEABLE_BITS
588         hex "PE user changeable bits mask"
589         depends on ETRAX_GPIO && ETRAXFS
590         default "0x00000"
591         help
592           This is a bitmask (18 bits) with information of what bits in PE
593           that a user can change the value on using ioctl's.
594           Bit set = changeable.
595
596 config ETRAX_PV_CHANGEABLE_DIR
597         hex "PV user changeable dir mask"
598         depends on ETRAX_VIRTUAL_GPIO
599         default "0x0000"
600         help
601           This is a bitmask (16 bits) with information of what bits in PV
602           that a user can change direction on using ioctl's.
603           Bit set = changeable.
604           You probably want 0x0000 here, but it depends on your hardware.
605
606 config ETRAX_PV_CHANGEABLE_BITS
607         hex "PV user changeable bits mask"
608         depends on ETRAX_VIRTUAL_GPIO
609         default "0x0000"
610         help
611           This is a bitmask (16 bits) with information of what bits in PV
612           that a user can change the value on using ioctl's.
613           Bit set = changeable.
614
615 config ETRAX_CARDBUS
616         bool "Cardbus support"
617         depends on ETRAX_ARCH_V32
618         help
619          Enabled the ETRAX Cardbus driver.
620
621 config PCI
622        bool
623        depends on ETRAX_CARDBUS
624        default y
625        select HAVE_GENERIC_DMA_COHERENT
626
627 config ETRAX_IOP_FW_LOAD
628         tristate "IO-processor hotplug firmware loading support"
629         depends on ETRAX_ARCH_V32
630         select FW_LOADER
631         help
632           Enables IO-processor hotplug firmware loading support.
633
634 config ETRAX_STREAMCOPROC
635         tristate "Stream co-processor driver enabled"
636         depends on ETRAX_ARCH_V32
637         help
638           This option enables a driver for the stream co-processor
639           for cryptographic operations.
640
641 config ETRAX_MMC_IOP
642         tristate "MMC/SD host driver using IO-processor"
643         depends on ETRAX_ARCH_V32 && MMC
644         help
645           This option enables the SD/MMC host controller interface.
646           The host controller is implemented using the built in
647           IO-Processor. Only the SPU is used in this implementation.
648
649 config ETRAX_SPI_MMC
650 # Make this one of several "choices" (possible simultaneously but
651 # suggested uniquely) when an IOP driver emerges for "real" MMC/SD
652 # protocol support.
653         tristate
654         depends on !ETRAX_MMC_IOP
655         default MMC
656         select SPI
657         select MMC_SPI
658         select ETRAX_SPI_MMC_BOARD
659
660 # For the parts that can't be a module (due to restrictions in
661 # framework elsewhere).
662 config ETRAX_SPI_MMC_BOARD
663        boolean
664        default n
665
666 # While the board info is MMC_SPI only, the drivers are written to be
667 # independent of MMC_SPI, so we'll keep SPI non-dependent on the
668 # MMC_SPI config choices (well, except for a single depends-on-line
669 # for the board-info file until a separate non-MMC SPI board file
670 # emerges).
671 # FIXME: When that happens, we'll need to be able to ask for and
672 # configure non-MMC SPI ports together with MMC_SPI ports (if multiple
673 # SPI ports are enabled).
674
675 config SPI_ETRAX_SSER
676         tristate
677         depends on SPI_MASTER && ETRAX_ARCH_V32
678         select SPI_BITBANG
679         help
680           This enables using an synchronous serial (sser) port as a
681           SPI master controller on Axis ETRAX FS and later.  The
682           driver can be configured to use any sser port.
683
684 config SPI_ETRAX_GPIO
685         tristate
686         depends on SPI_MASTER && ETRAX_ARCH_V32
687         select SPI_BITBANG
688         help
689           This enables using GPIO pins port as a SPI master controller
690           on Axis ETRAX FS and later.  The driver can be configured to
691           use any GPIO pins.
692
693 config ETRAX_SPI_SSER0
694         tristate "SPI using synchronous serial port 0 (sser0)"
695         depends on ETRAX_SPI_MMC
696         default m if MMC_SPI=m
697         default y if MMC_SPI=y
698         default y if MMC_SPI=n
699         select SPI_ETRAX_SSER
700         help
701           Say Y for an MMC/SD socket connected to synchronous serial port 0,
702           or for devices using the SPI protocol on that port.  Say m if you
703           want to build it as a module, which will be named spi_crisv32_sser.
704           (You need to select MMC separately.)
705
706 config ETRAX_SPI_SSER0_DMA
707         bool "DMA for SPI on sser0 enabled"
708         depends on ETRAX_SPI_SSER0
709         depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN
710         default y
711         help
712           Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0.
713
714 config ETRAX_SPI_MMC_CD_SSER0_PIN
715         string "MMC/SD card detect pin for SPI on sser0"
716         depends on ETRAX_SPI_SSER0 && MMC_SPI
717         default "pd11"
718         help
719           The pin to use for SD/MMC card detect.  This pin should be pulled up
720           and grounded when a card is present.  If defined as " " (space), no
721           pin is selected.  A card must then always be inserted for proper
722           action.
723
724 config ETRAX_SPI_MMC_WP_SSER0_PIN
725         string "MMC/SD card write-protect pin for SPI on sser0"
726         depends on ETRAX_SPI_SSER0 && MMC_SPI
727         default "pd10"
728         help
729           The pin to use for the SD/MMC write-protect signal for a memory
730           card.  If defined as " " (space), the card is considered writable.
731
732 config ETRAX_SPI_SSER1
733         tristate "SPI using synchronous serial port 1 (sser1)"
734         depends on ETRAX_SPI_MMC
735         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
736         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
737         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
738         select SPI_ETRAX_SSER
739         help
740           Say Y for an MMC/SD socket connected to synchronous serial port 1,
741           or for devices using the SPI protocol on that port.  Say m if you
742           want to build it as a module, which will be named spi_crisv32_sser.
743           (You need to select MMC separately.)
744
745 config ETRAX_SPI_SSER1_DMA
746         bool "DMA for SPI on sser1 enabled"
747         depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1
748         depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN
749         default y
750         help
751           Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1.
752
753 config ETRAX_SPI_MMC_CD_SSER1_PIN
754         string "MMC/SD card detect pin for SPI on sser1"
755         depends on ETRAX_SPI_SSER1 && MMC_SPI
756         default "pd12"
757         help
758           The pin to use for SD/MMC card detect.  This pin should be pulled up
759           and grounded when a card is present.  If defined as " " (space), no
760           pin is selected.  A card must then always be inserted for proper
761           action.
762
763 config ETRAX_SPI_MMC_WP_SSER1_PIN
764         string "MMC/SD card write-protect pin for SPI on sser1"
765         depends on ETRAX_SPI_SSER1 && MMC_SPI
766         default "pd9"
767         help
768           The pin to use for the SD/MMC write-protect signal for a memory
769           card.  If defined as " " (space), the card is considered writable.
770
771 config ETRAX_SPI_GPIO
772         tristate "Bitbanged SPI using gpio pins"
773         depends on ETRAX_SPI_MMC
774         select SPI_ETRAX_GPIO
775         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
776         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
777         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
778         help
779           Say Y for an MMC/SD socket connected to general I/O pins (but not
780           a complete synchronous serial ports), or for devices using the SPI
781           protocol on general I/O pins.  Slow and slows down the system.
782           Say m to build it as a module, which will be called spi_crisv32_gpio.
783           (You need to select MMC separately.)
784
785 # The default match that of sser0, only because that's how it was tested.
786 config ETRAX_SPI_CS_PIN
787         string "SPI chip select pin"
788         depends on ETRAX_SPI_GPIO
789         default "pc3"
790         help
791           The pin to use for SPI chip select.
792
793 config ETRAX_SPI_CLK_PIN
794         string "SPI clock pin"
795         depends on ETRAX_SPI_GPIO
796         default "pc1"
797         help
798           The pin to use for the SPI clock.
799
800 config ETRAX_SPI_DATAIN_PIN
801         string "SPI MISO (data in) pin"
802         depends on ETRAX_SPI_GPIO
803         default "pc16"
804         help
805           The pin to use for SPI data in from the device.
806
807 config ETRAX_SPI_DATAOUT_PIN
808         string "SPI MOSI (data out) pin"
809         depends on ETRAX_SPI_GPIO
810         default "pc0"
811         help
812           The pin to use for SPI data out to the device.
813
814 config ETRAX_SPI_MMC_CD_GPIO_PIN
815         string "MMC/SD card detect pin for SPI using gpio (space for none)"
816         depends on ETRAX_SPI_GPIO && MMC_SPI
817         default "pd11"
818         help
819           The pin to use for SD/MMC card detect.  This pin should be pulled up
820           and grounded when a card is present.  If defined as " " (space), no
821           pin is selected.  A card must then always be inserted for proper
822           action.
823
824 config ETRAX_SPI_MMC_WP_GPIO_PIN
825         string "MMC/SD card write-protect pin for SPI using gpio (space for none)"
826         depends on ETRAX_SPI_GPIO && MMC_SPI
827         default "pd10"
828         help
829           The pin to use for the SD/MMC write-protect signal for a memory
830           card.  If defined as " " (space), the card is considered writable.
831
832 endif