Commit Graph

369 Commits

Author SHA1 Message Date
AmadeusGhost
1e18c2be1d Merge Mainline 2021-05-01 11:50:45 +08:00
Rui Salvaterra
edb4a919c2 treewide: switch the timer frequency to 100 Hz
Some targets select HZ=100, others HZ=250. There's no reason to select a higher
timer frequency (and 100 Hz are available in every architecture), so change all
targets to 100 Hz.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-22 23:12:24 +08:00
Rui Salvaterra
3f9b8cabd0 treewide: remove redundant ubifs kconfig symbols
For the targets which enable ubifs, these symbols are already part of the
generic kconfigs. Drop them from the target kconfigs.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-22 23:09:52 +08:00
AmadeusGhost
5680bfc347 Merge Mainline 2021-04-21 10:50:08 +08:00
AmadeusGhost
f0983b56fc ipq40xx: hiwifi c526a: work-around soft reboot issues
Ref: openwrt/mt76/issues#316
However, that is a hardware bug of mt7615.
2021-04-19 11:28:27 +08:00
AmadeusGhost
d2f3889c61 ipq40xx: hiwifi c526a: add 128m nand version
Warning: This version does not support pbboot and uses
all space of the nand.

Signed-off-by: AmadeusGhost <amadeus@jmu.edu.cn>
2021-04-19 00:01:13 +08:00
Tianling Shen
4a24bd4db0
kernel: bump to 4.9.262, 4.14.227, 4.19.183
Resolve conflicted:
- layerscape/patches-4.14/809-flexcan-support-layerscape.patch

Refreshed all patches.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-03-27 01:15:23 +08:00
Aleksander Jan Bajkowski
762bdbf498 kernel: move some disabled symbols to generic
Move some disabled symbols found in armvirt target to generic.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2021-03-20 11:19:57 +08:00
Daniel Golle
9dd082225e ipq40xx: work-around borked QCA SDK bootloader
The bootloader of many ipq40xx boards seems to require the config node
of the FIT image to be 'config@1' (or a secific different value).
This requirement used to be implicitely satisfied because OpenWrt used
to also call the configuration node inside a FIT image 'config@1'.
However, as recent U-Boot now prohibits the use of the '@' symbol as
part of node names, this was changed by
commit 5ec60cbe9d ("scripts: mkits.sh: replace @ with - in nodes")
Explicitely restore the default name of the configuration node to
'config@1' on ipq40xx.

Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-07 12:05:05 +08:00
Robert Marko
4e103584ce ipq40xx: net: phy: qca807x: fix GPIO driver
While rebasing into setting bits instead of magic values,
I accidentally forgot to actually set the force bit.

Without it using the pins as GPIO-s did not actually work.

Fixes: b5c93ed ("ipq40xx: add Qualcomm QCA807x driver")

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2021-03-05 12:09:19 +08:00
Jason A. Donenfeld
f0ef17aa8c kernel-5.4: bump to 5.4.102 and refresh patches
5.4.102 backported a lot of stuff that our WireGuard backport already
did, in addition to other patches we had, so those patches were
removed from that part of the series. In the process other patches were
refreshed or reworked to account for upstream changes.

This commit involved `update_kernel.sh -v -u 5.4`.

Cc: John Audia <graysky@archlinux.us>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-03-05 12:07:01 +08:00
Felix Fietkau
1d9492423d treewide: select kmod-mt7615-firmware where kmod-mt7615e is selected
The new mt76 version splits out the firmware, because the driver can also be
used for MT7663/MT7613

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-02-20 18:06:07 +08:00
AmadeusGhost
5a34d8d677 Merge Mainline 2021-02-10 12:28:03 +08:00
AmadeusGhost
2674114502 ipq40xx: r619ac: fix the conflict with 4G network card 2021-02-09 12:35:30 +08:00
AmadeusGhost
50d57a982c treewide: use upstream caldata script 2021-01-30 12:18:02 +08:00
Adrian Schmutzler
75697c9c12
treewide: provide global default for SUPPORTED_DEVICES
The majority of our targets provide a default value for the variable
SUPPORTED_DEVICES, which is used in images to check against the
compatible on a running device:

  SUPPORTED_DEVICES := $(subst _,$(comma),$(1))

