x86/xen: resume timer irqs early
[linux/fpc-iii.git] / drivers / staging / vt6655 / baseband.h
blobe31bb7600673fb2a8b7e64b937da0247479c8549
1 /*
2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3 * All rights reserved.
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.
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.
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.
20 * File: baseband.h
22 * Purpose: Implement functions to access baseband
24 * Author: Jerry Chen
26 * Date: Jun. 5, 2002
30 #ifndef __BASEBAND_H__
31 #define __BASEBAND_H__
33 #include "ttype.h"
34 #include "tether.h"
35 #include "device.h"
37 /*--------------------- Export Definitions -------------------------*/
40 // Registers in the BASEBAND
42 #define BB_MAX_CONTEXT_SIZE 256
45 // Baseband RF pair definition in eeprom (Bits 6..0)
48 #define PREAMBLE_LONG 0
49 #define PREAMBLE_SHORT 1
51 #define F5G 0
52 #define F2_4G 1
54 #define TOP_RATE_54M 0x80000000
55 #define TOP_RATE_48M 0x40000000
56 #define TOP_RATE_36M 0x20000000
57 #define TOP_RATE_24M 0x10000000
58 #define TOP_RATE_18M 0x08000000
59 #define TOP_RATE_12M 0x04000000
60 #define TOP_RATE_11M 0x02000000
61 #define TOP_RATE_9M 0x01000000
62 #define TOP_RATE_6M 0x00800000
63 #define TOP_RATE_55M 0x00400000
64 #define TOP_RATE_2M 0x00200000
65 #define TOP_RATE_1M 0x00100000
67 /*--------------------- Export Types ------------------------------*/
69 /*--------------------- Export Macros ------------------------------*/
71 #define BBvClearFOE(dwIoBase) \
72 BBbWriteEmbedded(dwIoBase, 0xB1, 0)
74 #define BBvSetFOE(dwIoBase) \
75 BBbWriteEmbedded(dwIoBase, 0xB1, 0x0C)
77 /*--------------------- Export Classes ----------------------------*/
79 /*--------------------- Export Variables --------------------------*/
81 /*--------------------- Export Functions --------------------------*/
83 unsigned int
84 BBuGetFrameTime(
85 unsigned char byPreambleType,
86 unsigned char byPktType,
87 unsigned int cbFrameLength,
88 unsigned short wRate
91 void
92 BBvCalculateParameter(
93 PSDevice pDevice,
94 unsigned int cbFrameLength,
95 unsigned short wRate,
96 unsigned char byPacketType,
97 unsigned short *pwPhyLen,
98 unsigned char *pbyPhySrv,
99 unsigned char *pbyPhySgn
102 bool BBbReadEmbedded(unsigned long dwIoBase, unsigned char byBBAddr, unsigned char *pbyData);
103 bool BBbWriteEmbedded(unsigned long dwIoBase, unsigned char byBBAddr, unsigned char byData);
105 void BBvReadAllRegs(unsigned long dwIoBase, unsigned char *pbyBBRegs);
106 void BBvLoopbackOn(PSDevice pDevice);
107 void BBvLoopbackOff(PSDevice pDevice);
108 void BBvSetShortSlotTime(PSDevice pDevice);
109 bool BBbIsRegBitsOn(unsigned long dwIoBase, unsigned char byBBAddr, unsigned char byTestBits);
110 bool BBbIsRegBitsOff(unsigned long dwIoBase, unsigned char byBBAddr, unsigned char byTestBits);
111 void BBvSetVGAGainOffset(PSDevice pDevice, unsigned char byData);
113 // VT3253 Baseband
114 bool BBbVT3253Init(PSDevice pDevice);
115 void BBvSoftwareReset(unsigned long dwIoBase);
116 void BBvPowerSaveModeON(unsigned long dwIoBase);
117 void BBvPowerSaveModeOFF(unsigned long dwIoBase);
118 void BBvSetTxAntennaMode(unsigned long dwIoBase, unsigned char byAntennaMode);
119 void BBvSetRxAntennaMode(unsigned long dwIoBase, unsigned char byAntennaMode);
120 void BBvSetDeepSleep(unsigned long dwIoBase, unsigned char byLocalID);
121 void BBvExitDeepSleep(unsigned long dwIoBase, unsigned char byLocalID);
123 // timer for antenna diversity
125 void
126 TimerSQ3CallBack(
127 void *hDeviceContext
130 void
131 TimerState1CallBack(
132 void *hDeviceContext
135 void BBvAntennaDiversity(PSDevice pDevice, unsigned char byRxRate, unsigned char bySQ3);
136 void
137 BBvClearAntDivSQ3Value(PSDevice pDevice);
139 #endif // __BASEBAND_H__