Commit Graph

31587 Commits

Author SHA1 Message Date
Robert Marko
fc4eaa34f8 qualcommax: 6.12: MPD: add missing <linux/of_platform.h>
It seems that kernel cleaned up its kernels so we need to include
<linux/of_platform.h> for of_platform_device_create().

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
2018a61211 qualcommax: 6.12: pwm: use devm_clk_get_enabled()
Using devm_clk_get_enabled() allows simplification of the driver and
dropping of the .remove OP as well.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
93697be03c qualcommax: 6.12: pwm: fixup for 6.12
6.12 PWM core introduced a bunch of incompatible changes, namely removal
of manual module owner assignment, complete PWM struct allocation and usage
refactor, etc.

So, update the driver to follow other drivers in 6.12 so it compiles.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
427522d1de qualcommax: 6.12: cpr: update for 6.12
Remove op is now of a void type and strlcpy was removed.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
b152f7ba22 qualcommax: 6.12: apm: change remove to void
Remove op is now of a void type, update APM.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
d2774a55c3 qualcommax: 6.12: refresh config
Refresh kernel config by running kernel_menuconfig.

Manually enable CONFIG_HW_RANDOM and CONFIG_CRYPTO_DEV_QCOM_RNG as these
got somehow disabled by the refresh.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
a2de324e14 qualcommax: 6.12: refresh patches
Refresh 6.12 patches, those that failed automatic refresh were refreshed
manually.

DT bindings patches that failed were dropped as we dont use them in practice.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
dbf9c83e7a qualcommax: 6.12: drop upstreamed patches
Drop patches that are already present in kernel 6.12.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
6d1f4b2077 kernel/qualcommax: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
e40daa5b99 kernel/qualcommax: Create kernel files for v6.12 (from v6.6)
This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-16 17:57:40 +02:00
Robert Marko
0d4eda6237 generic: 6.12: add CONFIG_IDPF
CONFIG_IDPF is Intel(R) Infrastructure Data Path Function Support and it
should be disabled by default, if needed it can be packaged as a kmod.

Disable to prevent spreading out through target configs.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 19:37:48 +02:00
Robert Marko
1e46a391df generic: 6.12: add CONFIG_HISILICON_ERRATUM_162100801
Noticed that CONFIG_HISILICON_ERRATUM_162100801 was being added to
qualcommax 6.12 config.

Since we dont support any Hisilicon chips, disable it in generic config
before it starts spreading in target configs.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 19:29:37 +02:00
Robert Marko
f160a017ac x86: add missing DRM_ACCEL symbols
DRM_ACCEL symbols were not added to geode and legacy thus making the kernel
prompt for them on compilation.

Fixes: 51b78aaaae ("kernel: package intel_vpu driver")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 19:22:23 +02:00
Linus Lüssing
64ad16993d realtek: fix flooding of unsnoopable multicast addresses
RFC4541, section 2.1.2 says:

  Packets with a destination IP (DIP) address in the 224.0.0.X range
  which are not IGMP must be forwarded on all ports.

And section 3 says:

  In IPv6, the data forwarding rules are more straight forward because
  MLD is mandated for addresses with scope 2 (link-scope) or greater.
  The only exception is the address FF02::1 which is the all hosts
  link-scope address for which MLD messages are never sent.  Packets
  with the all hosts link-scope address should be forwarded on all
  ports.

However, currently when a listener on FF12::1 or FF12:🔢0:1 for
example joins then not only packets to these addresses but also for
FF02::1 won't be flooded to all ports anymore, too. Which violates
RFC4541.

This happens because A): They all map to the same ethernet multicast
address, that is 33:33:00:00:00:01. And B) the VLAN profile L2
unknown MC flood setting will only apply flooding of 33:33:00:00:00:01
if there is no specific listener registered for it.

So to fix this, avoid registering an MDB entry in the switch for
33:33:00:00:00:01 at all.

The downside of this is that FF12::1, FF12:🔢0:1 etc.
will always be flooded, too. However fixing the handling of 224.0.0.X
and FF02::1 and adhering to RFC4541 must have priority to avoid
undesired packetloss, to avoid breaking IPv4/IPv6.

