openwrt/staging/ansuel.git
2 years agobase-files: add helper functions for adding wlan device entries to board.json
Felix Fietkau [Fri, 30 Sep 2022 17:19:51 +0000 (19:19 +0200)]
base-files: add helper functions for adding wlan device entries to board.json

These will be used to give WLAN PHYs a specific name based on path specified
in board.json. The platform board.d script can assign a specific order based
on available slots (PCIe slots, WMAC device) and device tree configuration.

This helps with maintaining config compatibility in case the device path
changes due to kernel upgrades.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agolibubox: update to the latest version
Felix Fietkau [Fri, 30 Sep 2022 11:54:58 +0000 (13:54 +0200)]
libubox: update to the latest version

ea56013409d5 jshn.sh: add json_add_fields function for adding multiple fields at once

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoiwinfo: update to the latest version
Felix Fietkau [Fri, 14 Oct 2022 11:11:16 +0000 (13:11 +0200)]
iwinfo: update to the latest version

0496c722f1d7 nl80211: fix issues with renamed wiphy and multiple phy per device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: fix typo in netifd script
Felix Fietkau [Thu, 13 Oct 2022 19:49:38 +0000 (21:49 +0200)]
mac80211: fix typo in netifd script

Reported-by: Chad Monroe <chad.monroe@smartrg.com>
Fixes: 590eaaeed59a ("mac80211: fix issues in HE capabilities")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoairoha: fix imagebuilder generation by introducing generic target
Nick Hainke [Sun, 11 Sep 2022 19:53:20 +0000 (21:53 +0200)]
airoha: fix imagebuilder generation by introducing generic target

The generic imagebuilder does not have a generic in the name, although
this is the default naming scheme. Apply the same fix as for the octeon
target. Thanks to @dangowrt for reporting that the same issues applies
also for the airoha target.

Before the fix:
openwrt-imagebuilder-airoha.Linux-x86_64.tar.xz

After:
openwrt-imagebuilder-airoha-generic.Linux-x86_64.tar.xz

Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agohostapd: add measurement report value for beacon reports
Nick Hainke [Sat, 8 Jan 2022 07:55:21 +0000 (08:55 +0100)]
hostapd: add measurement report value for beacon reports

Add the measurement report value to the beacon reports send via ubus. It
is possible to derive from the measurement report if a station refused to
do a beacon report and why. It is important to know why a station refuses
to do a beacon-report. In particular, we should not request a beacon
report from a station again that refused a beacon-report before.

The rejection reasons can be found by looking at the bits defined by:
- MEASUREMENT_REPORT_MODE_ACCEPT
- MEASUREMENT_REPORT_MODE_REJECT_LATE
- MEASUREMENT_REPORT_MODE_REJECT_INCAPABLE
- MEASUREMENT_REPORT_MODE_REJECT_REFUSED

Suggested-by: Ian Clowes <clowes_ian@hotmail.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 years agobcm53xx: linksys ea6500-v2: extend RAM to full 256MB
Aleksey Nasibulin [Thu, 13 Oct 2022 08:22:53 +0000 (08:22 +0000)]
bcm53xx: linksys ea6500-v2: extend RAM to full 256MB

Linksys ea6500-v2 have 256MB of ram. Currently we only use 128MB.
Expand the definition to use all the available RAM.

