Commit Graph

30034 Commits

Author SHA1 Message Date
Nick Hainke
db7e28cb98 kernel/at91: Create kernel files for v6.1 (from v5.15)
This is an automatically generated commit.

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

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-04-22 09:51:14 +02:00
Georgi Valkov
680f8738d0
kernel: backport ipeth CDC NCM support
Fixes no communication with tethered iOS devices in CDC NCM mode.
Freshly booted iOS devices start in legacy mode, but are put into
NCM mode by the official Apple driver.

[1] a2d274c62e

Fixes: #12566
Tested-by: Georgi Valkov <gvalkov@gmail.com>
Signed-off-by: Foster Snowhill <forst@pen.gy>
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
[ better reference fixed issue ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-21 22:50:40 +02:00
R Maru
4cb814d403
generic: 5.15: Make support for BoHong bh25q128as generic
Move the patch for BoHong bh25q128as out of ramips to make it
generic. Not including 6.1.y since the mtd subsystem has changed,
and does not need these changes.

Patch was dropped with ramips updating to 6.1, hence we reintroudce it
here for 5.15 generic.

5.15.y functionality was verified on a Wavlink WL-WN586X3 Rev.a.

Signed-off-by: R Maru <deviantmaru@gmail.com>
[ rebase and add extra info in commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-21 18:06:22 +02:00
Christian Marangi
869d72e988
generic: 6.1: backport support for generic spi-nor from SFDP data
Backport patches for support of generic spi-nor from SFDP data for
kernel 6.1.

Kernel 5.15 have major rework of the info flags and it's not trustable
to backport this amount of changes and expect correct function of it.

All affected patches automatically refreshed using make
target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-21 18:02:40 +02:00
Zoltan HERPAI
30149ba1ae sunxi: move KERNEL_LOADADDR into subtargets
As preparation for the arm926ej-s support which has a different
load address, move the KERNEL_LOADADDR into the subtargets.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:42:05 +02:00
Zoltan HERPAI
01fc454a0c sunxi: move fpu feature flag into the subtargets
As the upcoming arm926ej-s does not have an FPU, move this flag
into the subtargets.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:42:05 +02:00
Zoltan HERPAI
2164bd308b sifiveu: 6.6: set testing kernel
Allow selecting 6.6 as testing kernel on sunxi.

Runtime-tested: SiFive Unleashed

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:50 +02:00
Zoltan HERPAI
7e9dd5d10c sifiveu: 6.6: refresh patches
Refresh kernel patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:50 +02:00
Zoltan HERPAI
bafdd7a67b kernel/sifiveu: Restore kernel files for v6.1
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.

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

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:50 +02:00
Zoltan HERPAI
9905057d7e kernel/sifiveu: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:50 +02:00
Zoltan HERPAI
788c781ba6 mxs: add kernel 6.6 as testing
Add new LTS kernel support.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:42 +02:00
Zoltan HERPAI
38dc19828d mxs: adjust DTS path for 6.6
For the ARM arch on 6.6, DTS files are moved into their vendor directories,
mimicking arm64. Reflect this in the image Makefile.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-19 18:32:42 +02:00
Daniel Golle
0bba674153 mediatek: backport PWM drivers
* MT7981 and MT7988 backported to Linux 6.1
 * MT7988 backported to Linux 6.6

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-19 10:56:52 +01:00
Stijn Tintel
3908b77c9e qoriq: add kernel 6.1 support
Add support for kernel 6.1 as testing kernel for qoriq. Refresh config
using `make kernel_oldconfig`.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-18 00:30:03 +03:00
Stijn Tintel
3f9a9753f9 kernel/qoriq: Restore kernel files for v5.15
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.

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

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-18 00:23:36 +03:00
Stijn Tintel
fccaffe747 kernel/qoriq: Create kernel files for v6.1 (from v5.15)
This is an automatically generated commit.

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

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-18 00:23:36 +03:00
Stijn Tintel
72afe56430 qoriq: refresh kernel 5.15 config
Done with `make kernel_oldconfig`.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-18 00:23:30 +03:00
Chukun Pan
9cef2bc224 ipq807x: add support for Zbtlink ZBT-Z800AX
Hardware specifications:
  SoC: Qualcomm IPQ8072A
  RAM: 1GB of DDR4 600MHz
  Flash1: Winbond W25Q64DW 8MB
  Flash2: MX30UF2G28AD 256MB
  WiFi1: QCN5024 2.4GHz AX 4x4
  WiFi2: QCN5054 5GHz AX 4x4
  Ethernet: 5x 1G RJ45 port
  USB: 2x USB 3.0 (1x M.2)
  Button: Reset, WPS

Flash instructions:
  Upload factory.bin in stock firmware's
  upgrade page, do not preserve settings.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-04-17 12:08:56 +02:00
Zoltan HERPAI
3ed8927cf5 sunxi: fix network bringup on Olinuxino Micro boards
It's the A13-based Olinuxino Micro which has only wireless interfaces. The
A20-based board is a fully-fledged one which has an ethernet interface.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-17 01:10:24 +02:00
Hauke Mehrtens
9693ed6a9e kernel: bump 5.15 to 5.15.155
Manual adapted the following patches:
   generic/hack-5.15/221-module_exports.patch
   octeontx/patches-5.15/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-16 23:11:25 +02:00
Rodrigo Balerdi
1c32cee348 ipq40xx: whw03v2: enable additional 5 GHz channels
This device supports channel ranges 36-64 and 100-165, just like
others based on the same reference design, but its current DTS is
unnecessarily restricting these ranges to 36-48 and 149-165.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2024-04-16 21:51:48 +02:00
Zoltan HERPAI
bc4342142c sunxi: update a13-olimex-som DTS path
In preparation for supporting kernel 6.6, where the DTS files are grouped into
vendors - similarly to what arm64 has been doing all along -, update the
SUNXI_DTS var of this board to prepend it with SUNXI_DTS_DIR.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-16 19:41:58 +02:00
Zoltan HERPAI
12137cb460 pistachio: remove 5.15 support
Now that 6.1 is default, remove 5.15 support.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-16 12:35:05 +02:00
Zoltan HERPAI
20bf7c3ff7 pistachio: default to kernel 6.1
6.1 has been present as testing for some time now, so switch the
default to it.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-16 12:20:59 +02:00
Hauke Mehrtens
8c3dfdc46b kernel: Add missing config option
Kernel 6.1.83 allows to select CONFIG_GPIO_VF610, deactivate it by
default.

This fixes compilation of the armsr/armv8 target.

Fixes: 2ad898e091 ("kernel: bump 6.1 to 6.1.83")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-15 22:50:34 +02:00
Vince McKinsey
cab2e1de0d ramips: Add support for D-Link DIR-3040 A1
This adds support for the A1 hardware revision of the DIR-3040.
It is an exact copy of the DIR-3060 save for some cosmetic changes to the housing.
Even going so far as having the same FCC ID.

Hardware specification:
SoC: MediaTek MT7621AT
Flash: Winbond W29N01HVSINA 128MB
RAM: Micron MT41K128M16JT-125 256MB
Ethernet: 5x 10/100/1000 Mbps
WiFi1: MT7615DN 2.4GHz N 2x2:2
WiFi2: MT7615DN 5GHz AC 2x2:2
WiFi3: MT7615N 5GHz AC 4x4:4
Button: WPS, Reset

Flash instructions:
OpenWrt can be installed via D-Link Recovery GUI:
NOTE: Seems to only work in Firefox on Windows.
Tried with Chrome on Windows, Firefox in Linux, and Chromium in Linux.
None of these other browsers worked.

    1. Push and hold reset button (on the bottom of the device) until power led
	starts flashing (about 10 secs or so) while plugging in the power cable.
    2. Give it ~30 seconds, to boot the recovery mode GUI
    3. Connect your client computer to LAN1 of the device
    4. Set your client IP address manually to 192.168.0.2 / 255.255.255.0.
    5. Call the recovery page for the device at http://192.168.0.1/
    6. Use the provided emergency web GUI to upload and flash a new firmware to the device

Thanks to @Lucky1openwrt and @iivailo for creating the DIR-3060 DTS file and related changes,
so it was possible for me to adapt them to the DIR-3040, build images,
test and fix minor issues.

MAC Addresses:

| use | address | example |
| --- | --- | --- |
| LAN | label | f4:*:61 |
| WAN | label + 4 | f4:*:65 |
| WI1/2g | label + 2 | f4:*:63 |
| WI1/5g | label + 1 | f4:*:62 |
| WI2/5g | label + 3 | f4:*:64 |

The label MAC address was found in Factory, 0xe000

Checklist:

✓ nand
✓ ethernet
✓ button
✓ wifi2g
✓ wifi5g
✓ wifi5g
✓ mac
✓ led

Signed-off-by: Vince McKinsey <vincemckinsey@gmail.com>
2024-04-14 20:34:36 +02:00
INAGAKI Hiroshi
e0cc69bef4 mvebu: fix LEDs on IIJ SA-W2
On IIJ SA-W2, some multiple LEDs have no "function" property and only
"color" property is available for the newer binding of LED on Linux
Kernel.
9d93b6d091 ("mvebu: drop redundant label with new LED color/function
format") removes "label" property from LEDs, then, multiple "<color>:"
(ex.: "green:"/"red:") will be appeared and renamed to "<color>:_<num>"
(ex.: "green:_1", "green:_2", ...) by kernel.

log:

[    1.911118] leds-gpio leds: Led green: renamed to green:_1 due to name collision
[    1.918600] leds-gpio leds: Led red: renamed to red:_1 due to name collision
[    1.925727] leds-gpio leds: Led green: renamed to green:_2 due to name collision
[    1.933202] leds-gpio leds: Led red: renamed to red:_2 due to name collision
[    1.940321] leds-gpio leds: Led green: renamed to green:_3 due to name collision
[    1.947797] leds-gpio leds: Led red: renamed to red:_3 due to name collision
[    1.954939] leds-gpio leds: Led green: renamed to green:_4 due to name collision
[    1.962456] leds-gpio leds: Led green: renamed to green:_5 due to name collision

/sys/class/leds:

root@OpenWrt:/# ls /sys/class/leds/
green:        green:_3      green:status  red:_2
green:_1      green:_4      red:          red:_3
green:_2      green:_5      red:_1        red:status

Fix this issue by adding missing "function" (and "function-enumerator")
property to those LEDs on IIJ SA-W2.

Fixes: 9d93b6d091 ("mvebu: drop redundant label with new LED color/function format")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2024-04-14 19:46:30 +02:00
INAGAKI Hiroshi
5038ec5bba mvebu: fix LEDs on Fortinet FortiGate devices
On Fortinet FortiGate 30E/50E, some multiple LEDs have no "function"
property and only "color" property is available for the new binding of
LED on Linux Kernel.
9d93b6d091 ("mvebu: drop redundant label with new LED color/function
format") removes "label" property from LEDs, then, multiple "<color>:"
(ex.: "green:"/"red:"/"amber:") will be appeared as LED names and
renamed to "<color>:_<num>" (ex.: "green:_1", "green:_2", ...) by
kernel.

log:

[   12.425170] leds-gpio gpio-leds: Led green: renamed to green:_1 due to name collision
[   12.520390] leds-gpio gpio-leds: Led amber: renamed to amber:_1 due to name collision
[   12.614931] leds-gpio gpio-leds: Led green: renamed to green:_2 due to name collision
[   12.709895] leds-gpio gpio-leds: Led green: renamed to green:_3 due to name collision
[   12.804439] leds-gpio gpio-leds: Led amber: renamed to amber:_2 due to name collision
[   12.898969] leds-gpio gpio-leds: Led green: renamed to green:_4 due to name collision
[   12.993504] leds-gpio gpio-leds: Led amber: renamed to amber:_3 due to name collision
[   13.088033] leds-gpio gpio-leds: Led green: renamed to green:_5 due to name collision
[   13.182570] leds-gpio gpio-leds: Led green: renamed to green:_6 due to name collision
[   13.277103] leds-gpio gpio-leds: Led amber: renamed to amber:_4 due to name collision
[   13.371636] leds-gpio gpio-leds: Led green: renamed to green:_7 due to name collision

/sys/class/leds:

root@OpenWrt:/# ls /sys/class/leds/
amber:        amber:_4      green:_2      green:_6      red:alarm
amber:_1      amber:alarm   green:_3      green:_7      red:status
amber:_2      green:        green:_4      green:status
amber:_3      green:_1      green:_5      red:

Fix this issue by adding missing "function" (and "function-enumerator")
property those to LEDs on Fortinet FortiGate devices.
Note: there is no appropriate function for "ha" LEDs in
dt-bindings/leds/common.h, so use the hardcoded string for them instead.

Fixes: 9d93b6d091 ("mvebu: drop redundant label with new LED color/function format")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2024-04-14 19:46:30 +02:00
INAGAKI Hiroshi
3bdc68279a kernel: add pending patches for new LED_FUNCTION_* definitions
Add pending patches to add LED_FUNCTION_MOBILE and LED_FUNCTION_SPEED_*
definitions for Fortinet FortiGate devices and IIJ SA-W2.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2024-04-14 19:46:30 +02:00
Felix Golatofski
ee3a6adc6c ath79: add support for Comfast CF-EW71 v2
Specifications:
Qualcomm/Atheros QCA9531
2x 10/100 Mbps Ethernet, with 48v PoE
2T2R 2.4 GHz, 802.11b/g/n
128MB RAM
16MB SPI Flash
4x LED (Always On Power, LAN, WAN, WLAN)

Flashing instructions:
The original firmware is based on OpenWrt, so flashing the sysupgrade image over the factory firmware is sufficient.
The bootloader has a built-in recovery web-ui. This is the method I used to flash OpenWrt. You can get to the recovery web-ui by holding down the reset button for a few seconds (~5s) while pluggin in the router. The LEDs should start blinking fast and the router should be available on 192.168.1.1 for the recovery.

Tested: Reset button, WAN LED, LAN LED, Power LED (always on, not much to test), WLAN LED, MAC addresses (same as factory firmware).

Signed-off-by: Felix Golatofski <git@xdfr.de>
2024-04-14 19:20:06 +02:00
Hauke Mehrtens
2909cce1b2 kernel: bump 6.1 to 6.1.86
Removed upstreamed:
   bcm27xx/patches-6.1/950-1235-drm-vc4-don-t-check-if-plane-state-fb-state-fb.patch  [1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.86&id=48bfb4b03c5ff6e1fa1dc73fb915e150b0968c40

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-14 18:03:37 +02:00
Hauke Mehrtens
1a44a260fe kernel: bump 6.1 to 6.1.84
Removed upstreamed:
   pistachio/patches-6.1/110-pwm-img-fix-clock-lookup.patch [1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.84&id=44b6fb6cdedb2c391a2da355521d4610b2645fcc

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-14 18:03:37 +02:00
Hauke Mehrtens
2ad898e091 kernel: bump 6.1 to 6.1.83
Removed upstreamed:
   generic/backport-6.1/789-STABLE-01-net-dsa-mt7530-prevent-possible-incorrect-XTAL-frequ.patch [1]
   generic/backport-6.1/789-STABLE-02-net-dsa-mt7530-fix-link-local-frames-that-ingress-vl.patch [2]
   generic/backport-6.1/789-STABLE-03-net-dsa-mt7530-fix-handling-of-all-link-local-frames.patch [3]
   generic/pending-6.1/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch [4]
   generic/pending-6.1/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch [5]

Manual adjusted the following patches:
  mediatek/patches-6.1/100-dts-update-mt7622-rfb1.patch

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.83&id=be4512b9ac6fc53e1ca8daccbda84f643215c547
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.83&id=f1fa919ea59655f73cb3972264e157b8831ba546
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.83&id=86c0c154a759f2af9612a04bdf29110f02dce956
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.83&id=6b62bad2da1b338f452a9380639fc9b093d75a25
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.83&id=f78807362828ad01db2a9ed005bf79501b620f27

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-14 18:03:37 +02:00
Hauke Mehrtens
9ea685d862 kernel: Reorder generic kernel 6.1 config
This reordering was done using these commands:
./scripts/kconfig.pl '+' target/linux/generic/config-6.1 /dev/null > target/linux/generic/config-6.1-new
mv target/linux/generic/config-6.1-new target/linux/generic/config-6.1

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-04-14 18:03:37 +02:00
John Audia
86171d4d6e kernel: bump 6.6 to 6.6.27
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.27

Removed upstreamed:
	pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch[1]

All patches automatically rebased.

1. 9dff96b8b3

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64/AMD Cezanne
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-04-14 17:50:27 +02:00
John Audia
ec97609154 x86: generic: config-6.6: refresh
Ran `make kernel_menuconfig`

Reference to CONFIG_SPECTRE_BHI_ON=y[1]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v6.6.26&id2=v6.6.25

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-04-14 17:50:27 +02:00
John Audia
9d95934289 kernel: bump 6.6 to 6.6.26
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.26

Manually rebased:
	generic/hack-6.6/210-darwin_scripts_include.patch

Added pending:
	generic/pending-6.6/981-gcc-plugins-stackleak-Avoid-.head.txt.section.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-04-14 17:50:27 +02:00
Rodrigo Balerdi
c2f52e42b1 ipq40xx: whw03v2: change LED color for 'running' state to blue
Change the RGB indicator LED color for the running state from green to
blue. There are various reasons for this change:

- In stock firmware, green means internet connection is up, red means it
  is down, and blue means indeterminate. To track stock behavior as
  closely as possible, OpenWrt should indicate blue by default.

- In the current 23.x OpenWrt releases for this router, the led glows
  blue all the time -not green- because the bootloader sets it blue
  and there is an OpenWrt bug that makes it unable to control the LED.
  The bug is fixed in master, so without this commit there would be an
  unexpected change of behavior for this device in the next release.

- The ports other closely related Linksys devices (such as EA8300 and
  MR8300) get this right and use blue for the running state.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2024-04-13 23:07:54 +02:00
Rodrigo Balerdi
fc62d66c20 ipq40xx: whw03v2: fix handling of RGB LED
The RGB LED should glow green in the 'running' state, but it
was glowing cyan because the blue component defaulted to 'on'.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
2024-04-13 22:56:04 +02:00
Daniel Golle
eb13076e77 mediatek: fix DTS defining mt7530 switch phys but not referencing them
The upstream solution to define the MDIO bus in DT is a bit
more strict than our previous downstream solution doing the same thing
and now requires switch PHYs to be referenced in DT as well.

Arınç Ünal told us in #15141:
"With [the now upstream patch written by him which we backported], the
switch MDIO bus won't be assigned to ds->user_mii_bus when the switch
MDIO bus is defined on the device tree anymore. This was not the case
with the downstream patch.

When ds->user_mii_bus is populated, DSA will 1:1 map the port with
PHY. Meaning port with address 1 will be mapped to PHY with address 1.
Because that ds->user_mii_bus is not populated when the switch MDIO
bus is defined on the device tree, on every port node, the PHY address
must be supplied by the phy-handle property."

Add those phy-handles to affected devices' DT.

Fixes: 4354b34f6f ("generic: 6.6: sync mt7530 DSA driver with upstream")
Fixes: 401a6ccfaf ("generic: 6.1: sync mt7530 DSA driver with upstream")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-13 18:49:30 +01:00
Mieczyslaw Nalewaj
c08f8a4a49 ramips: add support for TP-Link EC220-G5 v2
TP-Link EC220-G5 v2 is a dual band router with 4 GbE ports
Advertised as AC1200 for its 867Mbps (2x2) 5GHz band
and 300 Mbps (2x2) 2.4GHz band.

Specs:
- SoC: MediaTek MT7620A
- Ethernet: 4x GbE ports (Realtek RTL8367S)
- Wireless 2.4GHz: MediaTek MT7620A
- Wireless 5GHz: MediaTek MT7612E
- RAM: 64MiB
- ROM: 8MiB (W25Q64BV)
- 2 Buttons (WPS and reset)
- 7 LEDs

Flash instructions via serial console:
1. Rename the factory.bin to to test.bin
2. start a TFTP server from IP address 192.168.0.225 and serve the image named test.bin
3. connect your device to the LAN port
4. power up the router and press 4 on the console to stop the boot process.
5. enter the following commands on the router console
	tftp 0x80060000 test.bin
	erase tplink 0x20000 0x7a0000
	cp.b 0x80060000 0x20000 0x7a0000
	reset

Flash instructions via TFTP:
1. Update orginal firmware of the router to the latest one.
2. Rename openwrt-ramips-mt7620-tplink_ec220-g5-v2-squashfs-tftp-recovery.bin to tp_recovery.bin
3. Change computer IP to 192.168.0.66
4. Run TFTP serwer
5. Start the router with the reset button pressed, the file will be automatically downloaded and after a while the router will restart.
6. After updating, set your computer's IP to DHCP

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-13 17:40:51 +02:00
Mieczyslaw Nalewaj
ada3c41acd ramips: mt7620a_tplink_archer.dtsi rename to mt7620a_tplink_8m.dtsi
Change the name mt7620a_tplink_archer.dtsi to mt7620a_tplink_8m.dtsi because it will also be a base for TP-Link non-Archer routers.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-13 17:40:51 +02:00
Mieczyslaw Nalewaj
6258492e1b ramips: TP-Link Archer C2 v1: simplification of the dts definition
Import from the mt7620a_tplink_archer.dtsi file and thus simplify the rest of the definition.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-13 17:40:51 +02:00
Mieczyslaw Nalewaj
c97be14c8c ramips: mt7620a_tplink_archer.dtsi - remove unnecessary nvmem-cells definitions
Remove unnecessary nvmem-cells definitions that are being redefined anyway.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-13 17:40:51 +02:00
Stijn Tintel
291efaf765 realtek: fix filter_port_list_reverse calls
The function introduced in commit 7cbfe5654d is named
filter_port_list_reverse, not filter_port_list_reversed.

Fixes the following error on hpe,1920-8g-poe-65w and
hpe,1920-8g-poe-180w.

  /bin/board_detect: /etc/board.d/02_network: line 84: filter_port_list_reversed: not found

Fixes: 7cbfe5654d ("realtek: move port filtering out of uci_set_poe()")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Sander Vanheule <sander@svanheule.net>
2024-04-13 13:22:11 +03:00
Paul Spooren
2496f436a8
build: use zstd for IB, toolchain, SDK and LLVM compression
Use similar efficient but faster compression algorithm.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-13 08:05:04 +02:00
Paul Donald
ae192c042c
mediatek: mt7622: rtl8367c: source code spell fixes
Improves indexing and searches

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-04-12 14:46:32 +02:00
Paul Donald
81e4aabac3
mediatek: mt7622: rtl8367c: source comment fixes
Fix also some Chinese -> UTF8 encoding problems

Improves indexing and searches

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-04-12 14:46:32 +02:00
Paul Donald
90488d274e
mediatek: mt7622: rtl8367c: source comment fixes
Fix also some Chinese GB18030 -> UTF-8 encoding problems

(translated the Chinese strings to English):
修改 -> modification
port8~port10的设置在另外一个register ->
 port8~port10 setup is done in a separate register


You are in the correct (UTF-8) encoding when you see:
 * $Date: 2017-03-08 15:13:58 +0800 (週三, 08 三月 2017) $
e.g. week 3, 08 third month, 2017
But not if you see:
 * $Date: 2017-03-08 15:13:58 +0800 (閫变笁, 08 涓夋湀 2017) $


rtl8367c/rtl8367c_asicdrv_lut.c should be read as UTF-8, despite having
some earlier Chinese text lost to GB18030 encoding.

Improves indexing and searches

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-04-12 14:46:32 +02:00
Paul Donald
afad4e8ab6
mediatek: mt7622: rtl8367c: source comment fixes
Fix also some Chinese -> UTF8 encoding problems

Improves indexing and searches

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-04-12 14:46:32 +02:00
Paul Donald
a2b94afc0d
mediatek: mt7622: rtl8367c: source comment fixes
Improves indexing and searches

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-04-12 14:46:28 +02:00
Sean Khan
849ebc905b qualcommax: enhance smp_affinity (log, uci, syntax)
1.) Changed logic of `set_affinity` to now use physical cores rather than
    knowing the bitmask. Rather than having to know a bitmask, users can
    provide a numerical instance of one or more CPU cores
    (numbered 0-63).

    This is done via function `cpus_to_bitmask`.

    Functions Added:

    a.) bitmask_to_cpus - Takes a bitmask of CPUs and returns a
         list of CPU numbers. (i.e. `bitmask_to_cpus "f"` -> 0,1,2,3)

    b.) cpus_to_bitmask - Takes a comma/space or range list of CPUs and returns
         a bitmask.

         Example:
         `cpus_to_bitmask "2,3"`     -> c
         `cpus_to_bitmask "0,1,2,3"` -> f
         `cpus_to_bitmask "1,3"`     -> a

         With or without quotes
         `cpus_to_bitmask "1 3"`     -> a
         `cpus_to_bitmask  1 3`      -> a

2.) Added UCI options:

    enable     - to enable/disable the script from running.   [default 1 (on)]
    enable_log - to enable/disable logging output to `logger`.[default 1 (on)]

    Log output:
```
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(87) reo2host-destination-ring1    to CPU 0
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(88) reo2host-destination-ring2    to CPU 1
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(89) reo2host-destination-ring3    to CPU 2
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(90) reo2host-destination-ring4    to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(79) wbm2host-tx-completions-ring1 to CPU 1
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(83) wbm2host-tx-completions-ring2 to CPU 2
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(85) wbm2host-tx-completions-ring3 to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(73) ppdu-end-interrupts-mac1      to CPU 1
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(77) ppdu-end-interrupts-mac2      to CPU 2
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(75) ppdu-end-interrupts-mac3      to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(32) edma_txcmpl                   to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(33) edma_rxfill                   to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(35) edma_rxdesc                   to CPU 3
    Mon Apr  8 23:00:01 2024 user.notice smp_affinity: Pinning IRQ(36) edma_misc                     to CPU 3
```

    Output of `/proc/interrupts`:
```
 69:          0          0          0          0 GIC-0 209 Edge      rxdma2host-destination-ring-mac1
 70:          0          0          0          0 GIC-0 211 Edge      rxdma2host-destination-ring-mac3
 71:          0          0          0          0 GIC-0 210 Edge      rxdma2host-destination-ring-mac2
 72:       2435          0          0          0 GIC-0 321 Edge      reo2host-status
 73:     268427       8011          0          0 GIC-0 261 Edge      ppdu-end-interrupts-mac1
 74:          2          0          0          0 GIC-0 255 Edge      rxdma2host-monitor-status-ring-mac1
 75:     176169          0          4      10035 GIC-0 263 Edge      ppdu-end-interrupts-mac3
 76:          2          0          0          0 GIC-0 260 Edge      rxdma2host-monitor-status-ring-mac3
 77:          0          0          0          0 GIC-0 262 Edge      ppdu-end-interrupts-mac2
 78:          0          0          0          0 GIC-0 256 Edge      rxdma2host-monitor-status-ring-mac2
 79:       3428       3123          0          0 GIC-0 189 Edge      wbm2host-tx-completions-ring1
 80:          0          0          0          0 GIC-0 323 Edge      reo2ost-exception
 81:        178          0          0          0 GIC-0 322 Edge      wbm2host-rx-release
 82:          0          0          0          0 GIC-0 212 Edge      host2rxdma-host-buf-ring-mac1
 83:       6524          0      13712          0 GIC-0 190 Edge      wbm2host-tx-completions-ring2
 84:          4          0          0          0 GIC-0 235 Edge      host2rxdma-host-buf-ring-mac3
 85:        560          0          0       1979 GIC-0 191 Edge      wbm2host-tx-completions-ring3
 86:          0          0          0          0 GIC-0 215 Edge      host2rxdma-host-buf-ring-mac2
 87:       4520          0          0          0 GIC-0 267 Edge      reo2host-destination-ring1
 88:       2231       2811          0          0 GIC-0 268 Edge      reo2host-destination-ring2
 89:       2180          0       2512          0 GIC-0 271 Edge      reo2host-destination-ring3
 90:       1990          0          0       2321 GIC-0 320 Edge      reo2host-destination-ring4
```

3.) Added `uci-defaults` script `15_smp_affinity` to configure defaults
    options on first boot.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-12 13:22:12 +02:00
Robert Marko
076f945dfb qualcommax: drop 6.1 support
We have defaulted to 6.6 for a while so its time to completely drop 6.1
so new devices dont have to include patches for 6.1.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-11 17:26:47 +02:00
Robert Marko
923d7c5531
mediatek: filogic: add support for Edgecore EAP111
HW specifications:
* Mediatek MT7981A
* 256MB SPI-NAND
* 512MB DRAM
* Uplink: 1 x 10/100/1000Base-T Ethernet, Auto MDIX, RJ-45 with 802.3at
PoE (Built-in GBe PHY)
* LAN: 1 x 10/100/1000Base-T Ethernet, Auto MDIX, RJ-45 (Airoha EN8801SC)
* 1 Tricolor LED
* Reset button
* 12V/2.0A DC input

Installation:
Board comes with OpenWifi/TIP which is OpenWrt based, so sysupgrade can
be used directly over SSH.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2024-04-11 13:25:11 +02:00
Robert Marko
2dba4308d1
mediatek: add Airoha EN8801SC PHY driver
Airoha EN8801SC PHY is a gigabit PHY used on Edgecore EAP111 so, include
the MTK driver with some cleanups.

Unfortunatelly, there is no specification sheet nor datasheet available
in order to demistify the magic PBUS writes and work on upstreaming
this driver.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2024-04-11 13:10:15 +02:00
Daniel Golle
98f9154316 generic: 6.1, 6.6: import two pending patches for mt7530 DSA driver
First patch allows to inquire and modify Energy-Efficient-Ethernet
(EEE) settings via ethtool and thereby override the default setting of
a board done via bootstrap pins.

The second patch fixes a long-standing issue with STP (and similar
protocols) when using boards (or SoCs) governed by the mt7530 DSA
driver.

Both patches could also be (dirty-)applied to Linux 5.15, but I'd
rather just wait for that to happen via linux-stable to avoid the
mess.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-10 18:50:32 +01:00
Daniel Golle
4354b34f6f generic: 6.6: sync mt7530 DSA driver with upstream
Backport lots upstream changes, many of them fixes, for the mt7530 DSA
driver, similar to how it was done for Linux 6.1 in the previous commit.

The remaining differences compared to the upstream driver are only
the 'slave' -> 'user', 'master' -> 'conduit' language change in DSA
and the rename of 'struct ethtool_eee' to 'struct ethtool_keee' as
well as tree-wide replacement of ethtool_sprintf with ethtool_puts,
all of them do not have any functional impact.

Apart from some minor bug fixes and style improvements the switch
should now behave more conformant when it comes to link-local frames,
and we will again be able to cleanly pick patches from upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-10 18:50:32 +01:00
Daniel Golle
401a6ccfaf generic: 6.1: sync mt7530 DSA driver with upstream
Backport lots upstream changes, many of them fixes, for the mt7530 DSA
driver. Some of them may or may not find they way into Linux 6.1
stable, some certainly won't because they are fixes for backported
commits which aren't even present in Linux 6.1 upstream.

Apart from adding new patches, also remove mutated patch
723-net-mt7531-ensure-all-MACs-are-powered-down-before-r.patch
which should never have been added for Linux 6.1 -- it was applied
already upstream but coincidentally would fuzzy-apply in the wrong
place as well (for MT7530 instead of MT7531). While that didn't really
hurt anyone it is just unneeded.

The other deleted patch
795-mt7530-register-OF-node-for-internal-MDIO-bus.patch
has been replaced by an equivalent commit with a more complete patch
description by upstream maintainer Arınç Ünal.

The remaining differences compared to the upstream driver are:
 * C22/C45 MDIO ops aren't split
   Upstream did that, backporting it would require making changes to
   *all* DSA drivers
 * 'slave' -> 'user', 'master' -> 'conduit' language change in DSA
 * support for selecting preferred CPU port on MT7531
   Also this would require too many DSA framework changes potentially
   affecting other devices. If we ever really use Linux 6.1 in a
   release (I hope not) we can still reconsider to make the effort to
   backport that.

In addition to some minor bug fixes and style improvements the switch
should now behave more conformant when it comes to link-local frames,
and we will again be able to cleanly pick patches from upstream.

MAINTAIERS NOTE:
Three patches are already part of Linux stable and should be removed with
the next minor kernel version bump:
789-STABLE-01-net-dsa-mt7530-prevent-possible-incorrect-XTAL-frequ.patch
789-STABLE-02-net-dsa-mt7530-fix-link-local-frames-that-ingress-vl.patch
789-STABLE-03-net-dsa-mt7530-fix-handling-of-all-link-local-frames.patch

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-10 18:50:32 +01:00
Daniel Golle
a68eb99191 generic: add missing patch headers
Make sure all patches can be applied to a git tree using 'git am'
by adding missing patch headers where needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-09 17:54:08 +01:00
Daniel Golle
1ae3c53466 mediatek: filogic: switch TP-LINK XDR series to fitblk
Instead of using the deprecated FIT partition parser, use the new
fitblk driver instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-09 15:07:41 +01:00
Daniel Golle
d4e8653e1e mvebu: puzzle-m90x: wipe rootfs_data on sysupgrade
The sysupgrade formware of the Puzzle series is a slightly strange
dual-boot approach while remaining compatible with Marvell's SDK
firmware upgrade binary format -- which happens to be a full-disk
image with GPT partition table. Hence that /lib/upgrade/emmc-puzzle.sh
script is like an exotic disease which results from those decisions,
and as we also want to somehow stay compatible with the IEI-World
stock firmware we got to use it in that same way (we are not
compatible with the QNAP-branded identical hardware device anyway).

Currently, on sysupgrade the result is that one ends up with the old
content of rootfs_data (a GPT partition on those devices) as nothing
ever wipes or in any way re-creates the filesystem there. As a simple
work-around, let's kill the filesystem on rootfs_data so fstools
re-formats it on the next boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-09 14:59:03 +01:00
Robert Marko
7c39a95a2f sdk: include lib/crtsavres.o for powerpc
Trying to link certain kernel modules like dahdi-linux when building with
the OpenWrt SDK will fail with:
openwrt-sdk-apm821xx-sata_gcc-13.2.0_musl.Linux-x86_64/staging_dir/toolchain-powerpc_464fp_gcc-13.2.0_musl/bin/powerpc-openwrt-linux-musl-ld: cannot find arch/powerpc/lib/crtsavres.o: No such file or directory

Previously this worked with the PowerPC SDK since we carried a hack that
was passing --save-restore-funcs to module LDFLAGS so the linker provided
the required functions automatically as without --save-restore-funcs it
doesnt do so automatically on relocatable links and as a sideffect did not
require the kernel provided crtsaves.o to link against.

Now that hack has been removed as upstream kernel now compiles crtsaves.o
by default so it can be linked against but its not included in the SDK.

So, lets include lib/crtsavres.o when SDK is generated for PowerPC.

Fixes: 99c9d8abd6 ("kernel: bump 5.15 to 5.15.148")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-09 11:13:18 +02:00
Sean Khan
d606b84c4e qualcommax: Skip compiling unnecessary dtbs
Currently the compile phase of the kernel builds `Image dtbs modules`.
However, none of the dtbs that get built are used for the final image.

This ends up unnecessarily taking CPU cycles and produces a lot of
`WARNINGS` that can lead users to believe there's cause for concern. I
believe the same principle can be applied to other targets.

```
DTC     arch/arm64/boot/dts/qcom/msm8996-mtp.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-dora.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-kagura.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone-keyaki.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-xiaomi-natrium.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])

DTC     arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dtb
arch/arm64/boot/dts/qcom/msm8996.dtsi:2954.36-2962.5: Warning (clocks_property):
/soc/clock-controller@6400000: Missing property '#clock-cells' in node
/soc/mailbox@9820000 or bad phandle (referred from clocks[2])
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-08 16:24:12 -04:00
Paul Spooren
d997477775 treewide: remove implicit SUBTARGET
Historically it's possible to leave the `SUBTARGETS` undefined and
automatically fallback to a "generic" subtarget. This however breaks
various downstream scripts which may have expectations around filenames:

While some targets with an explicit generic subtarget contain `generic`
in the filenames of artifacts, implicit "subtargets" don't.

Right now this breaks the CI[1], possibly also scripts using the ImageBuilders.

This commit removes all code that support implicit handling of
subtargets and instead requires every target to define "SUBTARGETS".

[1]: https://github.com/openwrt/openwrt/actions/runs/8592821105/job/23548273630

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-08 21:53:05 +02:00
Paul Spooren
3ce1e4c3d3 d1: define subtarget specifically
Historically it's possible to leave the `SUBTARGETS` undefined and
automatically fallback to a "generic" subtarget. This however breaks
various downstream scripts which may have expectations around filenames:

While some targets with an explicit generic subtarget contain `generic`
in the filenames of artifacts, implicit "subtargets" don't.

Right now this breaks the CI[1], possibly also scripts using the ImageBuilders.

Do to the D1 target what's done to other target, explicitly define the
"generic" subtarget.

[1]: https://github.com/openwrt/openwrt/actions/runs/8592821105/job/23548273630

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-08 21:52:51 +02:00
Mirko Vogt
0688cf5aeb realtek: add support for switch Zyxel GS1900-24EP
This device is very similar to the GS1900-24E switch (added in b515ad1),
except that the first 12 of 24 ethernet ports are capable of PoE and the
physical jacks are in the right order - unlike for the GS1900-24E, where
even and uneven ports are flipped (up <-> down on panel).

Zyxel version code for this device (-24EP) is: ABTO

Signed-off-by: Mirko Vogt <mirko-openwrt@nanl.de>
2024-04-08 21:31:55 +02:00
Álvaro Fernández Rojas
6512333518 bcm27xx: bcm2712: backport RP1 interrupt affinity
Support for setting the CPU affinity on RP1 has been added to RPi linux v6.6

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-07 22:12:42 +02:00
Álvaro Fernández Rojas
20fe7e687e bcm27xx: update 6.1 patches from RPi foundation
Sync 6.1 patches with the RPi foundation.
Since rpi-6.6.y is now the main branch of the RPi foundation, there won't be
any new patches for linux 6.1.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-07 22:12:42 +02:00
Christian Marangi
449b5701d7
generic: backport at803x kernel panic fix
Backport at803x kernel panic fix merged upstream for kernel 6.1 and 6.6.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-07 16:57:22 +02:00
Robert Marko
153c9f3482 generic: 6.6: backport arm64 swiotlb default size reduction
Kernel 6.6 added dynamic SWIOTLB allocation, but with it also started
allocating 64MB of the SWIOTLB bounce buffer by default which is quite a
lot of memory on most OpenWrt devices.

Luckily in kernel 6.7 arm64 received an optimization that reduces that
default size to 1MB per 1GB of RAM if certain criteria was met.

So in order to reclaim back 63MB of RAM which brought some ipq807x devices
close to OOM under load lets backport the upstream commit.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-07 14:28:53 +02:00
Mieczyslaw Nalewaj
2b6fb2dfba x86: geode: 6.6: add missing kernel options
Add options removed by `make kernel_oldconfig CONFIG_TARGET=subtarget', missing which causes compilation to stop and cause an error.

Fixes: 2a86425de1 ("x86: 6.6: refresh kernel config")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-07 11:29:30 +02:00
John Audia
5c2eca676a kernel: bump 6.6 to 6.6.24
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.24

Removed upstreamed:
	generic/backport-6.6/838-v6.9-leds-trigger-netdev-Fix-kernel-panic-on-interface-re.patch[1]
	generic/backport-6.6/981-mtd-spinand-Add-support-for-5-byte-IDs.patch[2]
	mediatek/patches-6.6/831-thermal-drivers-mediatek-Fix-control-buffer-enablement-on-MT7896.patch[3]

Removed:
	ipq40xx/patches-6.6/110-mtd-limit-OTP-nvmem-to-non-nand-devices.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=10f2af1af8ab8a7064f193446abd5579d3def7e3
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=9c74507e6c4382d12a5e418742b81fd441f03313
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.24&id=fe750e2744428be6aec7395b13df3b34381ce6b6
4. Acknowledgment to @DragonBlurp for pointing out the redundancy of this patch. dd78a59cd7

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-04-05 14:43:44 -04:00
Mieczyslaw Nalewaj
4d3f41130e ipq806x: 6.6: refresh patches
Refresh patches for kernel 6.6.23 with make target/linux/refresh.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 17:32:21 +02:00
Zoltan HERPAI
5713032fd4 pistachio: add 6.1 testing kernel
Configure 6.1 as testing kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-05 15:37:38 +02:00
Zoltan HERPAI
91ce93a893 pistachio: refresh 6.1 config
Kernel config needs to be refreshed after copy from 5.15.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-05 15:37:37 +02:00
Zoltan HERPAI
47dee7be55 pistachio: update and extend 6.1 patches
Add:
110-pwm-img-fix-clock-lookup.patch
 - patch to fix a clock lookup issue from upstream
Update:
401-mtd-nor-support-mtd-name-from-device-tree.patch
 - mtd-name lookup hack to reflect the updated spi_nor_scan function

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-05 15:37:36 +02:00
Zoltan HERPAI
05fe149486 pistachio: copy config and patches of 5.15 to 6.1
Simple copy of config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-04-05 15:37:34 +02:00
Mieczyslaw Nalewaj
46efc77502 ipq40xx: 6.6: remove redundant patch
Remove file 110-mtd-limit-OTP-nvmem-to-non-nand-devices.patch redundand after adding 440-mtd-don-t-look-for-OTP-legacy-NVMEM-cells-if-proper-.patch in dd78a59

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 09:28:00 +02:00
Mieczyslaw Nalewaj
c72c35d664 kirkwood: 6.6: refresh patches
Refresh patches for kernel 6.6.23 with make target/linux/refresh.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 09:27:45 +02:00
Christian Lamparter
bc014392a4 apm821xx: restore 6.1 config+patches
simply attached previous versions of the
config-6.1 and patches-6.1 directory.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2024-04-05 09:26:26 +02:00
Christian Lamparter
56db0210a2 apm821xx: add 6.6 testing kernel
refreshed kernel config + patches

otherwise same as 6.1/5.15.

Tested on: WNDAP620, WNDAP660, MyBook Live Single, MR24, MX60, WNDR4700
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2024-04-05 09:26:26 +02:00
Christian Lamparter
82c8c38a5c apm821xx: prepare WNDR4700 for 6.6 - add preliminary u-boot-env access
With the default BUILD_BOT configuration on a linux 6.6 kernel,
the WNDR4700's kernel no longer fits into the alloted ~3.5MiB,
even with LZMA compression.

Bigger kernels are possible, but there's a problem with Netgear's
"bootcmd":

> if loadn_dniimg 0 0x180000 0x4e0000 && chk_dniimg 0x4e0000; then nand read 0x800000 0x180000 0x20000;bootm 0x500000 - 0x800040;else fw_recovery; fi"

This loads the dni-image starting offset 0x180000 from the NAND
flash (which is the DTB partition) to 0x4e0000 in the RAM. It then
checks whenever the provided image is "valid". If it is then it
reads the DTB again to 0x800000 in the RAM and starts the extraction
and boot process. (If the image wasn't valid then it starts the
automated firmware recovery).

The issues here are that first: the kernel image gets "squeezed"
between 0x500040 and 0x7fffff... And second, the decompressor
only has area 0x0 - 0x500000 for decompression.

Hence the image now requires to update the bootcmd by providing
new values (which have been successfully tested with the original
Netgear WNDR4700 v1.0.0.56 firmware) for the RAM locations and
make full use of the fact that loadn_dniimg loads the DTB as well.

This needs to be done only once. Just connect a serial adapter to
interface with uboot and overwrite (and save) the new bootcmd.

WARNING: The serial port needs a TTL/RS-232 3.3v level converter!

Steps:
 0. Power-off the WNDR4700
 1. Connect the serial interface (you need to open the WNDR4700)
 2. Power-up the WNDR4700
 3. Monitor the boot-sequence and hit "Enter"-key when it says:

  "Hit any key to stop autoboot" (Be quick, you have a ~2 second window)

 4. in the Prompt enter the following commands (copy & paste)

 setenv bootcmd "if loadn_dniimg 0 0x180000 0xce0000 && chk_dniimg 0xce0000; then bootm 0xd00000 - 0xce0040;else fw_recovery; fi"
 saveenv
 run bootcmd

Note: This new bootcmd will also unbrick devices that were bricked
by the bigger 4.19-6.1 kernels.

Note2: This method was tested with a WNDR4700. A big kernel with most
debug features enabled on v6.6.22 measured 4.30 MiB when compressed
with lzma. The uncompressed kernel is 12.34 MiB. This is over the 3 MiB,
the device reserves for the kernel... But it booted! For bigger kernels,
the device needs repartitioning of the the ubi partition due to the
kernel+dtb not fitting into the partition.

Note3: For initramfs development. I would advice to load the initramfs
images to 0x800000 (or higher). i.e.: tftp 800000 wndr4700.bin

Note4: the fw_recovery uboot command to transfer the factory image to
the flash still works.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2024-04-05 09:26:26 +02:00
Mieczyslaw Nalewaj
b7a9007828 ramips: 6.6: set testing kernel
Allow selecting 6.6 as testing kernel on ramips.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
093a5aab40 ramips: 6.6: refresh kernel config
Refresh kernel config.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
359a9295f2 ramips: adjusted pinctrl-aw9523 for kernel 6.6
Compatiblity with kernel 6.6 for Awinic AW9523B i2c pin controller driver.
It follows the kernel patch: i2c: Drop legacy callback .probe_new() (5eb1e6e459)
and kernel patch: gpiolib: Get rid of not used of_node member (70d0fc4288)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
fddadcae43 ramips: mt7620: alignment with updated snd_soc_dai_driver structure
Fix error: 'struct snd_soc_dai_driver' has no member named 'remove'
It follows the kernel patch: ASoC: soc-dai.h: remove unused call back functions (446b31e894)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Shiji Yang
c5dee97d87 generic: fix detect_memory_region() function
This patch fixes the broken detect_memory_region() function on
6.6 kernel.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
7753b143cd ramips: 6.6: fix net drivers compatibility
Fix compatibility of ralink net drivers with kernel 6.6.
It follows the kernel patch: u64_stats: Streamline the implementation (https://github.com/torvalds/linux/commit/44b0c2957adc62b86fcd51adeaf8e993171b)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
0e5fb421a9 ramips: 6.6: refresh patches
Refresh kernel patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
4b8b7438f7 ramips: 6.6: remove old patches
Remove patches for old kernel.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
662e8581ec kernel/ramips: Restore kernel files for v6.1
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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
7bd44e0a30 kernel/ramips: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
ed57a9f6a8 kernel/ramips: Restore kernel patches for v6.1
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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Mieczyslaw Nalewaj
f19f8a886b kernel/ramips: Create kernel patches for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-05 07:58:15 +02:00
Pawel Dembicki
c7d83d4379 kirkwood: add 6.6 kernel as testing version
This patch introduce kernel 6.6 for kirkwood target as testing version.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Pawel Dembicki
3b5b3d89ed kirkwood: split files into 6.1 and 6.6 version
Upstream change location of kirkwood dts files.
Split downstream files location for better upstream follow.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Pawel Dembicki
4e3093d90a kirkwood: kernel: refresh 6.6 config
Done by 'make kernel_oldconfig'.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Pawel Dembicki
70dd237ebd kirkwood: refresh 6.6 patches
Removed upstream merged:
002-6.2-ARM-dts-kirkwood-Add-Zyxel-NSA310S-board.patch
003-6.5-ARM-dts-kirkwood-Add-Endian-4i-Edge-200-board.patch
004-6.4-ARM-dts-kirkwood-Add-missing-phy-mode-and-fixed-link.patch
005-6.7-net-dsa-mv88e6xxx-fix-marvell-6350-switch-probing.patch

Manually refreshed:
100-ib62x0.patch
101-iconnect.patch
102-dockstar.patch
103-iomega-ix2-200.patch
105-linksys-viper-dts.patch
106-goflexnet.patch
107-01-zyxel-nsa3x0-common-nand-partitions.patch
107-03-nsa325.patch
109-pogoplug_v4.patch
110-pogo_e02.patch
111-l-50.patch
112-sheevaplug.patch
113-readynas_duo_v2.patch
114-ctera-c-200-v1.patch
115-nsa310s.patch
116-4i-edge-200.patch
117-netgear_stora.patch
203-blackarmor-nas220.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Pawel Dembicki
398fa87ef0 kernel/kirkwood: Restore kernel files for v6.1
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.

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

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Pawel Dembicki
a1201f9144 kernel/kirkwood: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
2024-04-04 18:31:21 +02:00
Isaev Ruslan
9ef4f7f919 qualcommax: ipq60xx: add yuncore fap650 support
This commit adds support for the Yuncore FAP650 device.

Specifications:
- Qualcomm IPQ6018+QCA8075+QCN5022+QCN5052
- 512 MB of RAM (DDR3)
- 8 MB of serial flash (SPI NOR)
- 128 MB of parallel flash (NAND)
- 2x2 2.4 GHz WiFi (IPQ6010)
- 2x2 5 GHz WiFi (IPQ6010)
- 2x 2dBi 2.4G MIMO antenna
- 2x 3dBi 5.8G MIMO antenna
- 5x 1 Gbps Ethernet (QCA8075)
- POE: 48V (IEEE 802.3af)
- power: 12V (~1.5A)
- 1x passthru port (rj45 - rj45)
- 1x cisco rj45 console port
- size: 160mm*86mm*29mm

BACKUP YOUR STOCK FIRMWARE:
```
export device=fap650
mkdir -p /tmp/fw_dump_$device
cd /tmp/fw_dump_$device
dmesg > dmesg_$device.log
dtc -I fs /sys/firmware/devicetree/base > $device.dts
cat /proc/device-tree/model > model
cat /proc/mtd > proc_mtd
while read p; do
mtd_dev=$(echo $p | cut -d: -f1)
echo $mtd_dev
dd if=/dev/$mtd_dev of=$mtd_dev
done < proc_mtd
md5sum * > md5sum.log
tar -cvzf ../$device.tar.gz .
export sum=$(md5sum /tmp/$device.tar.gz | cut -d' ' -f1)
mv ../$device.tar.gz /tmp/${device}_${sum}.tar.gz
echo fw backup saved to: /tmp/${device}_${sum}.tar.gz
```
Upload your backup via tftp to the safe place.

INSTALLATION:
1. stock firmware web ui
Rename factory.bin fw image file to factory.ubin. Flash this image
like ordinary stock fw upgrade.

2. stock firmware telnet method
Enter telnet cli (login: root, password: 476t*_f0%g09y) and upload
 factory.bin fw image and rename it to factory.ubin
`cd /tmp && wget <your_web_server_ip>/factory.ubin`
`sysupgrade factory.ubin

3. initramfs method
    Put imitramfs image to your TFTP server and rename it for example to fap650.initram
    Enable serial console and enter to the u-boot cli.
    Exec these commands:
    `tftpboot <your_tftp_server_ip>:fap650.initram`
    `dhcp`

    When downloading is finished:
    `bootm`
    After booting the device, you need to upload to the device factory.ubi fw image.
    ```
    cd /tmp && wget <your_web_server_ip>/factory.ubi`
    export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
    export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
    ubiformat /dev/${rootfs} -y -f factory.ubi
    ubiformat /dev/${rootfs_1} -y -f factory.ubi
    reboot
    ```

4. u-boot factory.ubi image method
    Put factory.ubi to your TFTP server
    Enter u-boot cli and exec these commands:
    `tftpboot <your_tftp_server_ip>:factory.ubi`
    `dhcp`
    After downloading is finished:
    `flash rootfs`
    `flash rootfs_1`
    `reset`

STOCK FIRMWARE RECOVERY:
Boot initramfs image.
Upload your rootfs mtd partition to the device using scp or download
it from the device using wget.
Enter device ssh cli and exec:
```
cd /tmp && wget <your_web_server_ip>/rootfs_mtd`
export rootfs=$(cat /proc/mtd | grep rootfs | cut -d: -f1)
export rootfs_1=$(cat /proc/mtd | grep rootfs_1 | cut -d: -f1)
ubiformat /dev/${rootfs} -y -f /tmp/rootfs_mtd
ubiformat /dev/${rootfs_1} -y -f /tmp/rootfs_mtd
reboot
```

Signed-off-by: Isaev Ruslan <legale.legale@gmail.com>
2024-04-04 09:29:17 +02:00
Mieczyslaw Nalewaj
1e7033d188 x86: 6.6: set testing kernel
Allow selecting 6.6 as testing kernel on x86.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
2a86425de1 x86: 6.6: refresh kernel config
Refresh kernel config.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
69b145188f generic: 6.6: Removal of tools_portability.patch already included in kernel 6.6
Removal of tools_portability.patch already included in kernel 6.6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Elliott Mitchell
01ff257dce kernel/x86: remove legacy 5.15 kernel config
Missed when removing the other 5.15 kernel configurations.

Fixes: b8ec063b38 ("x86: remove unused 5.15 kernel configs and patches")
Signed-off-by: Elliott Mitchell <ehem+openwrt@m5p.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
9e6fe7ddd2 x86: 6.6: refresh patches
Refresh kernel patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
391c5089be kernel/x86: Restore kernel patches for v6.1
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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
e893ccb2b3 kernel/x86: Create kernel patches for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
19910da69d kernel/x86: Restore kernel files for v6.1
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.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
6fce6e1560 kernel/x86: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Robert Marko
7a78b22dc8 mvebu: 6.6: refresh patches
Well, it seems that we have a patch that was not refreshed and CI is
complaining, so refresh it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-03 18:42:26 +02:00
Stijn Segers
ed893a3cc1 mvebu: add 6.6 testing kernel
Add 6.6 testing kernel for mvebu target.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
ab2fe43163 mvebu: cortexa9: set DTS dir for 6.6
With 6.6, all DTSes were moved to their vendor subdirectories. ARM64
DTSes already used this scheme, but 32 bit Cortex A9 did not, prior
to 6.6. Introduce a kernel version check to keep backward compatibility
with 6.1.

Suggested-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
2260ec4fb7 mvebu: 6.6: refresh patches
Manually refreshed:
 * 309-linksys-status-led.patch
 * 310-linksys-use-eth0-as-cpu-port.patch
 * 320-arm-dts-armada-370-synology-ds213j-mtd-parts.patch
 * 701-mvpp2-read-mac-address-from-nvmem.patch
 * 902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch

All other patches automatically refreshed.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
ad5e73fe0a mvebu: 6.6: remove upstreamed patches
000-cpufreq-armada-8k-add-ap807-support.patch was upstreamed.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
20024ab7c3 mvebu: 6.6: adjust 32 bit ARM DTS path
As of 6.6, all upstream DTSes are moved to their respective vendor subdir.
OpenWrt already followed this practice for ARM64, but not yet for 32 bit
ARM (Armada 37x/38x).

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
4671a92de3 mvebu: 6.6: copy files, patches & configs from 6.1
Copy all mvebu 6.1 specific files, patches and configs to 6.1.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Stijn Segers
9abfdc3ada mvebu: move files to files-6.1
DTS paths for 32 bit ARM devices changed with 6.6, move files/ to
files-6.1 to prep for kernel 6.6 introduction.

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
2024-04-03 17:49:53 +02:00
Mieczyslaw Nalewaj
0b10e5a5dc bcm27xx: refresh patches
Refresh patches for kernel 6.1.82 with make target/linux/refresh.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-03 11:47:18 +02:00
Christian Marangi
ac0e2194ab
ipq806x: add kernel 6.6 as a testing kernel version
Add and enable kernel 6.6 as a testing kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:02 +02:00
Christian Marangi
75acc621be
ipq806x: 6.6: update config file with missing symbol
Update config file with missing symbol added with kernel 6.6.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:01 +02:00
Christian Marangi
224f2fd567
ipq806x: 6.6: refresh kernel patches
Refresh kernel patches using make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:01 +02:00
Christian Marangi
4693100b3f
ipq806x: 6.6: add pending patch fixing nandc with new kernel
Add pending patch fixing nandc with new kerenel due to broken convertion
to new nand API. Patch has been sent upstream and will be backported to
stable kernel if accepted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:01 +02:00
Christian Marangi
a0cbf7f5d5
ipq806x: 6.6: rework kernel patches for new kernel
Rework kernel patches for new kernel. Mainly adaptation for patch
related to DTS and changes for the downstream div generalize patch that
now use determine_rate.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:01 +02:00
Christian Marangi
a705c8c681
ipq806x: 6.6: drop upstream kernel patches
Drop upstream kernel patches that were straight backport.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:00 +02:00
Christian Marangi
d840d1fdf9
ipq806x: split files in 6.1 and 6.6 dedicated directory
Since with recent kernel version DTS moved to a dedicated directory,
it's required to split files to per kernel version to follow kernel
version directory structure.

Also makes use of DEVICE_DTS_DIR to target the correct DTS directory
based on the kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:00 +02:00
Christian Marangi
3bf06ea9b3
kernel/ipq806x: Restore kernel files for v6.1
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.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:46:00 +02:00
Christian Marangi
a2bd0a7ef0
kernel/ipq806x: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:59 +02:00
Christian Marangi
032dad8818
ipq40xx: add kernel 6.6 as a testing kernel version
Add and enable kernel 6.6 as a testing kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:21 +02:00
Christian Marangi
dbd0bc7cf9
generic: 6.6: add missing config symbol
Add missing config symbol while adding support for kernel 6.6 for target
ipq806x.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:21 +02:00
Christian Marangi
f632e92951
ipq40xx: 6.6: update config file with missing symbol
Update config file with missing symbol added with kernel 6.6.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:21 +02:00
Christian Marangi
61d1eedc2d
ipq40xx: 6.6: refresh kernel patches
Refresh kernel patches using make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:20 +02:00
Christian Marangi
8ec76705d4
ipq806x: 6.6: add pending patch fixing mtdcore with MTD OTP
Add pending patch fixing mtdcore with MTD OTP with a fragile detection
if Nand supports OTP. Patch has been sent upstream and will be backported
to stable kernel if accepted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:20 +02:00
Christian Marangi
82531764fe
ipq40xx: 6.6: rework kernel patches for new kernel
Rework kernel patches for new kernel. Mainly adaptation for patch
related to DTS, OOB Tagger and SDHCI patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:20 +02:00
Christian Marangi
5323c45d78
ipq40xx: 6.6: drop upstream kernel patches
Drop upstream kernel patches that were straight backport.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:19 +02:00
Christian Marangi
6136ebabc5
ipq40xx: 6.6: fix DTS to use reference for usb node
Fix DTS to use reference for usb node instead of redefining
them since upstream usb node names changed from usb2/3 to usb.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:19 +02:00
Christian Marangi
68c4678871
ipq40xx: split files in 6.1 and 6.6 dedicated directory
Since with recent kernel version DTS moved to a dedicated directory,
it's required to split files to per kernel version to follow kernel
version directory structure.

Also makes use of DEVICE_DTS_DIR to target the correct DTS directory
based on the kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:19 +02:00
Christian Marangi
2265413bbf
kernel/ipq40xx: Restore kernel files for v6.1
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.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:19 +02:00
Christian Marangi
9309cfe37a
kernel/ipq40xx: Create kernel files for v6.6 (from v6.1)
This is an automatically generated commit.

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

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-02 23:45:18 +02:00
Mieczyslaw Nalewaj
5aa63c2b85 generic: 6.1: refresh backport patches
Refresh backport patches for kernel 6.1.82 with make target/linux/refresh.

Fixes: 06cdc07f8c ("ath79: add support for Huawei AP5030DN")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-01 13:37:52 +02:00
Tianling Shen
cc6c3a6ee8 mediatek: add support for OpenEmbed SOM7981
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 256 MiB SPI-NAND, 32 GB eMMC optional
  RAM: 0.5/1 GB DDR4
  Ethernet: 1x 1GbE, 1x 2.5GbE (RTL8221B)
  WiFi: MediaTek MT7976C
  USB: 1x USB 3.0
  GPIO: 26-Pin header
  UART: 6 GND, 8 TX, 10 RX (in Pin header)
  Button: Reset, WPS
  Power: Type-C PD

Installation:
The board comes with a third-party custom OpenWrt image, you can upload
sysupgrade image via LuCI directly WITHOUT keeping configurations.

Or power on the board with pressing reset button for 5 second, then visit
http://192.168.1.1 and upload -factory.bin firmware.

Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2024-03-31 20:20:59 +02:00
Radito Wahyu
5aca47bca1 ramips: add support for BOLT BL100
BL100 is a router made by Bolt by a provider in Indonesia
The original firmware created using Mediatek SDK and kernel 2.6.36

- Chipset: MediaTek MT7620A ver 2, eco 6
- RAM: 64 MB
- Bootloader: U Boot
- Flash: Winbond W25Q128BV (16 MB)
- Ports: 2x 10/100 Ethernet, 1x RJ-11 VoIP
- Modem: Qualcomm LTE B40 (2300 Mhz) VID:05c6 PID:9026
- Wireless: Internal MT7620A (2.4 Ghz) & Mediatek MT76x2E (5.8 Ghz)
- Switch: MediaTek MT7620A built-in 5-port 10/100M switch
- Voltage: DC 12V 1A
- Antenna Port: 2x External Antenna, 2 LTE U.FL, 2 WiFi U.FL
- Serial Port: Yes, 3.3 V TTL, Baud 57600 8N1
- Buttons: Reset and WPS
- LED: 15 Total
  - 4 blue lte, 2 red lte, 1 reset, 1 power.
  - 1 wps, 1 voip, 1 wlan2, 1 wlan5, 1 lan, 1 wan, 1 wlan.

Installation via stock firmware
1. Unlock Telnet access by downloading the backup .tar.gz file
2. Change the Telnet configuration to LAN_Telnet=1
3. Import backup configuration
4. Restart the router
5. Login to telnet with username and password = admin : db40
6. Download sysupgrade binary and mtd_write to the kernel partition
`mtd_write write openwrt-bolt_bl100-squashfs-sysupgrade.bin Kernel`

Signed-off-by: Radito Wahyu <arditogits@gmail.com>
2024-03-31 20:07:45 +02:00
Roland Reinl
29cca6cfee filogic: Add support for D-Link AQUILA PRO AI M30
Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - MT7531 switch
 - 512MB RAM
 - 128MB NAND flash with two UBI partitions with identical size
 - 1 multi color LED (red, green, blue, white) connected via GCA230718
 - 3 buttons (WPS, reset, LED on/off)
 - 1 1Gbit WAN port
 - 4 1Gbit LAN ports

Disassembly:
 - There are four screws at the bottom: 2 under the rubber feets, 2 under the label.
 - After removing the screws, the white plastic part can be shifted out of the blue part.
 - Be careful because the antennas are mounted on the side and the top of the white part.

Serial Interface
 - The serial interface can be connected to the 4 pin holes on the side of the board.
 - Pins (from front to rear):
   - 3.3V
   - RX
   - TX
   - GND
 - Settings: 115200, 8N1

MAC addresses:
 - WAN MAC is stored in partition "Odm" at offset 0x81
 - LAN (as printed on the device) is WAN MAC + 1
 - WLAN MAC (2.4 GHz) is WAN MAC + 2
 - WLAN MAC (5GHz) is WAN MAC + 3

Flashing via Recovery Web Interface:
 - The recovery web interface always flashes to the currently active partition.
 - If OpenWrt is flahsed to the second partition, it will not boot.
 - Ensure that you have an OEM image available (encrypted and decrypted version). Decryption is described in the end.
 - Set your IP address to 192.168.200.10, subnetmask 255.255.255.0
 - Press the reset button while powering on the device
 - Keep the reset button pressed until the LED blinks red
 - Open a Chromium based and goto http://192.168.200.1 (recovery web interface)
 - Download openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-recovery.bin
 - The recovery web interface always reports successful flashing, even if it fails
 - After flashing, the recovery web interface will try to forward the browser to 192.168.0.1 (can be ignored)
 - If OpenWrt was flashed to the first partition, OpenWrt will boot (The status LED will start blinking white and stay white in the end). In this case you're done and can use OpenWrt.
 - If OpenWrt was flashed to the second partition, OpenWrt won't boot (The status LED will stay red forever). In this case, the following steps are reuqired:
   - Start the web recovery interface again and flash the **decrypted OEM image**. This will be flashed to the second partition as well. The OEM firmware web interface is afterwards accessible via http://192.168.200.1.
   - Now flash the **encrypted OEM image** via OEM firmware web interface. In this case, the new firmware is flashed to the first partition. After flashing and the following reboot, the OEM firmware web interface should still be accessible via http://192.168.200.1.
   - Start the web recovery interface again and flash the OpenWrt recovery image. Now it will be flashed to the first partition, OpenWrt will boot correctly afterwards and is accessible via 192.168.1.1.

Flashing via U-Boot:
 - Open the case, connect to the UART console
 - Set your IP address to 192.168.200.2, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router
 - Run a tftp server which provides openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-initramfs-kernel.bin.
 - Power on the device and select "7. Load image" in the U-Boot menu
 - Enter image file, tftp server IP and device IP (if they differ from the default).
 - TFTP download to RAM will start. After a few seconds OpenWrt initramfs should start
 - The initramfs is accessible via 192.168.1.1, change your IP address accordingly (or use multiple IP addresses on your interface)
 - Perform a sysupgrade using openwrt-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-sysupgrade.bin
 - Reboot the device. OpenWrt should start from flash now

Revert back to stock using the Recovery Web Interface:
 - Set your IP address to 192.168.200.2, subnetmask 255.255.255.0
 - Press the reset button while powering on the device
 - Keep the reset button pressed until the LED blinks red
 - Open a Chromium based and goto http://192.168.200.1 (recovery web interface)
 - Flash a decrypted firmware image from D-Link. Decrypting an firmware image is described below.

Decrypting a D-Link firmware image:
 - Download https://github.com/RolandoMagico/firmware-utils/blob/M32/src/m32-firmware-util.c
 - Compile a binary from the downloaded file, e.g. gcc m32-firmware-util.c -lcrypto -o m32-firmware-util
 - Run ./m32-firmware-util M30 --DecryptFactoryImage <OriginalFirmware> <OutputFile>
 - Example for firmware M30A1_FW101B05: ./m32-firmware-util M30 --DecryptFactoryImage M30A1_FW101B05\(0725091522\).bin M30A1_FW101B05\(0725091522\)_decrypted.bin

Flashing via OEM web interface is not possible, as it will change the active partition and OpenWrt is only running on the first UBI partition.

Controlling the LEDs:
 - The LEDs are controlled by a chip called "GCA230718" which is connected to the main CPU via I2C (address 0x40)
 - I didn't find any documentation or driver for it, so the information below is purely based on my investigations
 - If there is already I driver for it, please tell me. Maybe I didn't search enough
 - I implemented a kernel module (leds-gca230718) to access the LEDs via DTS
 - The LED controller supports PWM for brightness control and ramp control for smooth blinking. This is not implemented in the driver
 - The LED controller supports toggling (on -> off -> on -> off) where the brightness of the LEDs can be set individually for each on cycle
 - Until now, only simple active/inactive control is implemented (like when the LEDs would have been connected via GPIO)
 - Controlling the LEDs requires three sequences sent to the chip. Each sequence consists of
   - A reset command (0x81 0xE4) written to register 0x00
   - A control command (for example 0x0C 0x02 0x01 0x00 0x00 0x00 0xFF 0x01 0x00 0x00 0x00 0xFF 0x87 written to register 0x03)
 - The reset command is always the same
 - In the control command
   - byte 0 is always the same
   - byte 1 (0x02 in the example above) must be changed in every sequence: 0x02 -> 0x01 -> 0x03)
   - byte 2 is set to 0x01 which disables toggling. 0x02 would be LED toggling without ramp control, 0x03 would be toggling with ramp control
   - byte 3 to 6 define the brightness values for the LEDs (R,G,B,W) for the first on cycle when toggling
   - byte 7 defines the toggling frequency (if toggling enabled)
   - byte 8 to 11 define the brightness values for the LEDs (R,G,B,W) for the second on cycle when toggling
   - byte 12 is constant 0x87

Comparison to M32/R32:
 - The algorithms for decrypting the OEM firmware are the same for M30/M32/R32, only the keys differ
 - The keys are available in the GPL sources for the M32
 - The M32/R32 contained raw data in the firmware images (kernel, rootfs), the R30 uses a sysupgrade tar instead
 - Creation of the recovery image is quite similar, only the header start string changes. So mostly takeover from M32/R32 for that.
 - Turned out that the bytes at offset 0x0E and 0x0F in the recovery image header are the checksum over the data area
 - This checksum was not checked in the recovery web interface of M32/R32 devices, but is now active in R30
 - I adapted the recovery image creation to also calculate the checksum over the data area
 - The recovery image header for M30 contains addresses which don't match the memory layout in the DTS. The same addresses are also present in the OEM images
 - The recovery web interface either calculates the correct addresses from it or has it's own logic to determine where which information must be written

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
2024-03-31 19:01:20 +02:00
Roland Reinl
0e2b7e3bd6 mediatek: Moved recovery image creation to include/image-commands.mk
The recovery image is reqired for D-Link M30 as well. So I moved it to include/image-commands.mk to be able to use it for MT7622 and filogic devices.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
2024-03-31 19:01:20 +02:00
Hauke Mehrtens
fb2c6e9d4d kernel: bump 5.15 to 5.15.153
Removed because they are upstream:
generic/backport-5.15/704-15-v5.19-net-mtk_eth_soc-move-MAC_MCR-setting-to-mac_finish.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c5c0760adc260d55265c086b9efb350ea6dda38b

generic/pending-5.15/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=448cc8b5f743985f6d1d98aa4efb386fef4c3bf2

generic/pending-5.15/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=9fcadd125044007351905d40c405fadc2d3bb6d6

Add new configuration symbols for tegra target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-31 18:34:04 +02:00
John Audia
b04f245c39 kernel: bump 6.6 to 6.6.23
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.23

Removed upstreamed:
  pending-6.6/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch[1]
  pending-6.6/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch[2]
  mediatek/patches-6.6/232-clk-mediatek-mt7981-topckgen-flag-SGM_REG_SEL-as-cri.patch[3]

Manually rebased:
  mediatek/patches-6.6/100-dts-update-mt7622-rfb1.patch

Added:
  generic/backports-6.6/981-mtd-spinand-Add-support-for-5-byte-IDs.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=1f32abb474c1c9bdb21d9eda74c325a0b3a162e5
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=943c14ece95eb1cf98d477462aebcbfdfd714633
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.23&id=6ff01b314149d1cf59caebc29384f0beed21cba4
4. See comments in https://github.com/openwrt/openwrt/pull/14992 regarding broken flogic/xiaomi_redmi-router-ax6000-ubootmod

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezannei, flogic/xiaomi_redmi-router-ax6000-ubootmod, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-03-31 18:19:33 +02:00
Marco von Rosenberg
06cdc07f8c ath79: add support for Huawei AP5030DN
Huawei AP5030DN is a dual-band, dual-radio 802.11ac Wave 1 3x3 MIMO
enterprise access point with two Gigabit Ethernet ports and PoE
support.

Hardware highlights:
- CPU: QCA9550 SoC at 720MHz
- RAM: 256MB DDR2
- Flash: 32MB SPI-NOR
- Wi-Fi 2.4GHz: QCA9550-internal radio
- Wi-Fi 5GHz: QCA9880 PCIe WLAN SoC
- Ethernet 1: 10/100/1000 Mbps Ethernet through Broadcom B50612E PHY
- Ethernet 2: 10/100/1000 Mbps Ethernet through Marvell 88E1510 PHY
- PoE: input through Ethernet 1 port
- Standalone 12V/2A power input
- Serial console externally available through RJ45 port
- External watchdog: SGM706 (1.6s timeout)

Serial console:
  9600n8 (9600 baud, no stop bits, no parity, 8 data bits)

MAC addresses:
  Each device has 32 consecutive MAC addresses allocated by
  the vendor, which don't overlap between devices.
  This was confirmed with multiple devices with consecutive
  serial numbers.
  The MAC address range starts with the address on the label.
  To be able to distinguish between the interfaces,
  the following MAC address scheme is used:
    - eth0 = label MAC
    - eth1 = label MAC + 1
    - radio0 (Wi-Fi 5GHz) = label MAC + 2
    - radio1 (Wi-Fi 2.4GHz) = label MAC + 3

Installation:
0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP

1. Power up the AP

2. At prompt "Press f or F  to stop Auto-Boot in 3 seconds",
   do what they say.
   Log in with default admin password "admin@huawei.com".

3. Boot the OpenWrt initramfs from TFTP using the hidden script
   "run ramboot". Replace IP address as needed:

   > setenv serverip 192.168.1.10
   > setenv ipaddr 192.168.1.1
   > setenv rambootfile
     openwrt-ath79-generic-huawei_ap5030dn-initramfs-kernel.bin
   > saveenv
   > run ramboot

4. Optional but recommended as the factory firmware cannot
   be downloaded publicly:
   Back up contents of "firmware" partition using the web interface or ssh:

   $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap5030dn_fw_backup.bin

5. Run sysupgrade using sysupgrade image. OpenWrt
   shall boot from flash afterwards.

Return to factory firmware (using firmware upgrade package downloaded from
non-public Huawei website):
1. Start a TFTP server in the directory where
   the firmware upgrade package is located

2. Boot to u-boot as described above

3. Install firmware upgrade package and format the config partitions:

   > update system FatAP5X30XN_SOMEVERSION.bin
   > format_fs

Return to factory firmware (from previously created backup):
1. Copy over the firmware partition backup to /tmp,
   for example using scp

2. Use sysupgrade with force to restore the backup:
   sysupgrade -F huawei_ap5030dn_fw_backup.bin

3. Boot AP to U-Boot as described above

Quirks and known issues
-----------------------

- On initial power-up, the Huawei-modified bootloader suspends both
ethernet PHYs (it sets the "Power Down" bit in the MII control
register). Unfortunately, at the time of the initial port, the kernel
driver for the B50612E/BCM54612E PHY behind eth0 doesn't have a resume
callback defined which would clear this bit. This makes the PHY unusable
since it remains suspended forever. This is why the backported kernel
patches in this commit are required which add this callback and for
completeness also a suspend callback.

- The stock firmware has a semi dual boot concept where the primary
kernel uses a squashfs as root partition and the secondary kernel uses
an initramfs. This dual boot concept is circumvented on purpose to gain
more flash space and since the stock firmware's flash layout isn't
compatible with mtdsplit.

- The external watchdog's timeout of 1.6s is very hard to satisfy
during bootup. This is why the GPIO15 pin connected to the watchdog input
is configured directly in the LZMA loader to output the CPU_CLK/4 signal
which keeps the watchdog happy until the wdt-gpio kernel driver takes
over. Because it would also take too long to read the whole kernel image
from flash, the uImage header only includes the loader which then reads
the kernel image from flash after GPIO15 is configured.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
[fixed 6.6 backport patch naming]
Signed-off-by: David Bauer <mail@david-bauer.net>
2024-03-31 18:09:43 +02:00
Felix Fietkau
0cb3e86557 kernel: fix build issue on macOS
On x86, the build failed while trying to compile tools/lib/string.c because
of a clash with the system provided implementation for strlcpy
Add ifdefs to prevent the conflict.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-03-30 21:59:24 +01:00
Shiji Yang
085feb60ad ath79: move D-Link DAP-1720 A1 to tiny sub-target
This device only has 64 MiB RAM and ath10k wireless driver will
consume a lot of memory. Let's move it to the tiny sub-target to
get extra 7 MiB of free space. In this way, we can extend their
lifetime to receive support for the next OpenWrt LTS version. This
patch also trims the duplicate "recovery.bin" image as it's the
same as the "factory.bin".

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-03-30 01:04:17 +01:00
Shiji Yang
8201e402c5 ath79: move D-Link DIR-859 and DIR-869 series to tiny sub-target
These devices only have 64 MiB RAM and ath10k wireless driver will
consume a lot of memory. Let's move them to the tiny sub-target to
get extra 7 MiB of free space. In this way, we can extend their
lifetime to receive support for the next OpenWrt LTS version. This
patch also trims the USB package for the non-existent USB port.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-03-30 01:04:17 +01:00