openwrt/staging/chunkeey.git
3 years agokirkwood: update config for kernel 5.10
Sungbo Eo [Wed, 17 Feb 2021 13:27:47 +0000 (22:27 +0900)]
kirkwood: update config for kernel 5.10

Update config with make kernel_oldconfig.

CONFIG_SATA_PMP=y is added manually as done for 5.4.
This should be resolved properly in a separate issue.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[add back CONFIG_SATA_PMP, rebase/refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokirkwood: refresh patches for kernel 5.10
Sungbo Eo [Wed, 17 Feb 2021 12:36:25 +0000 (21:36 +0900)]
kirkwood: refresh patches for kernel 5.10

Refresh patches to make them apply to kernel 5.10.
The removed patch has been merged upstream.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
3 years agokirkwood: copy files to kernel 5.10
Sungbo Eo [Wed, 17 Feb 2021 12:17:03 +0000 (21:17 +0900)]
kirkwood: copy files to kernel 5.10

Copy config and patches to kernel 5.10.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
3 years agokernel: add further missing symbols
Adrian Schmutzler [Tue, 23 Feb 2021 21:41:13 +0000 (22:41 +0100)]
kernel: add further missing symbols

CONFIG_NET_DSA_MV88E6XXX_PTP was simply missing in generic config.

CONFIG_I2C_PXA_SLAVE was previously enabled via i2c-pxa package,
but got removed there without moving the symbol to generic config.

Fixes: dd13add3ceed ("kernel: i2c-pxa: remove slave")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agosysupgrade-nand: allow limiting rootfs_data by setting env variable
Daniel Golle [Wed, 17 Feb 2021 15:17:49 +0000 (15:17 +0000)]
sysupgrade-nand: allow limiting rootfs_data by setting env variable

Check if firmware environment variable 'rootfs_data_max' exists and is
set to a numerical value greater than 0. If so, limit rootfs_data
volume to that size instead of using the maximum available size.

This is useful on devices with lots of flash where users may want to
have eg. a volume for persistent logs and statistics or for external
applications/containers. Persistence on rootfs overlay is limited by
the size of memory available during the sysugprade process as that
data needs to be copied to RAM while the volume is being recreated
during sysupgrade. Hence it is unsuitable for keeping larger amounts
of data accross upgrade which makes additional volume(s) for
application data desirable.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoimage: allow building FIT and uImage with ramdisk
Daniel Golle [Sun, 21 Feb 2021 14:19:26 +0000 (14:19 +0000)]
image: allow building FIT and uImage with ramdisk

Instead of embedding the initrd cpio archive into the kernel, allow
for having an external ramdisk added to the FIT or uImage.
This is useful to overcome kernel size limitations present in many
stock bootloaders, as the ramdisk is then loaded seperately and doesn't
add to the kernel size. Hence we can have larger ramdisks to host ie.
installers with all binaries to flash included (or a web-based
firmware selector).
In terms of performance and total size the differences are neglectible.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoimage: add support for building FIT image with filesystem
Daniel Golle [Mon, 15 Feb 2021 14:37:17 +0000 (14:37 +0000)]
image: add support for building FIT image with filesystem

Allow for single (external-data) FIT image to hold kernel, dtb and
squashfs. In that way, the bootloader verifies the system integrity
including the rootfs, because what's the point of checking that the
hash of the kernel is correct if it won't boot in case of squashfs
being corrupted? Better allow bootloader to check everything needed
to make it at least up to failsafe mode. As a positive side effect
this change also makes the sysupgrade process on nand potentially
much easier as it is now.
In short: mkimage has a parameter '-E' which allows generating FIT
images with 'external' data rather than embedding the data into the
device-tree blob itself. In this way, the FIT structure itself remains
small and can be parsed easily (rather than having to page around
megabytes of image content). This patch makes use of that and adds
support for adding sub-images of type 'filesystem' which are used to
store the squashfs. Now U-Boot can verify the whole OS and the new
partition parsers added in the Linux kernel can detect the filesystem
sub-images, create partitions for them, and select the active rootfs
volume based on the configuration in FIT (passing configuration via
device tree could be implemented easily at a later stage).

This new FIT partition parser works for NOR flash (on top of mtdblock),
NAND flash (on top of ubiblock) as well as classic block devices
(ie. eMMC, SDcard, SATA, NVME, ...).
It could even be used to mount such FIT images via `losetup -P` on a
user PC if this patch gets included in Linux upstream one day ;)

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agopcre: disable C++ bindings
Rosen Penev [Thu, 21 Jan 2021 05:38:03 +0000 (21:38 -0800)]
pcre: disable C++ bindings

Nothing uses them. Allows to simplify the Makefile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agoramips: remove obsolete mx25l25635f compatible hack
DENG Qingfang [Tue, 2 Feb 2021 08:10:32 +0000 (16:10 +0800)]
ramips: remove obsolete mx25l25635f compatible hack

The kernel bump to 5.4 has removed the mx25l25635f hack, and the
mx25l25635f compatible is no longer required.

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
3 years agoppp: Update to version 2.4.9
Hauke Mehrtens [Sun, 3 Jan 2021 02:29:02 +0000 (03:29 +0100)]
ppp: Update to version 2.4.9

Upstream integrated multiple patches from Distributions and did other
changes:
* rp-pppoe.so was renamed to pppoe.so
* Converted to ANSI C

The following patches were applied upstream:
* 100-debian_ip-ip_option.patch
* 101-debian_close_dev_ppp.patch
* 103-debian_fix_link_pidfile.patch
* 106-debian_stripMSdomain.patch
* 107-debian_pppoatm_wildcard.patch
* 110-debian_defaultroute.patch
* 202-no_strip.patch

Compilation with musl libc was fixed upstream so
140-pppoe_compile_fix.patch is not needed any more

