9#ifndef ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   10#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   18#define BT_VS_CMD_BIT_VERSION                       0 
   19#define BT_VS_CMD_BIT_SUP_CMD                       1 
   20#define BT_VS_CMD_BIT_SUP_FEAT                      2 
   21#define BT_VS_CMD_BIT_SET_EVT_MASK                  3 
   22#define BT_VS_CMD_BIT_RESET                         4 
   23#define BT_VS_CMD_BIT_WRITE_BDADDR                  5 
   24#define BT_VS_CMD_BIT_SET_TRACE_ENABLE              6 
   25#define BT_VS_CMD_BIT_READ_BUILD_INFO               7 
   26#define BT_VS_CMD_BIT_READ_STATIC_ADDRS             8 
   27#define BT_VS_CMD_BIT_READ_KEY_ROOTS                9 
   28#define BT_VS_CMD_BIT_READ_CHIP_TEMP               10 
   29#define BT_VS_CMD_BIT_READ_HOST_STACK_CMD          11 
   30#define BT_VS_CMD_BIT_SET_SCAN_REP_ENABLE          12 
   31#define BT_VS_CMD_BIT_WRITE_TX_POWER               13 
   32#define BT_VS_CMD_BIT_READ_TX_POWER                14 
   34#define BT_VS_CMD_SUP_FEAT(cmd)                 BT_LE_FEAT_TEST(cmd, \ 
   35                                                BT_VS_CMD_BIT_SUP_FEAT) 
   36#define BT_VS_CMD_READ_STATIC_ADDRS(cmd)        BT_LE_FEAT_TEST(cmd, \ 
   37                                                BT_VS_CMD_BIT_READ_STATIC_ADDRS) 
   38#define BT_VS_CMD_READ_KEY_ROOTS(cmd)           BT_LE_FEAT_TEST(cmd, \ 
   39                                                BT_VS_CMD_BIT_READ_KEY_ROOTS) 
   41#define BT_HCI_VS_HW_PLAT_INTEL                 0x0001 
   42#define BT_HCI_VS_HW_PLAT_NORDIC                0x0002 
   43#define BT_HCI_VS_HW_PLAT_NXP                   0x0003 
   45#define BT_HCI_VS_HW_VAR_NORDIC_NRF51X          0x0001 
   46#define BT_HCI_VS_HW_VAR_NORDIC_NRF52X          0x0002 
   47#define BT_HCI_VS_HW_VAR_NORDIC_NRF53X          0x0003 
   49#define BT_HCI_VS_FW_VAR_STANDARD_CTLR          0x0001 
   50#define BT_HCI_VS_FW_VAR_VS_CTLR                0x0002 
   51#define BT_HCI_VS_FW_VAR_FW_LOADER              0x0003 
   52#define BT_HCI_VS_FW_VAR_RESCUE_IMG             0x0004 
   53#define BT_HCI_OP_VS_READ_VERSION_INFO          BT_OP(BT_OGF_VS, 0x0001) 
   64#define BT_HCI_OP_VS_READ_SUPPORTED_COMMANDS    BT_OP(BT_OGF_VS, 0x0002) 
   70#define BT_HCI_OP_VS_READ_SUPPORTED_FEATURES    BT_OP(BT_OGF_VS, 0x0003) 
   76#define BT_HCI_OP_VS_SET_EVENT_MASK             BT_OP(BT_OGF_VS, 0x0004) 
   81#define BT_HCI_VS_RESET_SOFT                    0x00 
   82#define BT_HCI_VS_RESET_HARD                    0x01 
   83#define BT_HCI_OP_VS_RESET                      BT_OP(BT_OGF_VS, 0x0005) 
   88#define BT_HCI_OP_VS_WRITE_BD_ADDR              BT_OP(BT_OGF_VS, 0x0006) 
   93#define BT_HCI_VS_TRACE_DISABLED                0x00 
   94#define BT_HCI_VS_TRACE_ENABLED                 0x01 
   96#define BT_HCI_VS_TRACE_HCI_EVTS                0x00 
   97#define BT_HCI_VS_TRACE_VDC                     0x01 
   98#define BT_HCI_OP_VS_SET_TRACE_ENABLE           BT_OP(BT_OGF_VS, 0x0007) 
  104#define BT_HCI_OP_VS_READ_BUILD_INFO            BT_OP(BT_OGF_VS, 0x0008) 
  115#define BT_HCI_OP_VS_READ_STATIC_ADDRS          BT_OP(BT_OGF_VS, 0x0009) 
  122#define BT_HCI_OP_VS_READ_KEY_HIERARCHY_ROOTS   BT_OP(BT_OGF_VS, 0x000a) 
  129#define BT_HCI_OP_VS_READ_CHIP_TEMP             BT_OP(BT_OGF_VS, 0x000b) 
  140#define BT_HCI_VS_VID_ANDROID                   0x0001 
  141#define BT_HCI_VS_VID_MICROSOFT                 0x0002 
  142#define BT_HCI_OP_VS_READ_HOST_STACK_CMDS       BT_OP(BT_OGF_VS, 0x000c) 
  149#define BT_HCI_VS_SCAN_REQ_REPORTS_DISABLED     0x00 
  150#define BT_HCI_VS_SCAN_REQ_REPORTS_ENABLED      0x01 
  151#define BT_HCI_OP_VS_SET_SCAN_REQ_REPORTS       BT_OP(BT_OGF_VS, 0x000d) 
  156#define BT_HCI_VS_LL_HANDLE_TYPE_ADV       0x00 
  157#define BT_HCI_VS_LL_HANDLE_TYPE_SCAN      0x01 
  158#define BT_HCI_VS_LL_HANDLE_TYPE_CONN      0x02 
  159#define BT_HCI_VS_LL_TX_POWER_LEVEL_NO_PREF     0x7F 
  160#define BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL       BT_OP(BT_OGF_VS, 0x000e) 
  174#define BT_HCI_OP_VS_READ_TX_POWER_LEVEL        BT_OP(BT_OGF_VS, 0x000f) 
  187#define BT_HCI_OP_VS_READ_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0010) 
  195#define BT_HCI_VS_USB_H2_MODE                  0x00 
  196#define BT_HCI_VS_USB_H4_MODE                  0x01 
  198#define BT_HCI_OP_VS_SET_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0011) 
  204#define BT_HCI_OP_VS_SET_MIN_NUM_USED_CHANS    BT_OP(BT_OGF_VS, 0x0012) 
  218#define BT_HCI_EVT_VS_FATAL_ERROR              0x02 
  220#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_STACK_FRAME   0x01 
  221#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_CTRL_ASSERT   0x02 
  222#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_TRACE         0x03 
  232#define BT_HCI_EVT_VS_ERROR_CPU_TYPE_CORTEX_M  0x01 
  249#define BT_HCI_VS_TRACE_LMP_TX                 0x01 
  250#define BT_HCI_VS_TRACE_LMP_RX                 0x02 
  251#define BT_HCI_VS_TRACE_LLCP_TX                0x03 
  252#define BT_HCI_VS_TRACE_LLCP_RX                0x04 
  253#define BT_HCI_VS_TRACE_LE_CONN_IND            0x05 
  254#define BT_HCI_EVT_VS_TRACE_INFO               0x03 
  260#define BT_HCI_EVT_VS_SCAN_REQ_RX              0x04 
  271#define BT_HCI_EVT_VS_LE_CONNECTIONLESS_IQ_REPORT 0x5 
  272#define BT_HCI_VS_LE_CTE_REPORT_NO_VALID_SAMPLE   0x8000 
  286#define BT_HCI_EVT_VS_LE_CONNECTION_IQ_REPORT 0x6 
  303#define BT_EVT_MASK_VS_FATAL_ERROR             BT_EVT_BIT(1) 
  304#define BT_EVT_MASK_VS_TRACE_INFO              BT_EVT_BIT(2) 
  305#define BT_EVT_MASK_VS_SCAN_REQ_RX             BT_EVT_BIT(3) 
  306#define BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT BT_EVT_BIT(4) 
  307#define BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT     BT_EVT_BIT(5) 
  309#define DEFAULT_VS_EVT_MASK                                                                        \ 
  310        BT_EVT_MASK_VS_FATAL_ERROR | BT_EVT_MASK_VS_TRACE_INFO | BT_EVT_MASK_VS_SCAN_REQ_RX |      \ 
  311                BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT |                                       \ 
  312                BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT 
  315#define BT_HCI_MESH_REVISION                   0x01 
  317#define BT_HCI_OP_VS_MESH                      BT_OP(BT_OGF_VS, 0x0042) 
  318#define BT_HCI_MESH_EVT_PREFIX                 0xF0 
  324#define BT_HCI_OC_MESH_GET_OPTS                0x00 
  340#define BT_HCI_MESH_PATTERN_LEN_MAX            0x0f 
  342#define BT_HCI_OC_MESH_SET_SCAN_FILTER         0x01 
  360#define BT_HCI_OC_MESH_ADVERTISE               0x02 
  383#define BT_HCI_OC_MESH_ADVERTISE_TIMED         0x03 
  404#define BT_HCI_OC_MESH_ADVERTISE_CANCEL        0x04 
  414#define BT_HCI_OC_MESH_SET_SCANNING            0x05 
  431#define BT_HCI_EVT_MESH_ADV_COMPLETE           0x00 
  436#define BT_HCI_EVT_MESH_SCANNING_REPORT        0x01 
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 z_arch_esf_t *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
 
