aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch')
-rw-r--r--package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch136
1 files changed, 0 insertions, 136 deletions
diff --git a/package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch b/package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch
deleted file mode 100644
index 2b0869099e..0000000000
--- a/package/kernel/mac80211/patches/rt2x00/513-rt2x00-rt2800lib-add-channel-configuration-code-for-.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 269f19c848a2380db03a3f207cafb88e28d71c53 Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <juhosg@openwrt.org>
-Date: Sun, 24 Mar 2013 19:26:28 +0100
-Subject: [PATCH] rt2x00: rt2800lib: add channel configuration code for RT3883
-
-Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
----
- drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 72 +++++++++++++++++++++++++++++--
- 1 file changed, 69 insertions(+), 3 deletions(-)
-
---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
-@@ -3902,6 +3902,36 @@ static char rt2800_txpower_to_dev(struct
- return clamp_t(char, txpower, MIN_A_TXPOWER, MAX_A_TXPOWER);
- }
-
-+static void rt3883_bbp_adjust(struct rt2x00_dev *rt2x00dev,
-+ struct rf_channel *rf)
-+{
-+ u8 bbp;
-+
-+ bbp = (rf->channel > 14) ? 0x48 : 0x38;
-+ rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, bbp);
-+
-+ rt2800_bbp_write(rt2x00dev, 69, 0x12);
-+
-+ if (rf->channel <= 14) {
-+ rt2800_bbp_write(rt2x00dev, 70, 0x0a);
-+ } else {
-+ /* Disable CCK packet detection */
-+ rt2800_bbp_write(rt2x00dev, 70, 0x00);
-+ }
-+
-+ rt2800_bbp_write(rt2x00dev, 73, 0x10);
-+
-+ if (rf->channel > 14) {
-+ rt2800_bbp_write(rt2x00dev, 62, 0x1d);
-+ rt2800_bbp_write(rt2x00dev, 63, 0x1d);
-+ rt2800_bbp_write(rt2x00dev, 64, 0x1d);
-+ } else {
-+ rt2800_bbp_write(rt2x00dev, 62, 0x2d);
-+ rt2800_bbp_write(rt2x00dev, 63, 0x2d);
-+ rt2800_bbp_write(rt2x00dev, 64, 0x2d);
-+ }
-+}
-+
- static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
- struct ieee80211_conf *conf,
- struct rf_channel *rf,
-@@ -3920,6 +3950,12 @@ static void rt2800_config_channel(struct
- rt2800_txpower_to_dev(rt2x00dev, rf->channel,
- info->default_power3);
-
-+ switch (rt2x00dev->chip.rt) {
-+ case RT3883:
-+ rt3883_bbp_adjust(rt2x00dev, rf);
-+ break;
-+ }
-+
- switch (rt2x00dev->chip.rf) {
- case RF2020:
- case RF3020:
-@@ -4024,6 +4060,15 @@ static void rt2800_config_channel(struct
- rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain);
- rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain);
- rt2800_bbp_write(rt2x00dev, 77, 0x98);
-+ } else if (rt2x00_rt(rt2x00dev, RT3883)) {
-+ rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain);
-+ rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain);
-+ rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain);
-+
-+ if (rt2x00dev->default_ant.rx_chain_num > 1)
-+ rt2800_bbp_write(rt2x00dev, 86, 0x46);
-+ else
-+ rt2800_bbp_write(rt2x00dev, 86, 0);
- } else {
- rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain);
- rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain);
-@@ -4037,6 +4082,7 @@ static void rt2800_config_channel(struct
- !rt2x00_rt(rt2x00dev, RT6352)) {
- if (rt2x00_has_cap_external_lna_bg(rt2x00dev)) {
- rt2800_bbp_write(rt2x00dev, 82, 0x62);
-+ rt2800_bbp_write(rt2x00dev, 82, 0x62);
- rt2800_bbp_write(rt2x00dev, 75, 0x46);
- } else {
- if (rt2x00_rt(rt2x00dev, RT3593))
-@@ -4045,19 +4091,22 @@ static void rt2800_config_channel(struct
- rt2800_bbp_write(rt2x00dev, 82, 0x84);
- rt2800_bbp_write(rt2x00dev, 75, 0x50);
- }
-- if (rt2x00_rt(rt2x00dev, RT3593))
-+ if (rt2x00_rt(rt2x00dev, RT3593) ||
-+ rt2x00_rt(rt2x00dev, RT3883))
- rt2800_bbp_write(rt2x00dev, 83, 0x8a);
- }
-
- } else {
- if (rt2x00_rt(rt2x00dev, RT3572))
- rt2800_bbp_write(rt2x00dev, 82, 0x94);
-- else if (rt2x00_rt(rt2x00dev, RT3593))
-+ else if (rt2x00_rt(rt2x00dev, RT3593) ||
-+ rt2x00_rt(rt2x00dev, RT3883))
- rt2800_bbp_write(rt2x00dev, 82, 0x82);
- else if (!rt2x00_rt(rt2x00dev, RT6352))
- rt2800_bbp_write(rt2x00dev, 82, 0xf2);
-
-- if (rt2x00_rt(rt2x00dev, RT3593))
-+ if (rt2x00_rt(rt2x00dev, RT3593) ||
-+ rt2x00_rt(rt2x00dev, RT3883))
- rt2800_bbp_write(rt2x00dev, 83, 0x9a);
-
- if (rt2x00_has_cap_external_lna_a(rt2x00dev))
-@@ -4190,6 +4239,23 @@ static void rt2800_config_channel(struct
-
- rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
-
-+ usleep_range(1000, 1500);
-+ }
-+
-+ if (rt2x00_rt(rt2x00dev, RT3883)) {
-+ if (!conf_is_ht40(conf))
-+ rt2800_bbp_write(rt2x00dev, 105, 0x34);
-+ else
-+ rt2800_bbp_write(rt2x00dev, 105, 0x04);
-+
-+ /* AGC init */
-+ if (rf->channel <= 14)
-+ reg = 0x2e + rt2x00dev->lna_gain;
-+ else
-+ reg = 0x20 + ((rt2x00dev->lna_gain * 5) / 3);
-+
-+ rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
-+
- usleep_range(1000, 1500);
- }
-