xref: /linux/drivers/staging/vt6655/rf.h (revision fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed)
1 /*
2  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3  * All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * File: rf.h
16  *
17  * Purpose:
18  *
19  * Author: Jerry Chen
20  *
21  * Date: Feb. 19, 2004
22  *
23  */
24 
25 #ifndef __RF_H__
26 #define __RF_H__
27 
28 #include "device.h"
29 
30 /*---------------------  Export Definitions -------------------------*/
31 /*
32  * Baseband RF pair definition in eeprom (Bits 6..0)
33  */
34 #define RF_RFMD2959             0x01
35 #define RF_MAXIMAG              0x02
36 #define RF_AIROHA               0x03
37 
38 #define RF_UW2451               0x05
39 #define RF_MAXIMG               0x06
40 #define RF_MAXIM2829            0x07 /* RobertYu: 20041118 */
41 #define RF_UW2452               0x08 /* RobertYu: 20041210 */
42 #define RF_AIROHA7230           0x0a /* RobertYu: 20050104 */
43 #define RF_UW2453               0x0b
44 
45 #define RF_VT3226               0x09
46 #define RF_AL2230S              0x0e
47 
48 #define RF_NOTHING              0x7E
49 #define RF_EMU                  0x80
50 #define RF_MASK                 0x7F
51 
52 #define ZONE_FCC                0
53 #define ZONE_MKK1               1
54 #define ZONE_ETSI               2
55 #define ZONE_IC                 3
56 #define ZONE_SPAIN              4
57 #define ZONE_FRANCE             5
58 #define ZONE_MKK                6
59 #define ZONE_ISRAEL             7
60 
61 /* [20050104] CB_MAXIM2829_CHANNEL_5G_HIGH, CB_UW2452_CHANNEL_5G_HIGH: 40==>41 */
62 #define CB_MAXIM2829_CHANNEL_5G_HIGH    41 /* Index41: channel = 100, Tf = 5500MHz, set the (A3:A0=0101) D6=1 */
63 #define CB_UW2452_CHANNEL_5G_HIGH       41 /* [20041210] Index41: channel = 100, Tf = 5500MHz, change VCO2->VCO3 */
64 
65 /*---------------------  Export Classes  ----------------------------*/
66 
67 /*---------------------  Export Variables  --------------------------*/
68 
69 /*---------------------  Export Functions  --------------------------*/
70 
71 bool IFRFbWriteEmbedded(struct vnt_private *, unsigned long dwData);
72 bool RFbSelectChannel(struct vnt_private *, unsigned char byRFType, u16);
73 bool RFbInit(
74 	struct vnt_private *
75 );
76 bool RFvWriteWakeProgSyn(struct vnt_private *, unsigned char byRFType, u16);
77 bool RFbSetPower(struct vnt_private *, unsigned int rate, u16);
78 bool RFbRawSetPower(
79 	struct vnt_private *,
80 	unsigned char byPwr,
81 	unsigned int rate
82 );
83 
84 void
85 RFvRSSITodBm(
86 	struct vnt_private *,
87 	unsigned char byCurrRSSI,
88 	long    *pldBm
89 );
90 
91 /* {{ RobertYu: 20050104 */
92 bool RFbAL7230SelectChannelPostProcess(struct vnt_private *, u16, u16);
93 /* }} RobertYu */
94 
95 #endif /* __RF_H__ */
96