openwrt/openwrt.git
15 months agomac80211: add support for configuring number of globally allocated MAC addresses
Felix Fietkau [Thu, 7 Sep 2023 19:45:11 +0000 (21:45 +0200)]
mac80211: add support for configuring number of globally allocated MAC addresses

When a device has more than one reserved mac address, they can be used for
virtual interfaces without the local bit in the first byte

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: move mac address allocation from mac80211.sh to wdev.uc
Felix Fietkau [Wed, 6 Sep 2023 14:58:09 +0000 (16:58 +0200)]
hostapd: move mac address allocation from mac80211.sh to wdev.uc

Preparation for upcoming hostapd reload improvements

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: add internal API for renaming AP interfaces
Felix Fietkau [Wed, 6 Sep 2023 08:33:30 +0000 (10:33 +0200)]
hostapd: add internal API for renaming AP interfaces

Will be used for improving reload support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix AP+STA configuration with autochannel enabled
Felix Fietkau [Wed, 13 Sep 2023 10:36:15 +0000 (12:36 +0200)]
hostapd: fix AP+STA configuration with autochannel enabled

Properly disable the interface when requested
Disable ACS when bringing it back up on the new channel

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: disable automatically created sta interfaces
Felix Fietkau [Wed, 13 Sep 2023 09:56:20 +0000 (11:56 +0200)]
mac80211: disable automatically created sta interfaces

They are not useful for anything on the system and are annoying when a PHY
is disabled in the config

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: update interface/bss list after set_config calls
Felix Fietkau [Wed, 13 Sep 2023 08:47:34 +0000 (10:47 +0200)]
hostapd: update interface/bss list after set_config calls

set_config causes the ucode bss resource to be re-created and because of that
the bss list needs to be updated as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add missing kernel modules for brcmfmac
Felix Fietkau [Wed, 13 Sep 2023 05:53:39 +0000 (07:53 +0200)]
mac80211: add missing kernel modules for brcmfmac

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoath11k-firmware: update to stable WLAN.HK.2.9.0.1-01890
Michał Kwiatek [Thu, 24 Aug 2023 10:18:02 +0000 (12:18 +0200)]
ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01890

Changelog from quic:

Bug fixes, stability improvements from previous releases
are present. There are no backward comatibility issues
with this release.

Known issues:
IPV6 connectivity problem, see: https://github.com/openwrt/openwrt/pull/13203#issuecomment-1666947749

Tested-by: Michał Kwiatek <michal@kwiatek.it> # Xiaomi AX3600
Signed-off-by: Michał Kwiatek <michal@kwiatek.it>
15 months agoipq806x: Correct OnHub sysupgrade config logic
Brian Norris [Sun, 10 Sep 2023 21:10:50 +0000 (14:10 -0700)]
ipq806x: Correct OnHub sysupgrade config logic

There's a typo in here: board_name is a function, not a variable. This
issue was pointed out on the OpenWrt forum.

Closes: #13409
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
15 months agomac80211: fix mesh id corruption on 32 bit systems
Felix Fietkau [Tue, 12 Sep 2023 13:17:23 +0000 (15:17 +0200)]
mac80211: fix mesh id corruption on 32 bit systems

increase size of ifmsh->mbss_changed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoramips: add support for mtk eip93 crypto engine
Aviana Cruz [Mon, 20 Jun 2022 13:55:45 +0000 (21:55 +0800)]
ramips: add support for mtk eip93 crypto engine

Mediatek EIP93 Crypto engine is a crypto accelerator which
is available in the Mediatek MT7621 SoC.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
Co-authored-by: Richard van Schagen <vschagen@icloud.com>
Co-authored-by: Chukun Pan <amadeus@jmu.edu.cn>
15 months agobase-files: sysupgrade: Add 2 sec sleep into process KILL loop
Hannu Nyman [Fri, 8 Sep 2023 16:47:01 +0000 (19:47 +0300)]
base-files: sysupgrade: Add 2 sec sleep into process KILL loop

Add 2 seconds sleep after each forcibly killed/tried-to-kill process
in the final process termination loop in sysupgrade stage2.

This is needed especially for qualcommax/ipq807x, where ath11k
wireless driver may have a long 10-20 seconds delay after termination
before actually getting killed. This often breaks sysupgrade.

The current KILL loop in kill_remaining does all 10 kill attempts
consecutively without any delay, as evidenced here in a failing sysupgrade.
It does not allow any time for the process to finalize its internal
termination.

Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending TERM to remaining processes ...
Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2122)
Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending KILL to remaining processes ...
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2122)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Failed to kill all processes.
sysupgrade aborted with return code: 256

The change in this commit adds a 2 seconds delay after each kill attempt
in order to allow some processes to more gracefully handle their
internal termination.

The result is like this:

Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending TERM to remaining processes ...
Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2309)
Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2324)
Sun Sep  3 11:15:14 EEST 2023 upgrade: Sending KILL to remaining processes ...
Sun Sep  3 11:15:14 EEST 2023 upgrade: Sending signal KILL to hostapd (2309)
[  699.827521] br-lan: port 7(hn5wpa2r) entered disabled state
[  699.908673] device hn5wpa2r left promiscuous mode
[  699.908721] br-lan: port 7(hn5wpa2r) entered disabled state
[  701.038029] br-lan: port 6(hn5wpa3) entered disabled state
Sun Sep  3 11:15:16 EEST 2023 upgrade: Sending signal KILL to hostapd (2324)
[  702.058256] br-lan: port 5(hn2wlan) entered disabled state
[  709.250063] stage2 (8237): drop_caches: 3
Sun Sep  3 11:15:25 EEST 2023 upgrade: Switching to ramdisk...

The delay introduced here only kicks in if there is some process that
does not get terminated by the first TERM call. Then there is at least
one 2 sec wait after the first KILL loop round.

