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