blob: af208ec9308f31cdc50af55da4fd70a1678edb4c [file] [log] [blame]
Forest Bond92b96792009-06-13 07:38:31 -04001/*
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: srom.h
21 *
22 * Purpose: Implement functions to access eeprom
23 *
24 * Author: Jerry Chen
25 *
26 * Date: Jan 29, 2003
27 *
28 */
29
30
31#ifndef __SROM_H__
32#define __SROM_H__
33
34#if !defined(__TTYPE_H__)
35#include "ttype.h"
36#endif
37
38
39
40
41/*--------------------- Export Definitions -------------------------*/
42
43#define EEP_MAX_CONTEXT_SIZE 256
44
45#define CB_EEPROM_READBYTE_WAIT 900 //us
46
47#define W_MAX_I2CRETRY 0x0fff
48
49//
50// Contents in the EEPROM
51//
52#define EEP_OFS_PAR 0x00 // physical address
53#define EEP_OFS_ANTENNA 0x17
54#define EEP_OFS_RADIOCTL 0x18
55#define EEP_OFS_RFTYPE 0x1B // for select RF
56#define EEP_OFS_MINCHANNEL 0x1C // Min Channel #
57#define EEP_OFS_MAXCHANNEL 0x1D // Max Channel #
58#define EEP_OFS_SIGNATURE 0x1E //
59#define EEP_OFS_ZONETYPE 0x1F //
60#define EEP_OFS_RFTABLE 0x20 // RF POWER TABLE
61#define EEP_OFS_PWR_CCK 0x20
62#define EEP_OFS_SETPT_CCK 0x21
63#define EEP_OFS_PWR_OFDMG 0x23
64
65
66#define EEP_OFS_CALIB_TX_IQ 0x24
67#define EEP_OFS_CALIB_TX_DC 0x25
68#define EEP_OFS_CALIB_RX_IQ 0x26
69
70#define EEP_OFS_MAJOR_VER 0x2E
71#define EEP_OFS_MINOR_VER 0x2F
72
73#define EEP_OFS_CCK_PWR_TBL 0x30
74#define EEP_OFS_OFDM_PWR_TBL 0x40
75#define EEP_OFS_OFDMA_PWR_TBL 0x50
76
77//
78// Bits in EEP_OFS_ANTENNA
79//
80#define EEP_ANTENNA_MAIN 0x01
81#define EEP_ANTENNA_AUX 0x02
82#define EEP_ANTINV 0x04
83
84//
85// Bits in EEP_OFS_RADIOCTL
86//
87#define EEP_RADIOCTL_ENABLE 0x80
88
89/*--------------------- Export Types ------------------------------*/
90
91// AT24C02 eeprom contents
92// 2048 bits = 256 bytes = 128 words
93//
94typedef struct tagSSromReg {
95 BYTE abyPAR[6]; // 0x00 (WORD)
96
97 WORD wSUB_VID; // 0x03 (WORD)
98 WORD wSUB_SID;
99
100 BYTE byBCFG0; // 0x05 (WORD)
101 BYTE byBCFG1;
102
103 BYTE byFCR0; // 0x06 (WORD)
104 BYTE byFCR1;
105 BYTE byPMC0; // 0x07 (WORD)
106 BYTE byPMC1;
107 BYTE byMAXLAT; // 0x08 (WORD)
108 BYTE byMINGNT;
109 BYTE byCFG0; // 0x09 (WORD)
110 BYTE byCFG1;
111 WORD wCISPTR; // 0x0A (WORD)
112 WORD wRsv0; // 0x0B (WORD)
113 WORD wRsv1; // 0x0C (WORD)
114 BYTE byBBPAIR; // 0x0D (WORD)
115 BYTE byRFTYPE;
116 BYTE byMinChannel; // 0x0E (WORD)
117 BYTE byMaxChannel;
118 BYTE bySignature; // 0x0F (WORD)
119 BYTE byCheckSum;
120
121 BYTE abyReserved0[96]; // 0x10 (WORD)
122 BYTE abyCIS[128]; // 0x80 (WORD)
Jim Lieb193a8232009-08-12 14:54:06 -0700123} SSromReg, *PSSromReg;
Forest Bond92b96792009-06-13 07:38:31 -0400124
125/*--------------------- Export Macros ------------------------------*/
126
127/*--------------------- Export Classes ----------------------------*/
128
129/*--------------------- Export Variables --------------------------*/
130
131/*--------------------- Export Functions --------------------------*/
132#ifdef __cplusplus
133extern "C" { /* Assume C declarations for C++ */
134#endif /* __cplusplus */
135
136
137#ifdef __cplusplus
138} /* End of extern "C" { */
139#endif /* __cplusplus */
140
141
142
143
144#endif // __EEPROM_H__