uint8_t adv_slot
Definition: hci_vs.h:406
 
uint16_t tx_window
Definition: hci_vs.h:394
 
uint8_t retx_interval
Definition: hci_vs.h:391
 
uint8_t data_len
Definition: hci_vs.h:395
 
uint32_t instant
Definition: hci_vs.h:392
 
uint8_t adv_slot
Definition: hci_vs.h:385
 
uint8_t ch_map
Definition: hci_vs.h:388
 
int8_t tx_power
Definition: hci_vs.h:389
 
uint8_t data[31]
Definition: hci_vs.h:396
 
bt_addr_t random_addr
Definition: hci_vs.h:387
 
uint8_t retx_count
Definition: hci_vs.h:390
 
uint8_t own_addr_type
Definition: hci_vs.h:386
 
uint16_t tx_delay
Definition: hci_vs.h:393
 
uint8_t scan_filter
Definition: hci_vs.h:373
 
bt_addr_t random_addr
Definition: hci_vs.h:364
 
uint8_t scan_delay
Definition: hci_vs.h:371
 
uint8_t max_tx_delay
Definition: hci_vs.h:368
 
uint8_t retx_interval
Definition: hci_vs.h:370
 
uint8_t retx_count
Definition: hci_vs.h:369
 
uint8_t data_len
Definition: hci_vs.h:374
 
