9#ifndef ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   10#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_VS_H_ 
   20#define BT_VS_CMD_BIT_VERSION                       0 
   21#define BT_VS_CMD_BIT_SUP_CMD                       1 
   22#define BT_VS_CMD_BIT_SUP_FEAT                      2 
   23#define BT_VS_CMD_BIT_SET_EVT_MASK                  3 
   24#define BT_VS_CMD_BIT_RESET                         4 
   25#define BT_VS_CMD_BIT_WRITE_BDADDR                  5 
   26#define BT_VS_CMD_BIT_SET_TRACE_ENABLE              6 
   27#define BT_VS_CMD_BIT_READ_BUILD_INFO               7 
   28#define BT_VS_CMD_BIT_READ_STATIC_ADDRS             8 
   29#define BT_VS_CMD_BIT_READ_KEY_ROOTS                9 
   30#define BT_VS_CMD_BIT_READ_CHIP_TEMP               10 
   31#define BT_VS_CMD_BIT_READ_HOST_STACK_CMD          11 
   32#define BT_VS_CMD_BIT_SET_SCAN_REP_ENABLE          12 
   33#define BT_VS_CMD_BIT_WRITE_TX_POWER               13 
   34#define BT_VS_CMD_BIT_READ_TX_POWER                14 
   36#define BT_VS_CMD_SUP_FEAT(cmd)                 BT_LE_FEAT_TEST(cmd, \ 
   37                                                BT_VS_CMD_BIT_SUP_FEAT) 
   38#define BT_VS_CMD_READ_STATIC_ADDRS(cmd)        BT_LE_FEAT_TEST(cmd, \ 
   39                                                BT_VS_CMD_BIT_READ_STATIC_ADDRS) 
   40#define BT_VS_CMD_READ_KEY_ROOTS(cmd)           BT_LE_FEAT_TEST(cmd, \ 
   41                                                BT_VS_CMD_BIT_READ_KEY_ROOTS) 
   43#define BT_HCI_VS_HW_PLAT_INTEL                 0x0001 
   44#define BT_HCI_VS_HW_PLAT_NORDIC                0x0002 
   45#define BT_HCI_VS_HW_PLAT_NXP                   0x0003 
   47#define BT_HCI_VS_HW_VAR_NORDIC_NRF51X          0x0001 
   48#define BT_HCI_VS_HW_VAR_NORDIC_NRF52X          0x0002 
   49#define BT_HCI_VS_HW_VAR_NORDIC_NRF53X          0x0003 
   51#define BT_HCI_VS_FW_VAR_STANDARD_CTLR          0x0001 
   52#define BT_HCI_VS_FW_VAR_VS_CTLR                0x0002 
   53#define BT_HCI_VS_FW_VAR_FW_LOADER              0x0003 
   54#define BT_HCI_VS_FW_VAR_RESCUE_IMG             0x0004 
   55#define BT_HCI_OP_VS_READ_VERSION_INFO          BT_OP(BT_OGF_VS, 0x0001) 
   66#define BT_HCI_OP_VS_READ_SUPPORTED_COMMANDS    BT_OP(BT_OGF_VS, 0x0002) 
   72#define BT_HCI_OP_VS_READ_SUPPORTED_FEATURES    BT_OP(BT_OGF_VS, 0x0003) 
   78#define BT_HCI_OP_VS_SET_EVENT_MASK             BT_OP(BT_OGF_VS, 0x0004) 
   83#define BT_HCI_VS_RESET_SOFT                    0x00 
   84#define BT_HCI_VS_RESET_HARD                    0x01 
   85#define BT_HCI_OP_VS_RESET                      BT_OP(BT_OGF_VS, 0x0005) 
   90#define BT_HCI_OP_VS_WRITE_BD_ADDR              BT_OP(BT_OGF_VS, 0x0006) 
   95#define BT_HCI_VS_TRACE_DISABLED                0x00 
   96#define BT_HCI_VS_TRACE_ENABLED                 0x01 
   98#define BT_HCI_VS_TRACE_HCI_EVTS                0x00 
   99#define BT_HCI_VS_TRACE_VDC                     0x01 
  100#define BT_HCI_OP_VS_SET_TRACE_ENABLE           BT_OP(BT_OGF_VS, 0x0007) 
  106#define BT_HCI_OP_VS_READ_BUILD_INFO            BT_OP(BT_OGF_VS, 0x0008) 
  117#define BT_HCI_OP_VS_READ_STATIC_ADDRS          BT_OP(BT_OGF_VS, 0x0009) 
  124#define BT_HCI_OP_VS_READ_KEY_HIERARCHY_ROOTS   BT_OP(BT_OGF_VS, 0x000a) 
  131#define BT_HCI_OP_VS_READ_CHIP_TEMP             BT_OP(BT_OGF_VS, 0x000b) 
  142#define BT_HCI_VS_VID_ANDROID                   0x0001 
  143#define BT_HCI_VS_VID_MICROSOFT                 0x0002 
  144#define BT_HCI_OP_VS_READ_HOST_STACK_CMDS       BT_OP(BT_OGF_VS, 0x000c) 
  151#define BT_HCI_VS_SCAN_REQ_REPORTS_DISABLED     0x00 
  152#define BT_HCI_VS_SCAN_REQ_REPORTS_ENABLED      0x01 
  153#define BT_HCI_OP_VS_SET_SCAN_REQ_REPORTS       BT_OP(BT_OGF_VS, 0x000d) 
  158#define BT_HCI_VS_LL_HANDLE_TYPE_ADV       0x00 
  159#define BT_HCI_VS_LL_HANDLE_TYPE_SCAN      0x01 
  160#define BT_HCI_VS_LL_HANDLE_TYPE_CONN      0x02 
  161#define BT_HCI_VS_LL_TX_POWER_LEVEL_NO_PREF     0x7F 
  162#define BT_HCI_OP_VS_WRITE_TX_POWER_LEVEL       BT_OP(BT_OGF_VS, 0x000e) 
  176#define BT_HCI_OP_VS_READ_TX_POWER_LEVEL        BT_OP(BT_OGF_VS, 0x000f) 
  189#define BT_HCI_OP_VS_READ_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0010) 
  197#define BT_HCI_VS_USB_H2_MODE                  0x00 
  198#define BT_HCI_VS_USB_H4_MODE                  0x01 
  200#define BT_HCI_OP_VS_SET_USB_TRANSPORT_MODE    BT_OP(BT_OGF_VS, 0x0011) 
  206#define BT_HCI_OP_VS_SET_MIN_NUM_USED_CHANS    BT_OP(BT_OGF_VS, 0x0012) 
  220#define BT_HCI_EVT_VS_FATAL_ERROR              0x02 
  222#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_STACK_FRAME   0x01 
  223#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_CTRL_ASSERT   0x02 
  224#define BT_HCI_EVT_VS_ERROR_DATA_TYPE_TRACE         0x03 
  234#define BT_HCI_EVT_VS_ERROR_CPU_TYPE_CORTEX_M  0x01 
  251#define BT_HCI_VS_TRACE_LMP_TX                 0x01 
  252#define BT_HCI_VS_TRACE_LMP_RX                 0x02 
  253#define BT_HCI_VS_TRACE_LLCP_TX                0x03 
  254#define BT_HCI_VS_TRACE_LLCP_RX                0x04 
  255#define BT_HCI_VS_TRACE_LE_CONN_IND            0x05 
  256#define BT_HCI_EVT_VS_TRACE_INFO               0x03 
  262#define BT_HCI_EVT_VS_SCAN_REQ_RX              0x04 
  273#define BT_HCI_EVT_VS_LE_CONNECTIONLESS_IQ_REPORT 0x5 
  274#define BT_HCI_VS_LE_CTE_REPORT_NO_VALID_SAMPLE   0x8000 
  288#define BT_HCI_EVT_VS_LE_CONNECTION_IQ_REPORT 0x6 
  305#define BT_EVT_MASK_VS_FATAL_ERROR             BT_EVT_BIT(1) 
  306#define BT_EVT_MASK_VS_TRACE_INFO              BT_EVT_BIT(2) 
  307#define BT_EVT_MASK_VS_SCAN_REQ_RX             BT_EVT_BIT(3) 
  308#define BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT BT_EVT_BIT(4) 
  309#define BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT     BT_EVT_BIT(5) 
  311#define DEFAULT_VS_EVT_MASK                                                                        \ 
  312        BT_EVT_MASK_VS_FATAL_ERROR | BT_EVT_MASK_VS_TRACE_INFO | BT_EVT_MASK_VS_SCAN_REQ_RX |      \ 
  313                BT_EVT_MASK_VS_LE_CONNECTIONLESS_IQ_REPORT |                                       \ 
  314                BT_EVT_MASK_VS_LE_CONNECTION_IQ_REPORT 
  317#define BT_HCI_MESH_REVISION                   0x01 
  319#define BT_HCI_OP_VS_MESH                      BT_OP(BT_OGF_VS, 0x0042) 
  320#define BT_HCI_MESH_EVT_PREFIX                 0xF0 
  326#define BT_HCI_OC_MESH_GET_OPTS                0x00 
  342#define BT_HCI_MESH_PATTERN_LEN_MAX            0x0f 
  344#define BT_HCI_OC_MESH_SET_SCAN_FILTER         0x01 
  362#define BT_HCI_OC_MESH_ADVERTISE               0x02 
  385#define BT_HCI_OC_MESH_ADVERTISE_TIMED         0x03 
  406#define BT_HCI_OC_MESH_ADVERTISE_CANCEL        0x04 
  416#define BT_HCI_OC_MESH_SET_SCANNING            0x05 
  433#define BT_HCI_EVT_MESH_ADV_COMPLETE           0x00 
  438#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:408
 
