nfsd: fix Documentation typo
[safe/jmp/linux-2.6] / drivers / serial / Kconfig
index ceb3697..03422ce 100644 (file)
@@ -1,16 +1,14 @@
 #
 # Serial device configuration
 #
-# $Id: Kconfig,v 1.11 2004/03/11 18:08:04 lethal Exp $
-#
 
 menu "Serial drivers"
+       depends on HAS_IOMEM
 
 #
 # The new 8250/16550 serial drivers
 config SERIAL_8250
        tristate "8250/16550 and compatible serial support"
-       depends on (BROKEN || !SPARC)
        select SERIAL_CORE
        ---help---
          This selects whether you want to include the driver for the standard
@@ -61,8 +59,49 @@ config SERIAL_8250_CONSOLE
          kernel will automatically use the first serial line, /dev/ttyS0, as
          system console.
 
+         You can set that using a kernel command line option such as
+         "console=uart8250,io,0x3f8,9600n8"
+         "console=uart8250,mmio,0xff5e0000,115200n8".
+         and it will switch to normal serial console when the corresponding 
+         port is ready.
+         "earlycon=uart8250,io,0x3f8,9600n8"
+         "earlycon=uart8250,mmio,0xff5e0000,115200n8".
+         it will not only setup early console.
+
          If unsure, say N.
 
+config FIX_EARLYCON_MEM
+       bool
+       depends on X86
+       default y
+
+config SERIAL_8250_GSC
+       tristate
+       depends on SERIAL_8250 && GSC
+       default SERIAL_8250
+
+config SERIAL_8250_PCI
+       tristate "8250/16550 PCI device support" if EMBEDDED
+       depends on SERIAL_8250 && PCI
+       default SERIAL_8250
+       help
+         This builds standard PCI serial support. You may be able to
+         disable this feature if you only need legacy serial support.
+         Saves about 9K.
+
+config SERIAL_8250_PNP
+       tristate "8250/16550 PNP device support" if EMBEDDED
+       depends on SERIAL_8250 && PNP
+       default SERIAL_8250
+       help
+         This builds standard PNP serial support. You may be able to
+         disable this feature if you only need legacy serial support.
+
+config SERIAL_8250_HP300
+       tristate
+       depends on SERIAL_8250 && HP300
+       default SERIAL_8250
+
 config SERIAL_8250_CS
        tristate "8250/16550 PCMCIA device support"
        depends on PCMCIA && SERIAL_8250
@@ -94,7 +133,7 @@ config SERIAL_8250_RUNTIME_UARTS
        default "4"
        help
          Set this to the maximum number of serial ports you want
-         the kernel to register at boot time.  This can be overriden
+         the kernel to register at boot time.  This can be overridden
          with the module parameter "nr_uarts", or boot-time parameter
          8250.nr_uarts
 
@@ -124,32 +163,6 @@ config SERIAL_8250_MANY_PORTS
          say N here to save some memory. You can also say Y if you have an
          "intelligent" multiport card such as Cyclades, Digiboards, etc.
 
-config SERIAL_8250_SHARE_IRQ
-       bool "Support for sharing serial interrupts"
-       depends on SERIAL_8250_EXTENDED
-       help
-         Some serial boards have hardware support which allows multiple dumb
-         serial ports on the same board to share a single IRQ. To enable
-         support for this in the serial driver, say Y here.
-
-config SERIAL_8250_DETECT_IRQ
-       bool "Autodetect IRQ on standard ports (unsafe)"
-       depends on SERIAL_8250_EXTENDED
-       help
-         Say Y here if you want the kernel to try to guess which IRQ
-         to use for your serial port.
-
-         This is considered unsafe; it is far better to configure the IRQ in
-         a boot script using the setserial command.
-
-         If unsure, say N.
-
-config SERIAL_8250_RSA
-       bool "Support RSA serial ports"
-       depends on SERIAL_8250_EXTENDED
-       help
-         ::: To be written :::
-
 #
 # Multi-port serial cards
 #
@@ -172,17 +185,27 @@ config SERIAL_8250_ACCENT
          To compile this driver as a module, choose M here: the module
          will be called 8250_accent.
 
-
 config SERIAL_8250_BOCA
        tristate "Support Boca cards"
        depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
        help
          Say Y here if you have a Boca serial board.  Please read the Boca
-         mini-HOWTO, avaialble from <http://www.tldp.org/docs.html#howto>
+         mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
 
          To compile this driver as a module, choose M here: the module
          will be called 8250_boca.
 
+config SERIAL_8250_EXAR_ST16C554
+       tristate "Support Exar ST16C554/554D Quad UART"
+       depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
+       help
+         The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
+         tinkering with your Envoy TU301, or have a machine with this UART,
+         say Y here.
+
+         To compile this driver as a module, choose M here: the module
+         will be called 8250_exar_st16c554.
+
 config SERIAL_8250_HUB6
        tristate "Support Hub6 cards"
        depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
@@ -192,6 +215,32 @@ config SERIAL_8250_HUB6
          To compile this driver as a module, choose M here: the module
          will be called 8250_hub6.
 
