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