uint16_t tx_window
Definition: hci_vs.h:396
 
uint8_t retx_interval
Definition: hci_vs.h:393
 
uint8_t data_len
Definition: hci_vs.h:397
 
uint32_t instant
Definition: hci_vs.h:394
 
uint8_t adv_slot
Definition: hci_vs.h:387
 
uint8_t ch_map
Definition: hci_vs.h:390
 
int8_t tx_power
Definition: hci_vs.h:391
 
uint8_t data[31]
Definition: hci_vs.h:398
 
bt_addr_t random_addr
Definition: hci_vs.h:389
 
uint8_t retx_count
Definition: hci_vs.h:392
 
uint8_t own_addr_type
Definition: hci_vs.h:388
 
uint16_t tx_delay
Definition: hci_vs.h:395
 
uint8_t scan_filter
Definition: hci_vs.h:375
 
bt_addr_t random_addr
Definition: hci_vs.h:366
 
uint8_t scan_delay
Definition: hci_vs.h:373
 
uint8_t max_tx_delay
Definition: hci_vs.h:370
 
uint8_t retx_interval
Definition: hci_vs.h:372
 
uint8_t retx_count
Definition: hci_vs.h:371
 
uint8_t data_len
Definition: hci_vs.h:376
 
uint8_t min_tx_delay
Definition: hci_vs.h:369
 
