Commit ca93cee5 authored by Loic Poulain's avatar Loic Poulain Committed by Marcel Holtmann

Bluetooth: hci_uart: Add basic support for Intel Lightning Peak devices

The Intel Lightning Peak devices do not come with Bluetooth firmware
loaded and thus require a full download of the operational Bluetooth
firmware when the device is attached via the Bluetooth line discipline.

Lightning Peak devices start with a bootloader mode that only accepts
a very limited set of HCI commands. The supported commands are enough
to identify the hardware and select the right firmware to load.
Signed-off-by: default avatarLoic Poulain <loic.poulain@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 3cf24cf8
...@@ -132,6 +132,7 @@ config BT_HCIUART_3WIRE ...@@ -132,6 +132,7 @@ config BT_HCIUART_3WIRE
config BT_HCIUART_INTEL config BT_HCIUART_INTEL
bool "Intel protocol support" bool "Intel protocol support"
depends on BT_HCIUART depends on BT_HCIUART
select BT_HCIUART_H4
select BT_INTEL select BT_INTEL
help help
The Intel protocol support enables Bluetooth HCI over serial The Intel protocol support enables Bluetooth HCI over serial
......
This diff is collapsed.
...@@ -804,6 +804,9 @@ static int __init hci_uart_init(void) ...@@ -804,6 +804,9 @@ static int __init hci_uart_init(void)
#ifdef CONFIG_BT_HCIUART_3WIRE #ifdef CONFIG_BT_HCIUART_3WIRE
h5_init(); h5_init();
#endif #endif
#ifdef CONFIG_BT_HCIUART_INTEL
intel_init();
#endif
#ifdef CONFIG_BT_HCIUART_BCM #ifdef CONFIG_BT_HCIUART_BCM
bcm_init(); bcm_init();
#endif #endif
...@@ -830,6 +833,9 @@ static void __exit hci_uart_exit(void) ...@@ -830,6 +833,9 @@ static void __exit hci_uart_exit(void)
#ifdef CONFIG_BT_HCIUART_3WIRE #ifdef CONFIG_BT_HCIUART_3WIRE
h5_deinit(); h5_deinit();
#endif #endif
#ifdef CONFIG_BT_HCIUART_INTEL
intel_deinit();
#endif
#ifdef CONFIG_BT_HCIUART_BCM #ifdef CONFIG_BT_HCIUART_BCM
bcm_deinit(); bcm_deinit();
#endif #endif
......
...@@ -167,6 +167,11 @@ int h5_init(void); ...@@ -167,6 +167,11 @@ int h5_init(void);
int h5_deinit(void); int h5_deinit(void);
#endif #endif
#ifdef CONFIG_BT_HCIUART_INTEL
int intel_init(void);
int intel_deinit(void);
#endif
#ifdef CONFIG_BT_HCIUART_BCM #ifdef CONFIG_BT_HCIUART_BCM
int bcm_init(void); int bcm_init(void);
int bcm_deinit(void); int bcm_deinit(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment