Commit Graph

47109 Commits (67b04e767a0dcd01d39fe71eed9bdff7d5be72f0)

Author SHA1 Message Date
Daniel Golle 67b04e767a oxnas: backport patch fixing hang after reboot
Sungbo Eo <mans0n@gorani.run> posted a patch fixing the long-standing
reboot problem on the OXNAS OX820 platform:
  irqchip/versatile-fpga: Handle chained IRQs properly

It got queued for 5.7. Import it to oxnas target patches for now.

Fixes: b4917fa907 ("oxnas: fix oxnas-rps-timer dt-match")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-03-19 22:48:23 +00:00
Hauke Mehrtens cb44ab4f5d toolchain: Update GCC 9 to version 9.3.0
The removed patch is included in GCC 9.3.0.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-03-18 23:55:51 +01:00
Hauke Mehrtens db70077668 toolchain: Update GCC 8 to version 8.4.0
The removed patch is included in GCC 8.4.0.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-03-18 23:55:51 +01:00
Jeffery To d33200824f cryptodev-linux: Fix error when compiling with 5.4 kernel
Currently, cryptodev-linux fails to compile with a
'"crypto_givcipher_type" undefined' error for targets on the 5.4 kernel,
e.g. armvirt[1].

This backports an upstream patch[2] that fixes this error.

[1]: https://downloads.openwrt.org/snapshots/faillogs/aarch64_generic/base/cryptodev-linux/compile.txt
[2]: f971e0cd4a

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-03-18 23:12:48 +01:00
Daniel Golle 50a59b3a39 hostapd: fix segfault in wpa_supplicant ubus
When introducing ubus reload support, ubus initialization was moved
to the service level instead of being carried out when adding a BSS
configuration. While this works when using wpa_supplicant in that way,
it breaks the ability to run wpa_supplicant on the command line, eg.
for debugging purposes.
Fix that by re-introducing ubus context intialization when adding
configuration.

Reported-by: @PolynomialDivision https://github.com/openwrt/openwrt/pull/2417
Fixes: 60fb4c92b6 ("hostapd: add ubus reload")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-03-18 19:05:22 +01:00
Davide Fioravanti 213250b56b ath79: add support for TP-Link Archer D7/D7b v1
TP-Link Archer D7 v1 is a dual-band AC1750 router + modem.
The router section is based on Qualcomm/Atheros QCA9558 + QCA9880.
The "DSL" section is based on BCM6318 but it's currently not supported.

The Archer D7b seems to differ from the Archer D7 only in the
partition table.

Router section - Specification:

775/650/258 MHz (CPU/DDR/AHB)
128 MB of RAM (DDR2)
16 MB of FLASH (SPI NOR)
3T3R 2.4 GHz
3T3R 5 GHz
4x 10/100/1000 Mbps Ethernet
7x LED, 2x button
UART header on PCB

Known issues:

- Broadband LED (missing GPIO - probably driven by the BCM6318)
- Internet LED (missing GPIO - probably driven by the BCM6318)
- WIFI LED (working only for one interface at a time, while in the
  OEM firmware works for both wifi interfaces; thus, this patch does
  not set a trigger by default)
- DSL not working (eth0)

UART connection
---------------
J1 HEADER (Qualcomm CPU)
. VCC
. GND
. RX
O TX

J41 HEADER (Broadcom CPU)
. VCC
. GND
. RX
O TX

The following instructions require a connection to the J1 UART header
and are tested for the Archer D7 v1.
For the Archer D7b v1, names should be changed accordingly.

Flash instructions under U-Boot, using UART
------------------------------------------
 1. Press "tpl" to stop autobooting and obtain U-Boot CLI access.
 2. Setup ip addresses for U-Boot and your tftp server.
 3. Issue below commands:
	tftpboot 0x81000000 openwrt-ath79-generic-tplink_archer-d7-v1-squashfs-sysupgrade.bin
	erase 0x9f020000 +f90000
	cp.b 0x81000000 0x9f020000 0xf90000
	reset

