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 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 *
20 * File: rf.h
21 *
22 * Purpose:
23 *
24 * Author: Jerry Chen
25 *
26 * Date: Feb. 19, 2004
27 *
28 */
29
30#ifndef __RF_H__
31#define __RF_H__
32
33#include "device.h"
34
35/*---------------------  Export Definitions -------------------------*/
36//
37// Baseband RF pair definition in eeprom (Bits 6..0)
38//
39#define RF_RFMD2959             0x01
40#define RF_MAXIMAG              0x02
41#define RF_AIROHA               0x03
42
43#define RF_UW2451               0x05
44#define RF_MAXIMG               0x06
45#define RF_MAXIM2829            0x07 // RobertYu: 20041118
46#define RF_UW2452               0x08 // RobertYu: 20041210
47#define RF_AIROHA7230           0x0a // RobertYu: 20050104
48#define RF_UW2453               0x0b
49
50#define RF_VT3226               0x09
51#define RF_AL2230S              0x0e
52
53#define RF_NOTHING              0x7E
54#define RF_EMU                  0x80
55#define RF_MASK                 0x7F
56
57#define ZONE_FCC                0
58#define ZONE_MKK1               1
59#define ZONE_ETSI               2
60#define ZONE_IC                 3
61#define ZONE_SPAIN              4
62#define ZONE_FRANCE             5
63#define ZONE_MKK                6
64#define ZONE_ISRAEL             7
65
66//[20050104] CB_MAXIM2829_CHANNEL_5G_HIGH, CB_UW2452_CHANNEL_5G_HIGH: 40==>41
67#define CB_MAXIM2829_CHANNEL_5G_HIGH    41 //Index41: channel = 100, Tf = 5500MHz, set the (A3:A0=0101) D6=1
68#define CB_UW2452_CHANNEL_5G_HIGH       41 //[20041210] Index41: channel = 100, Tf = 5500MHz, change VCO2->VCO3
69
70/*---------------------  Export Classes  ----------------------------*/
71
72/*---------------------  Export Variables  --------------------------*/
73
74/*---------------------  Export Functions  --------------------------*/
75
76bool IFRFbWriteEmbedded(struct vnt_private *, unsigned long dwData);
77bool RFbSelectChannel(struct vnt_private *, unsigned char byRFType, u16);
78bool RFbInit(
79	struct vnt_private *
80);
81bool RFvWriteWakeProgSyn(struct vnt_private *, unsigned char byRFType, u16);
82bool RFbSetPower(struct vnt_private *, unsigned int uRATE, u16);
83bool RFbRawSetPower(
84	struct vnt_private *,
85	unsigned char byPwr,
86	unsigned int uRATE
87);
88
89void
90RFvRSSITodBm(
91	struct vnt_private *,
92	unsigned char byCurrRSSI,
93	long    *pldBm
94);
95
96//{{ RobertYu: 20050104
97bool RFbAL7230SelectChannelPostProcess(struct vnt_private *, u16, u16);
98//}} RobertYu
99
100#endif // __RF_H__
101