+config SERIAL_8250_SHARE_IRQ
+       bool "Support for sharing serial interrupts"
+       depends on SERIAL_8250_EXTENDED
+       help
+         Some serial boards have hardware support which allows multiple dumb
+         serial ports on the same board to share a single IRQ. To enable
+         support for this in the serial driver, say Y here.
+
+config SERIAL_8250_DETECT_IRQ
+       bool "Autodetect IRQ on standard ports (unsafe)"
+       depends on SERIAL_8250_EXTENDED
+       help
+         Say Y here if you want the kernel to try to guess which IRQ
+         to use for your serial port.
+
+         This is considered unsafe; it is far better to configure the IRQ in
+         a boot script using the setserial command.
+
+         If unsure, say N.
+
+config SERIAL_8250_RSA
+       bool "Support RSA serial ports"
+       depends on SERIAL_8250_EXTENDED
+       help
+         ::: To be written :::
+
 config SERIAL_8250_MCA
        tristate "Support 8250-type ports on MCA buses"
        depends on SERIAL_8250 != n && MCA
@@ -210,11 +259,20 @@ config SERIAL_8250_ACORN
          cards.  If unsure, say N.
 
 config SERIAL_8250_AU1X00
-       bool "AU1X00 serial port support"
+       bool "Au1x00 serial port support"
        depends on SERIAL_8250 != n && SOC_AU1X00
        help
-         If you have an Au1x00 board and want to use the serial port, say Y
-         to this option.  The driver can handle 1 or 2 serial ports.
+         If you have an Au1x00 SOC based board and want to use the serial port,
+         say Y to this option. The driver can handle up to 4 serial ports,
+         depending on the SOC. If unsure, say N.
+
+config SERIAL_8250_RM9K
+       bool "Support for MIPS RM9xxx integrated serial port"
+       depends on SERIAL_8250 != n && SERIAL_RM9000
+       select SERIAL_8250_SHARE_IRQ
+       help
+         Selecting this option will add support for the integrated serial
+         port hardware found on MIPS RM9122 and similar processors.
          If unsure, say N.
 
 comment "Non-8250 serial port support"
@@ -225,7 +283,8 @@ config SERIAL_AMBA_PL010
        select SERIAL_CORE
        help
          This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
-         an Integrator/AP or Integrator/PP2 platform, say Y or M here.
+         an Integrator/AP or Integrator/PP2 platform, or if you have a
+         Cirrus Logic EP93xx CPU, say Y or M here.
 
          If unsure, say N.
 
@@ -268,36 +327,80 @@ config SERIAL_AMBA_PL011_CONSOLE
          Even if you say Y here, the currently visible framebuffer console
          (/dev/tty0) will still be used as the system console by default, but
          you can alter that using a kernel command line option such as
-         "console=ttyAM0". (Try "man bootparam" or see the documentation of
+         "console=ttyAMA0". (Try "man bootparam" or see the documentation of
          your boot loader (lilo or loadlin) about how to pass options to the
          kernel at boot time.)
 
-config SERIAL_AT91
-       bool "AT91RM9200 serial port support"
-       depends on ARM && ARCH_AT91RM9200
+config SERIAL_SB1250_DUART
+       tristate "BCM1xxx on-chip DUART serial support"
+       depends on SIBYTE_SB1xxx_SOC=y
+       select SERIAL_CORE
+       default y
+       ---help---
+         Support for the asynchronous serial interface (DUART) included in
+         the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
+         the letter D in DUART stands for "dual", which is how the device
+         is implemented.  Depending on the SOC configuration there may be
+         one or more DUARTs available of which all are handled.
+
+         If unsure, say Y.  To compile this driver as a module, choose M here:
+         the module will be called sb1250-duart.
+
+config SERIAL_SB1250_DUART_CONSOLE
+       bool "Support for console on a BCM1xxx DUART serial port"
+       depends on SERIAL_SB1250_DUART=y
+       select SERIAL_CORE_CONSOLE
+       default y
+       ---help---
+         If you say Y here, it will be possible to use a serial port as the
+         system console (the system console is the device which receives all
+         kernel messages and warnings and which allows logins in single user
+         mode).
+
+         If unsure, say Y.
+
+config SERIAL_ATMEL
+       bool "AT91 / AT32 on-chip serial port support"
+       depends on (ARM && ARCH_AT91) || AVR32
        select SERIAL_CORE
        help
-         This enables the driver for the on-chip UARTs of the AT91RM9200
-         processor.
+         This enables the driver for the on-chip UARTs of the Atmel
+         AT91 and AT32 processors.
 
-config SERIAL_AT91_CONSOLE
-       bool "Support for console on AT91RM9200 serial port"
-       depends on SERIAL_AT91=y
+config SERIAL_ATMEL_CONSOLE
+       bool "Support for console on AT91 / AT32 serial port"
+       depends on SERIAL_ATMEL=y
        select SERIAL_CORE_CONSOLE
        help
-         Say Y here if you wish to use a UART on the AT91RM9200 as the system
-         console (the system console is the device which receives all kernel
-         messages and warnings and which allows logins in single user mode).
+         Say Y here if you wish to use an on-chip UART on a Atmel
+         AT91 or AT32 processor as the system console (the system
+         console is the device which receives all kernel messages and
+         warnings and which allows logins in single user mode).
 
-config SERIAL_AT91_TTYAT
-       bool "Install as device ttyAT0-4 instead of ttyS0-4"
-       depends on SERIAL_AT91=y
+config SERIAL_ATMEL_PDC
+       bool "Support DMA transfers on AT91 / AT32 serial port"
+       depends on SERIAL_ATMEL
+       default y
        help
-         Say Y here if you wish to have the five internal AT91RM9200 UARTs
-         appear as /dev/ttyAT0-4 (major 204, minor 154-158) instead of the
-         normal /dev/ttyS0-4 (major 4, minor 64-68). This is necessary if
-         you also want other UARTs, such as external 8250/16C550 compatible
-         UARTs.
+         Say Y here if you wish to use the PDC to do DMA transfers to
+         and from the Atmel AT91 / AT32 serial port. In order to
+         actually use DMA transfers, make sure that the use_dma_tx
+         and use_dma_rx members in the atmel_uart_data struct is set
+         appropriately for each port.
+
+         Note that break and error handling currently doesn't work
+         properly when DMA is enabled. Make sure that ports where
+         this matters don't use DMA.
+
+config SERIAL_ATMEL_TTYAT
+       bool "Install as device ttyATn instead of ttySn"
+       depends on SERIAL_ATMEL=y
+       help
+         Say Y here if you wish to have the internal AT91 / AT32 UARTs
+         appear as /dev/ttyATn (major 204, minor starting at 154)
+         instead of the normal /dev/ttySn (major 4, minor starting at
+         64). This is necessary if you also want other UARTs, such as
+         external 8250/16C550 compatible UARTs.
          The ttySn nodes are legally reserved for the 8250 serial driver
          but are often misused by other serial drivers.
 
@@ -306,6 +409,23 @@ config SERIAL_AT91_TTYAT
 
          Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
 
+config SERIAL_KS8695
+       bool "Micrel KS8695 (Centaur) serial port support"
+       depends on ARCH_KS8695
+       select SERIAL_CORE
+       help
+         This selects the Micrel Centaur KS8695 UART.  Say Y here.
+
+config SERIAL_KS8695_CONSOLE
+       bool "Support for console on KS8695 (Centaur) serial port"
+       depends on SERIAL_KS8695=y
+       select SERIAL_CORE_CONSOLE
+       help
+         Say Y here if you wish to use a KS8695 (Centaur) UART as the
+         system console (the system console is the device which
+         receives all kernel messages and warnings and which allows
+         logins in single user mode).
+
 config SERIAL_CLPS711X
        tristate "CLPS711X serial port support"
        depends on ARM && ARCH_CLPS711X
@@ -325,22 +445,41 @@ config SERIAL_CLPS711X_CONSOLE
          your boot loader (lilo or loadlin) about how to pass options to the
          kernel at boot time.)
 
