Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetoot...
[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         help
112           This option enables MTD mapping of flash devices.  Needed to use
113           flash memories.  If unsure, say Y.
114
115 config ETRAX_AXISFLASHMAP_MTD0WHOLE
116         bool "MTD0 is whole boot flash device"
117         depends on ETRAX_AXISFLASHMAP
118         help
119           When this option is not set, mtd0 refers to the first partition
120           on the boot flash device. When set, mtd0 refers to the whole
121           device, with mtd1 referring to the first partition etc.
122
123 config ETRAX_PTABLE_SECTOR
124         int "Byte-offset of partition table sector"
125         depends on ETRAX_AXISFLASHMAP
126         default "65536"
127         help
128           Byte-offset of the partition table in the first flash chip.
129           The default value is 64kB and should not be changed unless
130           you know exactly what you are doing. The only valid reason
131           for changing this is when the flash block size is bigger
132           than 64kB (e.g. when using two parallel 16 bit flashes).
133
134 config ETRAX_NANDFLASH
135         bool "NAND flash support"
136         depends on ETRAX_ARCH_V32
137         select MTD_NAND
138         select MTD_NAND_IDS
139         help
140           This option enables MTD mapping of NAND flash devices.  Needed to use
141           NAND flash memories.  If unsure, say Y.
142
143 config ETRAX_NANDBOOT
144         bool "Boot from NAND flash"
145         depends on ETRAX_NANDFLASH
146         help
147           This options enables booting from NAND flash devices.
148           Say Y if your boot code, kernel and root file system is in
149           NAND flash. Say N if they are in NOR flash.
150
151 config ETRAX_I2C
152         bool "I2C driver"
153         depends on ETRAX_ARCH_V32
154         help
155           This option enables the I2C driver used by e.g. the RTC driver.
156
157 config ETRAX_V32_I2C_DATA_PORT
158         string "I2C data pin"
159         depends on ETRAX_I2C
160         help
161           The pin to use for I2C data.
162
163 config ETRAX_V32_I2C_CLK_PORT
164         string "I2C clock pin"
165         depends on ETRAX_I2C
166         help
167           The pin to use for I2C clock.
168
169 config ETRAX_GPIO
170         bool "GPIO support"
171         depends on ETRAX_ARCH_V32
172         ---help---
173           Enables the ETRAX general port device (major 120, minors 0-4).
174           You can use this driver to access the general port bits. It supports
175           these ioctl's:
176           #include <linux/etraxgpio.h>
177           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
178           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
179           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
180           err = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READ_INBITS), &val);
181           Remember that you need to setup the port directions appropriately in
182           the General configuration.
183
184 config ETRAX_VIRTUAL_GPIO
185         bool "Virtual GPIO support"
186         depends on ETRAX_GPIO
187         help
188           Enables the virtual Etrax general port device (major 120, minor 6).
189           It uses an I/O expander for the I2C-bus.
190
191 config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
192         int "Virtual GPIO interrupt pin on PA pin"
193         range 0 7
194         depends on ETRAX_VIRTUAL_GPIO
195         help
196           The pin to use on PA for virtual gpio interrupt.
197
198 config ETRAX_PA_CHANGEABLE_DIR
199         hex "PA user changeable dir mask"
200         depends on ETRAX_GPIO
201         default "0x00" if ETRAXFS
202         default "0x00000000" if !ETRAXFS
203         help
204           This is a bitmask (8 bits) with information of what bits in PA that a
205           user can change direction on using ioctl's.
206           Bit set = changeable.
207           You probably want 0 here, but it depends on your hardware.
208
209 config ETRAX_PA_CHANGEABLE_BITS
210         hex "PA user changeable bits mask"
211         depends on ETRAX_GPIO
212         default "0x00" if ETRAXFS
213         default "0x00000000" if !ETRAXFS
214         help
215           This is a bitmask (8 bits) with information of what bits in PA
216           that a user can change the value on using ioctl's.
217           Bit set = changeable.
218
219 config ETRAX_PB_CHANGEABLE_DIR
220         hex "PB user changeable dir mask"
221         depends on ETRAX_GPIO
222         default "0x00000" if ETRAXFS
223         default "0x00000000" if !ETRAXFS
224         help
225           This is a bitmask (18 bits) with information of what bits in PB
226           that a user can change direction on using ioctl's.
227           Bit set = changeable.
228           You probably want 0 here, but it depends on your hardware.
229
230 config ETRAX_PB_CHANGEABLE_BITS
231         hex "PB user changeable bits mask"
232         depends on ETRAX_GPIO
233         default "0x00000" if ETRAXFS
234         default "0x00000000" if !ETRAXFS
235         help
236           This is a bitmask (18 bits) with information of what bits in PB
237           that a user can change the value on using ioctl's.
238           Bit set = changeable.
239
240 config ETRAX_PC_CHANGEABLE_DIR
241         hex "PC user changeable dir mask"
242         depends on ETRAX_GPIO
243         default "0x00000" if ETRAXFS
244         default "0x00000000" if !ETRAXFS
245         help
246           This is a bitmask (18 bits) with information of what bits in PC
247           that a user can change direction on using ioctl's.
248           Bit set = changeable.
249           You probably want 0 here, but it depends on your hardware.
250
251 config ETRAX_PC_CHANGEABLE_BITS
252         hex "PC user changeable bits mask"
253         depends on ETRAX_GPIO
254         default "0x00000" if ETRAXFS
255         default "0x00000000" if ETRAXFS
256         help
257           This is a bitmask (18 bits) with information of what bits in PC
258           that a user can change the value on using ioctl's.
259           Bit set = changeable.
260
261 config ETRAX_PD_CHANGEABLE_DIR
262         hex "PD user changeable dir mask"
263         depends on ETRAX_GPIO && ETRAXFS
264         default "0x00000"
265         help
266           This is a bitmask (18 bits) with information of what bits in PD
267           that a user can change direction on using ioctl's.
268           Bit set = changeable.
269           You probably want 0x00000 here, but it depends on your hardware.
270
271 config ETRAX_PD_CHANGEABLE_BITS
272         hex "PD user changeable bits mask"
273         depends on ETRAX_GPIO && ETRAXFS
274         default "0x00000"
275         help
276           This is a bitmask (18 bits) with information of what bits in PD
277           that a user can change the value on using ioctl's.
278           Bit set = changeable.
279
280 config ETRAX_PE_CHANGEABLE_DIR
281         hex "PE user changeable dir mask"
282         depends on ETRAX_GPIO && ETRAXFS
283         default "0x00000"
284         help
285           This is a bitmask (18 bits) with information of what bits in PE
286           that a user can change direction on using ioctl's.
287           Bit set = changeable.
288           You probably want 0x00000 here, but it depends on your hardware.
289
290 config ETRAX_PE_CHANGEABLE_BITS
291         hex "PE user changeable bits mask"
292         depends on ETRAX_GPIO && ETRAXFS
293         default "0x00000"
294         help
295           This is a bitmask (18 bits) with information of what bits in PE
296           that a user can change the value on using ioctl's.
297           Bit set = changeable.
298
299 config ETRAX_PV_CHANGEABLE_DIR
300         hex "PV user changeable dir mask"
301         depends on ETRAX_VIRTUAL_GPIO
302         default "0x0000"
303         help
304           This is a bitmask (16 bits) with information of what bits in PV
305           that a user can change direction on using ioctl's.
306           Bit set = changeable.
307           You probably want 0x0000 here, but it depends on your hardware.
308
309 config ETRAX_PV_CHANGEABLE_BITS
310         hex "PV user changeable bits mask"
311         depends on ETRAX_VIRTUAL_GPIO
312         default "0x0000"
313         help
314           This is a bitmask (16 bits) with information of what bits in PV
315           that a user can change the value on using ioctl's.
316           Bit set = changeable.
317
318 config ETRAX_CARDBUS
319         bool "Cardbus support"
320         depends on ETRAX_ARCH_V32
321         help
322          Enabled the ETRAX Cardbus driver.
323
324 config PCI
325        bool
326        depends on ETRAX_CARDBUS
327        default y
328        select HAVE_GENERIC_DMA_COHERENT
329
330 config ETRAX_IOP_FW_LOAD
331         tristate "IO-processor hotplug firmware loading support"
332         depends on ETRAX_ARCH_V32
333         select FW_LOADER
334         help
335           Enables IO-processor hotplug firmware loading support.
336
337 config ETRAX_STREAMCOPROC
338         tristate "Stream co-processor driver enabled"
339         depends on ETRAX_ARCH_V32
340         help
341           This option enables a driver for the stream co-processor
342           for cryptographic operations.
343
344 config ETRAX_MMC_IOP
345         tristate "MMC/SD host driver using IO-processor"
346         depends on ETRAX_ARCH_V32 && MMC
347         help
348           This option enables the SD/MMC host controller interface.
349           The host controller is implemented using the built in
350           IO-Processor. Only the SPU is used in this implementation.
351
352 config ETRAX_SPI_MMC
353 # Make this one of several "choices" (possible simultaneously but
354 # suggested uniquely) when an IOP driver emerges for "real" MMC/SD
355 # protocol support.
356         tristate
357         depends on !ETRAX_MMC_IOP
358         default MMC
359         select SPI
360         select MMC_SPI
361         select ETRAX_SPI_MMC_BOARD
362
363 # For the parts that can't be a module (due to restrictions in
364 # framework elsewhere).
365 config ETRAX_SPI_MMC_BOARD
366        boolean
367        default n
368
369 # While the board info is MMC_SPI only, the drivers are written to be
370 # independent of MMC_SPI, so we'll keep SPI non-dependent on the
371 # MMC_SPI config choices (well, except for a single depends-on-line
372 # for the board-info file until a separate non-MMC SPI board file
373 # emerges).
374 # FIXME: When that happens, we'll need to be able to ask for and
375 # configure non-MMC SPI ports together with MMC_SPI ports (if multiple
376 # SPI ports are enabled).
377
378 config SPI_ETRAX_SSER
379         tristate
380         depends on SPI_MASTER && ETRAX_ARCH_V32
381         select SPI_BITBANG
382         help
383           This enables using an synchronous serial (sser) port as a
384           SPI master controller on Axis ETRAX FS and later.  The
385           driver can be configured to use any sser port.
386
387 config SPI_ETRAX_GPIO
388         tristate
389         depends on SPI_MASTER && ETRAX_ARCH_V32
390         select SPI_BITBANG
391         help
392           This enables using GPIO pins port as a SPI master controller
393           on Axis ETRAX FS and later.  The driver can be configured to
394           use any GPIO pins.
395
396 config ETRAX_SPI_SSER0
397         tristate "SPI using synchronous serial port 0 (sser0)"
398         depends on ETRAX_SPI_MMC
399         default m if MMC_SPI=m
400         default y if MMC_SPI=y
401         default y if MMC_SPI=n
402         select SPI_ETRAX_SSER
403         help
404           Say Y for an MMC/SD socket connected to synchronous serial port 0,
405           or for devices using the SPI protocol on that port.  Say m if you
406           want to build it as a module, which will be named spi_crisv32_sser.
407           (You need to select MMC separately.)
408
409 config ETRAX_SPI_SSER1
410         tristate "SPI using synchronous serial port 1 (sser1)"
411         depends on ETRAX_SPI_MMC
412         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
413         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
414         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
415         select SPI_ETRAX_SSER
416         help
417           Say Y for an MMC/SD socket connected to synchronous serial port 1,
418           or for devices using the SPI protocol on that port.  Say m if you
419           want to build it as a module, which will be named spi_crisv32_sser.
420           (You need to select MMC separately.)
421
422 config ETRAX_SPI_GPIO
423         tristate "Bitbanged SPI using gpio pins"
424         depends on ETRAX_SPI_MMC
425         select SPI_ETRAX_GPIO
426         default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
427         default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
428         default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
429         help
430           Say Y for an MMC/SD socket connected to general I/O pins (but not
431           a complete synchronous serial ports), or for devices using the SPI
432           protocol on general I/O pins.  Slow and slows down the system.
433           Say m to build it as a module, which will be called spi_crisv32_gpio.
434           (You need to select MMC separately.)
435
436 endif