Commit graph

19094 commits

Author SHA1 Message Date
Tomasz Maciej Nowak
584d7c53bd mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.

The first device is Globalscale ESPRESSObin. Some hardware specs:

SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
     processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
         µSD card slot with footprint for an optional 4GB EMMC
         4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
            USB 2.0
            µUSB port connected to PL2303SA (USB to serial bridge
            controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
           I2C, GPIOs, PWM, UART, SPI, MMC, etc
           MiniPCIe slot
Misc: Reset button, JTAG interface

Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:

 1. Interrupt boot process to run U-Boot command line,

 2. Run following commands:
    (for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
     setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
     saveenv

    (for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
     setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
     setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
     saveenv

 3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-10 01:15:22 +01:00
Hauke Mehrtens
be3da900cd mvebu: Add subtarget for Cortex A9 build
This is in preparation for adding a subtarget for the Cortex A53 later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-10 01:15:21 +01:00
Ryan Mounce
9f3f61a0d9 mvebu: add support for Turris Omnia
Adds support for the Turris Omnia and builds an eMMC sysupgrade image in
the same format as the SolidRun ClearFog.

An initramfs image in the simple yet Omnia-specific 'medkit' image format
is also built in order to ease the initial flashing process.

Notable hardware support omissions are support for switching between SFP
cage and copper PHY, and RGB LED control.

Due to a current limitation of DSA, only 1/2 CPU switch uplinks are used.

Specifications:
- Marvell Armada 385 1.6GHz dual-core ARMv7 CPU
- 1GB DDR3 RAM
- 8GB eMMC Flash
- 5x Gigabit LAN via Marvell 88E6176 Switch (2x RGMII CPU ports)
- 1x switchable RJ45 (88E1514 PHY) / SFP SGMII WAN
- 2x USB 3.0
- 12x dimmable RGB LEDs controlled by independent MCU
- 3x Mini PCIe slots
- Optional Compex WLE200N2 Mini PCIe AR9287 2x2 802.11b/g/n (2.4GHz)
- Optional Compex WLE900VX Mini PCIe QCA9880 3x3 802.11ac (2.4 / 5GHz)
- Optional Quectel EC20 Mini PCIe LTE modem

Flash instructions:
If the U-Boot environment has been modified previously (likely manually via
serial console), first use serial to reset the default environment.
=> env default -a
=> saveenv

Method 1 - USB 'medkit' image w/o serial
- Copy openwrt-mvebu-turris-omnia-sysupgrade.img.gz and
omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz to the root of a
USB flash drive formatted with FAT32 / ext2/3/4 / btrfs / XFS.
Note that the medkit MUST be named omnia-medkit*.tar.gz
- Disconnect other USB devices from the Omnia and connect the flash drive
to either USB port.
- Power on the Omnia and hold down the rear reset button until 4 LEDs are
illuminated, then release.
- Wait approximately 2 minutes for the Turris Omnia to flash itself with
the temporary image, during which LEDs will change multiple times.
- Connect a computer to a LAN port of the Turris Omnia with a DHCP client
- (if necessary) ssh-keygen -R 192.168.1.1
- ssh root@192.168.1.1
$ mount /dev/sda1 /mnt
$ sysupgrade /mnt/openwrt-mvebu-turris-omnia-sysupgrade.img.gz
- Wait another minute for the final OpenWrt image to be flashed. The Turris
Omnia will reboot itself and you can remove the flash drive.

Method 2 - TFTP w/ serial
- Extract omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz and copy
dtb + zImage to your TFTP server (rename if desired)
- Connect Turris Omnia WAN port to DHCP-enabled network with TFTP server
- Connect serial console and interrupt U-Boot
=> dhcp
=> setenv serverip <tftp_server_ip_here>
=> tftpboot 0x01000000 zImage
=> tftpboot 0x02000000 dtb
=> bootz 0x01000000 - 0x02000000
- OpenWrt will now boot from ramdisk
- Download openwrt-mvebu-turris-omnia-sysupgrade.img.gz to /tmp/
$ sysupgrade /tmp/openwrt-mvebu-turris-omnia-sysupgrade.img.gz
- Wait another minute for the final OpenWrt image to be flashed. The Turris
Omnia will reboot itself.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2018-03-10 01:15:21 +01:00
Ryan Mounce
657ce9231d mvebu: generate ramdisk image by default
ramdisk images must be used in the installation process for upcoming
Turris Omnia support.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2018-03-09 22:19:11 +01:00
Ryan Mounce
7b33f6c1bb mvebu: disable DSA DT nodes for boards using mvsw61xx
As at this commit, DSA is not enabled in the kernel config for mvebu, so these
nodes have been ignored. In preparation for the first mvebu board using DSA,
disable these nodes for existing boards to avoid issues.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2018-03-09 22:19:07 +01:00
Koen Vandeputte
cfc5867bce kernel: bump 4.9 to 4.9.86
- Refreshed all patches
- Removed 1 patch which got upstreamed

Compile tested on: ar71xx (Rocket M5, Mikrotik RB2011)
Runtime tested on: ar71xx (Rocket M5, Mikrotik RB2011)

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-03-09 22:13:19 +01:00
Kabuli Chana
7c1dae6e26 kernel: bump to version 4.14.25
compile/test target mvebu/rango

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
2018-03-09 22:12:48 +01:00
Felix Fietkau
fa22714181 ar71xx: fix double registration of usb host mode devices, add usb client support for qca955x
Only register the chipidea usb device if the strapping option indicates
device mode. If not, use the regular ehci platform driver.

Add qca955x device mode support, tested on 8devices Rambutan.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-09 18:25:57 +01:00
Florian Fainelli
30d42f85ae uml: Remove 4.4 patches
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-03-08 11:44:26 -08:00
Rafał Miłecki
6c194078db bcm53xx: include patch adding WZR-900DHP LEDs support
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-07 17:01:07 +01:00
Matthias Schiffer
a02a69d5f8
imagebuilder: remove split patch dirs from imagebuilder archive
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-03-07 09:59:08 +01:00
Matthias Schiffer
2fbf669730
imagebuilder: reuse rootfs preparation from rootfs.mk
In addition to removing redundant code, this fixes various issues in
IB-generated images that have been fixed in prepare_rootfs before,
including better handling of CONFIG_CLEAN_IPKG and enabling of initscripts
from FILES.

We also reuse the opkg macro and remove --force-... flags that have been
removed from rootfs.mk as well.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-03-07 09:59:08 +01:00
Martin Schiller
d84ac78d6a lantiq/xrx200: add usif support to dts files
The Lantiq XRX200 aka VR9 doesn't have an asc0. Instead,
there is an USIF module which can either be an UART or a
SPI Controller.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-03-06 19:49:06 +01:00
Giuseppe Lippolis
aa5014dd1a ramips: mt7620n: enable port 4 as EPHY by default
According to the datasheet the mt7620n have a fixed switch configuration
with 5 ephy (10/100) port. No RGMII configuration is possible.

Drop the mdio node as well. Without RGMII, the mdio node doesn't make any
sense

Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
[drop mdio node, enable port4 by default]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-03-06 19:49:06 +01:00
Pawel Dembicki
39b5218434 ramips: mt7620: power up ephy port 4
In some boards port 4 of mt7620 switch is powered down in bootloader
configuration as lan/wan package leak mitigation.

Reset ephy port 4 to default settings to power up the port.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
[clarify issue in commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-03-06 19:49:05 +01:00
Felix Fietkau
83ddc3bfc2 ar71xx: fix mii bus irq assignment
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-04 19:37:20 +01:00
Felix Fietkau
f62d2b9549 ar71xx: remove pdata->fifo_cfg*
The values are the same for all chipsets that use it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-04 19:37:20 +01:00
Stijn Segers
e72b2464b1 kernel: bump 4.4 to 4.4.119
This bumps the 4.4. kernel in master to 4.4.119.
Includes more Meltdown & Spectre mitigation.

* Refresh patches.
* Refresh x86/config for RETPOLINE.
* Deleted 8049-PCI-layerscape-Add-fsl-ls2085a-pcie-compatible-ID.patch (accepted upstream)
* Deleted 8050-PCI-layerscape-Fix-MSG-TLP-drop-setting.patch (accepted upstream)
* Deleted 650-pppoe_header_pad.patch (does not apply anymore (code was replaced)).

Bumps from 4.4.112 to 4.4.115 were handled by Kevin Darbyshire-Bryant.

Compile-tested on: ar71xx & oxnas.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Rosen Penev <rosenp@gmail.com>
2018-03-03 12:58:56 +01:00
Magnus Kroken
5af85dab22 kernel: bump 4.9 to 4.9.85
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
2018-03-03 12:58:55 +01:00
Hauke Mehrtens
45fdb12258 kernel: generic: Add kernel configuration options
These options are needed for the mvebu arm64 target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-02 23:15:28 +01:00
Stijn Segers
b5469b38cd kernel: bump 4.14 to 4.14.23
This patch bumps the 4.14 kernel to .23.
- Refreshed patches.
- Deleted bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch. Has been accepted upstream.
- Deleted generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch. The upstream URB code was changed,
  the patch no longer applies. I discussed this with the patch author and removed it for now, we'll see how it goes.

Compile-tested on: ramips/mt7621, x86/64
Run-tested on: ramips/mt7621, x86/64

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2018-03-02 21:33:08 +01:00
Tomasz Maciej Nowak
844bdf94e4 mvebu: base-files: moving on from net-tools
Remove dependency on net-tools, replacing calls to ifconfig with iproute
equivalent, in functions changing interface MAC addresses.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:08 +01:00
Tomasz Maciej Nowak
d29a2814b7 mvebu: rename clearfog sysupgrade script and functions
Cosmetic name change of ClearFog sysupgrade script and its functions to
more generic sdcard. This way it won't be confusing for other future
device additions.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:08 +01:00
Tomasz Maciej Nowak
b1317a10f7 mvebu: remove fs declaration in mount commands
Allows to have other file system for boot partition without breaking
sysupgrade.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:08 +01:00
Tomasz Maciej Nowak
0ef28ea387 mvebu: unify boot.scr creation
Unify boot.scr generation so Makefile for device image generation won't
grow without a reason. Also make boot-scr step optional.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:08 +01:00
Tomasz Maciej Nowak
e4fa22397f mvebu: make sdcard bootloader option configurable
Remove the necessity for boot loader from SD card image creation process
and make it configurable.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:07 +01:00
Tomasz Maciej Nowak
e10ea566cc mvebu: fix partition type and signature for sdcard
Previously the partition signature was assigned from provided type. Now
both are corrected wherein signature is always generated from
SOURCE_DATE_EPOCH. With that the root file system can be identified
by PARTUUID string, without relying on static declaration of device node.
This commit also does some cosmetics, removing trailing whitespace and
replacing spaces with tab.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:07 +01:00
Tomasz Maciej Nowak
652a13e920 mvebu: remove redefinition of image name for clearfog
The IMAGE_NAME redefinition causes overwriting of generated SD card
image when multiple root file system types are selected. In result only
single SD card image is generated. This commit fixes this behaviour.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:07 +01:00
Josua Mayer
9a82076592 mvebu: clearfog: use partition uuid for root= bootarg
U-Boot already knows where it found the boot.scr, and
figuring out the partition UUID becomes trivial at this point.
This change allows booting OpenWrt from whatever storage it has been
flashed to: SD card, eMMC, USB disk or SATA disk.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
[replace lede with openwrt, redact commit message]
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-02 21:33:07 +01:00
Hauke Mehrtens
98aa44ce79 mvebu: Use kernel 4.14 by default
I am not aware of any regressions in kernel 4.14 compared to kernel 4.9.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-02 21:33:07 +01:00
Hauke Mehrtens
e54f937f51 mvebu: activate more workarounds for ARM erratas
The Armada XP uses a Marvell PJ4Bv7 Processor for which already one
workaround for an errata is activated.
The Armada 285 uses a Cortex A9 r4p1 for which the Linux kernel provides
a workaround for ERRATA_764369, activate this.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-02 21:33:07 +01:00
Hauke Mehrtens
6734ffb851 kernel: generic: Move config option to generic
This is deactivated in all targets using the DSA switch driver with
kernel 4.14.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-02 21:32:19 +01:00
Felix Fietkau
36fb0697e2 ar71xx: fix build with ag71xx debugfs support enabled
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-28 13:57:58 +01:00
Rosen Penev
810659a22c ag71xx: Move timestamp struct member outside of struct.
With this change, the timestamp variable is only used in ag71xx_check_dma_stuck. Small tx speedup.

Based on a Qualcomm commit. ag->timestamp = jiffies was not replaced with netif_trans_update(dev) because of this quote:

It should be noted that after this series several instances
of netif_trans_update() are useless (if they occur in
.ndo_start_xmit and driver doesn't set LLTX flag -- stack already
did an update).

From: http://lists.openwall.net/netdev/2016/05/03/87

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-02-28 12:46:02 +01:00
Felix Fietkau
d8655868ca ramips: fix spurious IRQ7 events when using perf on 4.14
Upstream handling of MIPS CPU IRQs is rather hackish and the interrupts
are being enabled unconditionally in various places because of legacy
code.
Performance counter events are routed both through the GIC and through
legacy CPU IRQ7 events, causing spurious interrupts.

Fix this by disabling IRQ7 when trying to access the performance counter
IRQ.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-27 17:30:33 +01:00
Rafał Miłecki
86e5a6d985 bcm53xx: fix fallback code for picking status LED
Looking for a wrong LED file name was stopping this code from find any
LED. This affects devices with only a red/amber power LED.

Fixes: 3aaee1ba02 ("bcm53xx: failsafe support")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-02-27 16:52:25 +01:00
Felix Fietkau
e9b58b22c1 Revert "ramips: improve NAPI polling to increase GRO batch size" (fixes FS#1333)
This reverts commit 968b861612.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-27 09:42:18 +01:00
Felix Fietkau
a49f6565b3 kernel: m25p80: allow fallback from spi_flash_read to regular SPI transfer
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-26 19:20:06 +01:00
Hans Dedecker
664733de8c kernel: generic: add 4.14 config option
When CGROUPS is enabled the new option CONFIG_CGROUP_NET_CLASSID is
selectable and not handled.
Add this option to the 4.14 kernel configuration.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-02-26 16:34:41 +01:00
Vitalij Alshevsky
70130268a8 sunxi: Add support for Xunlong Orange Pi PC
CPU: H3 Quad-core Cortex-A7 H.265/HEVC 4K @ 1.3 Ghz
GPU: Mali400MP2 GPU @ 600MHz (supports OpenGL ES 2.0)
Memory: 1GB DDR3 (shared with GPU)
Onboard: Storage TF card (Max. 64GB) / MMC card slot
Onboard: Network 10/100M Ethernet RJ45
Onboard header pinout: SPI, I2C, 1-WIRE
USB 2.0: Three USB 2.0 HOST, One USB 2.0 OTG
Buttons: Power Button(SW4)
Debug TTL UART: ..DC-IN.. >[GND][RX][TX] ..HDMI..

Signed-off-by: Vitalij Alshevsky <v_alshevsky@tut.by>
2018-02-26 11:24:04 +01:00
Johnny S. Lee
c8e62f830d mwlwifi: add and use individual firmware packages
As each mvebu device only uses one of the firmwares provided by mwlwifi
package, it makes sense to put them in separate packages and only install
the one that is needed.

Current mwlwifi version's firmware sizes and usages by devices:
88W8864.bin  118776  caiman, mamba, cobra, shelby
88W8897.bin  489932  (none)
88W8964.bin  449420  rango

Changes by this commit:
 * indicate in title that mwlwifi also is driver for 88W8897 and 88W8964
 * remove mwlwifi package's firmware installation rules
 * add 3 new individual firmware packages (all depends on kmod-mwlwifi):
    - mwlwifi-firmware-88w8864
    - mwlwifi-firmware-88w8897
    - mwlwifi-firmware-88w8964
 * add firmware package to mvebu devices' DEVICE_PACKAGES accordingly

Signed-off-by: Johnny S. Lee <_@jsl.io>
[Add the used FW files to the PACKAGES of default image]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-26 11:23:40 +01:00
Jonas Gorski
c5b06da56c mvebu: add missing patch for reprobing SFP phys for 4.14
Add the patch for reprobing phys also for 4.14, as it is still needed.

Fixes: 4ccad92229 ("mvebu: Add support for kernel 4.14")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-02-25 22:58:40 +01:00
Jonas Gorski
39f8751cdc mvebu: fix SFP insert detection GPIO name on 4.14
When SFP support was accepted upstream, the expected GPIO names were
slightly changed, breaking SFP insert detection. Update the DTS file to
the expected name to make SFP work again.

Fixes: 4ccad92229 ("mvebu: Add support for kernel 4.14")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2018-02-25 22:58:35 +01:00
Felix Fietkau
a5aee46fb7 kernel: more fixes for flow offload
- fix TCP connection state
- fix checksum error on DNAT

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-25 18:32:02 +01:00
Felix Fietkau
1ac14d312f kernel: fix crash in flow offload code when cleaning up unregistered hooks
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-25 16:24:23 +01:00
Felix Fietkau
28a74f3076 kernel: remove nf_flow_table hardware offload patch (it is not ready yet)
It also does not have any users yet. It will be addde back when the core
API issues have been sorted out

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-25 16:24:02 +01:00
Felix Fietkau
a86e6b5a9f kernel: add minimal TCP state tracking to flow offload support
Fixes issues with connections hanging after >30 seconds idle time

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-25 16:14:23 +01:00
Roman Yeryomin
f5984e0a0c ramips: mt7621: add Mediatek AP-MT7621A-V60 EVB support
This board has:
- mt7621 SoC
- 8MB SPI flash
- 128MB RAM
- 5x ethernet ports from internal (SoC) switch
- 1x ethernet port sitting on gmac2 and IC+ phy (not yet supported)
- 3x PCIe slots
- 1x USB 2.0 and 1x USB 3.0
- sound based on wm8960
- SDXC card slot (full size)

First fw write from interactive u-boot menu, interrupt with 2.
After that sysupgrade.

Tested both with 4.9 and 4.14

Signed-off-by: Roman Yeryomin <roman@advem.lv>
2018-02-24 16:05:28 +01:00
Felix Fietkau
bcf4a5f474 ramips: remove chunked-io patch and set spi->max_transfer_size instead
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-24 16:05:28 +01:00
Felix Fietkau
46c49d8381 kernel: optimize for performance by default starting with 4.14
Keep size optimizations for smaller targets that already switched

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-24 16:05:28 +01:00
Hauke Mehrtens
ae27cbf98b kernel: generic: Fix skip GRO for foreign MAC address patches
Somewhere in the kernel 4.9 migration process it looks like this patch
was broken. The update should be done when a device is added to the
bridge and when it gets removed, currently it is only done on the remove
path twice which does not make any sense.
I do not have a setup to test this now so this is only compile tested.

Fixes: f791fb4af4 ("kernel: add linux 4.9 support")
Fixes: b3f95490b9 ("kernel: generic: Add kernel 4.14 support")
Reported-by: Andrey Jr. Melnikov <temnota.am@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-24 16:05:28 +01:00
Mathias Kresin
50641a0f9a octeontx: use the generic board detection
Use the generic board detection based on the device tree compatible
string instead of a target specific one.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-23 08:21:50 +01:00
Benjamin Valentin
2d8eeca842 ramips: enable power LED and second uart on GL-MT300N-V2
The device has a second uart accessible via pin headers, so enable it.

There is also a green power led which was not enabled previously.
Enable it too and use it as status LED.

Signed-off-by: Benjamin Valentin <benjamin.valentin@volatiles.de>
2018-02-23 07:54:29 +01:00
Mathias Kresin
a464d2b960 mediatek: disable missing kernel symbol
This caused v4.14.20 based builds so fail on mediatek.

Fixes: 6112abf186 ("kernel: enable CONFIG_USB_PCI for PCI usb modules").
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-23 07:54:29 +01:00
Mathias Kresin
9e0d808700 apm821xx: nand remove obsolete kernel config symbol
The missing CONFIG_USB_XHCI_PCI dependency on CONFIG_USB_PCI of the
µPD720201 xhci-pci(e) usb 3.0 chip used by the WNDR4700 was fixed with
6112abf186 ("kernel: enable CONFIG_USB_PCI for PCI usb modules").

Commit c38fb58576 ("kernel: fix disabling common usb quirks on 4.14")
finally fixed the following build error:

drivers/usb/host/xhci-pci.c: In function 'xhci_pci_probe':
drivers/usb/host/xhci-pci.c:749:6: error: implicit declaration of function 'usb_xhci_needs_pci_reset' [-Werror=implicit-function-declaration]
  if (usb_xhci_needs_pci_reset(dev)) {

Hence the CONFIG_USB_PCI symbol isn't required any longer in target kernel
config.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-23 07:54:29 +01:00
Piotr Dymacz
f1c193c27e ramips: add support for ALFA Network AWUSFREE1
ALFA Network AWUSFREE1 is an USB Wi-Fi N300 adapter based on MT7628.

Specification:

- MT7628AN (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (MT7628) with external FEM (RFFM4203)
- 2x detachable antennas (RP-SMA)
- ASIX AX88772 USB to Ethernet bridge (connected with MT7628 PHY0)
- 4x LED (2 driven by GPIO)
- 1x button (reset)
- 1x mini USB for host and main power input
- UART header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Power device with reset button pressed and release it after ~5 sec.
2. Setup static IP 192.168.1.2/4 on your PC.
3. Go to 192.168.1.1 in browser and upload "sysupgrade" image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 23:40:11 +01:00
Piotr Dymacz
8c64824576 ar71xx: add support for GainStrong Oolite V5.2
GainStrong Oolite V5.2 is a small (39.5 x 78 mm), dual-band system on
module, based on Qualcomm QCA9531 + QCA9887. All QCA9531 SOC GPIOs are
available on castellated pins.

Specification:

- 650/400/200 MHz (CPU/DDR/AHB)
- 64/128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 5x 10/100 Mbps Ethernet (all ports available on castellated pins)
- 2T2R 2.4 GHz (QCA9531), with ext. PA and LNA
- 1T1R 5 GHz (QCA9887) with ext. FEM (SKY85710-11)
- 3x U.FL
- 1x USB 2.0

The dedicated development board includes 5 FE ports, USB 2.0 port, two
buttons (one directly connected to SOC reset input), header with all
GPIOs and several LEDs.

Flash instruction:

Vendor firmware is based on OpenWrt. LuCI or sysupgrade can be used to
flash OpenWrt firmware.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
907d674910 ar71xx: rework GainStrong devices support
- combine support for Oolite/MiniBox V1.0 in single mach-*.c file
- fix model/board names
- include correct/full vendor name
- drop redundant package and factory image

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
12c7b22e4e ar71xx: base-files: cosmetic cleanups in 04_led_migration
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
338a9fe8ad ar71xx: base-files: drop comment from 02_network
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Sebastian Kinne
950b278c81 ar71xx: add support for AR9331 based Hak5 devices
This adds support for AR9331 based Hak5 penetration testing tools:

- WiFi Pineapple NANO
- LAN Turtle
- Packet Squirrel

WiFi Pineapple NANO specifications:

- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: 1T1R AR9331 (built-in), 1T1R AR9271 (built-in via USB bus)
- Ethernet: 1x FE over USB (ASIX AX88772A)
- Ports: 2x RP-SMA for antennas, 1x USB 2.0 (host), 1x micro SD
- Power: USB 5 V, 1.5 A
- Other: status LED, reset button

LAN Turtle specifications:

- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 1x FE (AR9331), 1x FE over USB (Realtek RTL8152B)
- Ports: 1x RJ45, version dependent: micro SD or 3G SIM slot
- Power: USB 5 V, 0.5 A
- Other: status LED, reset button (inside, on PCB)

Packet Squirrel specifications:

- SoC: Atheros AR9331 (400 MHz)
- RAM: 64 MB (DDR2)
- FLASH: 16 MB
- WiFi: none
- Ethernet: 2x FE (AR9331)
- Ports: 2x RJ45, 1x USB 2.0
- Power: USB 5 V, 0.12 A
- Other: status LED, reset button, 4-way switch

Flash instructions for all 3 devices:

Original firmware is based on OpenWrt.
Use sysupgrade via SSH to flash.

Signed-off-by: Sebastian Kinne <contact@sebkinne.com>
[squashed commits, combined and reworked mach files, aligned board
naming with general convention, fixed minor issues, tested on real
hardware, reworded commit subject and description]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Matti Laakso
2ea98fc39b ar71xx: fix 5 GHz Wi-Fi on NBG6716
Some NBG6716 do not have ath10k calibration data in flash, only in chip
OTP. To determine if flash has a valid calibration data, the first two
bytes telling the length of the calibration data are checked against the
requested length. If the lengths match, calibration data is valid and
read from flash.

Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
22ae9b742b ar71xx: YunCore AP90Q image supports also AP80Q
Vendor released new model (AP80Q) which is identical from hardware point
of view with already supported AP90Q. Include AP80Q in machine name.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
d6f187f938 ar71xx: add support for YunCore T830
YunCore T830 is a simple N300 router with 5-port FE switch, detachable
antennas and USB 2.0 port.

Specification:

- 650/597/216 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 5x 10/100 Mbps Ethernet
- 2T2R 2.4 GHz (QCA9531), with ext. PA (SKY65174-21) and LNA
- two external, detachable antennas (RP-SMA)
- 1x USB 2.0
- 8x LED (7 driven by GPIO)
- 1x button (reset)
- DC jack for main power input (12 V)
- UART and JTAG headers on PCB

Flash instruction:

1. First, gain root access to the device, following below steps:

- Login into web gui (default password/IP: admin/192.168.188.253).
- Go to "Advanced" -> "Management" -> "System" and download backup of
  configuration (bakfile.bin).
- Open the file as tar.gz archive, edit/update "shadow" file and change
  hash of root password to something known.
- Repack the archive, rename it back to "bakfile.bin" and use to
  restore configuration of the device.
- After that, device will reboot and can be accessed over SSH.

2. Then, install OpenWrt:

- Login over SSH and issue command:
  fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000"
- Upload "sysupgrade" image and install it (only if previous command
  succeeded) with command: "sysupgrade -n -F openwrt-...".

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
e58e49bdbe ar71xx: add support for Samsung WAM250
Samsung WAM250 is a dual-band (selectable, not simultaneous) wireless
hub, dedicated for Samsung Shape Wireless Audio System. The device is
based on Atheros AR9344. FCC ID: A3LWAM250.

Specification:

- 560/450/225 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet
- 2T2R 2.4/5 GHz (AR9344), with ext. PA (SE2598L, SE5003L) and LNA
- 1x USB 2.0
- 4x LED (all are driven by GPIO)
- 2x button (reset, wps/speaker add)
- DC jack for main power input (14 V)
- UART header on PCB (J4, RX: 3, TX: 5)

Flash instruction:

This device uses dual-image (switched between upgrades) with a common
jffs2 config partition. Fortunately, there is a way to disable this mode
so that more flash space can be used by OpenWrt image.

You can easily access this device over telnet, using root/root
credentials (the same also work for serial console access).

1. Make sure that your device uses second (bootpart=2) image using
   command: "fw_printenv bootpart".
2. If your device uses first image (bootpart=1), perform upgrade to the
   latest vendor firmware (after the update, device should boot from
   second partition) using web gui (default login: admin/1234567890).
3. Rename "sysupgrade" image to "firmware.bin", download it (you can use
   wget, tftp or ftpget) to "/tmp" and issue below commands:

   mtd_debug erase /dev/mtd3 0 $(wc -c /tmp/firmware.bin | awk -F' ' '{print $1}')
   mtd_debug write /dev/mtd3 0 $(wc -c /tmp/firmware.bin)
   fw_setenv bootpart
   fw_setenv bootcmd "bootm 0x9f070000"
   reboot

Revert to vendor firmware instruction:

1. Download vendor firmware to "/tmp" device and issue below commands:

   fw_setenv bootpart 1
   sysupgrade -n -F SS_BHUB_v2.2.05.bin

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
1b0e7a1453 ar71xx: fix COMFAST CF-E375AC support
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
650a5e993b ar71xx: add support for COMFAST CF-E385AC
COMFAST CF-E385AC is an AC2200 ceiling mount AP with PoE support, based
on Qualcomm/Atheros QCA9558 + QCA9984 + QCA8337N.

Specification:

- 720/600/200 MHz (CPU/DDR/AHB)
- 256 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100/1000 Mbps Ethernet, with PoE support
- 3T3R 2.4 GHz (QCA9558), with external LNA and PA (SE2576L)
- 4T4R 5 GHz (QCA9984), with external FEM (SKY85728-11)
- 7x internal antennas
- 1x RGB LED (driven by GPIO)
- 1x button (reset)
- UART, LEDs/GPIO and USB headers on PCB
- external watchdog (Pericon Technology PT7A7514)

Flash instruction:

Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
29d7c29046 ar71xx: remove unnecessary packages from COMFAST devices
swconfig and uboot-envtools packages are not required by any of the
supported COMFAST devices.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
106a56238f ar71xx: rename COMFAST CF-E355AC to CF-E355AC v1
There are now supported two versions of the CF-E355AC board which differ
in 802.11ac radio chip. Include version number in board, model, image
filename, etc., also for the v1.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
54b1be5f91 ar71xx: image: simplify Embedded Wireless definitions
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
a679a45f0e ar71xx: image: generic: use simply expanded variables
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
3bc017fa3c ar71xx: image: generic: clean up trailing whitespace
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Ding Tengfei
e07014e70b ar71xx: add support for COMFAST CF-E355AC v2
COMFAST CF-E355AC v2 is a ceiling mount AP with PoE support, based on
Qualcomm/Atheros QCA9531 + QCA9886.

Short specification:

- 2x 10/100 Mbps Ethernet, with PoE support
- 128MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, 802.11b/g/n
- 2T2R 5 GHz, 802.11ac/n/a, WAVE 2
- 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: Ding Tengfei <dtf@comfast.cn>
[updated kernel config for both boards]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Sven Eckelmann
b1d57dadb2 ar71xx: disable 40Mhz refclk for QCA953x
The "QCA9531 v2.0 802.11n 2x2 2.4 GHz Premium SOC for WLAN Platforms"
datasheet (80-Y7991-1 Rev. C - October 2014) doesn't specify support for a
40 Mhz reference clock. The register description for "Bootstrap Options"
(page 31) defines following states for the bit 4 (REF_CLK):

* 0 - CLK25 (default)
* 1 - (reserved)

Devices like the TP-Link CPE210 v2 has this bit set to 1 but is using a 25
Mhz reference clock. OpenWrt is still interpreted this bit as 40 Mhz and
then break the bootup of the system due to this incorrect interpretation.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
[refreshed patches]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Peng Zhang
d8e6c3f6d9 ar71xx: add support for WHQX E1700AC/E600G/E600GAC v2
WHQX E1700AC v2 is based on Qualcomm QCA9563 + QCA9880 + QCA8334.

Specification:

- 750/400/250 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz (QCA9563) with external FEM (SKY85309-11)
- 3T3R 5 GHz (QCA9880) with external FEM (SKY85728-11)
- 2x 10/100/1000 Mbps Ethernet (one port with PoE support)
- 1x miniPCIe slot (USB 2.0 bus only)
- 1x microSIM slot
- 1x USB 2.0
- 5x LED (4 driven by GPIO)
- 1x button (reset)
- 1x 2-pos switch
- 1x DC jack for main power input (9-48 V)
- UART (J5) and LEDs (J13) headers on PCB

WHQX E600G is based on Qualcomm QCA9531.

Specification:

- 650/391/216 MHz (CPU/DDR/AHB)
- 64/128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (QCA9531) with external PA (LXK-6601)
- 2x 10/100 Mbps Ethernet (one port with PoE support)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses)
- 1x microSIM slot
- 5x LED (4 driven by GPIO)
- 1x button (reset)
- 1x DC jack for main power input (9-48 V)
- UART (J100), SIM (J34), JTAG (J5) and LEDs (J7) headers on PCB

WHQX E600GAC is based on Qualcomm QCA9531 + QCA9887.

Specification:

- 650/391/216 MHz (CPU/DDR/AHB)
- 64/128 MB of RAM (DDR2)
- 8/16 MB of FLASH (SPI NOR)
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887) with external FEM (SKY85703-11)
- 2x 10/100 Mbps Ethernet
- 6x LED (1x RGB, 5 driven by GPIO)
- 1x button (reset)
- 1x DC jack for main power input (9-12 V)
- UART (J100), USB (J102), JTAG (J5) and LEDs (J7) header on PCB

Important notice:

First version of these boards are using different mtd layout, with ART
data at the end. You should not use v2 images on v1 board because it
will result in lost of ART data!

Flash instruction (using U-Boot CLI and tftp server):

1. Configure PC with static IP 192.168.1.10 and tftp server.
2. Rename "sysupgrade" filename to "firmware.bin" and place it in tftp
   server directory.
3. Connect PC with one of RJ45 ports, power up the board and press
   "enter" key to access U-Boot CLI.
4. Use the following command to update the device to OpenWrt: "run lfw".

Flash instruction (using U-Boot web-based recovery):

1. Configure PC with static IP 192.168.1.xxx(2-254)/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   the board and keep button pressed for around 6-7 seconds, until LEDs
   start flashing.
3. Open your browser and enter 192.168.1.1, select "sysupgrade" image
   and click the upgrade button.

Signed-off-by: Peng Zhang <sd20@qxwlan.com>
[reworked: image generation code, mach-* files, commit description,
fixed minor code style issues, rebased on master]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Piotr Dymacz
fc43e7a6e0 ar71xx: fix typos and indentation in Kconfig.openwrt
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-02-22 18:53:22 +01:00
Kyson Lok
bb1df2d75b ar71xx: include vendor name for GL iNet products
This patch include GL.iNet vendor name in the
machine name for GL.iNet vendor products.

Signed-off-by: Kyson Lok <kysonlok@gmail.com>
2018-02-22 18:53:22 +01:00
Kyson Lok
9dbfd8e9df ar71xx: uniform GL iNet products mach name
The mach name of GL AR150 and GL AR300 is inconsistent
with other products.

Signed-off-by: Kyson Lok <kysonlok@gmail.com>
2018-02-22 18:53:21 +01:00
Roman Yeryomin
6b6dc2b3e3 ramips: mt7621: fix usb init
In 4.14 reg-names is required to identify resources.
Otherwise init fails with:

[    5.900501] xhci-mtk 1e1c0000.xhci: invalid resource
[    5.910499] xhci-mtk: probe of 1e1c0000.xhci failed with error -22

Signed-off-by: Roman Yeryomin <roman@advem.lv>
2018-02-22 17:25:38 +01:00
Felix Fietkau
94a3af88f3 octeontx: remove lots of bogus kernel config overrides
Some of them break when building with all modules enabled

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-22 13:12:17 +01:00
Tim Harvey
9f2c769a59 kernel: add missing symbol
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
d83ce3ff50 octeontx: remove undefs of CONFIG_NET_VENDOR_*
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
b63b18dffc octeontx: remove unnecessary CONFIG_DEBUG_INFO
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
ef627cb0f5 octeontx: add fpu support
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
10280d9e22 octeontx: remove CFLAGS
You should not define CFLAGS for the toolchain as this will also leak
into other targets if they share the same toolchain.

Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
c0470e7917 octeontx: add FAT FS support to kernel
The CN80XX Boot firmware uses an embedded FAT12 filesystem. For some reason
busybox can't mount this unless its enabled static in the kernel.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Tim Harvey
4294b79e0a octeontx: add USB_PCI support
The CN80XX XHCI is supported through PCI

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2018-02-22 13:12:06 +01:00
Koen Vandeputte
efb362cd93 imx6: disable dma on uart
When this target got updated to 4.14, this patch got removed to
re-evaluate if it was still needed.

Extensive testing now shows this issue is still present.
Let's re-add the patch to fix it for now.

As the uart bus is very low bandwidth .. performance impact is negligible.

Boot log:

[   22.513051] imx-uart 2020000.serial: DMA transaction error.
[   22.522721] imx-uart 2020000.serial: DMA transaction error.

As a sidenote:
The patch mentiones an issue with RS485, but the bootlog
errors above were recorded with the uart ports in standard RS232 mode.

Compile/Run-tested on imx6/GW5200

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-22 12:46:49 +01:00
Koen Vandeputte
aad1f11efe kernel: refresh patches
Some fuzz was introduced due to the netfilter-offload series

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-22 12:46:25 +01:00
Felix Fietkau
9d2a23780e kernel: avoid stripping retpoline flag with CONFIG_MODULE_STRIPPED
Fixes kernel warning when loading modules

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:55:52 +01:00
Felix Fietkau
820f030998 netfilter: add a xt_FLOWOFFLOAD target for NAT/routing offload support
This makes it possible to add an iptables rule that offloads routing/NAT
packet processing to a software fast path. This fast path is much
quicker than running packets through the regular tables/chains.

Requires Linux 4.14

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:12:42 +01:00
Felix Fietkau
1033356442 kernel: backport netfilter NAT offload support to 4.14
This only works with nftables for now, iptables support will be added
later. Includes a number of related upstream nftables improvements to
simplify backporting follow-up changes

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:12:42 +01:00
Felix Fietkau
b7265c59ab kernel: backport a series of netfilter cleanup patches to 4.14
Preparation for backporting upstream NAT offload support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:12:42 +01:00
Felix Fietkau
8a59f9590e ramips: fix MT7621 switch driver IRQ storm on init with linux 4.14
The hardware emits some interrupts while initializing and handling them
can mess up the state or cause infinite loops.
Fix this by disabling IRQs during init and re-enabling them afterwards

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 14:46:45 +01:00
Felix Fietkau
0405205140 kernel: fix MIPS GIC clock source counter width (affects MT7621)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 14:46:45 +01:00
Felix Fietkau
79f9cadd00 ramips: fix MT7621 PCI driver on 4.14
The .map_irq hook can now be called after init.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 14:46:45 +01:00
Felix Fietkau
9595a9e8d3 kernel: fix return value of usb_xhci_needs_pci_reset
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-20 22:29:32 +01:00
Felix Fietkau
c38fb58576 kernel: fix disabling common usb quirks on 4.14
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-20 22:19:41 +01:00
INAGAKI Hiroshi
e1d4aa36b0 ramips: add support for Tama W06
Tama Electric Axing W06 is a 2.4 GHz band 11n router, based on Mediatek
MT7688AN.

Specification:

- MT7688AN (575 MHz)
- 64 MB of RAM (DDR2 SDRAM)
- 16 MB of Flash (SPI)
- 1T1R 2.4 GHz
- 1x 10/100/1000 Mbps Ethernet
- 4x LEDs (GPIO connected: 3), 1x button
- 1x USB 2.0 Type-A (host)
- UART header on PCB (GND, RX, TX, Vcc from RJ45 side)

Flash instruction using sysupgrade image:
1. Connect micro-USB cable for power supply into W06 and turn on the
router
2. Connect to wifi with SSID "tama-*" with password. Complete SSID and
password are listed on the back of the router
3. Access to 192.168.1.1 and login with user name "admin" and password
empty
4. In firmware update(ファームウェア更新) page, click "参照" button
and click "ブラウザー" button to open file browser, select the
sysupgrade image and press OK button
5. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2018-02-20 19:25:17 +01:00
Mathias Kresin
cb741654e5 ramips: improve GnuBee Personal Cloud Two support
Use the generic board detection for the GnuBee Personal Cloud Two
instead of the target specific one as all recent additions are doing.

Fixup the pinmux to set all pins used as GPIO to the function GPIO.
Request pins where used.

Drop the i2c from the dts. There is nothing connected. While at it fix an
indentation issue and use references instead of duplicating the whole
node path.

Use the same switch config as for the GB-PC1 and drop the led trigger for
the not supported IP1001 phy connected to second rgmii.

Fixes: c60a21532b ("ramips: Add support for the GnuBee Personal Cloud Two")
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
c330408ea9 ramips: use generic board detection for D-Link DAP-1522 A1
Use the generic board detection for the D-Link DAP-1522 A1 instead of the
target specific one as all recent additions are doing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Hauke Mehrtens
6eaf8b3d89 lantiq: kernel 4.14: update dts files
Updated the devicetree source files to make use of the following
upstreamed drivers:

 - xrx200 ethernet phy
 - reset controller unit
 - dwc2
 - fpi

Use our custom xrx200 ethernet phy compatible to support boards, which
have switched the vr9 revision during lifetime, with a single devicetree
source file.

By switching to the dwc2 driver + usb phy framework, we don't need to used
our custom gpio power patch and can use a fixed regulator instead.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
f519fea4c6 lantiq: kernel 4.14: cleanup dts files
Move common used parts to dtsi. Add labels to nodes and reference nodes
via labels in dts files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
82ae68be70 lantiq: kernel 4.14: fix usb
On danube the USB0 registers are at 1e101000 similar to all other lantiq
SoCs.

On Danube and AR9 the USB core is connected to the AHB bus, hence we need
to enable the AHB Bus as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
2368f7cb78 lantiq: kernel 4.14: autoselect matching vr9 rev firmware
Add a custom xrx200 ethernet phy compatible to load the firmware matching
the vr9 revision without specifing an expected revision.

We have quite a few boards in the tree were later produced ones are using
a more recent vr9. It is impossible to distinguish which revision of the
vr9 is used without opening the case and removing a heatsink for some of
them.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
a48b4ae38b lantiq: kernel 4.14: don't use CPU interrupt controller IPI IRQ domain support
This reverts kernel commit 1eed40043579 ("MIPS: smp-mt: Use CPU interrupt
controller IPI IRQ domain support"). With the patch applied, the kernel
hangs during boot if SMP is active.

The Lantiq IRQ controller gets registered first and it directly handles
the MIPS native SW1/2 and HW0 - HW5 IRQs. It looks like this controller
already registers IRQ 0 - 7 and the generic driver only gets the following
IRQs starting later.

The upstream discussion can be found at
https://www.linux-mips.org/archives/linux-mips/2017-05/msg00059.html.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
cf53f2180c lantiq: kernel 4.14: select MFD SYSCON for ase
Enable syscon to use it for the RCU MFD on Amazon SE as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Hauke Mehrtens
f1d84023cb lantiq: kernel 4.14: update patches and config
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Hauke Mehrtens
5eeaba31b8 lantiq: kernel 4.14: copy patches, config and dts files
This just copies the patches, configuration and dts files into the
directories hich are used for kernel 4.14.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-20 19:25:17 +01:00
Mathias Kresin
f8a6987cd1 lantiq: make dts files and kernel config kernel version specific
Move the devicetree source files to a kernel specific directory in
preparation of adding kernel 4.14 support.

Rename the subtarget kernel config files to match a specific kernel
version.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Mathias Kresin
627a28eb09 lantiq: rename gphy firmware
Rename the gphy firmware to match the name requested by kernel 4.14 and
update the devicetree source files to use the new name.

Update the u-boot lantiq Makefile to be compatible with the new names as
well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-20 19:25:17 +01:00
Michael Heimpold
240e1e3fe4 mxs: drop support for 4.9
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2018-02-20 13:25:00 +01:00
Michael Heimpold
4812a3d1b5 mxs: enable LRADC driver
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2018-02-20 13:24:52 +01:00
Zoltan HERPAI
0a2494545e mxs: bump to use 4.14 by default
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2018-02-20 13:24:46 +01:00
Zoltan HERPAI
1bbd66c4fc mxs: add support for 4.14
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2018-02-20 13:24:43 +01:00
John Crispin
ba5f700d7f kernel: ar83xx: remove stray leading space
Signed-off-by: John Crispin <john@phrozen.org>
2018-02-20 10:33:47 +01:00
Tan Hong Hui
1263d07b89 kernel: ar83xx: add support to configure per port VLAN priority
Add support to allow for per switch port VLAN priority (PCP) bits
for the ar8327/8337 chip using the swconfig utility.

Tested on Netgear R7800

Signed-off-by: Tan Hong Hui <hhtan72@yahoo.com>
2018-02-20 10:33:34 +01:00
Koen Vandeputte
2f85985da2 kernel: backport pcie enumeration fix to kernel 4.9
This issue is also present in kernel 4.9 starting from 4.9.71
Adapted the patch, as the fixed function is in another location here.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-20 08:32:33 +01:00
Stijn Tintel
858ff4f3e1 Revert "brcm2708: fix sdcard image"
This reverts commit 6c2e1ff80f.

GNU gzip does not fail when the image filename already contains the .gz
extension, this is a problem specific to pigz. Revert the commit, as we
now gzip the image twice.

Reported-by: Martin Schleier <drahemmaps@gmx.net>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-02-19 23:52:45 +01:00
Rafał Miłecki
8651f1149d kernel: backport patches simplifying mtd_device_parse_register code
These 2 patches were recently queued for 4.17.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-02-19 16:01:44 +01:00
Rafał Miłecki
eefe02b23f kernel: order mtd backported patches by kernel release
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-02-19 15:28:47 +01:00
Tim Harvey
1188f35a98 imx6: remove support for 4.9
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-19 09:32:43 +01:00
Tim Harvey
8f9668f46c imx6: switch to Linux 4.14
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-19 09:32:43 +01:00
Tim Harvey
3b2708f09c imx6: add support for Linux 4.14
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-19 09:32:43 +01:00
Tim Harvey
3282e7189f kernel: backport dwc pci enumeration fix
Backport of:  http://patchwork.ozlabs.org/patch/860701/

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-02-19 09:32:43 +01:00
John Crispin
cc8921162f kernel: add missing symbols for v4.14
Signed-off-by: John Crispin <john@phrozen.org>
2018-02-19 09:32:43 +01:00
Hauke Mehrtens
47c5415023 brcm2708: Fix compile after adding kernel 4.9.82
Fixes: f621b53951 ("kernel: bump 4.9 to 4.9.82")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-18 19:52:06 +01:00
Hauke Mehrtens
b377a908bf x86: Use kernel 4.14 by default
Support for kernel 4.14 was added 2 months ago, make it now the default
kernel to use for the x86 target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Stijn Segers <francesco.borromini@inventati.org>
2018-02-18 19:51:58 +01:00
Stijn Tintel
ae42e7c01b kernel: add missing config symbols
They were introduced for arm64 in 4.14.20.

Fixes: 88ba41453d ("kernel: bump 4.14 to 4.14.20")

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-02-18 14:34:00 +01:00
John Crispin
761d45eb87 kernel: add missing symbol
this caused v4.14.20 based builds so fail on aarch64

Signed-off-by: John Crispin <john@phrozen.org>
2018-02-18 09:21:12 +01:00
Stijn Tintel
f621b53951 kernel: bump 4.9 to 4.9.82
Refresh patches.
Remove upstreamed patches:
- ar7/002-MIPS-AR7-ensure-the-port-type-s-FCR-value-is-used.patch
- backport/040-crypto-fix-typo-in-KPP-dependency-of-CRYPTO_ECDH.patch
Remove layerscape/819-Revert-dmaengine-dmatest-move-callback-wait-queue-to.patch,
it is superseded by upstream commit 297c7cc4b5651b174a62925b6c961085f04979fd.
Remove pending/650-pppoe_header_pad.patch, it is superseded by
upstream commit 1bd21b158e07e0b8c5a2ce832305a0ebfe42c480.
Update patches that no longer apply:
- ar71xx/004-register_gpio_driver_earlier.patch
- hack/204-module_strip.patch
- pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch

Fixes CVE-2017-8824.

Compile-tested: ar71xx.
Runtime-tested: ar71xx.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-02-18 02:59:57 +01:00
Stijn Tintel
88ba41453d kernel: bump 4.14 to 4.14.20
Refresh patches.
Remove upstreamed patches:
- backport/080-v4.15-0001-arch-define-weak-abort.patch
- backport/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch
Update patch that no longer applies:
pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch

Fixes CVE-2017-8824.

Compile-tested: octeon, x86/64.
Runtime-tested: octeon, x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-02-18 02:59:48 +01:00
Stijn Tintel
6c2e1ff80f brcm2708: fix sdcard image
The gzip step in the sdcard image build fails because the image filename
already has the gzip extension. This results in an empty image file, to
which the metadata is finally appended.

Remove the .gz extension from the image filename to fix this.

Fixes: e79b096ee1 ("brcm2708: convert to metadata")

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-02-17 21:00:49 +01:00
Evgeniy Didin
4cedd1ddb3 archs38: add HSDK board to network configure scripts
In the initial patch which adds HSDK board there were no update
of network configuration scripts. Without it by default static IP
is set for br-lan and there is no access to internet.
This patch fixes the issue.

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: Hauke Mehrtens <hauke@hauke-m.de>
CC: John Crispin <john@phrozen.org>
2018-02-17 12:29:55 +01:00
Hauke Mehrtens
6be73c07db sunxi: Add Xunlong Orange Pi Zero Plus
This is based on a patch from armbian:
https://github.com/armbian/build/blob/master/patch/kernel/sunxi-next/sunxi-add-orangepi-zero-plus.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-17 01:15:25 +01:00
Hauke Mehrtens
ef73ebbfe2 sunxi: Add Realtek PHY driver or ARM64 devices
The Orange Pi Zero Plus uses a RTL8211E, add the driver for this PHY.
This is probably used on more boards with a Allwinner SoC.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-17 01:15:24 +01:00
Antony Antony
3c24a1d423 sunxi: add support for NanoPi NEO Plus2 board
arm64: allwinner: h5: NanoPi NEO Plus2 DT support
Add initial DT for NanoPi NEO Plus2 by FriendlyARM
    - Allwinner quad core H5 Cortex A53 with an ARM Mali-450MP GPU
    - 1 GB DDR3 RAM
    - 8GB eMMC flash (Samsung KLM8G1WEPD-B031)
    - micro SD card slot
    - Gigabit Ethernet (external RTL8211E-VB-CG chip)
    - 802.11 b/g/n WiFi, Bluetooth 4.0 (Ampak AP6212A module)
    - 2x USB 2.0 host ports & 2x USB via headers

Signed-off-by: Antony Antony <antony@phenome.org>
2018-02-17 01:15:24 +01:00
Antony Antony
b7a1aa4df2 sunxi: add kernel DT for NanoPi NEO Plus2 board
Linux Kernel upstream commit d73413058

Signed-off-by: Antony Antony <antony@phenome.org>
2018-02-17 01:15:24 +01:00
Mathias Kresin
7a6de6d77a ar71xx: fix sysupgrade syntax error
Fix syntax error introduced with 188328111b ("treewide: move
nand_do_upgrade call to platform_do_upgrade").

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-16 22:56:56 +01:00
Mathias Kresin
188328111b treewide: move nand_do_upgrade call to platform_do_upgrade
Calling nand_do_upgrade() from platform_pre_upgrade() was deprecated
with 30f61a34b4 ("base-files: always use staged sysupgrade").

Update the platform upgrade code to use platform_do_upgrade() for NAND
images as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-16 14:44:02 +01:00
Mathias Kresin
c4ac02ffca treewide: remove obsolete sysupgrade watchdog kill
The watchdog kill command was meant for busybox watchdog. Busybox watchdog
was replaced by the procd watchdog mid 2013 with commit df7ce9301a
("busybox: disable the watchdog utility by default"), which makes the kill
command obsolete since quite some time.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-02-16 14:44:02 +01:00
Zoltan HERPAI
eae6003174 sunxi: switch to kernel 4.14
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2018-02-16 12:20:39 +01:00
John Crispin
6873cf4f63 kernel: add missing symbols
These cause mediatek arm to fail full builds

Signed-off-by: John Crispin <john@phrozen.org>
2018-02-16 10:02:08 +01:00
Roman Yeryomin
f4e5880d0f ramips: preliminary support for 4.14
- removed upstreamed patches
- 0901-spansion_nand_id_fix.patch is disabled, not clear if it's needed

Signed-off-by: Roman Yeryomin <roman@advem.lv>
Signed-off-by: John Crispin <john@phrozen.org>
2018-02-15 10:46:39 +01:00
Jo-Philipp Wich
dc7a1e8555 ramips: fix reporting effective VLAN ID on MT7621 switches
On MT7621, the REG_ESW_VLAN_VTIM reads are undefined, causing swconfig
to always report `vid: 0` in swconfig show output.

Since a 4K VLAN table is used on this platform, the VLAN ID always
correponds to the actual VLAN table index so provide a specific MT7621
implementation of the get_vid callback which returns the table index
as VLAN ID.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-14 16:43:30 +01:00
Jo-Philipp Wich
341b1427fc ramips: properly map pvid for vlans with remapped vid on mt7530/762x switches
Currently, untagged port primary vlan IDs are set to the VLAN table index,
and not the actual VLAN ID, breaking configurations with IDs deviating from
the VLAN index.

Fix the issue by resolving the per-port pvid property to the target VLAN ID
value before committing to the hardware.

Fixes FS#991, FS#1147, FS#1341

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-14 16:43:30 +01:00
Jo-Philipp Wich
bb4002c79d ramips: don't clobber vlans with remapped vid on mt7530/762x switches
Avoid overwriting vlan entries with remapped vid in later iterations of
the vlan enumeration loop of mt7530_apply_config().

Fix the problem by refactoring the code to first reset the entire table,
then reprogram only vlans with members to prevent overwriting configured
vlans with unconfigured ones.

Fixes FS#1147, FS#1341

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-14 16:43:29 +01:00
Jo-Philipp Wich
b9aca834e8 at91: fix image building with CONFIG_TARGET_MULTI_PROFILE
The current image build code has a number of race conditions and interface
contract violations in the custom image build steps:

 - Build/install-zImage, solely used by at91, relies on $(PROFILE_SANITIZED)
   which is not available when building with CONFIG_TARGET_MULTI_PROFILE

 - Build/at91-sdcard, which may run concurrently, creates scratch files at
   fixed locations and manipulates target files directly which can lead
   to file corruption and other unexpected failures

Rename the install-zImage macro to at91-install-zImage and move it to the
at91 image Makefile since this target is the sole user. Also utilize "$@"
as output file name and switch the usage of $(PROFILE_SANITIZED) to
$(DEVICE_NAME) in order to fix naming under multi profile builds.

Fix the at91-sdcard macro to construct scratch file paths relative to "$@",
which is guaranteed to be unique and store the final artifact output in "$@"
as well, instead of inside $(BIN_DIR). The generic image build code takes
care of moving a build steps "$@" output to the final destination in a
concurrency-safe manner.

Finally remove the broken install-zImage from the generic image-commands
Makefile.

Fixes: d7a679a036 ("at91: Install zImage.")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-14 15:47:16 +01:00
John Crispin
7762c07c88 mediatek: bump to v4.14
This drops support for all the !emmc EVB and adds banannaPi-R2
Also drop mtkhnat until the nftables offoad driver is ready

Signed-off-by: John Crispin <john@phrozen.org>
2018-02-14 11:27:50 +01:00
Dongming Han
04d3308b62 ipq806x: add support for GL.iNet GL-B1300
This patch adds support for GL.iNet GL-B1300

Specification:
- SOC:        IPQ4028 / QCA Dakota
- RAM:        256 MiB
- FLASH:      32 MiB
- ETH:        Qualcomm Atheros QCA8075 Gigabit Switch (2 x LAN, 1 x WAN)
- USB:        1 x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC)
- WLAN1:      Qualcomm Atheros QCA4028 2.4GHz 802.11bgn 2:2x2
- WLAN2:      Qualcomm Atheros QCA4028 5GHz 802.11a/n/ac 2:2x2
- INPUT:      one reset and one WPS button
- LEDS:       3 leds: Power, WIFI(only for 2.4G currently), and one reserved
- UART:       1 x UART on PCB (3.3V, TX, RX, GND) - 115200 8N1

Installation:
Method 1:
- use serial port to stop uboot
- uboot command: run lf
Method 2:
- push down reset button and power on
- wait until three leds constantly on then release
- upgrade by uboot web at http://192.168.1.1
Note:
- the sysupgrade image need to be renamed to lede-gl-b1300.bin in both method.
- the sysupgrade image can be automatically downloaded if tftp server at
  192.168.1.2 have that file.
- the wifi led will be flashing when writing image.

Signed-off-by: Dongming Han <handongming@gl-inet.com>
2018-02-14 09:40:32 +01:00