-config SERIAL_S3C2410
-       tristate "Samsung S3C2410 Serial port support"
-       depends on ARM && ARCH_S3C2410
+config SERIAL_SAMSUNG
+       tristate "Samsung SoC serial support"
+       depends on ARM && PLAT_S3C
        select SERIAL_CORE
        help
-         Support for the on-chip UARTs on the Samsung S3C2410X CPU,
+         Support for the on-chip UARTs on the Samsung S3C24XX series CPUs,
          providing /dev/ttySAC0, 1 and 2 (note, some machines may not
          provide all of these ports, depending on how the serial port
          pins are configured.
 
-config SERIAL_S3C2410_CONSOLE
-       bool "Support for console on S3C2410 serial port"
-       depends on SERIAL_S3C2410=y
+config SERIAL_SAMSUNG_UARTS
+       int
+       depends on ARM && PLAT_S3C
+       default 2 if ARCH_S3C2400
+       default 4 if ARCH_S5PC1XX || ARCH_S3C64XX || CPU_S3C2443
+       default 3
+       help
+         Select the number of available UART ports for the Samsung S3C
+         serial driver
+       
+config SERIAL_SAMSUNG_DEBUG
+       bool "Samsung SoC serial debug"
+       depends on SERIAL_SAMSUNG && DEBUG_LL
+       help
+         Add support for debugging the serial driver. Since this is
+         generally being used as a console, we use our own output
+         routines that go via the low-level debug printascii()
+         function.
+
+config SERIAL_SAMSUNG_CONSOLE
+       bool "Support for console on Samsung SoC serial port"
+       depends on SERIAL_SAMSUNG=y
        select SERIAL_CORE_CONSOLE
        help
-         Allow selection of the S3C2410 on-board serial ports for use as
+         Allow selection of the S3C24XX on-board serial ports for use as
          an virtual console.
 
          Even if you say Y here, the currently visible virtual console
@@ -350,24 +489,116 @@ config SERIAL_S3C2410_CONSOLE
          your boot loader about how to pass options to the kernel at
          boot time.)
 
