linux/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h

/* SPDX-License-Identifier: GPL-2.0 */
/******************************************************************************
 *
 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
 *
 ******************************************************************************/
#ifndef	__HALBTC_OUT_SRC_H__
#define __HALBTC_OUT_SRC_H__

#define NORMAL_EXEC
#define FORCE_EXEC

#define BTC_RF_OFF
#define BTC_RF_ON

#define BTC_RF_A
#define BTC_RF_B
#define BTC_RF_C
#define BTC_RF_D

#define BTC_SMSP
#define BTC_DMDP
#define BTC_DMSP
#define BTC_MP_UNKNOWN

#define BT_COEX_ANT_TYPE_PG
#define BT_COEX_ANT_TYPE_ANTDIV
#define BT_COEX_ANT_TYPE_DETECTED

#define BTC_MIMO_PS_STATIC
#define BTC_MIMO_PS_DYNAMIC

#define BTC_RATE_DISABLE
#define BTC_RATE_ENABLE

/*  single Antenna definition */
#define BTC_ANT_PATH_WIFI
#define BTC_ANT_PATH_BT
#define BTC_ANT_PATH_PTA
/*  dual Antenna definition */
#define BTC_ANT_WIFI_AT_MAIN
#define BTC_ANT_WIFI_AT_AUX
/*  coupler Antenna definition */
#define BTC_ANT_WIFI_AT_CPL_MAIN
#define BTC_ANT_WIFI_AT_CPL_AUX

enum {};

enum {};

enum btc_chip_interface {};

/*  following is for wifi link status */
#define WIFI_STA_CONNECTED
#define WIFI_AP_CONNECTED
#define WIFI_HS_CONNECTED
#define WIFI_P2P_GO_CONNECTED
#define WIFI_P2P_GC_CONNECTED

struct btc_board_info {};

enum {};
#define BTC_RSSI_HIGH(_rssi_)
#define BTC_RSSI_MEDIUM(_rssi_)
#define BTC_RSSI_LOW(_rssi_)

enum {};

enum {};

enum {};

/*  defined for BFP_BTC_GET */
enum {};

/*  defined for BFP_BTC_SET */
enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

/* Bryant Add */
enum {};

BFP_BTC_R1;
BFP_BTC_R2;
BFP_BTC_R4;
BFP_BTC_W1;
BFP_BTC_W1_BIT_MASK;
BFP_BTC_W2;
BFP_BTC_W4;
BFP_BTC_LOCAL_REG_W1;
BFP_BTC_SET_BB_REG;
BFP_BTC_GET_BB_REG;
BFP_BTC_SET_RF_REG;
BFP_BTC_GET_RF_REG;
BFP_BTC_FILL_H2C;

BFP_BTC_GET;

BFP_BTC_SET;
BFP_BTC_SET_BT_REG;
BFP_BTC_GET_BT_REG;
BFP_BTC_DISP_DBG_MSG;

struct btc_bt_info {};

struct btc_stack_info {};

struct btc_bt_link_info {};

struct btc_statistics {};

struct btc_coexist {};

extern struct btc_coexist GLBtCoexist;

void EXhalbtcoutsrc_PowerOnSetting(struct btc_coexist *pBtCoexist);
void EXhalbtcoutsrc_InitHwConfig(struct btc_coexist *pBtCoexist, u8 bWifiOnly);
void EXhalbtcoutsrc_InitCoexDm(struct btc_coexist *pBtCoexist);
void EXhalbtcoutsrc_IpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_LpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_ScanNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action);
void EXhalbtcoutsrc_MediaStatusNotify(
	struct btc_coexist *pBtCoexist, enum rt_media_status mediaStatus
);
void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktType);
void EXhalbtcoutsrc_BtInfoNotify(
	struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
);
void EXhalbtcoutsrc_HaltNotify(struct btc_coexist *pBtCoexist);
void EXhalbtcoutsrc_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState);
void EXhalbtcoutsrc_Periodical(struct btc_coexist *pBtCoexist);
void EXhalbtcoutsrc_SetChipType(u8 chipType);
void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum);
void EXhalbtcoutsrc_SetSingleAntPath(u8 singleAntPath);

#endif