# SPDX-License-Identifier: GPL-2.0-only
#
# Hardware for mISDN
#
comment "mISDN hardware drivers"

config MISDN_HFCPCI
	tristate "Support for HFC PCI cards"
	depends on MISDN
	depends on PCI
	help
	  Enable support for cards with Cologne Chip AG's
          HFC PCI chip.

config MISDN_HFCMULTI
	tristate "Support for HFC multiport cards (HFC-4S/8S/E1)"
	depends on PCI || CPM1
	depends on MISDN
	help
	  Enable support for cards with Cologne Chip AG's HFC multiport
	  chip. There are three types of chips that are quite similar,
	  but the interface is different:
	   * HFC-4S (4 S/T interfaces on one chip)
	   * HFC-8S (8 S/T interfaces on one chip)
	   * HFC-E1 (E1 interface for 2Mbit ISDN)

config MISDN_HFCMULTI_8xx
	bool "Support for XHFC embedded board in HFC multiport driver"
	depends on MISDN
	depends on MISDN_HFCMULTI
	depends on CPM1
	default CPM1
	help
	  Enable support for the XHFC embedded solution from Speech Design.

config MISDN_HFCUSB
	tristate "Support for HFC-S USB based TAs"
	depends on USB
	help
	  Enable support for USB ISDN TAs with Cologne Chip AG's
	  HFC-S USB ISDN Controller

config MISDN_AVMFRITZ
	tristate "Support for AVM FRITZ!CARD PCI"
	depends on MISDN
	depends on PCI
	select MISDN_IPAC
	help
	  Enable support for AVMs FRITZ!CARD PCI cards

config MISDN_SPEEDFAX
	tristate "Support for Sedlbauer Speedfax+"
	depends on MISDN
	depends on PCI
	select MISDN_IPAC
	select MISDN_ISAR
	help
	  Enable support for Sedlbauer Speedfax+.

config MISDN_INFINEON
	tristate "Support for cards with Infineon chipset"
	depends on MISDN
	depends on PCI
	select MISDN_IPAC
	help
	  Enable support for cards with ISAC + HSCX, IPAC or IPAC-SX
	  chip from Infineon (former manufacturer Siemens).

config MISDN_W6692
	tristate "Support for cards with Winbond 6692"
	depends on MISDN
	depends on PCI
	help
	  Enable support for Winbond 6692 PCI chip based cards.

config MISDN_NETJET
	tristate "Support for NETJet cards"
	depends on MISDN
	depends on PCI
	depends on TTY
	select MISDN_IPAC
	select MISDN_HDLC
	help
	  Enable support for Traverse Technologies NETJet PCI cards.

config MISDN_HDLC
	tristate
	select CRC_CCITT
	select BITREVERSE

config MISDN_IPAC
	tristate
	depends on MISDN

config MISDN_ISAR
	tristate
	depends on MISDN

