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