xref: /openbmc/linux/drivers/staging/rtl8712/rtl871x_eeprom.h (revision 3eb66e91a25497065c5322b1268cbc3953642227)
1  /* SPDX-License-Identifier: GPL-2.0 */
2  /******************************************************************************
3   *
4   * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
5   *
6   ******************************************************************************/
7  #ifndef __RTL871X_EEPROM_H__
8  #define __RTL871X_EEPROM_H__
9  
10  #include "osdep_service.h"
11  
12  #define	RTL8712_EEPROM_ID		0x8712
13  #define	EEPROM_MAX_SIZE			256
14  #define	CLOCK_RATE			50	/*100us*/
15  
16  /*- EEPROM opcodes*/
17  #define EEPROM_READ_OPCODE		06
18  #define EEPROM_WRITE_OPCODE		05
19  #define EEPROM_ERASE_OPCODE		07
20  #define EEPROM_EWEN_OPCODE		19      /* Erase/write enable*/
21  #define EEPROM_EWDS_OPCODE		16      /* Erase/write disable*/
22  
23  #define	EEPROM_CID_DEFAULT		0x0
24  #define	EEPROM_CID_ALPHA		0x1
25  #define	EEPROM_CID_Senao		0x3
26  #define	EEPROM_CID_NetCore		0x5
27  #define	EEPROM_CID_CAMEO		0X8
28  #define	EEPROM_CID_SITECOM		0x9
29  #define	EEPROM_CID_COREGA		0xB
30  #define	EEPROM_CID_EDIMAX_BELKIN	0xC
31  #define	EEPROM_CID_SERCOMM_BELKIN	0xE
32  #define	EEPROM_CID_CAMEO1		0xF
33  #define	EEPROM_CID_WNC_COREGA		0x12
34  #define	EEPROM_CID_CLEVO		0x13
35  #define	EEPROM_CID_WHQL			0xFE
36  
37  enum RT_CUSTOMER_ID {
38  	RT_CID_DEFAULT = 0,
39  	RT_CID_8187_ALPHA0 = 1,
40  	RT_CID_8187_SERCOMM_PS = 2,
41  	RT_CID_8187_HW_LED = 3,
42  	RT_CID_8187_NETGEAR = 4,
43  	RT_CID_WHQL = 5,
44  	RT_CID_819x_CAMEO  = 6,
45  	RT_CID_819x_RUNTOP = 7,
46  	RT_CID_819x_Senao = 8,
47  	RT_CID_TOSHIBA = 9,
48  	RT_CID_819x_Netcore = 10,
49  	RT_CID_Nettronix = 11,
50  	RT_CID_DLINK = 12,
51  	RT_CID_PRONET = 13,
52  	RT_CID_COREGA = 14,
53  	RT_CID_819x_ALPHA = 15,
54  	RT_CID_819x_Sitecom = 16,
55  	RT_CID_CCX = 17,
56  	RT_CID_819x_Lenovo = 18,
57  	RT_CID_819x_QMI = 19,
58  	RT_CID_819x_Edimax_Belkin = 20,
59  	RT_CID_819x_Sercomm_Belkin = 21,
60  	RT_CID_819x_CAMEO1 = 22,
61  	RT_CID_819x_MSI = 23,
62  	RT_CID_819x_Acer = 24,
63  	RT_CID_819x_AzWave_ASUS = 25,
64  	RT_CID_819x_AzWave = 26,
65  	RT_CID_819x_WNC_COREGA = 27,
66  	RT_CID_819x_CLEVO = 28,
67  };
68  
69  struct eeprom_priv {
70  	u8 bautoload_fail_flag;
71  	u8 bempty;
72  	u8 sys_config;
73  	u8 mac_addr[6];
74  	u8 config0;
75  	u16 channel_plan;
76  	u8 country_string[3];
77  	u8 tx_power_b[15];
78  	u8 tx_power_g[15];
79  	u8 tx_power_a[201];
80  	u8 efuse_eeprom_data[EEPROM_MAX_SIZE];
81  	enum RT_CUSTOMER_ID CustomerID;
82  };
83  
84  void r8712_eeprom_write16(struct _adapter *padapter, u16 reg, u16 data);
85  u16 r8712_eeprom_read16(struct _adapter *padapter, u16 reg);
86  
87  #endif  /*__RTL871X_EEPROM_H__*/
88  
89