uint8_t own_addr_type
Definition: hci_vs.h:365
 
uint8_t adv_slot
Definition: hci_vs.h:364
 
uint8_t ch_map
Definition: hci_vs.h:367
 
uint16_t scan_duration
Definition: hci_vs.h:374
 
uint8_t data[31]
Definition: hci_vs.h:377
 
int8_t tx_power
Definition: hci_vs.h:368
 
uint8_t num_patterns
Definition: hci_vs.h:353
 
uint8_t filter_dup
Definition: hci_vs.h:352
 
struct bt_hci_mesh_pattern patterns[0]
Definition: hci_vs.h:354
 
uint8_t scan_filter
Definition: hci_vs.h:351
 
uint8_t ch_map
Definition: hci_vs.h:419
 
uint8_t scan_filter
Definition: hci_vs.h:420
 
uint8_t enable
Definition: hci_vs.h:418
 
uint8_t opcode
Definition: hci_vs.h:323
 
uint16_t handle
Definition: hci_vs.h:179
 
uint8_t handle_type
Definition: hci_vs.h:178
 
uint8_t type
Definition: hci_vs.h:87
 
uint8_t event_mask[8]
Definition: hci_vs.h:80
 
uint8_t min_used_chans
Definition: hci_vs.h:211
 
uint8_t phys
Definition: hci_vs.h:210
 
uint16_t handle
Definition: hci_vs.h:209
 
uint8_t enable
Definition: hci_vs.h:155
 
