2017-11-07 20:07:53 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
2009-04-25 14:30:44 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* File: srom.h
|
|
|
|
*
|
|
|
|
* Purpose: Implement functions to access eeprom
|
|
|
|
*
|
|
|
|
* Author: Jerry Chen
|
|
|
|
*
|
|
|
|
* Date: Jan 29, 2003
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __SROM_H__
|
|
|
|
#define __SROM_H__
|
|
|
|
|
2009-08-12 21:54:03 +00:00
|
|
|
/*--------------------- Export Definitions -------------------------*/
|
|
|
|
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_MAX_CONTEXT_SIZE 256
|
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
#define CB_EEPROM_READBYTE_WAIT 900 /* us */
|
2009-04-25 14:30:44 +00:00
|
|
|
|
|
|
|
#define W_MAX_I2CRETRY 0x0fff
|
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
/* Contents in the EEPROM */
|
|
|
|
#define EEP_OFS_PAR 0x00 /* physical address */
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_OFS_ANTENNA 0x16
|
|
|
|
#define EEP_OFS_RADIOCTL 0x17
|
2015-02-19 23:43:12 +00:00
|
|
|
#define EEP_OFS_RFTYPE 0x1B /* for select RF */
|
|
|
|
#define EEP_OFS_MINCHANNEL 0x1C /* Min Channel # */
|
|
|
|
#define EEP_OFS_MAXCHANNEL 0x1D /* Max Channel # */
|
|
|
|
#define EEP_OFS_SIGNATURE 0x1E
|
|
|
|
#define EEP_OFS_ZONETYPE 0x1F
|
|
|
|
#define EEP_OFS_RFTABLE 0x20 /* RF POWER TABLE */
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_OFS_PWR_CCK 0x20
|
|
|
|
#define EEP_OFS_SETPT_CCK 0x21
|
|
|
|
#define EEP_OFS_PWR_OFDMG 0x23
|
|
|
|
#define EEP_OFS_SETPT_OFDMG 0x24
|
2015-02-19 23:43:12 +00:00
|
|
|
#define EEP_OFS_PWR_FORMULA_OST 0x26
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_OFS_MAJOR_VER 0x2E
|
|
|
|
#define EEP_OFS_MINOR_VER 0x2F
|
|
|
|
#define EEP_OFS_CCK_PWR_TBL 0x30
|
|
|
|
#define EEP_OFS_CCK_PWR_dBm 0x3F
|
|
|
|
#define EEP_OFS_OFDM_PWR_TBL 0x40
|
|
|
|
#define EEP_OFS_OFDM_PWR_dBm 0x4F
|
2015-02-19 23:43:12 +00:00
|
|
|
/*{{ RobertYu: 20041124 */
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_OFS_SETPT_OFDMA 0x4E
|
|
|
|
#define EEP_OFS_OFDMA_PWR_TBL 0x50
|
2015-02-19 23:43:12 +00:00
|
|
|
/*}}*/
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_OFS_OFDMA_PWR_dBm 0xD2
|
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
/*----------need to remove --------------------*/
|
|
|
|
#define EEP_OFS_BBTAB_LEN 0x70 /* BB Table Length */
|
|
|
|
#define EEP_OFS_BBTAB_ADR 0x71 /* BB Table Offset */
|
|
|
|
#define EEP_OFS_CHECKSUM 0xFF /* reserved area for baseband 28h~78h */
|
2009-04-25 14:30:44 +00:00
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
#define EEP_I2C_DEV_ID 0x50 /* EEPROM device address on I2C bus */
|
2009-04-25 14:30:44 +00:00
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
/* Bits in EEP_OFS_ANTENNA */
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_ANTENNA_MAIN 0x01
|
|
|
|
#define EEP_ANTENNA_AUX 0x02
|
|
|
|
#define EEP_ANTINV 0x04
|
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
/* Bits in EEP_OFS_RADIOCTL */
|
2009-04-25 14:30:44 +00:00
|
|
|
#define EEP_RADIOCTL_ENABLE 0x80
|
|
|
|
#define EEP_RADIOCTL_INV 0x01
|
|
|
|
|
|
|
|
/*--------------------- Export Types ------------------------------*/
|
|
|
|
|
|
|
|
/*--------------------- Export Macros ------------------------------*/
|
|
|
|
|
|
|
|
/*--------------------- Export Classes ----------------------------*/
|
|
|
|
|
|
|
|
/*--------------------- Export Variables --------------------------*/
|
|
|
|
|
|
|
|
/*--------------------- Export Functions --------------------------*/
|
|
|
|
|
2016-10-15 10:32:58 +00:00
|
|
|
unsigned char SROMbyReadEmbedded(void __iomem *iobase,
|
2015-02-20 22:51:02 +00:00
|
|
|
unsigned char byContntOffset);
|
2009-04-25 14:30:44 +00:00
|
|
|
|
2016-10-15 10:32:58 +00:00
|
|
|
void SROMvReadAllContents(void __iomem *iobase, unsigned char *pbyEepromRegs);
|
2009-04-25 14:30:44 +00:00
|
|
|
|
2016-10-15 10:32:58 +00:00
|
|
|
void SROMvReadEtherAddress(void __iomem *iobase,
|
2015-02-20 22:51:02 +00:00
|
|
|
unsigned char *pbyEtherAddress);
|
2009-04-25 14:30:44 +00:00
|
|
|
|
2015-02-19 23:43:12 +00:00
|
|
|
#endif /* __EEPROM_H__*/
|