File Index
Files and directories
Sign in
FILE

hal_btc.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_btc.h 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			1200
 12#define	BT_TXRX_CNT_THRES_2			1400
 13#define	BT_TXRX_CNT_THRES_3			3000
 14/* < 1200 */
 15#define	BT_TXRX_CNT_LEVEL_0			0
 16/* >= 1200 && < 1400 */
 17#define	BT_TXRX_CNT_LEVEL_1			1
 18/* >= 1400 */
 19#define	BT_TXRX_CNT_LEVEL_2			2
 20#define	BT_TXRX_CNT_LEVEL_3			3
 21
 22#define	BT_COEX_DISABLE			0
 23#define	BT_Q_PKT_OFF			0
 24#define	BT_Q_PKT_ON			1
 25
 26#define	BT_TX_PWR_OFF			0
 27#define	BT_TX_PWR_ON			1
 28
 29/* TDMA mode definition */
 30#define	TDMA_2ANT			0
 31#define	TDMA_1ANT			1
 32#define	TDMA_NAV_OFF			0
 33#define	TDMA_NAV_ON			1
 34#define	TDMA_DAC_SWING_OFF		0
 35#define	TDMA_DAC_SWING_ON		1
 36
 37/* PTA mode related definition */
 38#define	BT_PTA_MODE_OFF		0
 39#define	BT_PTA_MODE_ON		1
 40
 41/* Penalty Tx Rate Adaptive */
 42#define	BT_TX_RATE_ADAPTIVE_NORMAL	0
 43#define	BT_TX_RATE_ADAPTIVE_LOW_PENALTY	1
 44
 45/* RF Corner */
 46#define	BT_RF_RX_LPF_CORNER_RESUME	0
 47#define	BT_RF_RX_LPF_CORNER_SHRINK	1
 48
 49#define C2H_EVT_HOST_CLOSE		0x00
 50#define C2H_EVT_FW_CLOSE		0xFF
 51
 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 = 0x03
 57};
 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_SCO
 65};
 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 = 0x06
 91};
 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 = 7
110};
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_C2HEVENT
124};
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#endif
~/ Read-only file preview.