Commit graph

18470 commits

Author SHA1 Message Date
Matthias Schiffer
0cd5e85e7a
ar71xx: create new ar71xx/tiny subtarget for 4MB flash devices
This new subtarget sets the small_flash flag and removes unused kernel
configuration.

small_flash removes KERNEL_KALLSYMS, which saves ~107KB in the default
configuration; removing unneeded hardware support from ar71xx/tiny saves
another ~18KB (both after LZMA).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Matthias Schiffer
29d126b5c1
ar71xx/generic: add generic- prefix to vendor-specific image Makefile snippets
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Matthias Schiffer
3d365831b0
ar71xx: reorganize kernel configuration
Rather than including all machines for the generic subtarget in the base
configuration, leave the base configuration without specific machines and
create a proper subtarget config for ar71xx/generic. The configuration
diffs of the mikrotik and nand subtargets get significantly shorter, as
will the configurations of future subtargets.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Matthias Schiffer
d04056e5ea
ar71xx: disable devicetree support
While we'd like to convert ar71xx to DT-based configuration
eventually, we aren't quite there yet, and shipping half-baked DT support
that is not used at all wastes precious space.

Saves ~120KB before LZMA, ~33KB after LZMA.

Run-tested on TP-Link CPE510 and TL-WR841 v7.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Jo-Philipp Wich
7e99a6ba69 target: disable CONFIG_PROC_PAGE_MONITOR on most targets
Disable CONFIG_PROC_PAGE_MONITOR in most places and only keep it enabled
for virtual targets such as malta or potent ones like x86.

This saves up to 4KB of uncompressed kernel size and significantly
decreases CPU load under certain workloads.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-13 15:04:15 +01:00
Sven Eckelmann
86e18f6706 ipq806x: add support for OpenMesh A42
* QCA IPQ401x
* 256 MB of RAM
* 32 MB of SPI NOR flash (s25fl256s1)
  - 2x 15 MB available; but one of the 15 MB regions is the recovery image
* 2T2R 2.4 GHz
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=OM-A42
* 2T2R 5 GHz
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=OM-A42
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x button (reset; kmod-input-gpio-keys compatible)
* external watchdog
  - triggered GPIO
* 1x USB (xHCI)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x gigabit ethernet
* powered only via POE
  - 802.3af POE on Ethernet 1
  - 18-24v passive POE (mode B) on Ethernet 2

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the factory image to the u-boot when the device boots up.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2018-01-13 08:00:14 +01:00
Sven Eckelmann
c242643d1a ipq806x: enable gpio watchdog support
The kernel driver gpio-wdt or the userspace tool om-watchdog can be used to
trigger external gpio watchdog chips. The gpio-wdt driver has the benefit
that it can be configured together with the rest of the device in the DTS
and better integrates in the OpenWrt via procd.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-01-13 08:00:07 +01:00
Luis Araneda
7293499f71 ipq806x: Sort occurrences of boardame alphabetically
This restores the alphabetical sort that was present
before the renaming of boardname.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2018-01-13 07:33:03 +01:00
Luis Araneda
33f09cf151 ipq806x: convert to dt-based board-detection
Use the generic board detection method:
- Board name: First compatible string from the device tree
- Board model: Model property from the device tree

Change occurrences of board name in userspace by the compatible
string, and removed target specific board detection script

Replace the definition of SUPPORTED_DEVICES in Device/Default
to extract the dt compatible string from each device definition.
Additionally, for devices supported by lede-17.01, append
the value of BOARD_NAME to SUPPORTED_DEVICES in the device
definition.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2018-01-13 07:33:03 +01:00
Luis Araneda
3cbdae2421 ipq806x: sync image filename with dt compatible string
Use <manufacturer>_<modelname> as image name for board using the
devicetree compat string as boardname.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2018-01-13 07:33:02 +01:00
Luis Araneda
09e13bd341 ipq806x: add a helper variable with the vendor name stripped
This will allow to maintain the current syntax for LEDs config
when switching to a device tree compatible string boardname.

None of the current boards use a comma in the boardname, so they
will be unaffected.

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2018-01-13 07:33:02 +01:00
Luis Araneda
8ed5dfedc6 ipq806x: add missing dt compatible string to ap-dk04 board
Compatible string is mandatory to dts files

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2018-01-13 07:33:02 +01:00
Mathias Kresin
c3d9fe96dc ipq806x: drop partitial supported boards
There are only artifacts for these boards in our tree and not even
partial support.

Drop teh stale files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-13 07:33:02 +01:00
Florian Fainelli
0cf7c54023 armvirt: Resync kernel configuration
The 4.14 kernel configuration defaulted to a v4/v5 multiplatform while
4.9 was using a v6/v7 default configuration. Resync 4.14 against 4.9 so
they are nearly identical.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-01-12 15:14:27 -08:00
Florian Fainelli
d8a12a7d9f kernel: Add a bunch of missing symbols
Add a bunch of missing configuration symbols found while building
armvirt for 4.14 after re-synchronization of the configuration between
4.9 and 4.14.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-01-12 15:14:27 -08:00
Rafał Miłecki
3618dcbff8 bcm53xx: rename SPI driver fix to use 0xx prefix as it was accepted
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-01-12 23:29:48 +01:00
Rafał Miłecki
8cd3370cce bcm53xx: use upstream fix for PCI iproc driver regression
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-01-12 23:27:43 +01:00
Rosen Penev
7059ab48a6 ramips: fix cpuclock for the GB-PC1
The GnuBee PC1 stock bootloader runs at 900Mhz. This fixes bad clock drift when running the platform.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-01-12 08:02:51 +01:00
Christian Lamparter
3c94691620 apm821xx: remove kernel 4.9 support
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-01-12 08:00:05 +01:00
Christian Lamparter
e97f92bbf9 apm821xx: switch to 4.14.x kernel
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-01-12 08:00:05 +01:00
Christian Lamparter
780477d17c apm821xx: backport crypto4xx patches from 4.15
This patch backports changes to crypto4xx in order
to get the crypto4xx operational.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-01-12 08:00:04 +01:00
Christian Lamparter
e4371779d2 apm821xx: convert MR24 to use DT PHY defintion
Convert the MR24 to use the DT phy probing and at803x PHY driver.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-01-12 08:00:04 +01:00
Christian Lamparter
15faf389ad apm821xx: add linux 4.14 apm821xx patches
This patch updates the apm821xx target to use the 4.14 kernel.

4.14 finally ships with a driver for the WNDR4700's tc654 fan
controller. The custom driver is deprecated in favor of the
upstream driver and the thermal cooling definitions in the DTS
are updated.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-01-12 08:00:04 +01:00
Hauke Mehrtens
31fca075c7 at91: create device specific sdcard images
Without this patch one sdcard image with the following name is created
for all devices:
openwrt-at91-sama5--sdcard.img.gz
This makes the build system create device specific versions like:
openwrt-at91-sama5-at91-sama5d2_xplained-sdcard.img.gz

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-11 20:35:33 +01:00
Kevin Darbyshire-Bryant
7c7586b6d0 kernel: bump 4.14 to 4.14.13
Refresh patches

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-01-11 20:34:33 +01:00
Kevin Darbyshire-Bryant
eceff9ea8f kernel: bump 4.4 to 4.4.111
Refresh patches

Tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-01-11 20:33:40 +01:00
Kevin Darbyshire-Bryant
2228dbf4e6 kernel: bump 4.9 to 4.9.76
Refresh patches

Tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-01-11 20:32:36 +01:00
Rafał Miłecki
05cb6aa69f bcm53xx: replace linux,part-probe with a proper partitions subnode
This solution is more upstream compatible as it only requires specifying
of_match_table in the parser code and doesn't depend on linux,part-probe
which is solution made generic by a LEDE downstream patch that can't be
upstreamed.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-01-11 14:05:10 +01:00
Rafał Miłecki
bde5e7a632 kernel: backport mtd implementation for "compatible" in "partitions" subnode
This backports upstream support for "compatible" DT property set for the
"partitions" subnode of flash node. It allows specifying how partitions
should be created/parsed. Right now only "fixed-partitions" is
supported.

It should eventually replace our downstream "linux,part-probe" solution.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-01-11 12:07:49 +01:00
Matthias Schiffer
ef27f15330
kernel: allow disabling multicast routing support
Multicast routing support is not needed in most setups, and increases the
size of the kernel considerably (>10K after LZMA). Add a config switch to
allow disabling it.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-11 11:51:24 +01:00
Matthias Schiffer
1abb5c6db1
generic: unlock Winbond flash on boot
The underlying issue breaking Spansion flash has been fixed with "mtd: spi-nor:
wait until lock/unlock operations are ready" and "mtd: spi-nor: wait for SR_WIP
to clear on initial unlock", so we can support unlocking for Winbond flash
again.

This is necessary to have writable flash on certain UBNT devices with some
bootloader versions.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-11 11:51:07 +01:00
Jo-Philipp Wich
f66fe0080a sunxi: enable missing config symbol
Enable CONFIG_MFD_AXP20X_I2C after the switch to Kernel 4.9, this symbol
is reportedly required to get USB working on the Banana Pi.

Ref: https://forum.lede-project.org/t/sunxi-kernel-4-9-usb-not-working/10513
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-11 03:14:07 +01:00
Mathias Kresin
d3fd38637f lantiq: create ATM/PTM interfaces with dsl as netdev name
Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the
original netdev might disappear before br2684ctl has finished appling it's
setting:

 local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully
 local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC
 kern.info kernel: dsl0: renamed from nas0
 kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device
 local2.err br2684ctl[1667]: Could not configure interface:No such device or address

By passing the final used netdev name to br2684ctl_wrap another race
condition workaround will be enabled again.

Change the lantiq ptm driver to create a netdev with the name dsl as well.
Albeit the rename via 'ip link' works fine so far, using a different
approach for ptm then atm could be confusing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-10 08:08:53 +01:00
Jo-Philipp Wich
57157618d4 armvirt: re-enable VFP support
Enable CONFIG_VFP again which was disabled during the 4.9 -> 4.14 bump.

Boot tested both 32 and 64 bit subtargets using initramfs images with the
qemu-system-arm and qemu-system-aarch64 emulators.

Fixes: aa100b66f2 ("armvirt: bump to v4.14")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-10 00:44:08 +01:00
Jo-Philipp Wich
7226c7850b armvirt: 64: add missing kernel config symbols
Fixes: aa100b66f2 ("armvirt: bump to v4.14")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-01-10 00:44:08 +01:00
Kevin Darbyshire-Bryant
efb375b579 kernel: bump 4.4 to 4.4.110
Refresh patches

Fixes:  CVE-2017-5754 aka Meltdown

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
[fix typo in commit msg, conflict after 4.14 bump]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-10 00:11:39 +02:00
Kevin Darbyshire-Bryant
1d2590f838 kernel: bump 4.9 to 4.9.75
Refresh patches

Fixes:  CVE-2017-5754 aka Meltdown

Tested-on: ar71xx Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[fix conflict after 4.14 bump]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-10 00:11:39 +02:00
Mathias Kresin
0674a99f7e kirkwood: sort occurrences of boardame alphabetically
This restores the alphabetical sort that was present
before the renaming of boardname.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Alberto Bursi
c19f811c4d kirkwood: add pogoplug v4
also known as
POGO-V4-A3-02
or
POGO-V4-A3-01

SoC: Marvell 88F6192 800Mhz
SDRAM memory: 128MB
Gigabit ethernet: 1 Marvell 88E1310
Flash memory: 128MB
2 status LEDs (one green one red)
1 "Eject" button on the back (used as "Reset" button)
1 USB 2.0 port (on upper side)
1 sata slot (power + data) for 2.5'' drives (upper side)
2 USB 3.0 ports from a controller on PCIe x1 of the SoC
1 full-size SDcard slot (fits a whole SD card into it)

This device supports the (linux-only) kwboot tool to send
a new uboot over serial console, so it is easy to unbrick
in case the uboot is erased and the device won't boot.

-----
Install instructions:
-----
Since it's not possible to get ssh access to these
devices, the only way to take control is to
solder pins to get TTL serial access.

Case can be opened by removing screws beneath two rubber
feet at back of device, then lifting while prying the
sides of the upper part out to unhook a latch on each
side about 2/3rds of the way toward the front.

Serial connection pins are those labeled "J11", left
of SD as you face SD opening.
Pins are (from left to right, i.e. the first in the list
is the nearest to the SD slot) GND, Rx, Tx.
Do not connect +V pin if you use a USB (self-powered)
TTL-to-USB dongle. Any USB TTL-to-USB converter will work.
Baud rate is 115200, parity "none", databits "8",
flow control "none".

Stock uboot is unable to read ubi partitions (nor usb)
so we will replace it first with our uboot.

Start a TFTP server at IP address 169.254.254.254, and
place the uboot.kwb file in the folder of the server.

Start the serial session and then power up the device.

As soon as you see text on the serial start pressing random
letter keys to stop the boot process.

If you see something like the following line you can proceed:

CE>>

Otherwise if text is still scrolling by you missed the
opportunity, pull the plug and try again.

write

printenv ethaddr

The uboot will write something like this:

ethaddr=00:50:43:00:02:02

This is the device's MAC address, also present in the sticker
under the device.

Write this down as we will need to add it in the
new uboot configuration.

Use the following commands to load the new uboot:

tftp 0x20000 u-boot.kwb

If the uboot confirms that the transfer was successful,
then you can write it to flash with the following commands:

nand erase 0 0x200000
nand write 0x20000 0 0x1c0000

if after the last command the uboot wrote
"xxxx bytes written: OK"
then it was written correctly and we can proceed.

If it did not go well, try again or ask assistence in forums.
Shutting down or rebooting at this time will brick
the device, to unbrick it you will need to use the kwboot
tool from a Linux PC or Virtual Machine.

Now write:

reset

and press enter, the device will reboot and you should see
again text scrolling by.
Press a random key to stop it, and now you should see

pogoplugv4>

We now add the MAC address back, write:

setenv ethaddr '00:50:43:00:02:02'

Confirm that the uboot has understood by writing

printenv ethaddr

If all looks ok, save the setting with

saveenv

At this point the uboot is configured, and we only need to load
the firmware in the flash memory.

Follow the steps below in "Firmware recovery procedure".

----
Firmware recovery procedure
----
The new uboot allows easy recovery from a bad firmware upgrade
where you can't access the device anymore over ssh or luci.

Take a USB flash drive formatted as FAT32, and copy the
initramfs image file in it (it will have "initramfs" in the
file name), then rename it as "initramfs.bin".

Insert the USB drive in the USB 2.0 port of the pogoplug
(the port at the top).

Power up the device, and wait for it to finish booting.

The uboot should find and load the "initramfs.bin"
from usb and if you are connected with serial you should
see the linux kernel boot log (text scrolling by).
Once it is done, press Enter and you will be greeted by
the OpenWRT banner.

If you were not connected with serial just wait a bit and,
you will be able to access it with ssh or luci web interface
(once you find its IP).

The recovery "initramfs" images are run from RAM, so you will
have to do a normal sysupgrade (firmware upgrade) to write
a firmware image to flash memory.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2018-01-09 22:06:55 +01:00
Mathias Kresin
f5df635ccf kirkwood: sync image filename with boardname
Use <manufacturer>_<modelname> as image name.

Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
c9e2c35f46 kirkwood: use the generic board detect
Drop the target specific detection function in favour of the generic
one provided by base-files.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
aa6f5f1787 kirkwood: use image metadata
Append and enforce image metadata. Remove the device specific image
checks, they are replaced by image metadata.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:55 +01:00
Mathias Kresin
a10ab9d843 kirkwood: fix nsa310b compatible strings
Use a destinct compatible string fro the nsa310b.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
18ea058258 kirkwood: fix compatible string in ib62x0 dts
There is no point in being that specifc in a generic dts covering a range
of boards. Keep only the the generic compat string to use it for a
devicetree based boardname.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
0ebdf0c1d3 kirkwood: drop support for orphaned boards
No image build code for the Guruplug, Sheevaplug and NSA310S exists. Drop
support for the boards for now.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
d2e18dae28 kirkwood: cleanup image build code
Drop NAND_BLOCKSIZE, UBI_OPTS and UBIFS_OPTS. They are either used by
not supported filesystems or by the legacy image build code.

Add common used options/images to the default build code and override
the options where necessary.

Don't export the kernel image, it isn't required by any board.

While at it, change the file extension for the sysupgrade images to bin.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:54 +01:00
Mathias Kresin
f0227af5d6 ipq806x: drop kernel 4.4 leftovers
Remove the kernel 4.4 specific devicetree source files.

Fixes: 3a3564ead5 ("ipq806x: remove v4.4 support")

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:06:37 +01:00
David Bauer
daae09f1e5 ar71xx: fix Archer C7v4 5GHz MAC-address
The TP-Link firmware uses (primary_mac-1) as MAC-address
for the 5GHz WiFi. This applies the same behaviour to LEDE.

Currently, the MAC-address is retrieved from eth1, which
does not exist on the Archer C7 v4. As a result from this,
every C7 v4 with LEDE carries the same MAC-Address on the 5GHz WiFi.

Signed-off-by: David Bauer <mail@david-bauer.net>
2018-01-09 22:05:46 +01:00
Chuanhong Guo
a657978fe7 ramips: fix lenovo newifi-y1 switch and LED config
There are 3 ethernet ports on Y1. LAN1 on port1, LAN2 on port0 and WAN on
port4.

Use a standalone switch configuration to match this and use the switch
trigger so that LAN LED could indicate the connetction status for both
lan ports correctly.

