Commit Graph

411 Commits

Author SHA1 Message Date
Rosen Penev 912e5608c4 apm821xx: slightly improve routing performance
I mistakenly assumed napi_gro_receive could not be used here. But it
turns out I needed to take the address of mal's napi_device.

Important to get everything possible out of this old underpowered
platform.

Upstream for whatever reason wants to do away with
netif_receive_skb_list.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:50 +02:00
Rosen Penev 58099777f4 apm821xx: fix dmesg warning slop
Fix by replacing memset with manual 0 assignments. The first patch was
rightly rejected by upstream as it affects everything so keep it in 9xx.

Upstream message for it is:

dcbz instruction shouldn't be used on non-cached memory. Using
it on non-cached memory can result in alignment exception and
implies a heavy handling.

Instead of silentely emulating the instruction and resulting in high
performance degradation, warn whenever an alignment exception is
taken in kernel mode due to dcbz, so that the user is made aware that
dcbz instruction has been used unexpectedly by the kernel.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:50 +02:00
Rosen Penev 4f2715af3f apm821xx: fix buttons and LEDs
Upstream transisitioned from an OF GPIO API to a generic one.
Unfortunately they forgot to set parent.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:49 +02:00
Rosen Penev c8dcb40229 apm821xx: enable 6.18 testing kernel
Enable the 6.18 testing kernel for APM821XX.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:49 +02:00
Rosen Penev d47f54d65a apm821xx: refresh 6.18 patches
Refresh patches for 6.18.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:49 +02:00
Rosen Penev 8f74536187 apm821xx: refresh 6.18 config
Add missing symbols for 6.18.

Remove random PPC debug stuff. It looks like a holdover from when
support was being added for it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:48 +02:00
Rosen Penev 992cd9a385 kernel/apm821xx: restore files for v6.12
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

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:48 +02:00
Rosen Penev aa294df1bc kernel/apm821xx: create files for v6.18 (from v6.12)
This is an automatically generated commit.

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

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23382
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-05-25 10:16:48 +02:00
Rosen Penev 3752fb5174 apm821xx: remove fixed-partitions nvmem hack
This was needed before the env-size binding was available to restrict it
to a specific size. No longer a need for this.

This should be no-op since status = "disabled";

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22367
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-14 23:02:47 +02:00
Shiji Yang c3109a565c kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic
This symbol is selected by CONFIG_BPF, which was already enabled
on generic config-6.12.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:38:41 +02:00
Shiji Yang 499886de05 kernel: enable CRYPTO_RNG2 and CRYPTO_SIG2 by default
These two symbols are selected by CONFIG_CRYPTO_MANAGER2[1-2], which
was already enabled on generic config-{6.12,6.18}.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=fb28fabfad332a731423ffdd2be122b73ea90f1e
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=6cb8815f41a966b217c0d9826c592254d72dcc31
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:38:41 +02:00
Rosen Penev e1c2f02325 treewide: dts: reg: use new syntax for arrays
<>, <> is the preferred way to specify multiple entries.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22736
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-03 11:11:35 +02:00
Edward Chow 3b450b23fe Revert "apm821xx: rename pciex to pcie"
This reverts commit 66a7e04e9e.

Doing so makes the u-boot unable to find the node for this pcie
controller and disable it on mx60, resulting boot failure, as reported
in https://github.com/openwrt/openwrt/issues/21649 .

If we keep on treating mx60 and mx60w the same target, we might have
to endure the warning which 66a7e04 wants to eliminate.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/21941
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-02-10 14:54:23 +01:00
Edward Chow 17cd653d5f apm821xx: mx60: increment compat_version
meraki_loadaddr=1000000 may not enough to boot openwrt 25.12+ on mx60,
so directly sysupgrade without changing meraki_loadaddr would result
broken, but the u-boot-env partition used to be marked read-only, so
compat_version had better be incremented to show a notification to
direct users to the wiki to prepare the sysupgrade manually.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/21912
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:40:50 +01:00
Rosen Penev 3225655236 apm821xx: disable NVMEM_U_BOOT_ENV
The main point of it currently is to extract mac addresses. That is not
being done as MAC addresses are elsewhere.

Disable it until it becomes more feature packed and there's an actual
use for it.

All devices already have config definitions. NVMEM prevents redundant
support as well as write support.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:44 +01:00
Rosen Penev 23bb631c4a apm821xx: meraki-mx60: fix ubootenv definitions
Needed to avoid probe errors.

