VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
hci_transport_aic8800.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "service/vsf_service.h"
#include "kernel/vsf_kernel.h"
#include "hal/vsf_hal.h"
#include "bt_user_driver.h"
#include "bt_hci.h"
#include "btstack_config.h"
#include "btstack_debug.h"
#include "hci.h"
#include "hci_transport.h"
#include "compiler.h"
#include "bt_patch_table.h"
#include "dbg.h"
#include "service/pool/impl_vsf_pool.inc"

Data Structures

struct  hci_transport_aic8800_buffer_t
 
struct  bt_drv_wr_aon_param
 
struct  bt_buffer_tag
 Buffer structure. More...
 
struct  bt_drv_rf_calib_req_cmd
 

Macros

#define __VSF_EDA_CLASS_INHERIT__
 
#define VSF_AIC8800_BTSTACK_CFG_PRIORITY   vsf_prio_inherit
 
#define VSF_AIC8800_BTSTACK_CFG_HW_PRIORITY   vsf_arch_prio_3
 
#define VSF_AIC8800_BTSTACK_CFG_MAX_PACKET_SIZE   (8 + 256)
 
#define BT_POWERON   1
 
#define BT_POWEROFF   0
 
#define AON_BT_PWR_ON_DLY1   (1)
 
#define AON_BT_PWR_ON_DLY1x(v)   AON_BT_PWR_ON_DLY1
 
#define AON_BT_PWR_ON_DLY2   (10)
 
#define AON_BT_PWR_ON_DLY2x(v)   AON_BT_PWR_ON_DLY2
 
#define AON_BT_PWR_ON_DLY3   (12)
 
#define AON_BT_PWR_ON_DLY2x(v)   AON_BT_PWR_ON_DLY3
 
#define AON_BT_PWR_ON_DLY_AON   (11)
 
#define AON_BT_PWR_ON_DLY_AONx(v)   AON_BT_PWR_ON_DLY_AON
 
#define __name   hci_transport_aic8800_buffer_pool
 
#define __type   hci_transport_aic8800_buffer_t
 

Typedefs

typedef struct hci_transport_aic8800_buffer_t hci_transport_aic8800_buffer_t
 

Enumerations

enum  BtDrvRfModeEnum {
  DRV_RF_MODE_NULL = 0x00 ,
  DRV_RF_MODE_BT_ONLY = 0x01 ,
  DRV_RF_MODE_BT_COMBO = 0x02 ,
  DRV_RF_MODE_BTWIFI_COMBO = 0x03 ,
  DRV_RF_MODE_NUM = 0x04
}
 
enum  {
  BT_LP_LEVEL_POWER_OFF = 0x00 ,
  BT_LP_LEVEL_CLOCK_GATE = 0x01
}
 
enum  {
  BT_LP_LEVEL_ACTIVE = 0x00 ,
  BT_LP_LEVEL_CLOCK_GATE1 = 0x01 ,
  BT_LP_LEVEL_CLOCK_GATE2 = 0x02 ,
  BT_LP_LEVEL_CLOCK_GATE3 = 0x03 ,
  BT_LP_LEVEL_POWER_OFF1 = 0x04 ,
  BT_LP_LEVEL_POWER_OFF2 = 0x05 ,
  BT_LP_LEVEL_POWER_OFF3 = 0x06 ,
  BT_LP_LEVEL_HIBERNATE = 0x07 ,
  BT_LP_LEVEL_NUM = 0x08
}
 
enum  {
  BT_PRV_SLP_TIMER = (0x01UL << 0) ,
  BT_STACK_SLP_DISALLOW = (0x01UL << 1) ,
  BLE_STACK_SLP_DISALLOW = (0x01UL << 2)
}
 

