1 /** 2 * Copyright (c) 2017, Realsil Semiconductor Corporation. All rights reserved. 3 * 4 */ 5 #ifndef _HCI_PROCESS_H_ 6 #define _HCI_PROCESS_H_ 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 #include <stdio.h> 13 #include <string.h> 14 #include <stdbool.h> 15 16 typedef struct _HCI_PROCESS_TABLE_{ 17 uint16_t opcode; 18 uint8_t (*start_pro)(void); 19 uint8_t (*check_func)(uint8_t len,uint8_t *p_buf); 20 }HCI_PROCESS_TABLE, *PHCI_PROCESS_TABLE; 21 22 typedef struct 23 { 24 uint32_t bt_baudrate; 25 uint32_t uart_baudrate; 26 } BAUDRATE_MAP; 27 28 #define HCI_TP_CHECK_ERROR 0xFF 29 #define HCI_TP_CONFIG_END 0x01 30 #define HCI_TP_CONFIG_FAIL 0x02 31 #define HCI_TP_CHECK_OK 0x00 32 #define HCI_TP_CHECK_AGAIN 0x03 33 34 #define HCI_TP_NOT_SEND 0x04 35 36 #define HCI_COMMAND_COMPLETE 0x0e 37 #define HCI_COMMAND_STATUS 0x0f 38 #define HCI_CMD_PKT 0x01 39 #define HCI_ACL_PKT 0x02 40 #define HCI_SCO_PKT 0x03 41 #define HCI_EVT_PKT 0x04 42 #define HCI_CMD_HDR_LEN 4 /* packet type (1), command (2), length (1) */ 43 44 #define HCI_READ_LOCAL_VERSION_INFO 0x1001 45 #define HCI_VSC_READ_ROM_VERSION 0xFC6D 46 #define HCI_VSC_UPDATE_BAUDRATE 0xFC17 47 #define HCI_VSC_DOWNLOAD_PATCH 0xFC20 48 #define HCI_VSC_CHECK_32K 0xFC02 49 #define HCI_HCI_RESET 0x0C03 50 #define HCI_VENDOR_RF_RADIO_REG_WRITE 0xfd4a 51 #define HCI_VSC_VENDOR_IQK 0xFD91 52 #define HCI_VSC_READ_THERMAL 0xFC40 53 54 55 bool hci_rtk_tx_cb(void); 56 bool hci_adapter_send(uint8_t *p_buf, uint16_t len); 57 58 bool hci_set_patch(uint8_t *fw_addr,uint32_t fw_len, uint8_t *fw_config_addr, uint32_t 59 fw_config_len, uint32_t baudrate); 60 61 void reset_iqk_type(void); 62 63 #ifdef __cplusplus 64 } 65 #endif 66 67 #endif /* _HCI_PROCESS_H_ */ 68