1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
4  * All rights reserved.
5  *
6  * Purpose:
7  *
8  * Author: Jerry Chen
9  *
10  * Date: Feb. 19, 2004
11  *
12  */
13 
14 #ifndef __RF_H__
15 #define __RF_H__
16 
17 #include "device.h"
18 
19 /*---------------------  Export Definitions -------------------------*/
20 /*
21  * Baseband RF pair definition in eeprom (Bits 6..0)
22  */
23 #define RF_RFMD2959             0x01
24 #define RF_MAXIMAG              0x02
25 #define RF_AIROHA               0x03
26 
27 #define RF_UW2451               0x05
28 #define RF_MAXIMG               0x06
29 #define RF_MAXIM2829            0x07 /* RobertYu: 20041118 */
30 #define RF_UW2452               0x08 /* RobertYu: 20041210 */
31 #define RF_AIROHA7230           0x0a /* RobertYu: 20050104 */
32 #define RF_UW2453               0x0b
33 
34 #define RF_VT3226               0x09
35 #define RF_AL2230S              0x0e
36 
37 #define RF_NOTHING              0x7E
38 #define RF_EMU                  0x80
39 #define RF_MASK                 0x7F
40 
41 #define ZONE_FCC                0
42 #define ZONE_MKK1               1
43 #define ZONE_ETSI               2
44 #define ZONE_IC                 3
45 #define ZONE_SPAIN              4
46 #define ZONE_FRANCE             5
47 #define ZONE_MKK                6
48 #define ZONE_ISRAEL             7
49 
50 /* [20050104] CB_MAXIM2829_CHANNEL_5G_HIGH, CB_UW2452_CHANNEL_5G_HIGH: 40==>41 */
51 #define CB_MAXIM2829_CHANNEL_5G_HIGH    41 /* Index41: channel = 100, Tf = 5500MHz, set the (A3:A0=0101) D6=1 */
52 #define CB_UW2452_CHANNEL_5G_HIGH       41 /* [20041210] Index41: channel = 100, Tf = 5500MHz, change VCO2->VCO3 */
53 
54 /*---------------------  Export Classes  ----------------------------*/
55 
56 /*---------------------  Export Variables  --------------------------*/
57 
58 /*---------------------  Export Functions  --------------------------*/
59 
60 bool IFRFbWriteEmbedded(struct vnt_private *priv, unsigned long dwData);
61 bool RFbSelectChannel(struct vnt_private *priv, unsigned char byRFType, u16 byChannel);
62 bool RFbInit(struct vnt_private *priv);
63 bool rf_write_wake_prog_syn(struct vnt_private *priv, unsigned char rf_type, u16 channel);
64 bool RFbSetPower(struct vnt_private *priv, unsigned int rate, u16 uCH);
65 bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr,
66 		    unsigned int rate);
67 
68 void RFvRSSITodBm(struct vnt_private *priv, unsigned char byCurrRSSI,
69 		  long *pldBm);
70 
71 /* {{ RobertYu: 20050104 */
72 bool RFbAL7230SelectChannelPostProcess(struct vnt_private *priv, u16 byOldChannel, u16 byNewChannel);
73 /* }} RobertYu */
74 
75 #endif /* __RF_H__ */
76