# Copyright (c) 2016 Wind River Systems, Inc.
# SPDX-License-Identifier: Apache-2.0

menuconfig USB_DEVICE_BLUETOOTH
	bool "USB Bluetooth Device Class support"
	select BT
	select BT_HCI_RAW
	help
	  USB Bluetooth device class support

config USB_DEVICE_BLUETOOTH_VS_H4
	bool "USB Bluetooth H4 vendor command"
	depends on USB_DEVICE_BLUETOOTH
	select BT_HCI_RAW_H4
	select BT_HCI_RAW_CMD_EXT
	help
	  Enables vendor command to switch to H:4 transport using the bulk
	  endpoint.

config USB_DEVICE_BT_H4
	bool "USB Bluetooth H4 Device Class support"
	select BT
	select BT_HCI_RAW
	select BT_HCI_RAW_H4
	select BT_HCI_RAW_H4_ENABLE
	help
	  USB Bluetooth H4 device class support
