]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/cris/arch-v32/drivers/Kconfig
Merge remote-tracking branch 'cris/for-next'
[karo-tx-linux.git] / arch / cris / arch-v32 / drivers / Kconfig
1 if ETRAX_ARCH_V32
2
3 config ETRAX_ETHERNET
4         bool "Ethernet support"
5         depends on ETRAX_ARCH_V32
6         select 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
13 config 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
24 config ETRAXFS_SERIAL
25         bool "Serial-port support"
26         depends on ETRAX_ARCH_V32
27         select SERIAL_CORE
28         select SERIAL_CORE_CONSOLE
29         help
30           Enables the ETRAX FS serial driver for ser0 (ttyS0)
31           You probably want this enabled.
32
33 config ETRAX_RS485
34         bool "RS-485 support"
35         depends on ETRAXFS_SERIAL
36         help
37           Enables support for RS-485 serial communication.
38
39 config ETRAX_RS485_DISABLE_RECEIVER
40         bool "Disable serial receiver"
41         depends on ETRAX_RS485
42         help
43           It is necessary to disable the serial receiver to avoid serial
44           loopback.  Not all products are able to do this in software only.
45
46 config ETRAX_SERIAL_PORT0
47         bool "Serial port 0 enabled"
48         depends on ETRAXFS_SERIAL
49         help
50           Enables the ETRAX FS serial driver for ser0 (ttyS0)
51           Normally you want this on. You can control what DMA channels to use
52           if you do not need DMA to something else.
53           ser0 can use dma4 or dma6 for output and dma5 or dma7 for input.
54
55 config ETRAX_SERIAL_PORT1
56         bool "Serial port 1 enabled"
57         depends on ETRAXFS_SERIAL
58         help
59           Enables the ETRAX FS serial driver for ser1 (ttyS1).
60
61 config ETRAX_SERIAL_PORT2
62         bool "Serial port 2 enabled"
63         depends on ETRAXFS_SERIAL
64         help
65           Enables the ETRAX FS serial driver for ser2 (ttyS2).
66
67 config ETRAX_SERIAL_PORT3
68         bool "Serial port 3 enabled"
69         depends on ETRAXFS_SERIAL
70         help
71           Enables the ETRAX FS serial driver for ser3 (ttyS3).
72
73 config ETRAX_SYNCHRONOUS_SERIAL
74         bool "Synchronous serial-port support"
75         depends on ETRAX_ARCH_V32
76         help
77           Enables the ETRAX FS synchronous serial driver.
78
79 config ETRAX_SYNCHRONOUS_SERIAL_PORT0
80          bool "Synchronous serial port 0 enabled"
81          depends on ETRAX_SYNCHRONOUS_SERIAL
82          help
83            Enabled synchronous serial port 0.
84
85 config ETRAX_SYNCHRONOUS_SERIAL0_DMA
86          bool "Enable DMA on synchronous serial port 0."
87          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
88          help
89            A synchronous serial port can run in manual or DMA mode.
90            Selecting this option will make it run in DMA mode.
91
92 config ETRAX_SYNCHRONOUS_SERIAL_PORT1
93          bool "Synchronous serial port 1 enabled"
94          depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
95          help
96            Enabled synchronous serial port 1.
97
98 config ETRAX_SYNCHRONOUS_SERIAL1_DMA
99          bool "Enable DMA on synchronous serial port 1."
100          depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
101          help
102            A synchronous serial port can run in manual or DMA mode.
103            Selecting this option will make it run in DMA mode.
104
105 config ETRAX_AXISFLASHMAP
106         bool "Axis flash-map support"
107         depends on ETRAX_ARCH_V32
108         select MTD
109         select MTD_CFI
110         select MTD_CFI_AMDSTD
111         select MTD_JEDECPROBE
112         select MTD_BLOCK
113         select MTD_COMPLEX_MAPPINGS
114         help
115           This option enables MTD mapping of flash devices.  Needed to use
116           flash memories.  If unsure, say Y.
117
118 config ETRAX_AXISFLASHMAP_MTD0WHOLE
119         bool "MTD0 is whole boot flash device"
120         depends on ETRAX_AXISFLASHMAP
121         default N
122         help
123           When this option is not set, mtd0 refers to the first partition
124           on the boot flash device. When set, mtd0 refers to the whole
125           device, with mtd1 referring to the first partition etc.
126
127 config ETRAX_PTABLE_SECTOR
128         int "Byte-offset of partition table sector"
129         depends on ETRAX_AXISFLASHMAP
130         default "65536"
131         help
132           Byte-offset of the partition table in the first flash chip.
133           The default value is 64kB and should not be changed unless
134           you know exactly what you are doing. The only valid reason
135           for changing this is when the flash block size is bigger
136           than 64kB (e.g. when using two parallel 16 bit flashes).
137
138 config ETRAX_NANDFLASH
139         bool "NAND flash support"
140         depends on ETRAX_ARCH_V32
141         select MTD_NAND
142         select MTD_NAND_IDS
143         help
144           This option enables MTD mapping of NAND flash devices.  Needed to use
145           NAND flash memories.  If unsure, say Y.
146
147 config ETRAX_NANDBOOT
148         bool "Boot from NAND flash"
149         depends on ETRAX_NANDFLASH
150         help
151           This options enables booting from NAND flash devices.
152           Say Y if your boot code, kernel and root file system is in
153           NAND flash. Say N if they are in NOR flash.
154
155 config ETRAX_I2C
156         bool "I2C driver"
157         depends on ETRAX_ARCH_V32
158         help
159           This option enables the I2C driver used by e.g. the RTC driver.
160
161 config ETRAX_V32_I2C_DATA_PORT
162         string "I2C data pin"
163         depends on ETRAX_I2C
164         help
165           The pin to use for I2C data.
166
167 config ETRAX_V32_I2C_CLK_PORT
168         string "I2C clock pin"
169         depends on ETRAX_I2C
170         help
171           The pin to use for I2C clock.
172
173 config ETRAX_GPIO
174         bool "GPIO support"
175         depends on ETRAX_ARCH_V32
176         ---help---
177           Enables the ETRAX general port device (major 120, minors 0-4).
178           You can use this driver to access the general port bits. It supports
179           these ioctl's:
180           #include <linux/etraxgpio.h>
181           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
182           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
183           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
184           err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
185           Remember that you need to setup the port directions appropriately in
186           the General configuration.
187
188 config ETRAX_VIRTUAL_GPIO
189         bool "Virtual GPIO support"
190         depends on ETRAX_GPIO
191         help
192           Enables the virtual Etrax general port device (major 120, minor 6).
193           It uses an I/O expander for the I2C-bus.
194
195 config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
196         int "Virtual GPIO interrupt pin on PA pin"
197         range 0 7
198         depends on ETRAX_VIRTUAL_GPIO
199         help
200           The pin to use on PA for virtual gpio interrupt.
201
202 config ETRAX_PA_CHANGEABLE_DIR
203         hex "PA user changeable dir mask"
204         depends on ETRAX_GPIO
205         default "0x00" if ETRAXFS
206         default "0x00000000" if !ETRAXFS
207         help
208           This is a bitmask (8 bits) with information of what bits in PA that a
209           user can change direction on using ioctl's.
210           Bit set = changeable.
211           You probably want 0 here, but it depends on your hardware.
212
213 config ETRAX_PA_CHANGEABLE_BITS
214         hex "PA user changeable bits mask"
215         depends on ETRAX_GPIO
216         default "0x00" if ETRAXFS
217         default "0x00000000" if !ETRAXFS
218         help
219           This is a bitmask (8 bits) with information of what bits in PA
220           that a user can change the value on using ioctl's.
221           Bit set = changeable.
222
223 config ETRAX_PB_CHANGEABLE_DIR
224         hex "PB user changeable dir mask"
225         depends on ETRAX_GPIO
226         default "0x00000" if ETRAXFS
227         default "0x00000000" if !ETRAXFS
228         help
229           This is a bitmask (18 bits) with information of what bits in PB
230           that a user can change direction on using ioctl's.
231           Bit set = changeable.
232           You probably want 0 here, but it depends on your hardware.
233
234 config ETRAX_PB_CHANGEABLE_BITS
235         hex "PB user changeable bits mask"
236         depends on ETRAX_GPIO
237         default "0x00000" if ETRAXFS
238         default "0x00000000" if !ETRAXFS
239         help
240           This is a bitmask (18 bits) with information of what bits in PB
241           that a user can change the value on using ioctl's.
242           Bit set = changeable.
243
244 config ETRAX_PC_CHANGEABLE_DIR
245         hex "PC user changeable dir mask"
246         depends on ETRAX_GPIO
247         default "0x00000" if ETRAXFS
248         default "0x00000000" if !ETRAXFS
249         help
250           This is a bitmask (18 bits) with information of what bits in PC
251           that a user can change direction on using ioctl's.
252           Bit set = changeable.
253           You probably want 0 here, but it depends on your hardware.
254
255 config ETRAX_PC_CHANGEABLE_BITS
256         hex "PC user changeable bits mask"
257         depends on ETRAX_GPIO
258         default "0x00000" if ETRAXFS
259         default "0x00000000" if ETRAXFS
260         help
261           This is a bitmask (18 bits) with information of what bits in PC
262           that a user can change the value on using ioctl's.
263           Bit set = changeable.
264
265 config ETRAX_PD_CHANGEABLE_DIR
266         hex "PD user changeable dir mask"
267         depends on ETRAX_GPIO && ETRAXFS
268         default "0x00000"
269         help
270           This is a bitmask (18 bits) with information of what bits in PD
271           that a user can change direction on using ioctl's.
272           Bit set = changeable.
273           You probably want 0x00000 here, but it depends on your hardware.
274
275 config ETRAX_PD_CHANGEABLE_BITS
276         hex "PD user changeable bits mask"
277         depends on ETRAX_GPIO && ETRAXFS
278         default "0x00000"
279         help
280           This is a bitmask (18 bits) with information of what bits in PD
281           that a user can change the value on using ioctl's.
282           Bit set = changeable.
283
284 config ETRAX_PE_CHANGEABLE_DIR
285         hex "PE user changeable dir mask"
286         depends on ETRAX_GPIO && ETRAXFS
287         default "0x00000"
288         help
289           This is a bitmask (18 bits) with information of what bits in PE
290           that a user can change direction on using ioctl's.
291           Bit set = changeable.
292           You probably want 0x00000 here, but it depends on your hardware.
293
294 config ETRAX_PE_CHANGEABLE_BITS
295         hex "PE user changeable bits mask"
296         depends on ETRAX_GPIO && ETRAXFS
297         default "0x00000"
298         help
299           This is a bitmask (18 bits) with information of what bits in PE
300           that a user can change the value on using ioctl's.
301           Bit set = changeable.
302
303 config ETRAX_PV_CHANGEABLE_DIR
304         hex "PV user changeable dir mask"
305         depends on ETRAX_VIRTUAL_GPIO
306         default "0x0000"
307         help
308           This is a bitmask (16 bits) with information of what bits in PV
309           that a user can change direction on using ioctl's.
310           Bit set = changeable.
311           You probably want 0x0000 here, but it depends on your hardware.
312
313 config ETRAX_PV_CHANGEABLE_BITS
314         hex "PV user changeable bits mask"
315         depends on ETRAX_VIRTUAL_GPIO
316         default "0x0000"
317         help
318           This is a bitmask (16 bits) with information of what bits in PV
319           that a user can change the value on using ioctl's.
320           Bit set = changeable.
321
322 config ETRAX_CARDBUS
323         bool "Cardbus support"
324         depends on ETRAX_ARCH_V32
325         select HOTPLUG
326         help
327          Enabled the ETRAX Cardbus driver.
328
329 config PCI
330        bool
331        depends on ETRAX_CARDBUS
332        default y
333        select HAVE_GENERIC_DMA_COHERENT
334
335 config ETRAX_IOP_FW_LOAD
336         tristate "IO-processor hotplug firmware loading support"
337         depends on ETRAX_ARCH_V32
338         select FW_LOADER
339         help
340           Enables IO-processor hotplug firmware loading support.
341
342 config ETRAX_STREAMCOPROC
343         tristate "Stream co-processor driver enabled"
344         depends on ETRAX_ARCH_V32
345         help
346           This option enables a driver for the stream co-processor
347           for cryptographic operations.
348
349 source drivers/mmc/Kconfig
350
351 config ETRAX_MMC_IOP
352         tristate "MMC/SD host driver using IO-processor"
353         depends on ETRAX_ARCH_V32 && MMC
354         help
355           This option enables the SD/MMC host controller interface.
356           The host controller is implemented using the built in
357           IO-Processor. Only the SPU is used in this implementation.
358
359 config ETRAX_SPI_MMC
360 # Make this one of several "choices" (possible simultaneously but
361 # suggested uniquely) when an IOP driver emerges for "real" MMC/SD
362 # protocol support.
363         tristate
364         depends on !ETRAX_MMC_IOP
365         default MMC
366         select SPI
367         select MMC_SPI
368         select ETRAX_SPI_MMC_BOARD
369
370 # For the parts that can't be a module (due to restrictions in
371 # framework elsewhere).
372 config ETRAX_SPI_MMC_BOARD
373        boolean
374        default n
375
376 # While the board info is MMC_SPI only, the drivers are written to be
377 # independent of MMC_SPI, so we'll keep SPI non-dependent on the
378 # MMC_SPI config choices (well, except for a single depends-on-line
379 # for the board-info file until a separate non-MMC SPI board file
380 # emerges).
381 # FIXME: When that happens, we'll need to be able to ask for and
382 # configure non-MMC SPI ports together with MMC_SPI ports (if multiple
383 # SPI ports are enabled).
384
385 config SPI_ETRAX_SSER
386         tristate
387         depends on SPI_MASTER && ETRAX_ARCH_V32
388         select SPI_BITBANG
389         help
390           This enables using an synchronous serial (sser) port as a
391           SPI master controller on Axis ETRAX FS and later.  The
392           driver can be configured to use any sser port.
393
394 config SPI_ETRAX_GPIO
395         tristate
396         depends on SPI_MASTER && ETRAX_ARCH_V32
397         select SPI_BITBANG
398         help
399           This enables using GPIO pins port as a SPI master controller
400           on Axis ETRAX FS and later.  The driver can be configured to
401           use any GPIO pins.
402
403 config ETRAX_SPI_SSER0
404         tristate "SPI using synchronous serial port 0 (sser0)"
405         depends on ETRAX_SPI_MMC
406         default m if MMC_SPI=m
407         default y if MMC_SPI=y
408         default y if MMC_SPI=n
409         select SPI_ETRAX_SSER
410         help
411           Say Y for an MMC/SD socket connected to synchronous serial port 0,
412           or for devices using the SPI protocol on that port.  Say m if you
413           want to build it as a module, which will be named spi_crisv32_sser.
414           (You need to select MMC separately.)
415
416 config ETRAX_SPI_SSER1
417         tristate "SPI using synchronous serial port 1 (sser1)"
418         depends on ETRAX_SPI_MMC
419         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
420         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
421         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
422         select SPI_ETRAX_SSER
423         help
424           Say Y for an MMC/SD socket connected to synchronous serial port 1,
425           or for devices using the SPI protocol on that port.  Say m if you
426           want to build it as a module, which will be named spi_crisv32_sser.
427           (You need to select MMC separately.)
428
429 config ETRAX_SPI_GPIO
430         tristate "Bitbanged SPI using gpio pins"
431         depends on ETRAX_SPI_MMC
432         select SPI_ETRAX_GPIO
433         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
434         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
435         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
436         help
437           Say Y for an MMC/SD socket connected to general I/O pins (but not
438           a complete synchronous serial ports), or for devices using the SPI
439           protocol on general I/O pins.  Slow and slows down the system.
440           Say m to build it as a module, which will be called spi_crisv32_gpio.
441           (You need to select MMC separately.)
442
443 # Avoid choices causing non-working configs by conditionalizing the inclusion.
444 if ETRAX_SPI_MMC
445 source drivers/spi/Kconfig
446 endif
447
448 endif