forked from Minki/linux
rtl8180: add rtl8187se params to eeprom reading
rtl8187se nees extra parameters to be read from the eeprom. This patch adds support for it Signed-off-by: Andrea Merello <andrea.merello@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f1026df86a
commit
fc32ac911e
@ -1320,7 +1320,10 @@ static void rtl8180_eeprom_read(struct rtl8180_priv *priv)
|
||||
|
||||
eeprom_93cx6_multiread(&eeprom, 0x7, (__le16 *)priv->mac_addr, 3);
|
||||
|
||||
eeprom_cck_table_adr = 0x10;
|
||||
if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE)
|
||||
eeprom_cck_table_adr = 0x30;
|
||||
else
|
||||
eeprom_cck_table_adr = 0x10;
|
||||
|
||||
/* CCK TX power */
|
||||
for (i = 0; i < 14; i += 2) {
|
||||
@ -1348,6 +1351,19 @@ static void rtl8180_eeprom_read(struct rtl8180_priv *priv)
|
||||
eeprom_93cx6_read(&eeprom, 0x19, &priv->rfparam);
|
||||
}
|
||||
|
||||
if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE) {
|
||||
eeprom_93cx6_read(&eeprom, 0x3F, &eeprom_val);
|
||||
priv->antenna_diversity_en = !!(eeprom_val & 0x100);
|
||||
priv->antenna_diversity_default = (eeprom_val & 0xC00) == 0x400;
|
||||
|
||||
eeprom_93cx6_read(&eeprom, 0x7C, &eeprom_val);
|
||||
priv->xtal_out = eeprom_val & 0xF;
|
||||
priv->xtal_in = (eeprom_val & 0xF0) >> 4;
|
||||
priv->xtal_cal = !!(eeprom_val & 0x1000);
|
||||
priv->thermal_meter_val = (eeprom_val & 0xF00) >> 8;
|
||||
priv->thermal_meter_en = !!(eeprom_val & 0x2000);
|
||||
}
|
||||
|
||||
rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD,
|
||||
RTL818X_EEPROM_CMD_NORMAL);
|
||||
}
|
||||
|
@ -132,6 +132,13 @@ struct rtl8180_priv {
|
||||
u8 csthreshold;
|
||||
u8 mac_addr[ETH_ALEN];
|
||||
u8 rf_type;
|
||||
u8 xtal_out;
|
||||
u8 xtal_in;
|
||||
u8 xtal_cal;
|
||||
u8 thermal_meter_val;
|
||||
u8 thermal_meter_en;
|
||||
u8 antenna_diversity_en;
|
||||
u8 antenna_diversity_default;
|
||||
/* sequence # */
|
||||
u16 seqno;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user