Commit 4f78287e authored by Yan-Hsuan Chuang's avatar Yan-Hsuan Chuang Committed by Kalle Valo

rtlwifi: btcoex: 21a 1ant: set antenna control path for PTA

Set antenna control path if PTA is in control of the packet path of wifi
and bt. If wifi is turned off, tell the PTA about it.
Signed-off-by: default avatarYan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Cc: Pkshih <pkshih@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent e605103c
...@@ -1011,11 +1011,18 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist, ...@@ -1011,11 +1011,18 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist,
u4_tmp &= ~BIT23; u4_tmp &= ~BIT23;
u4_tmp &= ~BIT24; u4_tmp &= ~BIT24;
btcoexist->btc_write_4byte(btcoexist, 0x4c, u4_tmp); btcoexist->btc_write_4byte(btcoexist, 0x4c, u4_tmp);
/* 0x765 = 0x18 */
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x765, 0x18, 0x3);
} else {
/* 0x765 = 0x0 */
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x765, 0x18, 0x0);
} }
/* ext switch setting */ /* ext switch setting */
switch (ant_pos_type) { switch (ant_pos_type) {
case BTC_ANT_PATH_WIFI: case BTC_ANT_PATH_WIFI:
btcoexist->btc_write_1byte(btcoexist, 0xcb4, 0x77);
if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT)
btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7, btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7,
0x30, 0x1); 0x30, 0x1);
...@@ -1024,6 +1031,7 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist, ...@@ -1024,6 +1031,7 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist,
0x30, 0x2); 0x30, 0x2);
break; break;
case BTC_ANT_PATH_BT: case BTC_ANT_PATH_BT:
btcoexist->btc_write_1byte(btcoexist, 0xcb4, 0x77);
if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT)
btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7, btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7,
0x30, 0x2); 0x30, 0x2);
...@@ -1033,6 +1041,7 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist, ...@@ -1033,6 +1041,7 @@ static void btc8821a1ant_set_ant_path(struct btc_coexist *btcoexist,
break; break;
default: default:
case BTC_ANT_PATH_PTA: case BTC_ANT_PATH_PTA:
btcoexist->btc_write_1byte(btcoexist, 0xcb4, 0x66);
if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT)
btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7, btcoexist->btc_write_1byte_bitmask(btcoexist, 0xcb7,
0x30, 0x1); 0x30, 0x1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment