~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/staging/vt6655/srom.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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: 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
#ifndef __SROM_H__
 
31
#define __SROM_H__
 
32
 
 
33
#include "ttype.h"
 
34
 
 
35
/*---------------------  Export Definitions -------------------------*/
 
36
 
 
37
#define EEP_MAX_CONTEXT_SIZE    256
 
38
 
 
39
#define CB_EEPROM_READBYTE_WAIT 900     //us
 
40
 
 
41
#define W_MAX_I2CRETRY          0x0fff
 
42
 
 
43
//
 
44
// Contents in the EEPROM
 
45
//
 
46
#define EEP_OFS_PAR         0x00        // physical address
 
47
#define EEP_OFS_ANTENNA     0x16
 
48
#define EEP_OFS_RADIOCTL    0x17
 
49
#define EEP_OFS_RFTYPE      0x1B        // for select RF
 
50
#define EEP_OFS_MINCHANNEL  0x1C        // Min Channel #
 
51
#define EEP_OFS_MAXCHANNEL  0x1D        // Max Channel #
 
52
#define EEP_OFS_SIGNATURE   0x1E        //
 
53
#define EEP_OFS_ZONETYPE    0x1F        //
 
54
#define EEP_OFS_RFTABLE     0x20        // RF POWER TABLE
 
55
#define EEP_OFS_PWR_CCK     0x20
 
56
#define EEP_OFS_SETPT_CCK   0x21
 
57
#define EEP_OFS_PWR_OFDMG   0x23
 
58
#define EEP_OFS_SETPT_OFDMG 0x24
 
59
#define EEP_OFS_PWR_FORMULA_OST  0x26   //
 
60
#define EEP_OFS_MAJOR_VER 0x2E
 
61
#define EEP_OFS_MINOR_VER 0x2F
 
62
#define EEP_OFS_CCK_PWR_TBL     0x30
 
63
#define EEP_OFS_CCK_PWR_dBm     0x3F
 
64
#define EEP_OFS_OFDM_PWR_TBL    0x40
 
65
#define EEP_OFS_OFDM_PWR_dBm    0x4F
 
66
//{{ RobertYu: 20041124
 
67
#define EEP_OFS_SETPT_OFDMA         0x4E
 
68
#define EEP_OFS_OFDMA_PWR_TBL       0x50
 
69
//}}
 
70
#define EEP_OFS_OFDMA_PWR_dBm       0xD2
 
71
 
 
72
 
 
73
//----------need to remove --------------------
 
74
#define EEP_OFS_BBTAB_LEN   0x70        // BB Table Length
 
75
#define EEP_OFS_BBTAB_ADR   0x71        // BB Table Offset
 
76
#define EEP_OFS_CHECKSUM    0xFF        // reserved area for baseband 28h ~ 78h
 
77
 
 
78
#define EEP_I2C_DEV_ID      0x50        // EEPROM device address on the I2C bus
 
79
 
 
80
 
 
81
//
 
82
// Bits in EEP_OFS_ANTENNA
 
83
//
 
84
#define EEP_ANTENNA_MAIN    0x01
 
85
#define EEP_ANTENNA_AUX     0x02
 
86
#define EEP_ANTINV          0x04
 
87
 
 
88
//
 
89
// Bits in EEP_OFS_RADIOCTL
 
90
//
 
91
#define EEP_RADIOCTL_ENABLE 0x80
 
92
#define EEP_RADIOCTL_INV    0x01
 
93
 
 
94
/*---------------------  Export Types  ------------------------------*/
 
95
 
 
96
// AT24C02 eeprom contents
 
97
//      2048 bits = 256 bytes = 128 words
 
98
//
 
99
typedef struct tagSSromReg {
 
100
    unsigned char abyPAR[6];                  // 0x00 (unsigned short)
 
101
 
 
102
    unsigned short wSUB_VID;                   // 0x03 (unsigned short)
 
103
    unsigned short wSUB_SID;
 
104
 
 
105
    unsigned char byBCFG0;                    // 0x05 (unsigned short)
 
106
    unsigned char byBCFG1;
 
107
 
 
108
    unsigned char byFCR0;                     // 0x06 (unsigned short)
 
109
    unsigned char byFCR1;
 
110
    unsigned char byPMC0;                     // 0x07 (unsigned short)
 
111
    unsigned char byPMC1;
 
112
    unsigned char byMAXLAT;                   // 0x08 (unsigned short)
 
113
    unsigned char byMINGNT;
 
114
    unsigned char byCFG0;                     // 0x09 (unsigned short)
 
115
    unsigned char byCFG1;
 
116
    unsigned short wCISPTR;                    // 0x0A (unsigned short)
 
117
    unsigned short wRsv0;                      // 0x0B (unsigned short)
 
118
    unsigned short wRsv1;                      // 0x0C (unsigned short)
 
119
    unsigned char byBBPAIR;                   // 0x0D (unsigned short)
 
120
    unsigned char byRFTYPE;
 
121
    unsigned char byMinChannel;               // 0x0E (unsigned short)
 
122
    unsigned char byMaxChannel;
 
123
    unsigned char bySignature;                // 0x0F (unsigned short)
 
124
    unsigned char byCheckSum;
 
125
 
 
126
    unsigned char abyReserved0[96];           // 0x10 (unsigned short)
 
127
    unsigned char abyCIS[128];                // 0x80 (unsigned short)
 
128
} SSromReg, *PSSromReg;
 
129
 
 
130
/*---------------------  Export Macros ------------------------------*/
 
131
 
 
132
/*---------------------  Export Classes  ----------------------------*/
 
133
 
 
134
/*---------------------  Export Variables  --------------------------*/
 
135
 
 
136
/*---------------------  Export Functions  --------------------------*/
 
137
 
 
138
unsigned char SROMbyReadEmbedded(unsigned long dwIoBase, unsigned char byContntOffset);
 
139
bool SROMbWriteEmbedded(unsigned long dwIoBase, unsigned char byContntOffset, unsigned char byData);
 
140
 
 
141
void SROMvRegBitsOn(unsigned long dwIoBase, unsigned char byContntOffset, unsigned char byBits);
 
142
void SROMvRegBitsOff(unsigned long dwIoBase, unsigned char byContntOffset, unsigned char byBits);
 
143
 
 
144
bool SROMbIsRegBitsOn(unsigned long dwIoBase, unsigned char byContntOffset, unsigned char byTestBits);
 
145
bool SROMbIsRegBitsOff(unsigned long dwIoBase, unsigned char byContntOffset, unsigned char byTestBits);
 
146
 
 
147
void SROMvReadAllContents(unsigned long dwIoBase, unsigned char *pbyEepromRegs);
 
148
void SROMvWriteAllContents(unsigned long dwIoBase, unsigned char *pbyEepromRegs);
 
149
 
 
150
void SROMvReadEtherAddress(unsigned long dwIoBase, unsigned char *pbyEtherAddress);
 
151
void SROMvWriteEtherAddress(unsigned long dwIoBase, unsigned char *pbyEtherAddress);
 
152
 
 
153
void SROMvReadSubSysVenId(unsigned long dwIoBase, unsigned long *pdwSubSysVenId);
 
154
 
 
155
bool SROMbAutoLoad (unsigned long dwIoBase);
 
156
 
 
157
#endif // __EEPROM_H__