This patch also drop the internet led configuration, because there is a
WAN led for port4 and eth0.2 isn't always used as WAN.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2018-01-09 22:05:46 +01:00
Mathias Kresin
6912e55e71 ramips: add missing soc compatibles to dts
Add SoC compatibles where missing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:05:46 +01:00
Mathias Kresin
3326e36fa7 ramips: firewrt: indicate boot status via LED
Add the Firefly FireWRT gree power LED to diag.sh to indicate the boot
status via the power LED.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-09 22:05:46 +01:00
Gabor Juhos
82cc439976 ar71xx: remove obsolete '< KERNEL_VERSION(4, 4, 0)' check
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 4.4.0 is always
false. Remove the obsolete check from mach-rb4xx.c to clean up the code
a bit.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 21:33:19 +01:00
Gabor Juhos
8f44c8086b ar71xx: remove obsolete '< KERNEL_VERSION(4, 2, 0)' check
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 4.2.0 is always
false. Remove the obsolete check from ag71xx_main.c to clean up the code
a bit.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 21:33:18 +01:00
Gabor Juhos
7a4930b27c ar71xx: remove obsolete '< KERNEL_VERSION(3, 15, 0)' checks
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 3.15.0 is always
false. Remove the obsolete checks from the target specific source files
to clean up the code a bit.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 21:33:18 +01:00
John Crispin
aa100b66f2 armvirt: bump to v4.14
Signed-off-by: John Crispin <john@phrozen.org>
2018-01-09 14:40:54 +01:00
John Crispin
7172ec1e8f malta: bump tp v4.14
Signed-off-by: John Crispin <john@phrozen.org>
2018-01-09 10:26:16 +01:00
John Crispin
4ee195bcfa malta: fix image prefix names
Signed-off-by: John Crispin <john@phrozen.org>
2018-01-09 10:26:16 +01:00
Gabor Juhos
99be4170cb ar71xx/mikrotik: disable TP-Link TL-WR810N v2 board support
It does not belongs to the MikroTik boards.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 08:34:03 +01:00
Gabor Juhos
7f7eb18455 ar71xx/mikrotik: disable unused MTD partitioning and split drivers
Reduces the compressed kernel size by ~2.5KB.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 08:34:03 +01:00
Gabor Juhos
660ee2d0f0 ar71xx/mikrotik: disable unused ethernet switch and phy drivers
Disable the drivers for the following ethernet switches:
  Realtek RTL8306
  Realtek RTL8366/8367
  Marvell 88E6060 (DSA)
  Marvell 88E6063 (DSA)

Also disable the phy driver for Marvell PHYs.

None of the supported RouterBOARDs are using any device
which needs these drivers.

Disable the DSA framework too, because it is not required
by the remaining switch drivers.

This reduces the compressed kernel size by ~20KB.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 08:34:03 +01:00
Gabor Juhos
b386b5727b ar71xx: fix Kconfig dependency of the 88E6063 switch DSA driver
The Marvell 88E6063 ethernet switch driver depends on the DSA
framework. Add a 'depends on NET_DSA' statement to its Kconfig
entry to state that explicitly.

Fixes the following Kconfig warning:

  warning: (NET_DSA_MV88E6060 && NET_DSA_MV88E6063) selects NET_DSA_TAG_TRAILER which has unmet direct dependencies (NET && NET_DSA)

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 08:34:03 +01:00
Gabor Juhos
09bb7105c2 ar71xx: sort kernel configurations
The symbols in some kernel configurations of the target are in
wrong order. Sort them with kconfig.pl.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-09 08:34:03 +01:00
Stijn Tintel
56767dfa42 octeon: add support for kernel 4.14
Tested on EdgeRouter Lite.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-08 20:14:57 +02:00
Gabor Juhos
4045f15a21 ar71xx: fix compiler warnings in mdio-bitbang.c for 4.4
Building Linux 4.4 for ar71xx throws the following warnings in
drivers/net/phy/mdio-bitbang.c:

    CC      drivers/net/phy/mdio-bitbang.o
  In file included from include/linux/irqflags.h:14:0,
                   from drivers/net/phy/mdio-bitbang.c:20:
  drivers/net/phy/mdio-bitbang.c: In function 'mdiobb_read':
  include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
    (void)(&__dummy == &__dummy2); \
                    ^
  include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck'
     typecheck(unsigned long, flags); \
     ^
  include/linux/irqflags.h:124:3: note: in expansion of macro 'raw_local_irq_save'
     raw_local_irq_save(flags);   \
     ^
  drivers/net/phy/mdio-bitbang.c:162:2: note: in expansion of macro 'local_irq_save'
    local_irq_save(flags);
    ^
  include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
    (void)(&__dummy == &__dummy2); \
                    ^
  include/linux/irqflags.h:68:3: note: in expansion of macro 'typecheck'
     typecheck(unsigned long, flags); \
     ^
  include/linux/irqflags.h:126:39: note: in expansion of macro 'raw_local_irq_restore'
   #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0)
                                         ^
  drivers/net/phy/mdio-bitbang.c:175:2: note: in expansion of macro 'local_irq_restore'
    local_irq_restore(flags);
    ^
  drivers/net/phy/mdio-bitbang.c:159:11: warning: unused variable 'i' [-Wunused-variable]
    int ret, i;
             ^
  In file included from include/linux/irqflags.h:14:0,
                   from drivers/net/phy/mdio-bitbang.c:20:
  drivers/net/phy/mdio-bitbang.c: In function 'mdiobb_write':
  include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
    (void)(&__dummy == &__dummy2); \
                    ^
  include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck'
     typecheck(unsigned long, flags); \
     ^
  include/linux/irqflags.h:124:3: note: in expansion of macro 'raw_local_irq_save'
     raw_local_irq_save(flags);   \
     ^
  drivers/net/phy/mdio-bitbang.c:185:2: note: in expansion of macro 'local_irq_save'
    local_irq_save(flags);
    ^
  include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
    (void)(&__dummy == &__dummy2); \
                    ^
  include/linux/irqflags.h:68:3: note: in expansion of macro 'typecheck'
     typecheck(unsigned long, flags); \
     ^
  include/linux/irqflags.h:126:39: note: in expansion of macro 'raw_local_irq_restore'
   #define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0)
                                         ^
  drivers/net/phy/mdio-bitbang.c:200:2: note: in expansion of macro 'local_irq_restore'
    local_irq_restore(flags);
    ^

These are caused by the 900-mdio_bitbang_ignore_ta_value and
901-phy-mdio-bitbang-prevent-rescheduling-during-command patches.

The first patch removes some code but it does not remove the variable
which is used by the removed code only.

The second patch adds local_irq_{save,restore} calls. The type of the
argument of these calls must be 'unsigned long', but the patch defines
the variable as 'long'.

Fix both patches to silence the warnings.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2018-01-07 13:05:40 +01:00
Mathias Kresin
d726187367 lantiq: fix wbmr-hp-g300h image metadata
The Annex A and Annex B version are using the same (old) userspace
boardname. Update the SUPPORTED_DEVICES to allow an update from lede-17.01.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-04 21:23:59 +01:00
Philip Prindeville
d280c03a1d x86: preinit: use board_name on Sm Super Servers
Supermicro puts "Super Server" into their product_name DMI value
for a whole slew of products, making this value about as useful
as not having been filled in at all.  Instead, fall back on the
board_name instead.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-01-04 13:44:42 +01:00
Philip Prindeville
445f980a38 x86: preinit: make name rewrite into reusable function
There might be other places (such as vendor-supplied preinit scripts)
where we wish to take a DMI name and clean it up in a consistent way,
so make the sed command into a function.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-01-04 13:44:42 +01:00
Stijn Tintel
c5ca1c9ab6 kernel: bump 4.14 to 4.14.11
Rename unwinder config symbols to match upstream changes.
Refresh patches.
Update patch that no longer applies: 202-reduce_module_size.patch

Also enable CONFIG_PAGE_TABLE_ISOLATION. This feature was backported
from 4.15 to the 4.14 stable series. It is enabled by default, so enable
it in OpenWrt as well.

Compile-tested on x86/64.
Runtime-tested on x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-03 00:07:10 +02:00
Stijn Tintel
8b35da1552 kernel: move CONFIG_KASAN to generic config
While bumping 4.14, the kernel build failed due to missing CONFIG_KASAN
symbol. Move it to generic config instead of defining it for all arm64
and x86/64 targets.

It was only added in 4.0, so not needed in config-3.18.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-01-02 21:55:46 +02:00
Hauke Mehrtens
597de6904c layerscape: activate fpu feature
The CPU sub type was set to a CPU version with FPU, but the FPU feature
was not activated before, so a soft float toolchain was created.
Activate also the FPU feature to create the correct toolchain.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-02 07:24:46 +01:00
Hauke Mehrtens
01cc6bd495 at91: sama5: activate fpu
This activates neon and VFPv4 support for this target. The CPU support
these feature so also use them.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-02 07:14:09 +01:00
Kevin Darbyshire-Bryant
4b275baf91 kernel: bump 4.9 to 4.9.73
Refresh patches.