uint8_t type
Definition: hci_vs.h:103
 
uint8_t enable
Definition: hci_vs.h:102
 
uint8_t mode
Definition: hci_vs.h:203
 
bt_addr_t bdaddr
Definition: hci_vs.h:92
 
uint8_t handle_type
Definition: hci_vs.h:164
 
int8_t tx_power_level
Definition: hci_vs.h:166
 
uint16_t handle
Definition: hci_vs.h:165
 
uint8_t adv_slot
Definition: hci_vs.h:435
 
bt_addr_le_t addr
Definition: hci_vs.h:440
 
uint8_t data_len
Definition: hci_vs.h:444
 
uint8_t chan
Definition: hci_vs.h:441
 
uint8_t data[0]
Definition: hci_vs.h:445
 
uint32_t instant
Definition: hci_vs.h:443
 
int8_t rssi
Definition: hci_vs.h:442
 
uint8_t num_reports
Definition: hci_vs.h:448
 
struct bt_hci_evt_mesh_scan_report reports[0]
Definition: hci_vs.h:449
 
uint8_t prefix
Definition: hci_vs.h:429
 
uint8_t subevent
Definition: hci_vs.h:430
 
uint64_t pc
Definition: hci_vs.h:242
 
uint8_t err_info[0]
Definition: hci_vs.h:243
 
uint8_t type
Definition: hci_vs.h:247
 
uint8_t data[0]
Definition: hci_vs.h:248
 
uint8_t rssi_ant_id
Definition: hci_vs.h:294
 
uint8_t slot_durations
Definition: hci_vs.h:296
 
int16_t rssi
Definition: hci_vs.h:293
 
uint16_t conn_handle
Definition: hci_vs.h:290
 
uint8_t rx_phy
Definition: hci_vs.h:291
 
uint8_t packet_status
Definition: hci_vs.h:297
 
uint16_t conn_evt_counter
Definition: hci_vs.h:298
 
uint8_t sample_count
Definition: hci_vs.h:299
 
struct bt_hci_le_iq_sample16 sample[0]
Definition: hci_vs.h:300
 
uint8_t cte_type
Definition: hci_vs.h:295
 
uint8_t data_chan_idx
Definition: hci_vs.h:292
 
struct bt_hci_le_iq_sample16 sample[0]
Definition: hci_vs.h:285
 
uint8_t sample_count
Definition: hci_vs.h:284
 
uint8_t rssi_ant_id
Definition: hci_vs.h:279
 
uint8_t cte_type
Definition: hci_vs.h:280
 
int16_t rssi
Definition: hci_vs.h:278
 
uint16_t sync_handle
Definition: hci_vs.h:276
 
uint16_t per_evt_counter
Definition: hci_vs.h:283
 
uint8_t slot_durations
Definition: hci_vs.h:281
 
uint8_t chan_idx
Definition: hci_vs.h:277
 
uint8_t packet_status
Definition: hci_vs.h:282
 
bt_addr_le_t addr
Definition: hci_vs.h:264
 
int8_t rssi
Definition: hci_vs.h:265
 
uint8_t data[0]
Definition: hci_vs.h:259
 
uint8_t type
Definition: hci_vs.h:258
 
uint8_t subevent
Definition: hci_vs.h:217
 
int16_t q
Definition: hci_vs.h:270
 
int16_t i
Definition: hci_vs.h:269
 
uint8_t pattern_len
Definition: hci_vs.h:346
 
uint8_t pattern[0]
Definition: hci_vs.h:347
 
uint8_t opcode
Definition: hci_vs.h:412
 
uint8_t status
Definition: hci_vs.h:411
 
uint8_t adv_slot
Definition: hci_vs.h:413
 
uint8_t opcode
Definition: hci_vs.h:402
 
uint8_t adv_slot
Definition: hci_vs.h:403
 
uint8_t status
Definition: hci_vs.h:401
 
uint8_t adv_slot
Definition: hci_vs.h:382
 
uint8_t status
Definition: hci_vs.h:380
 
uint8_t opcode
Definition: hci_vs.h:381
 
uint8_t ch_map
Definition: hci_vs.h:331
 
uint8_t max_adv_slot
Definition: hci_vs.h:336
 
