]> err.no Git - linux-2.6/blob - arch/cris/arch-v32/drivers/Kconfig
CRIS v32: New version of I2C driver.
[linux-2.6] / 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
6         select NET_ETHERNET
7         select MII
8         help
9           This option enables the ETRAX FS built-in 10/100Mbit Ethernet
10           controller.
11
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.
22
23 config ETRAX_ETHERNET_IFACE0
24         depends on ETRAX_ETHERNET
25         bool "Enable network interface 0"
26
27 config ETRAX_ETHERNET_IFACE1
28         depends on (ETRAX_ETHERNET && ETRAXFS)
29         bool "Enable network interface 1 (uses DMA6 and DMA7)"
30
31 config ETRAX_ETHERNET_GBIT
32         depends on (ETRAX_ETHERNET && CRIS_MACH_ARTPEC3)
33         bool "Enable gigabit Ethernet support"
34
35 choice
36         prompt "Eth0 led group"
37         depends on ETRAX_ETHERNET_IFACE0
38         default ETRAX_ETH0_USE_LEDGRP0
39
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
45
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
51
52 config ETRAX_ETH0_USE_LEDGRPNULL
53         bool "Use no LEDs for eth0"
54         help
55           Use no LEDs for eth0
56 endchoice
57
58 choice
59         prompt "Eth1 led group"
60         depends on ETRAX_ETHERNET_IFACE1
61         default ETRAX_ETH1_USE_LEDGRP1
62
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
68
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
74
75 config ETRAX_ETH1_USE_LEDGRPNULL
76         bool "Use no LEDs for eth1"
77         help
78           Use no LEDs for eth1
79 endchoice
80
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.
89
90 config ETRAX_RS485
91         bool "RS-485 support"
92         depends on ETRAXFS_SERIAL
93         help
94           Enables support for RS-485 serial communication.
95
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.
102
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.
111
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.
118
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.
123
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.
129
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
136
137 config ETRAX_SER0_DTR_BIT
138         string "Ser 0 DTR bit (empty = not used)"
139         depends on ETRAX_SERIAL_PORT0
140
141 config ETRAX_SER0_RI_BIT
142         string "Ser 0 RI bit (empty = not used)"
143         depends on ETRAX_SERIAL_PORT0
144
145 config ETRAX_SER0_DSR_BIT
146         string "Ser 0 DSR bit (empty = not used)"
147         depends on ETRAX_SERIAL_PORT0
148
149 config ETRAX_SER0_CD_BIT
150         string "Ser 0 CD bit (empty = not used)"
151         depends on ETRAX_SERIAL_PORT0
152
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).
158
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.
165
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.
170
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.
176
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
183
184 config ETRAX_SER1_DTR_BIT
185         string "Ser 1 DTR bit (empty = not used)"
186         depends on ETRAX_SERIAL_PORT1
187
188 config ETRAX_SER1_RI_BIT
189         string "Ser 1 RI bit (empty = not used)"
190         depends on ETRAX_SERIAL_PORT1
191
192 config ETRAX_SER1_DSR_BIT
193         string "Ser 1 DSR bit (empty = not used)"
194         depends on ETRAX_SERIAL_PORT1
195
196 config ETRAX_SER1_CD_BIT
197         string "Ser 1 CD bit (empty = not used)"
198         depends on ETRAX_SERIAL_PORT1
199
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).
205
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
212
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.
217
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.
223
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
230
231
232 config ETRAX_SER2_DTR_BIT
233         string "Ser 2 DTR bit (empty = not used)"
234         depends on ETRAX_SERIAL_PORT2
235
236 config ETRAX_SER2_RI_BIT
237         string "Ser 2 RI bit (empty = not used)"
238         depends on ETRAX_SERIAL_PORT2
239
240 config ETRAX_SER2_DSR_BIT
241         string "Ser 2 DSR bit (empty = not used)"
242         depends on ETRAX_SERIAL_PORT2
243
244 config ETRAX_SER2_CD_BIT
245         string "Ser 2 CD bit (empty = not used)"
246         depends on ETRAX_SERIAL_PORT2
247
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).
253
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.
260
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.
265
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.
271
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
278
279 config ETRAX_SER3_DTR_BIT
280         string "Ser 3 DTR bit (empty = not used)"
281         depends on ETRAX_SERIAL_PORT3
282
283 config ETRAX_SER3_RI_BIT
284         string "Ser 3 RI bit (empty = not used)"
285         depends on ETRAX_SERIAL_PORT3
286
287 config ETRAX_SER3_DSR_BIT
288         string "Ser 3 DSR bit (empty = not used)"
289         depends on ETRAX_SERIAL_PORT3
290
291 config ETRAX_SER3_CD_BIT
292         string "Ser 3 CD bit (empty = not used)"
293         depends on ETRAX_SERIAL_PORT3
294
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).
300
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.
307
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.
312
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.
318
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
325
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.
332
333
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.
338
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 receiveing data.
346           Normally you want to use DMA, unless you use the DMA channel for
347           something else.
348
349 endchoice
350
351 config ETRAX_SER4_DTR_BIT
352         string "Ser 4 DTR bit (empty = not used)"
353         depends on ETRAX_SERIAL_PORT4
354
355 config ETRAX_SER4_RI_BIT
356         string "Ser 4 RI bit (empty = not used)"
357         depends on ETRAX_SERIAL_PORT4
358
359 config ETRAX_SER4_DSR_BIT
360         string "Ser 4 DSR bit (empty = not used)"
361         depends on ETRAX_SERIAL_PORT4
362
363 config ETRAX_SER3_CD_BIT
364         string "Ser 4 CD bit (empty = not used)"
365         depends on ETRAX_SERIAL_PORT4
366
367 config ETRAX_RS485
368         bool "RS-485 support"
369         depends on ETRAXFS_SERIAL
370         help
371           Enables support for RS-485 serial communication.  For a primer on
372           RS-485, see <http://www.hw.cz/english/docs/rs485/rs485.html>.
373
374 config ETRAX_RS485_DISABLE_RECEIVER
375         bool "Disable serial receiver"
376         depends on ETRAX_RS485
377         help
378           It is necessary to disable the serial receiver to avoid serial
379           loopback.  Not all products are able to do this in software only.
380
381 config ETRAX_AXISFLASHMAP
382         bool "Axis flash-map support"
383         depends on ETRAX_ARCH_V32
384         select MTD
385         select MTD_CFI
386         select MTD_CFI_AMDSTD
387         select MTD_JEDECPROBE
388         select MTD_CHAR
389         select MTD_BLOCK
390         select MTD_PARTITIONS
391         select MTD_CONCAT
392         select MTD_COMPLEX_MAPPINGS
393         help
394           This option enables MTD mapping of flash devices.  Needed to use
395           flash memories.  If unsure, say Y.
396
397 config ETRAX_SYNCHRONOUS_SERIAL
398         bool "Synchronous serial-port support"
399         depends on ETRAX_ARCH_V32
400         help
401           Enables the ETRAX FS synchronous serial driver.
402
403 config ETRAX_SYNCHRONOUS_SERIAL_PORT0
404          bool "Synchronous serial port 0 enabled"
405          depends on ETRAX_SYNCHRONOUS_SERIAL
406          help
407            Enabled synchronous serial port 0.
408
409 config ETRAX_SYNCHRONOUS_SERIAL0_DMA
410          bool "Enable DMA on synchronous serial port 0."
411          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
412          help
413            A synchronous serial port can run in manual or DMA mode.
414            Selecting this option will make it run in DMA mode.
415
416 config ETRAX_SYNCHRONOUS_SERIAL_PORT1
417          bool "Synchronous serial port 1 enabled"
418          depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
419          help
420            Enabled synchronous serial port 1.
421
422 config ETRAX_SYNCHRONOUS_SERIAL1_DMA
423          bool "Enable DMA on synchronous serial port 1."
424          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
425          help
426            A synchronous serial port can run in manual or DMA mode.
427            Selecting this option will make it run in DMA mode.
428
429 config ETRAX_AXISFLASHMAP
430         bool "Axis flash-map support"
431         depends on ETRAX_ARCH_V32
432         select MTD
433         select MTD_CFI
434         select MTD_CFI_AMDSTD
435         select MTD_JEDECPROBE
436         select MTD_CHAR
437         select MTD_BLOCK
438         select MTD_PARTITIONS
439         select MTD_CONCAT
440         select MTD_COMPLEX_MAPPINGS
441         help
442           This option enables MTD mapping of flash devices.  Needed to use
443           flash memories.  If unsure, say Y.
444
445 config ETRAX_AXISFLASHMAP_MTD0WHOLE
446         bool "MTD0 is whole boot flash device"
447         depends on ETRAX_AXISFLASHMAP
448         default N
449         help
450           When this option is not set, mtd0 refers to the first partition
451           on the boot flash device. When set, mtd0 refers to the whole
452           device, with mtd1 referring to the first partition etc.
453
454 config ETRAX_PTABLE_SECTOR
455         int "Byte-offset of partition table sector"
456         depends on ETRAX_AXISFLASHMAP
457         default "65536"
458         help
459           Byte-offset of the partition table in the first flash chip.
460           The default value is 64kB and should not be changed unless
461           you know exactly what you are doing. The only valid reason
462           for changing this is when the flash block size is bigger
463           than 64kB (e.g. when using two parallel 16 bit flashes).
464
465 config ETRAX_NANDFLASH
466         bool "NAND flash support"
467         depends on ETRAX_ARCH_V32
468         select MTD_NAND
469         select MTD_NAND_IDS
470         help
471           This option enables MTD mapping of NAND flash devices.  Needed to use
472           NAND flash memories.  If unsure, say Y.
473
474 config ETRAX_NANDBOOT
475         bool "Boot from NAND flash"
476         depends on ETRAX_NANDFLASH
477         help
478           This options enables booting from NAND flash devices.
479           Say Y if your boot code, kernel and root file system is in
480           NAND flash. Say N if they are in NOR flash.
481
482 config ETRAX_I2C
483         bool "I2C driver"
484         depends on ETRAX_ARCH_V32
485         help
486           This option enables the I2C driver used by e.g. the RTC driver.
487
488 config ETRAX_V32_I2C_DATA_PORT
489         string "I2C data pin"
490         depends on ETRAX_I2C
491         help
492           The pin to use for I2C data.
493
494 config ETRAX_V32_I2C_CLK_PORT
495         string "I2C clock pin"
496         depends on ETRAX_I2C
497         help
498           The pin to use for I2C clock.
499
500 config ETRAX_RTC
501         bool "Real Time Clock support"
502         depends on ETRAX_ARCH_V32 && ETRAX_I2C
503         help
504           Enabled RTC support.
505
506 config ETRAX_GPIO
507         bool "GPIO support"
508         depends on ETRAX_ARCH_V32
509         ---help---
510           Enables the ETRAX general port device (major 120, minors 0-4).
511           You can use this driver to access the general port bits. It supports
512           these ioctl's:
513           #include <linux/etraxgpio.h>
514           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
515           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
516           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
517           err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
518           Remember that you need to setup the port directions appropriately in
519           the General configuration.
520
521 config ETRAX_VIRTUAL_GPIO
522         bool "Virtual GPIO support"
523         depends on ETRAX_GPIO
524         help
525           Enables the virtual Etrax general port device (major 120, minor 6).
526           It uses an I/O expander for the I2C-bus.
527
528 config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
529         int "Virtual GPIO interrupt pin on PA pin"
530         range 0 7
531         depends on ETRAX_VIRTUAL_GPIO
532         help
533           The pin to use on PA for virtual gpio interrupt.
534
535 config ETRAX_PA_CHANGEABLE_DIR
536         hex "PA user changeable dir mask"
537         depends on ETRAX_GPIO
538         default "0x00" if ETRAXFS
539         default "0x00000000" if !ETRAXFS
540         help
541           This is a bitmask (8 bits) with information of what bits in PA that a
542           user can change direction on using ioctl's.
543           Bit set = changeable.
544           You probably want 0 here, but it depends on your hardware.
545
546 config ETRAX_PA_CHANGEABLE_BITS
547         hex "PA user changeable bits mask"
548         depends on ETRAX_GPIO
549         default "0x00" if ETRAXFS
550         default "0x00000000" if !ETRAXFS
551         help
552           This is a bitmask (8 bits) with information of what bits in PA
553           that a user can change the value on using ioctl's.
554           Bit set = changeable.
555
556 config ETRAX_PB_CHANGEABLE_DIR
557         hex "PB user changeable dir mask"
558         depends on ETRAX_GPIO
559         default "0x00000" if ETRAXFS
560         default "0x00000000" if !ETRAXFS
561         help
562           This is a bitmask (18 bits) with information of what bits in PB
563           that a user can change direction on using ioctl's.
564           Bit set = changeable.
565           You probably want 0 here, but it depends on your hardware.
566
567 config ETRAX_PB_CHANGEABLE_BITS
568         hex "PB user changeable bits mask"
569         depends on ETRAX_GPIO
570         default "0x00000" if ETRAXFS
571         default "0x00000000" if !ETRAXFS
572         help
573           This is a bitmask (18 bits) with information of what bits in PB
574           that a user can change the value on using ioctl's.
575           Bit set = changeable.
576
577 config ETRAX_PC_CHANGEABLE_DIR
578         hex "PC user changeable dir mask"
579         depends on ETRAX_GPIO
580         default "0x00000" if ETRAXFS
581         default "0x00000000" if !ETRAXFS
582         help
583           This is a bitmask (18 bits) with information of what bits in PC
584           that a user can change direction on using ioctl's.
585           Bit set = changeable.
586           You probably want 0 here, but it depends on your hardware.
587
588 config ETRAX_PC_CHANGEABLE_BITS
589         hex "PC user changeable bits mask"
590         depends on ETRAX_GPIO
591         default "0x00000" if ETRAXFS
592         default "0x00000000" if ETRAXFS
593         help
594           This is a bitmask (18 bits) with information of what bits in PC
595           that a user can change the value on using ioctl's.
596           Bit set = changeable.
597
598 config ETRAX_PD_CHANGEABLE_DIR
599         hex "PD user changeable dir mask"
600         depends on ETRAX_GPIO && ETRAXFS
601         default "0x00000"
602         help
603           This is a bitmask (18 bits) with information of what bits in PD
604           that a user can change direction on using ioctl's.
605           Bit set = changeable.
606           You probably want 0x00000 here, but it depends on your hardware.
607
608 config ETRAX_PD_CHANGEABLE_BITS
609         hex "PD user changeable bits mask"
610         depends on ETRAX_GPIO && ETRAXFS
611         default "0x00000"
612         help
613           This is a bitmask (18 bits) with information of what bits in PD
614           that a user can change the value on using ioctl's.
615           Bit set = changeable.
616
617 config ETRAX_PE_CHANGEABLE_DIR
618         hex "PE user changeable dir mask"
619         depends on ETRAX_GPIO && ETRAXFS
620         default "0x00000"
621         help
622           This is a bitmask (18 bits) with information of what bits in PE
623           that a user can change direction on using ioctl's.
624           Bit set = changeable.
625           You probably want 0x00000 here, but it depends on your hardware.
626
627 config ETRAX_PE_CHANGEABLE_BITS
628         hex "PE user changeable bits mask"
629         depends on ETRAX_GPIO && ETRAXFS
630         default "0x00000"
631         help
632           This is a bitmask (18 bits) with information of what bits in PE
633           that a user can change the value on using ioctl's.
634           Bit set = changeable.
635
636 config ETRAX_PV_CHANGEABLE_DIR
637         hex "PV user changeable dir mask"
638         depends on ETRAX_VIRTUAL_GPIO
639         default "0x0000"
640         help
641           This is a bitmask (16 bits) with information of what bits in PV
642           that a user can change direction on using ioctl's.
643           Bit set = changeable.
644           You probably want 0x0000 here, but it depends on your hardware.
645
646 config ETRAX_PV_CHANGEABLE_BITS
647         hex "PV user changeable bits mask"
648         depends on ETRAX_VIRTUAL_GPIO
649         default "0x0000"
650         help
651           This is a bitmask (16 bits) with information of what bits in PV
652           that a user can change the value on using ioctl's.
653           Bit set = changeable.
654
655 config ETRAX_CARDBUS
656         bool "Cardbus support"
657         depends on ETRAX_ARCH_V32
658         select HOTPLUG
659         help
660          Enabled the ETRAX Cardbus driver.
661
662 config PCI
663        bool
664        depends on ETRAX_CARDBUS
665        default y
666
667 config ETRAX_IOP_FW_LOAD
668         tristate "IO-processor hotplug firmware loading support"
669         depends on ETRAX_ARCH_V32
670         select FW_LOADER
671         help
672           Enables IO-processor hotplug firmware loading support.
673
674 config ETRAX_STREAMCOPROC
675         tristate "Stream co-processor driver enabled"
676         depends on ETRAX_ARCH_V32
677         help
678           This option enables a driver for the stream co-processor
679           for cryptographic operations.
680
681 source drivers/mmc/Kconfig
682
683 config ETRAX_MMC_IOP
684         tristate "MMC/SD host driver using IO-processor"
685         depends on ETRAX_ARCH_V32 && MMC
686         help
687           This option enables the SD/MMC host controller interface.
688           The host controller is implemented using the built in
689           IO-Processor. Only the SPU is used in this implementation.
690
691 config ETRAX_SPI_MMC
692 # Make this one of several "choices" (possible simultaneously but
693 # suggested uniquely) when an IOP driver emerges for "real" MMC/SD
694 # protocol support.
695         tristate
696         depends on !ETRAX_MMC_IOP
697         default MMC
698         select SPI
699         select MMC_SPI
700         select ETRAX_SPI_MMC_BOARD
701
702 # For the parts that can't be a module (due to restrictions in
703 # framework elsewhere).
704 config ETRAX_SPI_MMC_BOARD
705        boolean
706        default n
707
708 # While the board info is MMC_SPI only, the drivers are written to be
709 # independent of MMC_SPI, so we'll keep SPI non-dependent on the
710 # MMC_SPI config choices (well, except for a single depends-on-line
711 # for the board-info file until a separate non-MMC SPI board file
712 # emerges).
713 # FIXME: When that happens, we'll need to be able to ask for and
714 # configure non-MMC SPI ports together with MMC_SPI ports (if multiple
715 # SPI ports are enabled).
716
717 config SPI_ETRAX_SSER
718         tristate
719         depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
720         select SPI_BITBANG
721         help
722           This enables using an synchronous serial (sser) port as a
723           SPI master controller on Axis ETRAX FS and later.  The
724           driver can be configured to use any sser port.
725
726 config SPI_ETRAX_GPIO
727         tristate
728         depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
729         select SPI_BITBANG
730         help
731           This enables using GPIO pins port as a SPI master controller
732           on Axis ETRAX FS and later.  The driver can be configured to
733           use any GPIO pins.
734
735 config ETRAX_SPI_SSER0
736         tristate "SPI using synchronous serial port 0 (sser0)"
737         depends on ETRAX_SPI_MMC
738         default m if MMC_SPI=m
739         default y if MMC_SPI=y
740         default y if MMC_SPI=n
741         select SPI_ETRAX_SSER
742         help
743           Say Y for an MMC/SD socket connected to synchronous serial port 0,
744           or for devices using the SPI protocol on that port.  Say m if you
745           want to build it as a module, which will be named spi_crisv32_sser.
746           (You need to select MMC separately.)
747
748 config ETRAX_SPI_SSER0_DMA
749         bool "DMA for SPI on sser0 enabled"
750         depends on ETRAX_SPI_SSER0
751         depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN
752         default y
753         help
754           Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0.
755
756 config ETRAX_SPI_MMC_CD_SSER0_PIN
757         string "MMC/SD card detect pin for SPI on sser0"
758         depends on ETRAX_SPI_SSER0 && MMC_SPI
759         default "pd11"
760         help
761           The pin to use for SD/MMC card detect.  This pin should be pulled up
762           and grounded when a card is present.  If defined as " " (space), no
763           pin is selected.  A card must then always be inserted for proper
764           action.
765
766 config ETRAX_SPI_MMC_WP_SSER0_PIN
767         string "MMC/SD card write-protect pin for SPI on sser0"
768         depends on ETRAX_SPI_SSER0 && MMC_SPI
769         default "pd10"
770         help
771           The pin to use for the SD/MMC write-protect signal for a memory
772           card.  If defined as " " (space), the card is considered writable.
773
774 config ETRAX_SPI_SSER1
775         tristate "SPI using synchronous serial port 1 (sser1)"
776         depends on ETRAX_SPI_MMC
777         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
778         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
779         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
780         select SPI_ETRAX_SSER
781         help
782           Say Y for an MMC/SD socket connected to synchronous serial port 1,
783           or for devices using the SPI protocol on that port.  Say m if you
784           want to build it as a module, which will be named spi_crisv32_sser.
785           (You need to select MMC separately.)
786
787 config ETRAX_SPI_SSER1_DMA
788         bool "DMA for SPI on sser1 enabled"
789         depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1
790         depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN
791         default y
792         help
793           Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1.
794
795 config ETRAX_SPI_MMC_CD_SSER1_PIN
796         string "MMC/SD card detect pin for SPI on sser1"
797         depends on ETRAX_SPI_SSER1 && MMC_SPI
798         default "pd12"
799         help
800           The pin to use for SD/MMC card detect.  This pin should be pulled up
801           and grounded when a card is present.  If defined as " " (space), no
802           pin is selected.  A card must then always be inserted for proper
803           action.
804
805 config ETRAX_SPI_MMC_WP_SSER1_PIN
806         string "MMC/SD card write-protect pin for SPI on sser1"
807         depends on ETRAX_SPI_SSER1 && MMC_SPI
808         default "pd9"
809         help
810           The pin to use for the SD/MMC write-protect signal for a memory
811           card.  If defined as " " (space), the card is considered writable.
812
813 config ETRAX_SPI_GPIO
814         tristate "Bitbanged SPI using gpio pins"
815         depends on ETRAX_SPI_MMC
816         select SPI_ETRAX_GPIO
817         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
818         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
819         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
820         help
821           Say Y for an MMC/SD socket connected to general I/O pins (but not
822           a complete synchronous serial ports), or for devices using the SPI
823           protocol on general I/O pins.  Slow and slows down the system.
824           Say m to build it as a module, which will be called spi_crisv32_gpio.
825           (You need to select MMC separately.)
826
827 # The default match that of sser0, only because that's how it was tested.
828 config ETRAX_SPI_CS_PIN
829         string "SPI chip select pin"
830         depends on ETRAX_SPI_GPIO
831         default "pc3"
832         help
833           The pin to use for SPI chip select.
834
835 config ETRAX_SPI_CLK_PIN
836         string "SPI clock pin"
837         depends on ETRAX_SPI_GPIO
838         default "pc1"
839         help
840           The pin to use for the SPI clock.
841
842 config ETRAX_SPI_DATAIN_PIN
843         string "SPI MISO (data in) pin"
844         depends on ETRAX_SPI_GPIO
845         default "pc16"
846         help
847           The pin to use for SPI data in from the device.
848
849 config ETRAX_SPI_DATAOUT_PIN
850         string "SPI MOSI (data out) pin"
851         depends on ETRAX_SPI_GPIO
852         default "pc0"
853         help
854           The pin to use for SPI data out to the device.
855
856 config ETRAX_SPI_MMC_CD_GPIO_PIN
857         string "MMC/SD card detect pin for SPI using gpio (space for none)"
858         depends on ETRAX_SPI_GPIO && MMC_SPI
859         default "pd11"
860         help
861           The pin to use for SD/MMC card detect.  This pin should be pulled up
862           and grounded when a card is present.  If defined as " " (space), no
863           pin is selected.  A card must then always be inserted for proper
864           action.
865
866 config ETRAX_SPI_MMC_WP_GPIO_PIN
867         string "MMC/SD card write-protect pin for SPI using gpio (space for none)"
868         depends on ETRAX_SPI_GPIO && MMC_SPI
869         default "pd10"
870         help
871           The pin to use for the SD/MMC write-protect signal for a memory
872           card.  If defined as " " (space), the card is considered writable.
873
874 # Avoid choices causing non-working configs by conditionalizing the inclusion.
875 if ETRAX_SPI_MMC
876 source drivers/spi/Kconfig
877 endif
878
879 endif