1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2007 - 2011 Realtek Corporation. */
3 
4 #include "../include/odm_precomp.h"
5 /*  ODM IO Relative API. */
6 
ODM_Read1Byte(struct odm_dm_struct * pDM_Odm,u32 RegAddr)7 u8 ODM_Read1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr)
8 {
9 	struct adapter *Adapter = pDM_Odm->Adapter;
10 	return rtw_read8(Adapter, RegAddr);
11 }
12 
ODM_Read4Byte(struct odm_dm_struct * pDM_Odm,u32 RegAddr)13 u32 ODM_Read4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr)
14 {
15 	struct adapter *Adapter = pDM_Odm->Adapter;
16 	return rtw_read32(Adapter, RegAddr);
17 }
18 
ODM_Write1Byte(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u8 Data)19 void ODM_Write1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u8 Data)
20 {
21 	struct adapter *Adapter = pDM_Odm->Adapter;
22 	rtw_write8(Adapter, RegAddr, Data);
23 }
24 
ODM_Write2Byte(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u16 Data)25 void ODM_Write2Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u16 Data)
26 {
27 	struct adapter *Adapter = pDM_Odm->Adapter;
28 	rtw_write16(Adapter, RegAddr, Data);
29 }
30 
ODM_Write4Byte(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u32 Data)31 void ODM_Write4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 Data)
32 {
33 	struct adapter *Adapter = pDM_Odm->Adapter;
34 	rtw_write32(Adapter, RegAddr, Data);
35 }
36 
ODM_SetMACReg(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u32 BitMask,u32 Data)37 void ODM_SetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask, u32 Data)
38 {
39 	struct adapter *Adapter = pDM_Odm->Adapter;
40 	PHY_SetBBReg(Adapter, RegAddr, BitMask, Data);
41 }
42 
ODM_GetMACReg(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u32 BitMask)43 u32 ODM_GetMACReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask)
44 {
45 	struct adapter *Adapter = pDM_Odm->Adapter;
46 	return PHY_QueryBBReg(Adapter, RegAddr, BitMask);
47 }
48 
ODM_SetBBReg(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u32 BitMask,u32 Data)49 void ODM_SetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask, u32 Data)
50 {
51 	struct adapter *Adapter = pDM_Odm->Adapter;
52 	PHY_SetBBReg(Adapter, RegAddr, BitMask, Data);
53 }
54 
ODM_GetBBReg(struct odm_dm_struct * pDM_Odm,u32 RegAddr,u32 BitMask)55 u32 ODM_GetBBReg(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u32 BitMask)
56 {
57 	struct adapter *Adapter = pDM_Odm->Adapter;
58 	return PHY_QueryBBReg(Adapter, RegAddr, BitMask);
59 }
60 
ODM_SetRFReg(struct odm_dm_struct * pDM_Odm,enum rf_radio_path eRFPath,u32 RegAddr,u32 BitMask,u32 Data)61 void ODM_SetRFReg(struct odm_dm_struct *pDM_Odm, enum rf_radio_path	eRFPath, u32 RegAddr, u32 BitMask, u32 Data)
62 {
63 	struct adapter *Adapter = pDM_Odm->Adapter;
64 	PHY_SetRFReg(Adapter, (enum rf_radio_path)eRFPath, RegAddr, BitMask, Data);
65 }
66 
ODM_GetRFReg(struct odm_dm_struct * pDM_Odm,enum rf_radio_path eRFPath,u32 RegAddr,u32 BitMask)67 u32 ODM_GetRFReg(struct odm_dm_struct *pDM_Odm, enum rf_radio_path	eRFPath, u32 RegAddr, u32 BitMask)
68 {
69 	struct adapter *Adapter = pDM_Odm->Adapter;
70 	return PHY_QueryRFReg(Adapter, (enum rf_radio_path)eRFPath, RegAddr, BitMask);
71 }
72 
73 /*  ODM Memory relative API. */
ODM_CompareMemory(struct odm_dm_struct * pDM_Odm,void * pBuf1,void * pBuf2,u32 length)74 s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2, u32 length)
75 {
76 	return !memcmp(pBuf1, pBuf2, length);
77 }
78 
79 /*  ODM Timer relative API. */
ODM_delay_ms(u32 ms)80 void ODM_delay_ms(u32 ms)
81 {
82 	mdelay(ms);
83 }
84 
ODM_delay_us(u32 us)85 void ODM_delay_us(u32 us)
86 {
87 	udelay(us);
88 }
89 
ODM_sleep_ms(u32 ms)90 void ODM_sleep_ms(u32 ms)
91 {
92 	msleep(ms);
93 }
94