aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix regression in 74x164 initialization with 4.9Felix Fietkau2017-11-101-10/+12
| | | | | | | | | The memcpy of the init data relies on chip->registers to be initialized, which only happens later in the code. Move this initialization further down to make it work. This was breaking PCIe/USB on some MikroTik RouterBoard devices. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ag71xx: Switch from driver to kernel macro for NAPI_WEIGHT.Rosen Penev2017-11-063-7/+6
| | | | | | NAPI_POLL_WEIGHT was introduced in the kernel for exactly this purpose 5 years ago. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: only use SPI NOR 4K sectors on smaller flash chips for mikrotik devicesFelix Fietkau2017-11-061-1/+0
| | | | | | | | On NOR based Mikrotik devices, 4K sectors significantly slow down firmware flashing and jffs2 usage. On NAND based devices they may be necessary to run rbcfg (the boot loader config is often on SPI NOR). Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add support for limiting 4K erase sector support based on flash chip ↵Felix Fietkau2017-11-061-0/+1
| | | | | | | | | | | | | | | | size Some targets need 4K sectors for small flash chips (e.g. some routerboards, where the entire chip is just one "erase block"), whereas on other devices 4K sectors lead to horrible flash erase/write performance. Set the default limit in the generic kernel configuration to 4 MiB to ensure that all new platforms don't use 4K sectors for bigger flash chips. On all existing targets use 16 MiB for now to avoid regressions. They will be changed individually in follow-up commits. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix section mismatch in TP-Link Archer C7 v4 supportFelix Fietkau2017-11-051-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix flash fast read on devices using multiple flash chipsFelix Fietkau2017-11-051-5/+11
| | | | | | | Add a callback to allow the SPI driver to indicate which devices fast flash read works on. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix LED config for DIR-869 A1Florian Beier2017-11-031-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the LED configuration for the D-Link DIR-869 A1. In order to support the device I probed around using an initramfs image for the UniFi AC. Pulling GPIO 15 to low enabled the LEDs while high disabled them. GPIO 16 set to low meant that the color was white while pulling it to high made the color change to orange. The past code was written based upon these findings. However, running a flashed image I now discovered that GPIO 15 controls the orange LEDs while GPIO 16 controls the white ones and that both are active when low. This means that the GPIOs were inverted and one active_low was set wrong which this patch fixes. Behavior of the LED front after this patch is applied: cat /sys/devices/platform/leds-gpio/leds/d-link:white:status/brightness 0 -> white LEDs are OFF 255 -> white LEDs are ON cat /sys/devices/platform/leds-gpio/leds/d-link:orange:status/brightness 0 -> orange LEDs are OFF 255 -> orange LEDs are ON If the brightness of both is set to 255 the LED front will be white. If the brightness of both is set to 0 the LED front will be off. Signed-off-by: Florian Beier <beier.florian@gmail.com>
* ar71xx: wzr-hp-ag300h: drop unused wmac led_pin settingsMathias Kresin2017-11-031-3/+0
| | | | | | | | | The GPIOs are used for defined LEDs and therefore are ignored/unset in the ath9k driver since 192f0a3db859. The wireless led led trigger is added in userspace since e20965811db6, which makes the ap9x_pci_setup_wmac_led_pin() superfluous. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: mach-rbspi: fix 74x164 supportThibaut VARENE2017-11-031-0/+1
| | | | | | | | | | | | | The platform data was missing the num_registers element which is now mandatory in linux 4.9 Without this patch, the gpio probing would fail with: gpio gpiochip1: (74x164): tried to insert a GPIO chip with zero lines Fixes: #1106 Tested-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* ar71xx: fix board.bin used by QCA9886 in Archer C58/C59/C60Henryk Heisig2017-10-271-0/+2
| | | | Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ar71xx: Archer C58/C59/C60 fix qca9886 wireless interfaceHenryk Heisig2017-10-263-7/+9
| | | | | | | This commit fix 5GHz wireless interface used in Archer C58/C59/C60v1 and set correctly MAC address on this interface. Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ar71xx: fix LED names for GL-AR150Paul Wassi2017-10-253-4/+12
| | | | | | | Add the respective colour to the LED's names for the GL-AR150 to be conform to the kernel. Also add netdev triggers for the LAN and WAN LED. Signed-off-by: Paul Wassi <p.wassi@gmx.at>
* ar71xx: base-files: alphabetical reorderingPaul Wassi2017-10-257-98/+88
| | | | | | | Re-order the cases of base-files/* alphabetically. Also merge some cases in diag.sh Signed-off-by: Paul Wassi <p.wassi@gmx.at>
* ar71xx: re-enable 4k sectors for the mikrotik subtargetsFelix Fietkau2017-10-241-0/+1
| | | | | | | | On RB91x (and possibly others), there is a small SPI flash to store boot loader and configuration. It needs 4K sectors to be able to write the configuration using rbcfg Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix mikrotik routerboard nand driver issues with linux 4.9Felix Fietkau2017-10-243-27/+108
| | | | | | The mtd device is now embedded inside the nand chip data structure Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix secondary gpio controller base valuesFelix Fietkau2017-10-245-29/+29
| | | | | | | | In 4.9, gpio count is rounded up to 32 due to the use of bgpio in the ath79 gpio controller driver. Fix base values in mach files to account for that Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: lzma loader use LTOJulien Dusser2017-10-241-3/+5
| | | | | | | Change the Makefile to use LTO for better code optimisations. Gains are very low, only 270 bytes saved, but it's only Makefile changes. Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* ar71xx: fix lzma loader performance issuesJulien Dusser2017-10-241-0/+13
| | | | | | | | | | | Some bootloaders set a cache cohenrency to a very slow mode. Use code from Linux kernel to set it to "Cacheable, noncoherent, write-back, write allocate". Perfomance impact is significant on TP-Link EAP245 board, kernel decompression time fall from 33 seconds to less than 1. Signed-off-by: Julien Dusser <julien.dusser@free.fr>
* ar71xx: deactivate some boards with too small kernel partitionsHauke Mehrtens2017-10-223-5/+2
| | | | | | | | | | | | | | | | | | | This affects the following boards: * dr344 * archer-c58-v1 * archer-c60-v1 * tl-wr902ac-v1 * tl-wr942n-v1 * ubnt-uap-pro * ubnt-unifi-outdoor-plus The build fails for any of these boards because the resulting kernel image will not fit into the kernel partition. When CONFIG_KERNEL_KALLSYMS is not set it could be that the kernel will fit onto the board again, this is the case for release images. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: use kernel 4.9 by defaultHauke Mehrtens2017-10-221-1/+1
| | | | | | | | | Kernel 4.9 support was added about 2 weeks ago and we haven't seen any major regression so far. This patch was not ported to kernel 4.9, this needs some additional work: 821-serial-core-add-support-for-boot-console-with-arbitr.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: add support for TP-LINK Archer C7 v4Felix Fietkau2017-10-1911-2/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C7 v4 is a dual-band AC1750 router, based on Qualcomm/Atheros QCA9561+QCA9888. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 5x 10/100/1000 Mbps Ethernet - 7x LED, 2x button - UART header on PCB Flash instruction: 1. Upload lede-ar71xx-generic-archer-c7-v4-squashfs-factory.bin via Web interface Flash instruction using TFTP recovery: 1. Set PC to fixed ip address 192.168.0.66 2. Download lede-ar71xx-generic-archer-c7-v4-squashfs-factory.bin and rename it to ArcherC7v4_tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Flash instruction under U-Boot, using UART: 1. tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin 2. erase 0x9f040000 +$filesize 3. cp.b $fileaddr 0x9f040000 $filesize 4. reset Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: add support for Nokia WI2A-AC200iFelix Fietkau2017-10-1914-0/+286
| | | | | | | | | | | | | | | | | Specifications: - SoC: Qualcomm QCA9558 (720 MHz) - RAM: 256MB - Storage: 1MB NOR, 128 MB NAND flash - Ethernet: 1x1000M Installation: 1. Connect to serial console on the board 2. Boot initramfs image over u-boot 3. Copy image to the device and run sysupgrade Installation without serial console is not supported at this time Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "ar71xx: Add GRO support to ag71xx"Felix Fietkau2017-10-171-3/+3
| | | | | | | | | | This reverts commit 13e5e473699b92f171205e0f5c57c9ebe7922492. This commit causes a severe regression in LAN->WAN routing performance for several devices. This appears to be caused by the extra requirement to validate the SKB checksum early in the rx path, which the ethernet hardware does not do Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: add support for Mikrotik RB750P-PBr2Robert Marko2017-10-149-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: Qualcomm QCA9531 (650MHz) - RAM: 64MB - Storage: 16MB NOR SPI flash - Ethernet: 5x100M (1 PoE in, 4 PoE out) - Outdoor use ready This ethernet router is based on the same platform as the hEX PoE lite. Installation 1. login to the Mikrotik WebUI to backup your licence keys 2. setup a DHCP/BOOTP Server with: * DHCP-Option 66 (TFTP server name) pointing to a local TFTP Server within the same subnet of the DHCP range * DHCP-Option 67 (Bootfile-Name) matching the initramfs filename of the to be booted image 3. connect the port labled internet to your local network 4. keep the reset button pushed down and power on the board The board should load and start the initramfs image from the TFTP Server. Login as root/without password to the started LEDE via ssh listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE. Revert to RouterOS Use the "rbcfg" package on in LEDE: * rbcfg set boot_protocol bootp * rbcfg set boot_device ethnand * rbcfg apply Open Netinstall and reboot routerboard. Now netinstall sees routerboard and you can install RouterOS. If NetInstall gets stuck on Sending offer just wait for it to timeout and then close and open Netinstall again. Click on install again. In order for RouterOS to function properly, you need to restore license for the device. You can do that by including license in NetInstall Signed-off-by: Robert Marko <robimarko@gmail.com>
* ar71xx: fix section mismatchesHauke Mehrtens2017-10-1110-13/+13
| | | | | | Fix some section mismatches found with kernel 4.9. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: Add kernel 4.9 supportHauke Mehrtens2017-10-11106-73/+8329
| | | | | | | | | | | | | This add support for kernel 4.9 to the ar71xx target. It was compile tested with the generic, NAND and mikrotik subtarget. Multiple members of the community tested it on their boards and did not report any major problem so far. Especially the NAND part received some changes to adapt to the new kernel APIs. The serial driver hack used for the Arduino Yun was not ported because the kernel changed there a lot. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.4 to 4.4.91Kevin Darbyshire-Bryant2017-10-081-1/+1
| | | | | | | | | Refresh patches. Compile-tested for: ar71xx Archer C7 v2 Run-tested on: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ar71xx: Fix NULL pointer dereferece in at803x_link_change_notify()Andrey Jr. Melnikov2017-10-071-2/+2
| | | | | | | Check pdata pointer before use to avoid OOPS if dev_get_platdata() return NULL. Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com>
* ar71xx: add rssileds to WA850RE v1 imageMathias Kresin2017-10-071-0/+1
| | | | | | | | | | | | A default rssileds config exists for the TP-Link WA850RE v1 but the rssiled package is not included by default. The compressed 17.01.3 image size increases by 3302 bytes which should be tolerable even for a 4MB flash board. Fixes: FS#1043 Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: update LED definitions for embedded wireless dorinCatrinel Catrinescu2017-10-071-14/+2
| | | | | | | | Evaluation board 2.2 uses a different status LED pin The other removed LEDs were never present Signed-off-by: Catrinel Catrinescu <cc@80211.de> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: ew-dorin target moved from legacy to genericCatrinel Catrinescu2017-10-073-23/+20
| | | | | | Embedded Wireless Dorin platform moved from legacy to generic Signed-off-by: Catrinel Catrinescu <cc@80211.de>
* ar71xx: rework chipidea usb controller patchFelix Fietkau2017-10-071-13/+44
| | | | | | | | Handle AR9344 as well. Disable the EHCI platform device when device mode is active, to avoid resource conflicts. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* ar71xx: unify CONFIG_CMDLINEFelix Fietkau2017-09-284-4/+1
| | | | | | | Booting from jffs2 directly is no longer supported, use rootfstype=squashfs consistently for all subtargets Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: fix MAC addresses on TP-Link TL-WR1043ND v4Matthias Schiffer2017-09-112-2/+3
| | | | | | | | | | The addresses were read from the 'config' partition, which would not always contain the addresses at the same offsets, depending on the stock firmware version used before flashing LEDE. Change this to get the addresses from the 'product-info' partition, which is read-only. Reported-and-tested-by: Andreas Ziegler <ml@andreas-ziegler.de> Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: Add GRO support to ag71xxRosen Penev2017-09-111-3/+3
| | | | | | On a TL-WN710N, this patch increases iperf performance from ~92.5 to ~93.5 mbps. Keep in mind the WN710N is a 100mbps device. I expect greater numbers from gigabit devices. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: add metadata to wpj344 and wpj558 imagesEnrique Giraldo2017-09-101-0/+6
| | | | | | | | This adds metadata to wpj344 and wpj558 images to prevent loading firmware of wpj344 into wpj558 and vice versa. This until now was possible and break the units and had to be recovered from the uboot. Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
* ar71xx: wpj558: remove unused eth1 device and fix MAC addressEnrique Giraldo2017-09-102-11/+5
| | | | Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
* ar71xx: add support for COMFAST CF-E355ACEnrique Giraldo2017-09-1012-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E355AC is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9531 + QCA9882. Short specification: - 2x 10/100 Mbps Ethernet, with PoE support - 64MB of RAM (DDR2) - 16 MB of FLASH - 2T2R 2.4 GHz, 802.11b/g/n - 2T2R 5 GHz, 802.11ac/n/a - built-in 4x 3 dBi antennas - output power (max): 500 mW (27 dBm) - 1x RGB LED, 1x button - built-in watchdog chipset Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net> [whitespace fixes, ac radio caldata offset fix] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for GL.iNet GL-USB150Piotr Dymacz2017-09-1013-0/+121
| | | | | | | | | | | | | | | | | | | | | GL.iNet GL-USB150 is an USB dongle WiFi router, based on Atheros AR9331. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - Realtek RTL8152B USB to Ethernet bridge (connected with AR9331 PHY4) - 1T1R 2.4 GHz - 2x LED, 1x button - UART header on PCB Flash instruction: Vendor firmware is based on OpenWrt CC. GUI or sysupgrade can be used to flash LEDE firmware. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: WNDR4300: use the switch LED trigger on the WAN portDaniel Gonzalez Cabanelas2017-09-051-1/+2
| | | | | | | | | | The WAN port on the Netgear WNDR4300 router has two LEDs, amber and green. Use the switch LED trigger to behave as the rest of the LAN HW controlled LEDs - Green: 1 Gbps - Amber: 100/10 Mbps Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
* ar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.Kuang Rufan2017-09-041-1/+20
| | | | | | | | 1. Add support to LAN/WAN LEDs attached to ar8327. 2. Fix the problem that LAN/WAN LEDs does not blink in hardware (auto) mode when connected to 10M/100M ethernet. Signed-off-by: Kuang Rufan <master@a1983.com.cn>
* kernel: update 4.4 to 4.4.85Kevin Darbyshire-Bryant2017-08-311-1/+1
| | | | | | | | Refresh patches Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* ar71xx: fix switch port numbering on RB750r2 and RB750UPr2João Chaínho2017-08-311-2/+6
| | | | | | | This patch fixes the switch port numbering on Mikrotik RB750r2 (hEX lite) and RB750UPr2 (hEX PoE lite). Tested on a RB750UPr2. Maybe this patch is applicable to other devices (e.g. RB951Ui-2nD, RB952Ui-5ac2nD) but I have no way to test them. Signed-off-by: João Chaínho <joaochainho@gmail.com>
* kernel: update kernel 4.4 to version 4.4.79Hauke Mehrtens2017-07-281-37/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: image: use tplink-v1-header in place of mktplinkfw-kernelPiotr Dymacz2017-07-221-13/+8
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* build: move mktplinkfw-combined command to image-commands.mkPiotr Dymacz2017-07-221-18/+4
| | | | | | | | | | We will need "mktplinkfw-combined" command also in the "ramips" target for new MediaTek based TP-Link devices, with "safeloader" image type. Also, rename the command to "tplink-v1-header", use "VERSION_DIST" variable instead of "OpenWrt" and allow passing additional parameters. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* firmware-utils: mktplinkfw: rework combined image optionPiotr Dymacz2017-07-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use combined option in "mktplinkfw" tool for generating initramfs kernel images and header for kernel inside "safeloader" image type (in fact, only for TL-WR1043ND v4 at this moment). There is also "mktplinkfw-kernel" tool, a stripped-down version, used only for generating "simple" header, for safeloader image types. This changes how "mktplinkfw" handles combined images (which then will allow us to drop the stripped-down version of the tool): - drop "ignore size" command line option (it was used only for combined images anyway) - don't require "flash layout id" for combined images (we don't need and shouldn't limit size of the initramfs kernel and for kernels inside safeloader images, the "tplink-safeloader" tool does the size check) - require kernel address and entry point in command line parameters for combined images (consequence of previous point) - don't include md5 sum and firmware length values in header (they are needed only for update from vendor GUI and are ingored in case of initramfs and "tplink-safeloader" images) - drop "fake" flash layout for TL-WR1043ND v4 as it's no longer needed Also, adjust "mktplinkfw-combined" command in ar71xx/image/tp-link.mk to match introduced changes in "mktplinkfw" tool. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for ALFA Network AP121FPiotr Dymacz2017-07-2213-0/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network AP121F is a pocket-size router dedicated for VPN/TOR users. Device is based on Atheros AR9331 WiSoC and is running a custom version (updated from OpenWrt CC to LEDE 17.01 release) of NetAidKit firmware. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR1) - 16 MB of FLASH (SPI NOR) - 1x 10/100 Mbps Ethernet - 1T1R 2.4 GHz - 1x microSD (optional, on separate PCB) - 3x LED, 1x button, 1x switch - UART header on PCB Flash instruction (under U-Boot web recovery mode): 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with RJ45 port, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ag71xx: add support for port mirroringMilan Krstić2017-07-211-0/+153
| | | | | | | This exposes hardware port mirroring in ag71xx driver (e.g. TL-WR841ND) via swconfig API. Signed-off-by: Milan Krstić <milan.krstic@gmail.com>
* ar71xx: use the RB912UAG-{2, 5}HPnD Power LED for diagSergey Ryazanov2017-07-201-2/+2
| | | | | | | The Power LED of RB912UAG-{2,5}HPnD boards can be controlled by sofware, so use it for diag purposes and make the User LED free for other tasks. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>