There are two partitions from 0-20000 and 80000-100000.

This is redundant-count and not regular u-boot,env

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:44 +01:00
Rosen Penev 37010e1155 apm821xx: meraki-mr24: fix ubootenv definitions
Per the comments, this is not uboot,env but the redundant forms.

Placed under fixed-partition nodes in order to add status = "disabled".
The roots are needed for u-boot envtools to use.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:44 +01:00
Rosen Penev 26254408e3 apm821xx: mybooklive: fix ubootenv probe
With nvmem-layout, these probe errors go away.

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:44 +01:00
Rosen Penev 45ba1351d6 apm821xx: wndr4700: fix uboot-env
With nvmem-layout, these probe errors go away.

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-08 18:37:43 +01:00
Stijn Tintel f7c5334c4c kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU
Commit ab805ec316 ("generic: add missing squashfs config") enabled
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU in the generic config, so it is no
longer needed in the target configs.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Link: https://github.com/openwrt/openwrt/pull/21465
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-11 12:52:54 +01:00
Rosen Penev feba8983ac kernel: disable non layout u-boot,env
All users of regular CONFIG_NVMEM_U_BOOOT_ENV have been converted to use
layouts.

CONFIG_NVMEM_U_BOOT_ENV selects the layout variant anyway so this is
safe to do.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16376
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-28 01:20:33 +01:00
Christian Marangi 345efe66fd apm821xx: drop support for kernel 6.6
Drop support for kernel 6.6 as now kernel 6.12 is set as default kernel
version.

Link: https://github.com/openwrt/openwrt/pull/20855
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-22 10:11:18 +01:00
Christian Marangi c2b3bb66e0 apm821xx: switch to kernel 6.12
Move the apm821xx target to kernel 6.12 by default.

Link: https://github.com/openwrt/openwrt/pull/20855
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-22 10:11:17 +01:00
Rosen Penev dc420acc77 apm821xx: fix pcie node numbers
The values provides are correct if after the @ it would be the bus
number and then device number. But it's actually, device and then
function for pcie devices.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19425
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-18 13:15:12 +01:00
Rosen Penev 66a7e04e9e apm821xx: rename pciex to pcie
Fixes:

Warning (pci_bridge): /plb/pciex@d00000000: node name is not "pci" or "pcie"

Matches upstream commit: 86bc917d2ac117ec922dbf8ed92ca989bf333281

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19425
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-18 13:15:12 +01:00
Shiji Yang 73b198869a apm821xx: dts: explicitly set the partition reg size for Netgear WNDR4700
Correct the mtd partition reg property size to address the following
dtc warnings:

../dts/netgear-wndr4700.dts:191.6-33: Warning (reg_format): /plb/opb/ebc/ndfc@1,0/nand/partitions/partition@0/partition@40000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-19 21:55:33 +02:00
Rosen Penev 4f716eb43a apm821xx: sata: refresh config
ran with make kernel_oldconfig

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 18:22:31 +02:00
Rosen Penev 4e92e34244 apm821xx: run through kernel_oldconfig
IDPF goes away and some rust symbol appears.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 18:22:31 +02:00
Rosen Penev 3d8a13413f apm821xx: fix sata config
The initial + looks like a copy/paste error.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19481
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 18:22:31 +02:00
Hauke Mehrtens e9ae1f678c apm821xx: kmod-ata-dwc: Make kernel module depend on target
The kmod-ata-dwc is included in target modules.mk file, it should also
depend on the target, otherwise it can be selected from every target.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:21 +02:00
Rosen Penev b0df4795b1 apm821xx: enable kernel 6.12
It builds now.

Tested on Cisco Meraki MX60W.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 00:01:12 +02:00
Rosen Penev 4a30ded7e6 apm821xx: refresh 6.12 kernel config
Some symbols changed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 00:01:12 +02:00
Rosen Penev 38fd269993 apm821xx: refresh 6.12 patches
pci driver went to a different directory and thus manually edited.