uint8_t min_tx_delay
Definition: hci_vs.h:367
 
uint8_t own_addr_type
Definition: hci_vs.h:363
 
uint8_t adv_slot
Definition: hci_vs.h:362
 
uint8_t ch_map
Definition: hci_vs.h:365
 
uint16_t scan_duration
Definition: hci_vs.h:372
 
uint8_t data[31]
Definition: hci_vs.h:375
 
int8_t tx_power
Definition: hci_vs.h:366
 
uint8_t num_patterns
Definition: hci_vs.h:351
 
uint8_t filter_dup
Definition: hci_vs.h:350
 
struct bt_hci_mesh_pattern patterns[0]
Definition: hci_vs.h:352
 
uint8_t scan_filter
Definition: hci_vs.h:349
 
uint8_t ch_map
Definition: hci_vs.h:417
 
uint8_t scan_filter
Definition: hci_vs.h:418
 
uint8_t enable
Definition: hci_vs.h:416
 
uint8_t opcode
Definition: hci_vs.h:321
 
uint16_t handle
Definition: hci_vs.h:177
 
uint8_t handle_type
Definition: hci_vs.h:176
 
uint8_t type
Definition: hci_vs.h:85
 
uint8_t event_mask[8]
Definition: hci_vs.h:78
 
uint8_t min_used_chans
Definition: hci_vs.h:209
 
uint8_t phys
Definition: hci_vs.h:208
 
uint16_t handle
Definition: hci_vs.h:207
 
uint8_t enable
Definition: hci_vs.h:153
 
uint8_t type
Definition: hci_vs.h:101
 
