Skip to content

Commit 0ff252c

Browse files
BenKimholtmann
authored andcommitted
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]> Signed-off-by: Marcel Holtmann <[email protected]>
1 parent 83e8196 commit 0ff252c

File tree

5 files changed

+996
-1
lines changed

5 files changed

+996
-1
lines changed

drivers/bluetooth/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,19 @@ config BT_HCIUART_BCM
155155

156156
Say Y here to compile support for Broadcom protocol.
157157

158+
config BT_HCIUART_QCA
159+
bool "Qualcomm Atheros protocol support"
160+
depends on BT_HCIUART
161+
select BT_HCIUART_H4
162+
select BT_QCA
163+
help
164+
The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
165+
over serial port interface(H4) between controller and host.
166+
This protocol is required for UART clock control for QCA Bluetooth
167+
devices.
168+
169+
Say Y here to compile support for QCA protocol.
170+
158171
config BT_HCIBCM203X
159172
tristate "HCI BCM203x USB driver"
160173
depends on USB

drivers/bluetooth/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ hci_uart-$(CONFIG_BT_HCIUART_ATH3K) += hci_ath.o
3535
hci_uart-$(CONFIG_BT_HCIUART_3WIRE) += hci_h5.o
3636
hci_uart-$(CONFIG_BT_HCIUART_INTEL) += hci_intel.o
3737
hci_uart-$(CONFIG_BT_HCIUART_BCM) += hci_bcm.o
38+
hci_uart-$(CONFIG_BT_HCIUART_QCA) += hci_qca.o
3839
hci_uart-objs := $(hci_uart-y)
3940

4041
ccflags-y += -D__CHECK_ENDIAN__

drivers/bluetooth/hci_ldisc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,9 @@ static int __init hci_uart_init(void)
810810
#ifdef CONFIG_BT_HCIUART_BCM
811811
bcm_init();
812812
#endif
813+
#ifdef CONFIG_BT_HCIUART_QCA
814+
qca_init();
815+
#endif
813816

814817
return 0;
815818
}
@@ -839,6 +842,9 @@ static void __exit hci_uart_exit(void)
839842
#ifdef CONFIG_BT_HCIUART_BCM
840843
bcm_deinit();
841844
#endif
845+
#ifdef CONFIG_BT_HCIUART_QCA
846+
qca_deinit();
847+
#endif
842848

843849
/* Release tty registration of line discipline */
844850
err = tty_unregister_ldisc(N_HCI);

0 commit comments

Comments
 (0)