Runtime tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-01-02 07:14:09 +01:00
Rafał Miłecki
3267ce750e bcm53xx: use iflag=skip_bytes for dd command during sysupgrade
Since BusyBox 1.25.0 dd command supports iflag=skip_bytes which allows
skipping requested amount of bytes without reducing blocksize. Thanks to
this we can leave default blocksize and let dd work more efficiently.

On Netgear R6250 "dd skip=58 iflag=skip_bytes" can be 5 times faster
than "dd bs=58 skip=1" when extracting TRX out of CHK.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 23:18:45 +01:00
Rafał Miłecki
612a93564c brcm47xx: image: build firmware for Asus WL-500g Deluxe
It's a device based on BCM5365P (0x5365 package 0x00). This SoC has
USB 1.1 controller but device has two USB 2.0 parts. They are handled by
PCI-based controllers: 1106:3038 UHCI and 1106:3104 EHCI.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 23:18:19 +01:00
Rafał Miłecki
fea884ff51 bcm53xx: add early support for kernel 4.14
Don't switch to it by default yet as it requires more testing.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 23:15:32 +01:00
Mathias Kresin
4dd51788dd ramips: fix Omega2 compatible string
Change the compatibel from Omega to Omega2 and add the compatible string
where missing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-29 22:32:34 +01:00
Mathias Kresin
76d735d189 ramips: fix widora neo diag led
The diag LED is named widora🍊wifi and can't be derived from the
boardname.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-29 22:32:34 +01:00
Thomas Nixon
9fc9fbeb97 lantiq: fix dts compatible string
This was broken in 7bab49fd ("lantiq: add compatible strings to dts
files"), causing for the dm200 garbled serial output during boot, and
likely other issues.

Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
[fix the compat string of the P2601HNFX as well]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-29 22:32:26 +01:00
Rafał Miłecki
6e922a0756 bcm53xx: make USB packages compatible with kernels 4.13+
In kernels 4.13+ modules are located in an extra "broadcom" subdir.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 17:25:51 +01:00
Rafał Miłecki
9c312ef628 bcm53xx: add upstream patch fixing SPI controller driver
That patch fixes handling SPI messages with two writing transfers. It's
important when using e.g. by m25p80 driver which uses one transfer for
opcode and another one for data.

Thanks to that fix we can now drop m25p80 workaround patch. It means one
less hack and also a better flash writing performance as there is no
more data buf copying.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-12-29 15:31:22 +01:00
Vittorio Gambaletta
d40a358136
ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
Backported from Code Aurora QSDK

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
2017-12-29 15:17:07 +01:00
Philip Prindeville
2e23733838 x86: add NVMe support for motherboards w/ M.2 slot
A lot of 1U x86_64 servers have NVMe support, which is lower-power
and higher speed than SSD or CFast drives, etc.  The drivers
required to make this work are trivial.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2017-12-26 23:31:00 +01:00
Kevin Darbyshire-Bryant
e547f1692a kernel: bump 4.4 to 4.4.108
Refresh patches.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2017-12-26 23:31:00 +01:00
Kevin Darbyshire-Bryant
7b6e01d389 kernel: bump 4.9 to 4.9.72
Refresh patches.

Runtime tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2017-12-26 23:31:00 +01:00
Jonas Gorski
1064e76e4e linux: unbreak host tools build for 4.14
Remove a stray -Wp left in host_c_flags causing build failures for newer
4.14 versions.

Reported-by: Michael Marley <michael@michaelmarley.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-12-25 19:06:53 +01:00
Christian Lamparter
246916ddf4 brcm2708: use x86's upgrade scripts for all rpi targets
Advantages:
 - preserves existing partition layout on the sd-card.
   Only the boot and rootfs partition will be overwritten.

Please note that sysupgrade will refuse to upgrade, if the existing
installation  has an incompatible partition layout. Future changes
to the bootfs and/or rootfs partition size will likely cause breakage
to the sysupgrade procedure. In these cases, the ext4-sdcard.img.gz
will have to be written to the sdcard manually.
Please don't forget to backup your configuration in this case.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:43 +01:00
Christian Lamparter
6f04128892 brcm2708: convert to dt-based board-detection
Use the values populated by the generic board detect function. The
first compatible from the device tree source file will be the board
name in userspace. The model property from the device tree source file
will be the model name.

Change the board name where used in the userspace and drop the target
specific board detect, to use the generic one.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:41 +01:00
Christian Lamparter
778543dab4 brcm2708: add compatible strings
This patch adds the compatible string for the various RPIs from
4.14 upstream.

Note: The 4.14 upstream does not include the compute modules.
If the CM* would just house the SoC, it could in theory use the
"raw" chip compatible string. However, these CM boards also come
with RAM and eMMC. So they have to have a proper comaptible.

For now, "raspberrypi,compute-module-{1|3}" will be good enough.

Note2: The original CM was renamed to CM1 when CM3 was released.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:37 +01:00
Christian Lamparter
e79b096ee1 brcm2708: convert to metadata
This patch converts all the raspberrypi images to utilize
the common metadata-based image verification.

Note: the CM1 and CM3 currently use the same "rpi-cm"
boardname.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-25 12:19:36 +01:00
Gabor Juhos
6456999731 ar71xx: spi-rb4xx: balance clk_prepare_enable() call
Commit c312cef223 ("ar71xx: spi-rb4xx fix.") replaced the clk_enable() call
with clk_prepare_enable() to meet the common clock framework requirements.
However it did not change the clk_disable() call in the error patch which
thus leads to imbalance.

Fix the code by using the correct counterpart of clk_prepare_enable() in both
places.

Fixes: c312cef223 ("ar71xx: spi-rb4xx fix.")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2017-12-24 09:03:01 +01:00
Gabor Juhos
df68e63a4f kernel/4.14: add missing newline character to UBI messages
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:

  [    6.649159] UBI error: no valid UBI magic found inside mtd6[    6.667751] Freeing unused kernel memory: 2196K

Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:

  [    6.609182] UBI error: no valid UBI magic found inside mtd6
  [    6.627599] Freeing unused kernel memory: 2132K

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2017-12-24 09:03:01 +01:00
Gabor Juhos
975e9cd866 kernel/4.9: add missing newline character to UBI messages
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:

  [    6.649159] UBI error: no valid UBI magic found inside mtd6[    6.667751] Freeing unused kernel memory: 2196K

Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:

  [    6.609182] UBI error: no valid UBI magic found inside mtd6
  [    6.627599] Freeing unused kernel memory: 2132K

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2017-12-24 09:03:01 +01:00
Gabor Juhos
bb51193acd kernel/4.4: add missing newline character to UBI messages
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:

  [    6.649159] UBI error: no valid UBI magic found inside mtd6[    6.667751] Freeing unused kernel memory: 2196K

Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:

  [    6.609182] UBI error: no valid UBI magic found inside mtd6
  [    6.627599] Freeing unused kernel memory: 2132K

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
2017-12-24 09:03:00 +01:00
Kevin Darbyshire-Bryant
b0d99b77e5 kernel: bump 4.4 to 4.4.107
Refresh patches.

Update patch that no longer applied:
oxnas/0072-mtd-backport-v4.7-0day-patches-from-Boris.patch

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Tested-by: Rosen Penev <rosenp@gmail.com>
2017-12-23 15:36:01 +01:00
Martin Schiller
94952636e7 lantiq: remove DSL_ChipSetHWVersion from status information
The value DSL_ChipSetHWVersion is fetched from the dsl frontend
via the dsl_control service, but not really provided by the dsl
frontend firmware and for now always "UNKNOWN".

The lantiq support told us that this information wouldn't be
provided in the foreseeable future, so let's remove this
useless "UNKNOWN" information.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2017-12-23 15:35:52 +01:00
Mathias Kresin
c7776d4c55 ramips: fix Linkit smart 7688 support
Use a more appropriate compatible string. Fix the wireless led GPIO and
add the default wireless trigger. Use the wireless LED for boot state
indication as well.

Remove the GPIO pinmux for pins not exposed on the board.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-23 15:35:52 +01:00
Henryk Heisig
39e9bfb181 ramips: add support for TP-Link TL-MR3420 v5
TP-Link TL-MR3420 v5 are simple N300 router with
5-port FE switch and non-detachable antennas.
Its very similar to TP-Link TL-WR841N V13.

Specification:

- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- USB 2.0 Port
- UART (J1) header on PCB (115200 8n1)
- 8x LED, 2x button, power input switch

Flash instruction:

The only way to flash LEDE image in mr3420v5 is to use
tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "lede-ramips-mt7628-tplink_tl-mr3420-v5-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2017-12-23 15:35:52 +01:00
Mathias Kresin
8ca650b8ce ramips: move common tplink image build code into own recipe
Move common tplink image build code into own recipe. Include the common
parts instead of including a full build recipe and overwriting former set
varaibles.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-12-23 15:35:52 +01:00
Tomasz Maciej Nowak
cb2c0649ee kernel: move console loglevel to generic
Move CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 to generic, to make it consistent
across all targets.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2017-12-23 14:24:40 +01:00
Stijn Tintel
efa22b1116 kernel: add missing config symbols for 4.14
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-12-21 23:54:41 +01:00