10 #define _HCI_AIROHA_H_ 13 #include "hci_constant.h" 19 typedef uint8_t SYS_MODE;
20 #define SYS_MODE_DEVICE ((SYS_MODE)1 << 0) 21 #define SYS_MODE_CONTROLLER ((SYS_MODE)1 << 1) 22 #define SYS_MODE_ENGINEERING ((SYS_MODE)1 << 2) 23 #define SYS_MODE_AIR_UPDATE ((SYS_MODE)1 << 3) 25 typedef uint16_t SYS_BOOT_REASON;
26 #define SYS_BOOT_NORMALLY ((SYS_BOOT_REASON)0) 27 #define SYS_BOOT_ENCOUNTER_PMU_FORCE_SIGNAL ((SYS_BOOT_REASON)1 << 0) 28 #define SYS_BOOT_ENCOUNTER_SDA_IS_LOW ((SYS_BOOT_REASON)1 << 1) 29 #define SYS_BOOT_ENCOUNTER_UNKNOWN_FLASH ((SYS_BOOT_REASON)1 << 2) 30 #define SYS_BOOT_ENCOUNTER_BAD_FLASH_CODE ((SYS_BOOT_REASON)1 << 3) 31 #define SYS_BOOT_ENCOUNTER_WATCH_DOG_RST ((SYS_BOOT_REASON)1 << 4) 32 #define SYS_BOOT_ENCOUNTER_DEEP_SLEEP ((SYS_BOOT_REASON)1 << 5) 34 #define SYS_BOOT_ENCOUNTER_SOFTWARE_RST ((SYS_BOOT_REASON)1 << 7) 36 typedef union union_sys_boot_reason
39 struct stru_sys_boot_reason
41 bool EncounterPmuForceSignal : 1;
42 bool EncounterSdaIsLow : 1;
43 bool EncounterUnknownFlash : 1;
44 bool EncounterBadFlashCode : 1;
45 bool EncounterWatchdogRst : 1;
46 bool EncounterDeepSleep : 1;
47 bool EncounterIceIsActive : 1;
48 bool EncounterSoftwareRst : 1;
51 bool reserved_b10 : 1;
52 bool reserved_b11 : 1;
53 bool reserved_b12 : 1;
54 bool reserved_b13 : 1;
55 bool reserved_b14 : 1;
56 bool reserved_b15 : 1;
59 } SYS_BOOT_REASON_UNION;
61 typedef uint8_t SYS_POWER_LV;
62 #define SYS_POWER_MODE_ACTIVE ((SYS_POWER_LV)0) 63 #define SYS_POWER_MODE_FROZEN ((SYS_POWER_LV)1) 64 #define SYS_POWER_MODE_SLEEP ((SYS_POWER_LV)2) 65 #define SYS_POWER_MODE_DEEP_SLEEP ((SYS_POWER_LV)3) 66 #define SYS_POWER_MODE_SHUTDOWN ((SYS_POWER_LV)4) 72 #define HCI_CMDCODE_VENDOR HCI_COMBINED_OPCODE(HCI_CMD_OGF_AIROHA_VENDOR,HCI_CMD_OCF_AIROHA_VENDOR) 78 #define HCI_EVENT_VENDOR_EVENT ((HCI_EVTCODE)0xFF) 81 __pragma(pack(push, 1))
82 #define __attribute__(x) 88 typedef struct stru_hci_vendor_command_opcode_stru
92 } __attribute__((packed)) HCI_VCMD_OPCODE_STRU;
99 typedef uint8_t HCI_VOGF;
105 typedef uint8_t INFO_TYPE;
106 #define AIRO_INFO_TYPE_ROM_VERSION (INFO_TYPE)0x01 107 #define AIRO_INFO_TYPE_BOOT_STATUS (INFO_TYPE)0x81 108 #define AIRO_INFO_TYPE_FLASH_INFO (INFO_TYPE)0x82 109 #define AIRO_INFO_TYPE_POWER_LEVEL (INFO_TYPE)0x83 116 #define HCI_CMD_OGF_AIROHA_AUDIO (HCI_CMD_OGF)0x3D 117 #define HCI_CMD_OGF_AIROHA_MMI (HCI_CMD_OGF)0x3E 118 #define HCI_CMD_OGF_AIROHA_VENDOR (HCI_CMD_OGF)0x3F 125 #define HCI_CMD_OCF_AIROHA_VENDOR (HCI_CMD_OCF)0x00 128 typedef uint16_t HCI_VOPCODE;
129 #define HCI_COMBINED_VOPCODE(vogf,vocf) (((HCI_VOPCODE)(vogf)<<8)|(HCI_VOPCODE)(vocf)) 136 #define HCI_EVT_AIROHA_VENDOR (HCI_EVTCODE)0xFF 139 typedef uint8_t HCI_VEVT_OCF;
144 #define HCI_VEVT_OCF_COMMAMD_COMPLETE (HCI_VEVT_OCF)0x01 145 #define HCI_VEVT_OCF_BOOT_STATUS (HCI_VEVT_OCF)0x02 150 #define HCI_VEVT_OCF_BTX_REPORT (HCI_VEVT_OCF)0x01 151 #define HCI_VEVT_OCF_CRX_REPORT (HCI_VEVT_OCF)0x02 152 #define HCI_VEVT_OCF_BRX_REPORT (HCI_VEVT_OCF)0x03 153 #define HCI_VEVT_OCF_BER_REPORT (HCI_VEVT_OCF)0x04 154 #define HCI_VEVT_OCF_CALIBRATION_4V2_DAC_TEST_REPORT (HCI_VEVT_OCF)0x05 155 #define HCI_VEVT_OCF_DBG_PRINT (HCI_VEVT_OCF)0xFE 160 #define HCI_VEVT_OCF_CHANNEL_ASSESSMENT_REPORT (HCI_VEVT_OCF)0x01 165 #define HCI_VEVT_OCF_GATT_PROC_END (HCI_VEVT_OCF)0x01 166 #define HCI_VEVT_OCF_GATT_PROC_ERROR (HCI_VEVT_OCF)0x02 167 #define HCI_VEVT_OCF_GATT_GET_ATT_UUID (HCI_VEVT_OCF)0x03 168 #define HCI_VEVT_OCF_GATT_GET_ATT_VALUE (HCI_VEVT_OCF)0x04 169 #define HCI_VEVT_OCF_GATT_GET_ATT_PART_VALUE (HCI_VEVT_OCF)0x05 170 #define HCI_VEVT_OCF_GATT_GET_ATT_PACK_VALUE (HCI_VEVT_OCF)0x06 174 #define HCI_VEVT_OGF_MMI_GROUP (HCI_VOGF)0x00 175 #define HCI_VEVT_OGF_GENERAL_GROUP (HCI_VOGF)0x30 176 #define HCI_VEVT_OGF_LABTEST_GROUP (HCI_VOGF)0x31 177 #define HCI_VEVT_OGF_SYSTEM_PROMPT (HCI_VOGF)0x32 178 #define HCI_VEVT_OGF_AUDIO_GROUP (HCI_VOGF)0x04 179 #define HCI_VEVT_OGF_GATT_EVENT_GROUP (HCI_VOGF)0x33 185 #define HCI_VEVTCODE_COMMAMD_COMPLETE HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_GENERAL_GROUP,HCI_VEVT_OCF_COMMAMD_COMPLETE) 186 #define HCI_VEVTCODE_BOOT_STATUS HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_GENERAL_GROUP,HCI_VEVT_OCF_BOOT_STATUS) 189 #define HCI_VEVTCODE_BTX_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_LABTEST_GROUP,HCI_VEVT_OCF_BTX_REPORT) 190 #define HCI_VEVTCODE_CRX_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_LABTEST_GROUP,HCI_VEVT_OCF_CRX_REPORT) 191 #define HCI_VEVTCODE_BRX_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_LABTEST_GROUP,HCI_VEVT_OCF_BRX_REPORT) 192 #define HCI_VEVTCODE_BER_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_LABTEST_GROUP,HCI_VEVT_OCF_BER_REPORT) 193 #define HCI_VEVTCODE_CALIBRATION_4V2_DAC_TEST_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_LABTEST_GROUP,HCI_VEVT_OCF_CALIBRATION_4V2_DAC_TEST_REPORT) 196 #define HCI_VEVTCODE_CHANNEL_ASSESSMENT_REPORT HCI_COMBINED_VOPCODE(HCI_VEVT_OGF_SYSTEM_PROMPT,HCI_VEVT_OCF_CHANNEL_ASSESSMENT_REPORT) 203 typedef uint8_t HCI_VCMD_OCF;
205 #define HCI_VCMD_OCF_GENERAL_POWER_LEVEL_CONTROL (HCI_VCMD_OCF)0x01 206 #define HCI_VCMD_OCF_GENERAL_READ_STATUS (HCI_VCMD_OCF)0x02 207 #define HCI_VCMD_OCF_GENERAL_MODE_CHANGED (HCI_VCMD_OCF)0x03 208 #define HCI_VCMD_OCF_GENERAL_SOFTWARE_RESET (HCI_VCMD_OCF)0x04 211 #define HCI_VCMD_OCF_LABTEST_START (HCI_VCMD_OCF)0x01 212 #define HCI_VCMD_OCF_LABTEST_PAUSE (HCI_VCMD_OCF)0x02 213 #define HCI_VCMD_OCF_LABTEST_ENTER_TEST_MODE (HCI_VCMD_OCF)0x03 214 #define HCI_VCMD_OCF_LABTEST_REPORT_RATE_SETUP (HCI_VCMD_OCF)0x04 215 #define HCI_VCMD_OCF_LABTEST_SINGLE_TONE_SETUP (HCI_VCMD_OCF)0x05 216 #define HCI_VCMD_OCF_LABTEST_CTX_DATA (HCI_VCMD_OCF)0x06 217 #define HCI_VCMD_OCF_LABTEST_BTX_PACKET (HCI_VCMD_OCF)0x07 218 #define HCI_VCMD_OCF_LABTEST_CRX_START (HCI_VCMD_OCF)0x08 219 #define HCI_VCMD_OCF_LABTEST_BRX_PACKET (HCI_VCMD_OCF)0x09 220 #define HCI_VCMD_OCF_LABTEST_CONFIG_UAP_AND_LAP (HCI_VCMD_OCF)0x0A 221 #define HCI_VCMD_OCF_LABTEST_CONFIG_TX_IQ_FREQUENCY (HCI_VCMD_OCF)0x0B 222 #define HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_SFR (HCI_VCMD_OCF)0x0C 223 #define HCI_VCMD_OCF_LABTEST_CONFIG_READ_SFR (HCI_VCMD_OCF)0x0D 224 #define HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_XDATA (HCI_VCMD_OCF)0x0E 225 #define HCI_VCMD_OCF_LABTEST_CONFIG_READ_XDATA (HCI_VCMD_OCF)0x0F 226 #define HCI_VCMD_OCF_LABTEST_WRITE_THREE_WIRED (HCI_VCMD_OCF)0x10 227 #define HCI_VCMD_OCF_LABTEST_READ_THREE_WIRED (HCI_VCMD_OCF)0x11 228 #define HCI_VCMD_OCF_LABTEST_CONTINUOUS_WRITE_SFR_3WIRED (HCI_VCMD_OCF)0x12 229 #define HCI_VCMD_OCF_LABTEST_READ_ADC0 (HCI_VCMD_OCF)0x13 230 #define HCI_VCMD_OCF_LABTEST_CHARGER_BAND_GAP_CALIBRATION (HCI_VCMD_OCF)0x14 231 #define HCI_VCMD_OCF_LABTEST_CHARGER_CAL_4V2_DAC_TEST (HCI_VCMD_OCF)0x15 232 #define HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_CSR (HCI_VCMD_OCF)0x16 233 #define HCI_VCMD_OCF_LABTEST_CONFIG_READ_CSR (HCI_VCMD_OCF)0x17 234 #define HCI_VCMD_OCF_LABTEST_CONTINUOUS_WRITE_3WIRED (HCI_VCMD_OCF)0x18 235 #define HCI_VCMD_OCF_LABTEST_READ_SAR_ADC (HCI_VCMD_OCF)0x19 236 #define HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_BD_ADDR (HCI_VCMD_OCF)0x1A 237 #define HCI_VCMD_OCF_LABTEST_LE_RECEIVER_TEST (HCI_VCMD_OCF)0x1B 238 #define HCI_VCMD_OCF_LABTEST_LE_TRANSMITTER_TEST (HCI_VCMD_OCF)0x1C 239 #define HCI_VCMD_OCF_LABTEST_LE_TRX_END (HCI_VCMD_OCF)0x1D 240 #define HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_CSR_FOUR_BYTE_ADDRESS (HCI_VCMD_OCF)0x1E 241 #define HCI_VCMD_OCF_LABTEST_CONFIG_READ_CSR_FOUR_BYTE_ADDRESS (HCI_VCMD_OCF)0x1F 242 #define HCI_VCMD_OCF_LABTEST_ENTER_RELAY_MODE (HCI_VCMD_OCF)0x20 245 #define HCI_VCMD_OCF_SYSTEM_PROMPT_CHANNEL_ASSESSMENT_CTRL (HCI_VCMD_OCF)0x01 248 #define HCI_VCMD_OCF_ISP_DEVICE_SATUS (HCI_VCMD_OCF) 0x00 251 #define HCI_CMD_OCF_AUDIO_SWITCH (HCI_CMD_OCF)0x0101 256 #define HCI_VCMD_OGF_MMI_GROUP (HCI_VOGF)0x00 257 #define HCI_VCMD_OGF_GENERAL_GROUP (HCI_VOGF)0x30 258 #define HCI_VCMD_OGF_LABTEST_GROUP (HCI_VOGF)0x31 259 #define HCI_VCMD_OGF_SYSTEM_PROMPT_GROUP (HCI_VOGF)0x32 260 #define HCI_VCMD_OGF_APPLICATION_GROUP (HCI_VOGF)0x33 261 #define HCI_VCMD_OGF_0x34_GROUP (HCI_VOGF)0x34 262 #define HCI_VCMD_OGF_ISP_GROUP (HCI_VOGF)0x35 263 #define HCI_VCMD_OGF_AUDIO_GROUP (HCI_VOGF)0x06 269 #define HCI_VCMDCODE_GENERAL_POWER_LEVEL_CONTROL HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_GENERAL_GROUP,HCI_VCMD_OCF_GENERAL_POWER_LEVEL_CONTROL) 270 #define HCI_VCMDCODE_GENERAL_READ_STATUS HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_GENERAL_GROUP,HCI_VCMD_OCF_GENERAL_READ_STATUS) 271 #define HCI_VCMDCODE_GENERAL_MODE_CHANGED HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_GENERAL_GROUP,HCI_VCMD_OCF_GENERAL_MODE_CHANGED) 272 #define HCI_VCMDCODE_GENERAL_SOFTWARE_RESET HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_GENERAL_GROUP,HCI_VCMD_OCF_GENERAL_SOFTWARE_RESET) 276 #define HCI_VCMDCODE_LABTEST_START HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_START) 277 #define HCI_VCMDCODE_LABTEST_PAUSE HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_PAUSE) 278 #define HCI_VCMDCODE_LABTEST_ENTER_TEST_MODE HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_ENTER_TEST_MODE) 279 #define HCI_VCMDCODE_LABTEST_REPORT_RATE_SETUP HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_REPORT_RATE_SETUP) 280 #define HCI_VCMDCODE_LABTEST_SINGLE_TONE_SETUP HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_SINGLE_TONE_SETUP) 281 #define HCI_VCMDCODE_LABTEST_CTX_DATA HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CTX_DATA) 282 #define HCI_VCMDCODE_LABTEST_BTX_PACKET HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_BTX_PACKET) 283 #define HCI_VCMDCODE_LABTEST_CRX_START HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CRX_START) 284 #define HCI_VCMDCODE_LABTEST_BRX_PACKET HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_BRX_PACKET) 285 #define HCI_VCMDCODE_LABTEST_CONFIG_UAP_AND_LAP HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_UAP_AND_LAP) 286 #define HCI_VCMDCODE_LABTEST_CONFIG_TX_IQ_FREQUENCY HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_TX_IQ_FREQUENCY) 287 #define HCI_VCMDCODE_LABTEST_CONFIG_WRITE_SFR HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_SFR) 288 #define HCI_VCMDCODE_LABTEST_CONFIG_READ_SFR HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_READ_SFR) 289 #define HCI_VCMDCODE_LABTEST_CONFIG_WRITE_XDATA HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_XDATA) 290 #define HCI_VCMDCODE_LABTEST_CONFIG_READ_XDATA HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_READ_XDATA) 291 #define HCI_VCMDCODE_LABTEST_WRITE_THREE_WIRED HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_WRITE_THREE_WIRED) 292 #define HCI_VCMDCODE_LABTEST_READ_THREE_WIRED HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_READ_THREE_WIRED) 293 #define HCI_VCMDCODE_LABTEST_CONTINUOUS_WRITE_SFR_3WIRED HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONTINUOUS_WRITE_SFR_3WIRED) 294 #define HCI_VCMDCODE_LABTEST_READ_ADC0 HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_READ_ADC0) 295 #define HCI_VCMDCODE_LABTEST_BAND_GAP_CALIBRATION HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CHARGER_BAND_GAP_CALIBRATION) 296 #define HCI_VCMDCODE_LABTEST_CAL_4V2_DAC_TEST HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CHARGER_CAL_4V2_DAC_TEST) 297 #define HCI_VCMDCODE_LABTEST_CONFIG_WRITE_CSR HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_CSR) 298 #define HCI_VCMDCODE_LABTEST_CONFIG_READ_CSR HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_READ_CSR) 299 #define HCI_VCMDCODE_LABTEST_CONTINUOUS_WRITE_3WIRED HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONTINUOUS_WRITE_3WIRED) 300 #define HCI_VCMDCODE_LABTEST_READ_SAR_ADC HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_READ_SAR_ADC) 301 #define HCI_VCMDCODE_LABTEST_CONFIG_WRITE_BD_ADDR HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_BD_ADDR) 302 #define HCI_VCMDCODE_LABTEST_LE_RECEIVER_TEST HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_LE_RECEIVER_TEST) 303 #define HCI_VCMDCODE_LABTEST_LE_TRANSMITTER_TEST HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_LE_TRANSMITTER_TEST) 304 #define HCI_VCMDCODE_LABTEST_LE_TRX_END HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_LE_TRX_END) 305 #define HCI_VCMDCODE_LABTEST_CONFIG_WRITE_CSR_FOUR_BYTE_ADDRESS HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_WRITE_CSR_FOUR_BYTE_ADDRESS) 306 #define HCI_VCMDCODE_LABTEST_CONFIG_READ_CSR_FOUR_BYTE_ADDRESS HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_CONFIG_READ_CSR_FOUR_BYTE_ADDRESS) 307 #define HCI_VCMDCODE_LABTEST_ENTER_RELAY_MODE HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_LABTEST_GROUP,HCI_VCMD_OCF_LABTEST_ENTER_RELAY_MODE) 311 #define HCI_VCMDCODE_SYSTEM_PROMPT_CHANNEL_ASSESSMENT_CTRL HCI_COMBINED_VOPCODE(HCI_VCMD_OGF_SYSTEM_PROMPT_GROUP,HCI_VCMD_OCF_SYSTEM_PROMPT_CHANNEL_ASSESSMENT_CTRL) 315 #define HCI_CMD_OCF_AIROHA_SET_BY_PASS (HCI_CMD_OCF)0x0001 316 #define HCI_CMD_OCF_AIROHA_RESET_BY_PASS (HCI_CMD_OCF)0x0002 322 #define HCI_ERRCODE_SFR_CSR_INIT_FAILED (HCI_ERRCODE)0xFD 323 #define HCI_ERRCODE_AFE_INIT_FAILED (HCI_ERRCODE)0xFE 324 #define HCI_ERRCODE_BAND_GAP_CALIBRATION_FAILED (HCI_ERRCODE)0xFF 331 __pragma(pack(push, 1))
332 #define __attribute__(x) 336 typedef struct stru_vcmd_afe_init
342 } __attribute__((packed))VCMD_AFE_INIT_STRU;
344 typedef struct stru_vcmd_sfr_init
350 } __attribute__((packed))VCMD_SFR_INIT_STRU;
352 typedef struct stru_vcmd_delay_init
358 } __attribute__((packed))VCMD_DELAY_INIT_STRU;
360 typedef struct stru_vcmd_generic_init
366 } __attribute__((packed))VCMD_GENERIC_INIT_STRU;
368 typedef union u_vcmd_init
370 VCMD_AFE_INIT_STRU AfeInit;
371 VCMD_SFR_INIT_STRU SfrInit;
372 VCMD_DELAY_INIT_STRU DelayInit;
373 VCMD_GENERIC_INIT_STRU GenericInit;
375 } __attribute__((packed))VCMD_INIT_UNION;
379 typedef struct stru_vcmd_csr
385 } __attribute__((packed))VCMD_CSR_STRU;
388 typedef struct stru_vcmd_csr_four_byte_address
394 } __attribute__((packed))VCMD_CSR_FOUR_BYTE_ADDRESS_STRU;
404 typedef struct stru_airo_info_para_rom_ver
406 uint8_t AsicROMVer[1];
407 } __attribute__((packed)) AIRO_INFO_PARA_ROM_VER_STRU;
409 typedef struct stru_airo_info_rom_ver
413 AIRO_INFO_PARA_ROM_VER_STRU Info;
415 } __attribute__((packed)) AIRO_INFO_ROM_VER_STRU;
421 typedef struct stru_airo_info_para_boot_status
424 SYS_BOOT_REASON BootReason;
426 } __attribute__((packed)) AIRO_INFO_PARA_BOOT_STATUS_STRU;
428 typedef struct stru_airo_info_boot_status
432 AIRO_INFO_PARA_BOOT_STATUS_STRU Info;
434 } __attribute__((packed)) AIRO_INFO_BOOT_STATUS_STRU;
440 typedef struct stru_airo_info_para_flsh_info
442 uint8_t ManufacturerID;
446 } __attribute__((packed)) AIRO_INFO_PARA_FLSH_INFO_STRU;
448 typedef struct stru_airo_info_flsh_info
452 AIRO_INFO_PARA_FLSH_INFO_STRU Info;
453 } __attribute__((packed)) AIRO_INFO_FLSH_INFO_STRU;
459 typedef struct stru_airo_info_para_pwr_level
461 SYS_POWER_LV AdaptivePowerLv;
462 SYS_POWER_LV ConstrainedPowerLv;
464 } __attribute__((packed)) AIRO_INFO_PARA_POWER_LEVEL_STRU;
466 typedef struct stru_airo_info_pwr_level
470 AIRO_INFO_PARA_POWER_LEVEL_STRU Info;
472 } __attribute__((packed)) AIRO_INFO_POWER_LEVEL_STRU;
476 typedef struct stru_airo_info_descriptor
478 AIRO_INFO_ROM_VER_STRU RomVer;
479 AIRO_INFO_BOOT_STATUS_STRU BootStatus;
480 AIRO_INFO_POWER_LEVEL_STRU PowerLv;
482 } __attribute__((packed)) AIRO_INFO_DESCRIPTOR_STRU;
492 typedef struct stru_hci_vcmd
494 HCI_CMD_HDR_STRU Hdr;
495 HCI_VCMD_OPCODE_STRU VOpCode;
498 } HCI_VCMD_STRU, * HCI_VCMD_STRU_PTR;
504 typedef struct stru_hci_vcmd_para_gnl_pwr_lv_ctrl
506 uint8_t ConstrainedPowerLv;
508 } HCI_VCMD_PARA_GNL_PWR_LV_CTRL;
510 typedef struct stru_hci_vcmd_gnl_pwr_lv_ctrl
512 HCI_CMD_HDR_STRU Hdr;
513 HCI_VCMD_OPCODE_STRU VOpCode;
514 HCI_VCMD_PARA_GNL_PWR_LV_CTRL Para;
516 } HCI_VCMD_GNL_PWR_LV_CTRL;
518 typedef struct stru_hci_vcmd_rtn_para_gnl_pwr_lv_ctrl
522 } HCI_VCMD_RTN_PARA_GNL_PWR_LV_CTRL;
528 typedef struct stru_hci_vcmd_rtn_para_labtest_start
532 } HCI_VCMD_RTN_PARA_LABTEST_START;
538 typedef struct stru_hci_vcmd_rtn_para_labtest_ent_test_mode
542 } HCI_VCMD_RTN_PARA_LABTEST_ENT_TEST_MODE;
548 typedef struct stru_hci_vcmd_para_labtest_rpt_rate_setup
553 } HCI_VCMD_PARA_LABTEST_RPT_RATE_SETUP;
555 typedef struct stru_hci_vcmd_labtest_rpt_rate_setup
557 HCI_CMD_HDR_STRU Hdr;
558 HCI_VCMD_OPCODE_STRU VOpCode;
559 HCI_VCMD_PARA_LABTEST_RPT_RATE_SETUP Para;
561 } HCI_VCMD_LABTEST_RPT_RATE_SETUP;
563 typedef struct stru_hci_vcmd_rtn_para_labtest_rpt_rate_setup
567 } HCI_VCMD_RTN_PARA_LABTEST_RPT_RATE_SETUP;
573 typedef struct stru_hci_vcmd_para_labtest_cfg_wr_sfr
579 } HCI_VCMD_PARA_LABTEST_CFG_WR_SFR;
581 typedef struct stru_hci_vcmd_labtest_cfg_wr_sfr
583 HCI_CMD_HDR_STRU Hdr;
584 HCI_VCMD_OPCODE_STRU VOpCode;
585 HCI_VCMD_PARA_LABTEST_CFG_WR_SFR Para;
587 } HCI_VCMD_LABTEST_CFG_WR_SFR;
589 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_wr_sfr
593 } HCI_VCMD_RTN_PARA_LABTEST_CFG_WR_SFR;
599 typedef struct stru_hci_vcmd_para_labtest_cfg_rd_sfr
604 } HCI_VCMD_PARA_LABTEST_CFG_RD_SFR;
606 typedef struct stru_hci_vcmd_labtest_cfg_rd_sfr
608 HCI_CMD_HDR_STRU Hdr;
609 HCI_VCMD_OPCODE_STRU VOpCode;
610 HCI_VCMD_PARA_LABTEST_CFG_RD_SFR Para;
612 } HCI_VCMD_LABTEST_CFG_RD_SFR;
614 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_rd_sfr
621 } HCI_VCMD_RTN_PARA_LABTEST_CFG_RD_SFR;
627 typedef struct stru_hci_vcmd_para_labtest_cfg_wr_xdata
634 } HCI_VCMD_PARA_LABTEST_CFG_WR_XDATA;
636 typedef struct stru_hci_vcmd_labtest_cfg_wr_xdata
638 HCI_CMD_HDR_STRU Hdr;
639 HCI_VCMD_OPCODE_STRU VOpCode;
640 HCI_VCMD_PARA_LABTEST_CFG_WR_XDATA Para;
642 } HCI_VCMD_LABTEST_CFG_WR_XDATA;
644 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_wr_xdata
648 } HCI_VCMD_RTN_PARA_LABTEST_CFG_WR_XDATA;
654 typedef struct stru_hci_vcmd_para_labtest_cfg_rd_xdata
660 } HCI_VCMD_PARA_LABTEST_CFG_RD_XDATA;
662 typedef struct stru_hci_vcmd_labtest_cfg_rd_xdata
664 HCI_CMD_HDR_STRU Hdr;
665 HCI_VCMD_OPCODE_STRU VOpCode;
666 HCI_VCMD_PARA_LABTEST_CFG_RD_XDATA Para;
668 } HCI_VCMD_LABTEST_CFG_RD_XDATA;
670 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_rd_xdata
675 } HCI_VCMD_RTN_PARA_CFG_RD_XDATA;
678 __pragma(pack(push, 1))
679 #define __attribute__(x) 685 typedef struct stru_hci_vcmd_para_labtest_wr_three_wired
691 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_WR_THREE_WIRED;
693 typedef struct stru_hci_vcmd_labtest_wr_three_wired
695 HCI_CMD_HDR_STRU Hdr;
696 HCI_VCMD_OPCODE_STRU VOpCode;
697 HCI_VCMD_PARA_LABTEST_WR_THREE_WIRED Para;
699 } __attribute__((packed))HCI_VCMD_LABTEST_WR_THREE_WIRED;
701 typedef struct stru_hci_vcmd_rtn_para_labtest_wr_three_wired
705 } HCI_VCMD_RTN_PARA_LABTEST_WR_THREE_WIRED;
711 typedef struct stru_hci_vcmd_para_labtest_rd_three_wired
715 } __attribute__((packed)) HCI_VCMD_PARA_LABTEST_RD_THREE_WIRED;
717 typedef struct stru_hci_vcmd_labtest_rd_three_wired
719 HCI_CMD_HDR_STRU Hdr;
720 HCI_VCMD_OPCODE_STRU VOpCode;
721 HCI_VCMD_PARA_LABTEST_RD_THREE_WIRED Para;
723 } __attribute__((packed))HCI_VCMD_LABTEST_RD_THREE_WIRED;
725 typedef struct stru_hci_vcmd_rtn_para_labtest_rd_three_wired
731 } __attribute__((packed))HCI_VCMD_RTN_PARA_LABTEST_RD_THREE_WIRED;
738 typedef struct stru_hci_vcmd_para_labtest_conti_wr_sfr_3wired
741 VCMD_INIT_UNION Init[1];
743 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_CONTI_WR_SFR_3WIRED;
750 typedef struct stru_hci_vcmd_labtest_conti_wr_sfr_3wired
752 HCI_CMD_HDR_STRU Hdr;
753 HCI_VCMD_OPCODE_STRU VOpCode;
754 HCI_VCMD_PARA_LABTEST_CONTI_WR_SFR_3WIRED Para;
756 } HCI_VCMD_LABTEST_CONTI_WR_SFR_3WIRED;
758 typedef struct stru_hci_vcmd_rtn_para_labtest_conti_wr_sfr_3wired
762 } HCI_VCMD_RTN_PARA_LABTEST_CONTI_WR_SFR_3WIRED;
768 typedef struct stru_hci_vcmd_rtn_para_labtest_rd_adc0
778 } HCI_VCMD_RTN_PARA_LABTEST_RD_ADC0;
784 typedef struct stru_hci_vcmd_para_labtest_bd_gp_cal
789 uint8_t RdADC0InvlB0;
790 uint8_t RdADC0InvlB1;
792 } HCI_VCMD_PARA_LABTEST_BD_GP_CAL;
794 typedef struct stru_hci_vcmd_labtest_bd_gp_cal
796 HCI_CMD_HDR_STRU Hdr;
797 HCI_VCMD_OPCODE_STRU VOpCode;
798 HCI_VCMD_PARA_LABTEST_BD_GP_CAL Para;
800 } HCI_VCMD_LABTEST_BD_GP_CAL;
802 typedef struct stru_hci_vcmd_rtn_para_labtest_bd_gp_cal
810 } HCI_VCMD_RTN_PARA_LABTEST_BD_GP_CAL;
813 __pragma(pack(push, 1))
814 #define __attribute__(x) 820 typedef struct stru_hci_vcmd_para_labtest_cfg_wr_csr
823 VCMD_CSR_STRU Init[1];
825 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_CFG_WR_CSR;
827 typedef struct stru_hci_vcmd_labtest_cfg_wr_csr
829 HCI_CMD_HDR_STRU Hdr;
830 HCI_VCMD_OPCODE_STRU VOpCode;
831 HCI_VCMD_PARA_LABTEST_CFG_WR_CSR Para;
833 } __attribute__((packed))HCI_VCMD_LABTEST_CFG_WR_CSR;
835 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_wr_csr
839 } __attribute__((packed))HCI_VCMD_RTN_PARA_LABTEST_CFG_WR_CSR;
845 typedef struct stru_hci_vcmd_para_labtest_cfg_rd_csr
851 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_CFG_RD_CSR;
853 typedef struct stru_hci_vcmd_labtest_cfg_rd_csr
855 HCI_CMD_HDR_STRU Hdr;
856 HCI_VCMD_OPCODE_STRU VOpCode;
857 HCI_VCMD_PARA_LABTEST_CFG_RD_CSR Para;
859 } __attribute__((packed))HCI_VCMD_LABTEST_CFG_RD_CSR;
861 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_rd_csr
864 VCMD_CSR_STRU CsrData;
866 } __attribute__((packed))HCI_VCMD_RTN_PARA_LABTEST_CFG_RD_CSR;
876 typedef struct stru_hci_vcmd_para_labtest_conti_wr_3wired
879 VCMD_INIT_UNION Init[1];
881 } HCI_VCMD_PARA_LABTEST_CONTI_WR_3WIRED;
883 typedef struct stru_hci_vcmd_labtest_conti_wr_3wired
885 HCI_CMD_HDR_STRU Hdr;
886 HCI_VCMD_OPCODE_STRU VOpCode;
887 HCI_VCMD_PARA_LABTEST_CONTI_WR_3WIRED Para;
889 } HCI_VCMD_LABTEST_CONTI_WR_3WIRED;
891 typedef struct stru_hci_vcmd_rtn_para_labtest_conti_wr_3wired
895 } HCI_VCMD_RTN_PARA_LABTEST_CONTI_WR_3WIRED;
901 typedef struct stru_hci_vcmd_rtn_para_labtest_rd_sar_adc
909 } HCI_VCMD_RTN_PARA_LABTEST_RD_SAR_ADC;
912 __pragma(pack(push, 1))
913 #define __attribute__(x) 919 typedef struct stru_hci_vcmd_para_labtest_cfg_wr_bd_addr
923 } __attribute__((packed)) HCI_VCMD_PARA_LABTEST_CFG_WR_BD_ADDR;
925 typedef struct stru_hci_vcmd_labtest_cfg_wr_bd_addr
927 HCI_CMD_HDR_STRU Hdr;
928 HCI_VCMD_OPCODE_STRU VOpCode;
929 HCI_VCMD_PARA_LABTEST_CFG_WR_BD_ADDR Para;
931 } __attribute__((packed))HCI_VCMD_LABTEST_CFG_WR_BD_ADDR;
938 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_wr_bd_addr
942 } HCI_VCMD_RTN_PARA_LABTEST_CFG_WR_BD_ADDR;
948 typedef struct stru_hci_vcmd_para_labtest_le_rx_test
951 uint8_t AccessAddrB0;
952 uint8_t AccessAddrB1;
953 uint8_t AccessAddrB2;
954 uint8_t AccessAddrB3;
955 uint8_t AAgcFixGainEnb;
958 } HCI_VCMD_PARA_LABTEST_LE_RX_TEST;
960 typedef struct stru_hci_vcmd_labtest_le_rx_test
962 HCI_CMD_HDR_STRU Hdr;
963 HCI_VCMD_OPCODE_STRU VOpCode;
964 HCI_VCMD_PARA_LABTEST_LE_RX_TEST Para;
966 } HCI_VCMD_LABTEST_LE_RX_TEST;
968 typedef struct stru_hci_vcmd_rtn_para_labtest_le_rx_test
972 } HCI_VCMD_RTN_PARA_LABTEST_LE_RX_TEST;
978 typedef struct stru_hci_vcmd_para_labtest_le_tx_test
982 uint8_t LenOfTestData;
984 uint8_t AccessAddrB0;
985 uint8_t AccessAddrB1;
986 uint8_t AccessAddrB2;
987 uint8_t AccessAddrB3;
993 } HCI_VCMD_PARA_LABTEST_LE_TX_TEST;
995 typedef struct stru_hci_vcmd_labtest_le_tx_test
997 HCI_CMD_HDR_STRU Hdr;
998 HCI_VCMD_OPCODE_STRU VOpCode;
999 HCI_VCMD_PARA_LABTEST_LE_TX_TEST Para;
1001 } HCI_VCMD_LABTEST_LE_TX_TEST;
1003 typedef struct stru_hci_vcmd_rtn_para_labtest_le_tx_test
1007 } HCI_VCMD_RTN_PARA_LABTEST_LE_TX_TEST;
1014 typedef struct stru_hci_vcmd_rtn_para_labtest_le_trx_end
1018 } HCI_VCMD_RTN_PARA_LABTEST_LE_TRX_END;
1021 __pragma(pack(push, 1))
1022 #define __attribute__(x) 1028 typedef struct stru_hci_vcmd_para_labtest_cfg_wr_csr_four_byte_address
1031 VCMD_CSR_FOUR_BYTE_ADDRESS_STRU Init[1];
1033 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_CFG_WR_CSR_FOUR_BYTE_ADDRESS_STRU;
1035 typedef struct stru_hci_vcmd_labtest_cfg_wr_csr_four_byte_address
1037 HCI_CMD_HDR_STRU Hdr;
1038 HCI_VCMD_OPCODE_STRU VOpCode;
1039 HCI_VCMD_PARA_LABTEST_CFG_WR_CSR_FOUR_BYTE_ADDRESS_STRU Para;
1041 } __attribute__((packed))HCI_VCMD_LABTEST_CFG_WR_CSR_FOUR_BYTE_ADDRESS_STRU;
1043 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_wr_csr_four_byte_address
1047 } __attribute__((packed))HCI_VCMD_RTN_PARA_LABTEST_CFG_WR_CSR_FOUR_BYTE_ADDRESS_STRU;
1052 typedef struct stru_hci_vcmd_para_labtest_cfg_rd_csr_four_byte_address
1060 } __attribute__((packed))HCI_VCMD_PARA_LABTEST_CFG_RD_CSR_FOUR_BYTE_ADDRESS_STRU;
1062 typedef struct stru_hci_vcmd_labtest_cfg_rd_csr_four_byte_address
1064 HCI_CMD_HDR_STRU Hdr;
1065 HCI_VCMD_OPCODE_STRU VOpCode;
1066 HCI_VCMD_PARA_LABTEST_CFG_RD_CSR_FOUR_BYTE_ADDRESS_STRU Para;
1068 } __attribute__((packed))HCI_VCMD_LABTEST_CFG_RD_CSR_FOUR_BYTE_ADDRESS_STRU;
1070 typedef struct stru_hci_vcmd_rtn_para_labtest_cfg_rd_csr_four_byte_address
1073 VCMD_CSR_FOUR_BYTE_ADDRESS_STRU CsrData;
1075 } __attribute__((packed))HCI_VCMD_RTN_PARA_LABTEST_CFG_RD_CSR_FOUR_BYTE_ADDRESS_STRU;
1081 typedef struct stru_hci_vcmd_para_labtest_enter_relay_mode
1085 }__attribute__((packed))HCI_VCMD_PARA_LABTEST_ENTER_RELAY_MODE_STRU;
1087 typedef struct stru_hci_vcmd_labtest_enter_relay_mode
1089 HCI_CMD_HDR_STRU Hdr;
1090 HCI_VCMD_OPCODE_STRU VOpCode;
1091 HCI_VCMD_PARA_LABTEST_ENTER_RELAY_MODE_STRU Para;
1093 } __attribute__((packed))HCI_VCMD_LABTEST_ENTER_RELAY_MODE_STRU;
1097 #undef __attribute__ 1100 typedef struct stru_hci_vcmd_rtn_para_labtest_enter_relay_mode
1104 } HCI_VCMD_RTN_PARA_LABTEST_ENTER_RELAY_MODE;
1109 typedef struct stru_hci_vcmd_para_system_prompt_ch_ass_ctrl
1113 } HCI_VCMD_PARA_SYSTEM_PROMPT_CH_ASS_CTRL;
1115 typedef struct stru_hci_vcmd_system_prompt_ch_ass_ctrl
1117 HCI_CMD_HDR_STRU Hdr;
1118 HCI_VCMD_OPCODE_STRU VOpCode;
1119 HCI_VCMD_PARA_SYSTEM_PROMPT_CH_ASS_CTRL Para;
1121 } HCI_VCMD_SYSTEM_PROMPT_CH_ASS_CTRL;
1123 typedef struct stru_hci_vcmd_rtn_para_system_prompt_ch_ass_ctrl
1127 } HCI_VCMD_RTN_PARA_SYSTEM_PROMPT_CH_ASS_CTRL;
1130 __pragma(pack(push, 1))
1131 #define __attribute__(x) 1137 typedef struct stru_hci_vendor_event_opcode_stru
1142 } __attribute__((packed))HCI_VEVT_OPCODE_STRU;
1147 typedef struct stru_hci_vevt_para_vdr_spec
1151 } __attribute__((packed)) HCI_VEVT_PARA_VDR_SPEC_STRU;
1153 typedef struct stru_hci_vevt_vdr_spec
1155 HCI_EVT_HDR_STRU Hdr;
1156 HCI_VEVT_OPCODE_STRU VEvtOpCode;
1157 HCI_VEVT_PARA_VDR_SPEC_STRU Para;
1159 } __attribute__((packed))HCI_VEVT_VDR_SPEC_STRU;
1165 typedef struct stru_hci_vevt_para_vcmd_cpl
1171 } __attribute__((packed))HCI_VEVT_PARA_VCMD_CPL_STRU;
1173 typedef struct stru_hci_vevt_vcmd_cpl
1175 HCI_EVT_HDR_STRU Hdr;
1176 HCI_VEVT_OPCODE_STRU VEvtOpCode;
1177 HCI_VEVT_PARA_VCMD_CPL_STRU Para;
1179 } __attribute__((packed))HCI_VEVT_VCMD_CPL_STRU, * HCI_VEVT_VCMD_CPL_STRU_PTR;
1183 #undef __attribute__ 1189 typedef struct stru_hci_vevt_para_btx_rept
1198 } HCI_VEVT_PARA_BTX_REPT_STRU;
1204 typedef struct stru_hci_vevt_para_crx_rept
1208 }HCI_VEVT_PARA_CRX_REPT_STRU;
1214 typedef struct stru_hci_vevt_para_brx_rept
1222 }HCI_VEVT_PARA_BRX_REPT_STRU;
1228 typedef struct stru_hci_vevt_para_ber_rept
1240 uint8_t HECErrCntB0;
1241 uint8_t HECErrCntB1;
1242 uint8_t CRCErrCntB0;
1243 uint8_t CRCErrCntB1;
1244 uint8_t ErrBitsCntB0;
1245 uint8_t ErrBitsCntB1;
1246 uint8_t ErrBitsCntB2;
1247 uint8_t ErrBitsCntB3;
1250 }HCI_VEVT_PARA_BER_REPT_STRU;
1256 typedef struct stru_hci_vevt_para_cal_4v2_dac_test_rept
1263 }HCI_VEVT_PARA_CAL_4V2_DAC_TEST_REPT_STRU;
1269 typedef struct stru_hci_vevt_para_ch_assess_rept
1273 } HCI_VEVT_PARA_CH_ASSESS_REPT_STRU;