+config SERIAL_S3C2400
+       tristate "Samsung S3C2410 Serial port support"
+       depends on ARM && SERIAL_SAMSUNG && CPU_S3C2400
+       default y if CPU_S3C2400
+       help
+         Serial port support for the Samsung S3C2400 SoC
+
+config SERIAL_S3C2410
+       tristate "Samsung S3C2410 Serial port support"
+       depends on SERIAL_SAMSUNG && CPU_S3C2410
+       default y if CPU_S3C2410
+       help
+         Serial port support for the Samsung S3C2410 SoC
+
+config SERIAL_S3C2412
+       tristate "Samsung S3C2412/S3C2413 Serial port support"
+       depends on SERIAL_SAMSUNG && CPU_S3C2412
+       default y if CPU_S3C2412
+       help
+         Serial port support for the Samsung S3C2412 and S3C2413 SoC
+
+config SERIAL_S3C2440
+       tristate "Samsung S3C2440/S3C2442 Serial port support"
+       depends on SERIAL_SAMSUNG && (CPU_S3C2440 || CPU_S3C2442)
+       default y if CPU_S3C2440
+       default y if CPU_S3C2442
+       help
+         Serial port support for the Samsung S3C2440 and S3C2442 SoC
+
+config SERIAL_S3C24A0
+       tristate "Samsung S3C24A0 Serial port support"
+       depends on SERIAL_SAMSUNG && CPU_S3C24A0
+       default y if CPU_S3C24A0
+       help
+         Serial port support for the Samsung S3C24A0 SoC
+
+config SERIAL_S3C6400
+       tristate "Samsung S3C6400/S3C6410 Serial port support"
+       depends on SERIAL_SAMSUNG && (CPU_S3C6400 || CPU_S3C6410)
+       default y
+       help
+         Serial port support for the Samsung S3C6400 and S3C6410
+         SoCs
+
+config SERIAL_S5PC100
+       tristate "Samsung S5PC100 Serial port support"
+       depends on SERIAL_SAMSUNG && CPU_S5PC100
+       default y
+       help
+         Serial port support for the Samsung S5PC100 SoCs
+
+config SERIAL_MAX3100
+       tristate "MAX3100 support"
+       depends on SPI
+       select SERIAL_CORE
+       help
+         MAX3100 chip support
+
 config SERIAL_DZ
        bool "DECstation DZ serial driver"
        depends on MACH_DECSTATION && 32BIT
        select SERIAL_CORE
-       help
-         DZ11-family serial controllers for VAXstations, including the
-         DC7085, M7814, and M7819.
+       default y
+       ---help---
+         DZ11-family serial controllers for DECstations and VAXstations,
+         including the DC7085, M7814, and M7819.
 
 config SERIAL_DZ_CONSOLE
        bool "Support console on DECstation DZ serial driver"
        depends on SERIAL_DZ=y
        select SERIAL_CORE_CONSOLE
-       help
+       default y
+       ---help---
          If you say Y here, it will be possible to use a serial port as the
          system console (the system console is the device which receives all
          kernel messages and warnings and which allows logins in single user
-         mode).  Note that the firmware uses ttyS0 as the serial console on
-         the Maxine and ttyS2 on the others.
+         mode).
+
+         Note that the firmware uses ttyS3 as the serial console on
+         DECstations that use this driver.
+
+         If unsure, say Y.
+
+config SERIAL_ZS
+       tristate "DECstation Z85C30 serial support"
+       depends on MACH_DECSTATION
+       select SERIAL_CORE
+       default y
+       ---help---
+         Support for the Zilog 85C350 serial communications controller used
+         for serial ports in newer DECstation systems.  These include the
+         DECsystem 5900 and all models of the DECstation and DECsystem 5000
+         systems except from model 200.
+
+         If unsure, say Y.  To compile this driver as a module, choose M here:
+         the module will be called zs.
+
+config SERIAL_ZS_CONSOLE
+       bool "Support for console on a DECstation Z85C30 serial port"
+       depends on SERIAL_ZS=y
+       select SERIAL_CORE_CONSOLE
+       default y
+       ---help---
+         If you say Y here, it will be possible to use a serial port as the
+         system console (the system console is the device which receives all
+         kernel messages and warnings and which allows logins in single user
+         mode).
+
+         Note that the firmware uses ttyS1 as the serial console on the
+         Maxine and ttyS3 on the others using this driver.
 
          If unsure, say Y.
 
@@ -411,7 +642,7 @@ config SERIAL_MPSC_CONSOLE
 
 config SERIAL_PXA
        bool "PXA serial port support"
-       depends on ARM && ARCH_PXA
+       depends on ARCH_PXA || ARCH_MMP
        select SERIAL_CORE
        help
          If you have a machine based on an Intel XScale PXA2xx CPU you
@@ -457,10 +688,159 @@ config SERIAL_SA1100_CONSOLE
          your boot loader (lilo or loadlin) about how to pass options to the
          kernel at boot time.)
 
