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
60bool IFRFbWriteEmbedded(struct vnt_private *priv, unsigned long dwData);
61bool RFbSelectChannel(struct vnt_private *priv, unsigned char rf_type, u16 byChannel);
62bool RFbInit(struct vnt_private *priv);
63bool rf_write_wake_prog_syn(struct vnt_private *priv, unsigned char rf_type, u16 channel);
64bool RFbSetPower(struct vnt_private *priv, unsigned int rate, u16 uCH);
65bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr,
66		    unsigned int rate);
67
68void RFvRSSITodBm(struct vnt_private *priv, unsigned char byCurrRSSI,
69		  long *pldBm);
70
71/* {{ RobertYu: 20050104 */
72bool RFbAL7230SelectChannelPostProcess(struct vnt_private *priv, u16 byOldChannel, u16 byNewChannel);
73/* }} RobertYu */
74
75#endif /* __RF_H__ */
76