aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2800lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800lib.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index bd1980202f19..1cd16b416024 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -3356,6 +3356,13 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
3356 rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 3356 rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg);
3357 } 3357 }
3358 3358
3359 /* This chip has hardware antenna diversity*/
3360 if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) {
3361 rt2800_bbp_write(rt2x00dev, 150, 0); /* Disable Antenna Software OFDM */
3362 rt2800_bbp_write(rt2x00dev, 151, 0); /* Disable Antenna Software CCK */
3363 rt2800_bbp_write(rt2x00dev, 154, 0); /* Clear previously selected antenna */
3364 }
3365
3359 rt2800_bbp_read(rt2x00dev, 152, &value); 3366 rt2800_bbp_read(rt2x00dev, 152, &value);
3360 if (ant == 0) 3367 if (ant == 0)
3361 rt2x00_set_field8(&value, BBP152_RX_DEFAULT_ANT, 1); 3368 rt2x00_set_field8(&value, BBP152_RX_DEFAULT_ANT, 1);
@@ -4291,6 +4298,11 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
4291 rt2x00dev->default_ant.rx = ANTENNA_A; 4298 rt2x00dev->default_ant.rx = ANTENNA_A;
4292 } 4299 }
4293 4300
4301 if (rt2x00_rt_rev_gte(rt2x00dev, RT5390, REV_RT5390R)) {
4302 rt2x00dev->default_ant.tx = ANTENNA_HW_DIVERSITY; /* Unused */
4303 rt2x00dev->default_ant.rx = ANTENNA_HW_DIVERSITY; /* Unused */
4304 }
4305
4294 /* 4306 /*
4295 * Determine external LNA informations. 4307 * Determine external LNA informations.
4296 */ 4308 */