Functions

 declare_vsf_pool (def_vsf_pool(hci_transport_aic8800_buffer_pool)
 
bool bt_get_fw_init_complete (void)
 
void bt_drv_poweron (uint8_t en)
 
const bt_drv_wr_aon_param VAR_WITH_VERx (wr_aon_param, 2)
 
const bt_drv_wr_aon_param VAR_WITH_VERx (wr_aon_param, 3)
 
void aic_bt_start (void)
 
void bt_drv_lp_level_set (uint8_t level)
 
uint32_t host_power_on_mode (void)
 
void bt_drv_ecc_key_complete_notify (void)
 
void bt_drv_task_notify (bool isr)
 
uint_fast8_t __hci_transport_aic8800_get_cmd_delay_ms (uint8_t *packet, int size)
 
const hci_transport_t * hci_transport_aic8800_instance (void)
 

Variables

 hci_transport_aic8800_param_t
 
const uint32_t rf_mdm_regs_table_bt_only [][2]
 
const uint32_t rf_mdm_regs_table_bt_combo [][2]
 
const BtDrvRfModeEnum bt_rf_mode = DRV_RF_MODE_BT_ONLY
 
const bt_drv_rf_calib_req_cmd rf_calib_req = {DRV_RF_MODE_BT_ONLY, 0x0000, {0x08, {0x03,0x42,0x26,0x00,0x0f,0x30,0x02,0x00}}}
 
const bt_drv_wr_aon_paramwr_aon_param_ptr
 
uint32_t aon_debug_level
 
uint8_t pwr_ctrl_slave = 1
 
uint8_t bt_lp_level = BT_LP_LEVEL_ACTIVE
 
uint8_t bt_sleep_debug_level = 0xFF
 

Macro Definition Documentation

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ VSF_AIC8800_BTSTACK_CFG_PRIORITY

#define VSF_AIC8800_BTSTACK_CFG_PRIORITY   vsf_prio_inherit

◆ VSF_AIC8800_BTSTACK_CFG_HW_PRIORITY

#define VSF_AIC8800_BTSTACK_CFG_HW_PRIORITY   vsf_arch_prio_3

◆ VSF_AIC8800_BTSTACK_CFG_MAX_PACKET_SIZE

#define VSF_AIC8800_BTSTACK_CFG_MAX_PACKET_SIZE   (8 + 256)

◆ BT_POWERON

#define BT_POWERON   1

◆ BT_POWEROFF

#define BT_POWEROFF   0

◆ AON_BT_PWR_ON_DLY1

#define AON_BT_PWR_ON_DLY1   (1)

◆ AON_BT_PWR_ON_DLY1x

#define AON_BT_PWR_ON_DLY1x (   v)    AON_BT_PWR_ON_DLY1

◆ AON_BT_PWR_ON_DLY2

#define AON_BT_PWR_ON_DLY2   (10)

◆ AON_BT_PWR_ON_DLY2x [1/2]

#define AON_BT_PWR_ON_DLY2x (   v)    AON_BT_PWR_ON_DLY2

◆ AON_BT_PWR_ON_DLY3

#define AON_BT_PWR_ON_DLY3   (12)

◆ AON_BT_PWR_ON_DLY2x [2/2]

#define AON_BT_PWR_ON_DLY2x (   v)    AON_BT_PWR_ON_DLY3

◆ AON_BT_PWR_ON_DLY_AON

#define AON_BT_PWR_ON_DLY_AON   (11)

◆ AON_BT_PWR_ON_DLY_AONx

#define AON_BT_PWR_ON_DLY_AONx (   v)    AON_BT_PWR_ON_DLY_AON

◆ __name

#define __name   hci_transport_aic8800_buffer_pool

◆ __type

#define __type   hci_transport_aic8800_buffer_t

Typedef Documentation

◆ hci_transport_aic8800_buffer_t

Enumeration Type Documentation

◆ BtDrvRfModeEnum

Enumerator
DRV_RF_MODE_NULL 
DRV_RF_MODE_BT_ONLY 
DRV_RF_MODE_BT_COMBO 
DRV_RF_MODE_BTWIFI_COMBO 
DRV_RF_MODE_NUM 

◆ anonymous enum

anonymous enum
Enumerator
BT_LP_LEVEL_POWER_OFF 
BT_LP_LEVEL_CLOCK_GATE 

◆ anonymous enum

anonymous enum
Enumerator
BT_LP_LEVEL_ACTIVE 
BT_LP_LEVEL_CLOCK_GATE1 
BT_LP_LEVEL_CLOCK_GATE2 
BT_LP_LEVEL_CLOCK_GATE3 
BT_LP_LEVEL_POWER_OFF1 
BT_LP_LEVEL_POWER_OFF2 
BT_LP_LEVEL_POWER_OFF3 
BT_LP_LEVEL_HIBERNATE 
BT_LP_LEVEL_NUM 

◆ anonymous enum

anonymous enum
Enumerator
BT_PRV_SLP_TIMER 
BT_STACK_SLP_DISALLOW 
BLE_STACK_SLP_DISALLOW 

Function Documentation

◆ declare_vsf_pool()

declare_vsf_pool ( def_vsf_pool hci_transport_aic8800_buffer_pool)

◆ bt_get_fw_init_complete()

bool bt_get_fw_init_complete ( void  )
extern

◆ bt_drv_poweron()

void bt_drv_poweron ( uint8_t  en)
extern

◆ VAR_WITH_VERx() [1/2]

const bt_drv_wr_aon_param VAR_WITH_VERx ( wr_aon_param  ,
 
)

◆ VAR_WITH_VERx() [2/2]

const bt_drv_wr_aon_param VAR_WITH_VERx ( wr_aon_param  ,
 
)

◆ aic_bt_start()

void aic_bt_start ( void  )

◆ bt_drv_lp_level_set()

void bt_drv_lp_level_set ( uint8_t  level)

◆ host_power_on_mode()

uint32_t host_power_on_mode ( void  )

◆ bt_drv_ecc_key_complete_notify()

void bt_drv_ecc_key_complete_notify ( void  )

◆ bt_drv_task_notify()

void bt_drv_task_notify ( bool  isr)

◆ __hci_transport_aic8800_get_cmd_delay_ms()

uint_fast8_t __hci_transport_aic8800_get_cmd_delay_ms ( uint8_t packet,
int  size 
)

◆ hci_transport_aic8800_instance()

const hci_transport_t * hci_transport_aic8800_instance ( void  )

Variable Documentation

◆ hci_transport_aic8800_param_t

hci_transport_aic8800_param_t

◆ rf_mdm_regs_table_bt_only

const uint32_t rf_mdm_regs_table_bt_only[][2]

◆ rf_mdm_regs_table_bt_combo

const uint32_t rf_mdm_regs_table_bt_combo[][2]

◆ bt_rf_mode

◆ rf_calib_req

const bt_drv_rf_calib_req_cmd rf_calib_req = {DRV_RF_MODE_BT_ONLY, 0x0000, {0x08, {0x03,0x42,0x26,0x00,0x0f,0x30,0x02,0x00}}}

◆ wr_aon_param_ptr

const bt_drv_wr_aon_param* wr_aon_param_ptr

◆ aon_debug_level

uint32_t aon_debug_level

◆ pwr_ctrl_slave

uint8_t pwr_ctrl_slave = 1

◆ bt_lp_level

uint8_t bt_lp_level = BT_LP_LEVEL_ACTIVE

◆ bt_sleep_debug_level

uint8_t bt_sleep_debug_level = 0xFF