Tested-on: ZyXEL GS1900-24HP v1

Fixes: cde31976e3 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/18769
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 19:01:22 +02:00
Paweł Owoc
86a6c550b9 qualcommax: dts: fix missing or empty reg property warning
Remove property 'status = "disabled"' for partitions in Zyxel NBG7815.
This option is mainly used for NAND memory and here we have SPI memory.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18787
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 18:29:00 +02:00
Paweł Owoc
af021c1285 qualcommax: dts: fix property has invalid length warning
Fix "property has invalid length" warning for two devices:
- TP-Link EAP620 HD v1
- Zyxel NBG7815

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18787
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 18:29:00 +02:00
Felix Fietkau
610dd871aa kernel: fix warning on retrying page pool release
Fixes the following warning:
[  180.314652] NOHZ tick-stop error: local softirq work is pending, handler #08!!!

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-05-15 15:41:59 +02:00
Robert Marko
ca51f7aaf5 qualcommax: ipq60xx: fix EAP625-Outdoor HD BDF package name
Currently, non existing ipq-wifi package name is selected for
EAP625-Outdoor HD, so correct the name.

Fixes: 51c1ea08d0 ("qualcommax: ipq60xx: add TP-Link EAP625-Outdoor HD v1 support")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 14:57:14 +02:00
Joe Zheng
51b78aaaae kernel: package intel_vpu driver
Add package for linux intel_vpu driver for Intel NPU/VPU

Signed-off-by: Joe Zheng <joe.zheng@intel.com>
Link: https://github.com/openwrt/openwrt/pull/17904
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-15 10:09:40 +02:00
Zoltan HERPAI
95341cc9c5 generic: 6.12: add missing symbols
Add missing symbols found during moving sifiveu and d1 to 6.12.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2025-05-14 23:27:03 +02:00
Alexandru Gagniuc
51c1ea08d0 qualcommax: ipq60xx: add TP-Link EAP625-Outdoor HD v1 support
TP-Link EAP625-Outdoor HD is a 802.11ax AP claiming AX1800 support.
It is wall or pole mountable, and rated for outdoor use. It can only
be powered via PoE.

Hardware-wise, it is very similar to the older EAP610-Outdoor model.
Software-wise, I couldn't find a difference other than the board
data files, and device name. For this reason, the majority of the
devicetree from the EAP610-Outdoor is reused.

This device currently comes in a "v1", and "v1.6" version. The
"support-list" of the vendor firmware does not have a distinction
between these versions. This commit was tested on a 'V1.6" device.

Specifications:
---------------
* CPU: Qualcomm IPQ6018 Quad core Cortex-A53
* RAM: 512 MB
* Storage: 128MB NAND
* Ethernet:
  * Gigabit RJ45 port with PoE input
* WLAN:
  * 2.4GHz/5GHz
* LEDs:
  * Multi-color System LED (Green/Amber)
* Buttons:
  * 1x Reset
* UART: 4-pin unpopulated header
  * 1.8 V level, Pinout 1 - TX, 2 - RX, 3 - GND, 4 - 1.8V

Installation:
=============

Web UI method
-------------

Set up the device using the vendor's web UI. After that go to
Management->SSH and enable the "SSH Login" checkbox. Select "Save".
The connect to the machine via SSH:

ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>

Disable signature verification:

cliclientd stopcs

Rename the "-web-ui-factory" image to something less than 63
characters, maintaining the ".bin" suffix.
 * Go to System -> Firmware Update.
 * Under "New Firmware File", click "Browse" and select the image
 * Select "Update" and confirm by clicking "OK".

If the update fails, the web UI should show an error message.
Otherwise, the device should reboot into OpenWRT.

NOTE: If ssh continues to complain that "no matching host key type
found. Their offer: ssh-rsa,ssh-dss" it likely means that yor distro
has completely disabled deprecated siphers in ssh. In that case, run
the ssh command from a docker container of an older distro.

TFTP method
-----------

To flash via tftp, first place the initramfs image on the TFTP server.