At the moment, this is implemented in the Device/Default block of
the individual targets or even subtargets. However, since we
standardized device names and compatible in the recent past, almost
all targets are following the same scheme now:

  device/image name:  vendor_model
  compatible:         vendor,model

The equal redundant definitions are a symptom of this process.

Consequently, this patch moves the definition to image.mk making it
a global default. For the few targets not using the scheme above,
SUPPORTED_DEVICES will be defined to a different value in
Device/Default anyway, overwriting the default. In other words:
This change is supposed to be cosmetic.

This can be used as a global measure to get the current compatible
with: $(firstword $(SUPPORTED_DEVICES))
(Though this is not precisely an achievement of this commit.)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2021-01-29 22:47:58 +08:00
Adrian Schmutzler
0e2815c5c6
treewide: provide global default for SUPPORTED_DEVICES
The majority of our targets provide a default value for the variable
SUPPORTED_DEVICES, which is used in images to check against the
compatible on a running device:

  SUPPORTED_DEVICES := $(subst _,$(comma),$(1))

At the moment, this is implemented in the Device/Default block of
the individual targets or even subtargets. However, since we
standardized device names and compatible in the recent past, almost
all targets are following the same scheme now:

  device/image name:  vendor_model
  compatible:         vendor,model

The equal redundant definitions are a symptom of this process.

Consequently, this patch moves the definition to image.mk making it
a global default. For the few targets not using the scheme above,
SUPPORTED_DEVICES will be defined to a different value in
Device/Default anyway, overwriting the default. In other words:
This change is supposed to be cosmetic.

This can be used as a global measure to get the current compatible
with: $(firstword $(SUPPORTED_DEVICES))
(Though this is not precisely an achievement of this commit.)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2021-01-29 15:20:43 +08:00
CN_SZTL
cba1985b07
kernel: bump to 4.9.252, 4.14.216, 4.19.169
Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2021-01-23 21:36:40 +08:00
Adrian Schmutzler
19810e57b2
kernel: bump 5.4 to 5.4.86
Removed upstreamed patches:
  pending-5.4/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch

Manually merged:
  pending-5.4/611-netfilter_match_bypass_default_table.patch
  layerscape/302-dts-0112-arm64-dts-fsl-ls1028a-prepare-dts-for-overlay.patch

Build-tested: ipq806x/R7800, bcm27xx/bcm2711, ath79/{generic,tiny},
              ipq40xx, octeon, ramips/mt7621, realtek, x86/64
Run-tested: ipq806x/R7800, realtek

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: John Audia <graysky@archlinux.us>
Tested-by: Stijn Segers <foss@volatilesystems.org>
2021-01-02 12:00:30 +08:00
CN_SZTL
74969cab15
kernel: bump to 4.9.249, 4.14.213, 4.19.164
Remove upstreamed:
 - generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch
 - generic/pending-4.9/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch
 - ipq806x/patches-4.14/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch
 - ipq806x/patches-4.19/0071-2-PCI-qcom-Fixed-IPQ806x-PCIE-reset-changes.patch

Resolve conflicted:
 - generic/pending-4.19/611-netfilter_match_bypass_default_table.patch
 - ipq40xx/patches-4.19/995-ipq40xx-unlock-cpu-frequency.patch

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-12-31 20:59:32 +08:00
David Bauer
d6dbdbe29f ipq40xx: remove non-existent ethernet PHY
Since updating the MDIO driver, the probe will fail hard on any
PHY not present on the bus, while this was not the case prior.