Parts of the 203-opt_flags.patch patch were applied in a different way
upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoopenssl: always build with GOST engine support
Eneas U de Queiroz [Thu, 18 Feb 2021 00:50:08 +0000 (21:50 -0300)]
openssl: always build with GOST engine support

The packages feed has a proposed package for a GOST engine, which needs
support from the main openssl library.  It is a default option in
OpenSSL.  All that needs to be done here is to not disable it.

Package increases by a net 1-byte, so it is not really really worth
keeping this optional.

This commit also includes a commented-out example engine configuration
in openssl.cnf, as it is done for other available engines.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
3 years agoramips: overwrite reset gpio properties in DIR-860L DTS
Stijn Segers [Thu, 18 Feb 2021 13:10:57 +0000 (14:10 +0100)]
ramips: overwrite reset gpio properties in DIR-860L DTS

As suggested by Sergio, this adds GPIOs 19 and 8 explicitly into the
DIR-860L DTS, so the PCI-E ports get reset and the N radio (radio1)
on PCI-E port 1 comes up reliably.

Fixes the following error that popped up in dmesg:

    [    1.638942] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)

Suggested-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Reviewed-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
3 years agouboot-envtools: add support for ZyXEL GS-1900-8HP v1 and v2
Stijn Segers [Thu, 18 Feb 2021 23:22:26 +0000 (00:22 +0100)]
uboot-envtools: add support for ZyXEL GS-1900-8HP v1 and v2

This adds the necessary nuts and bolts for the uboot settings for both the ZyXEL GS1900-8HP v1 and v2.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
3 years agoramips: mt7621: enable SX150x driver
Sander Vanheule [Sat, 20 Feb 2021 13:45:26 +0000 (14:45 +0100)]
ramips: mt7621: enable SX150x driver

The Netgear R6800 and R6700v2 devices have a Semtech SX1503 GPIO
expander controlling the device LEDs. This expander was initially
supported on 4.14, but support was lost in the transition to 5.4.

Since this driver cannot be built as a kernel module, enable it in the
kernel config for all mt7621 devices.

Run-tested on a Netgear R6800.

Cc: Stijn Segers <foss@volatilesystems.org>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Tested-by: Stijn Segers <foss@volatilesystems.org>
3 years agowolfssl: bump to v4.7.0-stable
Eneas U de Queiroz [Sun, 21 Feb 2021 21:33:30 +0000 (18:33 -0300)]
wolfssl: bump to v4.7.0-stable

Biggest fix for this version is CVE-2021-3336, which has already been
applied here.  There are a couple of low severity security bug fixes as
well.

Three patches are no longer needed, and were removed; the one remaining
was refreshed.

This tool shows no ABI changes:
https://abi-laboratory.pro/index.php?view=objects_report&l=wolfssl&v1=4.6.0&v2=4.7.0

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
3 years agokernel: DSA roaming fix for Marvell mv88e6xxx
DENG Qingfang [Mon, 22 Feb 2021 05:38:11 +0000 (13:38 +0800)]
kernel: DSA roaming fix for Marvell mv88e6xxx

Marvell mv88e6xxx switch series cannot perform MAC learning from
CPU-injected (FROM_CPU) DSA frames, which results in 2 issues.
- excessive flooding, due to the fact that DSA treats those addresses
as unknown
- the risk of stale routes, which can lead to temporary packet loss

Backport those patch series from netdev mailing list, which solve these
issues by adding and clearing static entries to the switch's FDB.

Add a hack patch to set default VID to 1 in port_fdb_{add,del}. Otherwise
the static entries will be added to the switch's private FDB if VLAN
filtering disabled, which will not work.

The switch may generate an "ATU violation" warning when a client moves
from the CPU port to a switch port because the static ATU entry added by
DSA core still points to the CPU port. DSA core will then clear the static
entry so it is not fatal. Disable the warning so it will not confuse users.

Link: https://lore.kernel.org/netdev/20210106095136.224739-1-olteanv@gmail.com/
Link: https://lore.kernel.org/netdev/20210116012515.3152-1-tobias@waldekranz.com/
Ref: https://gitlab.nic.cz/turris/turris-build/-/issues/165
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
3 years agoautotools.mk: fix gettext fixup
Rosen Penev [Wed, 17 Feb 2021 10:51:10 +0000 (02:51 -0800)]
autotools.mk: fix gettext fixup

The update to gettext 0.21 broke packages that use autotools and
gettext because the sed line was failing with the new version. Fix with
a better sed expression.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agokernel: add symbol CONFIG_POWER_RESET_LINKSTATION
Adrian Schmutzler [Tue, 23 Feb 2021 18:23:06 +0000 (19:23 +0100)]
kernel: add symbol CONFIG_POWER_RESET_LINKSTATION

Add symbol to generic config (this was added between 5.4 and 5.10),
and remove it from the targets where it was added by kernel_oldconfig
in the meantime.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agogeneric: add missing symbols
David Bauer [Mon, 22 Feb 2021 01:00:02 +0000 (02:00 +0100)]
generic: add missing symbols

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agowireguard: don't build on Linux 5.10
Ilya Lipnitskiy [Mon, 22 Feb 2021 00:03:12 +0000 (16:03 -0800)]
wireguard: don't build on Linux 5.10

There are efforts underway to bring wireguard in-tree for Linux 5.4 and
to have a common build infrastructure for both 5.4 and 5.10 for
kmod-wireguard[0]. Until then, restrict kmod-wireguard to build only on
Linux 5.4, because the wireguard-compat package will not build on Linux
5.10.

[0]: https://github.com/openwrt/openwrt/pull/3885

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
3 years agokernel: 5.10: fix kmod build failures
Ilya Lipnitskiy [Fri, 19 Feb 2021 16:21:24 +0000 (08:21 -0800)]
kernel: 5.10: fix kmod build failures

