halbtc8821cwifionly.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef __INC_HAL8821CWIFIONLYHWCFG_H
  2. #define __INC_HAL8821CWIFIONLYHWCFG_H
  3. struct rfe_type_8821c_wifi_only {
  4. u8 rfe_module_type;
  5. boolean ext_ant_switch_exist;
  6. u8 ext_ant_switch_type; /* 0:DPDT, 1:SPDT */
  7. u8 ext_ant_switch_ctrl_polarity; /* iF 0: DPDT_P=0, DPDT_N=1 => BTG to Main, WL_A+G to Aux */
  8. boolean ant_at_main_port;
  9. boolean wlg_Locate_at_btg; /* If true: WLG at BTG, If false: WLG at WLAG */
  10. boolean ext_ant_switch_diversity; /* If diversity on */
  11. };
  12. enum bt_8821c_wifi_only_ext_ant_switch_type {
  13. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_USE_DPDT = 0x0,
  14. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_USE_SPDT = 0x1,
  15. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_NONE = 0x2,
  16. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_MAX
  17. };
  18. enum bt_8821c_wifi_only_ext_ant_switch_ctrl_type {
  19. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_BBSW = 0x0,
  20. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_PTA = 0x1,
  21. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_ANTDIV = 0x2,
  22. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_MAC = 0x3,
  23. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_BT = 0x4,
  24. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_MAX
  25. };
  26. enum bt_8821c_wifi_only_ext_ant_switch_pos_type {
  27. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_BT = 0x0,
  28. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_WLG = 0x1,
  29. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_WLA = 0x2,
  30. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_NOCARE = 0x3,
  31. BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_MAX
  32. };
  33. VOID
  34. hal8821c_wifi_only_switch_antenna(
  35. IN struct wifi_only_cfg *pwifionlycfg,
  36. IN u1Byte is_5g
  37. );
  38. VOID
  39. halbtc8821c_wifi_only_set_rfe_type(
  40. IN struct wifi_only_cfg *pwifionlycfg
  41. );
  42. VOID
  43. ex_hal8821c_wifi_only_hw_config(
  44. IN struct wifi_only_cfg *pwifionlycfg
  45. );
  46. VOID
  47. ex_hal8821c_wifi_only_scannotify(
  48. IN struct wifi_only_cfg *pwifionlycfg,
  49. IN u1Byte is_5g
  50. );
  51. VOID
  52. ex_hal8821c_wifi_only_switchbandnotify(
  53. IN struct wifi_only_cfg *pwifionlycfg,
  54. IN u1Byte is_5g
  55. );
  56. #endif