setenv serverip <ip of tftp server>
setenv ipaddr <ip in same subnet as tftp server>
tftpboot tplink_eap625-outdoor-hd-v1-initramfs-uImage.itb
bootm

This should boot OpenWRT. Once booted, flash the sysupgrade.bin image
using either luci or the commandline.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-14 19:38:25 +02:00
Alexandru Gagniuc
c75223338f qualcommax: ipq60xx: eap6xx-outdoor: add PHY reset pinctrl
It was suggested that the pinctrl property of the mdio node should
include the PHY reset GPIO. Add them in.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-14 19:38:25 +02:00
Alexandru Gagniuc
7be36c20f1 qualcommax: ipq60xx: split eap610-outdoor devicetree
I have an EAP625-Outdoor HD v1 that is very similar with the EAP610
Outdoor. It works with the EAP610 initramfs, without any obvious loss
of functionality. In order to prepare for supporting the EAP625, move
the common parts into a shared .dtsi.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-14 19:38:25 +02:00
David Bauer
eea4689654 ramips: pad EX400 kernel partition to retain web recovery
The web-recovery of the Genexis EX400 validates uploaded images to fit
in the rootf_0 partition.

With OpenWrt, only the kernel is stored in this partition, leaving the
partition very small. Currently, the first factory release image won't
be accepted by the recovery interface after the OpenWrt installation.

Pad the image of the ubifs to 10MB. This allows the 24.10 release image
to be uploaded, enabling device recovery.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-14 18:39:56 +02:00
David Bauer
d97c01a11f ramips: clean UBI tempdir before image creation
Clean the temporary directory the UBI image is generated from before
generation.

Currently it is removed after the image generation, which leads to files
possibly not being cleared after a build failure in this step.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-14 18:39:56 +02:00
Álvaro Fernández Rojas
61da745817 bmips: add missing NAND config symbol
bcm6328, bcm6362 and bcm6368 targets are missing a key config symbol which
prevents the NAND from working.

Fixes: f6c02b014d ("bmips: 6.1: refresh config and add missing symbols")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-14 11:37:51 +02:00
Robert Marko
d02071c24f generic: config-filter: filter out CONFIG_PAHOLE_HAS_LANG_EXCLUDE
CONFIG_PAHOLE_HAS_LANG_EXCLUDE is set depending on the pahole version
present, so it must be filtered out.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-14 11:28:01 +02:00
Mieczyslaw Nalewaj
4d18c41a6c kernel: mtk_bmt: counteracting calloc-transposed-args compiler warning
For kernel 6.12 there is a warning causing an error:
drivers/mtd/nand/mtk_bmt_v2.c: In function 'mtk_bmt_get_mapping_mask':
drivers/mtd/nand/mtk_bmt_v2.c:307:31: error: 'kmalloc_array_noprof' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
  307 |         used = kcalloc(sizeof(unsigned long), BIT_WORD(bmtd.bmt_blk_idx) + 1, GFP_KERNEL);
      |                               ^~~~~~~~

Swapping the arguments solves the problem.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18701
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 22:07:11 +02:00
INAGAKI Hiroshi
dcc440c7c9 ramips: mt7621: relocate kernel for ELECOM WRC-X1800GS
Relocate the kernel in the firmware images for WRC-X1800GS when booting,
to fix the LZMA error while extraction by U-Boot with the following
messages.

log (official initramfs image (ffde9a9fe9)):

