Commit 9d81ecde authored by Xose Vazquez Perez's avatar Xose Vazquez Perez Committed by Kalle Valo

rt2x00: rt2800: add antenna diversity for RT5370G

RT5370G has hardware RX antenna diversity like RT5390R.
Based on DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2 manufacturer driver:
https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/drivers/DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2

Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
Cc: wireless newbie <wnewbie72@gmail.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux wireless ml <linux-wireless@vger.kernel.org>
Signed-off-by: default avatarXose Vazquez Perez <xose.vazquez@gmail.com>
Acked-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 863683cf
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
#define REV_RT3390E 0x0211 #define REV_RT3390E 0x0211
#define REV_RT3593E 0x0211 #define REV_RT3593E 0x0211
#define REV_RT5390F 0x0502 #define REV_RT5390F 0x0502
#define REV_RT5370G 0x0503
#define REV_RT5390R 0x1502 #define REV_RT5390R 0x1502
#define REV_RT5592C 0x0221 #define REV_RT5592C 0x0221
......
...@@ -6220,8 +6220,9 @@ static void rt2800_init_bbp_53xx(struct rt2x00_dev *rt2x00dev) ...@@ -6220,8 +6220,9 @@ static void rt2800_init_bbp_53xx(struct rt2x00_dev *rt2x00dev)
rt2800_register_write(rt2x00dev, GPIO_CTRL, reg); rt2800_register_write(rt2x00dev, GPIO_CTRL, reg);
} }
/* This chip has hardware antenna diversity*/ /* These chips have hardware RX antenna diversity */
if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) { if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R) ||
rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5370G)) {
rt2800_bbp_write(rt2x00dev, 150, 0); /* Disable Antenna Software OFDM */ rt2800_bbp_write(rt2x00dev, 150, 0); /* Disable Antenna Software OFDM */
rt2800_bbp_write(rt2x00dev, 151, 0); /* Disable Antenna Software CCK */ rt2800_bbp_write(rt2x00dev, 151, 0); /* Disable Antenna Software CCK */
rt2800_bbp_write(rt2x00dev, 154, 0); /* Clear previously selected antenna */ rt2800_bbp_write(rt2x00dev, 154, 0); /* Clear previously selected antenna */
...@@ -8748,7 +8749,9 @@ static int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev) ...@@ -8748,7 +8749,9 @@ static int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
rt2x00dev->default_ant.rx = ANTENNA_A; rt2x00dev->default_ant.rx = ANTENNA_A;
} }
if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) { /* These chips have hardware RX antenna diversity */
if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R) ||
rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5370G)) {
rt2x00dev->default_ant.tx = ANTENNA_HW_DIVERSITY; /* Unused */ rt2x00dev->default_ant.tx = ANTENNA_HW_DIVERSITY; /* Unused */
rt2x00dev->default_ant.rx = ANTENNA_HW_DIVERSITY; /* Unused */ rt2x00dev->default_ant.rx = ANTENNA_HW_DIVERSITY; /* Unused */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment