9#ifndef ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   10#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   23#define BT_VS_CMD_BIT_VERSION                       0 
   24#define BT_VS_CMD_BIT_SUP_CMD                       1 
   25#define BT_VS_CMD_BIT_SUP_FEAT                      2 
   26#define BT_VS_CMD_BIT_SET_EVT_MASK                  3 
   27#define BT_VS_CMD_BIT_RESET                         4 
   28#define BT_VS_CMD_BIT_WRITE_BDADDR                  5 
   29#define BT_VS_CMD_BIT_SET_TRACE_ENABLE              6 
   30#define BT_VS_CMD_BIT_READ_BUILD_INFO               7 
   31#define BT_VS_CMD_BIT_READ_STATIC_ADDRS             8 
   32#define BT_VS_CMD_BIT_READ_KEY_ROOTS                9 
   33#define BT_VS_CMD_BIT_READ_CHIP_TEMP               10 
   34#define BT_VS_CMD_BIT_READ_HOST_STACK_CMD          11 
   35#define BT_VS_CMD_BIT_SET_SCAN_REP_ENABLE          12 
   36#define BT_VS_CMD_BIT_WRITE_TX_POWER               13 
   37#define BT_VS_CMD_BIT_READ_TX_POWER                14 
   39#define BT_VS_CMD_SUP_FEAT(cmd)                 BT_LE_FEAT_TEST(cmd, \ 
   40                                                BT_VS_CMD_BIT_SUP_FEAT) 
 
   41#define BT_VS_CMD_READ_STATIC_ADDRS(cmd)        BT_LE_FEAT_TEST(cmd, \ 
   42                                                BT_VS_CMD_BIT_READ_STATIC_ADDRS) 
 
   43#define BT_VS_CMD_READ_KEY_ROOTS(cmd)           BT_LE_FEAT_TEST(cmd, \ 
   44                                                BT_VS_CMD_BIT_READ_KEY_ROOTS) 
 
   46#define BT_HCI_VS_HW_PLAT_INTEL                 0x0001 
   47#define BT_HCI_VS_HW_PLAT_NORDIC                0x0002 
   48#define BT_HCI_VS_HW_PLAT_NXP                   0x0003 
   50#define BT_HCI_VS_HW_VAR_NORDIC_NRF51X          0x0001 
   51#define BT_HCI_VS_HW_VAR_NORDIC_NRF52X          0x0002 
   52#define BT_HCI_VS_HW_VAR_NORDIC_NRF53X          0x0003 
   53#define BT_HCI_VS_HW_VAR_NORDIC_NRF54HX         0x0004 
   54#define BT_HCI_VS_HW_VAR_NORDIC_NRF54LX         0x0005 
   56#define BT_HCI_VS_FW_VAR_STANDARD_CTLR          0x0001 
   57#define BT_HCI_VS_FW_VAR_VS_CTLR                0x0002 
   58#define BT_HCI_VS_FW_VAR_FW_LOADER              0x0003 
   59#define BT_HCI_VS_FW_VAR_RESCUE_IMG             0x0004 
   60#define BT_HCI_OP_VS_READ_VERSION_INFO          BT_OP(BT_OGF_VS, 0x0001) 
   71#define BT_HCI_OP_VS_READ_SUPPORTED_COMMANDS    BT_OP(BT_OGF_VS, 0x0002) 
   77#define BT_HCI_OP_VS_READ_SUPPORTED_FEATURES    BT_OP(BT_OGF_VS, 0x0003) 
   83#define BT_HCI_OP_VS_SET_EVENT_MASK             BT_OP(BT_OGF_VS, 0x0004) 
   88#define BT_HCI_VS_RESET_SOFT                    0x00 
   89#define BT_HCI_VS_RESET_HARD                    0x01 
   90#define BT_HCI_OP_VS_RESET                      BT_OP(BT_OGF_VS, 0x0005) 
   95#define BT_HCI_OP_VS_WRITE_BD_ADDR              BT_OP(BT_OGF_VS, 0x0006) 
  100#define BT_HCI_VS_TRACE_DISABLED                0x00 
  101#define BT_HCI_VS_TRACE_ENABLED                 0x01 
  103#define BT_HCI_VS_TRACE_HCI_EVTS                0x00 
  104#define BT_HCI_VS_TRACE_VDC                     0x01 
  105#define BT_HCI_OP_VS_SET_TRACE_ENABLE           BT_OP(BT_OGF_VS, 0x0007) 
  111#define BT_HCI_OP_VS_READ_BUILD_INFO            BT_OP(BT_OGF_VS, 0x0008) 
  122#define BT_HCI_OP_VS_READ_STATIC_ADDRS          BT_OP(BT_OGF_VS, 0x0009) 
  129#define BT_HCI_OP_VS_READ_KEY_HIERARCHY_ROOTS   BT_OP(BT_OGF_VS, 0x000a) 
  136#define BT_HCI_OP_VS_READ_CHIP_TEMP             BT_OP(BT_OGF_VS, 0x000b) 
  147#define BT_HCI_VS_VID_ANDROID                   0x0001 
  148#define BT_HCI_VS_VID_MICROSOFT                 0x0002 
  149#define BT_HCI_OP_VS_READ_HOST_STACK_CMDS       BT_OP(BT_OGF_VS, 0x000c) 
  156#define BT_HCI_VS_SCAN_REQ_REPORTS_DISABLED     0x00 
  157#define BT_HCI_VS_SCAN_REQ_REPORTS_ENABLED      0x01 
  158#define BT_HCI_OP_VS_SET_SCAN_REQ_REPORTS       BT_OP(BT_OGF_VS, 0x000d) 
  163#define BT_HCI_VS_LL_HANDLE_TYPE_ADV       0x00 
  164#define BT_HCI_VS_LL_HANDLE_TYPE_SCAN      0x01 
  165#define BT_HCI_VS_LL_HANDLE_TYPE_CONN      0x02 
  166#define BT_HCI_VS_LL_TX_POWER_LEVEL_NO_PREF     0x7F 
  167#define BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL       BT_OP(BT_OGF_VS, 0x000e) 
  181#define BT_HCI_OP_VS_READ_TX_POWER_LEVEL        BT_OP(BT_OGF_VS, 0x000f) 
  194#define BT_HCI_OP_VS_READ_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0010) 
  202#define BT_HCI_VS_USB_H2_MODE                  0x00 
  203#define BT_HCI_VS_USB_H4_MODE                  0x01 
  205#define BT_HCI_OP_VS_SET_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0011) 
  211#define BT_HCI_OP_VS_SET_MIN_NUM_USED_CHANS    BT_OP(BT_OGF_VS, 0x0012) 
  225#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_STACK_FRAME   0x01 
  226#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_CTRL_ASSERT   0x02 
  227#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_TRACE         0x03 
  239#define BT_HCI_EVT_VS_ERROR_CPU_TYPE_CORTEX_M  0x01 
  256#define BT_HCI_VS_TRACE_LMP_TX                 0x01 
  257#define BT_HCI_VS_TRACE_LMP_RX                 0x02 
  258#define BT_HCI_VS_TRACE_LLCP_TX                0x03 
  259#define BT_HCI_VS_TRACE_LLCP_RX                0x04 
  260#define BT_HCI_VS_TRACE_LE_CONN_IND            0x05 
  261#define BT_HCI_EVT_VS_TRACE_INFO               0x03 
  267#define BT_HCI_EVT_VS_SCAN_REQ_RX              0x04 
  278#define BT_HCI_EVT_VS_LE_CONNECTIONLESS_IQ_REPORT 0x5 
  279#define BT_HCI_VS_LE_CTE_REPORT_NO_VALID_SAMPLE   0x8000 
  293#define BT_HCI_EVT_VS_LE_CONNECTION_IQ_REPORT 0x6 
  310#define BT_EVT_MASK_VS_FATAL_ERROR             BT_EVT_BIT(1) 
  311#define BT_EVT_MASK_VS_TRACE_INFO              BT_EVT_BIT(2) 
  312#define BT_EVT_MASK_VS_SCAN_REQ_RX             BT_EVT_BIT(3) 
  313#define BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT BT_EVT_BIT(4) 
  314#define BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT     BT_EVT_BIT(5) 
  316#define DEFAULT_VS_EVT_MASK                                                                        \ 
  317        BT_EVT_MASK_VS_FATAL_ERROR | BT_EVT_MASK_VS_TRACE_INFO | BT_EVT_MASK_VS_SCAN_REQ_RX |      \ 
  318                BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT |                                       \ 
  319                BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT 
 
  322#define BT_HCI_MESH_REVISION                   0x01 
  324#define BT_HCI_OP_VS_MESH                      BT_OP(BT_OGF_VS, 0x0042) 
  325#define BT_HCI_MESH_EVT_PREFIX                 0xF0 
  331#define BT_HCI_OC_MESH_GET_OPTS                0x00 
  347#define BT_HCI_MESH_PATTERN_LEN_MAX            0x0f 
  349#define BT_HCI_OC_MESH_SET_SCAN_FILTER         0x01 
  367#define BT_HCI_OC_MESH_ADVERTISE               0x02 
  390#define BT_HCI_OC_MESH_ADVERTISE_TIMED         0x03 
  411#define BT_HCI_OC_MESH_ADVERTISE_CANCEL        0x04 
  421#define BT_HCI_OC_MESH_SET_SCANNING            0x05 
  438#define BT_HCI_EVT_MESH_ADV_COMPLETE           0x00 
  443#define BT_HCI_EVT_MESH_SCANNING_REPORT        0x01 