```
=> bootm
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  MIPS OpenWrt Linux-6.6.89
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x800100e4
     Data Size:    7365490 Bytes = 7 MiB
     Architecture: MIPS
     OS:           Linux
     Load Address: 0x80001000
     Entry Point:  0x80001000
     Hash algo:    crc32
     Hash value:   f27303e3
     Hash algo:    sha1
     Hash value:   7715e6d2d27eeef34ea88ad7ae0c6f73b6748ba4
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  MIPS OpenWrt elecom_wrc-x1800gs device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8071659c
     Data Size:    13578 Bytes = 13.3 KiB
     Architecture: MIPS
     Hash algo:    crc32
     Hash value:   d37ef67f
     Hash algo:    sha1
     Hash value:   e66ac0a2e8024a276bf9b3712dffa2192d7a70dc
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x8071659c
   Uncompressing Kernel Image ... lzma compressed: uncompress error 1
Must RESET board to recover

===================================================================
                MT7621   stage1 code Dec 16 2019 17:45:55 (ASIC)
                CPU=500000000 HZ BUS=166666666 HZ
==================================================================
...

```

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18781
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 21:59:07 +02:00
Markus Stockhausen
70f10e2210 realtek: phy: remove unneeded usage of genphy_loopback()
Kernel does

  if (phydev->drv->set_loopback)
    ret = phydev->drv->set_loopback(phydev, enable, speed);
  else
    ret = genphy_loopback(phydev, enable, speed);

So no need to explicitly set genphy_loopback() in phy_driver. Drop
references to let kernel do its work.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18782
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 21:53:28 +02:00
Shiji Yang
01d5026239 kernel: bump 6.6 to 6.6.90
Remove upstreamed patches:
  bcm27xx/patches-6.6/950-0481-xhci-Use-more-event-ring-segment-table-entries.patch [1]
  pending-6.6/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch [2]

Manually rebased patches:
  generic/hack-6.6/781-usb-net-rndis-support-asr.patch [3]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=f377434945f528217e65fc5b18781caeba19ce72
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=e0272844995aff8cbf2cc88b78c2b35ca51eda43
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=222b6685efe0d8c1cdb078a67bbe806f56d18f94
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18775
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-13 21:43:34 +02:00
Robert Marko
9d15c1a020 qualcommax: ipq50xx: add PCI path migration script
PCI paths of IPQ50xx devices have changed now that linux,pci-domain is set
in the DTSI, so add a migration script for wireless config.

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
cfbfdd9ca6 qualcommax: ipq50xx: update PCI path for caldata
Now that IPQ50xx PCIe nodes have linux,pci-domain property defined
it changed the PCI path, but its now predictable and fixed.

So, update the caldata script accordingly.

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
1e20f7b6c6 qualcommax: fix PCIe card wifi node address
Unlike other buses, for PCIe child nodes we should not use "wifi@1,0" as
the bus adress since for PCI devices the actual device adress on the bus is
actually set via the "reg" property and the node name is unused completely.

Though, it will cause DTC to throw warnings, so after investigation and
similar issue upstream[1] simply set the nodes to "wifi@0,0" instead.

[1] https://lists.infradead.org/pipermail/linux-arm-kernel/2021-August/680846.html

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
487fc2ec96 qualcommax: remove PCIe bridge nodes
PCIe bridge nodes are now present in the SoC DTSI, so drop our downstream
ones as otherwise ath1*k BDF matching will fail.

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
5e0bbd3670 qualcommax: ipq50xx: add missing bus-range to PCIe bridges
It seems that bus-range property was missed for the PCIe bridges on
IPQ50xx, thus causing DTC to warn on any bus adress used on nodes
under the PCIe bridges.

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
8aad4cd43d qualcommax: ipq50xx: use latest v9 PCIe DTS patch
Use the latest v9 PCIe DTS patch that is pending upstream, notable change
being that it includes PCIe bridge nodes.

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Robert Marko
2c2808a71a qualcommax: ipq807x, ipq60xx: backport DTS PCIe bridge node
Currently, we manually define PCI bridge nodes in devices that use
PCI cards, etc.

But since we will need to rework this for 6.12 anyway since upstream added
the PCIe bridge nodes[1][2] lets backport it now.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v6.12.28&id=ed3893f6f9b800ca774f63810c5f8838bc7cee78
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/arm64/boot/dts/qcom/ipq6018.dtsi?h=v6.12.28&id=52358c64937e982d3cdcf64be58f08f30d8e518c

Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-13 19:58:22 +02:00
Christoph Krapp
0d6ba33181 mediatek: filogic: fix wifi on ASUS RT-AX52
Add missing kmod-7915e package to get both wireless interfaces working.

Link: https://github.com/openwrt/openwrt/issues/18690

