162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/* Copyright(c) 2016-2017  Realtek Corporation.*/
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include "halbt_precomp.h"
562306a36Sopenharmony_ci
662306a36Sopenharmony_civoid ex_hal8822b_wifi_only_hw_config(struct wifi_only_cfg *wifionlycfg)
762306a36Sopenharmony_ci{
862306a36Sopenharmony_ci	/*BB control*/
962306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x4c, 0x01800000, 0x2);
1062306a36Sopenharmony_ci	/*SW control*/
1162306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0xcb4, 0xff, 0x77);
1262306a36Sopenharmony_ci	/*antenna mux switch */
1362306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x974, 0x300, 0x3);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x1990, 0x300, 0x0);
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0xcbc, 0x80000, 0x0);
1862306a36Sopenharmony_ci	/*switch to WL side controller and gnt_wl gnt_bt debug signal */
1962306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x70, 0xff000000, 0x0e);
2062306a36Sopenharmony_ci	/*gnt_wl=1 , gnt_bt=0*/
2162306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x1704, 0xffffffff, 0x7700);
2262306a36Sopenharmony_ci	halwifionly_phy_set_bb_reg(wifionlycfg, 0x1700, 0xffffffff, 0xc00f0038);
2362306a36Sopenharmony_ci}
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_civoid ex_hal8822b_wifi_only_scannotify(struct wifi_only_cfg *wifionlycfg,
2662306a36Sopenharmony_ci				      u8 is_5g)
2762306a36Sopenharmony_ci{
2862306a36Sopenharmony_ci	hal8822b_wifi_only_switch_antenna(wifionlycfg, is_5g);
2962306a36Sopenharmony_ci}
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_civoid ex_hal8822b_wifi_only_switchbandnotify(struct wifi_only_cfg *wifionlycfg,
3262306a36Sopenharmony_ci					    u8 is_5g)
3362306a36Sopenharmony_ci{
3462306a36Sopenharmony_ci	hal8822b_wifi_only_switch_antenna(wifionlycfg, is_5g);
3562306a36Sopenharmony_ci}
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_civoid hal8822b_wifi_only_switch_antenna(struct wifi_only_cfg *wifionlycfg,
3862306a36Sopenharmony_ci				       u8 is_5g)
3962306a36Sopenharmony_ci{
4062306a36Sopenharmony_ci	if (is_5g)
4162306a36Sopenharmony_ci		halwifionly_phy_set_bb_reg(wifionlycfg, 0xcbc, 0x300, 0x1);
4262306a36Sopenharmony_ci	else
4362306a36Sopenharmony_ci		halwifionly_phy_set_bb_reg(wifionlycfg, 0xcbc, 0x300, 0x2);
4462306a36Sopenharmony_ci}
45