This commit is related to discussion in PRs #12235 and #12632

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Reviewed-by: Robert Marko <robimarko@gmail.com>
15 months agohostapd: fix bringing up AP in AP+mesh configurations
Felix Fietkau [Tue, 12 Sep 2023 12:09:26 +0000 (14:09 +0200)]
hostapd: fix bringing up AP in AP+mesh configurations

Pass the correct frequency + secondary channel offset to hostapd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: clear ucode interface/bss resource pointers
Felix Fietkau [Tue, 12 Sep 2023 11:32:40 +0000 (13:32 +0200)]
hostapd: clear ucode interface/bss resource pointers

Avoids potential use-after-free bugs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix applying gratuitous ARP settings with bridge-vlan
Felix Fietkau [Tue, 12 Sep 2023 10:57:52 +0000 (12:57 +0200)]
hostapd: fix applying gratuitous ARP settings with bridge-vlan

The arp_accept setting needs to be applied to the snoop_iface

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add missing dependency for iwlwifi
Felix Fietkau [Tue, 12 Sep 2023 09:18:35 +0000 (11:18 +0200)]
mac80211: add missing dependency for iwlwifi

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agox86: geode: fix hwrng register accesses
Jonas Gorski [Sat, 9 Sep 2023 10:44:42 +0000 (12:44 +0200)]
x86: geode: fix hwrng register accesses

When the membase and pci_dev pointer were moved to a new struct in priv,
the actual membase users were left untouched, and they started reading
out arbitrary memory behind the struct instead of registers. This
unfortunately turned the RNG into a constant number generator, depending
on the content of what was at that offset.

To fix this, update geode_rng_data_{read,present}() to also get the
membase via amd_geode_priv, and properly read from the right addresses
again.

Closes #13417.

Reported-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
15 months agomac80211: fix build regressions on linux 6.1
Felix Fietkau [Mon, 11 Sep 2023 16:54:04 +0000 (18:54 +0200)]
mac80211: fix build regressions on linux 6.1

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: backport two fixes for MediaTek Ethernet driver
Daniel Golle [Mon, 11 Sep 2023 11:50:38 +0000 (12:50 +0100)]
kernel: backport two fixes for MediaTek Ethernet driver

Fix PSE port assignment for 3rd GMAC on MT7988 and make sure dma_addr
is always initialized to prevent potentially accessing uninitialized
stack memory in the error path.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomac80211: update to version 6.5
Felix Fietkau [Wed, 30 Aug 2023 10:31:44 +0000 (12:31 +0200)]
mac80211: update to version 6.5

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agouboot-envtools: ramips: add support for ALFA Network AX1800RM
Piotr Dymacz [Fri, 28 Jul 2023 10:21:49 +0000 (12:21 +0200)]
uboot-envtools: ramips: add support for ALFA Network AX1800RM

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
15 months agoramips: add support for ALFA Network AX1800RM
Piotr Dymacz [Fri, 28 Jul 2023 09:41:14 +0000 (11:41 +0200)]
ramips: add support for ALFA Network AX1800RM

ALFA Network AX1800RM (FCC ID: 2AB877621) is a dual-band Wi-Fi 6
(AX1800) router, based on MediaTek MT7621A + MT79x5D platform.

Specifications:

