config MKISS
	tristate "Serial port KISS driver"
	depends on AX25 && BROKEN_ON_SMP
	---help---
	  KISS is a protocol used for the exchange of data between a computer
	  and a Terminal Node Controller (a small embedded system commonly
	  used for networking over AX.25 amateur radio connections; it
	  connects the computer's serial port with the radio's microphone
	  input and speaker output).

	  Although KISS is less advanced than the 6pack protocol, it has
	  the advantage that it is already supported by most modern TNCs
	  without the need for a firmware upgrade.

	  To compile this driver as a module, choose M here: the module
	  will be called mkiss.

config 6PACK
	tristate "Serial port 6PACK driver"
	depends on AX25 && BROKEN_ON_SMP
	---help---
	  6pack is a transmission protocol for the data exchange between your
	  PC and your TNC (the Terminal Node Controller acts as a kind of
	  modem connecting your computer's serial port to your radio's
	  microphone input and speaker output). This protocol can be used as
	  an alternative to KISS for networking over AX.25 amateur radio
	  connections, but it has some extended functionality.

	  Note that this driver is still experimental and might cause
	  problems. For details about the features and the usage of the
	  driver, read <file:Documentation/networking/6pack.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called 6pack.

config BPQETHER
	tristate "BPQ Ethernet driver"
	depends on AX25
	help
	  AX.25 is the protocol used for computer communication over amateur
	  radio. If you say Y here, you will be able to send and receive AX.25
	  traffic over Ethernet (also called "BPQ AX.25"), which could be
	  useful if some other computer on your local network has a direct
	  amateur radio connection.

config DMASCC
	tristate "High-speed (DMA) SCC driver for AX.25"
	depends on ISA && AX25 && BROKEN_ON_SMP
	---help---
	  This is a driver for high-speed SCC boards, i.e. those supporting
	  DMA on one port. You usually use those boards to connect your
	  computer to an amateur radio modem (such as the WA4DSY 56kbps
	  modem), in order to send and receive AX.25 packet radio network
	  traffic.

	  Currently, this driver supports Ottawa PI/PI2, Paccomm/Gracilis
	  PackeTwin, and S5SCC/DMA boards. They are detected automatically.
	  If you have one of these cards, say Y here and read the AX25-HOWTO,
	  available from <http://www.tldp.org/docs.html#howto>.

	  This driver can operate multiple boards simultaneously. If you
	  compile it as a module (by saying M instead of Y), it will be called
	  dmascc. If you don't pass any parameter to the driver, all
	  possible I/O addresses are probed. This could irritate other devices
	  that are currently not in use. You may specify the list of addresses
	  to be probed by "dmascc=addr1,addr2,..." (when compiled into the
	  kernel image) or "io=addr1,addr2,..." (when loaded as a module). The
	  network interfaces will be called dmascc0 and dmascc1 for the board
	  detected first, dmascc2 and dmascc3 for the second one, and so on.

	  Before you configure each interface with ifconfig, you MUST set
	  certain parameters, such as channel access timing, clock mode, and
	  DMA channel. This is accomplished with a small utility program,
	  dmascc_cfg, available at
	  <http://cacofonix.nt.tuwien.ac.at/~oe1kib/Linux/>. Please be sure to
	  get at least version 1.27 of dmascc_cfg, as older versions will not
	  work with the current driver.

config SCC
	tristate "Z8530 SCC driver"
	depends on ISA && AX25
	---help---
	  These cards are used to connect your Linux box to an amateur radio
	  in order to communicate with other computers. If you want to use
	  this, read <file:Documentation/networking/z8530drv.txt> and the
	  AX25-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>. Also make sure to say Y
	  to "Amateur Radio AX.25 Level 2" support.

	  To compile this driver as a module, choose M here: the module
	  will be called scc.

config SCC_DELAY
	bool "additional delay for PA0HZP OptoSCC compatible boards"
	depends on SCC
	help
	  Say Y here if you experience problems with the SCC driver not
	  working properly; please read
	  <file:Documentation/networking/z8530drv.txt> for details.

	  If unsure, say N.

config SCC_TRXECHO
	bool "support for TRX that feedback the tx signal to rx"
	depends on SCC
	help
	  Some transmitters feed the transmitted signal back to the receive
	  line.  Say Y here to foil this by explicitly disabling the receiver
	  during data transmission.

	  If in doubt, say Y.

config BAYCOM_SER_FDX
	tristate "BAYCOM ser12 fullduplex driver for AX.25"
	depends on AX25
	select CRC_CCITT
	---help---
	  This is one of two drivers for Baycom style simple amateur radio
	  modems that connect to a serial interface. The driver supports the
	  ser12 design in full-duplex mode. In addition, it allows the
	  baudrate to be set between 300 and 4800 baud (however not all modems
	  support all baudrates). This is the preferred driver. The next
	  driver, "BAYCOM ser12 half-duplex driver for AX.25" is the old
	  driver and still provided in case this driver does not work with
	  your serial interface chip. To configure the driver, use the sethdlc
	  utility available in the standard ax25 utilities package. For
	  information on the modems, see <http://www.baycom.de/> and
	  <file:Documentation/networking/baycom.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called baycom_ser_fdx.  This is recommended.

config BAYCOM_SER_HDX
	tristate "BAYCOM ser12 halfduplex driver for AX.25"
	depends on AX25
	select CRC_CCITT
	---help---
	  This is one of two drivers for Baycom style simple amateur radio
	  modems that connect to a serial interface. The driver supports the
	  ser12 design in full-duplex mode. This is the old driver.  It is
	  still provided in case your serial interface chip does not work with
	  the full-duplex driver. This driver is depreciated.  To configure
	  the driver, use the sethdlc utility available in the standard ax25
	  utilities package. For information on the modems, see
	  <http://www.baycom.de/> and
	  <file:Documentation/networking/baycom.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called baycom_ser_hdx.  This is recommended.

config BAYCOM_PAR
	tristate "BAYCOM picpar and par96 driver for AX.25"
	depends on PARPORT && AX25
	select CRC_CCITT
	---help---
	  This is a driver for Baycom style simple amateur radio modems that
	  connect to a parallel interface. The driver supports the picpar and
	  par96 designs. To configure the driver, use the sethdlc utility
	  available in the standard ax25 utilities package. For information on
	  the modems, see <http://www.baycom.de/> and the file
	  <file:Documentation/networking/baycom.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called baycom_par.  This is recommended.

config BAYCOM_EPP
	tristate "BAYCOM epp driver for AX.25"
	depends on PARPORT && AX25 && !64BIT
	select CRC_CCITT
	---help---
	  This is a driver for Baycom style simple amateur radio modems that
	  connect to a parallel interface. The driver supports the EPP
	  designs. To configure the driver, use the sethdlc utility available
	  in the standard ax25 utilities package. For information on the
	  modems, see <http://www.baycom.de/> and the file
	  <file:Documentation/networking/baycom.txt>.

	  To compile this driver as a module, choose M here: the module
	  will be called baycom_epp.  This is recommended.

config YAM
	tristate "YAM driver for AX.25"
	depends on AX25
	help
	  The YAM is a modem for packet radio which connects to the serial
	  port and includes some of the functions of a Terminal Node
	  Controller. If you have one of those, say Y here.

	  To compile this driver as a module, choose M here: the module
	  will be called yam.

