Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions doc/connectivity/bluetooth/api/hci.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Zephyr HCI Extensions

Check warning on line 1 in doc/connectivity/bluetooth/api/hci.txt

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

Copyright missing

doc/connectivity/bluetooth/api/hci.txt:1 File has no SPDX-FileCopyrightText header, consider adding one.

Check warning on line 1 in doc/connectivity/bluetooth/api/hci.txt

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

License missing

doc/connectivity/bluetooth/api/hci.txt:1 File has no SPDX-License-Identifier header, consider adding one.
*********************


Expand Down Expand Up @@ -1085,14 +1085,13 @@
| Event | Event Code | Event Parameters |
+-------------------------------+------------+-------------------------------+
| Fatal_Error | 0xFF | Subevent_Code, |
| | | Error_Data_Type, |
| | | Error_Data |
+-------------------------------+------------+-------------------------------+

The Error_Data_Type provides an information about what is the Error_Data size
and content.
The Subevent_Code provides an information about what is the Error_Data size and
content.

Error_Data_Type: Size: 1 Octet
Subevent_Code: Size: 1 Octet
+--------------------+--------------------------------------+
| Value | Parameter Description |
+--------------------+--------------------------------------+
Expand Down Expand Up @@ -1157,6 +1156,7 @@
| a4 | 4 octets | General purpose register |
| ip | 4 octets | Instruction pointer register |
| lr | 4 octets | Link register |
| pc | 4 octets | Program counter register |
| xpsr | 4 octets | Program status register |
+--------------------+--------------------------------------------+

Expand Down
5 changes: 4 additions & 1 deletion doc/releases/migration-guide-4.3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,13 @@ Bluetooth
Bluetooth Controller
====================

* The following Kconfig option have been renamed:
* The following have been renamed:

* :kconfig:option:`CONFIG_BT_CTRL_ADV_ADI_IN_SCAN_RSP` to
:kconfig:option:`CONFIG_BT_CTLR_ADV_ADI_IN_SCAN_RSP`
* :c:struct:`bt_hci_vs_fata_error_cpu_data_cortex_m` to
:c:struct:`bt_hci_vs_fatal_error_cpu_data_cortex_m` and now contains the program counter
value.

.. zephyr-keep-sorted-start re(^\w)

Expand Down
6 changes: 3 additions & 3 deletions include/zephyr/bluetooth/hci_vs.h
Original file line number Diff line number Diff line change
Expand Up @@ -222,20 +222,20 @@ struct bt_hci_evt_vs {
uint8_t subevent;
} __packed;

#define BT_HCI_EVT_VS_FATAL_ERROR 0x02