Reviewed-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
2025-05-13 03:32:26 +02:00
Mieczyslaw Nalewaj
269a62b217 kernel: bump 6.12 to 6.12.28
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.28

Removed upstreamed:
        generic/pending-6.12/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch[1]

Manually rebased:
        generic/pending-6.12/737-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch[2]
        generic/hack-6.12/781-usb-net-rndis-support-asr.patch[3]

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=6effe1c0fa823d9923f3b77547f201a5bab6c1e5
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=aea3ca60fafbdf0da5c930ff2f4105587deb6753
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=222b6685efe0d8c1cdb078a67bbe806f56d18f94

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64
Run-tested: x86/64

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18756
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-12 18:10:03 +02:00
Robert Marko
1c1026eeac generic: 6.12: add CONFIG_EC_LENOVO_YOGA_C630
CONFIG_EC_LENOVO_YOGA_C630 popped up while doing 6.12 for qualcommax.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-12 17:05:04 +02:00
Markus Stockhausen
55287c9fbe realtek: decouple MDIO and ethernet devices
We are lucky to have a working realtek environment. But some things where mixed
heavily. To say it clear a bus is a bus and an ethernet is an ethernet. With
the new naming conventions and defines this becomes even more obvious.

Decouple it by moving the bus specific parts out of the ethernet device. To
make the code more readable rename bus_priv variables to priv and sort variable
definitions in inverse tree order (length descending) where it makes sense.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Markus Stockhausen
47de87eb23 realtek: harden MDIO driver
At least since 2022 there is a major bug in the MDIO driver that
produces out-of-bound reads and erratic behaviour during initialization.

- mdiobus_scan_bus_c22() scans the bus for 64 devices (PHY_MAX_ADDR)
- private bus structure only supports 57 entry arrays (MAX_PORTS)

All the bus/reader writer functions accept calls with addr>=57 and will
silently read beyond their limits. This can lead to ghost SERDES like
https://github.com/openwrt/openwrt/issues/18665#issuecomment-2846053813

Add proper boundary checks and end the functions with -ENODEV that is
the only accepted error code from the bus scan function.

Fixes: 0536c582e6 ("realtek: Fix RTL931X Ethernet driver") etc ...

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Markus Stockhausen
96ce4855bc realtek: resize mdio bus private arrays
These two arrays have been fixed to some sane size (= 64 ports). Now
that everything is in place reuse the global RTMDIO_MAX_PORT define.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Markus Stockhausen
0c9e91a60c realtek: move private bus structure closer to the bus
Relocate the bus structure definition into the MDIO source code area
of the ethernet driver. So if the real bus driver is forked from the
rest of the code only one area needs to be removed. Rename it to make
clear it belongs to the bus.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Markus Stockhausen
10519db579 realtek: reuse RTMDIO_MAX_SMI_BUS define
Although a dfine is used to set the maxiumum number of SMI
busses (=4) it is not used at all appropriate places in the code.
Replace hard coded constants with that define.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Markus Stockhausen
7f16a379f6 realtek: add mdio prefix to defines
Inside the ethernet driver lives the mdio bus. It is not always clear
what belongs where. Prefix some leftovers from the kernel 6.6 refactor
to clearly state what belongs to the bus. Group all defines together
in one place. This commit has no functional changes.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2025-05-12 16:09:19 +03:00
Alexandru Gagniuc
bd808cf3ca qualcommbe: ipq95xx: fix ipq-uniphy crash on IPQ9554
IPQ9554 does not have uniphy1. The "gcc_uniphy1_sys_clk" cannot be
enabled. This causes the ipq-uniphy driver to crash on .probe().
Add a patch to resolve the crash.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18779
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-12 15:06:24 +02:00
Tianling Shen
4044ce7109 kernel: add missing Kconfig symbols
Found when building rockchip target (with kernel 6.12).

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18685
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-11 13:11:46 +02:00
Aleksander Jan Bajkowski
a3da25c62b lantiq: xrx200_legacy: rename TP-LINK to TP-Link
Keep the name consistent with other places.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-05-10 21:28:40 +02:00