blob: 531bf0069373fa0c8a9a934de045b465e1ba0e09 [file] [log] [blame]
Forest Bond5449c682009-04-25 10:30:44 -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
Forest Bond5449c682009-04-25 10:30:44 -040027 */
28
Forest Bond5449c682009-04-25 10:30:44 -040029#ifndef __SROM_H__
30#define __SROM_H__
31
Jim Lieb612822f2009-08-12 14:54:03 -070032/*--------------------- Export Definitions -------------------------*/
33
Forest Bond5449c682009-04-25 10:30:44 -040034#define EEP_MAX_CONTEXT_SIZE 256
35
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080036#define CB_EEPROM_READBYTE_WAIT 900 /* us */
Forest Bond5449c682009-04-25 10:30:44 -040037
38#define W_MAX_I2CRETRY 0x0fff
39
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080040/* Contents in the EEPROM */
41#define EEP_OFS_PAR 0x00 /* physical address */
Forest Bond5449c682009-04-25 10:30:44 -040042#define EEP_OFS_ANTENNA 0x16
43#define EEP_OFS_RADIOCTL 0x17
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080044#define EEP_OFS_RFTYPE 0x1B /* for select RF */
45#define EEP_OFS_MINCHANNEL 0x1C /* Min Channel # */
46#define EEP_OFS_MAXCHANNEL 0x1D /* Max Channel # */
47#define EEP_OFS_SIGNATURE 0x1E
48#define EEP_OFS_ZONETYPE 0x1F
49#define EEP_OFS_RFTABLE 0x20 /* RF POWER TABLE */
Forest Bond5449c682009-04-25 10:30:44 -040050#define EEP_OFS_PWR_CCK 0x20
51#define EEP_OFS_SETPT_CCK 0x21
52#define EEP_OFS_PWR_OFDMG 0x23
53#define EEP_OFS_SETPT_OFDMG 0x24
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080054#define EEP_OFS_PWR_FORMULA_OST 0x26
Forest Bond5449c682009-04-25 10:30:44 -040055#define EEP_OFS_MAJOR_VER 0x2E
56#define EEP_OFS_MINOR_VER 0x2F
57#define EEP_OFS_CCK_PWR_TBL 0x30
58#define EEP_OFS_CCK_PWR_dBm 0x3F
59#define EEP_OFS_OFDM_PWR_TBL 0x40
60#define EEP_OFS_OFDM_PWR_dBm 0x4F
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080061/*{{ RobertYu: 20041124 */
Forest Bond5449c682009-04-25 10:30:44 -040062#define EEP_OFS_SETPT_OFDMA 0x4E
63#define EEP_OFS_OFDMA_PWR_TBL 0x50
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080064/*}}*/
Forest Bond5449c682009-04-25 10:30:44 -040065#define EEP_OFS_OFDMA_PWR_dBm 0xD2
66
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080067/*----------need to remove --------------------*/
68#define EEP_OFS_BBTAB_LEN 0x70 /* BB Table Length */
69#define EEP_OFS_BBTAB_ADR 0x71 /* BB Table Offset */
70#define EEP_OFS_CHECKSUM 0xFF /* reserved area for baseband 28h~78h */
Forest Bond5449c682009-04-25 10:30:44 -040071
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080072#define EEP_I2C_DEV_ID 0x50 /* EEPROM device address on I2C bus */
Forest Bond5449c682009-04-25 10:30:44 -040073
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080074/* Bits in EEP_OFS_ANTENNA */
Forest Bond5449c682009-04-25 10:30:44 -040075#define EEP_ANTENNA_MAIN 0x01
76#define EEP_ANTENNA_AUX 0x02
77#define EEP_ANTINV 0x04
78
Katie Dunne0cc5a4f2015-02-19 15:43:12 -080079/* Bits in EEP_OFS_RADIOCTL */
Forest Bond5449c682009-04-25 10:30:44 -040080#define EEP_RADIOCTL_ENABLE 0x80
81#define EEP_RADIOCTL_INV 0x01
82
Forest Bond5449c682009-04-25 10:30:44 -040083/*--------------------- Export Types ------------------------------*/
84
Forest Bond5449c682009-04-25 10:30:44 -040085/*--------------------- Export Macros ------------------------------*/
86
87/*--------------------- Export Classes ----------------------------*/
88
89/*--------------------- Export Variables --------------------------*/
90
91/*--------------------- Export Functions --------------------------*/
Forest Bond5449c682009-04-25 10:30:44 -040092
Katie Dunne4d363022015-02-20 14:51:02 -080093unsigned char SROMbyReadEmbedded(void __iomem *dwIoBase,
94 unsigned char byContntOffset);
Forest Bond5449c682009-04-25 10:30:44 -040095
Guillaume Clement16834402014-07-22 22:08:26 +020096void SROMvReadAllContents(void __iomem *dwIoBase, unsigned char *pbyEepromRegs);
Forest Bond5449c682009-04-25 10:30:44 -040097
Katie Dunne4d363022015-02-20 14:51:02 -080098void SROMvReadEtherAddress(void __iomem *dwIoBase,
99 unsigned char *pbyEtherAddress);
Forest Bond5449c682009-04-25 10:30:44 -0400100
Katie Dunne0cc5a4f2015-02-19 15:43:12 -0800101#endif /* __EEPROM_H__*/