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