1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2007 - 2012 Realtek Corporation. */
3 
4 #ifndef __HAL_INTF_H__
5 #define __HAL_INTF_H__
6 
7 #include "osdep_service.h"
8 #include "drv_types.h"
9 #include "Hal8188EPhyCfg.h"
10 
11 enum hw_variables {
12 	HW_VAR_SET_OPMODE,
13 	HW_VAR_BASIC_RATE,
14 	HW_VAR_CORRECT_TSF,
15 	HW_VAR_MLME_SITESURVEY,
16 	HW_VAR_SLOT_TIME,
17 	HW_VAR_DM_FLAG,
18 	HW_VAR_DM_FUNC_OP,
19 	HW_VAR_DM_FUNC_RESET,
20 	HW_VAR_DM_FUNC_CLR,
21 	HW_VAR_AMPDU_FACTOR,
22 	HW_VAR_H2C_MEDIA_STATUS_RPT,
23 };
24 
25 typedef s32 (*c2h_id_filter)(u8 id);
26 
27 #define is_boot_from_eeprom(adapter) (adapter->eeprompriv.EepromOrEfuse)
28 
29 void rtl8188eu_interface_configure(struct adapter *adapt);
30 void ReadAdapterInfo8188EU(struct adapter *Adapter);
31 void rtl8188eu_init_default_value(struct adapter *adapt);
32 void rtl8188e_SetHalODMVar(struct adapter *Adapter, void *pValue1, bool bSet);
33 u32 rtl8188eu_InitPowerOn(struct adapter *adapt);
34 void rtl8188e_EfusePowerSwitch(struct adapter *pAdapter, u8 PwrState);
35 void rtl8188e_ReadEFuse(struct adapter *Adapter, u16 _offset, u16 _size_byte, u8 *pbuf);
36 
37 void hal_notch_filter_8188e(struct adapter *adapter, bool enable);
38 
39 void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt);
40 void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level);
41 
42 int rtl8188e_IOL_exec_cmds_sync(struct adapter *adapter,
43 				struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt);
44 
45 unsigned int rtl8188eu_inirp_init(struct adapter *Adapter);
46 
47 void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val);
48 
49 uint rtw_hal_init(struct adapter *padapter);
50 uint rtw_hal_deinit(struct adapter *padapter);
51 void rtw_hal_stop(struct adapter *padapter);
52 
53 u32 rtl8188eu_hal_init(struct adapter *Adapter);
54 u32 rtl8188eu_hal_deinit(struct adapter *Adapter);
55 
56 void rtw_hal_update_ra_mask(struct adapter *padapter, u32 mac_id, u8 level);
57 void	rtw_hal_clone_data(struct adapter *dst_adapt,
58 			   struct adapter *src_adapt);
59 
60 void indicate_wx_scan_complete_event(struct adapter *padapter);
61 u8 rtw_do_join(struct adapter *padapter);
62 
63 #endif /* __HAL_INTF_H__ */
64