This series uses devicetree to configure the devices with ath9k wifi chips. The first two patches are preparing PCIe for OF support (PCI devices are already configured via devicetree properly, so we don't have to do anything here).
The third patch backports the ath9k devicetree bindings to our mac80211 version. More information can be found in the upstream patch series: [0] The fourth patch makes all of our ath9k EEPROM endianness swapping configuration obsolete by reading the Big/Little Endianness bit in the EEPROM. This has worked fine on all devices we have tested so far (see below for a list), regardless whether they are using a Big or Little Endian EEPROM (and regardless of the two magic bytes at the beginning). The upstream series is waiting for inclusion after some more testing, see [1]. Quote from Kalle Valo (upstream maintainer): "I think this looks pretty good. ... it would be great if LEDE folks could take a look at these and comment (or test)". The fifth patch replaces the old "ath,disable-5ghz" property. The whole series is still work-in-progress upstream (as it was decided to introduce a generic binding, to be able to re-use it across multiple drivers from multiple vendors): [2] I will keep on working with upstream to get a proper solution for this (but I think we can go with this version for now since we were using custom code before anyways and the new patch is small). The last patch in this series changes all .dts files to use the new ath9k devicetree bindings. However, for most chipsets this is not enough as we still have to execute the PCI fixups. This is done by enabling kmod-owl-loader for the corresponding devices. The ath9k EEPROM data is now read via a hotplug-script (similar to how it's done for ath10k or the rt2x00 EEPROM). As a positive side-effect we now support EEPROM data in exotic locations (such as unaligned NOR addresses, UBI volumes, etc.). Tested devices (from the top of my head, there may actually be more): - TD-W8970 (PCIe AR9381) - TD-W8980 (PCIe AR9287) - BT HomeHub 5A (PCI AR9227 with BE EEPROM) - FRITZ7320 (PCI AR9227 with LE EEPROM) - DGN3500 (PCI AR9223 with LE EEPROM) PS: Special thanks to Mathias Kresin for supporting me with all these series', as well as Christian Lamparter for the owl-loader. Special thanks to Mathias Kresin again for providing fixes (based on the code-reviews) for 12-ath9k-eeprom hotplug script. changes since v1: - removed bashisms in 12-ath9k-eeprom hotplug script - combined multiple parameters to echo into one string in 12-ath9k-eeprom hotplug script - move cases for switch-statement into one case per line in 12-ath9k-eeprom hotplug script - consistently use quoting around parameter of case statement in 12-ath9k-eeprom hotplug script ("$FIRMWARE" already used it, let's do the same with $board) [0] https://www.spinics.net/lists/linux-wireless/msg155474.html [1] https://www.spinics.net/lists/linux-wireless/msg155011.html [2] http://www.spinics.net/lists/linux-wireless/msg155019.html Martin Blumenstingl (6): lantiq: Register the device tree node with the PCIe controller lantiq: specify the PCIe controller's interrupt, size and address cells kernel: mac80211: backport ath9k device tree support patches kernel: mac80211: add pending ath9k EEPROM swapping patches kernel: mac80211: disable ath9k bands via device tree lantiq: use ath9k device tree bindings binding/owl-loader ...on-dt-net-add-ath9k-wireless-device-bindi.patch | 67 ++ ...-helper-to-get-the-string-representation-.patch | 42 + ...-the-device-configuration-from-an-OF-node.patch | 85 ++ ...-define-for-the-EEPROM-eepmisc-endianness.patch | 95 +++ ...ate-that-the-AR9003-EEPROM-template-value.patch | 78 ++ ...n-eeprom_ops-callback-for-retrieving-the-.patch | 117 +++ ...ce-eeprom_param-EEP_MINOR_REV-with-get_ee.patch | 117 +++ ...-ath9k-consistently-use-get_eeprom_rev-ah.patch | 342 +++++++++ ...the-EEPROM-swapping-check-use-the-eepmisc.patch | 128 ++++ ...e-all-EEPROM-fields-in-Little-Endian-form.patch | 853 +++++++++++++++++++++ .../patches/557-ath9k-disable-bands-via-dt.patch | 32 + .../etc/hotplug.d/firmware/12-ath9k-eeprom | 140 ++++ target/linux/lantiq/dts/ARV7518PW.dts | 31 +- target/linux/lantiq/dts/ARV8539PW22.dts | 26 +- target/linux/lantiq/dts/BTHOMEHUBV2B.dts | 23 +- target/linux/lantiq/dts/BTHOMEHUBV3A.dts | 22 +- target/linux/lantiq/dts/BTHOMEHUBV5A.dts | 27 +- target/linux/lantiq/dts/DGN3500.dtsi | 24 +- target/linux/lantiq/dts/FRITZ3370.dts | 25 +- target/linux/lantiq/dts/FRITZ7320.dts | 26 +- target/linux/lantiq/dts/FRITZ7360SL.dts | 24 +- target/linux/lantiq/dts/TDW8980.dts | 4 - target/linux/lantiq/dts/TDW89X0.dtsi | 41 +- target/linux/lantiq/dts/vr9.dtsi | 12 +- target/linux/lantiq/image/Makefile | 30 +- target/linux/lantiq/image/tp-link.mk | 2 +- .../0151-lantiq-ifxmips_pcie-use-of.patch | 10 +- 27 files changed, 2279 insertions(+), 144 deletions(-) create mode 100644 package/kernel/mac80211/patches/326-Documentation-dt-net-add-ath9k-wireless-device-bindi.patch create mode 100644 package/kernel/mac80211/patches/327-ath9k-add-a-helper-to-get-the-string-representation-.patch create mode 100644 package/kernel/mac80211/patches/328-ath9k-parse-the-device-configuration-from-an-OF-node.patch create mode 100644 package/kernel/mac80211/patches/550-ath9k-Add-a-define-for-the-EEPROM-eepmisc-endianness.patch create mode 100644 package/kernel/mac80211/patches/551-ath9k-indicate-that-the-AR9003-EEPROM-template-value.patch create mode 100644 package/kernel/mac80211/patches/552-ath9k-Add-an-eeprom_ops-callback-for-retrieving-the-.patch create mode 100644 package/kernel/mac80211/patches/553-ath9k-replace-eeprom_param-EEP_MINOR_REV-with-get_ee.patch create mode 100644 package/kernel/mac80211/patches/554-ath9k-consistently-use-get_eeprom_rev-ah.patch create mode 100644 package/kernel/mac80211/patches/555-ath9k-Make-the-EEPROM-swapping-check-use-the-eepmisc.patch create mode 100644 package/kernel/mac80211/patches/556-ath9k-define-all-EEPROM-fields-in-Little-Endian-form.patch create mode 100644 package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch create mode 100644 target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom -- 2.10.2 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev