kernel: mac80211: disable ath9k bands via device tree
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 26 Nov 2016 00:01:14 +0000 (01:01 +0100)
committerMathias Kresin <dev@kresin.me>
Tue, 29 Nov 2016 20:40:16 +0000 (21:40 +0100)
These properties allow overriding the settings from the EEPROM
which indicate whether a band is enabled or not.
Setting this property is only needed when the RF circuit does not
support the 2.4GHz or 5GHz band while it is enabled nevertheless in the
EEPROM.

These patches will be replaced with a future upstream version which
will introduces an ieee80211 device tree property to disable bands.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch [new file with mode: 0644]

diff --git a/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch b/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch
new file mode 100644 (file)
index 0000000..ae447ce
--- /dev/null
@@ -0,0 +1,32 @@
+--- a/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
++++ b/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt
+@@ -34,6 +34,14 @@ Optional properties:
+                       ath9k wireless chip (in this case the calibration /
+                       EEPROM data will be loaded from userspace using the
+                       kernel firmware loader).
++- qca,disable-2ghz: Overrides the settings from the EEPROM and disables the
++                      2.4GHz band. Setting this property is only needed
++                      when the RF circuit does not support the 2.4GHz band
++                      while it is enabled nevertheless in the EEPROM.
++- qca,disable-5ghz: Overrides the settings from the EEPROM and disables the
++                      5GHz band. Setting this property is only needed when
++                      the RF circuit does not support the 5GHz band while
++                      it is enabled nevertheless in the EEPROM.
+ - mac-address: See ethernet.txt in the parent directory
+ - local-mac-address: See ethernet.txt in the parent directory
+--- a/drivers/net/wireless/ath/ath9k/init.c
++++ b/drivers/net/wireless/ath/ath9k/init.c
+@@ -571,6 +571,12 @@ static int ath9k_of_init(struct ath_soft
+       ath_dbg(common, CONFIG, "parsing configuration from OF node\n");
++      if (of_property_read_bool(np, "qca,disable-2ghz"))
++              ah->disable_2ghz = true;
++
++      if (of_property_read_bool(np, "qca,disable-5ghz"))
++              ah->disable_5ghz = true;
++
+       if (of_property_read_bool(np, "qca,no-eeprom")) {
+               /* ath9k-eeprom-<bus>-<id>.bin */
+               scnprintf(eeprom_name, sizeof(eeprom_name),