Signed-off-by: Aleksey Nasibulin <alealexpro100@ya.ru>
[ wrap to 80 columns ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agokernel: backport gnu11 upgrade
Olliver Schinagl [Sun, 4 Sep 2022 20:08:47 +0000 (22:08 +0200)]
kernel: backport gnu11 upgrade

Upstream has switched to gnu11 not too long ago. One advantage of
backporting this to these older kernels is, that we can encourage and
write better upstreamable kernels. E.g. the kernel devs prefer loop
declarations. Shrinking the master/local gap will be useful in these
cases.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Acked-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agobuild: image: use printf for ModelNameLimit16
Huangbin Zhan [Tue, 29 Mar 2022 16:15:29 +0000 (00:15 +0800)]
build: image: use printf for ModelNameLimit16

Fix syntax error on macos, for substr is undefined results according to
the POSIX standard.

From expr on macos:
 According to the POSIX standard, the use of string arguments length,
 substr, index, or match produces undefined results.  In this version of
 expr, these arguments are treated just as their respective string values.

By a simple test Makefile:

define ModelNameLimit16
$(shell expr substr "$(word 2, $(subst _, ,$(1)))" 1 16)
endef

define ModelNameLimit16_2
$(shell printf %.16s "$(word 2, $(subst _, ,$(1)))")
endef

hello:
echo $(call ModelNameLimit16, technicolor_tg582n-telecom-italia)
echo $(call ModelNameLimit16_2, technicolor_tg582n-telecom-italia)

The same output is produced.

echo tg582n-telecom-i
tg582n-telecom-i
echo tg582n-telecom-i
tg582n-telecom-i

Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
[ wrap commit description to 80 columns and improve it ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agomac80211: add patch that gives the driver more control over netdev offloads
Felix Fietkau [Mon, 10 Oct 2022 10:11:10 +0000 (12:11 +0200)]
mac80211: add patch that gives the driver more control over netdev offloads

This can be used to selectively disable checksum, SG or GSO offloads

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: backport security fixes
Felix Fietkau [Thu, 13 Oct 2022 12:29:53 +0000 (14:29 +0200)]
mac80211: backport security fixes

This mainly affects scanning and beacon parsing, especially with MBSSID enabled

Fixes: CVE-2022-41674
Fixes: CVE-2022-42719
Fixes: CVE-2022-42720
Fixes: CVE-2022-42721
Fixes: CVE-2022-42722
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: fix issues in HE capabilities
Felix Fietkau [Mon, 10 Oct 2022 20:50:35 +0000 (22:50 +0200)]
mac80211: fix issues in HE capabilities

Enable HE SU beamformee by default
Fix spatial reuse configuration:
- he_spr_sr_control is not a bool for enabling, it contains multiple bits
  which disable features that should be disabled by default
- one of the features (PSR) can be enabled through he_spr_psr_enabled
- add option to disable bss color / spatial reuse

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoCI: labeler: target major version of labeler action
Christian Marangi [Wed, 12 Oct 2022 14:49:46 +0000 (16:49 +0200)]
CI: labeler: target major version of labeler action

Target major version of labeler to include minor fixes and use always
the latest major version with included fixes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: bump actions/download,upload-artifact action to v3
Christian Marangi [Wed, 12 Oct 2022 14:48:46 +0000 (16:48 +0200)]
CI: bump actions/download,upload-artifact action to v3

Bump actions/download,upload-artifact action to v3 on every workflow
to mute node deprecation warning.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: bump actions/checkout action to v3
Christian Marangi [Wed, 12 Oct 2022 13:24:11 +0000 (15:24 +0200)]
CI: bump actions/checkout action to v3

Bump actions/checkout action to v3 on every workflow to mute node
deprecation warning.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq40xx: Fix wrong GPIO for internal status LED on ZTE MF289F
Giammarco Marzano [Mon, 10 Oct 2022 10:15:19 +0000 (12:15 +0200)]
ipq40xx: Fix wrong GPIO for internal status LED on ZTE MF289F

Change GPIO from 10 to 35 to make it works as expected

Fixes: 0de6a3339f1a ("ipq40xx: Add ZTE MF289F")
Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2 years agoipq806x: switch to 5.15 kernel by default
Christian Marangi [Mon, 19 Sep 2022 11:25:34 +0000 (13:25 +0200)]
ipq806x: switch to 5.15 kernel by default

Switch to 5.15 kernel by default to promote more wider testing and use
better upstream patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: add clk krait fixes/improvement patch
Christian Marangi [Fri, 23 Sep 2022 17:35:35 +0000 (19:35 +0200)]
ipq806x: 5.15: add clk krait fixes/improvement patch

Add various krait fixes patch that correctly bringup mux and cpu clocks.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: enable again usb node for each device
Christian Marangi [Mon, 19 Sep 2022 11:06:46 +0000 (13:06 +0200)]
ipq806x: 5.15: enable again usb node for each device

Usb node now are disabled by default in dtsi. Enable again them in each
device dts.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: add krait-cc modernization patch and fixup
Christian Marangi [Thu, 15 Sep 2022 02:01:22 +0000 (04:01 +0200)]
ipq806x: 5.15: add krait-cc modernization patch and fixup

Add multiple patch for krait-cc modernization and multiple fixup for the
driver. Also modify a patch to enable the qsb fixed clock and add pxo to
krait-cc node.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: add krait clock modernization patch
Christian Marangi [Tue, 13 Sep 2022 16:45:10 +0000 (18:45 +0200)]
ipq806x: 5.15: add krait clock modernization patch

Backport krait clock modernization patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: backport qcom clk fixes for krait and hfpll
Christian Marangi [Tue, 13 Sep 2022 16:43:47 +0000 (18:43 +0200)]
ipq806x: 5.15: backport qcom clk fixes for krait and hfpll

Backport some qcom clock fixes for krait and hfpll driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: renumber tsens patch with new order
Christian Marangi [Tue, 13 Sep 2022 16:42:21 +0000 (18:42 +0200)]
ipq806x: 5.15: renumber tsens patch with new order

Renumber tsens patch with new order for consistency.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: enable new devfreq scaling driver in config
Christian Marangi [Sat, 18 Jun 2022 02:08:38 +0000 (04:08 +0200)]
ipq806x: 5.15: enable new devfreq scaling driver in config

Enable new devfreq scaling driver in kernel config.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: rework nand_pins for wg2600hp3 dts
Christian Marangi [Sat, 18 Jun 2022 02:05:08 +0000 (04:05 +0200)]
ipq806x: 5.15: rework nand_pins for wg2600hp3 dts

nand_pins definition is now shipped in ipq8064 dtsi. Rework the
nand_pins definition for wg2600hp3 5.15 files.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: add boot-partitions binding to fix block warning
Christian Marangi [Thu, 16 Jun 2022 20:32:35 +0000 (22:32 +0200)]
ipq806x: 5.15: add boot-partitions binding to fix block warning

The patch has changed implementation and now the binding has changed.
Replace the old binding with boot-partitions and reimplement the
definition with the new definition.
The new definition is:
<offset1 size1 offset2 size2 offset3 ...>
and now supports sparsed patch.

Also add missing binding in some dts and add the backup boot partition
to the boot-partitions list.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: remove useless spm patch
Christian Marangi [Thu, 16 Jun 2022 20:20:30 +0000 (22:20 +0200)]
ipq806x: 5.15: remove useless spm patch

Remove useless spm patch as using the normal qcom,spm compatible is
enough to register it with no clks.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace nandc patch with upstream version
Christian Marangi [Thu, 16 Jun 2022 20:19:44 +0000 (22:19 +0200)]
ipq806x: 5.15: replace nandc patch with upstream version

Replace nandc fix patch with upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace fab scaling patch with devfreq driver
Christian Marangi [Thu, 16 Jun 2022 20:18:49 +0000 (22:18 +0200)]
ipq806x: 5.15: replace fab scaling patch with devfreq driver

Replace fab scaling patch with devfreq driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: add new version of cache cpu scaling driver
Christian Marangi [Thu, 16 Jun 2022 20:17:19 +0000 (22:17 +0200)]
ipq806x: 5.15: add new version of cache cpu scaling driver

Use a new implementation by using a devfreq driver to scale the shared
cache of the krait cpu cores.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: backport devfreq new cpufreq based PASSIVE governor
Christian Marangi [Thu, 16 Jun 2022 20:16:04 +0000 (22:16 +0200)]
ipq806x: 5.15: backport devfreq new cpufreq based PASSIVE governor

Backport devfreq new cpufreq based PASSIVE governor needed for devfreq
based fab and cache scaling.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace stmmac pcs fix with upstream version
Christian Marangi [Thu, 16 Jun 2022 20:15:13 +0000 (22:15 +0200)]
ipq806x: 5.15: replace stmmac pcs fix with upstream version

Replace stmmac pcs fix with upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace gcc fixes with upstream version
Christian Marangi [Thu, 16 Jun 2022 20:14:23 +0000 (22:14 +0200)]
ipq806x: 5.15: replace gcc fixes with upstream version

Replace gcc patch fixes with upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace lcc patch with upstream version
Christian Marangi [Thu, 16 Jun 2022 20:13:02 +0000 (22:13 +0200)]
ipq806x: 5.15: replace lcc patch with upstream version

Replace lcc patch with proposed upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: replace dtsi patches with upstream version
Christian Marangi [Thu, 16 Jun 2022 20:12:01 +0000 (22:12 +0200)]
ipq806x: 5.15: replace dtsi patches with upstream version

Reorganize dtsi patches with upstream version and drop dtsi in 5.15
files.
Also add an additional upstream patch for hwspinlock support.
Refresh all the dts with needed changes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: remove PCI_DOMAINS patch not needed anymore
Christian Marangi [Thu, 16 Jun 2022 20:08:39 +0000 (22:08 +0200)]
ipq806x: 5.15: remove PCI_DOMAINS patch not needed anymore

This doesn't cause any panic anymore and no regression are observed with
ath10k. Remove this additional patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: 5.15: remove qcom adm Documentation patch
Christian Marangi [Thu, 16 Jun 2022 20:07:47 +0000 (22:07 +0200)]
ipq806x: 5.15: remove qcom adm Documentation patch

Remove qcom adm Documentation patch that is not needed for the target.
Probably a leftover when the adm bus was added, now merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq806x: split files dir to 5.10 and 5.15
Christian Marangi [Thu, 16 Jun 2022 20:01:39 +0000 (22:01 +0200)]
ipq806x: split files dir to 5.10 and 5.15

In preparation for a cleanup of 5.15 patches copy the files dir to 5.10
and 5.15 kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: kernel: generate ccache cache on kernel push
Christian Marangi [Sat, 8 Oct 2022 17:25:54 +0000 (19:25 +0200)]
CI: kernel: generate ccache cache on kernel push

To actually use ccache cache on kernel test from pr, the kernel workflow
has to be run first from a push action.

This will permit as a side effect to test merged commits and catch commit
that may cause regression in kernel compilation even outside the github
system.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agouboot-mediatek: fixes defconfig typo for UniFi 6 LR
Chukun Pan [Mon, 3 Oct 2022 15:26:19 +0000 (23:26 +0800)]
uboot-mediatek: fixes defconfig typo for UniFi 6 LR

CONFIG_CMD_MTDPART does not exist, fix it.

Fixes: e9ad412 ("uboot-mediatek: add build for Ubiquiti Networks UniFi 6 LR")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 years agouboot-mediatek: fixes defconfig typo for Linksys E8450
Chukun Pan [Sun, 2 Oct 2022 15:16:08 +0000 (23:16 +0800)]
uboot-mediatek: fixes defconfig typo for Linksys E8450

CONFIG_CMD_MTDPART does not exist, fix it.

Fixes: ed50004 ("uboot-mediatek: add support for Linksys E8450")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 years agolantiq: dts: vr9: Add missing properties to the CPU port on the switch
Martin Blumenstingl [Mon, 10 Oct 2022 15:48:49 +0000 (17:48 +0200)]
lantiq: dts: vr9: Add missing properties to the CPU port on the switch

The CPU port should define the phy-mode and and a PHY phandle or
fixed-link to indicate how the CPU port is connected to the SoC's
Ethernet controller. On xRX200 this is all internal connection, so use
phy-mode = "internal" along with a fixed-link that matches the
definition inside &eth0.

Linux 6.0 shows a warning since upstream commit e09e9873152e3f ("net:
dsa: make phylink-related OF properties mandatory on DSA and CPU
ports"). when these properties are missing. Adding the properties
before OpenWrt is updated to Linux 6.0 is harmless.

Suggested-by: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2 years agolibnl-tiny: update to the latest version
Chukun Pan [Mon, 26 Sep 2022 15:09:28 +0000 (23:09 +0800)]
libnl-tiny: update to the latest version

c42d890 build static library
28c44ca genl_family: explicitly null terminate
                     strncpy destination buffer

This fixes the compilation with gcc 12.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 years agoramips: use lzma-loader on JCG Q20
Du Cai [Fri, 7 Oct 2022 15:08:56 +0000 (23:08 +0800)]
ramips: use lzma-loader on JCG Q20

Fixes the LZMA uncompression issue on JCG Q20.

Signed-off-by: Du Cai <caidu@smail.nju.edu.cn>
2 years agoipq40xx: convert to DSA and enable Sony NCP-HG100/Cellular
INAGAKI Hiroshi [Wed, 5 Oct 2022 14:35:21 +0000 (23:35 +0900)]
ipq40xx: convert to DSA and enable Sony NCP-HG100/Cellular

This patch converts networking on Sony NCP-HG100/Cellular to DSA and
re-enables support for the device.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2 years agoipq40xx: ZTE MF289F: convert to DSA
Dirk Buchwalder [Thu, 6 Oct 2022 16:25:12 +0000 (18:25 +0200)]
ipq40xx: ZTE MF289F: convert to DSA

Convert ZTE MF289F device to DSA, re-order network ports to match the
labels on the case and re-enable the device.

Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
Reviewed-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
2 years agokernel: bump 5.15 to 5.15.72
John Audia [Wed, 5 Oct 2022 10:04:11 +0000 (06:04 -0400)]
kernel: bump 5.15 to 5.15.72

Removed upstreamed:
  generic/pending-5.15/722-net-mt7531-only-do-PLL-once-after-the-reset.patch[1]
  bcm53xx/patches-5.15/082-v6.0-clk-iproc-Do-not-rely-on-node-name-for-correct-PLL-s.patch[2]

All other patches automatically rebased

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200, mvebu/cortexa72
Run-tested: bcm2711/RPi4B, mt7622/RT3200, mvebu/cortexa72 (RB5009UG+S+IN)

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.72&id=5de02ab84aeca765da0e4d8e999af35325ac67c2
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.72&id=ab5c5787ab5ecdc4a7ea20b4ef542579e1beb49d

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agokernel: bump 5.10 to 5.10.147
John Audia [Wed, 5 Oct 2022 11:58:32 +0000 (07:58 -0400)]
kernel: bump 5.10 to 5.10.147

Removed upstreamed:
  bcm53xx/patches-5.10/083-v6.0-clk-iproc-Do-not-rely-on-node-name-for-correct-PLL-s.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.147&id=a8e6cde5062fb2aff81f86cc0770591714bee545

Signed-off-by: John Audia <therealgraysky@proton.me>
2 years agoodhcp6c: respect 'delegate' option for 464XLAT sub-interface
Lech Perczak [Tue, 10 Aug 2021 19:37:17 +0000 (21:37 +0200)]
odhcp6c: respect 'delegate' option for 464XLAT sub-interface

dhcpv6.script contained support for disabling prefix delegation of 464XLAT
sub-interface, but netifd protocol handler was missing the required
export to disable this. Add missing export, akin to DS-Lite and MAP.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
2 years agomediatek: filogic: set correct PWM clock and clean thermal zone
Daniel Golle [Sun, 9 Oct 2022 15:34:35 +0000 (16:34 +0100)]
mediatek: filogic: set correct PWM clock and clean thermal zone

 * set correct clocks for PWM to work.
 * MT7986 PWM does have the 26MHz-clock-select, set that in patch
 * drop useless 'passive' trip point in thermal zone
 * extend pwm-fan to have 3 active operating points
 * set reasonable trip points in thermal zone
 * invert pwm-fan operating points and set shorter period to allow
   less noisy operation of the PWM fan of the BPi-R3.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agorealtek: cleanup rtl83{8x,9x}_enable_learning/flood
INAGAKI Hiroshi [Sat, 17 Sep 2022 04:30:05 +0000 (13:30 +0900)]
realtek: cleanup rtl83{8x,9x}_enable_learning/flood

In *_enable_learning() only address learning should be configured, so
remove enabling forwarding. Forwarding is configured by the respective
*_enable_flood() functions.

Clean up both functions for RTL838x and RTL839x, and fix the comment on
the number of entries.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[squash RTL838x, RTL839x changes]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: swap *_phylink_mac_link_down() contents
INAGAKI Hiroshi [Sun, 10 Apr 2022 07:45:57 +0000 (16:45 +0900)]
realtek: swap *_phylink_mac_link_down() contents

Fix the (accidentally?) swapped contents of
rtl83xx_phylink_mac_link_down() and rtl93xx_phylink_mac_link_down().

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amend commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: fix place of fdb/mdb info messages
INAGAKI Hiroshi [Mon, 4 Apr 2022 12:57:43 +0000 (21:57 +0900)]
realtek: fix place of fdb/mdb info messages

Those messages should be printed when entry was found (idx >= 0). Move
them to the right place to not print invalid entry indices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amden commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: add missing of.h include in phy driver
INAGAKI Hiroshi [Wed, 30 Mar 2022 03:04:23 +0000 (12:04 +0900)]
realtek: add missing of.h include in phy driver

of.h is required for of_property_read_u32().

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amend commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: fix use of uninitialized sds_mode
INAGAKI Hiroshi [Wed, 30 Mar 2022 03:00:42 +0000 (12:00 +0900)]
realtek: fix use of uninitialized sds_mode

The initial state of sds_mode in rtl9300_force_sds_mode() is null and it
will be configured in switch-case. So print message after it.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amend commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: use MIPS fw_init_cmdline()
INAGAKI Hiroshi [Sun, 7 Aug 2022 05:43:35 +0000 (14:43 +0900)]
realtek: use MIPS fw_init_cmdline()

Use the generic function of MIPS in Linux Kernel instead of open coding
our own initialisation.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amend commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 years agorealtek: update SMP-related calls in prom_init()
INAGAKI Hiroshi [Sun, 7 Aug 2022 06:12:46 +0000 (15:12 +0900)]
realtek: update SMP-related calls in prom_init()

The availabibity of probing CPC depends on CONFIG_MIPS_CPC symbol and it
will be checked in arch/mips/include/asm/mips-cpc.h. RTL9310 selects
this symbol, so the family check is redudant.

Furthermore, mips_cm_probe() is already called from setup_arch() in
mips/kernel/setup.c before prom_init(), and as such is not required.

Also move mips_cpc_probe() to run just before registering SMP ops.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[squash SMP change commits, reword commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
---
This patch only really has an impact on the rtl931x subtarget, which has
no devices. Noboby is currently set up to test these patches either, but
the end result is closer to MIPS_GENERIC, so I do not expect it to cause
issues.

2 years agorealtek: separate lock of RTL8231 from phy driver
INAGAKI Hiroshi [Tue, 29 Mar 2022 10:29:34 +0000 (19:29 +0900)]
realtek: separate lock of RTL8231 from phy driver

RTL8231 and ethernet phys are not on the same bus, so separate the lock
to each own to cut off the unnecessary dependency.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2 years agoath79: fix model name of Extreme Networks WS-AP3805i
Tom Herbers [Fri, 7 Oct 2022 22:08:52 +0000 (00:08 +0200)]
ath79: fix model name of Extreme Networks WS-AP3805i

Everywhere else the device is referred to as WS-AP3805i,
only the model name wrongly only said AP3805i.

Signed-off-by: Tom Herbers <mail@tomherbers.de>
2 years agomediatek: filogic: enable thermal, I2C and PWM of the BPi-R3
Daniel Golle [Thu, 6 Oct 2022 13:28:07 +0000 (14:28 +0100)]
mediatek: filogic: enable thermal, I2C and PWM of the BPi-R3

Setup thermal zone, select pins and enabled drivers for I2C (on 26-pin
GPIO bank) and PWM (1x fan and 1x GPIO bank).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomediatek: filogic: add support for hw i2c, pwm and thermal
Daniel Golle [Wed, 5 Oct 2022 17:44:42 +0000 (18:44 +0100)]
mediatek: filogic: add support for hw i2c, pwm and thermal

Add support for hardware I2C and PWM units found in the Filogic SoCs
as well as the CPU thermal support.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agokernel: refresh backport-5.15 patches
Daniel Golle [Fri, 7 Oct 2022 15:29:05 +0000 (16:29 +0100)]
kernel: refresh backport-5.15 patches

Refresh patches, removing unwanted git metadata from some backported
commits.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 years agomac80211: sync rx STP fix with updated version
Felix Fietkau [Fri, 7 Oct 2022 12:58:41 +0000 (14:58 +0200)]
mac80211: sync rx STP fix with updated version

Add back skb length check and fix a minor issue in protocol detection

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agomac80211: fix issues with receiving small STP packets
Felix Fietkau [Fri, 7 Oct 2022 09:29:54 +0000 (11:29 +0200)]
mac80211: fix issues with receiving small STP packets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 years agoath79: increase max tx ring buffer for ag71xx
Robert Meijer [Fri, 9 Oct 2020 17:58:46 +0000 (19:58 +0200)]
ath79: increase max tx ring buffer for ag71xx

This allows the user to specify a larger tx ring buffer size via ethtool.
Having symmetrical ring buffer sizes increases throughput on high bandwidth
(1 gbps tested) network connections.

The default value is not changed so the same behaviour is saved.

Signed-off-by: Robert Meijer <robert.s.meijer@gmail.com>
[ improve title, commit description and wrap to 80 columns ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoREADME: add download section
Paul Spooren [Thu, 9 Sep 2021 08:57:46 +0000 (22:57 -1000)]
README: add download section

The *Firmware Selector* was built to simplify users finding suitable
images for their devices. Let's give it more visibility so unleashing
your home router becomes an easier thing.

As an alternative for more advanced user, provide the directl link to
the wiki download section.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[ fix typo in commit description, add link to Wiki download page ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: kernel: use ccache to speedup workflow
Christian Marangi [Tue, 4 Oct 2022 16:43:38 +0000 (18:43 +0200)]
CI: kernel: use ccache to speedup workflow

Use ccache to speedup kernel compilation.
Ccache dir is cached across each build test. To refresh ccache directory
we generate an hash of the kernel include files, that includes the
kernel versions of every kernel supported and the kernel compile
includes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoCI: tools: compile tools with ccache support for tools container
Christian Marangi [Tue, 4 Oct 2022 16:38:57 +0000 (18:38 +0200)]
CI: tools: compile tools with ccache support for tools container

Enable ccache support for tools container, useful to speedup other
workflow even more.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq40xx: pakedge_wr-1: convert to DSA
Tomasz Maciej Nowak [Mon, 3 Oct 2022 12:59:15 +0000 (14:59 +0200)]
ipq40xx: pakedge_wr-1: convert to DSA

Convert pakedge_wr-1 device to DSA and enable it.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>i
[ improve commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agoipq40xx: luma_wrtq-329acn: convert to DSA
Tomasz Maciej Nowak [Mon, 3 Oct 2022 12:58:53 +0000 (14:58 +0200)]
ipq40xx: luma_wrtq-329acn: convert to DSA

Convert luma_wrtq-329acn device to DSA and enable it.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
[ improve commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agorules.mk: move DOWNLOAD_CHECK_CERTIFICATE to include/download.mk
Christian Marangi [Mon, 3 Oct 2022 22:30:21 +0000 (00:30 +0200)]
rules.mk: move DOWNLOAD_CHECK_CERTIFICATE to include/download.mk

Move DOWNLOAD_CHECK_CERTIFICATE to include/download.mk as it's a better
place than exporting it in the global rules.mk makefile.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 years agobuild: prefer HTTPS if available (for packages)
Daniel Cousens [Fri, 30 Sep 2022 00:13:46 +0000 (10:13 +1000)]
build: prefer HTTPS if available (for packages)

Changes PKG_SOURCE_URL's for arptables, bsdiff, dnsmasq,
fortify-headers, ipset, ipset-dns, libaudit, libpcap, libressl,
lua, lua5.3, tcpdump and valgrind, to HTTPS

Signed-off-by: Daniel Cousens <github@dcousens.com>
2 years agoqoriq: fix typo in FEATURES
Stijn Tintel [Wed, 5 Oct 2022 11:05:55 +0000 (14:05 +0300)]
qoriq: fix typo in FEATURES

There is no root-part FEATURE.

Reported-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 years agokernel: fix possible mtd NULL pointer dereference
Rafał Miłecki [Tue, 4 Oct 2022 10:04:37 +0000 (12:04 +0200)]
kernel: fix possible mtd NULL pointer dereference

Fixes: 1a9ee367343ed ("kernel: backport mtd dynamic partition patch")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 years agomac80211: fix compile error when mesh is disabled
Koen Vandeputte [Tue, 4 Oct 2022 08:48:18 +0000 (10:48 +0200)]
mac80211: fix compile error when mesh is disabled

This fixes following compile error seen when
building mac80211 with mesh disabled:

.../backports-5.15.58-1/net/mac80211/agg-rx.c: In function 'ieee80211_send_addba_resp':
...backports-5.15.58-1/net/mac80211/agg-rx.c:255:17: error: 'struct sta_info' has no member named 'mesh'
  255 |         if (!sta->mesh)
      |                 ^~

sta_info.h shows this item as being optional based on flags:

struct mesh_sta *mesh;

Guard the check to fix this.

Fixes: f96744ba6b ("mac80211: mask nested A-MSDU support for mesh")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2 years agoCI: Add workaround for github uppercase usernames
Edward Chow [Mon, 3 Oct 2022 11:39:58 +0000 (19:39 +0800)]
CI: Add workaround for github uppercase usernames

The workflow defined in tools.yml and kernel.yml used to fail on
forked repositories of contributers whose github username contains
uppercase letters.

A workaround mentioned in
https://github.com/orgs/community/discussions/27086 and
https://stackoverflow.com/questions/70326569/ is applied.

Signed-off-by: Edward Chow <equu@openmail.cc>
2 years agotreewide: fix security issues by bumping all packages using libwolfssl
Petr Štetiar [Thu, 29 Sep 2022 16:45:40 +0000 (18:45 +0200)]
treewide: fix security issues by bumping all packages using libwolfssl

As wolfSSL is having hard time maintaining ABI compatibility between
releases, we need to manually force rebuild of packages depending on
libwolfssl and thus force their upgrade. Otherwise due to the ABI
handling we would endup with possibly two libwolfssl libraries in the
system, including the patched libwolfssl-5.5.1, but still have
vulnerable services running using the vulnerable libwolfssl-5.4.0.

So in order to propagate update of libwolfssl to latest stable release
done in commit ec8fb542ec3e4 ("wolfssl: fix TLSv1.3 RCE in uhttpd by
using 5.5.1-stable (CVE-2022-39173)") which fixes several remotely
exploitable vulnerabilities, we need to bump PKG_RELEASE of all
packages using wolfSSL library.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agoramips: fix switch setup for ASUS RT-AX53U
Matthias Schiffer [Mon, 3 Oct 2022 11:23:41 +0000 (13:23 +0200)]
ramips: fix switch setup for ASUS RT-AX53U

The device has only 1 WAN + 3 LAN ports. Remove "lan4" interface
corresponding to the non-existing port.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2 years agoipq40xx: glinet-b1300: fix LAN and WAN MAC address assigments
Petr Štetiar [Fri, 12 Aug 2022 11:51:40 +0000 (13:51 +0200)]
ipq40xx: glinet-b1300: fix LAN and WAN MAC address assigments

When testing the DSA changes with 5.15.60 kernel, I've noticed, that the
MAC addresses are not properly configured, there is single MAC being
used for LAN and WAN interfaces:

 eth0: 94:83:c4:XX:YY:4a (MAC on sticker)
 lan1@eth0: 94:83:c4:XX:YY:4a
 lan2@eth0: 94:83:c4:XX:YY:4a
 wan@eth0: 94:83:c4:XX:YY:4a
 wlan0: 94:83:c4:XX:YY:4a
 wlan1: 94:83:c4:XX:YY:4b

The same config, prior to the DSA conversion:

 lan/eth0: 94:83:c4:XX:YY:4a (MAC on sticker)
 wan/eth1: 94:83:c4:XX:YY:4b
 wlan0: 94:83:c4:XX:YY:4a
 wlan1: 94:83:c4:XX:YY:4b

Settings in ART partition:

 root@OpenWrt:/# hexdump -C /dev/mtd7 | grep '94 83'
 00000000  94 83 c4 XX YY 4a 94 83  c4 0e YY 4b ff ff ff ff  |.....J.....K....|
 00001000  20 2f 8d 8c 01 01 94 83  c4 XX YY 4a 00 00 20 00  | /.........J.. .|
 00005000  20 2f 5a 3a 01 01 94 83  c4 XX YY 4b 00 00 20 00  | /Z:.......K.. .|

So let's fix it by keeping same MAC address assigment as was done before
DSA conversion and while at it, define `label-mac-device` as well.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2 years agorockchip: switch to 5.15 kernel
Tomas Lara [Sun, 26 Jun 2022 02:28:42 +0000 (22:28 -0400)]
rockchip: switch to 5.15 kernel

Run tested: NanoPI R4S

Signed-off-by: Tomas Lara <tl849670@gmail.com>
2 years agokernel: add missing config symbols for 5.15
Tomas Lara [Sun, 26 Jun 2022 02:13:25 +0000 (22:13 -0400)]
kernel: add missing config symbols for 5.15

Add missing symbols, needed when rockchip kernel 5.15 is compile with ALL_KMODS=y

Signed-off-by: Tomas Lara <tl849670@gmail.com>
2 years agorockchip: refresh kernel 5.15 config
Tomas Lara [Sun, 26 Jun 2022 01:48:38 +0000 (21:48 -0400)]
rockchip: refresh kernel 5.15 config

Refreshed using make kernel oldconfig CONFIG TARGET=rockchip .

Signed-off-by: Tomas Lara <tl849670@gmail.com>
2 years agoipq40xx: disable boards not converted to DSA
David Bauer [Wed, 28 Sep 2022 15:42:48 +0000 (17:42 +0200)]
ipq40xx: disable boards not converted to DSA

Signed-off-by: David Bauer <mail@david-bauer.net>
2 years agoipq40xx: remove non-converted network configs
Robert Marko [Wed, 7 Sep 2022 10:06:47 +0000 (12:06 +0200)]
ipq40xx: remove non-converted network configs

Remove networking configs for non DSA converted boards in ipq40xx.
Currently, they are just causing clutter.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: ipqess: enable threaded NAPI
Robert Marko [Mon, 27 Jun 2022 12:40:43 +0000 (14:40 +0200)]
ipq40xx: ipqess: enable threaded NAPI

Enable threaded NAPI by default in IPQESS driver as it significantly
improves network perfromance, in my testing about 100+ Mbps in WAN-LAN
routing.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: Meraki MR33: convert MAC addresses to nvmem
Lech Perczak [Wed, 15 Dec 2021 20:10:11 +0000 (21:10 +0100)]
ipq40xx: Meraki MR33: convert MAC addresses to nvmem

This fixes assigning random MAC to br-lan interface upon boot.
While at that, rename at24@50 node to eeprom@50, to align with upstream
device tree style.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2 years agoipq40xx: convert some boards to DSA
Robert Marko [Tue, 14 Dec 2021 00:00:00 +0000 (01:00 +0100)]
ipq40xx: convert some boards to DSA

Convert IPQ40xx boards to DSA setup.

Signed-off-by: Leon M. George <leon@georgemail.eu>
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: ChunAm See <z1250747241@gmail.com>
Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: qca8k: introduce proper PSGMII calibration
Serhii Serhieiev [Mon, 25 Apr 2022 13:09:43 +0000 (15:09 +0200)]
ipq40xx: qca8k: introduce proper PSGMII calibration

Serhii and others have experienced PSGMII link degradation up to point
that it actually does not pass packets at all or packets arrive as zeros.
This usually happened after a couple of hot reboots.

Serhii has managed to track it down to PSGMII calibration not being done
properly and has fixed it, so all of the code is Serhii-s work.

Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: qca807x: drop kernel version checks
Robert Marko [Sun, 20 Mar 2022 18:34:18 +0000 (19:34 +0100)]
ipq40xx: qca807x: drop kernel version checks

Since kernel 5.4 has been droppped from IPQ40xx, there is no need to keep
the version checks for kernels older than 5.10.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: qca807x: add suspend and resume ops
Serhii Serhieiev [Sun, 20 Mar 2022 18:26:32 +0000 (19:26 +0100)]
ipq40xx: qca807x: add suspend and resume ops

Currently, suspend and resume ops are not present, this means that if user
disables a DSA interface that the PHY-s remain alive and the link is up.

Fix it by using generic PHY suspend and resume ops.

Signed-off-by: Serhii Serhieiev <adron@mstnt.com>
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: sxtsq-5-ac: correct TCSR ESS type
Robert Marko [Mon, 27 Dec 2021 14:20:58 +0000 (15:20 +0100)]
ipq40xx: sxtsq-5-ac: correct TCSR ESS type

SXTsq 5 ac uses RGMII on the port 5 and not PSGMII, so correct the TCSR
interface type property.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: enable ethernet and DSA driver combo
Robert Marko [Mon, 1 Nov 2021 17:30:00 +0000 (18:30 +0100)]
ipq40xx: enable ethernet and DSA driver combo

Select the Ethernet driver, DSA tag driver and the DSA driver itself to
be built in the kernel config.
They automatically pull in switchdev and phylink.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: add DSA switch driver
Robert Marko [Mon, 27 Dec 2021 14:11:18 +0000 (15:11 +0100)]
ipq40xx: add DSA switch driver

Qualcomm IPQ40xx SoC-s have a variant of QCA8337N switch built-in.

It shares most of the stuff with its external counterpart, however it is
modified for the SoC.
Namely, it doesn't have second CPU port (Port 6), so it has 6 ports
instead of 7.
It also has no built-in PHY-s but rather requires external PSGMII based
companion PHY-s (QCA8072 and QCA8075) for which it first needs to carry
out calibration before using them.
PSGMII has a SoC built-in PHY that is used to connect to the PHY-s which
unfortunately requires some magic values as the datasheet doesnt document
the bits that are being set or the register at all.

Since its built-in it is MMIO like other peripherals and doesn't have its
own MDIO bus but depends on the SoC provided one.

CPU connection is at Port 0 and it uses some kind of a internal connection
and no traditional RGMII/SGMII.
It also doesn't use in-band tagging like other qca8k switches so a shinfo
based tagger is used.

This is based on the current OpenWrt qca8k version that has been imported
from generic target.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: import qca8k from generic
Robert Marko [Mon, 1 Nov 2021 17:59:46 +0000 (18:59 +0100)]
ipq40xx: import qca8k from generic

This is just importing the qca8k driver from the generic target.
It will be used as the based for IPQ40xx version, this is just
to be able to see the diff.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: add PSGMII PHY mode define
Robert Marko [Mon, 1 Nov 2021 12:02:53 +0000 (13:02 +0100)]
ipq40xx: add PSGMII PHY mode define

PSGMII is a Qualcomm specific mode similar to QSGMII but it has 5 SGMII
lines instead of 4 in QSGMII.

This just adds the support for the PHY layer to be able to identify the
mode for further use.
It is required for the DSA driver.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: add IPQESS ethernet driver
Robert Marko [Wed, 15 Dec 2021 20:09:38 +0000 (21:09 +0100)]
ipq40xx: add IPQESS ethernet driver

IPQESS is the EDMA replacement driver for the IPQ40xx SoC built-in
ethernet controller.

Unlike EDMA it is Phylink based and doesnt touch PHY-s directly.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: qca807x: always set PSGMII AZ WAR
Robert Marko [Mon, 8 Nov 2021 22:06:02 +0000 (23:06 +0100)]
ipq40xx: qca807x: always set PSGMII AZ WAR

There is no point in using a DT property to trigger setting the PSGMII
PHY AZ transmitting ability.
Especially since EEE can be disabled using ethtool anyway.

Fixup the mask for setting the workaround as only BIT(0) is actually being
changed and use the phy_clear_bits_mmd helper instead of reading, then
clearing the bit and writing back as it does everything for us.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: add shinfo based DSA tag driver
Robert Marko [Mon, 1 Nov 2021 11:32:34 +0000 (12:32 +0100)]
ipq40xx: add shinfo based DSA tag driver

IPQ40xx requires a special DSA tag driver despite using the QCA8337N
switch.
However they have changed the header format and the existing QCA tag
driver cannot be reused.

For details on how it actually works and else read the patch commit
description.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: disable nodes instead of deleting them
Robert Marko [Wed, 8 Dec 2021 13:44:05 +0000 (14:44 +0100)]
ipq40xx: disable nodes instead of deleting them

There is no reason to delete the DT PHY nodes
as you can just disable them.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 years agoipq40xx: qca807x: add SFP improvements
Robert Marko [Mon, 25 Oct 2021 16:30:00 +0000 (18:30 +0200)]
ipq40xx: qca807x: add SFP improvements

Currently, QCA807x doesnt do any kind of validation to see whether it
actually supports the inserted module.

So lets add checks to allow only 1000BaseX and 100BaseFX based modules.

While adding validation, move fiber configuration to insert/remove events
instead of always doing it at config time.
This allows getting rid of the DT property for fiber enable and now only
the upstream sfp phandle is required.

Since we are refactoring fiber related code, lets heavily simplify the
status polling as the current logic is overcomplicated due to previous
wish to support non standard SFP cages that dont have pins properly
connected, that is removed now and only proper SFP cages will work.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>