Initramfs instructions under U-Boot for testing, using UART
----------------------------------------------------------
 1. Press "tpl" to stop autobooting and obtain U-Boot CLI access.
 2. Setup ip addresses for U-Boot and your tftp server.
 3. Issue below commands:
	tftpboot 0x81000000 openwrt-ath79-generic-tplink_archer-d7-v1-initramfs-kernel.bin
	bootm 0x81000000
 4. Here you can backup the original firmware and/or flash the sysupgrade openwrt if you want

Restore the original firmware
-----------------------------
 0. Backup every partition using the OpenWrt web interface
 1. Download the OEM firmware from the TP-Link website
 2. Extract the bin file in a folder (eg. Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin)
 3. Remove the U-Boot and the Broadcom image part from the file.
    Issue the following command:
	dd if="Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin" of="Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin.mod" skip=257 bs=512 count=31872
 4. Double check the .mod file size. It must be 16318464 bytes.
 5. Flash it using the OpenWrt web interface. Force the update if needed.
    WARNING: Remember to NOT keep settings.

 5b. (Alternative to 5.) Flash it using the U-Boot and UART connection.
     Issue below commands in the U-Boot:
	tftpboot 0x81000000 Archer_D7v1_1.6.0_0.9.1_up_boot(160216)_2016-02-16_15.55.48.bin.mod
	erase 0x9f020000 +f90000
	cp.b 0x81000000 0x9f020000 0xf90000
	reset

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
[cosmetic DTS changes, remove TPLINK_HWREVADD := 0, do not use two
phyXtpt at once, add missing buttons, minor commit message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-18 14:25:38 +01:00
Adrian Schmutzler 646d95c374 ath79: add support for TP-Link Archer C60 v3
TP-Link Archer C60 v3 is a dual-band AC1350 router,
based on Qualcomm/Atheros QCA9561 + QCA9886.

It seems to be identical to the v2 revision, except that
it lacks a WPS LED and has different GPIO for amber WAN LED.

Specification:

- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 6x LED, 2x button
- UART header on PCB

Flash instruction (WebUI):
Download *-factory.bin image and upload it via the firmwary upgrade
function of the stock firmware WebUI.

Flash instruction (TFTP):
1. Set PC to fixed IP address 192.168.0.66
2. Download *-factory.bin image and rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root
   directory
4. Turn off the router
5. Press and hold reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time the firmware should
   be transferred from the tftp server
8. Wait ~30 second to complete recovery

While TFTP works for OpenWrt images, my device didn't accept the
only available official firmware "Archer C60(EU)_V3.0_190115.bin".

In contrast to earlier revisions (v2), the v3 contains the (same)
MAC address twice, once in 0x1fa08 and again in 0x1fb08.
While the partition-table on the device refers to the latter, the
firmware image contains a different partition-table for that region:

name           device            firmware
factory-boot   0x00000-0x1fb00   0x00000-0x1fa00
default-mac    0x1fb00-0x1fd00   0x1fa00-0x1fc00
pin            0x1fd00-0x1fe00   0x1fc00-0x1fd00
product-info   0x1fe00-0x1ff00   0x1fd00-0x1ff00
device-id      0x1ff00-0x20000   0x1ff00-0x20000

While the MAC address is present twice, other data like the PIN isn't,
so with the partitioning from the firmware image the PIN on the device
would actually be outside of its partition.
Consequently, the patch uses the MAC location from the device (which
is the same as for the v2).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-18 13:49:06 +01:00
Russell Senior 8cacb84041 ath79: rename ubnt_bullet-m to ubnt_bullet-m-ar7241
Since there exists another variant of the Bullet M with AR7240 SoC
under the same name, this patch introduces the SoC into the device
name to be able to distinguish these variants.

Signed-off-by: Russell Senior <russell@personaltelco.net>
[add commit message, adjust model in DTS, fix 02_network and
SUPPORTED_DEVICES]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-18 13:45:57 +01:00
Russell Senior 572278d3a0 ath79: generalize ubnt_xm dtsi for ar7240 and ar7241
* Prepare to support the AR7240 variant of ubiquiti bullet m, by
  reorganizing the related dtsi files.

* Distribute SOC variable across ubnt-xm devices.

Signed-off-by: Russell Senior <russell@personaltelco.net>
2020-03-18 13:45:57 +01:00
Bjørn Mork dabe8471fc bcm27xx: enable THERMAL_WRITABLE_TRIPS on bcm2710 and bcm2711
The PoE hat supported on the RPi 3B+ and 4B comes with a rather
loud fan, tripped in two steps by the brcmstb_thermal
thermal_zone driver.  Enabling writable trip points allow
users to adjust the fan trip points according to their
preferred temp/noise ratio.

This setting is enabled on most other targets with similar
thermal_zone controlled cooling devices.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2020-03-18 12:19:13 +01:00
Mathias Kresin 132ff90f1d ramips: do not add metadata to factory images
The image metadata are openwrt specific and not required for factory
images.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-17 22:17:59 +01:00
Mathias Kresin b66af9ac2d lantiq: kernel 5.4: enable JFFS2
We do not build images with a jffs2 rootfs, but jffs2 is still used as
filesystem for the rootfs_data.

Fixes: e3eaf57808 ("lantiq: kernel 5.4: debloat kernel config")
Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-17 20:36:39 +01:00
Adrian Schmutzler a57fcd880e ath79: fix execute bit for 02_network on mikrotik subtarget
When creating the mikrotik subtarget, the execute bit on 02_network
was not set. Fix it.

Fixes: a66eee6336 ("ath79: add mikrotik subtarget")

Reported-by: Christopher Hill <ch6574@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-17 19:24:29 +01:00
Adrian Schmutzler 3d8be08939 ath79: get rid of BOARD_NAME for Mikrotik RouterBOARD
So far, specifying "BOARD_NAME := routerboard" is required by the
upgrade code of Mikrotik NAND devices, as "sysupgrade-routerboard"
is hardcoded in platform_do_upgrade_mikrotik_nand().

This patch replaces the latter with a grep for the name like it
is already done in nand_upgrade_tar() in /lib/upgrade/nand.sh.

By that, BOARD_NAME is obsolete now for this device.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-17 12:05:45 +01:00
Adrian Schmutzler 281785d74f ar71xx: remove hard-coded folder name from Mikrotik RB upgrade
So far, specifying "BOARD_NAME := routerboard" is required by the
upgrade code of Mikrotik NAND devices, as "sysupgrade-routerboard"
is hardcoded in platform_do_upgrade_mikrotik_rb().

This patch replaces the latter with a grep for the name like it
is already done in nand_upgrade_tar() in /lib/upgrade/nand.sh.

This should enable upgrades from ar71xx to ath79 without setting
BOARD_NAME for the latter.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-17 12:02:14 +01:00
Roger Pueyo Centelles a66eee6336 ath79: add mikrotik subtarget
This commit creates the ath79/mikrotik subtarget in order to support
MikroTik devices based on Qualcomm Atheros MIPS SoCs.

MikroTik devices need a couple of specific features: the split MiNOR
firmware MTD format, which is not used by other devices, and the 4k
sector erase size on SPI NOR storage, which can not be added to the
ath79/generic and ath79/nand subtargets now.

Additionally, the commit moves the two MikroTik devices already in
the generic and nand subtargets to this new one.

Tested on the RB922 board and the wAP AC router.

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
2020-03-17 11:50:47 +01:00
Leon M. George b78f61c336 hostapd: fix pointer cast warnings
Signed-off-by: Leon M. George <leon@georgemail.eu>
2020-03-17 10:23:28 +01:00
Leon M. George a8a993e64c hostapd: remove trailing whitespace
Signed-off-by: Leon M. George <leon@georgemail.eu>
2020-03-17 10:23:28 +01:00
Sungbo Eo 9e129c9d95 oxnas: enable sata on Pogoplug V3/Pro
Pogoplug V3/Pro has an interanl SATA port. To use it, DTS sata node should be
enabled, and kmod-ata-oxnas-sata package needs to be installed.

Fixes: FS#2542

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-03-17 17:36:34 +09:00
Tomasz Maciej Nowak 6e64039a87 tegra: switch to kernel 5.4
Build the latest kernel by default, since testing did not show any
regressions.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[fix merge conflict in tegra/Makefile]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-03-17 00:51:48 +01:00
Tomasz Maciej Nowak d42abe544e tegra: refresh patches and kernel config for 5.4
This commit also disables Trusted Foundations firmware support as this
feature won't be used by any device.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[fix merge conflict in tegra/Makefile]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-03-17 00:51:48 +01:00
Tomasz Maciej Nowak 86c939841c tegra: copy kernel config and patches for 5.4
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2020-03-17 00:51:48 +01:00
Tomasz Maciej Nowak ddc0e87fae kernel: move TEO governor to generic config
This new symbol popped up in few places. Disable it in generic config.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
[fixed merge conflict in generic/config-5.4]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-03-17 00:51:48 +01:00
Michael Heimpold c8946a5baf mxs: fix user led for OLinuXino boards
More testing after kernel upgrade to 5.4 uncovered a regression: the user
led is not present anymore due to a pin mux "collision" in device tree.

A patch sent to upstream kernel was accepted now. Integrate this
pending fix as platform specific patch so that user led is available again.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2020-03-17 00:51:48 +01:00
Luis Araneda c48cf5ddb3 zynq: switch to kernel 5.4
Use kernel 5.4 by default

compile-tested: all devices from target
run-tested: Digilent Zybo Z7-20

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2020-03-17 00:51:48 +01:00
Luis Araneda badedbf007 zynq: refresh kernel 5.4 config
By running make kernel_oldconfig and selecting relevant options

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2020-03-17 00:51:48 +01:00
Luis Araneda 2cad8341da zynq: copy config from kernel 4.19 to 5.4
Refreshed kernel 4.19 config before copying the file

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2020-03-17 00:51:48 +01:00
Mathias Kresin e3eaf57808 lantiq: kernel 5.4: debloat kernel config
The etop driver is used by all targets except xrx200.

Remove the UBIFS compression support for zlib and zstd from the xway
subtarget. The hardware is EOL for a long time and it's unlikely to ever
see a board shipped with an UBIFS using these compression methods.

Remove the JFFS2 support. Support for jjfs2 images was dropped years
ago.

It shrinks the compressed kernel up to 130 KByte.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:17 +01:00
Mathias Kresin 6bf179b270 lantiq: add Linux 5.4 support as testing kernel version
Switch to the mainline Lantiq PCIe PHY driver and update the vr9.dtsi
accordingly.

The Lantiq IRQ SMP support added upstream required changes to the SoC
dtsi as well.

Following changes are made to the Lantiq kernel patches:

  0005-lantiq_etop-pass-struct-device-to-DMA-API-functions.patch
  0006-MIPS-lantiq-pass-struct-device-to-DMA-API-functions.patch
    applied upstream

  0008-MIPS-lantiq-backport-old-timer-code.patch
    access_ok API update because it lost it's type (which was the first)
    parameter in upstream commit 96d4f267e40f95 ("Remove 'type' argument
    from access_ok() function")

  0024-MIPS-lantiq-autoselect-soc-rev-matching-fw.patch
    merged into 0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch

  0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch
    revert upstream changes required for upstream xrx200 ethernet and
    xrx200 (DSA) switch driver but breaking our driver

  0026-MIPS-lantiq-Add-GPHY-Firmware-loader.patch
    required for our driver but dropped upstream, add former upstream
    version

  0028-NET-lantiq-various-etop-fixes.patch
    now has to use the phy_set_max_speed API instead of modifying
    phydev->supported. Also call ltq_dma_enable_irq() in
    ltq_etop_open() based on upstream commit cc973aecf0b054 ("MIPS:
    lantiq: Do not enable IRQs in dma open")

Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2020-03-16 22:28:17 +01:00
Martin Blumenstingl 3d5d56487d lantiq: linux 5.4: remove support for the linux,mtd-name OF property
This is referenced in two .dts but never actually used from userspace.
Drop support for this property because it's not used and because it
makes updating to Linux 5.4 harder (as the patch doesn't apply anymore).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2020-03-16 22:28:16 +01:00
Mathias Kresin 005dedd348 lantiq: copy target to kernel 5.4
Duplicate kernel 4.19 config and patches for kernel 5.4.

Duplicate the devicetree source files as well, they need kernel 5.4
specific adjustments.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Martin Blumenstingl 0dbe8b9029 lantiq: ltq-tapi: fix compilation with newer Linux kernels
Compiling the ltq-tapi driver against Linux 5.4 results in a compile
error complaining that the size of struct sched_param is not known.
Switch the existing "sched/types.h" include to reference
include/uapi/linux/sched/types.h to fix compilation against Linux 5.4.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2020-03-16 22:28:16 +01:00
Martin Blumenstingl 588d574eb9 lantiq: ltq-deu: fix compatibility with Linux 5.3+
Upstream commit 84ede58dfcd1d ("crypto: hash - remove
CRYPTO_ALG_TYPE_DIGEST") drops the CRYPTO_ALG_TYPE_DIGEST define because
it has the same value as CRYPTO_ALG_TYPE_HASH. This was the case for
earlier kernels as well. Switch to CRYPTO_ALG_TYPE_HASH to fix building
against Linux 5.4.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2020-03-16 22:28:16 +01:00
Martin Blumenstingl 3fa5f058f6 lantiq: ltq-vdsl: fix compilation with Linux 5.0+
Upstream commit e4b92b108c6cd6 ("timekeeping: remove obsolete time
accessors") removed do_gettimeofday(). In Linux 4.19 this was only a
wrapper around ktime_get_real_ts64(). Use ktime_get_real_ts64() now that
the wrapper is gone to fix compilation against Linux 5.4.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2020-03-16 22:28:16 +01:00
Mathias Kresin a6698551e5 ltq-adsl: fix compilation with Linux 5.0+
Upstream commit e4b92b108c6cd6 ("timekeeping: remove obsolete time
accessors") removed do_gettimeofday(). In Linux 4.19 this was only a
wrapper around ktime_get_real_ts64(). Use ktime_get_real_ts64() now that
the wrapper is gone to fix compilation against Linux 5.4.

Move the ifxmips_mei_interface header to the include directory, it can't
be found otherwise during compilation. The reason for the changed
behaviour is not yet clear, however having header files in an include
directory is more straight forward.

To use the of_device_id struct, the mod_devicetable header need to be
included. Instead of including this header, include the of_platform
header, which includes the mod_devicetable on its own.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Mathias Kresin a3539c82cb ltq-atm: add Linux 5.0+ compatibility
Upstream commit 96d4f267e40f95 ("Remove 'type' argument from access_ok()
function") removes the first argument to access_ok.
Adjust the code so it builds with Linux 5.4.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Mathias Kresin c01c01891c kernel: kmod-serial-8250: fix linux 5.3 dependencies
Beginning with linux 5.3, kmod-serial-8250 uses functions provided by
serial_mctrl_gpio.ko if GPIO support is enabled.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Mathias Kresin 095598ce00 generic: make all phy drivers kernel 5.0 compatible
It adjusts the code to upstream changes from the commit 3c1bcc8614db
("net: ethernet: Convert phydev advertize and supported from u32 to link
 mode")

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Mathias Kresin 0270b1995b lantiq: vgv7510kw22: fix missing wireless
For some reason pin 7 (gphy0_led1_pins) need to be set to output prior
to loading the PCI driver. Otherwise the wireless doesn't appear on the
PCI bus. Of course, it doesn't make much sense, since pin 7 is used to
drive the LAN1 led.

It can either be done by setting the pins function to GPHY or GPIO +
direction output. However, the pinctrl driver doesn't provide a way to
switch a pin to GPIO. It is done indirectly by the pinctrl driver at the
time a GPIO is requested (requesting a GPIO always resets the function
to GPIO).

Do it via pinmux driver, as it is always loaded first. Use the GPHY
function as it's the pins intended purpose for this board.

Fixes: FS#2895

Signed-off-by: Mathias Kresin <dev@kresin.me>
2020-03-16 22:28:16 +01:00
Petr Štetiar 9ba09653ad treewide: remove maintainer variable from targets
There is no such role as target maintainer anymore, one should always
send corresponding changes for the review and anyone from the commiters
is allowed to merge them or eventually use the hand break and NACK them.

Lets make it clear, that it is solely a community doing the maintenance
tasks.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Piotr Dymacz <pepe2k@gmail.com>
2020-03-16 22:21:45 +01:00
Robert Marko 72c3997003 ipq40xx: 5.4: fix ethernet driver
In 5.4 kernel old u32 array way of setting network features was dropped and linkmode is now the only way.
So lets migrate the EDMA driver to support linkmode.
Also, old get/set settings API for ethtool is also dropped so lets convert to new ksettings API while at it as it demands linkmode.

Now, gigabit works properly as well as ethtool.
Previously you would get this in ethtool:
root@OpenWrt:/# ethtool eth1
Settings for eth1:
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)

        Link detected: yes

Now, features are properly advertised:
root@OpenWrt:/# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: No
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 4
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)

        Link detected: yes

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-03-16 22:21:45 +01:00
Robert Marko 2b7344055b ipq40xx: 5.4: fix networking PHY driver
In 5.4 kernel old u32 array way of setting network features was dropped and linkmode is now the only way.
So lets migrate the PHY driver to support linkmode.
Also, now in order for gigabit to work, PHY driver needs to advertise PHY_GBIT_FEATURES instead of PHY_BASIC_FEATURES

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-03-16 22:21:45 +01:00
Petr Štetiar f521ef5ff3 ipq40xx: 5.4: fix of_get_mac_address obsolete usage OOPs
of_get_mac_address returns valid pointer or ERR_PTR since 5.2 via commit
d01f449c008a ("of_net: add NVMEM support to of_get_mac_address") so the
patch fixes following OOPs on nbg6617:

 Unable to handle kernel paging request at virtual address ffffffed
 CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.4.24 #0
 PC is at edma_axi_probe+0x444/0x1114
 LR is at bus_find_device+0x88/0x9c

Where the PC can be resolved to:

 >>> l *edma_axi_probe+0x444
 0xc067be5c is in edma_axi_probe (./include/linux/string.h:378).

 >>> l *edma_axi_probe+0x43f
 0xc067be57 is in edma_axi_probe (drivers/net/ethernet/qualcomm/essedma/edma_axi.c:936)

Which leads to the following code fragment:

 935  mac_addr = of_get_mac_address(pnp);
 936  if (mac_addr)
 937      memcpy(edma_netdev[idx_mac]->dev_addr, mac_addr, ETH_ALEN);

Where using mac_addr=0xffffffed (-ENODEV) as source address in memcpy()
is causing the OOPs.

Acked-by: John Crispin <john@phrozen.org>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski cf74e2d4fd sunxi: add testing 5.4 kernel
Add 5.4 as testing kernel.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski 7b7e8093cf sunxi: move common options from subtargets into target kconfig
These new options are common for all subtargets and can be moved into target kconfig.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski 87a0c7c8ca sunxi: refresh config for all subtargets
This was done by executing these command for all subtargets:

$ time make -j9 kernel_oldconfig CONFIG_TARGET=subtarget

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski 3d6d2e0ac9 sunxi: remove old symbols from 5.4 kconfig
These options only exist earlier kernel versions.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski 4fbac1ebc5 sunxi: remove options that are already in generic kconfig
These options are already definied in generic 5.4 kconfig.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski af408b9798 kernel: move disabled symbols into generic kconfig
Move some disabled kconfig options found in sunxi kconfig into generic.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00
Aleksander Jan Bajkowski 9883d5d084 sunxi: make patches apply cleanly on 5.4
These patches are already in mainline 5.4 kernel:
* 010-v5.3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX.patch
* 101-arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-03-16 22:21:45 +01:00