Modify existing modules to reflect their new location in Linux 5.10. Add
missing dependenices.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
[enable CRYPTO_USER_API_ENABLE_OBSOLETE; add kmod-crypto-hash dependency
to usb-net-rtl8152]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agokernel: 5.10: fix rtl8812au-ct build
Ilya Lipnitskiy [Fri, 19 Feb 2021 00:34:43 +0000 (16:34 -0800)]
kernel: 5.10: fix rtl8812au-ct build

Pull in upstream:
https://github.com/greearb/rtl8812AU_8821AU_linux/commit/c8d243936fed0c5fe1d77a06b36d26f41c8c46f4
https://github.com/greearb/rtl8812AU_8821AU_linux/commit/1e9689c89fa627d2d764ba0e8359fd444fe8458f

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
3 years agoarm-trusted-firmware-mediatek: use @OPENWRT mirror for blobs
Daniel Golle [Tue, 23 Feb 2021 18:02:40 +0000 (18:02 +0000)]
arm-trusted-firmware-mediatek: use @OPENWRT mirror for blobs

Now that mirrors have picked it up, switch to using the @OPENWRT
mirror instead of hosting those files on Github.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoramips: improve gpio control for Phicomm PSG1218
Shiji Yang [Mon, 22 Feb 2021 16:10:45 +0000 (00:10 +0800)]
ramips: improve gpio control for Phicomm PSG1218

Description:
1. From key and led config setting, we can find only "uartf" and "i2c" are used
as gpio by check mt7620 datasheet. It's time to remove unused pin group.

2. PSG1218 only have three led, so we can remove ethernet led pinctrl. refer to
Phicomm K2G.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
3 years agomvebu: add 5.10 as a testing kernel
Rui Salvaterra [Mon, 22 Feb 2021 17:37:14 +0000 (17:37 +0000)]
mvebu: add 5.10 as a testing kernel

Keep 5.4 as stable until further validation.

Tested on Turris Omnia (Rui Salvaterra) and ESPRESSObin v5 (Tomasz
Maciej Nowak). Cortex-A{53,72} subtargets are only build-tested.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[added comment about tests]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomvebu: fix the Turris Omnia device tree
Rui Salvaterra [Mon, 22 Feb 2021 17:37:13 +0000 (17:37 +0000)]
mvebu: fix the Turris Omnia device tree

Enable and fix hardware buffer management. Also fix the IRQ storm caused by a
misconfiguration of the PCA9538 interrupt pin.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agomvebu: fix the patch numbering
Rui Salvaterra [Mon, 22 Feb 2021 17:37:12 +0000 (17:37 +0000)]
mvebu: fix the patch numbering

Make each logical patch group numbering contiguous.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[add kernel version to backport]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomvebu: refresh 5.10 kconfigs/patches
Rui Salvaterra [Mon, 22 Feb 2021 17:37:11 +0000 (17:37 +0000)]
mvebu: refresh 5.10 kconfigs/patches

Also delete already upstreamed patches/changes.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agomvebu: remove upstreamed DTS files in 5.10
Adrian Schmutzler [Tue, 23 Feb 2021 10:43:33 +0000 (11:43 +0100)]
mvebu: remove upstreamed DTS files in 5.10

Some armada-3720-espressobin-* files have been upstreamed, move
these to files-5.4.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomvebu: copy 5.4 patches/kconfigs to 5.10
Rui Salvaterra [Mon, 22 Feb 2021 17:37:09 +0000 (17:37 +0000)]
mvebu: copy 5.4 patches/kconfigs to 5.10

Just a simple copy, no refresh yet.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[do not duplicate files]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomvebu: refresh the 5.4 kernel configs
Rui Salvaterra [Mon, 22 Feb 2021 17:37:08 +0000 (17:37 +0000)]
mvebu: refresh the 5.4 kernel configs

Remove the implicit/inherited symbols. While not strictly necessary, this will
make reviewing the diff between 5.4 and 5.10 easier.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
3 years agokernel: 5.10: add further generic kconfig symbols
Rui Salvaterra [Mon, 22 Feb 2021 17:37:07 +0000 (17:37 +0000)]
kernel: 5.10: add further generic kconfig symbols

