Commit Graph

31572 Commits

Author SHA1 Message Date
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
Aleksander Jan Bajkowski
e4b8279b7e lantiq: xrx200_legacy: rename PHY LEDs
This commit corrects led phy names. This has been discussed
at link [1] and corrected in the mediatek target in the
commit a51fd20e0d. Now it's time
to do the same thing in the lantiq target.

Link: https://github.com/openwrt/openwrt/pull/18265
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-05-10 21:28:40 +02:00
David DeGraw
75403dd1d0 ramips: add support for Cudy R700
This is the same hardware as the Cudy WR2100 that's
had support for some time now, just without the WLAN
hardware.

This PR is mostly copied from the commit that added
support for the WR2100, here: 3501db9

Specifications:
SoC: MT7621
CPU: 880 MHz
Flash: 16 MiB
RAM: 128 MiB
Ethernet: 5x Gbit ports

Installation:
There are two known options:

The Luci-based UI.
Press and hold the reset button during power up.
The router will request 'recovery.bin' from a TFTP server at
192.168.1.88.

Both options require a signed firmware binary.
A signed firmware can be found in GitHub PR #18532.

R4 & R5 need to be shorted (0-100Ω) for the UART to work.

Link: https://github.com/openwrt/openwrt/pull/18532

Signed-off-by: David DeGraw <degraw@fastmail.com>
2025-05-10 21:26:08 +02:00
David Bauer
f828be4d10 ramips: use i2c-gpio driver for EX400
Configure the i2c pins as GPIO outputs and use the i2c-gpio driver to
control the Semtech SX9512 touch controller.

This fixes spurious errors in i2c transactions even at 1kHz with the
native i2c driver.

leds green:wan: Setting an LED's brightness failed (-6)

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-10 21:26:08 +02:00
David Bauer
49a1781d74 ramips: support Genexis EX400 touch controller
Add the necessary package dependencies as well as device-tree properties
to support the touch-inputs as well as missing LEDs on the Genexis Pulse
EX400 range extender.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-10 21:26:08 +02:00
David Bauer
0842e79338 ramips: add Semtech SX9512 touch input driver
This driver is required for the touch-inputs as well as some LEDs on the
Genexis Pulse EX400.

The driver was also sent upstream. As the EX400 is currently the only
consumer, the driver is added target-specific for ramips.

Once the driver has been accepted upstream and is provided in a kernel
release used by OpenWrt, the package should be moved to the global input
drivers.

Link: https://www.spinics.net/lists/kernel/msg5669349.html

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-10 21:26:08 +02:00
David Bauer
ff55daf1eb ramips: drop ALT0 name from Pulse EX400 dts model
The alternative model name does not need to be represented in the DTS.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-10 21:26:08 +02:00
Rosen Penev
b5fba20351 linux: remove of_match_ptr from OF only drivers
There's no need for it. Kernel update to 6.12 found that it now needs
linux/of.h explicitly included.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18763
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-10 20:00:59 +02:00
INAGAKI Hiroshi
8fb46725cf qualcommax: ipq50xx: fix NAND ECC for ELECOM WRC-X3000GS2
Specify 4-bit ECC strength instead of 8-bit, to resolve NAND I/O errors
on ELECOM WRC-X3000GS2.

ELECOM WRC-X3000GS2 has a Macronix MX35UF1G24AD SPI-NAND chip as a flash
storage. That chip is registered as a chip that has 128 bytes OOB and
requires 8-bit ECC, and described as the same in the Macronix's datasheet.

But on WRC-X3000GS2, 8-bit ECC breaks NAND I/O on mtdblock devices with
the following errors and 4-bit ECC needs to be used to resolve this issue.

current (ECC strength=8):

```
[    1.401566] 0x000000480000-0x000000500000 : "0:appsblenv"
[    1.407128] 1 fixed-partitions partitions found on MTD device 0:appsblenv
[    1.410663] Creating 1 MTD partitions on "0:appsblenv":
[    1.417359] 0x000000000000-0x000000040000 : "env-data"
[    1.479865] u-boot-env-layout: probe of 79b0000.qpic-nand:flash@0:partitions:partition-0-appsblenv:partition@0:nvmem-layout failed with error -74

root@OpenWrt:~# strings /dev/mtdblock10
[   55.693754] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
[   55.694660] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[   55.703147] I/O error, dev mtdblock10, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2
[   55.711884] I/O error, dev mtdblock10, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2
[   55.720778] I/O error, dev mtdblock10, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[   55.730310] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[   55.738607] Buffer I/O error on dev mtdblock10, logical block 0, async page read
```

after fixing (ECC strength=4):

```
[    1.402301] 0x000000480000-0x000000500000 : "0:appsblenv"
[    1.407909] 1 fixed-partitions partitions found on MTD device 0:appsblenv
[    1.411370] Creating 1 MTD partitions on "0:appsblenv":
[    1.418075] 0x000000000000-0x000000040000 : "env-data"
(no error)

root@OpenWrt:~# strings /dev/mtdblock10
[   39.131008] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
bootcmd=bootipq
baudrate=115200
wifi2=7C:F8:54:01:BD:F3
CRASH_COUNT=0
...

```

Fixes: 01b72ce61e ("qualcommax: ipq50xx: remove ECC user config from board files")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18770
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-10 12:14:18 +02:00
Álvaro Fernández Rojas
5017ecac84 bmips: sercomm-msp430: fix include
Include <linux/of.h> instead of <linux/of_device.h>.
This problem arised when adding support for 6.12, but it can be fixed on
older kernels too.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-10 09:02:25 +02:00
Álvaro Fernández Rojas
9ffbef7e19 bcm27xx: fix kmod-drm-rp1 modules dependencies
kmod-drm-rp1-dsi, kmod-drm-rp1-dpi and kmod-drm-rp1-vec should depend on
kmod-drm-dma-helper and kmod-drm-vram-helper in order to fix dependency errors
when all kernel modules are selected.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-10 07:58:12 +02:00
Shiji Yang
ffde9a9fe9 realtek rtl931x: mark subtarget as source-only
There are no supported devices on this sub-target. It can be
considered that it is still under development. Therefore,
there is no need to make the buildbot build it every day.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18757
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-09 16:38:19 +02:00
Robert Marko
9a3c6df21b generic: config-filter: filter out CONFIG_RUSTC_SUPPORTS_* symbols
CONFIG_RUSTC_SUPPORTS_* is set based on rustc presence and version,
so we need to filter it out.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-09 14:13:19 +02:00
Álvaro Fernández Rojas
538efe5d6b bmips: sercomm-msp430: fix duplicated definition
This problem arised when adding support for 6.12, but it should be fixed on
older kernels too.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-09 12:51:44 +02:00
Álvaro Fernández Rojas
59764a7079 bmips: add missing PCI drivers include
These drivers should include <linux/platform_device.h>, but this wasn't an
issue on kernels < 6.12.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-09 12:51:44 +02:00
Shiji Yang
9daca55916 ramips: rt288x: remove default build barriers
This sub-target is source only now. We don't need to disable build
for specific devices.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-09 11:31:20 +02:00