+config SERIAL_BFIN
+       tristate "Blackfin serial port support"
+       depends on BLACKFIN
+       select SERIAL_CORE
+       select SERIAL_BFIN_UART0 if (BF531 || BF532 || BF533 || BF561)
+       help
+         Add support for the built-in UARTs on the Blackfin.
+
+         To compile this driver as a module, choose M here: the
+         module will be called bfin_5xx.
+
+config SERIAL_BFIN_CONSOLE
+       bool "Console on Blackfin serial port"
+       depends on SERIAL_BFIN=y
+       select SERIAL_CORE_CONSOLE
+
+choice
+       prompt "UART Mode"
+       depends on SERIAL_BFIN
+       default SERIAL_BFIN_DMA
+       help
+         This driver supports the built-in serial ports of the Blackfin family
+         of CPUs
+
+config SERIAL_BFIN_DMA
+       bool "DMA mode"
+       depends on !DMA_UNCACHED_NONE && KGDB_SERIAL_CONSOLE=n
+       help
+         This driver works under DMA mode. If this option is selected, the
+         blackfin simple dma driver is also enabled.
+
+config SERIAL_BFIN_PIO
+       bool "PIO mode"
+       help
+         This driver works under PIO mode.
+
+endchoice
+
+config SERIAL_BFIN_UART0
+       bool "Enable UART0"
+       depends on SERIAL_BFIN
+       help
+         Enable UART0
+
+config BFIN_UART0_CTSRTS
+       bool "Enable UART0 hardware flow control"
+       depends on SERIAL_BFIN_UART0
+       help
+         Enable hardware flow control in the driver. Using GPIO emulate the CTS/RTS
+         signal.
+
+config UART0_CTS_PIN
+       int "UART0 CTS pin"
+       depends on BFIN_UART0_CTSRTS && !BF548
+       default 23
+       help
+         The default pin is GPIO_GP7.
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config UART0_RTS_PIN
+       int "UART0 RTS pin"
+       depends on BFIN_UART0_CTSRTS && !BF548
+       default 22
+       help
+         The default pin is GPIO_GP6.
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config SERIAL_BFIN_UART1
+       bool "Enable UART1"
+       depends on SERIAL_BFIN && (!BF531 && !BF532 && !BF533 && !BF561)
+       help
+         Enable UART1
+
+config BFIN_UART1_CTSRTS
+       bool "Enable UART1 hardware flow control"
+       depends on SERIAL_BFIN_UART1
+       help
+         Enable hardware flow control in the driver. Using GPIO emulate the CTS/RTS
+         signal.
+
+config UART1_CTS_PIN
+       int "UART1 CTS pin"
+       depends on BFIN_UART1_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config UART1_RTS_PIN
+       int "UART1 RTS pin"
+       depends on BFIN_UART1_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config SERIAL_BFIN_UART2
+       bool "Enable UART2"
+       depends on SERIAL_BFIN && (BF54x || BF538 || BF539)
+       help
+         Enable UART2
+
+config BFIN_UART2_CTSRTS
+       bool "Enable UART2 hardware flow control"
+       depends on SERIAL_BFIN_UART2
+       help
+         Enable hardware flow control in the driver. Using GPIO emulate the CTS/RTS
+         signal.
+
+config UART2_CTS_PIN
+       int "UART2 CTS pin"
+       depends on BFIN_UART2_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config UART2_RTS_PIN
+       int "UART2 RTS pin"
+       depends on BFIN_UART2_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config SERIAL_BFIN_UART3
+       bool "Enable UART3"
+       depends on SERIAL_BFIN && (BF54x)
+       help
+         Enable UART3
+
+config BFIN_UART3_CTSRTS
+       bool "Enable UART3 hardware flow control"
+       depends on SERIAL_BFIN_UART3
+       help
+         Enable hardware flow control in the driver. Using GPIO emulate the CTS/RTS
+         signal.
+
+config UART3_CTS_PIN
+       int "UART3 CTS pin"
+       depends on BFIN_UART3_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
+config UART3_RTS_PIN
+       int "UART3 RTS pin"
+       depends on BFIN_UART3_CTSRTS && !BF548
+       default -1
+       help
+         Refer to arch/blackfin/mach-*/include/mach/gpio.h to see the GPIO map.
+
 config SERIAL_IMX
        bool "IMX serial port support"
-       depends on ARM && ARCH_IMX
+       depends on ARM && (ARCH_IMX || ARCH_MXC)
        select SERIAL_CORE
+       select RATIONAL
        help
          If you have a machine based on a Motorola IMX CPU you
          can enable its onboard serial port by enabling this option.
@@ -480,6 +860,25 @@ config SERIAL_IMX_CONSOLE
          your boot loader (lilo or loadlin) about how to pass options to the
          kernel at boot time.)
 
+config SERIAL_UARTLITE
+       tristate "Xilinx uartlite serial port support"
+       depends on PPC32 || MICROBLAZE
+       select SERIAL_CORE
+       help
+         Say Y here if you want to use the Xilinx uartlite serial controller.
+
+         To compile this driver as a module, choose M here: the
+         module will be called uartlite.
+
+config SERIAL_UARTLITE_CONSOLE
+       bool "Support for console on Xilinx uartlite serial port"
+       depends on SERIAL_UARTLITE=y
+       select SERIAL_CORE_CONSOLE
+       help
+         Say Y here if you wish to use a Xilinx uartlite as the system
+         console (the system console is the device which receives all kernel
+         messages and warnings and which allows logins in single user mode).
+
 config SERIAL_SUNCORE
        bool
        depends on SPARC
@@ -525,10 +924,11 @@ config SERIAL_MUX
        default y
        ---help---
          Saying Y here will enable the hardware MUX serial driver for
-         the Nova and K class systems.  The hardware MUX is not 8250/16550 
-         compatible therefore the /dev/ttyB0 device is shared between the 
-         Serial MUX and the PDC software console.  The following steps 
-         need to be completed to use the Serial MUX:
+         the Nova, K class systems and D class with a 'remote control card'.
+         The hardware MUX is not 8250/16550 compatible therefore the
+         /dev/ttyB0 device is shared between the Serial MUX and the PDC
+         software console. The following steps need to be completed to use
+         the Serial MUX:
 
            1. create the device entry (mknod /dev/ttyB0 c 11 0)
            2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
