mac80211: rt2x00: add support for external LNA on MT7620
authorDaniel Golle <daniel@makrotopia.org>
Fri, 20 Jan 2017 15:08:03 +0000 (16:08 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 20 Jan 2017 15:09:52 +0000 (16:09 +0100)
Reported-by: Tom Psyborg <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/kernel/mac80211/patches/910-01-add-support-for-mt7620.patch

index 5ba5580..be96776 100644 (file)
        case RT5592:
                *txwi_size = TXWI_DESC_SIZE_5WORDS;
                *rxwi_size = RXWI_DESC_SIZE_6WORDS;
-@@ -3303,6 +3376,312 @@ static void rt2800_config_channel_rf55xx
+@@ -3303,6 +3376,318 @@ static void rt2800_config_channel_rf55xx
        rt2800_bbp_write(rt2x00dev, 196, (rf->channel <= 14) ? 0x19 : 0x7F);
  }
  
 +              bbp = 0x40;
 +              rt2800_bbp_write(rt2x00dev, 30, bbp);
 +              rt2800_rfcsr_write(rt2x00dev, 39, 0);
-+              rt2800_rfcsr_write(rt2x00dev, 42, 0x7b);
++              if (rt2x00_has_cap_external_lna_bg(rt2x00dev))
++                      rt2800_rfcsr_write(rt2x00dev, 42, 0xfb);
++              else
++                      rt2800_rfcsr_write(rt2x00dev, 42, 0x7b);
 +      } else {
 +              rt2800_bbp_read(rt2x00dev, 30, &bbp);
 +              bbp = 0x1f;
 +              rt2800_bbp_write(rt2x00dev, 30, bbp);
 +              rt2800_rfcsr_write(rt2x00dev, 39, 0x80);
-+              rt2800_rfcsr_write(rt2x00dev, 42, 0x5b);
++              if (rt2x00_has_cap_external_lna_bg(rt2x00dev))
++                      rt2800_rfcsr_write(rt2x00dev, 42, 0xdb);
++              else
++                      rt2800_rfcsr_write(rt2x00dev, 42, 0x5b);
 +      }
 +
 +      rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, mac_sys_ctrl);