aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* generic: ar8216: add support for ar8229Chuanhong Guo2019-03-242-5/+144
| | | | | | | | | | | | | | | | ar8229 is the builtin switch in ar934x and later chips. There is also a standalone version available and their registers/functions are the same. This commit added support for the builtin ar8229. The only thing missing for standalone ar8229 should be phy modes. Since I don't have a router using that, this commit doesn't add support for other phy modes. Only add its support for mdio-device probing method because the current PHY probing can't return 1G speed when it's a FE switch. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: add mdio-device probing supportChuanhong Guo2019-03-241-1/+134
| | | | | | | currently only ar8327 and ar8236 are added since they are the only two I could verify. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: move ar8xxx_id_chip into ar8xxx_phy_probeChuanhong Guo2019-03-241-4/+4
| | | | | | | | ar8xxx_id_chip is used to determine current ar8xxx_chip using switch id and this isn't needed during mdiodev probing. Move it out of ar8xxx_probe_switch so that we can skip it. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: add device struct into struct ar8xxx_privChuanhong Guo2019-03-243-2/+5
| | | | | | dev has been taken up by switch_dev so it's named pdev instead. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: drop duplicated includeChuanhong Guo2019-03-241-1/+0
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: move chip id reading into a separate functionChuanhong Guo2019-03-241-1/+12
| | | | | | | | | for mdio-device probing we still need to read chip id but ar8xxx_chip can be determined using drvdata. We can't distinguish the buggy standalone ar8216 and the builtin ar8216 in ar724x/ar933x using chip id. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for linux 4.19Chuanhong Guo2019-03-2440-0/+7053
| | | | | | | | | | | | | | | | | | | | | The following patches are dropped because they are merged upstream: -0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch -0006-usb-drop-deprecated-symbols.patch -0009-MIPS-ath79-add-lots-of-missing-registers.patch -0010-MIPS-ath79-add-support-for-QCA953x-QCA956x-TP9343.patch -0014-MIPS-ath79-finetune-cpu-overrides.patch -0015-MIPS-ath79-enable-uart-during-early_prink.patch -0016-MIPS-ath79-get-PCIe-controller-out-of-reset.patch This patch is dropped due to the introduction of spi-mem framework: -461-spi-ath79-add-fast-flash-read.patch Thank to Michael Marley @mamarley for his work on this patch: -910-unaligned_access_hacks.patch Signed-off-by: Chuanhong Guo <gch981213@gmail.com> [synchronized kernel config with make kernel_oldconfig] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: pass correct device pointer to dma functionsChuanhong Guo2019-03-241-7/+7
| | | | | | | | | linux 4.19 doesn't accept a NULL device for these functions. It also complains that the device struct in net_device doesn't have a dma_mask set. Pass the device struct from platform_device for these functions. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: ag71xx: add support for timer functions in linux 4.15+Chuanhong Guo2019-03-241-0/+10
| | | | | | | Kernel newer than 4.15 dropped "data" field and used from_timer to cast out the parent struct pointer for current timer. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add support for DLINK DIR-510LPawel Dembicki2019-03-245-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DIR-510L Wireless Router are based on the MT7620A SoC. Specification: -MediaTek MT7620A (580 Mhz) -128 MB of RAM -16 MB of FLASH -802.11bgn radio -1x 10/100 Mbps Ethernet -2x internal, non-detachable antennas -UART (J3) header on PCB (57600 8n1) -1x bi-color LED (GPIO-controlled), 2x button -JBOOT bootloader Known issues: -Ethernet port is used as LAN -No communication with charger IC. (uart bitbang needed) Installation: Apply factory image via d-link http web-gui. How to revert to OEM firmware: 1.) Push the reset button and turn on the power. Wait until LED start blinking (~10sec.) 2.) Upload original factory image via JBOOT http (IP: 192.168.123.254) 3.) If http doesn't work, it can be done with curl command: curl -F FN=@XXXXX.bin http://192.168.123.254/upg where XXXXX.bin is name of firmware file. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [fixed whitespace issue in 10-rt2x00-eeprom] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils: mkdlinkfw: add kernel image offsetPawel Dembicki2019-03-242-33/+23
| | | | | | | | Some boards with JBOOT have partiton between bootloader and kernel image. This patch add possibility to change kernel partition start address. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ramips: fix wrong i2s clock unit from kHz to MHzQin Wei2019-03-241-1/+1
| | | | | | | | | | | clk_get_rate returns the current clock rate in Hz for a clock source so if we divide it by 1M, then we get frequency in MHz and not kHz. Signed-off-by: Qin Wei <support@vocore.io> [added missing commit message, and fixed author with SoB from PR message] Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 4.14 to 4.14.107Koen Vandeputte2019-03-229-30/+20
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.164Koen Vandeputte2019-03-223-8/+8
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: fix legacy IRQ support (4.19)Koen Vandeputte2019-03-222-0/+50
| | | | | | | | | | | | | | | The PCIe DWC host controller is now using MSI (Message-signaled-interrupts) by default. While ath9k itself does support MSI here, a lot of wlan adapters do not. Avoid non-functioning cards by simply continue to disable MSI for now. This can be done by appending "pci=nomsi" to the boot cmdline. Also an extra fix needs to be backported which avoids MSI initialization which prevented legacy IRQ's init from taking over. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: enable PCIe (4.19)Koen Vandeputte2019-03-221-0/+9
| | | | | | | The DWC host controller symbols are now depending on a few others Fixes: ca1b93f038a5 ("imx6: add support for kernel 4.19") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: enable crypto acceleration (4.19)Koen Vandeputte2019-03-221-5/+8
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: enable crypto accelerationKoen Vandeputte2019-03-221-5/+8
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: refresh kernel configsKoen Vandeputte2019-03-222-5/+5
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: Add support for Ubiquiti NanoBeam ACTobias Schramm2019-03-225-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NanoBeam is a small AR9342 based directional 5 GHz AC CPE with hardware almost identical to the Ubiquiti NanoStation AC loco. Over the NanoStation AC loco it has 5 additional LEDs. Four of those LEDs are used as rssi indicators, the fifth LED is used as an ethernet link/activity indicator. CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI WLAN: QCA988X Ports: 1x GbE Flashing procedure is identical to the NanoStation AC loco and can be performed either via serial or the factory firmware upgrade. Serial flashing: 1. Connect to serial header on device (8N1 115200) 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Flashing through factory firmware: 1. Ensure firmware version v8.5.0.36727 is installed. Up/downgrade to this exact version. 2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe fe/00 00 00 00/g' | hexdump -R > /tmp/fwupdate.real` 3. Make the patched fwupdate.real binary executable using `chmod +x /tmp/fwupdate.real` 4. Copy the squashfs factory image to /tmp on the device 5. Flash OpenWRT using `/tmp/fwupdate.real -m <squashfs-factory image>` 6. Wait for the device to reboot Thanks to @cybermaus for testing! Tested-by: Maurits van Dueren den Hollander <cybermaus@gmail.com> Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ar71xx: Add support for Mikrotik RB SXT 2nD r3Xavier Douville2019-03-226-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Mikrotik RouterBOARD SXT 2nD r3 is an outdoor WiFi AP / CPE with a single 2.4 GHz radio and a 100 Mbps Ethernet port. The device similar to the SXT 2nD r2, but it has SPI NOR flash instead of NAND flash. Hardware -------- CPU: Atheros AR9344 (600 MHz) RAM: 64 MiB FLASH: 16 MiB SPI NOR W25Q128 ETH: 1x 100 Mbps Atheros AG71xx WiFi: 2T2R 802.11b/g/n (ath9k) Power: Passive PoE 8-30 V Installation instructions: 1. Boot openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf using a DHCP+TFTP server. 2. Erase the "firmware" partition using the mtd command. This should no longer be required once this patch is merged. 3. Use sysupgrade to install to flash. The file openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin should be used. Signed-off-by: Xavier Douville <github@douville.org>
* ar71xx: Remove ath10k packages from archer-c7-v1 (fixes FS#1743)Aubrey McIntosh, PhD2019-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ath10k_pci driver crashes once loaded and causes boot loops on this device as 5GHz radio QCA9880-AR1A shipped with this router is broken. It's not possible to fix this problem in software, miniPCIe radio has to be replaced. We could've probably fixed crashing of the ath10k driver by reverting following upstream commit: commit 1a7fecb766c83dace747f42b25bbb544b00a0163 Author: Michal Kazior <michal.kazior@tieto.com> Date: Sat Jan 24 12:14:48 2015 +0200 ath10k: reset chip before reading chip_id in probe but it's not worth the effort as it wouldn't make that 5GHz radio usable anyway. So it seems more convenient to just remove the crashing driver and provide bootable images, as I believe, that a router that is working but degraded is better than a router that will not work. For details please see discussions in PR[1] and in FS#1743[2]. 1. https://github.com/openwrt/openwrt/pull/1349 2. https://bugs.openwrt.org/index.php?do=details&task_id=1743 Signed-off-by: Aubrey McIntosh, PhD <aubrey.mcintosh@utexas.edu> [subject and commit message tweaks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: GL.iNet AR300M-nand/nor: correct LAN LEDAndreas Ziegler2019-03-211-1/+1
| | | | | | | | The port labled as "LAN" is eth1. That's different from the -lite variant, where the only existing port eth0 is used as LAN Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
* ramips: Speed up eeprom read/writeAdrian Schmutzler2019-03-211-2/+2
| | | | | | | | | | | | | | Reading and writing to and from flash storage is slowed down enormously by some functions which use a block size of 1. This patch reworks the extraction scripts to be much faster and efficient by reading and writing in possibly one big block. This is based on the initial commit a69e101 for ipq40xx by Christian Lamparter <chunkeey@gmail.com>. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Rosen Penev <rosenp@gmail.com>
* ramips: Xiaomi MIR3G: detect board name from DTSOzgur Can Leonard2019-03-216-32/+30
| | | | | | | | | | | | | | | | - Former "mir3g" board name becomes "xiaomi,mir3g". - Reorder some entries to maintain alphabetical order. - Change DTS so status LEDs (yellow/red/blue) mimic Xiaomi stock firmware: (Section Indicator) <http://files.xiaomi-mi.co.uk/files/router_pro/router%20PRO%20EN.pdf> <http://files.xiaomi-mi.co.uk/files/Mi_WiFi_router_3/MiWiFi_router3_EN.pdf> |Yellow: Update (LED flickering), the launch of the system (steady light); |Blue: during normal operation (steady light); |Red: Safe mode (display flicker), system failure (steady light); Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com> [Added link to similar Router 3 model] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for EnGenius ENS620EXTSteve Glennon2019-03-218-3/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4018 RAM: 256M FLASH: 32M SPI NOR W25Q256 ETH: QCA8075 WiFi2: IPQ4018 2T2R 2SS b/g/n WiFi5: IPQ4018 2T2R 2SS n/ac LED: - Power amber - LAN1(PoE) green - LAN2 green - Wi-Fi 2.4GHz green - Wi-Fi 5GHz green BTN: - WPS UART: 115200n8 3.3V J1 VCC(1) - GND(2) - TX(3) - RX(4) Added basic support to get the device up and running for a sysupgrade image only. There is currently no way back to factory firmware, so this is a one-way street to OpenWRT. Install from factory condition is convoluted, and may brick your device: 1) Enable SSH and disable the CLI on the factory device from the web user interface (Management->Advanced) 2) Reboot the device 3) Override the default, limited SSH shell: a) Get into the ssh shell: ssh admin@192.168.1.1 /bin/sh --login b) Change the dropbear script to disable the limited shell. At the empty command prompt type: sed -i '/login_ssh/s/^/#/g’ dropbear /etc/init.d/dropbear restart exit 4) ssh in to a (now-) normal OpenWRT SSH session 5) Flash your built image a) scp openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin admin@192.168.1.1:/tmp/ b) ssh admin@192.168.1.1 c) sysupgrade -n /tmp/openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin 6) After flash completes (it may say "Upgrade failed" followed by "Upgrade completed") and device reboots, log in to newly flashed system. Note you will now need to ssh as root rather than admin. Signed-off-by: Steve Glennon <s.glennon@cablelabs.com> [whitespace fixes, reordered partitions, removed rng node from 4.14, fixed 901-arm-boot-add-dts-files.patch] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: add support for I-O DATA WN-AC733GR3INAGAKI Hiroshi2019-03-214-3/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-AC733GR3 is a 2.4/5 GHz band 11ac router, based on MediaTek MT7620A. Specification - SoC : MediaTek MT7620A - RAM : DDR2 64 MiB - Flash : SPI-NOR 8 MiB - WLAN : 2.4/5 GHz - 2.4 GHz : MT7620A (SoC), 2T2R - 5 GHz : MT7610E, 1T1R - Ethernet : 10/100/1000 Mbps (RTL8367RB) - LED/key : 4x/4x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J1: Vcc, RX, GND, TX from LED side - 57600n8 Flash instruction using factory image: 1. Boot WN-AC733GR3 normaly 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt factory image and click update ("更新") button to perform firmware update 4. Wait ~150 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* kernel: brcm47xx: Backport fixes for USB on WNDR3400v2 (fixes FS#2170)Petr Štetiar2019-03-202-0/+78
| | | | | | | | | | Eric has reported on OpenWrt's bug tracking system[1], that he's not able to use USB devices on his WNDR3400v2 device after the boot, until he turns on GPIO #21 manually through sysfs. 1. https://bugs.openwrt.org/index.php?do=details&task_id=2170 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: Backport ar933x_uart build fix (fixes FS#2152)Petr Štetiar2019-03-202-0/+198
| | | | | | | | | | | | | | | Andrey has reported on OpenWrt's bug tracking system[1], that he currently can't use ar93xx_uart as pure serial UART without console (CONFIG_SERIAL_8250_CONSOLE and CONFIG_SERIAL_AR933X_CONSOLE undefined), because compilation ends with following error: ar933x_uart.c: In function 'ar933x_uart_console_write': ar933x_uart.c:550:14: error: 'struct uart_port' has no member named 'sysrq' 1. https://bugs.openwrt.org/index.php?do=details&task_id=2152 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: Update arc-add-OWRTDTB-section patch for 4.14Evgeniy Didin2019-03-202-47/+55
| | | | | | | | | | | | | | | | | | | In 4.14.104 commit "e7264579eb80" (ARC: U-boot: check arguments paranoidly) was introduced, which together with 332-arc-add-OWRTDTB-section.patch caused build failure. This commit updates 332-arc-add-OWRTDTB-section.patch. Fixes: http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1290 http://phase1.builds.openwrt.org/builders/archs38%2Fgeneric/builds/1269 Signed-off-by: Evgeniy Didin <evgeniy.didin@synopsys.com> [Updated patch for kernel 4.19 in addition] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Hauke Mehrtens <hauke@hauke-m.de> Cc: John Crispin <john@phrozen.org>
* kernel: fix compile issue for tda1997x media deviceKoen Vandeputte2019-03-191-0/+48
| | | | | | | | | Building tda1997x fails now unless V4L2_FWNODE is selected: drivers/media/i2c/tda1997x.o: in function `tda1997x_parse_dt' undefined reference to `v4l2_fwnode_endpoint_parse' Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: Enlarge R7500v2 flash - use netgear partitionWang Xin-yu (王昕宇)2019-03-181-7/+1
| | | | | | | | | | | | | | This patch increases available space from 20MB to 86MB. Netgrear OEM firmware contains a 'netgear' partition followed 'ubi', which can be used in openwrt for larger ubi space. (similar to Netgear R7800). original author (notmyrealhandle) tested this on R7500v2 and point that OEM firmware can auto rebuild this partition (if used by openwrt). Author: notmyrealhandle<22336358+notmyrealhandle@users.noreply.github.com> Signed-off-by: Wang Xin-yu (王昕宇) <comicfans44@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [minor touch-ups]
* ath79: align naming of Ubiquiti Nanostation MSven Roederer2019-03-183-5/+6
| | | | | | | | | | | | | Support for the Nanostation M (XW) was added in 40530c8eb with board name "nanostation-m-xw". The current image for the "Nanostation M" uses "nano-m" as the board name. This commit renames it to the full product name as it's used by all other boards. The legacy boardname of the ar71xx target is added via SUPPORTED_DEVICES to ease switching to ath79 target. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [touch-ups on the commit message, removed subject remains] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: add #pwm-cells property to MT76x8 dtsMicke Prag2019-03-181-0/+1
| | | | | | | To be able to configure pwms the pwm driver needs to know the number off cells in the "pwms" property. For this platform this is 2. Signed-off-by: Micke Prag <micke.prag@telldus.se>
* ath79: add support for jjPlus JA76PF2Tomasz Maciej Nowak2019-03-186-4/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jjPlus JA76PF2 (marketed as IntellusPro2) is a network embedded board. Specification SoC: Atheros AR7161 RAM: 64 MB DDR Flash: 16 MB SPI NOR Ethernet: 2x 10/100/1000 Mbps AR8316 LAN (CN11), WAN/PoE (CN6 - close to power barrel connector, 48 V) MiniPCI: 2x LEDS: 4x, which 3 are GPIO controlled Buttons: 2x GPIO controlled Reset (SW1, closer to ethernet ports), WPS (SW2) Serial: 1x (only RX and TX are wired) baud: 115200, parity: none, flow control: none Currently there is one caveat compared to ar71xx target images as the MAC addresses are random on every reboot. To remedy this one needs to store the WAN MAC address in RedBoot configuration. OpenWrt on first boot, after flashing, will read out the address and assign proper ones to both WAN and LAN ports. It is iportant to NOT keep the old configuration when doing sysupgrade from ar71xx. Upgrading from OpenWrt ar71xx image 1. Connect to serial port, 2. Download OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade -n <openwrt_sysupgrade_image_name> 3. After writing new image OpenWrt will reboot, now interrupt boot process and enter RedBoot (bootloader) command line by pressing Ctrl+C, 4. Enter following commands (replace variable accordingly), set_mac (to view MAC addresses) alias ethaddr <wan_port_mac_adress> (confirm storing the value by inputting y and pressing Enter) reset 5. Now board should restart and boot OpenWrt with proper MAC addresses. Installation 1. Prepare TFTP server with OpenWrt initramfs image, 2. Connect to WAN ethernet port, 3. Connect to serial port, 4. Power on the board and enter RedBoot (bootloader) command line by pressing Ctrl+C, 5. Enter following commands (replace variables accordingly): set_mac (to view MAC addresses) alias ethaddr <wan_port_mac_address> (confirm storing the value by inputting y and pressing Enter) ip_adress -l <board_ip_adress>/24 -h <tftp_server_ip_adress> load -r -b 0x80060000 <openwrt_initramfs_image_name> exec -c "" 6. Now board should boot OpenWrt initramfs image, 7. Download OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade <openwrt_sysupgrade_image_name> 8. Wait few minutes, after the D2 LED will stop blinking, the board is ready for configuration. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: routerstation: prepare to use sysupgrade-tar format imageTomasz Maciej Nowak2019-03-182-5/+23
| | | | | | | | | | | | | | | | | | In PR [1] introducing initial support for Ubiquiti RouterStation boards, Mathias Kresin suggested to replace the combined sysupgrade image with tarball generated by sysupgrade-tar.sh. This would simplify deployment of sysupgrade as the kernel size (needed to update FIS partition) could be simply calculated on the fly instead of reading value from combined image header. Unfortunately this would break sysupgrade compatibility between ar71xx image and ath79 image. Therefore this commit creates migration path to use new sysuprade image, it adds code to accept both of them at this moment. The plan is to keep it until new stable version is released. Then the image recipe should be changed to new format and compatibility code for old image removed. 1. https://github.com/openwrt/openwrt/pull/1237 Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* lantiq: kernel 4.14: fix usb_phy1 reset status bit in vr9.dtsMartin Schiller2019-03-181-1/+1
| | | | | | The status of USB PHY 1 Reset Domain is also in bit 5 of RST_STAT2. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ath79: qca955x: add wmac migration hotplug eventTomasz Maciej Nowak2019-03-181-0/+32
| | | | | | | | | | | When upgrading from ar71xx target images to ath79 based ones, the integrated wireless interface changes its sysfs path. Therefore the previous enabled wireless interface will be disabled, which can cause false complains about it not working. This commit adds hotplug event which migrates to new path and will keep the wrireless interface enabled after upgrade. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: fix leds description for EnGenius EPG5000Tomasz Maciej Nowak2019-03-181-6/+6
| | | | | | | Align the LEDs deffinition with MACH file present in ar71xx target which has the correct LED functions and colors adescription. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* kernel: bump 4.14 to 4.14.106Koen Vandeputte2019-03-1811-24/+22
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.163Koen Vandeputte2019-03-181-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport flow dissector batman-adv supportFelix Fietkau2019-03-165-0/+2267
| | | | | | Improves performance on multicore systems handling batman-adv traffic Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: ag71xx: Remove ndo_poll_controllerRosen Penev2019-03-131-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | It is unused by default and upstream is trying to remove it as it has negative effects when the driver is under load. Upstream explanation: netpoll: avoid capture effects for NAPI drivers As diagnosed by Song Liu, ndo_poll_controller() can be very dangerous on loaded hosts, since the cpu calling ndo_poll_controller() might steal all NAPI contexts (for all RX/TX queues of the NIC). This capture, showing one ksoftirqd eating all cycles can last for unlimited amount of time, since one cpu is generally not able to drain all the queues under load. It seems that all networking drivers that do use NAPI for their TX completions, should not provide a ndo_poll_controller() : Most NAPI drivers have netpoll support already handled in core networking stack, since netpoll_poll_dev( uses poll_napi(dev) to iterate through registered NAPI contexts for a device. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: Speed up mtd extraction in ar71xx.shAdrian Schmutzler2019-03-131-2/+2
| | | | | | | | Although the amount of data read here is smaller than for the caldata, there still might be some speed gain compared to reading bytewise. And there is no harm ... Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: Speed up caldata/eeprom handlingAdrian Schmutzler2019-03-132-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading and writing to and from flash storage is slowed down enormously by some functions which use a block size of 1. This patch reworks the extraction scripts to be much faster and efficient by reading and writing in possibly one big block. This is based on the initial commit a69e101 for ipq40xx by Christian Lamparter <chunkeey@gmail.com>. Speed comparison @ TP-Link TL-WDR4300 (just manually) results in a time reduction by three orders of magnitude (99.9 %). > time dd if=/dev/mtd3 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096 4096+0 records in 4096+0 records out real 0m 15.85s user 0m 0.06s sys 0m 13.28s > time dd if=/dev/mtd3 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.02s user 0m 0.00s sys 0m 0.02s Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Speed up caldata/eeprom handlingAdrian Schmutzler2019-03-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading and writing to and from flash storage is slowed down enormously by some functions which use a block size of 1. This patch reworks the extraction scripts to be much faster and efficient by reading and writing in possibly one big block. This is based on the initial commit a69e101 for ipq40xx by Christian Lamparter <chunkeey@gmail.com>. Speed comparison @ UBNT AC-Mesh (just manually) results in a time reduction by three orders of magnitude (99.9 %). > time dd if=/dev/mtd6 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096 4096+0 records in 4096+0 records out real 0m 16.84s user 0m 0.07s sys 0m 13.54s > time dd if=/dev/mtd6 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.02s user 0m 0.00s sys 0m 0.02s Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Rosen Penev <rosenp@gmail.com>
* apm821xx: usb: xhci: fix semicolon.cocci warningskbuild test robot2019-03-132-2/+2
| | | | | | | | | | | | drivers/usb/host/xhci-pci.c:788:2-3: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Fixes: 9e0fd1b52ad1 ("apm821xx: add support for the Netgear Centria N900 WNDR4700/WNDR4720") Signed-off-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed subject]
* gemini: Generate padded kernel+rootfs images for DIR-685Linus Walleij2019-03-135-3/+174
| | | | | | | | | | | | | | | | | | | | | We currently generate a kernel that boots from the harddrive in the DIR-685. That's not how we usually do things, so let's augment it to boot from flash and mount the rootfs using squashfs and JFFS2 like everyone else. Partition splitting only work when the partitions are inside of a "partitions" node which is why we have a patch like this (submitted upstream). Another patch drops the rootfs arguments and renames the firmware partition while adding the compatible "wrg" to it so the WRGG parser will kick in. Factory image was tested by bravely reflashing the DIR-685 from stock firmware using the web UI and the serial console boot loader. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* kernel: mtdsplit: wrgg: Support big and little endianLinus Walleij2019-03-131-0/+10
| | | | | | | | | | | | | | | | | | | The WRGG images exist in both big and little endian variants, as can be seen from the image generator in tools/firmware-utils/src/mkwrggimg.c, you either pass the "-b" flag or not. The D-Link DIR-685 is using little endian images so we need to support splitting these. Detect endianness like this: if the kernel entity size gets silly big (bigger than the flash memory) we are probably using the wrong endianness. Example: my kernel of 0x0067ff64 was switched around by wrong endianness and detected as 0x64ff67a0 (the actual size in swapped endianness + header 0xa0). Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add suport for EnGenius EPG5000Tomasz Maciej Nowak2019-03-135-12/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EnGenius EPG5000 (v1.0.0, marketed as IoT Gateway) is a dual band wireless router. Specification SoC: Qualcomm Atheros QCA9558 RAM: 256 MB DDR2 Flash: 16 MB SPI NOR WIFI: 2.4 GHz 3T3R integrated 5 GHz 3T3R QCA9880 Mini PCIe card Ethernet: 5x 10/100/1000 Mbps QCA8337N USB: 1x 2.0 LEDS: 4x GPIO controlled Buttons: 2x GPIO controlled UART: 4 pin header, starting count from white triangle on PCB 1. VCC 3.3V, 2. GND, 3. TX, 4. RX baud: 115200, parity: none, flow control: none Installation 1. Connect to one of LAN (yellow) ethernet ports, 2. Open router configuration interface, 3. Go to Tools > Firmware, 4. Select OpenWrt factory image with dlf extension and hit Apply, 5. Wait few minutes, after the Power LED will stop blinking, the router is ready for configuration. Alternative installation 1. Prepare TFTP server with OpenWrt sysupgrade image, 2. Connect to one of LAN (yellow) ethernet ports, 3. Connect to UART port (leaving out VCC pin!), 4. Power on router, 5. When asked to enter a number 1 or 3 hit 2, this will select flashing image from TFTP server option, 6. You'll be prompted to enter TFTP server ip (default is 192.168.99.8), then router ip (default is 192.168.99.9) and for last, image name downloaded from TFTP server (default is uImageESR1200_1750), 7. After providing all information U-Boot will start flashing the image, You can observe progress on console, it'll take few minutes and when the Power LED will stop blinking, router is ready for configuration. Additional information If connected to UART, when prompted for number on boot, one can enter number 4 to open bootloader (U-Boot) command line. OEM firmware shell password is: aigo3d0a0tdagr useful for creating backup of original firmware. When doing upgrade from OpenWrt ar71xx image, it is recomended to not keep the old configuration. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>