All else done with kernel_oldconfig.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 00:01:12 +02:00
Rosen Penev 623a200bfc apm821xx: restore 6.6 kernel config/patches
Copy kernel config and patches from 6.12 to restore the default 6.6
kernel support files.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 00:01:12 +02:00
Rosen Penev d15ed1614d apm821xx: rename kernel config/patches to 6.12
This is a preparation for 6.12 kernel support. It can help us
track the files history by using the Git tool.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 00:01:12 +02:00
Rosen Penev 65c539be80 kernel: backport GCC15 fix for powerpc
Comes with kernel 6.16. I assume it will be backported at some point.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19329
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-07-07 17:20:53 +02:00
Shiji Yang c1780adbf2 apm821xx: replace kmod-usb3 with kmod-usb-xhci-pci-renesas
The dependency of kmod-usb3 and kmod-usb-xhci-pci-renesas have
been reversed. Now we need to select kmod-usb-xhci-pci-renesas
instead of kmod-usb3.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-17 20:14:27 +02:00
Hauke Mehrtens abd0418684 kernel: Activate CONFIG_NET_SWITCHDEV in generic config
The CONFIG_NET_SWITCHDEV option is needed by CONFIG_DSA and some other
options. It is boolean, we have to compile it into the kernel it self.
Activate it for all targets in the generic configuration, it is already
activated for most of them. This allows to install DSA drivers as a
module.

On the ramips/mt7620 target the kernel would grown by 4.5kB.

For some small targets which do not support a DSA switch by default the
option is deactivated.

Link: https://github.com/openwrt/openwrt/pull/17668
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 13:54:59 +01:00
Hauke Mehrtens dab52c00d7 apm821xx: NETGEAR WNDR4700: Fix compat version
The definition for the netgear_wndr4700 had two different
DEVICE_COMPAT_VERSION definitions.

In commit 5815884c3a ("apm821xx: migrate to DSA"), an additional
DEVICE_COMPAT_VERSION := 3.0 attribute was added to the device
definition. The old one with version 2.0 stayed and was defined later
overwriting the new one.

Replace the old version 2.0 with the new version 3.0

Fixes: 5815884c3a ("apm821xx: migrate to DSA")
Link: https://forum.openwrt.org/t/openwrt-24-10-0-rc6-sixth-release-candidate/222466/43
Link: https://github.com/openwrt/openwrt/pull/17741
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-27 23:36:32 +01:00
Christian Lamparter e9415be4ad apm821xx: fixes WNDAP620 + WNDAP660 sysupgrade failures
OpenWRT on the WNDAP6x0 refuses to sysupgrade to itself
due to a compat_version imbalance. The Image is generated
with version 2.0, but the uci-defaults says that it needs
to be at 3.0 for the device.

Fix this by downgrading WNDAP6x0 05_fix-compat-version's
values back to 2.0 so it matches what we use.

Fixes: 5815884c3a ("apm821xx: migrate to DSA")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2025-01-12 10:19:05 +01:00
Rosen Penev fe17cc1bfd linux: replace u-boot,env with nvmem,layout
The former is deprecated in favor of nvmem-layout. In preparation for
eventual removal from the kernel, do so here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16097
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-12-27 13:34:58 +01:00
Rosen Penev cd92cbddf8 kernel: filter out compiler opts from config
These get dynamically set based on compiler version. Not relevant for
targets.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-17 14:55:16 +01:00
Rosen Penev dfc8e8d09a apm821xx: move CONFIG_GENERIC_PHY up
It's shared by both subtargets.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-24 00:25:28 +02:00
Hauke Mehrtens 1306885968 kernel: Reorder config files
Reorder the kernel configuration files.

This was done uisng:
./scripts/kconfig-reorder.sh

Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-22 21:13:26 +02:00
Rosen Penev caf29ee97b apm821xx: nand: add NVMEM-on-UBI support
Oversight from 8d302f5ebc , which requires
this to work. I couldn't test it as I ended up wiping my UBI volume by
accident.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00
Rosen Penev 7754924c9e apm821xx: remove ethernet0 node
This is needed in order to get a MAC address from UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00
Rosen Penev 8b42827b4c apm821xx: fix volume/volname
linux,ubi expects the volname variable, not volume.

This will fix NVMEM-on-UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00
Rosen Penev 0dfb7529b7 apm821xx: nand: add missing symbols
Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00
Rosen Penev 684a4f7e94 apm821xx: nand: sort config-default
make kernel_oldconfig doesn't seem to work with this. Handle manually.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00
Rosen Penev eb5f0e3507 apm821xx: run make kernel_oldconfig
Adjusts the default config to modern kernels.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-21 20:54:55 +02:00