@@ -537,10 +937,10 @@ config SERIAL_MUX
            4. Change the kernel command console parameter to: console=ttyB0
 
 config SERIAL_MUX_CONSOLE
-        bool "Support for console on serial MUX"
-        depends on SERIAL_MUX
+       bool "Support for console on serial MUX"
+       depends on SERIAL_MUX=y
        select SERIAL_CORE_CONSOLE
-        default y
+       default y
 
 config PDC_CONSOLE
        bool "PDC software console support"
@@ -582,59 +982,48 @@ config SERIAL_SUNHV
          systems.  Say Y if you want to be able to use this device.
 
 config SERIAL_IP22_ZILOG
-       tristate "IP22 Zilog8530 serial support"
-       depends on SGI_IP22
+       tristate "SGI Zilog8530 serial support"
+       depends on SGI_HAS_ZILOG
        select SERIAL_CORE
        help
-         This driver supports the Zilog8530 serial ports found on SGI IP22
+         This driver supports the Zilog8530 serial ports found on SGI
          systems.  Say Y or M if you want to be able to these serial ports.
 
 config SERIAL_IP22_ZILOG_CONSOLE
-       bool "Console on IP22 Zilog8530 serial port"
+       bool "Console on SGI Zilog8530 serial port"
        depends on SERIAL_IP22_ZILOG=y
        select SERIAL_CORE_CONSOLE
 
-config V850E_UART
-       bool "NEC V850E on-chip UART support"
-       depends on V850E_MA1 || V850E_ME2 || V850E_TEG || V850E2_ANNA || V850E_AS85EP1
-       select SERIAL_CORE
-       default y
-
-config V850E_UARTB
-        bool
-       depends V850E_UART && V850E_ME2
-       default y
-
-config V850E_UART_CONSOLE
-       bool "Use NEC V850E on-chip UART for console"
-       depends on V850E_UART
-       select SERIAL_CORE_CONSOLE
-
 config SERIAL_SH_SCI
-       tristate "SH SCI(F) serial port support"
+       tristate "SuperH SCI(F) serial port support"
        depends on SUPERH || H8300
        select SERIAL_CORE
 
+config SERIAL_SH_SCI_NR_UARTS
+       int "Maximum number of SCI(F) serial ports"
+       depends on SERIAL_SH_SCI
+       default "2"
+
 config SERIAL_SH_SCI_CONSOLE
-       bool "Support for console on SH SCI(F)"
+       bool "Support for console on SuperH SCI(F)"
        depends on SERIAL_SH_SCI=y
        select SERIAL_CORE_CONSOLE
 
-config SERIAL_AU1X00
-       bool "Enable Au1x00 UART Support"
-       depends on MIPS && SOC_AU1X00
+config SERIAL_PNX8XXX
+       bool "Enable PNX8XXX SoCs' UART Support"
+       depends on MIPS && (SOC_PNX8550 || SOC_PNX833X)
        select SERIAL_CORE
        help
-         If you have an Alchemy AU1X00 processor (MIPS based) and you want
-         to use serial ports, say Y.  Otherwise, say N.
+         If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330
+         and you want to use serial ports, say Y.  Otherwise, say N.
 
-config SERIAL_AU1X00_CONSOLE
-       bool "Enable Au1x00 serial console"
-       depends on SERIAL_AU1X00
+config SERIAL_PNX8XXX_CONSOLE
+       bool "Enable PNX8XX0 serial console"
+       depends on SERIAL_PNX8XXX
        select SERIAL_CORE_CONSOLE
        help
-         If you have an Alchemy AU1X00 processor (MIPS based) and you want
-         to use a console on a serial port, say Y.  Otherwise, say N.
+         If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330
+         and you want to use serial console, say Y. Otherwise, say N.
 
 config SERIAL_CORE
        tristate
@@ -642,23 +1031,42 @@ config SERIAL_CORE
 config SERIAL_CORE_CONSOLE
        bool
 
+config CONSOLE_POLL
+       bool
+
 config SERIAL_68328
        bool "68328 serial support"
        depends on M68328 || M68EZ328 || M68VZ328
        help
          This driver supports the built-in serial port of the Motorola 68328
-         (standard, EZ and VZ varities).
+         (standard, EZ and VZ varieties).
 
 config SERIAL_68328_RTS_CTS
        bool "Support RTS/CTS on 68328 serial port"
        depends on SERIAL_68328
 
-config SERIAL_COLDFIRE
-       bool "ColdFire serial support"
+config SERIAL_MCF
+       bool "Coldfire serial support"
        depends on COLDFIRE
+       select SERIAL_CORE
        help
-         This driver supports the built-in serial ports of the Motorola ColdFire
-         family of CPUs.
+         This serial driver supports the Freescale Coldfire serial ports.
+
+config SERIAL_MCF_BAUDRATE
+       int "Default baudrate for Coldfire serial ports"
+       depends on SERIAL_MCF
+       default 19200
+       help
+         This setting lets you define what the default baudrate is for the
+         ColdFire serial ports. The usual default varies from board to board,
+         and this setting is a way of catering for that.
+
+config SERIAL_MCF_CONSOLE
+       bool "Coldfire serial console support"
+       depends on SERIAL_MCF
+       select SERIAL_CORE_CONSOLE
+       help
+         Enable a ColdFire internal serial port to be the system console.
 
 config SERIAL_68360_SMC
        bool "68360 SMC uart support"
