# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

menu "Bluetooth support and drivers"
depends on ADK_TARGET_WITH_USB \
	|| ADK_TARGET_WITH_MINIPCI \
	|| ADK_TARGET_WITH_SDIO \
	|| ADK_TARGET_GENERIC

config ADK_KERNEL_BT_BREDR
	bool

config ADK_KERNEL_BT_BCM
	tristate

config ADK_KERNEL_BT
	tristate "Bluetooth network stack"
	select ADK_KERNEL_BT_BREDR
	default n
	help
	  Bluetooth is low-cost, low-power, short-range wireless technology.
	  It was designed as a replacement for cables and other short-range
	  technologies like IrDA.  Bluetooth operates in personal area range
	  that typically extends up to 10 meters.  More information about
	  Bluetooth can be found at <http://www.bluetooth.com/>.

	  Linux Bluetooth subsystem consist of several layers:
	     Bluetooth Core (HCI device and connection manager, scheduler)
	     HCI Device drivers (Interface to the hardware)
	     SCO Module (SCO audio links)
	     L2CAP Module (Logical Link Control and Adaptation Protocol)
	     RFCOMM Module (RFCOMM Protocol)  
	     BNEP Module (Bluetooth Network Encapsulation Protocol)
	     CMTP Module (CAPI Message Transport Protocol)
	     HIDP Module (Human Interface Device Protocol)

config ADK_KERNEL_BT_L2CAP
	bool "L2CAP protocol support"
	select ADK_KERNEL_BT
	default n
	help
	  L2CAP (Logical Link Control and Adaptation Protocol) provides
	  connection oriented and connection-less data transport.  L2CAP
	  support is required for most Bluetooth applications.

config ADK_KERNEL_BT_SCO
	bool "SCO link support"
	select ADK_KERNEL_BT
	default n
	help
	  SCO link provides voice transport over Bluetooth.  SCO support is
	  required for voice applications like Headset and Audio.

config ADK_KERNEL_BT_RFCOMM
	tristate "RFCOMM protocol support"
	select ADK_KERNEL_BT
	depends on ADK_KERNEL_BT_L2CAP
	default n
	help
	  RFCOMM provides connection oriented stream transport.  RFCOMM
	  support is required for Dialup Networking, OBEX and other Bluetooth
	  applications.

config ADK_KERNEL_BT_BNEP
	tristate "BNEP protocol support"
	select ADK_KERNEL_BT
	depends on ADK_KERNEL_BT_L2CAP
	default n
	help
	  BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
	  emulation layer on top of Bluetooth.  BNEP is required for
	  Bluetooth PAN (Personal Area Network).

config ADK_KERNEL_BT_HIDP
	tristate "HIDP protocol support"
	select ADK_KERNEL_INPUT
	select ADK_KERNEL_HID
	select ADK_KERNEL_BT
	depends on ADK_KERNEL_BT_L2CAP
	default n
	help
	  HIDP (Human Interface Device Protocol) is a transport layer
	  for HID reports.  HIDP is required for the Bluetooth Human
	  Interface Device Profile.

config ADK_KERNEL_BT_HCIBTSDIO
	tristate "HCI SDIO driver"
	select ADK_KERNEL_BT
	depends on ADK_TARGET_WITH_SDIO
	default n
	help
	  Bluetooth HCI SDIO driver.
	  This driver is required if you want to use Bluetooth devices with
	  SDIO interface.

config ADK_KERNEL_BT_HCIBTUSB
	tristate "HCI USB driver"
	select ADK_KERNEL_BT
	depends on ADK_TARGET_WITH_USB
	default n
	help
	  Bluetooth HCI USB driver.
	  This driver is required if you want to use Bluetooth devices with
	  USB interface.

config ADK_KERNEL_BT_HCIBTUSB_BCM
	bool "Broadcom protocol support"
	depends on ADK_KERNEL_BT_HCIBTUSB
	select ADK_KERNEL_BT_BCM
	help
	  The Broadcom protocol support enables firmware and patchram
	  download support for Broadcom Bluetooth controllers.

config ADK_KERNEL_BT_HCIUART
	tristate "HCI UART driver"
	select ADK_KERNEL_BT
	default n
	help
	  Bluetooth HCI UART driver.
	  This driver is required if you want to use Bluetooth devices with
	  serial port interface. You will also need this driver if you have 
	  UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card 
	  adapter and BrainBoxes Bluetooth PC Card.

config ADK_KERNEL_BT_HCIUART_H4
	bool
	depends on ADK_KERNEL_BT_HCIUART
	default n

config ADK_KERNEL_BT_HCIUART_3WIRE
	bool
	depends on ADK_KERNEL_BT_HCIUART
	default n

config ADK_KERNEL_BT_HCIUART_BCM
	tristate "Broadcom protocol support"
	select ADK_KERNEL_BT_HCIUART
	select ADK_KERNEL_BT_HCIUART_3WIRE
	select ADK_KERNEL_BT_BCM
	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI3
	default n
	help
	  The Broadcom protocol support enables Bluetooth HCI over serial
	  port interface for Broadcom Bluetooth controllers.

config ADK_KERNEL_BT_MRVL
	tristate "Marvell driver"
	select ADK_KERNEL_BT
	default n
	help
	  Bluetooth Marvell driver.

config ADK_KERNEL_BT_MRVL_SDIO
	tristate "Marvell SDIO driver"
	select ADK_PACKAGE_BRCM_BLUETOOTH
	select ADK_KERNEL_BT_MRVL
	select ADK_KERNEL_BT_HCIBTSDIO
	depends on ADK_TARGET_WITH_SDIO
	default n
	help
	  Bluetooth Marvell driver.

config ADK_KERNEL_BT_HCIBCM203X
	tristate "HCI BCM203x USB driver"
	select ADK_KERNEL_FW_LOADER
	select ADK_KERNEL_BT_HCIBTUSB
	select ADK_KERNEL_BT
	depends on ADK_TARGET_WITH_USB
	default n
	help
	  Bluetooth HCI BCM203x USB driver.
	  This driver provides the firmware loading mechanism for the Broadcom
	  Blutonium based devices.

config ADK_KERNEL_BT_HCIBPA10X
	tristate "HCI BPA10x USB driver"
	select ADK_KERNEL_BT
	select ADK_KERNEL_BT_HCIBTUSB
	default n
	help
	  Bluetooth HCI BPA10x USB driver.
	  This driver provides support for the Digianswer BPA 100/105 Bluetooth
	  sniffer devices.

endmenu
