Bluetooth: hciuart: Add support QCA chipset for UART
Subsystems (2)
PATCH v5 2/2 Bluetooth: hciuart: Add support QCA chipset for UART
QCA61x4 chips have supported sleep feature using In-Band-Sleep commands to enable sleep feature based on H4 protocol. After sending patch/nvm configuration is done, IBS mode will be up and running
Signed-off-by Ben Young Tae Kim <[email protected]>
--- drivers/bluetooth/Kconfig | 13 + drivers/bluetooth/Makefile | 1 + drivers/bluetooth/hci_ldisc.c | 6 + drivers/bluetooth/hci_qca.c | 969 ++++++++++++++++++++++++++++++++++++++++++ drivers/bluetooth/hci_uart.h | 8 +- 5 files changed, 996 insertions(+), 1 deletion(-) create mode 100644 drivers/bluetooth/hci_qca.c
drivers/bluetooth/Kconfig +13 -0
@@ -155,6 +155,19 @@ config BT_HCIUART_BCM Say Y here to compile support for Broadcom protocol. +config BT_HCIUART_QCA + bool "Qualcomm Atheros protocol support" + depends on BT_HCIUART + select BT_HCIUART_H4 + select BT_QCA + help + The Qualcomm Atheros protocol supports HCI In-Band Sleep feature + over serial port interface(H4) between controller and host. + This protocol is required for UART clock control for QCA Bluetooth + devices. + + Say Y here to compile support for QCA protocol. + config BT_HCIBCM203X tristate "HCI BCM203x USB driver" depends on USB
drivers/bluetooth/Makefile +1 -0
@@ -35,6 +35,7 @@ hci_uart-$(CONFIG_BT_HCIUART_ATH3K) += hci_ath.o hci_uart-$(CONFIG_BT_HCIUART_3WIRE) += hci_h5.o hci_uart-$(CONFIG_BT_HCIUART_INTEL) += hci_intel.o hci_uart-$(CONFIG_BT_HCIUART_BCM) += hci_bcm.o +hci_uart-$(CONFIG_BT_HCIUART_QCA) += hci_qca.o hci_uart-objs := $(hci_uart-y) ccflags-y += -D__CHECK_ENDIAN__
drivers/bluetooth/hci_ldisc.c +6 -0
@@ -810,6 +810,9 @@ static int __init hci_uart_init(void)#ifdef CONFIG_BT_HCIUART_BCM bcm_init ();#endif +#ifdef CONFIG_BT_HCIUART_QCA +qca_init (); +#endif return 0 ; }
@@ -839,6 +842,9 @@ static void __exit hci_uart_exit(void)#ifdef CONFIG_BT_HCIUART_BCM bcm_deinit ();#endif +#ifdef CONFIG_BT_HCIUART_QCA +qca_deinit (); +#endif /* Release tty registration of line discipline */ err =tty_unregister_ldisc (N_HCI );
drivers/bluetooth/hci_qca.c new file +969 -0
969 lines not on this page · raw message
drivers/bluetooth/hci_uart.h +7 -1
@@ -35,7 +35,7 @@#define HCIUARTGETFLAGS _IOR('U', 204, int)/* UART protocols */ -#define HCI_UART_MAX_PROTO 8 +#define HCI_UART_MAX_PROTO 9#define HCI_UART_H4 0#define HCI_UART_BCSP 1
@@ -45,6 +45,7 @@#define HCI_UART_ATH3K 5#define HCI_UART_INTEL 6#define HCI_UART_BCM 7 +#define HCI_UART_QCA 8#define HCI_UART_RAW_DEVICE 0#define HCI_UART_RESET_ON_INIT 1
@@ -176,3 +177,8 @@ int intel_deinit(void);int bcm_init (void );int bcm_deinit (void );#endif + +#ifdef CONFIG_BT_HCIUART_QCA +int qca_init (void ); +int qca_deinit (void ); +#endif
Signature · 1 line
2.0.5
Marcel Holtmann
maintainerHi Ben,
Quoted 5 lines
QCA61x4 chips have supported sleep feature using In-Band-Sleep commands to enable sleep feature based on H4 protocol. After sending patch/nvm configuration is done, IBS mode will be up and running
Signed-off-by Ben Young Tae Kim <[email protected]>
Quoted 8 lines
---
drivers/bluetooth/Kconfig | 13 + drivers/bluetooth/Makefile | 1 + drivers/bluetooth/hci_ldisc.c | 6 + drivers/bluetooth/hci_qca.c | 969 ++++++++++++++++++++++++++++++++++++++++++ drivers/bluetooth/hci_uart.h | 8 +- 5 files changed, 996 insertions(+), 1 deletion(-)create mode 100644
drivers/bluetooth/hci_qca.c
patch has been applied to bluetooth-next tree.
Regards
Marcel