brintos

brintos / linux-shallow public Read only

0
0
Text · 3.2 KiB · 6206771 Raw
139 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/* Copyright(c) 2009-2012  Realtek Corporation.*/3 4#ifndef __RTL8723E_HAL_BTC_H__5#define __RTL8723E_HAL_BTC_H__6 7#include "../wifi.h"8#include "btc.h"9#include "hal_bt_coexist.h"10 11#define	BT_TXRX_CNT_THRES_1			120012#define	BT_TXRX_CNT_THRES_2			140013#define	BT_TXRX_CNT_THRES_3			300014/* < 1200 */15#define	BT_TXRX_CNT_LEVEL_0			016/* >= 1200 && < 1400 */17#define	BT_TXRX_CNT_LEVEL_1			118/* >= 1400 */19#define	BT_TXRX_CNT_LEVEL_2			220#define	BT_TXRX_CNT_LEVEL_3			321 22#define	BT_COEX_DISABLE			023#define	BT_Q_PKT_OFF			024#define	BT_Q_PKT_ON			125 26#define	BT_TX_PWR_OFF			027#define	BT_TX_PWR_ON			128 29/* TDMA mode definition */30#define	TDMA_2ANT			031#define	TDMA_1ANT			132#define	TDMA_NAV_OFF			033#define	TDMA_NAV_ON			134#define	TDMA_DAC_SWING_OFF		035#define	TDMA_DAC_SWING_ON		136 37/* PTA mode related definition */38#define	BT_PTA_MODE_OFF		039#define	BT_PTA_MODE_ON		140 41/* Penalty Tx Rate Adaptive */42#define	BT_TX_RATE_ADAPTIVE_NORMAL	043#define	BT_TX_RATE_ADAPTIVE_LOW_PENALTY	144 45/* RF Corner */46#define	BT_RF_RX_LPF_CORNER_RESUME	047#define	BT_RF_RX_LPF_CORNER_SHRINK	148 49#define C2H_EVT_HOST_CLOSE		0x0050#define C2H_EVT_FW_CLOSE		0xFF51 52enum bt_traffic_mode {53	BT_MOTOR_EXT_BE = 0x00,54	BT_MOTOR_EXT_GUL = 0x01,55	BT_MOTOR_EXT_GUB = 0x02,56	BT_MOTOR_EXT_GULB = 0x0357};58 59enum bt_traffic_mode_profile {60	BT_PROFILE_NONE,61	BT_PROFILE_A2DP,62	BT_PROFILE_PAN,63	BT_PROFILE_HID,64	BT_PROFILE_SCO65};66 67/*68enum hci_ext_bt_operation {69	HCI_BT_OP_NONE = 0x0,70	HCI_BT_OP_INQUIRE_START	= 0x1,71	HCI_BT_OP_INQUIRE_FINISH = 0x2,72	HCI_BT_OP_PAGING_START = 0x3,73	HCI_BT_OP_PAGING_SUCCESS = 0x4,74	HCI_BT_OP_PAGING_UNSUCCESS = 0x5,75	HCI_BT_OP_PAIRING_START = 0x6,76	HCI_BT_OP_PAIRING_FINISH = 0x7,77	HCI_BT_OP_BT_DEV_ENABLE = 0x8,78	HCI_BT_OP_BT_DEV_DISABLE = 0x9,79	HCI_BT_OP_MAX,80};81*/82 83enum bt_spec {84	BT_SPEC_1_0_b = 0x00,85	BT_SPEC_1_1 = 0x01,86	BT_SPEC_1_2 = 0x02,87	BT_SPEC_2_0_EDR = 0x03,88	BT_SPEC_2_1_EDR = 0x04,89	BT_SPEC_3_0_HS = 0x05,90	BT_SPEC_4_0 = 0x0691};92 93struct c2h_evt_hdr {94	u8 cmd_id;95	u8 cmd_len;96	u8 cmd_seq;97};98 99enum bt_state {100	BT_INFO_STATE_DISABLED = 0,101	BT_INFO_STATE_NO_CONNECTION = 1,102	BT_INFO_STATE_CONNECT_IDLE = 2,103	BT_INFO_STATE_INQ_OR_PAG = 3,104	BT_INFO_STATE_ACL_ONLY_BUSY = 4,105	BT_INFO_STATE_SCO_ONLY_BUSY = 5,106	BT_INFO_STATE_ACL_SCO_BUSY = 6,107	BT_INFO_STATE_HID_BUSY = 7,108	BT_INFO_STATE_HID_SCO_BUSY = 8,109	BT_INFO_STATE_MAX = 7110};111 112enum rtl8723e_c2h_evt_v0 {113	C2H_V0_DBG = 0,114	C2H_V0_TSF = 1,115	C2H_V0_AP_RPT_RSP = 2,116	/* The FW notify the report of the specific tx packet. */117	C2H_V0_CCX_TX_RPT = 3,118	C2H_V0_BT_RSSI = 4,119	C2H_V0_BT_OP_MODE = 5,120	C2H_V0_HW_INFO_EXCH = 10,121	C2H_V0_C2H_H2C_TEST = 11,122	C2H_V0_BT_INFO = 12,123	MAX_C2HEVENT124};125 126void rtl8723e_dm_bt_fw_coex_all_off_8723a(struct ieee80211_hw *hw);127void rtl8723e_dm_bt_sw_coex_all_off_8723a(struct ieee80211_hw *hw);128void rtl8723e_dm_bt_hw_coex_all_off_8723a(struct ieee80211_hw *hw);129void rtl8723e_dm_bt_coexist_8723(struct ieee80211_hw *hw);130void rtl8723e_dm_bt_set_bt_dm(struct ieee80211_hw *hw,131			      struct btdm_8723 *p_btdm);132void rtl_8723e_c2h_command_handle(struct ieee80211_hw *hw);133void rtl_8723e_bt_wifi_media_status_notify(struct ieee80211_hw *hw,134					bool mstatus);135void rtl8723e_dm_bt_turn_off_bt_coexist_before_enter_lps(136				struct ieee80211_hw *hw);137 138#endif139