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