|
@@ -523,6 +523,46 @@ static void rtl8180_tx(struct ieee80211_hw *dev,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static void rtl8180_set_anaparam3(struct rtl8180_priv *priv, u16 anaparam3)
|
|
|
+{
|
|
|
+ u8 reg;
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD,
|
|
|
+ RTL818X_EEPROM_CMD_CONFIG);
|
|
|
+
|
|
|
+ reg = rtl818x_ioread8(priv, &priv->map->CONFIG3);
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->CONFIG3,
|
|
|
+ reg | RTL818X_CONFIG3_ANAPARAM_WRITE);
|
|
|
+
|
|
|
+ rtl818x_iowrite16(priv, &priv->map->ANAPARAM3, anaparam3);
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->CONFIG3,
|
|
|
+ reg & ~RTL818X_CONFIG3_ANAPARAM_WRITE);
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD,
|
|
|
+ RTL818X_EEPROM_CMD_NORMAL);
|
|
|
+}
|
|
|
+
|
|
|
+void rtl8180_set_anaparam2(struct rtl8180_priv *priv, u32 anaparam2)
|
|
|
+{
|
|
|
+ u8 reg;
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD,
|
|
|
+ RTL818X_EEPROM_CMD_CONFIG);
|
|
|
+
|
|
|
+ reg = rtl818x_ioread8(priv, &priv->map->CONFIG3);
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->CONFIG3,
|
|
|
+ reg | RTL818X_CONFIG3_ANAPARAM_WRITE);
|
|
|
+
|
|
|
+ rtl818x_iowrite32(priv, &priv->map->ANAPARAM2, anaparam2);
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->CONFIG3,
|
|
|
+ reg & ~RTL818X_CONFIG3_ANAPARAM_WRITE);
|
|
|
+
|
|
|
+ rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD,
|
|
|
+ RTL818X_EEPROM_CMD_NORMAL);
|
|
|
+}
|
|
|
+
|
|
|
void rtl8180_set_anaparam(struct rtl8180_priv *priv, u32 anaparam)
|
|
|
{
|
|
|
u8 reg;
|