aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* x86/64: enable Hyper-V support in the x86_64 kernel configTedaz2016-12-221-1/+32
| | | | | | | | | | | | Enabled Hyper-V network interface card driver, display adapter driver, storage driver, keyboard driver, mouse driver and Hyper-V utility and EFI boot support in the kernel for subtarget x86/64. Convert the img file to vhd by Ubuntu qemu-img, rather than by the buildroot's built-in qemu-img. Tested on Windows Server 2008 r2 and 2012 r2 Gen1 and Gen2 VMs. Signed-off-by: Tedaz <tedaz99999@hotmail.com>
* ramips: Add support to TP-Link Archer MR200Henryk Heisig2016-12-228-1/+240
| | | | | | | | | | CPU: MT7620N 580MHz Flash: 8MB RAM: 64MB build-in modem 3G/4G four ethernet port 10/100Mbps Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ramips: add support for ZyXEL Keenetic Omni / Omni IIVitaly Chekryzhev2016-12-228-0/+277
| | | | | | Factory image can be installed via Zyxel WebUI. Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
* ar71xx: RE450: enable building of TP-Link RE450Radek Dostál2016-12-221-0/+16
| | | | Signed-off-by: Radek Dostál <rd@radekdostal.com>
* ar71xx: add support for TP-Link RE450Tal Keren2016-12-2213-0/+220
| | | | | | | | | | | | | | | | | | | | | | | Add full support for TP-Link RE450. The wireless SoC is similiar to Archer C7: QCA9558 + QCA9880 (pci). The ethernet interface is AR8035, but the mdio is connected to the gpio and the chipset builtin mdio bus isn't used, which is unique (and weird), so the kernel gpio mdio module is used. The two ethernet leds are connected to the GPIO, so they are both configured, one to indicate link status and the other to indicate data transfer. The generation of the image was added to the image Makefile. The return value of tplink-safeloader is not ignored anymore (to fail on error) The result factory image is flashable from the stock web ui. Signed-off-by: Tal Keren <kooolk@gmail.com> [rd@radekdostal.com: ar71xx: RE450: do not build RE450 for nand] Signed-off-by: Radek Dostál <rd@radekdostal.com> [hyniu@o2.pl: ar71xx: RE450: Renaming LED accordance with the standard] Signed-off-by: Henryk Heisig <hyniu@o2.pl> [jo@mein.io: squash fixes from Radek and Henryk into original commit] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ar71xx: sort items in 11-ath10k-caldata alphabeticallyRadek Dostál2016-12-221-21/+21
| | | | | Requested-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Radek Dostál <rd@radekdostal.com>
* firmware-utils: kernel image generator for TP-Link RE450Tal Keren2016-12-221-0/+10
| | | | | | | | | | | | | | | | | The firmware image that is used in TP-Link RE450 (and some more devices from the RE series) is tplink-safeloader. In the kernel partition, the kernel is compressed in a regular tp-link firmware that is just used for booting. Since it is only used for compressing and booting, only four fields are filled in the header: Vendor, version, kernel load address and kernel entry point. mktplinkfw-kernel is a simpler version of mktpolinkfw that generate such images. It also specifies the hardware id (as it is in the product info section), so when doing a sysupgrade - the existing code will check for hardware compatibility. Signed-off-by: Tal Keren <kooolk@gmail.com> [rd@radekdostal.com: add build target to .../image/tp-link.mk] Signed-off-by: Radek Dostál <rd@radekdostal.com>
* ar71xx: remove redundant -j from TL-WR1043ND v4 kernel build commandMatthias Schiffer2016-12-211-1/+1
| | | | | | | mktplinkfw ignores -j in combined mode, the EOF marker is added by tplink-safeloader. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* target/linux/x86/image: add explicit prefix to grub-mkimage commandAlexandru Ardelean2016-12-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the latest version of grub-mkimage, the prefix option is mandatory. Not supplying it fails with: ``` Prefix not specified (use the -p option). ``` In grub-2.02-beta2 a DEFAULT_DIRECTORY was defined in `include/grub/osdep/hostfile_unix.h` as: ``` #if defined (__NetBSD__) /* NetBSD uses /boot for its boot block. */ # define DEFAULT_DIRECTORY "/"GRUB_DIR_NAME #else # define DEFAULT_DIRECTORY "/"GRUB_BOOT_DIR_NAME"/"GRUB_DIR_NAME #endif ``` Where: * GRUB_BOOT_DIR_NAME == boot * GRUB_DIR_NAME == grub This was used if the -p option was omitted. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* ar71xx: add support for TP-LINK WR1043ND v4Ludwig Thomeczek2016-12-2013-3/+243
| | | | Signed-off-by: Ludwig Thomeczek <ledesrc@wxorx.net>
* ar71xx: rename mktplinkfw-initramfs to more generic mktplinkfw-combinedMatthias Schiffer2016-12-201-5/+5
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* brcm2708: unbreak the spidev buildJohn Crispin2016-12-201-4/+6
| | | | | | a generic patch made this patch fail to apply cleanly leading to aborted builds Signed-off-by: John Crispin <john@phrozen.org>
* linux: drop deprected hifn795x patchJohn Crispin2016-12-201-17/+0
| | | | | | this was needed years ago by the OCF Signed-off-by: John Crispin <john@phrozen.org>
* linux: drop HSO support patchJohn Crispin2016-12-201-25/+0
| | | | | | | | | This patch is part of a series adding support for 0x9200 and 0x9300. The prior was merged into the upstream kernel while the latter was not due to lack of testers. Drop the patch as it is untested and most likely unused. Signed-off-by: John Crispin <john@phrozen.org>
* ipq806x: EA8500 fix sysupgrade over stock firmwareAdrian Panella2016-12-201-4/+26
| | | | | | | | | | When running sysupgrade for the first time over the second partition (that still had stock firmware) the rootfs wasn't flashed as there wasn't enough space. This happend because stock also uses UBI, but the volume name wasn't recognised and wasn't deleted before flashing. Signed-off-by: Adrian Panella <ianchi74@outlook.com>
* ramips: adding registration for si3210Giuseppe Lippolis2016-12-202-0/+28
| | | | | | | | | | | | | | | The si3210 is a SLIC device providing a complete analog telephone interface and therefore frequently used in soho router. The si3210 have a native spi interface to be controlled by the CPU but currently there is no dedicated driver in lede. Adding a registration for this device in spidev allow to control the device in user space. This way of patching is also in line with the rationale of the spidev driver, see: http://marc.info/?t=148145791900001&r=1&w=2 The si3210 has been also added in the DWR-512 DT to properly describe the HW. Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
* mediatek: enable support for vfpv4 and neonChristian Lamparter2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | While researching for the armvirt target, I looked at the existing arm platforms. It turns out that the mediatek target with its sole MT7623N/A chip is sold as a "highly integrated multimedia network router system-on-chip". To that end, it lists support for the "NEON multimedia processing engine with SIMDv2 / VFPv4 ISA support". <http://topics.mediatek.com/en/products/connectivity/wifi/home-network/wifi-ap/mt7623na/> So this patch enables the CPU_SUBTYPE to use this information. This should have the nice side effect that LEDE's phase2 builders no longer need to built a separate "cortex-a7" target, so this should free up some resources. Cc: John Crispin <john@phrozen.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump to 4.4.39Kevin Darbyshire-Bryant2016-12-2011-32/+22
| | | | | | | | Bump & refresh patches for all 4.4 targets. Compile & run tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* ramips: WNDR3700v5 fix mtd partitions and radiosL. D. Pinney2016-12-201-6/+7
| | | | | | | Fix the mtd partition layout and enable both radios in the dts Tested-by Andrius Štikonas <andrius@stikonas.eu> Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
* treewide: clean up download hashesFelix Fietkau2016-12-161-1/+1
| | | | | | Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: add support for TP-LINK TL-WR940N v4David Lutz2016-12-1614-1/+186
| | | | Signed-off-by: David Lutz <kpanic@hirnduenger.de>
* realview: drop the targetYousong Zhou2016-12-168-422/+0
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* armvirt: new targetYousong Zhou2016-12-166-0/+363
| | | | | | | | | | | | | | | | | | | | An ARM Cortex-A15 machine provided by QEMU. Kernel drivers enabled: - pl011, uart - pl031, rtc - pl061, gpio - pci-host-generic - virtio_{mmio,pci,net,blk,scsi,9p,console,balloon} - smp with NR_CPUS=4 - cpu-hotplug - ext4 - neon, vfp extensions support (otherwise userland will fail with illegal instruction signal (code 0x00000004)) - DEBUG_BUGVERBOSE for debug purposes Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* ar71xx: fix TL-WR842N v2 switch port orderJo-Philipp Wich2016-12-141-1/+5
| | | | | | | | | | | | | | The TL-WR842N v2 has the following switch port layout with swconfig port 0 being connected to eth1: Power LAN4 LAN3 LAN2 LAN1 WAN USB (*) | [...] | [...] | [...] | [...] | [...] | [.] swconfig port: 1 4 3 2 n/a netdev: eth1 eth1 eth1 eth1 eth0 Adjust the board defaults to match this model specific layout. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ar71xx: Added missing support for Linksys E2100LGad Krumholz2016-12-146-0/+143
| | | | | | | | | | | | | It's based on the WRT160NL according to https://wiki.openwrt.org/toh/linksys/e2100l Based on research done here: https://forum.openwrt.org/viewtopic.php?id=24244 and here: https://forum.openwrt.org/viewtopic.php?pid=120791#p120791 this patch was conceived. Signed-off-by: Gad Krumholz <gad.krumholz@gmail.com> [Jo-Philipp Wich: fix ordering, move addpattern change into separate commit] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* brcm63xx: image: trim revision code used for --rsa-signatureJo-Philipp Wich2016-12-141-3/+3
| | | | | | | | | | | | | | | | | The imagetag RSA signature field may not exceed 20 characters, so trim the Git hash portion from the REVISION variable in order to ensure that the resulting string fits within this field. The current revision values may be longer than 20 chars, especially when building within a dirty tree. In this case, the revision will look like "r2435+75-b4aa3c8" which, combined with the "LEDE-" prefix, is 21 chars long. Fixes the following error spotted by the buildbots: Error: RSA Signature (rsa_signature,r) too long. make[4]: *** [.../lede-brcm63xx-generic-NEUFBOX6-squashfs-cfe.bin] Error 1 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ramips: adding DWM-158 3g ModemGiuseppe Lippolis2016-12-141-0/+14
| | | | | | | | | This patch add the 3G modem DWM-158 to the usb-serial option driver. The DWM-158 is a pcie 3G modem. It is embedded in the DWR-512 modem supportet by lede. The patch has been submitted and merged in the upstream linux-next repository. Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
* ar71xx: Add support for Netgear WNR2000v1Huan Truong2016-12-144-44/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds supports for the WNR2000v1 board with 4MB flash, and produces device-specific factory, rootfs, and sysupgrade files for the WNR2000v1. This board is errorneously claimed as supported on the OpenWRT wiki as AP81, but AP81 image would not work because of APT81 image requiring having 8MB of flash, while WNR2000v1 has only 4MB. The image requires the u-boot bootloader to be modified to fuhry's bootloader first. Short specification: - CPU: Atheros AR9132 - 4x 10/100 Mbps Ethernet, 1x WAN 10/100 Mbps - 4 MB of Flash - 32 MB of RAM - UART header (J1) on board - 1x button Factory/Initial flash instructions: - Set up a TFTP server on your local machine. - Download the uImage for ar71xx-generic and the rootfs image for ar71xx-generic-wnr2000 and save in the tftp server root. - Gain serial access to the router via the UART port (telnetenable over the network only won't work!). - Upgrade the u-boot bootloader to fuhry's version by running the script: http://fuhry.com/b/wnr2000/install-repart.sh - When the router restarts, interrupt u-boot and gain access to u-boot command line. - Repartititon the board and flash initial uImage and rootfs as follow. Commands to type in u-boot: # tells u-boot that we have a tftp server on 192.168.1.10 setenv serverip 192.168.1.10 # tells u-boot that the router should take the address 192.168.1.1 setenv ipaddr 192.168.1.1 # erase the region from 0x050000-0x3f0000 erase 0xbf050000 +0x3A0000 # loads sqfs.bin on TFTP server, and put it to memory address 0x81000000 tftpboot 0x81000000 sqfs.bin # it will tell you the length of sqfs.bin in hex, let's say ZZZZZZ # copy bit by bit 0xZZZZZZ bytes from offset 0x050000 cp.b 0x81000000 0xbf050000 0xZZZZZZ # same to the uImage.bin, write it right next to sqfs.bin # again, 0xYYYYYY is the length that tftpboot reports tftpboot 0x81000000 uImage.bin cp.b 0x81000000 0xbf2a0000 0xYYYYYY # We need to tell the kernel what board it is booting into, and where to find the partitions setenv bootargs "board=WNR2000 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd" # Tell u-boot where to find the uImage setenv bootcmd "bootm 0xbf2a0000" # Tell u-boot to save parameters to the u-boot-env partitions saveenv # Reset the board reset Tested on: - WNR2000v1 board. - Initial flash works. Known bugs: - I don't know why factory image doesn't work on initial flash on stock firmware in u-boot recovery mode while it should. - Sysupgrade does not yet work, if you do -f it will mess up your installation (requiring a reinstall of sqfs and uImage). Signed-off-by: Huan Truong <htruong@tnhh.net>
* ar71xx: Add ath10k-firmware-qca988x for DomyWifi DW33DJing Lin2016-12-141-1/+1
| | | | | | | The default package selection was missing the correct FW for ath10k to work. Signed-off-by: Jing Lin <mumuqz@163.com>
* netfilter: drop proprietary xt_id matchJo-Philipp Wich2016-12-143-285/+0
| | | | | | | | The xt_id match was used by the firewall3 package to track its own rules but the approach has been changed to use xt_comment instead now, so we can drop this nonstandard extension. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: backport ubifs support for dirty_writeback_intervalRafał Miłecki2016-12-132-0/+148
| | | | | | | These patches were queued for 4.10. For possible use cases see added: [PATCH] ubifs: Use dirty_writeback_interval value for wbuf timer Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: backport missed BCM53573 ILP patch from 4.10Rafał Miłecki2016-12-133-13/+39
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump to 4.4.38Kevin Darbyshire-Bryant2016-12-136-17/+17
| | | | | | | | Bump & refresh patches for all 4.4 supported targets. Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* bcm53xx: backport DTS patches accepted for 4.11Rafał Miłecki2016-12-138-160/+502
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ar71xx: simplify model detection for TP-Link Pharos devicesMatthias Schiffer2016-12-121-19/+2
| | | | | | | This also makes the detection more flexible, as it doesn't need to check for each model explicitly. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: remove obsolete flash chip locking codeFelix Fietkau2016-12-125-52/+11
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove PB92 reference design board supportFelix Fietkau2016-12-1210-89/+0
| | | | | | | Due to flash size limitations, support for this board has not been functional for years Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove AP113 reference design board supportFelix Fietkau2016-12-1212-106/+0
| | | | | | | Due to flash size limitations, support for this board has not been functional for years Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove AP81 reference design board supportFelix Fietkau2016-12-1219-122/+10
| | | | | | This board is very old and unlikely to still be relevant today. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove obsolete duplicate driver source fileFelix Fietkau2016-12-121-294/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: remove AP83 reference design board supportFelix Fietkau2016-12-1218-661/+2
| | | | | | | | This board is very old and unlikely to still be relevant today. Support for it contains a significant amount of device specific baggage which is worth getting rid of. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: clean up spi controller related patchesFelix Fietkau2016-12-1223-667/+202
| | | | | | Remove various hacks for fast read, un-break device tree support Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bcm53xx: disable CONFIG_FW_LOADER_USER_HELPER_FALLBACKRafał Miłecki2016-12-121-0/+1
| | | | | | | | | | | There are many targets using user space scripts to generate firmware but bcm53xx doesn't need this, so let's disable that kernel option. This lets us avoid some scary-looking kernel warnings like: brcmfmac 0001:04:00.0: Falling back to user helper firmware brcm!brcmfmac43602-pcie.txt: firmware_loading_store: map pages failed Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: remove "init" kernel command line parameter from bootargsMartin Blumenstingl2016-12-1234-125/+2
| | | | | | | | | | /etc/preinit has been the default init-script for a very long time (at least since Linux 2.6.30 in OpenWrt). Remove the kernel command line "init" parameter to get rid of duplicate and inconsistent definitions of this parameter (some boards, like FRITZ3370 for example did not use it at all, while it's just copy and paste on others). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: specify console using stdout-path instead of cmdline argumentMartin Blumenstingl2016-12-1240-37/+70
| | | | | | | | Use devicetree's /chosen/stdout-path instead of the kernel command line (embedded in the .dts-files) to specify the serial console. Using the chosen node is recommended on devicetree based platforms. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* ar71xx: add support for YunCore SR3200 and XD3200Piotr Dymacz2016-12-1212-4/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YunCore SR3200 is a dual-band AC1200 router, based on Qualcomm/Atheros QCA9563+QCA9882+QCA8337N. YunCore XD3200 (FCC ID: 2ADUG-XD3200) is a dual-band AC1200 ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9563+QCA9882+QCA8334. Common specification: - 775/650/258 MHz (CPU/DDR/AHB) - 128 MB or RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz, with ext. PA (SKY65174-21), up to 30 dBm - 2T2R 5 GHz, with ext. PA (SKY85405-11) and LNA (SKY85601-11), up to 30 dBm SR3200 specification: - 5x 10/100/1000 Mbps Ethernet - 6x ext. RP-SMA antennas (actually, only 4 are connected with radio chips) - 3x LED (+ 5x LED in RJ45 sockets), 1x button - UART header on PCB XD3200 specification: - 2x 10/100/1000 Mbps Ethernet, with 802.3at PoE support (WAN port) - 4x internal antennas - 3 sets of LEDs on external PCB (+ 2x LED near RJ45 sockets), 1x button - UART and JTAG (custom 6-pin, 2 mm pitch) headers on PCB LED for 5 GHz WLAN is currently not supported on both devices as it is connected directly to the QCA9882 radio chip. Flash instruction under vendor firmware, using telnet/SSH: 1. If your firmware does not have root password, go to point 5 2. Connect PC with 192.168.1.x address to LAN or WAN port 3. Power up device, enter failsafe mode with button (no LED indicator!) 4. Change root password and reboot (mount_root, passwd ..., reboot -f) 5. Upload lede-ar71xx-...-sysupgrade.bin to /tmp using SCP 6. Connect PC with 192.168.188.x address to LAN port, SSH to 192.168.188.253 7. Invoke: - cd /tmp - fw_setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000" - mtd -e firmware -r write lede-ar71xx-...-sysupgrade.bin firmware Flash instruction under U-Boot, using UART: 1. tftp 0x80060000 lede-ar71xx-...-sysupgrade.bin 2. erase 0x9f050000 +$filesize 3. cp.b $fileaddr 0x9f050000 $filesize 4. setenv bootcmd "bootm 0x9fe80000 || bootm 0x9f050000" 5. saveenv && reset Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* layerscape: add 64b/32b target for ls1046ardb deviceYutang Jiang2016-12-1216-0/+2547
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for NXP layerscape ls1046ardb 64b/32b Dev board. LS1046ARDB Specification: ------------------------- Memory subsystem: * 8GByte DDR4 SDRAM (64bit bus) * 512 Mbyte NAND flash * Two 64 Mbyte high-speed SPI flash * SD connector to interface with the SD memory card * On-board 4G eMMC Ethernet: * Two XFI 10G ports * Two SGMII ports * Two RGMII ports PCIe: * PCIe1 (SerDes2 Lane0) to miniPCIe slot * PCIe2 (SerDes2 Lane1) to x2 PCIe slot * PCIe3 (SerDes2 Lane2) to x4 PCIe slot * USB 3.0: one super speed USB 3.0 type A port, one Micro-AB port * UART: supports two UARTs up to 115200 bps for console Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
* lantiq: falcon: remove bootargs-appendHauke Mehrtens2016-12-1010-40/+0
| | | | | | | This attribute is not evaluated any more and the boot loader on these reference boards does not provide a broken root= or console= parameter. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: simplify ath9k eeprom extraction scriptMathias Kresin2016-12-081-11/+16
| | | | | | | | | | | Add an extra function to patch the mac and fixup the checksum afterwards. Calculate the checksum position automatically. The offset to the mac address is the same for all checksum protected EEPROMs. No EEPROM requires a byte swapped mac address. The mac byte swap code was required due to an bug in the script that is now fixed. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix ath9k EEPROM data swapping for some devicesMartin Blumenstingl2016-12-081-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EEPROM data in the flash of the ARV7518PW, ARV8539PW22, BTHOMEHUBV2B and BTHOMEHUBV3A is stored byte-swapped (swab16), meaning that for example the ath9k base_eep_header fields "version" (high and low byte), "opCapFlags" and "eepMisc" are swapped (the latter ones are just 1 byte wide, thus their position is swapped). The old "ath,eep-endian" property enabled the corresponding swapping logic in the ath9k driver (swab16 in ath9k_hw_nvram_swap_data, which is based on the magic bytes in the EEPROM data which have nothing to do with the calibration data - thus this logic should not be used anymore). Since we have switched to the upstream ath9k devicetree bindings there is no binding anymore which enables swab16 in ath9k (as this logic is not recommended anymore as explained above), leading to ath9k initialization errors: ath: phy0: Bad EEPROM VER 0x0001 or REV 0x00e0 (this shows that the version field is swapped, expected values are VER 0x000E and REV 0x0001) Swapping the ath9k calibration data when extracting it from the flash fixes the devices listed above (all other devices do not require additional swapping, since the position of the fields is already as expected by ath9k). This allows ath9k to read the version correctly again, as well as the more important "eepmisc" field (which is used for determining whether the data inside the EEPROM is Big or Little Endian which is required to parse the EEPROM contents correctly). Fixes: a20616863d3 ("lantiq: use ath9k device tree bindings binding/owl-loader") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>