@@ -686,6 +1094,31 @@ config SERIAL_PMACZILOG
          PowerMac machines.
          Say Y or M if you want to be able to these serial ports.
 
+config SERIAL_PMACZILOG_TTYS
+       bool "Use ttySn device nodes for Zilog z85c30"
+       depends on SERIAL_PMACZILOG
+       help
+         The pmac_zilog driver for the z85C30 chip on many powermacs
+         historically used the device numbers for /dev/ttySn.  The
+         8250 serial port driver also uses these numbers, which means
+         the two drivers being unable to coexist; you could not use
+         both z85C30 and 8250 type ports at the same time.
+
+         If this option is not selected, the pmac_zilog driver will
+         use the device numbers allocated for /dev/ttyPZn.  This allows
+         the pmac_zilog and 8250 drivers to co-exist, but may cause
+         existing userspace setups to break.  Programs that need to
+         access the built-in serial ports on powermacs will need to
+         be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
+
+         If you enable this option, any z85c30 ports in the system will
+         be registered as ttyS0 onwards as in the past, and you will be
+         unable to use the 8250 module for PCMCIA or other 16C550-style
+         UARTs.
+
+         Say N unless you need the z85c30 ports on your powermac
+         to appear as /dev/ttySn.
+
 config SERIAL_PMACZILOG_CONSOLE
        bool "Console on PowerMac z85c30 serial port"
        depends on SERIAL_PMACZILOG=y
@@ -742,42 +1175,6 @@ config SERIAL_CPM_CONSOLE
          your boot loader (lilo or loadlin) about how to pass options to the
          kernel at boot time.)
 
-config SERIAL_CPM_SCC1
-       bool "Support for SCC1 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SCC1 as a serial port
-
-config SERIAL_CPM_SCC2
-       bool "Support for SCC2 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SCC2 as a serial port
-
-config SERIAL_CPM_SCC3
-       bool "Support for SCC3 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SCC3 as a serial port
-
-config SERIAL_CPM_SCC4
-       bool "Support for SCC4 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SCC4 as a serial port
-
-config SERIAL_CPM_SMC1
-       bool "Support for SMC1 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SMC1 as a serial port
-
-config SERIAL_CPM_SMC2
-       bool "Support for SMC2 serial port"
-       depends on SERIAL_CPM=y
-       help
-         Select the is option to use SMC2 as a serial port
-
 config SERIAL_SGI_L1_CONSOLE
        bool "SGI Altix L1 serial console support"
        depends on IA64_GENERIC || IA64_SGI_SN2
@@ -789,17 +1186,17 @@ config SERIAL_SGI_L1_CONSOLE
                say Y.  Otherwise, say N.
 
 config SERIAL_MPC52xx
-       tristate "Freescale MPC52xx family PSC serial support"
-       depends on PPC_MPC52xx
+       tristate "Freescale MPC52xx/MPC512x family PSC serial support"
+       depends on PPC_MPC52xx || PPC_MPC512x
        select SERIAL_CORE
        help
-         This drivers support the MPC52xx PSC serial ports. If you would
-         like to use them, you must answer Y or M to this option. Not that
+         This driver supports MPC52xx and MPC512x PSC serial ports. If you would
+         like to use them, you must answer Y or M to this option. Note that
          for use as console, it must be included in kernel and not as a
          module.
 
 config SERIAL_MPC52xx_CONSOLE
-       bool "Console on a Freescale MPC52xx family PSC serial port"
+       bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
        depends on SERIAL_MPC52xx=y
        select SERIAL_CORE_CONSOLE
        help
@@ -807,7 +1204,7 @@ config SERIAL_MPC52xx_CONSOLE
          of the Freescale MPC52xx family as a console.
 
 config SERIAL_MPC52xx_CONSOLE_BAUD
-       int "Freescale MPC52xx family PSC serial port baud"
+       int "Freescale MPC52xx/MPC512x family PSC serial port baud"
        depends on SERIAL_MPC52xx_CONSOLE=y
        default "9600"
        help
@@ -859,13 +1256,18 @@ config SERIAL_M32R_PLDSIO
 
 config SERIAL_TXX9
        bool "TMPTX39XX/49XX SIO support"
-       depends HAS_TXX9_SERIAL
+       depends on HAS_TXX9_SERIAL
        select SERIAL_CORE
        default y
 
 config HAS_TXX9_SERIAL
        bool
 
+config SERIAL_TXX9_NR_UARTS
+       int "Maximum number of TMPTX39XX/49XX SIO ports"
+       depends on SERIAL_TXX9
+       default "6"
+
 config SERIAL_TXX9_CONSOLE
        bool "TMPTX39XX/49XX SIO Console support"
        depends on SERIAL_TXX9=y
@@ -886,7 +1288,7 @@ config SERIAL_VR41XX
 
 config SERIAL_VR41XX_CONSOLE
        bool "Enable NEC VR4100 series Serial Interface Unit console"
-       depends on SERIAL_VR41XX
+       depends on SERIAL_VR41XX=y
        select SERIAL_CORE_CONSOLE
        help
          If you have a NEC VR4100 series processor and you want to use
@@ -925,4 +1327,135 @@ config SERIAL_SGI_IOC3
          If you have an SGI Altix with an IOC3 serial card,
          say Y or M.  Otherwise, say N.
 
+config SERIAL_MSM
+       bool "MSM on-chip serial port support"
+       depends on ARM && ARCH_MSM
+       select SERIAL_CORE
+
+config SERIAL_MSM_CONSOLE
+       bool "MSM serial console support"
+       depends on SERIAL_MSM=y
+       select SERIAL_CORE_CONSOLE
+
+config SERIAL_NETX
+       tristate "NetX serial port support"
+       depends on ARM && ARCH_NETX
+       select SERIAL_CORE
+       help
+         If you have a machine based on a Hilscher NetX SoC you
+         can enable its onboard serial port by enabling this option.
+
+          To compile this driver as a module, choose M here: the
+          module will be called netx-serial.
+
+config SERIAL_NETX_CONSOLE
+       bool "Console on NetX serial port"
+       depends on SERIAL_NETX=y
+       select SERIAL_CORE_CONSOLE
+       help
+         If you have enabled the serial port on the Hilscher NetX SoC
+         you can make it the console by answering Y to this option.
+
+config SERIAL_OF_PLATFORM
+       tristate "Serial port on Open Firmware platform bus"
+       depends on PPC_OF || MICROBLAZE
+       depends on SERIAL_8250 || SERIAL_OF_PLATFORM_NWPSERIAL
+       help
+         If you have a PowerPC based system that has serial ports
+         on a platform specific bus, you should enable this option.
+         Currently, only 8250 compatible ports are supported, but
+         others can easily be added.
+
+config SERIAL_OF_PLATFORM_NWPSERIAL
+       tristate "NWP serial port driver"
+       depends on PPC_OF && PPC_DCR
+       select SERIAL_OF_PLATFORM
+       select SERIAL_CORE_CONSOLE
+       select SERIAL_CORE
+       help
+         This driver supports the cell network processor nwp serial
+         device.
+
+config SERIAL_OF_PLATFORM_NWPSERIAL_CONSOLE
+       bool "Console on NWP serial port"
+       depends on SERIAL_OF_PLATFORM_NWPSERIAL=y
+       select SERIAL_CORE_CONSOLE
+       help
+         Support for Console on the NWP serial ports.
+
+config SERIAL_QE
+       tristate "Freescale QUICC Engine serial port support"
+       depends on QUICC_ENGINE
+       select SERIAL_CORE
+       select FW_LOADER
+       default n
+       help
+         This driver supports the QE serial ports on Freescale embedded
+         PowerPC that contain a QUICC Engine.
+
+config SERIAL_SC26XX
+       tristate "SC2681/SC2692 serial port support"
+       depends on SNI_RM
+       select SERIAL_CORE
+       help
+         This is a driver for the onboard serial ports of
+         older RM400 machines.
+
+config SERIAL_SC26XX_CONSOLE
+       bool "Console on SC2681/SC2692 serial port"
+       depends on SERIAL_SC26XX
+       select SERIAL_CORE_CONSOLE
+       help
+         Support for Console on SC2681/SC2692 serial ports.
+
+config SERIAL_BFIN_SPORT
+       tristate "Blackfin SPORT emulate UART (EXPERIMENTAL)"
+       depends on BLACKFIN && EXPERIMENTAL
+       select SERIAL_CORE
+       help
+         Enable SPORT emulate UART on Blackfin series.
+
+         To compile this driver as a module, choose M here: the
+         module will be called bfin_sport_uart.
+
+choice
+       prompt "Baud rate for Blackfin SPORT UART"
+       depends on SERIAL_BFIN_SPORT
+       default SERIAL_SPORT_BAUD_RATE_57600
+       help
+         Choose a baud rate for the SPORT UART, other uart settings are
+         8 bit, 1 stop bit, no parity, no flow control.
+
+config SERIAL_SPORT_BAUD_RATE_115200
+       bool "115200"
+
+config SERIAL_SPORT_BAUD_RATE_57600
+       bool "57600"
+
+config SERIAL_SPORT_BAUD_RATE_38400
+       bool "38400"
+
+config SERIAL_SPORT_BAUD_RATE_19200
+       bool "19200"
+
+config SERIAL_SPORT_BAUD_RATE_9600
+       bool "9600"
+endchoice
+
+config SPORT_BAUD_RATE
+       int
+       depends on SERIAL_BFIN_SPORT
+       default 115200 if (SERIAL_SPORT_BAUD_RATE_115200)
+       default 57600 if (SERIAL_SPORT_BAUD_RATE_57600)
+       default 38400 if (SERIAL_SPORT_BAUD_RATE_38400)
+       default 19200 if (SERIAL_SPORT_BAUD_RATE_19200)
+       default 9600 if (SERIAL_SPORT_BAUD_RATE_9600)
+
+config SERIAL_TIMBERDALE
+       tristate "Support for timberdale UART"
+       depends on MFD_TIMBERDALE
+       select SERIAL_CORE
+       ---help---
+       Add support for UART controller on timberdale.
+
 endmenu