uint8_t enable
Definition: hci_vs.h:100
 
uint8_t mode
Definition: hci_vs.h:201
 
bt_addr_t bdaddr
Definition: hci_vs.h:90
 
uint8_t handle_type
Definition: hci_vs.h:162
 
int8_t tx_power_level
Definition: hci_vs.h:164
 
uint16_t handle
Definition: hci_vs.h:163
 
uint8_t adv_slot
Definition: hci_vs.h:433
 
bt_addr_le_t addr
Definition: hci_vs.h:438
 
uint8_t data_len
Definition: hci_vs.h:442
 
uint8_t chan
Definition: hci_vs.h:439
 
uint8_t data[0]
Definition: hci_vs.h:443
 
uint32_t instant
Definition: hci_vs.h:441
 
int8_t rssi
Definition: hci_vs.h:440
 
uint8_t num_reports
Definition: hci_vs.h:446
 
struct bt_hci_evt_mesh_scan_report reports[0]
Definition: hci_vs.h:447
 
uint8_t prefix
Definition: hci_vs.h:427
 
uint8_t subevent
Definition: hci_vs.h:428
 
uint64_t pc
Definition: hci_vs.h:240
 
uint8_t err_info[0]
Definition: hci_vs.h:241
 
uint8_t type
Definition: hci_vs.h:245
 
uint8_t data[0]
Definition: hci_vs.h:246
 
uint8_t rssi_ant_id
Definition: hci_vs.h:292
 
uint8_t slot_durations
Definition: hci_vs.h:294
 
int16_t rssi
Definition: hci_vs.h:291
 
uint16_t conn_handle
Definition: hci_vs.h:288
 
uint8_t rx_phy
Definition: hci_vs.h:289
 
uint8_t packet_status
Definition: hci_vs.h:295
 
uint16_t conn_evt_counter
Definition: hci_vs.h:296
 
uint8_t sample_count
Definition: hci_vs.h:297
 
struct bt_hci_le_iq_sample16 sample[0]
Definition: hci_vs.h:298
 
uint8_t cte_type
Definition: hci_vs.h:293
 
uint8_t data_chan_idx
Definition: hci_vs.h:290
 
struct bt_hci_le_iq_sample16 sample[0]
Definition: hci_vs.h:283
 
uint8_t sample_count
Definition: hci_vs.h:282
 
uint8_t rssi_ant_id
Definition: hci_vs.h:277
 
uint8_t cte_type
Definition: hci_vs.h:278
 
int16_t rssi
Definition: hci_vs.h:276
 
uint16_t sync_handle
Definition: hci_vs.h:274
 
uint16_t per_evt_counter
Definition: hci_vs.h:281
 
uint8_t slot_durations
Definition: hci_vs.h:279
 
uint8_t chan_idx
Definition: hci_vs.h:275
 
uint8_t packet_status
Definition: hci_vs.h:280
 
bt_addr_le_t addr
Definition: hci_vs.h:262
 
int8_t rssi
Definition: hci_vs.h:263
 
uint8_t data[0]
Definition: hci_vs.h:257
 
uint8_t type
Definition: hci_vs.h:256
 
uint8_t subevent
Definition: hci_vs.h:215
 
int16_t q
Definition: hci_vs.h:268
 
int16_t i
Definition: hci_vs.h:267
 
uint8_t pattern_len
Definition: hci_vs.h:344
 
uint8_t pattern[0]
Definition: hci_vs.h:345
 
uint8_t opcode
Definition: hci_vs.h:410
 
uint8_t status
Definition: hci_vs.h:409
 
uint8_t adv_slot
Definition: hci_vs.h:411
 
uint8_t opcode
Definition: hci_vs.h:400
 
uint8_t adv_slot
Definition: hci_vs.h:401
 
uint8_t status
Definition: hci_vs.h:399
 
uint8_t adv_slot
Definition: hci_vs.h:380
 
uint8_t status
Definition: hci_vs.h:378
 
uint8_t opcode
Definition: hci_vs.h:379
 
uint8_t ch_map
Definition: hci_vs.h:329
 
uint8_t max_adv_slot
Definition: hci_vs.h:334
 
uint8_t max_filter_pattern
Definition: hci_vs.h:333
 