uint8_t max_filter_pattern
Definition: hci_vs.h:335
 
uint8_t opcode
Definition: hci_vs.h:329
 
uint8_t max_tx_window
Definition: hci_vs.h:337
 
uint8_t status
Definition: hci_vs.h:328
 
uint8_t max_scan_filter
Definition: hci_vs.h:334
 
int8_t min_tx_power
Definition: hci_vs.h:332
 
uint8_t revision
Definition: hci_vs.h:330
 
int8_t max_tx_power
Definition: hci_vs.h:333
 
uint8_t evt_prefix
Definition: hci_vs.h:339
 
uint8_t evt_prefix_len
Definition: hci_vs.h:338
 
uint8_t opcode
Definition: hci_vs.h:358
 
uint8_t status
Definition: hci_vs.h:357
 
uint8_t scan_filter
Definition: hci_vs.h:359
 
uint8_t opcode
Definition: hci_vs.h:424
 
uint8_t status
Definition: hci_vs.h:423
 
uint8_t info[0]
Definition: hci_vs.h:109
 
uint8_t status
Definition: hci_vs.h:108
 
int8_t temps
Definition: hci_vs.h:134
 
uint8_t status
Definition: hci_vs.h:133
 
struct bt_hci_vs_cmd c[0]
Definition: hci_vs.h:148
 
uint8_t status
Definition: hci_vs.h:146
 
uint8_t num_cmds
Definition: hci_vs.h:147
 
uint8_t status
Definition: hci_vs.h:126
 
uint8_t ir[16]
Definition: hci_vs.h:127
 
uint8_t er[16]
Definition: hci_vs.h:128
 
uint8_t num_addrs
Definition: hci_vs.h:120
 
uint8_t status
Definition: hci_vs.h:119
 
struct bt_hci_vs_static_addr a[0]
Definition: hci_vs.h:121
 
uint8_t commands[64]
Definition: hci_vs.h:69
 
uint8_t status
Definition: hci_vs.h:68
 
uint8_t features[8]
Definition: hci_vs.h:75
 
uint8_t status
Definition: hci_vs.h:74
 
uint8_t handle_type
Definition: hci_vs.h:184
 
int8_t tx_power_level
Definition: hci_vs.h:186
 
uint16_t handle
Definition: hci_vs.h:185
 
uint8_t status
Definition: hci_vs.h:183
 
uint8_t num_supported_modes
Definition: hci_vs.h:193
 
uint8_t status
Definition: hci_vs.h:192
 
uint8_t supported_mode[0]
Definition: hci_vs.h:194
 
uint8_t fw_version
Definition: hci_vs.h:61
 
uint8_t fw_variant
Definition: hci_vs.h:60
 
uint32_t fw_build
Definition: hci_vs.h:63
 
uint16_t fw_revision
Definition: hci_vs.h:62
 
uint8_t status
Definition: hci_vs.h:57
 
uint16_t hw_platform
Definition: hci_vs.h:58
 
uint16_t hw_variant
Definition: hci_vs.h:59
 
uint8_t handle_type
Definition: hci_vs.h:171
 
uint8_t status
Definition: hci_vs.h:170
 
int8_t selected_tx_power
Definition: hci_vs.h:173
 
uint16_t handle
Definition: hci_vs.h:172
 
uint16_t opcode_base
Definition: hci_vs.h:139
 
uint16_t vendor_id
Definition: hci_vs.h:138
 
uint32_t ip
Definition: hci_vs.h:230
 
uint32_t a4
Definition: hci_vs.h:229
 
uint32_t a3
Definition: hci_vs.h:228
 
uint32_t xpsr
Definition: hci_vs.h:232
 
uint32_t a2
Definition: hci_vs.h:227
 
uint32_t lr
Definition: hci_vs.h:231
 
uint32_t a1
Definition: hci_vs.h:226
 
uint8_t cpu_type
Definition: hci_vs.h:237
 
uint8_t cpu_data[0]
Definition: hci_vs.h:238
 
uint32_t reason
Definition: hci_vs.h:236
 
bt_addr_t bdaddr
Definition: hci_vs.h:113
 
uint8_t ir[16]
Definition: hci_vs.h:114
 
Network buffer representation.
Definition: buf.h:906