• 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 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 receiveing 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_SER3_CD_BIT
364	string "Ser 4 CD bit (empty = not used)"
365	depends on ETRAX_SERIAL_PORT4
366
367config 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
374config 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
381config ETRAX_SYNCHRONOUS_SERIAL
382	bool "Synchronous serial-port support"
383	depends on ETRAX_ARCH_V32
384	help
385	  Enables the ETRAX FS synchronous serial driver.
386
387config ETRAX_SYNCHRONOUS_SERIAL_PORT0
388         bool "Synchronous serial port 0 enabled"
389         depends on ETRAX_SYNCHRONOUS_SERIAL
390         help
391           Enabled synchronous serial port 0.
392
393config ETRAX_SYNCHRONOUS_SERIAL0_DMA
394         bool "Enable DMA on synchronous serial port 0."
395         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
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_SYNCHRONOUS_SERIAL_PORT1
401         bool "Synchronous serial port 1 enabled"
402         depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
403         help
404           Enabled synchronous serial port 1.
405
406config ETRAX_SYNCHRONOUS_SERIAL1_DMA
407         bool "Enable DMA on synchronous serial port 1."
408         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
409         help
410           A synchronous serial port can run in manual or DMA mode.
411           Selecting this option will make it run in DMA mode.
412
413config ETRAX_AXISFLASHMAP
414	bool "Axis flash-map support"
415	depends on ETRAX_ARCH_V32
416	select MTD
417	select MTD_CFI
418	select MTD_CFI_AMDSTD
419	select MTD_JEDECPROBE
420	select MTD_CHAR
421	select MTD_BLOCK
422	select MTD_PARTITIONS
423	select MTD_CONCAT
424	select MTD_COMPLEX_MAPPINGS
425	help
426	  This option enables MTD mapping of flash devices.  Needed to use
427	  flash memories.  If unsure, say Y.
428
429config ETRAX_AXISFLASHMAP_MTD0WHOLE
430	bool "MTD0 is whole boot flash device"
431	depends on ETRAX_AXISFLASHMAP
432	default N
433	help
434	  When this option is not set, mtd0 refers to the first partition
435	  on the boot flash device. When set, mtd0 refers to the whole
436	  device, with mtd1 referring to the first partition etc.
437
438config ETRAX_PTABLE_SECTOR
439	int "Byte-offset of partition table sector"
440	depends on ETRAX_AXISFLASHMAP
441	default "65536"
442	help
443	  Byte-offset of the partition table in the first flash chip.
444	  The default value is 64kB and should not be changed unless
445	  you know exactly what you are doing. The only valid reason
446	  for changing this is when the flash block size is bigger
447	  than 64kB (e.g. when using two parallel 16 bit flashes).
448
449config ETRAX_NANDFLASH
450	bool "NAND flash support"
451	depends on ETRAX_ARCH_V32
452	select MTD_NAND
453	select MTD_NAND_IDS
454	help
455	  This option enables MTD mapping of NAND flash devices.  Needed to use
456	  NAND flash memories.  If unsure, say Y.
457
458config ETRAX_NANDBOOT
459	bool "Boot from NAND flash"
460	depends on ETRAX_NANDFLASH
461	help
462	  This options enables booting from NAND flash devices.
463	  Say Y if your boot code, kernel and root file system is in
464	  NAND flash. Say N if they are in NOR flash.
465
466config ETRAX_I2C
467	bool "I2C driver"
468	depends on ETRAX_ARCH_V32
469	help
470	  This option enables the I2C driver used by e.g. the RTC driver.
471
472config ETRAX_V32_I2C_DATA_PORT
473	string "I2C data pin"
474	depends on ETRAX_I2C
475	help
476	  The pin to use for I2C data.
477
478config ETRAX_V32_I2C_CLK_PORT
479	string "I2C clock pin"
480	depends on ETRAX_I2C
481	help
482	  The pin to use for I2C clock.
483
484config ETRAX_GPIO
485	bool "GPIO support"
486	depends on ETRAX_ARCH_V32
487	---help---
488	  Enables the ETRAX general port device (major 120, minors 0-4).
489	  You can use this driver to access the general port bits. It supports
490	  these ioctl's:
491	  #include <linux/etraxgpio.h>
492	  fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
493	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
494	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
495	  err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
496	  Remember that you need to setup the port directions appropriately in
497	  the General configuration.
498
499config ETRAX_VIRTUAL_GPIO
500	bool "Virtual GPIO support"
501	depends on ETRAX_GPIO
502	help
503	  Enables the virtual Etrax general port device (major 120, minor 6).
504	  It uses an I/O expander for the I2C-bus.
505
506config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
507	int "Virtual GPIO interrupt pin on PA pin"
508	range 0 7
509	depends on ETRAX_VIRTUAL_GPIO
510	help
511	  The pin to use on PA for virtual gpio interrupt.
512
513config ETRAX_PA_CHANGEABLE_DIR
514	hex "PA user changeable dir mask"
515	depends on ETRAX_GPIO
516	default "0x00" if ETRAXFS
517	default "0x00000000" if !ETRAXFS
518	help
519	  This is a bitmask (8 bits) with information of what bits in PA that a
520	  user can change direction on using ioctl's.
521	  Bit set = changeable.
522	  You probably want 0 here, but it depends on your hardware.
523
524config ETRAX_PA_CHANGEABLE_BITS
525	hex "PA user changeable bits mask"
526	depends on ETRAX_GPIO
527	default "0x00" if ETRAXFS
528	default "0x00000000" if !ETRAXFS
529	help
530	  This is a bitmask (8 bits) with information of what bits in PA
531	  that a user can change the value on using ioctl's.
532	  Bit set = changeable.
533
534config ETRAX_PB_CHANGEABLE_DIR
535	hex "PB user changeable dir mask"
536	depends on ETRAX_GPIO
537	default "0x00000" if ETRAXFS
538	default "0x00000000" if !ETRAXFS
539	help
540	  This is a bitmask (18 bits) with information of what bits in PB
541	  that a user can change direction on using ioctl's.
542	  Bit set = changeable.
543	  You probably want 0 here, but it depends on your hardware.
544
545config ETRAX_PB_CHANGEABLE_BITS
546	hex "PB user changeable bits mask"
547	depends on ETRAX_GPIO
548	default "0x00000" if ETRAXFS
549	default "0x00000000" if !ETRAXFS
550	help
551	  This is a bitmask (18 bits) with information of what bits in PB
552	  that a user can change the value on using ioctl's.
553	  Bit set = changeable.
554
555config ETRAX_PC_CHANGEABLE_DIR
556	hex "PC user changeable dir mask"
557	depends on ETRAX_GPIO
558	default "0x00000" if ETRAXFS
559	default "0x00000000" if !ETRAXFS
560	help
561	  This is a bitmask (18 bits) with information of what bits in PC
562	  that a user can change direction on using ioctl's.
563	  Bit set = changeable.
564	  You probably want 0 here, but it depends on your hardware.
565
566config ETRAX_PC_CHANGEABLE_BITS
567	hex "PC user changeable bits mask"
568	depends on ETRAX_GPIO
569	default "0x00000" if ETRAXFS
570	default "0x00000000" if ETRAXFS
571	help
572	  This is a bitmask (18 bits) with information of what bits in PC
573	  that a user can change the value on using ioctl's.
574	  Bit set = changeable.
575
576config ETRAX_PD_CHANGEABLE_DIR
577	hex "PD user changeable dir mask"
578	depends on ETRAX_GPIO && ETRAXFS
579	default "0x00000"
580	help
581	  This is a bitmask (18 bits) with information of what bits in PD
582	  that a user can change direction on using ioctl's.
583	  Bit set = changeable.
584	  You probably want 0x00000 here, but it depends on your hardware.
585
586config ETRAX_PD_CHANGEABLE_BITS
587	hex "PD user changeable bits mask"
588	depends on ETRAX_GPIO && ETRAXFS
589	default "0x00000"
590	help
591	  This is a bitmask (18 bits) with information of what bits in PD
592	  that a user can change the value on using ioctl's.
593	  Bit set = changeable.
594
595config ETRAX_PE_CHANGEABLE_DIR
596	hex "PE user changeable dir mask"
597	depends on ETRAX_GPIO && ETRAXFS
598	default "0x00000"
599	help
600	  This is a bitmask (18 bits) with information of what bits in PE
601	  that a user can change direction on using ioctl's.
602	  Bit set = changeable.
603	  You probably want 0x00000 here, but it depends on your hardware.
604
605config ETRAX_PE_CHANGEABLE_BITS
606	hex "PE user changeable bits mask"
607 	depends on ETRAX_GPIO && ETRAXFS
608	default "0x00000"
609	help
610	  This is a bitmask (18 bits) with information of what bits in PE
611	  that a user can change the value on using ioctl's.
612	  Bit set = changeable.
613
614config ETRAX_PV_CHANGEABLE_DIR
615	hex "PV user changeable dir mask"
616	depends on ETRAX_VIRTUAL_GPIO
617	default "0x0000"
618	help
619	  This is a bitmask (16 bits) with information of what bits in PV
620	  that a user can change direction on using ioctl's.
621	  Bit set = changeable.
622	  You probably want 0x0000 here, but it depends on your hardware.
623
624config ETRAX_PV_CHANGEABLE_BITS
625	hex "PV user changeable bits mask"
626	depends on ETRAX_VIRTUAL_GPIO
627	default "0x0000"
628	help
629	  This is a bitmask (16 bits) with information of what bits in PV
630	  that a user can change the value on using ioctl's.
631	  Bit set = changeable.
632
633config ETRAX_CARDBUS
634        bool "Cardbus support"
635        depends on ETRAX_ARCH_V32
636        select HOTPLUG
637        help
638	 Enabled the ETRAX Cardbus driver.
639
640config PCI
641       bool
642       depends on ETRAX_CARDBUS
643       default y
644       select HAVE_GENERIC_DMA_COHERENT
645
646config ETRAX_IOP_FW_LOAD
647	tristate "IO-processor hotplug firmware loading support"
648	depends on ETRAX_ARCH_V32
649	select FW_LOADER
650	help
651	  Enables IO-processor hotplug firmware loading support.
652
653config ETRAX_STREAMCOPROC
654	tristate "Stream co-processor driver enabled"
655	depends on ETRAX_ARCH_V32
656	help
657	  This option enables a driver for the stream co-processor
658	  for cryptographic operations.
659
660source drivers/mmc/Kconfig
661
662config ETRAX_MMC_IOP
663	tristate "MMC/SD host driver using IO-processor"
664	depends on ETRAX_ARCH_V32 && MMC
665	help
666	  This option enables the SD/MMC host controller interface.
667	  The host controller is implemented using the built in
668	  IO-Processor. Only the SPU is used in this implementation.
669
670config ETRAX_SPI_MMC
671# Make this one of several "choices" (possible simultaneously but
672# suggested uniquely) when an IOP driver emerges for "real" MMC/SD
673# protocol support.
674	tristate
675	depends on !ETRAX_MMC_IOP
676	default MMC
677	select SPI
678	select MMC_SPI
679	select ETRAX_SPI_MMC_BOARD
680
681# For the parts that can't be a module (due to restrictions in
682# framework elsewhere).
683config ETRAX_SPI_MMC_BOARD
684       boolean
685       default n
686
687# While the board info is MMC_SPI only, the drivers are written to be
688# independent of MMC_SPI, so we'll keep SPI non-dependent on the
689# MMC_SPI config choices (well, except for a single depends-on-line
690# for the board-info file until a separate non-MMC SPI board file
691# emerges).
692# FIXME: When that happens, we'll need to be able to ask for and
693# configure non-MMC SPI ports together with MMC_SPI ports (if multiple
694# SPI ports are enabled).
695
696config SPI_ETRAX_SSER
697	tristate
698	depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
699	select SPI_BITBANG
700	help
701	  This enables using an synchronous serial (sser) port as a
702	  SPI master controller on Axis ETRAX FS and later.  The
703	  driver can be configured to use any sser port.
704
705config SPI_ETRAX_GPIO
706	tristate
707	depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
708	select SPI_BITBANG
709	help
710	  This enables using GPIO pins port as a SPI master controller
711	  on Axis ETRAX FS and later.  The driver can be configured to
712	  use any GPIO pins.
713
714config ETRAX_SPI_SSER0
715	tristate "SPI using synchronous serial port 0 (sser0)"
716	depends on ETRAX_SPI_MMC
717	default m if MMC_SPI=m
718	default y if MMC_SPI=y
719	default y if MMC_SPI=n
720	select SPI_ETRAX_SSER
721	help
722	  Say Y for an MMC/SD socket connected to synchronous serial port 0,
723	  or for devices using the SPI protocol on that port.  Say m if you
724	  want to build it as a module, which will be named spi_crisv32_sser.
725	  (You need to select MMC separately.)
726
727config ETRAX_SPI_SSER0_DMA
728	bool "DMA for SPI on sser0 enabled"
729	depends on ETRAX_SPI_SSER0
730	depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN
731	default y
732	help
733	  Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0.
734
735config ETRAX_SPI_MMC_CD_SSER0_PIN
736	string "MMC/SD card detect pin for SPI on sser0"
737	depends on ETRAX_SPI_SSER0 && MMC_SPI
738	default "pd11"
739	help
740	  The pin to use for SD/MMC card detect.  This pin should be pulled up
741	  and grounded when a card is present.  If defined as " " (space), no
742	  pin is selected.  A card must then always be inserted for proper
743	  action.
744
745config ETRAX_SPI_MMC_WP_SSER0_PIN
746	string "MMC/SD card write-protect pin for SPI on sser0"
747	depends on ETRAX_SPI_SSER0 && MMC_SPI
748	default "pd10"
749	help
750	  The pin to use for the SD/MMC write-protect signal for a memory
751	  card.  If defined as " " (space), the card is considered writable.
752
753config ETRAX_SPI_SSER1
754	tristate "SPI using synchronous serial port 1 (sser1)"
755	depends on ETRAX_SPI_MMC
756	default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
757	default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
758	default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
759	select SPI_ETRAX_SSER
760	help
761	  Say Y for an MMC/SD socket connected to synchronous serial port 1,
762	  or for devices using the SPI protocol on that port.  Say m if you
763	  want to build it as a module, which will be named spi_crisv32_sser.
764	  (You need to select MMC separately.)
765
766config ETRAX_SPI_SSER1_DMA
767	bool "DMA for SPI on sser1 enabled"
768	depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1
769	depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN
770	default y
771	help
772	  Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1.
773
774config ETRAX_SPI_MMC_CD_SSER1_PIN
775	string "MMC/SD card detect pin for SPI on sser1"
776	depends on ETRAX_SPI_SSER1 && MMC_SPI
777	default "pd12"
778	help
779	  The pin to use for SD/MMC card detect.  This pin should be pulled up
780	  and grounded when a card is present.  If defined as " " (space), no
781	  pin is selected.  A card must then always be inserted for proper
782	  action.
783
784config ETRAX_SPI_MMC_WP_SSER1_PIN
785	string "MMC/SD card write-protect pin for SPI on sser1"
786	depends on ETRAX_SPI_SSER1 && MMC_SPI
787	default "pd9"
788	help
789	  The pin to use for the SD/MMC write-protect signal for a memory
790	  card.  If defined as " " (space), the card is considered writable.
791
792config ETRAX_SPI_GPIO
793	tristate "Bitbanged SPI using gpio pins"
794	depends on ETRAX_SPI_MMC
795	select SPI_ETRAX_GPIO
796	default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
797	default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
798	default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
799	help
800	  Say Y for an MMC/SD socket connected to general I/O pins (but not
801	  a complete synchronous serial ports), or for devices using the SPI
802	  protocol on general I/O pins.  Slow and slows down the system.
803	  Say m to build it as a module, which will be called spi_crisv32_gpio.
804	  (You need to select MMC separately.)
805
806# The default match that of sser0, only because that's how it was tested.
807config ETRAX_SPI_CS_PIN
808	string "SPI chip select pin"
809	depends on ETRAX_SPI_GPIO
810	default "pc3"
811	help
812	  The pin to use for SPI chip select.
813
814config ETRAX_SPI_CLK_PIN
815	string "SPI clock pin"
816	depends on ETRAX_SPI_GPIO
817	default "pc1"
818	help
819	  The pin to use for the SPI clock.
820
821config ETRAX_SPI_DATAIN_PIN
822	string "SPI MISO (data in) pin"
823	depends on ETRAX_SPI_GPIO
824	default "pc16"
825	help
826	  The pin to use for SPI data in from the device.
827
828config ETRAX_SPI_DATAOUT_PIN
829	string "SPI MOSI (data out) pin"
830	depends on ETRAX_SPI_GPIO
831	default "pc0"
832	help
833	  The pin to use for SPI data out to the device.
834
835config ETRAX_SPI_MMC_CD_GPIO_PIN
836	string "MMC/SD card detect pin for SPI using gpio (space for none)"
837	depends on ETRAX_SPI_GPIO && MMC_SPI
838	default "pd11"
839	help
840	  The pin to use for SD/MMC card detect.  This pin should be pulled up
841	  and grounded when a card is present.  If defined as " " (space), no
842	  pin is selected.  A card must then always be inserted for proper
843	  action.
844
845config ETRAX_SPI_MMC_WP_GPIO_PIN
846	string "MMC/SD card write-protect pin for SPI using gpio (space for none)"
847	depends on ETRAX_SPI_GPIO && MMC_SPI
848	default "pd10"
849	help
850	  The pin to use for the SD/MMC write-protect signal for a memory
851	  card.  If defined as " " (space), the card is considered writable.
852
853# Avoid choices causing non-working configs by conditionalizing the inclusion.
854if ETRAX_SPI_MMC
855source drivers/spi/Kconfig
856endif
857
858endif
859