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