Main changes:
- Introduce support for a native Bluetooth controller implementation. Current
supported controller is the nRF52, with nRF51 soon to follow.
- Initial support for the RFCOMM protocol
- New raw HCI interface to enable exporting HCI externally
- New sample application to expose HCI over USB (using the new raw API)
- Close-to-complete BR/EDR L2CAP implementation
- Cross-transport key derivation support from LE to BR/EDR
-----------------------------------------------------------------------------
Andrei Emeltchenko (8):
Bluetooth: Simplify configuration and fix warnings
Bluetooth: Add RAW API interface to Bluetooth
Bluetooth: Add documentation to HCI RAW interface
Bluetooth: Export USB HCI controller using RAW HCI channel
Bluetooth: Include btusb sample to sanity check
Bluetooth/drivers: Fix missing argument in printf for h5 driver
Bluetooth/samples: Fix missing argument in printf for btusb
drivers/nble: Rename nrf51 power management functions
Arkadiusz Lichwa (8):
Bluetooth: L2CAP: Make common RTX commands timer
Bluetooth: L2CAP: Initialize & cleanup RTX timer on BR/EDR
Bluetooth: L2CAP: Add RTX timer for 'get info' command
Bluetooth: L2CAP: Add RTX timer for 'configuration' command
Bluetooth: L2CAP: Add RTX timer for 'disconnect' command
Bluetooth: L2CAP: Refactor connection security handler
Bluetooth: L2CAP: Fix reset channel state context
Bluetooth: L2CAP: Implement connect command on BR/EDR
Carles Cufi (7):
Bluetooth: Cleanup and extend HCI header
Bluetooth: Controller: Use offsetof() in memory sizing
Bluetooth: Controller: Unify handling of unknown command
Bluetooth: Controller: Unify handling of CC and CS
Bluetooth: HCI: Rename cmd complete struct
Bluetooth: HCI: Add definitions and macros
Bluetooth: Controller: Switch to Zephyr's hci.h for cmd handling
Grzegorz Kolodziejczyk (1):
Bluetooth: tester: Add L2CAP init method
Jaganath Kanakkassery (23):
Bluetooth: L2CAP: Implement bt_l2cap_br_chan_send()
Bluetooth: RFCOMM: Initialize and register to L2CAP
Bluetooth: RFCOMM: Implement Register Server channel API
Bluetooth: RFCOMM: Init buffer for outgoing signalling packets
Bluetooth: RFCOMM: Handle signalling connection request
Bluetooth: RFCOMM: Handle PN request
Bluetooth: RFCOMM: Handle incoming dlc request
Bluetooth: shell: Add support for RFCOMM test
Bluetooth: RFCOMM: Move rfcomm_make_uih_msg() up
Bluetooth: RFCOMM: Perform MSC transaction after dlc
Bluetooth: RFCOMM: Handle data and credit from peer
Bluetooth: RFCOMM: Fix cr bit of address in MSC response
Bluetooth: L2CAP: Disable fragmentation of rx pdu
Bluetooth: RFCOMM: Implement send data API
Bluetooth: shell: Add support for RFCOMM send data
Bluetooth: Kconfig: Add default for L2CAP_IN_MTU if BREDR is enabled
Bluetooth: RFCOMM: Introduce helper to create rfcomm pdu
Bluetooth: RFCOMM: Introduce Kconfig for max L2CAP MTU
Bluetooth: shell: Use bt_rfcomm_create_pdu() in RFCOMM send
Bluetooth: RFCOMM: Fix BT_RFCOMM_BUF_SIZE to include FCS and len
Bluetooth: RFCOMM: Remove BT_RFCOMM_SEND_RESERVE
Bluetooth: RFCOMM: Implement TX flow control
Bluetooth: RFCOMM: Modify bt_rfcomm_dlc() to return dlc
Johan Hedberg (13):
Bluetooth: monitor: Fix condition for disabling UART interrupts
Bluetooth: Fix race condition when initializing ECC FIFO
Bluetooth: Add missing guards to hci_raw.h header file
Bluetooth: Controller: Fix coding style in ctrl.c, util/ and main.c
Bluetooth: Kconfig: Remove unnecessary default conditionals
Bluetooth: Make lmp_ext_feat_capable() more generic
Bluetooth: Fix reading local features
Bluetooth: Fix feature page count for single-mode configuration
Bluetooth: Clean up feature test macros
Bluetooth: ATT: Fix usage of unsupported %zu format specifier
Bluetooth: Kconfig: Be consistent with the use of tabs vs spaces
MAINTAINERS: Fix path for BLUETOOTH CONTROLLER
Bluetooth: GATT: Fix unaligned access to CCC value
Jonathan Gelie (1):
Bluetooth: Enable and disable BLE chip sleep mode dynamically
Kaustav Dey Biswas (1):
Bluetooth: UUID: Add 32bit UUID support
Luiz Augusto von Dentz (7):
Bluetooth: eddystone: Add timeout to deactivate configuration mode
Bluetooth: GATT: Add queuing support
Bluetooth: UUID: Add HID Service
Bluetooth: Add service sample for HoG
Bluetooth: Add sample implementing HIDS
Bluetooth: HoG: Require authentication for connections
Bluetooth: GATT: Fix unaligned accesses
Mariusz Skamra (1):
Bluetooth: btp: Extend BTP specification to cover L2CAP tests
Ricardo Salveti (1):
board: nrf52_nitrogen: Include BLE controller by default
Szymon Janc (22):
Bluetooth: Split keys into LE and BR/EDR specific storage
Bluetooth: SMP: Remove not needed stubs from NULL backend
Bluetooth: Mark AES encrypted BR/EDR link as FIPS security level
Bluetooth: SMP: Add helper for notifying pairing complete
Bluetooth: SMP: Refactor keys distribution bitfields
Bluetooth: SMP: Add support for Link Key derivation
Bluetooth: SMP: Add self test for H6 function
Bluetooth: Fail on init if BR/EDR is enabled but not supported
Bluetooth: L2CAP: Remove mask from struct bt_l2cap_fixed_chan
Bluetooth: L2CAP: Use BIT macro for supported BR/EDR fixed channels
Bluetooth: L2CAP: Make bt_l2cap_br_fixed_chan_register global
Bluetooth: Set BR/EDR device name on init
Bluetooth: tests/shell: Set same name on BR/EDR and LE
Bluetooth: tests/shell: Add dedicated BR/EDR config
Bluetooth: tests/shell: Remove not needed RFCOMM option from config
Bluetooth: Fix typo in code comment
Bluetooth: Build RFCOMM documentation
Bluetooth: Refactor Link Key notification event handling
Bluetooth: Add support for P256 Link Keys
Bluetooth: Read local extended features on init
Bluetooth: Enable Secure Connections if supported
Bluetooth: Move reading extended features to BR/EDR section of init
Vinayak Chettimada (22):
soc: Use nrf.h instead of nrf52.h and nrf52_bitfields.h
Bluetooth: Fix race condition between ecc_send and ecc_task
MAINTAINERS: Add BLUETOOTH CONTROLLER section
Bluetooth: Controller: Hardware abstraction layer for nRF5x radio
Bluetooth: Controller: Add a util folder with basic primitives
Bluetooth: Controller: Add initial HCI implementation
Bluetooth: Controller: A full, hardware-agnostic BLE Link Layer
Bluetooth: Controller: Add BLE controller driver
board: nrf52_pca10040: Include BLE controller by default
Bluetooth: tests: Add BLE controller init tests
Bluetooth: Controller: Fix coding style, use of (void)
Bluetooth: Controller: Fix assert on advertise start
Bluetooth: Controller: Fix memory required calculation macro
Bluetooth: Controller: Fix deadlock in recv fiber
Bluetooth: GATT: Fix notifications to non-bonded peers
misc/byteorder.h: Add sys_get_le64 interface
Bluetooth: Add LE read supported states
Bluetooth: Controller: Measure and use correct stack size
Bluetooth: Controller: Enable all supported LE states
Bluetooth: GAP: Support multiple peripheral role connections
Bluetooth: GATT: Fix ccc cfg leak
Bluetooth: Controller: alternate ticker compare set logic
MAINTAINERS | 6 +
arch/arm/soc/nordic_nrf5/nrf52/soc.h | 3 +-
boards/nrf52_nitrogen/nrf52_nitrogen_defconfig | 4 +
boards/nrf52_pca10040/nrf52_pca10040_defconfig | 4 +
doc/api/bluetooth.rst | 19 +
drivers/bluetooth/Kconfig | 13 +-
drivers/bluetooth/Makefile | 1 +
drivers/bluetooth/controller/Kconfig | 39 +
drivers/bluetooth/controller/Makefile | 18 +
drivers/bluetooth/controller/hal/ccm.h | 31 +
drivers/bluetooth/controller/hal/clock.c | 230 +++++
drivers/bluetooth/controller/hal/clock.h | 26 +
drivers/bluetooth/controller/hal/cpu.h | 30 +
drivers/bluetooth/controller/hal/debug.h | 233 +++++
drivers/bluetooth/controller/hal/ecb.c | 188 ++++
drivers/bluetooth/controller/hal/ecb.h | 45 +
drivers/bluetooth/controller/hal/hal_irq.h | 27 +
drivers/bluetooth/controller/hal/hal_rtc.h | 27 +
drivers/bluetooth/controller/hal/hal_work.h | 33 +
drivers/bluetooth/controller/hal/irq.c | 53 +
drivers/bluetooth/controller/hal/radio.c | 552 ++++++++++
drivers/bluetooth/controller/hal/radio.h | 108 ++
drivers/bluetooth/controller/hal/rand.c | 125 +++
drivers/bluetooth/controller/hal/rand.h | 25 +
drivers/bluetooth/controller/hal/rtc.c | 68 ++
drivers/bluetooth/controller/hci/hci.c | 1979 ++++++++++++++++++++++++++++++++++++
drivers/bluetooth/controller/hci/hci.h | 26 +
drivers/bluetooth/controller/ll/ctrl.c | 7407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/bluetooth/controller/ll/ctrl.h | 255 +++++
drivers/bluetooth/controller/ll/ctrl_internal.h | 239 +++++
drivers/bluetooth/controller/ll/ll.c | 295 ++++++
drivers/bluetooth/controller/ll/ll.h | 39 +
drivers/bluetooth/controller/ll/pdu.h | 260 +++++
drivers/bluetooth/controller/ll/ticker.c | 1538 ++++++++++++++++++++++++++++
drivers/bluetooth/controller/ll/ticker.h | 138 +++
drivers/bluetooth/controller/main.c | 400 ++++++++
drivers/bluetooth/controller/util/defines.h | 34 +
drivers/bluetooth/controller/util/mem.c | 196 ++++
drivers/bluetooth/controller/util/mem.h | 35 +
drivers/bluetooth/controller/util/memq.c | 96 ++
drivers/bluetooth/controller/util/memq.h | 25 +
drivers/bluetooth/controller/util/util.c | 134 +++
drivers/bluetooth/controller/util/util.h | 26 +
drivers/bluetooth/controller/util/work.c | 168 ++++
drivers/bluetooth/controller/util/work.h | 38 +
drivers/bluetooth/h5.c | 2 +-
drivers/bluetooth/nble/gatt.c | 5 +-
drivers/bluetooth/nble/gatt_internal.h | 6 +-
drivers/bluetooth/nble/uart.c | 10 +-
drivers/bluetooth/nrf51_pm.c | 6 +-
drivers/bluetooth/nrf51_pm.h | 4 +-
include/bluetooth/att.h | 18 +
include/bluetooth/gatt.h | 27 +-
include/bluetooth/hci.h | 653 ++++++++----
include/bluetooth/hci_raw.h | 64 ++
include/bluetooth/l2cap.h | 6 +-
include/bluetooth/rfcomm.h | 162 +++
include/bluetooth/uuid.h | 50 +
include/misc/byteorder.h | 15 +
net/bluetooth/Kconfig | 121 ++-
net/bluetooth/Makefile | 21 +-
net/bluetooth/att.c | 298 +++---
net/bluetooth/att_internal.h | 13 +-
net/bluetooth/conn.c | 50 +-
net/bluetooth/conn_internal.h | 16 +-
net/bluetooth/gatt.c | 60 +-
net/bluetooth/hci_core.c | 405 +++++---
net/bluetooth/hci_core.h | 18 +-
net/bluetooth/hci_ecc.c | 19 +-
net/bluetooth/hci_raw.c | 142 +++
net/bluetooth/keys.c | 96 +-
net/bluetooth/keys.h | 55 +-
net/bluetooth/keys_br.c | 85 ++
net/bluetooth/l2cap.c | 29 +-
net/bluetooth/l2cap_br.c | 431 +++++++-
net/bluetooth/l2cap_internal.h | 18 +-
net/bluetooth/monitor.c | 2 +
net/bluetooth/rfcomm.c | 728 ++++++++++++++
net/bluetooth/rfcomm_internal.h | 125 +++
net/bluetooth/smp.c | 241 ++++-
net/bluetooth/smp_null.c | 9 -
net/bluetooth/uuid.c | 10 +
samples/bluetooth/README | 5 +
samples/bluetooth/btusb/Makefile | 5 +
samples/bluetooth/btusb/prj.conf | 10 +
samples/bluetooth/btusb/src/Makefile | 3 +
samples/bluetooth/btusb/src/btusb.c | 725 ++++++++++++++
samples/bluetooth/btusb/testcase.ini | 5 +
samples/bluetooth/eddystone/src/main.c | 40 +-
samples/bluetooth/gatt/hog.c | 178 ++++
samples/bluetooth/gatt/hog.h | 21 +
samples/bluetooth/peripheral_hids/Makefile | 7 +
samples/bluetooth/peripheral_hids/prj.conf | 7 +
samples/bluetooth/peripheral_hids/prj.mdef | 5 +
samples/bluetooth/peripheral_hids/prj_nble.conf | 5 +
samples/bluetooth/peripheral_hids/src/Makefile | 4 +
samples/bluetooth/peripheral_hids/src/main.c | 155 +++
samples/bluetooth/peripheral_hids/testcase.ini | 19 +
tests/bluetooth/init/prj_controller.conf | 13 +
tests/bluetooth/init/prj_controller_dbg.conf | 25 +
tests/bluetooth/init/testcase.ini | 16 +
tests/bluetooth/shell/prj.conf | 3 +-
tests/bluetooth/shell/prj_br.conf | 18 +
tests/bluetooth/shell/src/main.c | 115 ++-
tests/bluetooth/shell/testcase.ini | 9 +
tests/bluetooth/tester/btp_spec.txt | 149 +++
tests/bluetooth/tester/prj.conf | 1 +
tests/bluetooth/tester/prj_nimble.conf | 1 +
tests/bluetooth/tester/src/Makefile | 4 +-
tests/bluetooth/tester/src/bttester.c | 9 +
tests/bluetooth/tester/src/bttester.h | 3 +
tests/bluetooth/tester/src/gatt.c | 9 +-
tests/bluetooth/tester/src/l2cap.c | 14 +
113 files changed, 19979 insertions(+), 860 deletions(-)
create mode 100644 drivers/bluetooth/controller/Kconfig
create mode 100644 drivers/bluetooth/controller/Makefile
create mode 100644 drivers/bluetooth/controller/hal/ccm.h
create mode 100644 drivers/bluetooth/controller/hal/clock.c
create mode 100644 drivers/bluetooth/controller/hal/clock.h
create mode 100644 drivers/bluetooth/controller/hal/cpu.h
create mode 100644 drivers/bluetooth/controller/hal/debug.h
create mode 100644 drivers/bluetooth/controller/hal/ecb.c
create mode 100644 drivers/bluetooth/controller/hal/ecb.h
create mode 100644 drivers/bluetooth/controller/hal/hal_irq.h
create mode 100644 drivers/bluetooth/controller/hal/hal_rtc.h
create mode 100644 drivers/bluetooth/controller/hal/hal_work.h
create mode 100644 drivers/bluetooth/controller/hal/irq.c
create mode 100644 drivers/bluetooth/controller/hal/radio.c
create mode 100644 drivers/bluetooth/controller/hal/radio.h
create mode 100644 drivers/bluetooth/controller/hal/rand.c
create mode 100644 drivers/bluetooth/controller/hal/rand.h
create mode 100644 drivers/bluetooth/controller/hal/rtc.c
create mode 100644 drivers/bluetooth/controller/hci/hci.c
create mode 100644 drivers/bluetooth/controller/hci/hci.h
create mode 100644 drivers/bluetooth/controller/ll/ctrl.c
create mode 100644 drivers/bluetooth/controller/ll/ctrl.h
create mode 100644 drivers/bluetooth/controller/ll/ctrl_internal.h
create mode 100644 drivers/bluetooth/controller/ll/ll.c
create mode 100644 drivers/bluetooth/controller/ll/ll.h
create mode 100644 drivers/bluetooth/controller/ll/pdu.h
create mode 100644 drivers/bluetooth/controller/ll/ticker.c
create mode 100644 drivers/bluetooth/controller/ll/ticker.h
create mode 100644 drivers/bluetooth/controller/main.c
create mode 100644 drivers/bluetooth/controller/util/defines.h
create mode 100644 drivers/bluetooth/controller/util/mem.c
create mode 100644 drivers/bluetooth/controller/util/mem.h
create mode 100644 drivers/bluetooth/controller/util/memq.c
create mode 100644 drivers/bluetooth/controller/util/memq.h
create mode 100644 drivers/bluetooth/controller/util/util.c
create mode 100644 drivers/bluetooth/controller/util/util.h
create mode 100644 drivers/bluetooth/controller/util/work.c
create mode 100644 drivers/bluetooth/controller/util/work.h
create mode 100644 include/bluetooth/hci_raw.h
create mode 100644 include/bluetooth/rfcomm.h
create mode 100644 net/bluetooth/hci_raw.c
create mode 100644 net/bluetooth/keys_br.c
create mode 100644 net/bluetooth/rfcomm.c
create mode 100644 net/bluetooth/rfcomm_internal.h
create mode 100644 samples/bluetooth/btusb/Makefile
create mode 100644 samples/bluetooth/btusb/prj.conf
create mode 100644 samples/bluetooth/btusb/src/Makefile
create mode 100644 samples/bluetooth/btusb/src/btusb.c
create mode 100644 samples/bluetooth/btusb/testcase.ini
create mode 100644 samples/bluetooth/gatt/hog.c
create mode 100644 samples/bluetooth/gatt/hog.h
create mode 100644 samples/bluetooth/peripheral_hids/Makefile
create mode 100644 samples/bluetooth/peripheral_hids/prj.conf
create mode 100644 samples/bluetooth/peripheral_hids/prj.mdef
create mode 100644 samples/bluetooth/peripheral_hids/prj_nble.conf
create mode 100644 samples/bluetooth/peripheral_hids/src/Makefile
create mode 100644 samples/bluetooth/peripheral_hids/src/main.c
create mode 100644 samples/bluetooth/peripheral_hids/testcase.ini
create mode 100644 tests/bluetooth/init/prj_controller.conf
create mode 100644 tests/bluetooth/init/prj_controller_dbg.conf
create mode 100644 tests/bluetooth/shell/prj_br.conf
Change-Id: I98253a11e4ca6953def3d7a764ca6aa60a7f29ff
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
|
||
|---|---|---|
| .. | ||
| benchmark | ||
| bluetooth | ||
| compliance | ||
| crypto | ||
| drivers/pinmux | ||
| include | ||
| kernel | ||
| net/buf | ||
| defaults.tc | ||