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