This will make the specific kconfig smaller.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[improved commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobmips: fix SMP CPU mapping
Álvaro Fernández Rojas [Tue, 23 Feb 2021 14:25:13 +0000 (15:25 +0100)]
bmips: fix SMP CPU mapping

SMP isn't supported on BCM6358 since it has a shared TLB. Some boards boot
with CPU #1 instead of CPU #0, and this is currently not supported do to a
smp-bmips bug.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobmips: switch to accepted upstream patch
Álvaro Fernández Rojas [Tue, 23 Feb 2021 14:22:27 +0000 (15:22 +0100)]
bmips: switch to accepted upstream patch

This patch has been accepted and is going to be in linux v5.12.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobmips: rename upstream patches
Álvaro Fernández Rojas [Tue, 23 Feb 2021 14:14:41 +0000 (15:14 +0100)]
bmips: rename upstream patches

These patches were applied in linux v5.11, not v5.12.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoprocd: update to git HEAD
Daniel Golle [Tue, 23 Feb 2021 13:16:23 +0000 (13:16 +0000)]
procd: update to git HEAD

 2be57ed cosmetics: provide compatible system info on Aarch64
 37eed13 system: expose if system was booted from initramfs

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agoarm-trusted-firmware-mediatek: bring back package
Daniel Golle [Wed, 10 Feb 2021 02:47:53 +0000 (02:47 +0000)]
arm-trusted-firmware-mediatek: bring back package

 * use binary provided by MediaTek to work-around 'bromimage' issue
 * refactor Makefile
 * add mt7622 1c variants (using binaries provided by MTK)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobmips: bcm6358: add watchdog
Álvaro Fernández Rojas [Tue, 23 Feb 2021 11:57:28 +0000 (12:57 +0100)]
bmips: bcm6358: add watchdog

Watchdog node was missing in commit 029093a302.

Fixes: 029093a302c9 ("bmips: add new target")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobmips: remove unneeded downstream serial patch
Álvaro Fernández Rojas [Tue, 23 Feb 2021 11:34:27 +0000 (12:34 +0100)]
bmips: remove unneeded downstream serial patch

Disabling CONFIG_SERIAL_8250 makes the upstream serial driver work OOB.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm63xx: pinctrl: fix BCM6348 groups
Daniel González Cabanelas [Tue, 19 May 2020 13:56:29 +0000 (15:56 +0200)]
bcm63xx: pinctrl: fix BCM6348 groups

The current driver has some troubles:
 - Some groupings are wrong.
 - The pinctrl group0 owns pins never used (at least in Openwrt) for any
   pinmux. The driver hijacks all the pins on the group avoiding any other
   use, spite they're free. I.e. for buttons, causing this kernel error:
   [  4.735928] gpio-keys-polled keys: unable to claim gpio 479, err=-22
   [  4.742642] gpio-keys-polled: probe of keys failed with error -22
 - Minor errors about groupings on the documentation
 - Missing "diag" grouping in dtsi
 - Wrong groupings in dtsi

Fix it by setting the correct groups.
And relax the pin capturing, letting the gpios belonging to any group to
be used for other purposes like buttons. This was the behavior with stock
firmwares and old OpenWrt versions which never caused any trouble.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
3 years agobmips: bcm6358: fix EHCI/OHCI kernel panics
Álvaro Fernández Rojas [Tue, 23 Feb 2021 09:52:06 +0000 (10:52 +0100)]
bmips: bcm6358: fix EHCI/OHCI kernel panics

ARCH_HAS_SYNC_DMA_FOR_CPU_ALL is causing kernel panics when EHCI or OHCI are
enabled.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoimx6: remove redundant IMAGE_NAME
Adrian Schmutzler [Mon, 22 Feb 2021 15:12:48 +0000 (16:12 +0100)]
imx6: remove redundant IMAGE_NAME

IMAGE_NAME is set twice for ventana, and the second value
actually matches the default in image.mk. Remove both.

Fixes: ded905ce431b ("imx6: extend cubox support to hummingboard,
add support for building full images")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agotreewide: remove redundant KERNEL_PREFIX definitions
Paul Spooren [Mon, 22 Feb 2021 03:56:53 +0000 (17:56 -1000)]
treewide: remove redundant KERNEL_PREFIX definitions

The variables KERNEL_INITRAMFS_PREFIX and KERNEL_PREFIX are already
defined in include/image.mk and don't have to be redefined in the
target Makefiles.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[also cover imx6]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobmips: split base-files into subtargets
Adrian Schmutzler [Mon, 22 Feb 2021 18:02:35 +0000 (19:02 +0100)]
bmips: split base-files into subtargets

Like done for several targets already, splitting base-files into
subtarget will provide smaller images due to more specific
distribution of files per subtarget and allow to use default cases
more effectively.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobmips: add JFFS2 unaligned access patch
Álvaro Fernández Rojas [Mon, 22 Feb 2021 20:36:11 +0000 (21:36 +0100)]
bmips: add JFFS2 unaligned access patch

This patch is also needed on bmips if SMP is enabled.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobmips: bcm6368: fix bcm2835-rng
Álvaro Fernández Rojas [Mon, 22 Feb 2021 20:34:39 +0000 (21:34 +0100)]
bmips: bcm6368: fix bcm2835-rng

IPSEC needs a reset before using its HW RNG.
Otherwise, the numbers generated won't be random at all.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoramips: fix Phicomm PSG1218A switch port labels
Shiji Yang [Mon, 22 Feb 2021 16:02:30 +0000 (00:02 +0800)]
ramips: fix Phicomm PSG1218A switch port labels

The lan port sequence was reversed compared to the labels.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[improve commit title/message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: move aliases to the top in SoC DTSI files
Adrian Schmutzler [Mon, 22 Feb 2021 17:44:31 +0000 (18:44 +0100)]
ramips: move aliases to the top in SoC DTSI files

The aliases node is expected as one of the first entries, and
having it there matches alphabetic sorting as well.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: drop redundant definitions of serial0 in aliases
Adrian Schmutzler [Mon, 22 Feb 2021 17:43:58 +0000 (18:43 +0100)]
ramips: drop redundant definitions of serial0 in aliases

These were redefines of the same value already set in the SoC dtsi
files.

Reported-by: Shiji Yang <yangshiji66@qq.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobmips: add new target
Álvaro Fernández Rojas [Sun, 21 Feb 2021 09:00:18 +0000 (10:00 +0100)]
bmips: add new target

This target has full device tree support, thus reducing the number of
patches needed for bcm63xx, in which there's a patch for every board.

The intention is to start with a minimal amount of downstream patches and
start upstreaming all of them.

Current status:
 - Enabling EHCI/OHCI on BCM6358 causes a kernel panic.
 - BCM63268 lacks Timer Clocks/Reset support.
 - No PCI/PCIe drivers.
 - No ethernet drivers.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm63xx: limit name metadata to model name
Álvaro Fernández Rojas [Mon, 22 Feb 2021 17:07:02 +0000 (18:07 +0100)]
bcm63xx: limit name metadata to model name

Since there are only 16 characters available, on most cases the vendor name
will fit in the metadata, but the model name won't fit.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoimage: add ModelNameLimit16
Álvaro Fernández Rojas [Mon, 22 Feb 2021 17:04:16 +0000 (18:04 +0100)]
image: add ModelNameLimit16

This script returns the model name limited to 16 characters.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm63xx-cferam: select for bmips target
Álvaro Fernández Rojas [Sun, 17 May 2020 15:24:47 +0000 (17:24 +0200)]
bcm63xx-cferam: select for bmips target

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agomtd: fixtrx: support CFE imagetag on bmips target
Álvaro Fernández Rojas [Sun, 17 May 2020 15:24:47 +0000 (17:24 +0200)]
mtd: fixtrx: support CFE imagetag on bmips target

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agokernel: mtdsplit: add support for BCM63XX CFE firmware
Álvaro Fernández Rojas [Sun, 17 May 2020 15:24:47 +0000 (17:24 +0200)]
kernel: mtdsplit: add support for BCM63XX CFE firmware

Broadcom CFE bootloader relies on a tag for identifying the current firmware,
such as version, image start address, kernel address and size, rootfs size,
board id, signatures, etc.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoramips: correct/add Phicomm K2x WAN/label MAC address
Shiji Yang [Mon, 22 Feb 2021 15:44:18 +0000 (23:44 +0800)]
ramips: correct/add Phicomm K2x WAN/label MAC address

Phicomm K2G:
add missing label_mac

Phicomm PSG1218A & PSG1218B:
The previous wan mac was set as factory@0x28 +1 (originally based
on the default case for the ramips target), but the correct wan mac
is factory@0x28 -1, being equal to factory@0x2e.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[minor commit title/message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm63xx: bcm63268: fix GPIO interrupts
Álvaro Fernández Rojas [Mon, 22 Feb 2021 08:04:04 +0000 (09:04 +0100)]
bcm63xx: bcm63268: fix GPIO interrupts

pinctrl should rely on external interrupt controller for GPIO interrupts.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agogeneric: add missing symbol
David Bauer [Sun, 21 Feb 2021 22:47:39 +0000 (23:47 +0100)]
generic: add missing symbol

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: enable Regulator support for target
David Bauer [Sun, 21 Feb 2021 22:41:53 +0000 (23:41 +0100)]
ath79: enable Regulator support for target

Regulator support was enabled on all subtargets except for ath79-nand.
With Kernel 5.10, AT803x requires Regulator support, thus enabling on
the complete target, as ath79-nand requires AT803x.

While this is only required on Kernel 5.10, enable it also on 5.4. We
have no major size-constraint, so enabling it on 5.4 allows us to clean
up the occurences in the subtarget configuration.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agodownload: remove broken mirrors
David Bauer [Sat, 20 Feb 2021 20:24:11 +0000 (21:24 +0100)]
download: remove broken mirrors

These mirrors don't exist anymore. Remove them.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agompc85xx: add testing kernel for p1020
David Bauer [Sat, 20 Feb 2021 00:36:06 +0000 (01:36 +0100)]
mpc85xx: add testing kernel for p1020

CONFIG_REGULATOR is required for the p1020 subtarget, as the AT803X
driver depends on it.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: use ioremap kernel version independent
David Bauer [Sat, 20 Feb 2021 08:43:35 +0000 (09:43 +0100)]
ath79: use ioremap kernel version independent

As mangix pointed out on IRC, ioremap and ioremap_nocache are
functionally equivalent on kenrel 5.4 and 5.10.

Therefore we can use ioremap regardless of the kernel the driver
gets compiled for.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agokernel: sort config
Aleksander Jan Bajkowski [Sun, 21 Feb 2021 21:53:55 +0000 (22:53 +0100)]
kernel: sort config

This was done by executing this script:

find . -name "config-*"  > ../configs.txt
for config in $(cat ../configs.txt); do
./scripts/kconfig.pl '+' $config /dev/null > $config-new
mv $config-new $config
done
rm ../configs.txt

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
3 years agolibusb: Fix parsing of descriptors for multi-configuration devices
Georgi Valkov [Wed, 3 Feb 2021 07:41:54 +0000 (09:41 +0200)]
libusb: Fix parsing of descriptors for multi-configuration devices

Prerequisite patch:
Correct a typo in the Changelog and clean up a stray file

Fix changes in libusb which introduced a regression:
Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
initialization") introduced a regression for devices with multiple
configurations. The logic that verifies the reported length of the
configuration descriptors failed to count the length of the
configuration descriptor itself and would truncate the actual length by
9 bytes, leading to a parsing error for subsequent descriptors.

Signed-off-by: Georgi Valkov <gvalkov@abv.bg>
3 years agobuild/json: generate json file for initramfs
Moritz Warning [Fri, 8 Jan 2021 23:02:57 +0000 (00:02 +0100)]
build/json: generate json file for initramfs

The initramfs images are missing from the profiles.json files.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
[fix code by exporting device variables]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agotoplevel.mk: remove legacy packages feed from 'make distclean'
Michael Pratt [Sun, 31 Jan 2021 00:01:32 +0000 (19:01 -0500)]
toplevel.mk: remove legacy packages feed from 'make distclean'

package/openwrt-packages is left over
from what is now a legacy repository
and has no other reference in the build tree

Signed-off-by: Michael Pratt <mcpratt@pm.me>
3 years agotfa-layerscape: build fiptool again
Adrian Schmutzler [Sat, 20 Feb 2021 18:18:12 +0000 (19:18 +0100)]
tfa-layerscape: build fiptool again

The ls-ddr-phy package needs fiptool options that are not
available via the version from arm-trusted-firmware-tools.
This breaks build for layerscape with the recently added LX2160a:

  create: unrecognized option '--ddr-immem-udimm-1d'

Use the tfa-layerscape variant again for now, but rename it to
fiptool-layerscape to indicate that it's a specific variant.

This reverts 84bc7d31e0a8 ("tfa-layerscape: don't build fiptool").

Fixes: f59d7aab2a37 ("layerscape: add ddr-phy package")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm27xx: remove urngd package
Álvaro Fernández Rojas [Sat, 20 Feb 2021 18:55:14 +0000 (19:55 +0100)]
bcm27xx: remove urngd package

Now that khwrngd is working on all subtargets we can remove urgnd.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm27xx: enable bcm2711 HW RNG
Álvaro Fernández Rojas [Sat, 20 Feb 2021 18:53:50 +0000 (19:53 +0100)]
bcm27xx: enable bcm2711 HW RNG

Also add a patch setting its quality, which should make it usable by khwrngd.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agogeneric: add bcm2835-rng quality patch
Álvaro Fernández Rojas [Sat, 20 Feb 2021 17:59:25 +0000 (18:59 +0100)]
generic: add bcm2835-rng quality patch

This patch allows devices without a high resolution timer to boot up faster.
It should speed up boots for bcm2708 and bcm63xx.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agoopenwrt-keyring: add OpenWrt 21.02 GPG/usign keys
Petr Štetiar [Sat, 20 Feb 2021 14:56:19 +0000 (15:56 +0100)]
openwrt-keyring: add OpenWrt 21.02 GPG/usign keys

49283916005d usign: add 21.02 release build pubkey
bc4d80f064f2 gpg: add OpenWrt 21.02 signing key

Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agox86: add led driver for PC Engines APU1
Andreas Eberlein [Tue, 23 Jun 2020 20:59:26 +0000 (22:59 +0200)]
x86: add led driver for PC Engines APU1

This driver adds the LED support for the PC Engines APU1.
This integrates the Linux kernel driver and includes a patch to support
 newer firmware versions. Also the default LED configuration is updated
 to use the correct devices.

Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
3 years agowolfssl: fix Ed25519 typo in config prompt
Christian Lamparter [Sat, 20 Feb 2021 10:08:26 +0000 (11:08 +0100)]
wolfssl: fix Ed25519 typo in config prompt

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agohostapd: backport ignoring 4addr mode enabling error
Raphaël Mélotte [Wed, 17 Feb 2021 14:58:16 +0000 (15:58 +0100)]
hostapd: backport ignoring 4addr mode enabling error

This is a backport of the upstream commit 58bbbb598144 ("nl80211: Ignore
4addr mode enabling error if it was already enabled") which fixes same
issue as in the current fix contained in '130-wpa_supplicant-multi_ap_roam.patch',
but in a different way:

 nl80211_set_4addr_mode() could fail when trying to enable 4addr mode on
 an interface that is in a bridge and has 4addr mode already enabled.
 This operation would not have been necessary in the first place and this
 failure results in disconnecting, e.g., when roaming from one backhaul
 BSS to another BSS with Multi AP.

 Avoid this issue by ignoring the nl80211 command failure in the case
 where 4addr mode is being enabled while it has already been enabled.

Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
[bump PKG_RELEASE, more verbose commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
3 years agosdk: expose binary strip settings
David Bauer [Fri, 20 Nov 2020 02:03:54 +0000 (03:03 +0100)]
sdk: expose binary strip settings

Expose the SDK options for binary stripping to the menuconfig. This
way, packages can easily be built with debug symbols using the SDK.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: overwrite reset gpio properties in EX6150 DTS
Stijn Segers [Fri, 19 Feb 2021 22:11:09 +0000 (23:11 +0100)]
ramips: overwrite reset gpio properties in EX6150 DTS

The Netgear EX6150 can, just like the D-Link DIR-860L rev B1, fail to
initialise both radios in some cases. Add the reset GPIOs explicitly
so the PCI-E devices get re-initialised properly. See also FS #3632.

Error shows up in dmesg as follows:

  [    1.560764] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)

Tested-by: Kurt Roeckx <kurt@roeckx.be>
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
[removed period from commit title]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoopenssl: update package sources
David Bauer [Fri, 19 Feb 2021 01:30:14 +0000 (02:30 +0100)]
openssl: update package sources

OpenSSL downloads itself are distributed using Akamai CDN, so use these
sources as the highest priority.

Remove a stale mirror which seems to be offline for a longer time
already.

Add fallbacks to the old release path also for the mirrors.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: add kernel 5.10 support
David Bauer [Wed, 17 Feb 2021 00:29:44 +0000 (01:29 +0100)]
ath79: add kernel 5.10 support

This adds Kernel 5.10 support for the generic, nand and tiny subtargets.

The following patch is not contained, as it needs to be reworked:
platform/920-mikrotik-rb4xx.patch

Tested-on:
 - Siemens WS-AP3610
 - Enterasys WS-AP3710
 - Aerohive HiveAP 121
 - TP-Link TL-WA901 v2
 - TP-Link TL-WR741 v1

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: ar934x-nand: add kernel 5.10 compatibility
David Bauer [Wed, 17 Feb 2021 21:12:43 +0000 (22:12 +0100)]
ath79: ar934x-nand: add kernel 5.10 compatibility

Adapt the driver to make it work with the NAND subsystem changes between
kernel 5.4 and 5.10.

Tested-on: Aerohive HiveAP121

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: specify device-type for PCI controllers
David Bauer [Wed, 17 Feb 2021 04:53:32 +0000 (05:53 +0100)]
ath79: specify device-type for PCI controllers

Specify the device_type property for PCI as well as PCIe controllers.
Otherwise, the PCI range parser will not be selected when using kernel
5.10.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: ag71xx: make kernel 5.10 compatible
David Bauer [Wed, 17 Feb 2021 01:04:46 +0000 (02:04 +0100)]
ath79: ag71xx: make kernel 5.10 compatible

Add the necessary kernel version ifdef switches in order to support the
kernel version 5.10.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agompc85xx-p1010: add Kernel 5.10 support
David Bauer [Tue, 16 Feb 2021 21:05:13 +0000 (22:05 +0100)]
mpc85xx-p1010: add Kernel 5.10 support

Tested on: Sophos RED 15W

The TP-Link WL-WDR4900 needs to be disabled when 5.10 becomes the
default kernel.

When building with all kmods enabled, the resulting kernel image
exceeds the maximum size the bootloader reads from the flash.

For more information, see GitHub issue #1773

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agorockchip: add Kernel 5.10 support
David Bauer [Tue, 16 Feb 2021 21:06:12 +0000 (22:06 +0100)]
rockchip: add Kernel 5.10 support

Remove all upstreamed patches and add the kernel configuration for
version 5.10.

The Rock Pi 4 was split in multiple versions. Add a DTS with the old
name in order to keep compatibility while having kernel 5.4 and 5.10 in
parallel. Switch to the Rock Pi 4A DTS once Kernel 5.4 support is
removed.

Tested-on: Nanoi R2S

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agokirkwood: rename files-5.4 to files
Sungbo Eo [Wed, 17 Feb 2021 12:09:26 +0000 (21:09 +0900)]
kirkwood: rename files-5.4 to files

Move local DTS files from "files-5.4" to "files" directory so kernel 5.10
can use it.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
3 years agolayerscape: add new devices in README and clean up
Yangbo Lu [Tue, 27 Oct 2020 08:26:11 +0000 (16:26 +0800)]
layerscape: add new devices in README and clean up

Support new devices LS1046AFRWY and LX2160ARDB in README.
Clean up README, and add missing LS1021ATWR deploy guide.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[adjust set of devices added, update commit message/title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agolayerscape: add LX2160ARDB (Rev2.0 silicon) board support
Yangbo Lu [Thu, 30 Jul 2020 05:12:43 +0000 (13:12 +0800)]
layerscape: add LX2160ARDB (Rev2.0 silicon) board support

The QorIQ LX2160A reference design board provides a comprehensive platform
that enables design and evaluation of the LX2160A processor.

- Enables network intelligence with the next generation Datapath (DPPA2)
  which provides differentiated offload and a rich set of IO, including
  10GE, 25GE, 40GE, and PCIe Gen4

- Delivers unprecedented efficiency and new virtualized networks

- Supports designs in 5G packet processing, network function
  virtualization, storage controller, white box switching, network
  interface cards, and mobile edge computing

- Supports all three LX2 family members (16-core LX2160A; 12-core LX2120A;
  and 8-core LX2080A)

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[use AUTORELEASE, add dtb to firmware part]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agolayerscape: add ddr-phy package
Yangbo Lu [Mon, 3 Aug 2020 03:59:55 +0000 (11:59 +0800)]
layerscape: add ddr-phy package

Add ddr-phy package for layerscape. Currently only LX2160ARDB
requires the package.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[use AUTORELEASE]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agolayerscape: add FRWY-LS1046A board support
Yangbo Lu [Mon, 3 Aug 2020 04:52:22 +0000 (12:52 +0800)]
layerscape: add FRWY-LS1046A board support

The LS1046A Freeway board (FRWY) is a high-performance computing,
evaluation, and development platform that supports the QorIQ
LS1046A architecture processor capable of support more than 32,000
CoreMark performance. The FRWY-LS1046A board supports the QorIQ
LS1046A processor, onboard DDR4 memory, multiple Gigabit Ethernet,
USB3.0 and M2_Type_E interfaces for Wi-Fi.

The FRWY-LS1046A-TP includes the Coral Tensor Flow Processing Unit
that offloads AI/ML inferencing from the CPU to provide significant
boost for AI/ML applications. The FRWY-LS1046A-TP includes one M.2
TPU module and more modules can easily be added including USB
versions of the module to scale the AI/ML performance.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
[rebase, use AUTORELEASE, fix sorting, add dtb to firmware part]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agolayerscape: move rework-sdcard-images out of fsl-sdboot
Adrian Schmutzler [Fri, 12 Feb 2021 15:37:29 +0000 (16:37 +0100)]
layerscape: move rework-sdcard-images out of fsl-sdboot

Upcoming devices will not need the migration setup, so let's move
it out of the common definition.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: use lzma-loader for Wevo devices
Seo Suchan [Wed, 17 Feb 2021 15:06:55 +0000 (00:06 +0900)]
ramips: use lzma-loader for Wevo devices

As kernel size increased it start to fail to load squishfs image,
using lzma-loader fixed it.
wevo_11acnas is almost same device as w2914ns-v2 except ram size,
so I expect same thing would've happen in that device too.

Signed-off-by: Seo Suchan <abnoeh@mail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
3 years agoramips: mt7621: add TP-Link EAP235-Wall support
Sander Vanheule [Thu, 18 Feb 2021 19:52:53 +0000 (20:52 +0100)]
ramips: mt7621: add TP-Link EAP235-Wall support

The TP-Link EAP235-Wall is a wall-mounted, PoE-powered AC1200 access
point with four gigabit ethernet ports.

When connecting to the device's serial port, it is strongly advised to
use an isolated UART adapter. This prevents linking different power
domains created by the PoE power supply, which may damage your devices.

The device's U-Boot supports saving modified environments with
`saveenv`. However, there is no u-boot-env partition, and saving
modifications will cause the partition table to be overwritten. This is
not an issue for running OpenWrt, but will prevent the vendor FW from
functioning properly.

Device specifications:
* SoC: MT7621DAT
* RAM: 128MiB
* Flash: 16MiB SPI-NOR
* Wireless 2.4GHz (MT7603EN): b/g/n, 2x2
* Wireless 5GHz (MT7613BEN): a/n/ac, 2x2
* Ethernet: 4× GbE
  * Back side: ETH0, PoE PD port
  * Bottom side: ETH1, ETH2, ETH3
* Single white device LED
* LED button, reset button (available for failsafe)
* PoE pass-through on port ETH3 (enabled with GPIO)

Datasheet of the flash chip specifies a maximum frequency of 33MHz, but
that didn't work. 20MHz gives no errors with reading (flash dump) or
writing (sysupgrade).

Device mac addresses:
Stock firmware uses the same MAC address for ethernet (on device label)
and 2.4GHz wireless. The 5GHz wireless address is incremented by one.
This address is stored in the 'info' ('default-mac') partition at an
offset of 8 bytes.
From OEM ifconfig:
    eth     a4:2b:b0:...:88
    ra0     a4:2b:b0:...:88
    rai0    a4:2b:b0:...:89

Flashing instructions:
* Enable SSH in the web interface, and SSH into the target device
* run `cliclientd stopcs`, this should return "success"
* upload the factory image via the web interface

Debricking:
U-boot can be interrupted during boot, serial console is 57600 baud, 8n1
This allows installing a sysupgrade image, or fixing the device in
another way.
* Access serial header from the side of the board, close to ETH3,
  pin-out is (1:TX, 2:RX, 3:GND, 4:3.3V), with pin 1 closest to ETH3.
* Interrupt bootloader by holding '4' during boot, which drops the
  bootloader into its shell
* Change default 'serverip' and 'ipaddr' variables (optional)
* Download initramfs with `tftpboot`, and boot image with `bootm`
    # tftpboot 84000000 openwrt-initramfs.bin
    # bootm

Revert to stock:
Using the tplink-safeloader utility from the firmware-utils package,
TP-Link's firmware image can be converted to an OpenWrt-compatible
sysupgrade image:
  $ ./staging_dir/host/bin/tplink-safeloader -B EAP235-WALL-V1 \
      -z EAP235-WALLv1_XXX_up_signed.bin -o eap235-sysupgrade.bin

This can then be flashed using the OpenWrt sysupgrade interface. The
image will appear to be incompatible and must be force flashed, without
keeping the current configuration.

Known issues:
- DFS support is incomplete (known issue with MT7613)
- MT7613 radio may stop responding when idling, reboot required.
  This was an issue with the ddc75ff704 version of mt76, but appears to
  have improved/disappeared with bc3963764d.
  Error notice example:
  [ 7099.554067] mt7615e 0000:02:00.0: Message 73 (seq 1) timeout

Hardware was kindly provided for porting by Stijn Segers.

Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 years agoramips: remove factory image for TP-Link Archer C20 v1
Stijn Segers [Thu, 18 Feb 2021 23:53:26 +0000 (00:53 +0100)]
ramips: remove factory image for TP-Link Archer C20 v1

Similarly to the Archer C2 v1, the Archer C20 v1 will brick when one
tries to flash an OpenWrt factory image through the TP-Link web UI.
The wiki page contains an explicit warning about this [1].

Disable the factory image altogether since it serves no purpose.

[1] https://openwrt.org/toh/tp-link/tp-link_archer_c20_v1#installation

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
3 years agoath79: fix position of SPDX license identifier
Adrian Schmutzler [Fri, 19 Feb 2021 12:53:22 +0000 (13:53 +0100)]
ath79: fix position of SPDX license identifier

Strictly, the identifier needs to be in the line directly after the
shebang.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agomediatek: fix SPDX license identifier on local DTS files
Adrian Schmutzler [Fri, 19 Feb 2021 12:47:45 +0000 (13:47 +0100)]
mediatek: fix SPDX license identifier on local DTS files

The SPDX license identifier must be in the first line of a file,
unless there is a shebang (then it's the second line).

Fix this for the local files, do not care about the upstream patches.

While at it, update the identifiers where necessary.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agobcm63xx: update ethernet kernel panics fix
Álvaro Fernández Rojas [Fri, 19 Feb 2021 11:25:38 +0000 (12:25 +0100)]
bcm63xx: update ethernet kernel panics fix

Use new patch from Sieng Piaw Liew.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agocypress-firmware: fix PKG_SOURCE_URL
Álvaro Fernández Rojas [Fri, 19 Feb 2021 10:06:23 +0000 (11:06 +0100)]
cypress-firmware: fix PKG_SOURCE_URL

Download link has been moved.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agomediatek: move mt7623a-unielec-u7623*.dts* out of patch
Daniel Golle [Fri, 19 Feb 2021 09:16:19 +0000 (09:16 +0000)]
mediatek: move mt7623a-unielec-u7623*.dts* out of patch

Instead of adding those device tree sources using a patch, simply move
them to the newly created dts folder.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agobcm27xx: add diag LEDs
Álvaro Fernández Rojas [Fri, 19 Feb 2021 06:58:36 +0000 (07:58 +0100)]
bcm27xx: add diag LEDs

We can now use the power LED for diag in more devices thanks to the latest
patches from the RPi foundation.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agobcm27xx: bcm2708: add missing RPi B DTS file
Álvaro Fernández Rojas [Fri, 19 Feb 2021 06:56:58 +0000 (07:56 +0100)]
bcm27xx: bcm2708: add missing RPi B DTS file

RPI 1B DTS has been splitted into 2 files:
 - bcm2708-rpi-b.dts: Newest (rev2) RPI 1B
 - bcm2708-rpi-b-rev1.dts: Old (rev1) RPI 1B

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
3 years agomediatek: more clean solution for out-of-tree DTS
Daniel Golle [Fri, 19 Feb 2021 01:13:26 +0000 (01:13 +0000)]
mediatek: more clean solution for out-of-tree DTS

Use approach suggested by Adrian Schmutzler instead of introducing
another device variable.
Also revert the unnecessary white-space changes accidentally introduced
by the previous commit.

Fixed: c067b1e79b ("mediatek: move out-of-tree DTS files to dedicated dts folder")
Suggested-by: Adrian Schmutzler <mail@adrianschmutzler.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>