- SOC:      MT7621A (880 MHz)
- DRAM:     DDR3 256 MiB (Nanya NT5CC128M16JR-EK)
- Flash:    16 MiB SPI NOR (EN25QH128A-104HIP)
- Ethernet: 4x 10/100/1000 Mbps (SOC's built-in switch)
- Wi-Fi:    2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN)
            (MT7905DAN doesn't support background DFS scan/BT)
- LED:      6x green, 1x green/red
- Buttons:  2x (reset, WPS)
- Antenna:  4x external, non-detachable omnidirectional
- UART:     1x 4-pin (2.54 mm pitch, J4, not populated)
- Power:    12 V DC/1 A (DC jack)

MAC addresses:

LAN:     00:c0:ca:xx:xx:4e (factory 0x4, +2)
WAN:     00:c0:ca:xx:xx:4f (factory 0x4, +3)
2.4 GHz: 00:c0:ca:xx:xx:4c (factory 0x4, device's label)
5 GHz:   00:c0:ca:xx:xx:4c (factory 0xa)

Flash instructions for web-based U-Boot recovery:

1. Power the device with WPS button pressed and wait around 10 seconds.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'recovery' image.

The device runs LEDE 17.01 (kernel 4.4.x) based firmware with 'failsafe'
mode available which allows alternative upgrade method:

1. Run device in 'failsafe' mode and change password for default user.
2. SSH to the device, transfer 'sysupgrade' image and perform upgrade
   in forced mode, without preserving settings: 'sysupgrade -n -F ...'.

Other notes:

If you own early version of this device, the vendor firmware might
refuse OpenWrt image because of missing custom header. In that case,
ask vendor's customer support for stock firmware without custom header
support/requirement.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
15 months agoarm-trusted-firmware-mediatek: fix hang on reboot on MT7622
Daniel Golle [Sun, 10 Sep 2023 22:39:33 +0000 (23:39 +0100)]
arm-trusted-firmware-mediatek: fix hang on reboot on MT7622

With recent updates of TF-A the previously already fixed bug slipped
back into the source tree. Again, reorder bl2 init for MT7622 and
initialize WDT only after DRAM init has completed to avoid the
notorious hang.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: sync mtk-snand driver with SDK
Daniel Golle [Fri, 1 Sep 2023 23:54:40 +0000 (00:54 +0100)]
uboot-mediatek: sync mtk-snand driver with SDK

Sync SPI-NAND/ECC controller driver for MT7622, MT7981, MT7986 and MT7988:
 * Platform data for MT7981 was actually missing and is now added.
 * Add support for Winbond W25N01KV 1Gbit chip.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agoRevert "ath79: use kernel 6.1 as default"
David Bauer [Sat, 9 Sep 2023 06:42:04 +0000 (08:42 +0200)]
Revert "ath79: use kernel 6.1 as default"

This reverts commit c94383de018c561355c5e239524fbefca4aee3aa.

THis commit was not meant to be pushed to main yet.

Signed-off-by: David Bauer <mail@david-bauer.net>
15 months agokernel: bump 6.1 to 6.1.52
John Audia [Thu, 7 Sep 2023 10:07:43 +0000 (06:07 -0400)]
kernel: bump 6.1 to 6.1.52

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.52

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agomvebu: cortexa72: enable USB PHY
Tomasz Maciej Nowak [Thu, 7 Sep 2023 15:06:29 +0000 (17:06 +0200)]
mvebu: cortexa72: enable USB PHY

Since kernel 5.13 this is needed to enable USB ports on all devices in
subtarget. Previously TF-A and COMPHY driver might have set up this PHY,
but not anymore.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Robert Marko <robimarko@gmail.com>
15 months agomvebu: refresh 6.1 configs
Tomasz Maciej Nowak [Thu, 7 Sep 2023 15:06:28 +0000 (17:06 +0200)]
mvebu: refresh 6.1 configs

This should be a part of kernel major bump. Fortunately it didn't stall
compilation, so no fixes tag.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
15 months agomediatek: add support for Cetron CT3003
Patricia Lee [Wed, 30 Aug 2023 11:50:54 +0000 (19:50 +0800)]
mediatek: add support for Cetron CT3003

**Hardware specification:**

- SoC: MediaTek MT7981B 2x A53
- Flash: ESMT F50L1G41LB 128MB
- RAM: Nanya NT5CC128M16JR-EK 256MB
- Ethernet: 4 x 10/100/1000 Mbps
- Switch: MediaTek MT7531AE
- WiFi: MediaTek MT7976C
- Button: Reset, Mesh
- Power: DC 12V 1A
- UART: 3.3v, 115200n8
  | Layout:   |
  | :-------- |
  | <Antenna> |
  | VCC       |
  | GND       |
  | Tx        |
  | Rx        |

**Flash instructions:**

1. Rename `openwrt-mediatek-filogic-cetron_ct3003-squashfs-factory.bin` to `factory.bin`.
2. Upload the `factory.bin` using the device's Web interface.
3. Click the upgrade button and wait for the process to finish.
4. Access the OpenWrt interface using the same password.
5. Use the 'Restore' function to reset the firmware to its initial state.

**Notes:**

If you plan to recovery the stock firmware in the future, it's advisable
to connect the device via the serial port and enter failsafe mode to
back up all the MTD partitions before proceeding the steps above.

Signed-off-by: Patricia Lee <patricialee320@gmail.com>
15 months agokernel: bump 5.15 to 5.15.131
John Audia [Thu, 7 Sep 2023 10:55:41 +0000 (06:55 -0400)]
kernel: bump 5.15 to 5.15.131

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.131

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoath79: use kernel 6.1 as default
David Bauer [Fri, 8 Sep 2023 19:00:23 +0000 (21:00 +0200)]
ath79: use kernel 6.1 as default

Signed-off-by: David Bauer <mail@david-bauer.net>
15 months agoath79: enable variable sector size erasure for generic subtarget
Shiji Yang [Tue, 30 May 2023 08:50:09 +0000 (16:50 +0800)]
ath79: enable variable sector size erasure for generic subtarget

Make use of minor sector size (4k) erasure on supported flash chips
to improve spi read/write performance.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: backport gpio immutable irq_chip support
Shiji Yang [Sun, 28 May 2023 01:17:34 +0000 (09:17 +0800)]
ath79: backport gpio immutable irq_chip support

This patch converts the driver to immutable irq-chip, which can
silence some gpio warnings.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: ignore the abused interrupt-map on PCIe node
Shiji Yang [Wed, 31 May 2023 00:31:18 +0000 (08:31 +0800)]
ath79: ignore the abused interrupt-map on PCIe node

ath79 PCIe interrupt controller has stopped working correctly. This
is because the DT exposing a non-sensical interrupt-map property,
and their drivers relying on the kernel ignoring this property[1].

This patch fixes the PCIe init error:
ath9k 0000:00:00.0: of_irq_parse_pci: failed with rc=-14

Notice:
This is just a workaround, not a fix. PCIe driver and related dts
node need to be rewritten.

[1] https://lore.kernel.org/all/20211201114102.13446-1-maz@kernel.org/

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: fix ethernet driver build errors on kernel 6.1
Shiji Yang [Thu, 25 May 2023 10:35:20 +0000 (18:35 +0800)]
ath79: fix ethernet driver build errors on kernel 6.1

Some net APIs have changed on the new kernel. Update them to fix
compile errors.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: refresh patches and configs to introduce kernel 6.1 support
Shiji Yang [Wed, 31 May 2023 03:14:04 +0000 (11:14 +0800)]
ath79: refresh patches and configs to introduce kernel 6.1 support

All kernel configs are refreshed by
'make kernel_oldconfig CONFIG_TARGET=target' and
'make kernel_oldconfig CONFIG_TARGET=subtarget'.

upstreamed patches:
010-v5.17-spi-ar934x-fix-transfer-and-word-delays.patch
011-v5.17-spi-ar934x-fix-transfer-size.patch
020-v5.18-spi-ath79-Implement-the-spi_mem-interface.patch
030-v5.18-ath79-add-support-for-booting-QCN550x.patch

build and run tested on:
ath79/generic/ar7241
ath79/generic/qca9563
ath79/nand/ar9344

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: copy patches and kernel config from 5.15 to 6.1
Shiji Yang [Wed, 24 May 2023 11:26:37 +0000 (11:26 +0000)]
ath79: copy patches and kernel config from 5.15 to 6.1

This is preparation for kernel 6.1 support.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: rename and sort patches by OpenWrt naming rules
Shiji Yang [Wed, 31 May 2023 02:50:04 +0000 (10:50 +0800)]
ath79: rename and sort patches by OpenWrt naming rules

The patches in the ath79 target have not been sorted for a long time
and they are very chaotic now. This patch sorts them again according
to the OpenWrt naming rules[1], so that we can better manage them.

[1] https://openwrt.org/docs/guide-developer/toolchain/use-patches-with-buildsystem#naming_patches

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: add missing symbols by refreshing kernel configs
Shiji Yang [Tue, 30 May 2023 07:05:06 +0000 (15:05 +0800)]
ath79: add missing symbols by refreshing kernel configs

Some symbols are outdated or missing due to daily kernel bumps. It's
better to re-add them. All configs are automatically refreshed by
'make kernel_oldconfig CONFIG_TARGET=taget' and
'make kernel_oldconfig CONFIG_TARGET=subtarget'

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agokernel: switch back to fw_devlink=permissive
Rafał Miłecki [Tue, 19 Jul 2022 04:22:31 +0000 (06:22 +0200)]
kernel: switch back to fw_devlink=permissive

This reverts commit 5356462ce54734afd32fce83ad118c58cfeb2a55.

Kernel switching to fw_devlink=on as default broke probing some devices.
Revert it until we get a proper fix.

It seemed that mtd OF_POPULATED hack resolved probing issues but
apparently not all of them. We got reports about reading MAC using NVMEM
not working and USB controllers not working.

Ref: #10232
Fixes: #13412
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agomediatek: fix the name of buswidth to bus-width
Chen Minqiang [Fri, 25 Aug 2023 22:38:18 +0000 (06:38 +0800)]
mediatek: fix the name of buswidth to bus-width

Fix the issue of dts buswidth cannot be applied properly with spi driver.
Fix the name of buswidth to bus-width in dts in order to fit the format
in linux spi kernel[1] so that spi-tx-bus-width & spi-rx-bus-width can be
parsed properly.

[1] Documentation/devicetree/bindings/spi/spi-controller.yaml

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
15 months agorockchip: add support for Radxa ROCK Pi E
Jayantajit Gogoi [Tue, 29 Aug 2023 18:23:30 +0000 (18:23 +0000)]
rockchip: add support for Radxa ROCK Pi E
This adds support for Radxa ROCK Pi E, rockchip rk3328 board.

Specification:

- CPU: Rockchip RK3328 64-bit Quad-core
- RAM: DDR3 256MB ~ 2GB
- Network:
    1 x 10/100/1000M Ethernet
    1 x 10/100M Ethernet
- Storage:
    1 x MicroSD Slot
    1 x eMMC Module Slot
- USB Host/OTG:
    1 x USB3.0 Type A HOST
    1 x USB2.0 HOST (40-pin pin-header)
- Wireless
    RTL8723DU/RTL8821CU
- Debug Serial:
    1500000 baud at UART2 ( 40-pin pin-header)
- Power Supply:
    Type-C 5V
    Optionally PoE

Installation:
- Write image to SD Card or EMMC with dd
- Boot ROCK Pi E from the SD Card

Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
15 months agouboot-rockchip: add suport for Radxa ROCK Pi E
Jayantajit Gogoi [Tue, 29 Aug 2023 15:12:28 +0000 (15:12 +0000)]
uboot-rockchip: add suport for Radxa ROCK Pi E

Add uboot support for Radxa ROCK Pi E, rockchip rk3328 board.
Add pre-built files to fix swig dependencies.

Specification:

- CPU: Rockchip RK3328 64-bit Quad-core
- RAM: DDR3 256MB ~ 2GB
- Network:
    1 x 10/100/1000M Ethernet
    1 x 10/100M Ethernet
- USB Host:
    1 x USB3.0 Type A HOST
    1 x USB2.0 OTG (40-pin pin-header)
- Wireless:
    RTL8723DU/RTL8821CU
- Power Supply: Type-C 5V

Installation:
- Write image to SD Card or EMMC with dd
- Boot ROCK Pi E from the SD Card

Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
15 months agokernel: backport support for renaming netdevs while up
Felix Fietkau [Mon, 4 Sep 2023 13:28:59 +0000 (15:28 +0200)]
kernel: backport support for renaming netdevs while up

Will be used in upcoming hostapd changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoipq40xx: compress kernel for Magic 2 WiFi next
Thomas Bong [Thu, 31 Aug 2023 08:43:15 +0000 (10:43 +0200)]
ipq40xx: compress kernel for Magic 2 WiFi next

The bootcmd limits the kernel to 4 MiB which is
exceeded when using Device/FitImage. Device/FitzImage
reduces the size to around 3 MiB.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thomas Bong <thomas.bong@devolo.de>
15 months agoipq40xx: convert devolo Magic 2 WiFi next to DSA
Thomas Bong [Thu, 31 Aug 2023 05:39:24 +0000 (07:39 +0200)]
ipq40xx: convert devolo Magic 2 WiFi next to DSA

Renamed the interfaces to match the other devices.
Name the interface connected to the builtin G.hn chip 'ghn'.
This might toggle at runtime while the G.hn chip is in the
bootloader.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thomas Bong <thomas.bong@devolo.de>
15 months agotools/cmake: update to 3.27.4
Hannu Nyman [Sat, 2 Sep 2023 07:12:40 +0000 (10:12 +0300)]
tools/cmake: update to 3.27.4

Update cmake to 3.27.4
No patch refresh needed.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
15 months agowireless-regdb: update to 2023.09.01
Yuu Toriyama [Sat, 2 Sep 2023 07:21:09 +0000 (16:21 +0900)]
wireless-regdb: update to 2023.09.01

Changes:
    9dc0800 wireless-regdb: Update regulatory rules for Philippines (PH)
    111ba89 wireless-regdb: Update regulatory rules for Egypt (EG) from March 2022 guidelines
    ae1421f wireless-regdb: Update regulatory info for Türkiye (TR)
    20e5b73 wireless-regdb: Update regulatory rules for Australia (AU) for June 2023
    991b1ef wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Yuu Toriyama <PascalCoffeeLake@gmail.com>
15 months agomvebu: add reset delays of PHYs for Fortinet FortiGate 50E
INAGAKI Hiroshi [Sat, 2 Sep 2023 14:06:20 +0000 (23:06 +0900)]
mvebu: add reset delays of PHYs for Fortinet FortiGate 50E

Add reset-(de)assert-us to ethernet PHYs on Fortinet FortiGate 50E to
solve instability after HW resetting of PHYs. (ex.: restarting "network"
service, etc...)

Fixes: #13391
Fixes: 102dc5a62506 ("mvebu: add support for Fortinet FortiGate 50E")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
15 months agokernel: bump 6.1 to 6.1.51
John Audia [Sat, 2 Sep 2023 11:32:29 +0000 (07:32 -0400)]
kernel: bump 6.1 to 6.1.51

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.51

No patches needed a rebased.  Update to checksum only.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agokernel: bump 5.15 to 5.15.130
John Audia [Sat, 2 Sep 2023 12:42:48 +0000 (08:42 -0400)]
kernel: bump 5.15 to 5.15.130

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.130

No patches needed a rebased. Update to checksum only.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agohostapd: allow adding initial AP without breaking STA interface connection
Felix Fietkau [Sun, 3 Sep 2023 07:51:28 +0000 (09:51 +0200)]
hostapd: allow adding initial AP without breaking STA interface connection

When switching from a STA-only configuration to AP+STA on the same phy, the
STA was previously restarted in order to notify hostapd of the new frequency,
which might not match the AP configuration.
Fix the STA restart by querying the operating frequency from within hostapd
when bringing up the AP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix config change detection on boolean values
Felix Fietkau [Sun, 3 Sep 2023 07:51:08 +0000 (09:51 +0200)]
hostapd: fix config change detection on boolean values

Check for null instead of truish value

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix parsing HT secondary channel offset
Felix Fietkau [Sat, 2 Sep 2023 17:36:21 +0000 (19:36 +0200)]
hostapd: fix parsing HT secondary channel offset

It returned the wrong value when using HT40-

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: reset center_seg0_idx for 2.4 GHz
Felix Fietkau [Sat, 2 Sep 2023 17:19:56 +0000 (19:19 +0200)]
hostapd: reset center_seg0_idx for 2.4 GHz

Fixes 40 MHz channel bandwidth on 2.4 GHz AP+STA

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: use proper helper functions for setting seg0/seg1 idx and chwidth
Felix Fietkau [Fri, 1 Sep 2023 18:39:15 +0000 (20:39 +0200)]
hostapd: use proper helper functions for setting seg0/seg1 idx and chwidth

Simplifies code and removes #ifdef statements

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomediatek: fix sysupgrade error for WR30U
Hank Moretti [Mon, 28 Aug 2023 15:45:05 +0000 (15:45 +0000)]
mediatek: fix sysupgrade error for WR30U

The NMBM-Enabled layout did not use fit image,
it just need default process. So it was been removed in platform.sh.

It will fix sysupgrade error for xiaomi,mi-router-wr30u-112m-nmbm.

Signed-off-by: Hank Moretti <mchank9999@gmail.com>
15 months agoscripts/download.pl: remove stale GNOME download sites
Hannu Nyman [Fri, 1 Sep 2023 15:56:49 +0000 (18:56 +0300)]
scripts/download.pl: remove stale GNOME download sites

Remove stale sites from @GNOME alias:
* remove 2 sites that have stale 3 years old content
* remove 2 sites that have dropped GNOME
* convert 2 sites from FTP to HTTP

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
15 months agokernel: bump 6.1 to 6.1.50
John Audia [Wed, 30 Aug 2023 17:45:50 +0000 (13:45 -0400)]
kernel: bump 6.1 to 6.1.50

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.50

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod, ipq806x/R7800
Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod, ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agokernel: bump 5.15 to 5.15.129
John Audia [Wed, 30 Aug 2023 18:44:05 +0000 (14:44 -0400)]
kernel: bump 5.15 to 5.15.129

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.129

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoscripts/package-metadata.pl: strip already selected conditions from dependencies
Felix Fietkau [Fri, 1 Sep 2023 17:26:29 +0000 (19:26 +0200)]
scripts/package-metadata.pl: strip already selected conditions from dependencies

When a dependency is pulled in via conditional depends, and the condition
is already selected earlier in the chain, drop the condition.
This avoids some corner cases that trigger recursive dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoRevert "scripts/package-metadata.pl: fix handling transitive conditional dependencies"
Felix Fietkau [Fri, 1 Sep 2023 16:34:36 +0000 (18:34 +0200)]
Revert "scripts/package-metadata.pl: fix handling transitive conditional dependencies"

This reverts commit 6c3eff9dd8bb8d0f268e8a0dbedbc6a33bdac796.
This appears to cause some regressions in generated config.
Will be replaced with a fixed version later

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoscripts/package-metadata.pl: sort dependency keys
Felix Fietkau [Fri, 1 Sep 2023 16:15:30 +0000 (18:15 +0200)]
scripts/package-metadata.pl: sort dependency keys

This makes it easier to keep track of changes in the generated output,
when the script is modified

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agofirewall4: update to the latest version
Felix Fietkau [Fri, 1 Sep 2023 12:00:47 +0000 (14:00 +0200)]
firewall4: update to the latest version

23a434d0d15d tests: fix expected test output
840ccdeeabce fw4: avoid emitting invalid rule jump targets
20da9933fd7e fw4: fix another instance of invalid rule jump targets
598d9fbb5179 fw4: remove special cases around hw flow offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: allow adding devices without hw offload to a hw flowtable
Felix Fietkau [Fri, 1 Sep 2023 10:43:09 +0000 (12:43 +0200)]
kernel: allow adding devices without hw offload to a hw flowtable

This allows supporting a mix of devices with or without hw offloading support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoscripts/package-metadata.pl: fix handling transitive conditional dependencies
Felix Fietkau [Fri, 1 Sep 2023 10:14:26 +0000 (12:14 +0200)]
scripts/package-metadata.pl: fix handling transitive conditional dependencies

When a package foo depends on PACKAGE_foo:bar (in order to make build
dependencies conditional), tracking transitive dependencies can fail because
the internal seen flag is checked/set before eliminating the fake conditional
dependency. This can show up as a depends on not properly turned into a
select further down in the dependency chain

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: remove cfg80211 dependency
Felix Fietkau [Fri, 1 Sep 2023 08:35:00 +0000 (10:35 +0200)]
hostapd: remove cfg80211 dependency

Always enable nl80211 driver support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agobcm53xx: store a copy of NVRAM content in NVMEM driver
Rafał Miłecki [Fri, 1 Sep 2023 09:35:29 +0000 (11:35 +0200)]
bcm53xx: store a copy of NVRAM content in NVMEM driver

This stops NVMEM driver from using MMIO access past booting and messing
with NAND controller state.

Link: https://forum.openwrt.org/t/asus-rt-ac88u-hw-a6-broken-in-22-03-3/147882
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agonetifd: update to latest git HEAD
Daniel Golle [Fri, 1 Sep 2023 00:02:06 +0000 (01:02 +0100)]
netifd: update to latest git HEAD

1a07f1dff32b make_ethtool_modes_h.sh: apply anti-bashism

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agonetifd: update to latest git HEAD
Daniel Golle [Thu, 31 Aug 2023 20:47:56 +0000 (21:47 +0100)]
netifd: update to latest git HEAD

f429bd94f99e system-linux: switch to new ETHTOOL_xLINKSETTINGS API

Fixes AN announcement for speeds beyond 1 GBit/s.
Adds new UCI options for Ethernet devices:
 - autoneg: switch on or off auto-negotiation
 - pause: if set to 0, do not announce symmetric flow control capability
 - asym_pause: if set to 0, do not announce asymmetric flow control
               capability.
 - rxpause: if set overrides AN and forces RX pause accordingly
 - txpause: if set overrides AN and forces TX pause accordingly

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: mt7622: set DEVICE_DTC_ADDR for BPi-R64
Daniel Golle [Thu, 31 Aug 2023 18:20:49 +0000 (19:20 +0100)]
mediatek: mt7622: set DEVICE_DTC_ADDR for BPi-R64

Relocating the device tree is required for being apply to apply
device tree overylay at boot.

Fixes: 34bb33094a ("mediatek: use updated device tree overlay mechanism for BPi-R64")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agohostapd: select libopenssl-legacy for openssl variants
Felix Fietkau [Thu, 31 Aug 2023 11:12:23 +0000 (13:12 +0200)]
hostapd: select libopenssl-legacy for openssl variants

Without it, a lot of authentication modes fail without obvious error messages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: remove eap-eap192 auth type value
Felix Fietkau [Thu, 31 Aug 2023 11:04:19 +0000 (13:04 +0200)]
hostapd: remove eap-eap192 auth type value

It is no longer used

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agonetifd: update to the latest version
Felix Fietkau [Thu, 31 Aug 2023 11:02:00 +0000 (13:02 +0200)]
netifd: update to the latest version

db3934d2f740 scripts/netifd-wireless.sh: properly fix WPA3 Enterprise support

Support the following values for the different WPA3 Enterprise modes:

- wpa3-mixed: WPA3 Enterprise transitional mode
This supports EAP with both SHA1 and SHA-256, with optional MFP
- wpa3: WPA3 Enterprise only mode
This supports only SHA256 with mandatory MFP
- wpa3-192: WPA3 Enterprise with mandatory 192 bit support
This uses only GCMP-256 ciphers

Disable 192 bit support and GCMP-256 ciphers for the regular "wpa3" mode.
It seems that even leaving in optional 192 bit support breaks auth on some
clients, including iOS devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: support eap-eap2 and eap2 auth_type values
Felix Fietkau [Thu, 31 Aug 2023 09:16:42 +0000 (11:16 +0200)]
hostapd: support eap-eap2 and eap2 auth_type values

WPA3 Enterprise-transitional requires optional MFP support and SHA1+SHA256
WPA3 Enterprise-only requires SHA1 support disabled and mandatory MFP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix FILS key mgmt type for WPA3 Enterprise 192 bit
Felix Fietkau [Thu, 31 Aug 2023 09:16:04 +0000 (11:16 +0200)]
hostapd: fix FILS key mgmt type for WPA3 Enterprise 192 bit

Use the SHA384 variant to account for longer keys with more security

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: add unset CONFIG_INPUT_IBM_PANEL symbol to config-6.1
Rafał Miłecki [Sat, 26 Aug 2023 16:07:54 +0000 (18:07 +0200)]
kernel: add unset CONFIG_INPUT_IBM_PANEL symbol to config-6.1

This symbol was added by commit 2e6f34faa7e0 ("Input: Add IBM Operation
Panel driver") to v6.1. It depends on I2C so it's available to limited
amount of targets. It needs to be specified thought to allow kernel
configuration.

For bcm53xx this fixes:
IBM Operation Panel driver (INPUT_IBM_PANEL) [N/m/?] (NEW)

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
15 months agokernel: backport v6.6 nvmem changes
Rafał Miłecki [Wed, 30 Aug 2023 22:28:58 +0000 (00:28 +0200)]
kernel: backport v6.6 nvmem changes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agomac80211: remove non-upstream antenna gain configuration patch
Felix Fietkau [Wed, 30 Aug 2023 10:27:04 +0000 (12:27 +0200)]
mac80211: remove non-upstream antenna gain configuration patch

It seems that this was not functioning properly and was likely completely unused.
Keeping this out of tree also introduced some annoying churn when updating, because
of the iw nl80211.h sync patch.
If this is needed, it will be reintroduced when/if it is added upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: ensure VFIO related suboptions are disabled
Mathew McBride [Sun, 6 Aug 2023 21:21:58 +0000 (21:21 +0000)]
kernel: ensure VFIO related suboptions are disabled

These suboptions (PLATFORM, FSL_MC and MLX5_VFIO_PCI)
may be prompted for when VFIO is enabled, regardless of
architecture.

These are not related to the main vfio use case
(passthrough of PCIe devices)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: enable vfio and vfio-pci for armsr-armv8
Mathew McBride [Sun, 6 Aug 2023 21:19:44 +0000 (21:19 +0000)]
kernel: enable vfio and vfio-pci for armsr-armv8

Arm platforms with the right hardware blocks (such as
GICv3.0+ interrupt controller and SMMU/IOMMU) are
able to use vfio-pci to pass through PCI devices
to a VM.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: vfio: remove unneeded enable_unsafe_noiommu_mode parameter
Mathew McBride [Fri, 25 Aug 2023 06:00:40 +0000 (06:00 +0000)]
kernel: vfio: remove unneeded enable_unsafe_noiommu_mode parameter

The vfio module only exposes the enable_unsafe_noiommu_mode parameter
if CONFIG_VFIO_NOIOMMU is enabled. When it isn't, the module
will complain about an unknown parameter:

vfio: unknown parameter 'enable_unsafe_noiommu_mode' ignored

As CONFIG_VFIO_NOIOMMU is disabled by the module package,
we can remove the module loading parameter.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: bump 6.1 to 6.1.49
John Audia [Mon, 28 Aug 2023 17:25:36 +0000 (13:25 -0400)]
kernel: bump 6.1 to 6.1.49

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.49

All no patches automatically rebased, just update to checksum for new version.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoarm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988
Daniel Golle [Mon, 28 Aug 2023 22:44:52 +0000 (23:44 +0100)]
arm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988

Always enable built-in 2.5G PHY on MT7988 for now, so that it can be
used. In future it would be nice to be able to switch power and MDIO
access via address 0 at run-time in Linux, both, to be able to use
external PHYs at address 0 and to reduce power consumption on systems
not using the built-in 2.5G PHY.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)
Daniel Golle [Mon, 28 Aug 2023 22:41:43 +0000 (23:41 +0100)]
uboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)

The U-Boot build for the MT7988 reference board booting from SD card
wrongly depended on the 'ddr4' variant of the ARM TrustedFirmware-A build
even though the 'comb' variant is used. Fix that dependency.

Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agotools/mpfr: update to 4.2.1
Linhui Liu [Sat, 26 Aug 2023 05:56:53 +0000 (13:56 +0800)]
tools/mpfr: update to 4.2.1

Changes from version 4.2.0 to version 4.2.1:
- Bug fixes (see <https://www.mpfr.org/mpfr-4.2.0/#fixed> and/or the
  ChangeLog file).
- Improved MPFR manual.
- Configure tests: replaced the test of the link with GMP, in order to
  avoid the use of a function without a prototype (Autoconf issue), as
  this is obsolescent in ISO C. The new test should be more robust.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
15 months agomediatek: filogic: remove stray quote
Daniel Golle [Mon, 28 Aug 2023 20:54:02 +0000 (21:54 +0100)]
mediatek: filogic: remove stray quote

When adapting the network configuration for MT7988 RFB a stray quote
was left in a script. Remove it to fix generating the default network
configuration.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agogeneric: sync MediaTek Ethernet driver with upstream
Daniel Golle [Sat, 26 Aug 2023 01:19:18 +0000 (02:19 +0100)]
generic: sync MediaTek Ethernet driver with upstream

Import commits from upstream Linux replacing some downstream patches.
Move accepted patches from pending-{5.15,6.1} to backport-{5.15,6.1}.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: add support for Ubiquiti UniFi 6 LR v3
Daniel Golle [Sun, 27 Aug 2023 23:14:10 +0000 (00:14 +0100)]
mediatek: add support for Ubiquiti UniFi 6 LR v3

Some recent models of the Ubiquiti Networks UniFi 6 LR access point
come with a RealTek RTL8211FS 1000M/100M/10M PHY instead of the
Aquantia AQR112 2500M/1000M/100M/10M PHY used in both v1 and v2. Add
build for this variant so we can support Ethernet with the PHY.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: add builds for UniFi 6 LR v2 and v3
Daniel Golle [Sun, 27 Aug 2023 23:13:05 +0000 (00:13 +0100)]
uboot-mediatek: add builds for UniFi 6 LR v2 and v3

While the v2 is nearly identical to v1, v3 uses a different PHY and
needs a different build for Ethernet to work in U-Boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: generate bootloader artifacts for mt7988_rfb
Daniel Golle [Fri, 25 Aug 2023 03:09:28 +0000 (04:09 +0100)]
mediatek: generate bootloader artifacts for mt7988_rfb

Switch to OpenWrt uImage.FIT bootmethod and include various bootloader
artifacts with the generated binaries.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: build fully-featured U-Boot for MT7988 RFB
Daniel Golle [Fri, 25 Aug 2023 02:58:33 +0000 (03:58 +0100)]
uboot-mediatek: build fully-featured U-Boot for MT7988 RFB

Select many potentially useful options for the MT7988 RFB U-Boot builds.
The resulting loader is intended as a development tool and intends to be
generic. It does *not* have a default bootcmd set, but allows to boot
pretty much everything, including EFI executables.

To install this U-Boot build to the eMMC:
  opkg install mmc-utils partx-utils
  mmc bootpart enable 1 1 /dev/mmcblk0
  echo 0 > /sys/block/mmcblk0boot0/force_ro
  dd if=*mediatek_mt7988a-rfb-nand-emmc-preloader.bin of=/dev/mmcblk0boot0
  dd if=*mediatek_mt7988a-rfb-nand-emmc-gpt.bin of=/dev/mmcblk0
  partx -a /dev/mmcblk0
  dd if=*mediatek_mt7988a-rfb-nand-emmc-bl31-uboot.fip of=/dev/mmcblk0p3

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: improve mt7981.dtsi
Daniel Golle [Sun, 27 Aug 2023 14:57:00 +0000 (15:57 +0100)]
mediatek: improve mt7981.dtsi

 * re-factor WED components to boot fine also on limited loaders
 * add LEDs of integrated GE PHY

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: filogic: improve pinctrl drivers
Daniel Golle [Sat, 26 Aug 2023 23:38:38 +0000 (00:38 +0100)]
mediatek: filogic: improve pinctrl drivers

Set correct pull-type data and add additional uart groups for MT7981.
Assign functions to configure pin bias for MT7986.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: i2c: mt65xx: allow optional pmic clock
Daniel Golle [Sat, 26 Aug 2023 21:26:37 +0000 (22:26 +0100)]
mediatek: i2c: mt65xx: allow optional pmic clock

Using the I2C host controller on the MT7981 SoC requires 4 clocks to
be enabled. One of them, the pmic clk, is only enabled in case
'mediatek,have-pmic' is also set which has other consequences which
are not desired in this case.

Allow defining a pmic clk even in case the 'mediatek,have-pmic' propterty
is not present and the bus is not used to connect to a pmic, but may
still require to enable the pmic clock.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: re-add missing patch for Linux 6.1
Daniel Golle [Sun, 27 Aug 2023 15:32:50 +0000 (16:32 +0100)]
mediatek: re-add missing patch for Linux 6.1

The patch was wrongly tagged as being part of Linux 6.0 even though it
was only committed with Linux 6.2 and hence needs to be backported for
Linux 6.1.

Fixes: fa79baf4a6 ("generic: copy backport, hack, pending patch and config from 5.15 to 6.1")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: re-add dropped properties on BPi-R3
Daniel Golle [Fri, 25 Aug 2023 13:00:09 +0000 (14:00 +0100)]
mediatek: re-add dropped properties on BPi-R3

Unfortunately some device tree properties have slipped under the table
when switching from our downstream device tree.

Bring back 3W power for SFP cages and restore thermal trip points to
make sense again.

Fixes: 7a0ec001ff ("mediatek: sync MT7986 device trees with upstream")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agobcm53xx: Add support for D-Link DIR-890L
Linus Walleij [Mon, 19 Jun 2023 06:36:16 +0000 (08:36 +0200)]
bcm53xx: Add support for D-Link DIR-890L

The DIR-890L is very similar to DIR-885L, but has both USB2
and USB3. The signature for the wrgac36 board was copied from
DD-Wrt.

The DIR-890L bootstrap will only load the first 2 MB after
the SEAMA header in the NAND flash, uncompress it with LZMA
and execute it. Since the compressed kernel will not fit in
2 MB we have a problem. Solve this by putting a LZMA
compressed U-Boot into the first 128 KB of the flash
followed by the kernel. The bootstrap will then uncompress
and execute U-Boot and then we let U-Boot read the kernel
from flash and execute it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
15 months agoipq806x: onhub: Enable adm_dma node
Brian Norris [Sat, 12 Aug 2023 00:49:59 +0000 (17:49 -0700)]
ipq806x: onhub: Enable adm_dma node

One of our SPI devices references this node, but we never enabled it.
This clutters up probe deferral logs.

(NB: this SPI device still doesn't have a real driver, so it's just here
for documentation and/or tinkering.)

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
15 months agoipq806x: chromium: Disable kernel's CONFIG_QCOM_SPM
Brian Norris [Sat, 12 Aug 2023 00:49:58 +0000 (17:49 -0700)]
ipq806x: chromium: Disable kernel's CONFIG_QCOM_SPM

The qcom spm driver is currently broken for IPQ8064 OnHub devices on
kernel 6.1, such that it hangs the system when booting, much to the
consternation of users. This is especially bad as these devices don't
yet have a fully-supported release branch, and are still sometimes
landing on snapshot builds.

OnHub devices have their own kernel config, so it's not that wide of an
impact to disable this.

I haven't fully gotten to the bottom of this, but:

(a) The vendor kernel didn't have any SPM driver at all, and didn't
    utilize cpuidle.
(b) The device tree has never included any (non-disabled) cpuidle
    states, so even when this driver was present on 5.15 (last
    known-working kernel), it didn't actually do anything -- it bailed
    early, before ever doing any SPM initialization.
(c) Refactoring in Linux 5.16 [1] caused the SPM driver to be activated
    unconditionally, including setting us into standby mode
    (PM_SLEEP_MODE_STBY) by default.

Removing the one PM_SLEEP_MODE_STBY line from drivers/soc/qcom/spm.c
seems to fix the problem, but that isn't much different than simply
disabling the driver, so I go with that for now.

I also disable CONFIG_ARM_QCOM_SPM_CPUIDLE, becuase it 'select's
QCOM_SPM.

NB: it's possible there's some other deeper root cause involved in here.
For one, I notice that CPU hotplug (e.g., echo 0 >
/sys/devices/system/cpu/cpu1/online, echo 1 > ...) doesn't work right
either. Perhaps there's some mismatch on upstream Linux qcom-scm
behavior and the old boot firmware used for these systems? It wouldn't
be the first time, as we've had some similar incompatibilities on the
next generation of these devices, Google WiFi [2].

[1] Commit 60f3692b5f0b ("cpuidle: qcom_spm: Detach state machine from
    main SPM handling")
[2] [RFC] qcom_scm: IPQ4019 firmware does not support atomic API?
    https://lore.kernel.org/linux-arm-kernel/20200913201608.GA3162100@bDebian/

Signed-off-by: Brian Norris <computersforpeace@gmail.com>