#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_STACK_FRAME 0x01
#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_CTRL_ASSERT 0x02
#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_TRACE 0x03
struct bt_hci_vs_fata_error_cpu_data_cortex_m {
struct bt_hci_vs_fatal_error_cpu_data_cortex_m {
uint32_t a1;
uint32_t a2;
uint32_t a3;
uint32_t a4;
uint32_t ip;
uint32_t lr;
uint32_t pc;
uint32_t xpsr;
} __packed;

#define BT_HCI_EVT_VS_ERROR_CPU_TYPE_CORTEX_M 0x01
struct bt_hci_vs_fatal_error_stack_frame {
uint32_t reason;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,9 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CONFIG_BT_MAX_CONN=16

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Disable unused Bluetooth features
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ CONFIG_BT_MAX_CONN=2

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,14 @@ CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_CBPRINTF_REDUCED_INTEGRAL=y

# Use link time optimization for code size reduction
CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
CONFIG_LTO=y

# Generate .lst file, to find HCI h/w error event given PC
CONFIG_OUTPUT_DISASSEMBLY=y
CONFIG_OUTPUT_DISASSEMBLY_WITH_SOURCE=y

CONFIG_BT=y
CONFIG_BT_HCI_RAW=y

Expand Down Expand Up @@ -53,8 +58,9 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# ISO Broadcast Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y
CONFIG_BT_CTLR_ADV_PERIODIC=y
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191
CONFIG_BT_CTLR_ADV_ISO=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=191

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ CONFIG_BT_PERIPHERAL=n

# ISO Receive Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y
CONFIG_BT_CTLR_SYNC_PERIODIC=y
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=191
CONFIG_BT_CTLR_SYNC_ISO=y
Expand Down
2 changes: 1 addition & 1 deletion samples/bluetooth/hci_ipc/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ CONFIG_BT=y
CONFIG_BT_HCI_RAW=y
CONFIG_BT_MAX_CONN=16

# Enable and adjust the below value as necessary
# Enable and adjust the below value as necessary to match Controller values
# CONFIG_BT_BUF_EVT_RX_COUNT=16
# CONFIG_BT_BUF_EVT_RX_SIZE=255
# CONFIG_BT_BUF_ACL_RX_SIZE=255
Expand Down
4 changes: 4 additions & 0 deletions samples/bluetooth/hci_ipc/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,10 @@ void bt_ctlr_assert_handle(char *file, uint32_t line)
LOG_PANIC();

while (true) {
k_cpu_idle();
};

CODE_UNREACHABLE;
}
#endif /* CONFIG_BT_CTLR_ASSERT_HANDLER */

Expand Down Expand Up @@ -338,6 +341,7 @@ void k_sys_fatal_error_handler(unsigned int reason, const struct arch_esf *esf)
LOG_PANIC();

while (true) {
k_cpu_idle();
};

CODE_UNREACHABLE;
Expand Down
22 changes: 18 additions & 4 deletions samples/bluetooth/hci_uart/overlay-all-bt_ll_sw_split.conf
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
CONFIG_BT_BUF_EVT_RX_COUNT=16
# Use link time optimization for code size reduction
CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
CONFIG_LTO=y

# Generate .lst file, to find HCI h/w error event given PC
CONFIG_OUTPUT_DISASSEMBLY=y
CONFIG_OUTPUT_DISASSEMBLY_WITH_SOURCE=y

CONFIG_BT=y
CONFIG_BT_HCI_RAW=y

# BT Buffers
CONFIG_BT_BUF_CMD_TX_SIZE=255
CONFIG_BT_BUF_EVT_RX_COUNT=16
CONFIG_BT_BUF_EVT_RX_SIZE=255
CONFIG_BT_BUF_ACL_RX_SIZE=255
CONFIG_BT_BUF_ACL_TX_COUNT=3
CONFIG_BT_BUF_ACL_TX_SIZE=251
CONFIG_BT_BUF_CMD_TX_SIZE=255
CONFIG_BT_BUF_ACL_RX_COUNT_EXTRA=1
CONFIG_BT_BUF_ACL_RX_SIZE=255

# Host and Controller common dependencies
CONFIG_BT_EXT_ADV=y
Expand All @@ -28,8 +41,9 @@ CONFIG_BT_ISO_RX_BUF_COUNT=1

# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_VS_FATAL_ERROR=y

# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
Expand Down
14 changes: 9 additions & 5 deletions samples/bluetooth/hci_uart/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@ CONFIG_UART_CONSOLE=n
CONFIG_GPIO=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512

CONFIG_BT=y
CONFIG_BT_HCI_RAW=y
CONFIG_BT_HCI_RAW_H4=y
CONFIG_BT_HCI_RAW_H4_ENABLE=y
CONFIG_BT_BUF_ACL_RX_SIZE=255
CONFIG_BT_BUF_CMD_TX_SIZE=255
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_MAX_CONN=16
CONFIG_BT_CTLR_DTM_HCI=y

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
# Enable and adjust the below value as necessary to match Controller values
# CONFIG_BT_BUF_EVT_RX_COUNT=16
# CONFIG_BT_BUF_EVT_RX_SIZE=255
# CONFIG_BT_BUF_ACL_RX_SIZE=255
# CONFIG_BT_BUF_ACL_TX_SIZE=251
# CONFIG_BT_BUF_CMD_TX_SIZE=255
Loading
Loading