uint8_t opcode
Definition: hci_vs.h:327
 
uint8_t max_tx_window
Definition: hci_vs.h:335
 
uint8_t status
Definition: hci_vs.h:326
 
uint8_t max_scan_filter
Definition: hci_vs.h:332
 
int8_t min_tx_power
Definition: hci_vs.h:330
 
uint8_t revision
Definition: hci_vs.h:328
 
int8_t max_tx_power
Definition: hci_vs.h:331
 
uint8_t evt_prefix
Definition: hci_vs.h:337
 
uint8_t evt_prefix_len
Definition: hci_vs.h:336
 
uint8_t opcode
Definition: hci_vs.h:356
 
uint8_t status
Definition: hci_vs.h:355
 
uint8_t scan_filter
Definition: hci_vs.h:357
 
uint8_t opcode
Definition: hci_vs.h:422
 
uint8_t status
Definition: hci_vs.h:421
 
uint8_t info[0]
Definition: hci_vs.h:107
 
uint8_t status
Definition: hci_vs.h:106
 
int8_t temps
Definition: hci_vs.h:132
 
uint8_t status
Definition: hci_vs.h:131
 
struct bt_hci_vs_cmd c[0]
Definition: hci_vs.h:146
 
uint8_t status
Definition: hci_vs.h:144
 
uint8_t num_cmds
Definition: hci_vs.h:145
 
uint8_t status
Definition: hci_vs.h:124
 
uint8_t ir[16]
Definition: hci_vs.h:125
 
uint8_t er[16]
Definition: hci_vs.h:126
 
uint8_t num_addrs
Definition: hci_vs.h:118
 
uint8_t status
Definition: hci_vs.h:117
 
struct bt_hci_vs_static_addr a[0]
Definition: hci_vs.h:119
 
uint8_t commands[64]
Definition: hci_vs.h:67
 
uint8_t status
Definition: hci_vs.h:66
 
uint8_t features[8]
Definition: hci_vs.h:73
 
uint8_t status
Definition: hci_vs.h:72
 
uint8_t handle_type
Definition: hci_vs.h:182
 
int8_t tx_power_level
Definition: hci_vs.h:184
 
uint16_t handle
Definition: hci_vs.h:183
 
uint8_t status
Definition: hci_vs.h:181
 
uint8_t num_supported_modes
Definition: hci_vs.h:191
 
uint8_t status
Definition: hci_vs.h:190
 
uint8_t supported_mode[0]
Definition: hci_vs.h:192
 
uint8_t fw_version
Definition: hci_vs.h:59
 
uint8_t fw_variant
Definition: hci_vs.h:58
 
uint32_t fw_build
Definition: hci_vs.h:61
 
uint16_t fw_revision
Definition: hci_vs.h:60
 
uint8_t status
Definition: hci_vs.h:55
 
uint16_t hw_platform
Definition: hci_vs.h:56
 
uint16_t hw_variant
Definition: hci_vs.h:57
 
uint8_t handle_type
Definition: hci_vs.h:169
 
uint8_t status
Definition: hci_vs.h:168
 
int8_t selected_tx_power
Definition: hci_vs.h:171
 
uint16_t handle
Definition: hci_vs.h:170
 
uint16_t opcode_base
Definition: hci_vs.h:137
 
uint16_t vendor_id
Definition: hci_vs.h:136
 
uint32_t ip
Definition: hci_vs.h:228
 
uint32_t a4
Definition: hci_vs.h:227
 
uint32_t a3
Definition: hci_vs.h:226
 
uint32_t xpsr
Definition: hci_vs.h:230
 
uint32_t a2
Definition: hci_vs.h:225
 
uint32_t lr
Definition: hci_vs.h:229
 
uint32_t a1
Definition: hci_vs.h:224
 
uint8_t cpu_type
Definition: hci_vs.h:235
 
uint8_t cpu_data[0]
Definition: hci_vs.h:236
 
uint32_t reason
Definition: hci_vs.h:234
 
bt_addr_t bdaddr
Definition: hci_vs.h:111
 
uint8_t ir[16]
Definition: hci_vs.h:112
 
Network buffer representation.
Definition: buf.h:905