Bluetooth device address definitions and utilities.
struct net_buf * hci_vs_err_trace(const char *file, uint32_t line, uint64_t pc)
struct net_buf * hci_vs_err_stack_frame(unsigned int reason, const struct arch_esf *esf)
struct net_buf * hci_vs_err_assert(const char *file, uint32_t line)
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__INT8_TYPE__ int8_t
Definition stdint.h:72
__INT16_TYPE__ int16_t
Definition stdint.h:73
Exception Stack Frame.
Definition exception.h:60
Bluetooth LE Device Address.
Definition addr.h:49
Bluetooth Device Address.
Definition addr.h:40
uint8_t adv_slot
Definition hci_vs.h:413
uint16_t tx_window
Definition hci_vs.h:401
uint8_t retx_interval
Definition hci_vs.h:398
uint8_t data_len
Definition hci_vs.h:402
uint32_t instant
Definition hci_vs.h:399
uint8_t adv_slot
Definition hci_vs.h:392
uint8_t ch_map
Definition hci_vs.h:395
int8_t tx_power
Definition hci_vs.h:396
uint8_t data[31]
Definition hci_vs.h:403
bt_addr_t random_addr
Definition hci_vs.h:394
uint8_t retx_count
Definition hci_vs.h:397
uint8_t own_addr_type
Definition hci_vs.h:393
uint16_t tx_delay
Definition hci_vs.h:400
uint8_t scan_filter
Definition hci_vs.h:380
bt_addr_t random_addr
Definition hci_vs.h:371
uint8_t scan_delay
Definition hci_vs.h:378
uint8_t max_tx_delay
Definition hci_vs.h:375
uint8_t retx_interval
Definition hci_vs.h:377
uint8_t retx_count
Definition hci_vs.h:376
uint8_t data_len
Definition hci_vs.h:381
uint8_t min_tx_delay
Definition hci_vs.h:374
uint8_t own_addr_type
Definition hci_vs.h:370
uint8_t adv_slot
Definition hci_vs.h:369
uint8_t ch_map
Definition hci_vs.h:372
uint16_t scan_duration
Definition hci_vs.h:379
uint8_t data[31]
Definition hci_vs.h:382
int8_t tx_power
Definition hci_vs.h:373
uint8_t num_patterns
Definition hci_vs.h:358
uint8_t filter_dup
Definition hci_vs.h:357
struct bt_hci_mesh_pattern patterns[0]
Definition hci_vs.h:359
uint8_t scan_filter
Definition hci_vs.h:356
uint8_t ch_map
Definition hci_vs.h:424
uint8_t scan_filter
Definition hci_vs.h:425
uint8_t enable
Definition hci_vs.h:423
uint8_t opcode
Definition hci_vs.h:328
uint16_t handle
Definition hci_vs.h:184
uint8_t handle_type
Definition hci_vs.h:183
uint8_t type
Definition hci_vs.h:92
uint8_t event_mask[8]
Definition hci_vs.h:85
uint8_t min_used_chans
Definition hci_vs.h:216
uint8_t phys
Definition hci_vs.h:215
uint16_t handle
Definition hci_vs.h:214
uint8_t enable
Definition hci_vs.h:160
uint8_t type
Definition hci_vs.h:108
uint8_t enable
Definition hci_vs.h:107
uint8_t mode
Definition hci_vs.h:208
bt_addr_t bdaddr
Definition hci_vs.h:97
uint8_t handle_type
Definition hci_vs.h:169
int8_t tx_power_level
Definition hci_vs.h:171
uint16_t handle
Definition hci_vs.h:170
uint8_t adv_slot
Definition hci_vs.h:440
bt_addr_le_t addr
Definition hci_vs.h:445
uint8_t data_len
Definition hci_vs.h:449
uint8_t chan
Definition hci_vs.h:446
uint8_t data[0]
Definition hci_vs.h:450
uint32_t instant
Definition hci_vs.h:448
int8_t rssi
Definition hci_vs.h:447
uint8_t num_reports
Definition hci_vs.h:453
struct bt_hci_evt_mesh_scan_report reports[0]
Definition hci_vs.h:454
uint8_t prefix
Definition hci_vs.h:434
uint8_t subevent
Definition hci_vs.h:435
uint64_t pc
Definition hci_vs.h:247
uint8_t err_info[0]
Definition hci_vs.h:248
uint8_t type
Definition hci_vs.h:252
uint8_t data[0]
Definition hci_vs.h:253
uint8_t rssi_ant_id
Definition hci_vs.h:299
uint8_t slot_durations
Definition hci_vs.h:301
int16_t rssi
Definition hci_vs.h:298
uint16_t conn_handle
Definition hci_vs.h:295
uint8_t rx_phy
Definition hci_vs.h:296
uint8_t packet_status
Definition hci_vs.h:302
uint16_t conn_evt_counter
Definition hci_vs.h:303
uint8_t sample_count
Definition hci_vs.h:304
struct bt_hci_le_iq_sample16 sample[0]
Definition hci_vs.h:305
uint8_t cte_type
Definition hci_vs.h:300
uint8_t data_chan_idx
Definition hci_vs.h:297
struct bt_hci_le_iq_sample16 sample[0]
Definition hci_vs.h:290
uint8_t sample_count
Definition hci_vs.h:289
uint8_t rssi_ant_id
Definition hci_vs.h:284
uint8_t cte_type
Definition hci_vs.h:285
int16_t rssi
Definition hci_vs.h:283
uint16_t sync_handle
Definition hci_vs.h:281
uint16_t per_evt_counter
Definition hci_vs.h:288
uint8_t slot_durations
Definition hci_vs.h:286
uint8_t chan_idx
Definition hci_vs.h:282
uint8_t packet_status
Definition hci_vs.h:287
bt_addr_le_t addr
Definition hci_vs.h:269
int8_t rssi
Definition hci_vs.h:270
uint8_t data[0]
Definition hci_vs.h:264
uint8_t type
Definition hci_vs.h:263
uint8_t subevent
Definition hci_vs.h:222
int16_t q
Definition hci_vs.h:275
int16_t i
Definition hci_vs.h:274
uint8_t pattern_len
Definition hci_vs.h:351
uint8_t pattern[0]
Definition hci_vs.h:352
uint8_t opcode
Definition hci_vs.h:417
uint8_t status
Definition hci_vs.h:416
uint8_t adv_slot
Definition hci_vs.h:418
uint8_t opcode
Definition hci_vs.h:407
uint8_t adv_slot
Definition hci_vs.h:408
uint8_t status
Definition hci_vs.h:406
uint8_t adv_slot
Definition hci_vs.h:387
uint8_t status
Definition hci_vs.h:385
uint8_t opcode
Definition hci_vs.h:386
uint8_t ch_map
Definition hci_vs.h:336
uint8_t max_adv_slot
Definition hci_vs.h:341
uint8_t max_filter_pattern
Definition hci_vs.h:340
uint8_t opcode
Definition hci_vs.h:334
uint8_t max_tx_window
Definition hci_vs.h:342
uint8_t status
Definition hci_vs.h:333
uint8_t max_scan_filter
Definition hci_vs.h:339
int8_t min_tx_power
Definition hci_vs.h:337
uint8_t revision
Definition hci_vs.h:335
int8_t max_tx_power
Definition hci_vs.h:338
uint8_t evt_prefix
Definition hci_vs.h:344
uint8_t evt_prefix_len
Definition hci_vs.h:343
uint8_t opcode
Definition hci_vs.h:363
uint8_t status
Definition hci_vs.h:362
uint8_t scan_filter
Definition hci_vs.h:364
uint8_t opcode
Definition hci_vs.h:429
uint8_t status
Definition hci_vs.h:428
uint8_t info[0]
Definition hci_vs.h:114
uint8_t status
Definition hci_vs.h:113
int8_t temps
Definition hci_vs.h:139
uint8_t status
Definition hci_vs.h:138
struct bt_hci_vs_cmd c[0]
Definition hci_vs.h:153
uint8_t status
Definition hci_vs.h:151
uint8_t num_cmds
Definition hci_vs.h:152
uint8_t status
Definition hci_vs.h:131
uint8_t ir[16]
Definition hci_vs.h:132
uint8_t er[16]
Definition hci_vs.h:133
uint8_t num_addrs
Definition hci_vs.h:125
uint8_t status
Definition hci_vs.h:124
struct bt_hci_vs_static_addr a[0]
Definition hci_vs.h:126
uint8_t commands[64]
Definition hci_vs.h:74
uint8_t status
Definition hci_vs.h:73
uint8_t features[8]
Definition hci_vs.h:80
uint8_t status
Definition hci_vs.h:79
uint8_t handle_type
Definition hci_vs.h:189
int8_t tx_power_level
Definition hci_vs.h:191
uint16_t handle
Definition hci_vs.h:190
uint8_t status
Definition hci_vs.h:188
uint8_t num_supported_modes
Definition hci_vs.h:198
uint8_t status
Definition hci_vs.h:197
uint8_t supported_mode[0]
Definition hci_vs.h:199
uint8_t fw_version
Definition hci_vs.h:66
uint8_t fw_variant
Definition hci_vs.h:65
uint32_t fw_build
Definition hci_vs.h:68
uint16_t fw_revision
Definition hci_vs.h:67
uint8_t status
Definition hci_vs.h:62
uint16_t hw_platform
Definition hci_vs.h:63
uint16_t hw_variant
Definition hci_vs.h:64
uint8_t handle_type
Definition hci_vs.h:176
uint8_t status
Definition hci_vs.h:175
int8_t selected_tx_power
Definition hci_vs.h:178
uint16_t handle
Definition hci_vs.h:177
uint16_t opcode_base
Definition hci_vs.h:144
uint16_t vendor_id
Definition hci_vs.h:143
uint32_t ip
Definition hci_vs.h:233
uint32_t a1
Definition hci_vs.h:229
uint32_t pc
Definition hci_vs.h:235
uint32_t lr
Definition hci_vs.h:234
uint32_t a3
Definition hci_vs.h:231
uint32_t xpsr
Definition hci_vs.h:236
uint32_t a4
Definition hci_vs.h:232
uint32_t a2
Definition hci_vs.h:230
uint8_t cpu_type
Definition hci_vs.h:242
uint8_t cpu_data[0]
Definition hci_vs.h:243
uint32_t reason
Definition hci_vs.h:241
bt_addr_t bdaddr
Definition hci_vs.h:118
uint8_t ir[16]
Definition hci_vs.h:119
Network buffer representation.
Definition net_buf.h:1006