Fixes commit 26b1f72381 ("ipq40xx: net: phy: ar40xx: remove PHY
handling")
Signed-off-by: David Bauer <mail@david-bauer.net>
2020-12-31 11:27:00 +08:00
David Bauer
3d79ad3f05 ipq40xx: revert usage of VLAN S-TAG
This reverts the usage of the S-Tag for separating LAN and WAN port on
the embedded switch. Many users complained about not being able to
manage C-Tag addition / removal on the switch as well as degraded
performance.

Fixes: commit 9da2b56760 ("ipq40xx: fix ethernet vlan double tagging")

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-12-26 17:10:47 +08:00
CN_SZTL
e89c161dde
linux: refresh kernel patches
Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-12-26 11:39:07 +08:00
AmadeusGhost
c6fbdf1b83 ipq40xx: refresh patches 2020-12-26 01:21:34 +08:00
AmadeusGhost
f67ced6ddf ipq40xx: remove duplicate patches 2020-12-26 00:10:15 +08:00
Chen Minqiang
b0ee96e014 ipq40xx: essedma Time-balanced scheduling
add script to adjust cpu affinity
essedma Time-balanced scheduling:
TX:
CPU:  |3          | |2          | |1          | |0          |
TX-Q: |15-14-13-12| |11-10-09-08| |07-06-05-04| |03-02-01-00|
          ___________|             |             |
          |  ______________________|             |
          |  |  _________________________________|
          |  |  |
TX-P: |15-11-07-03| |14-10-06-02| |13-09-05-01| |12-08-04-00|
TX-S: |---+--+--+-| |+-----+--+-| |+--+-----+-| |+--+--+----|
       |                |                |                |
RX:    |                |                |                |
CPU:  |3          | |   2       | |      1    | |         0 |
RX-Q: |07-06      | |05-04      | |03-02      | |01-00      |

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2020-12-25 23:53:46 +08:00
Chen Minqiang
31f8780b0e ipq40xx: essedma: disable default vlan tagging
original idea by chunkeey

The essedma driver has its own unique take on VLAN management
and its configuration. In the original SDK, each VLAN is
assigned one virtual ethernet netdev.

However, this is non-standard. So, this patch does away
with the default_vlan_tag property the driver is using
and therefore forces the user to use the kernel's vlan
feature.

Unfortunately, this change will cause the essedma driver
to leak LAN<->WAN during LEDE bootup.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2020-12-25 23:51:54 +08:00
LGA1150
dd0389c62f ipq40xx: add ramoops dts 2020-12-25 23:40:26 +08:00
LGA1150
2ffd829a6b ipq40xx: enable pstore 2020-12-25 23:38:55 +08:00
AmadeusGhost
36994bdb46 ipq40xx: r619ac: refresh device support 2020-12-25 23:38:30 +08:00
DENG Qingfang
40f4ea8eda ipq40xx: ar40xx: add switch led blink support
Implement get_port_stats() function for ar40xx phy

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
2020-12-25 23:36:28 +08:00
AmadeusGhost
cc4e599056 Revert "ipq40xx: ar40xx: add switch led blink support"
This reverts commit aa2df753cf.
2020-12-25 23:35:49 +08:00
Robert Marko
9b966e10c2 ipq40xx: net: ethernet: edma: use generic PHY print
Lets use the generic upstream phy_print_status() instead of doing
something similar by hand.

Before:
ess_edma c080000.edma: eth1: GMAC Link is up with phy_speed=1000

After:
ess_edma c080000.edma eth1: Link is Up - 1Gbps/Full - flow control rx/tx

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:34:17 +08:00
Robert Marko
bae353dc23 ipq40xx: net: ethernet: edma: use generic ksettings functions
Since we now have a proper PHY driver for QCA807x and AR803x has already
been supported properly there is no need for the driver to be poking
on PHY registers for ethtool ops.

So, lets simply use the generic
phy_ethtool_ksettings_get/phy_ethtool_ksettings_set functions.

This also has the advantage of properly populating stuff other than
speeds like, transceiver type, MDI-X etc.

ethtool before:
root@OpenWrt:/# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                1000baseX/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/Full
                                1000baseX/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

ethtool after:
root@OpenWrt:/# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                1000baseX/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/Full
                                1000baseX/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: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 4
        Transceiver: external
        Auto-negotiation: on
        MDI-X: off (auto)
        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-12-25 23:33:55 +08:00
Robert Marko
4188e89bd9 ipq40xx: dts: convert PHY GPIO bindings
Since the new PHY driver manages each PHY individually and therefore
registers each PHY that is marked with gpio-controller; DT property as a
GPIO controller we need to convert old DT bindings to account for this.

Only 2 boards use this so its not much of an issue.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:33:23 +08:00
Robert Marko
6311c72fe6 ipq40xx: dts: add QCA807x properties
This adds necessary DT properties for QCA807x PHY-s to IPQ4019 DTSI.

Also adds the PSGMII PHY as it wont get probed otherwise.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:32:48 +08:00
Robert Marko
b103145ecb ipq40xx: net: ethernet: edma: fix link detection
PHY needs to be soft reset before starting it from ethernet driver as
AR40xx calibration will leave it in unwanted state.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:32:21 +08:00
Robert Marko
95adccad2d ipq40xx: net: phy: ar40xx: remove PHY handling
Since we now have proper PHY driver for the QCA807x PHY-s, lets remove
PHY handling from AR40xx.

This removes PHY driver, PHY GPIO driver and PHY init code.
AR40xx still needs to handle PSGMII calibration as that requires R/W
from the switch, so I am unable to move it into PHY driver.

This also converted the AR40xx driver to use OF_MDIO to find the MDIO
bus as it now cant be set through the PHY driver.
So lets depend on OF_MDIO in KConfig.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:31:49 +08:00
Robert Marko
1b2fa38900 ipq40xx: add Qualcomm QCA807x driver
This adds driver for the Qualcomm QCA8072 and QCA8075 PHY-s.

They are 2 or 5 port IEEE 802.3 clause 22 compliant
10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s.

They feature 2 SerDes, one for PSGMII or QSGMII connection with MAC,
while second one is SGMII for connection to MAC or fiber.

Both models have a combo port that supports 1000BASE-X and 100BASE-FX
fiber.

Each PHY inside of QCA807x series has 2 digitally controlled output only
pins that natively drive LED-s.
But some vendors used these to driver generic LED-s controlled by
user space, so lets enable registering each PHY as GPIO controller and
add driver for it.

This also adds the ability to specify DT properties so that 1000 Base-T
LED will also be lit up for 100 and 10 Base connections.

This is usually done by U-boot, but boards running mainline U-boot are
not configuring this yet.

These PHY-s are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x
boards.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:27:16 +08:00
Robert Marko
d30b227d57 ipq40xx: edma: convert to of_mdio_find_bus()
With the reworked MDIO driver, EDMA will fail to get the MII BUS as it
used the MII BUS stored inside the MDIO structure private data.

This obviously does not work with the modernized driver, so lets switch
to using a purpose build of_mdio_find_bus() which will return the MII
BUS and only requires the MDIO node to be passed.
This is easy as we already have the node parsed.

Also, since we now require OF_MDIO add that as dependency.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:26:51 +08:00
Robert Marko
0ecbcc82cc ipq40xx: backport upstream MDIO driver
IPQ40xx MDIO driver was upstreamed in kernel version 5.8.
So lets backport the upstream version and drop our local one.

This also refreshed the kernel config since the symbol name has changed.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:26:23 +08:00
Robert Marko
67d61e3faa ipq40xx: refresh kernel config
Generic kernel config changed a lot, so lets refresh ipq40xx
to reduce the diff.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2020-12-25 23:25:32 +08:00
AmadeusGhost
a47f1a5116 Merge Mainline 2020-12-25 17:25:32 +08:00
AmadeusGhost
38ff89a52e ipq40xx: wr142ac: refresh device config 2020-12-24 11:35:35 +08:00
AmadeusGhost
150e4f81a5 ipq40xx: r619ac: enable pcie power supply 2020-12-24 11:31:39 +08:00
Aleksander Jan Bajkowski
5c572c9e16 kernel: move some disabled symbols to generic
Move some disabled config options found in lantiq target to generic.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2020-12-23 11:33:15 +08:00
CN_SZTL
07c5ef44a4
kernel: bump to 4.9.248, 4.14.212, 4.19.163
Remove upstreamed:
 - target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch
 - target/linux/generic/backport-4.19/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch
 - target/linux/generic/backport-4.9/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch

Refreshed all patches.

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
2020-12-19 21:11:50 +08:00
gw826943555
36f27036e3
ipq40xx: improve cpu operating points and overclock to 896Mz
This patch will match the clock-latency-ns values in the device tree
for those found inside the OEM device tree and kernel source code and
unlock 896Mhz CPU operating points.
2020-12-19 20:59:00 +08:00
gw826943555
a8a01ea334
ipq40xx: improve cpu operating points and overclock to 896Mz
This patch will match the clock-latency-ns values in the device tree
for those found inside the OEM device tree and kernel source code and
unlock 896Mhz CPU operating points.
2020-12-19 18:01:24 +08:00
CN_SZTL
94afa74c96
Merge Mainline 2020-12-19 17:51:19 +08:00