Commit Graph

1500 Commits

Author SHA1 Message Date
Tianling Shen
be7e3123e8
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-25 15:08:13 +08:00
Daniel Golle
b27075e12b mediatek: add wireless offloading firmware to MT7988 boards
Install mt7988-wo-firmware by default on boards based on MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-23 13:40:09 +01:00
Hauke Mehrtens
d0abb26f40 mediatek: Remove double CONFIG_HARDEN_BRANCH_PREDICTOR
CONFIG_HARDEN_BRANCH_PREDICTOR option is included two times in this
configuration file. Remove one definition. On arm32 SoC it should not be
needed.

Fixes: 54f9744c82 ("treewide: disable spectre mitigation on unaffected Arm32 targets")
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-22 21:13:26 +02:00
Tianling Shen
9439570689
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-22 21:33:28 +08:00
Tianling Shen
6085c4917a
mediatek: fix phy led and uart pins for openembed som7981
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
2024-10-21 15:36:36 +08:00
Daniel Golle
e550c6d381 mediatek: fix OpenWrt One ubinized image in IB
The ImageBuilder when using the profile for the OpenWrt One has been
failing because the initramfs image included in the ubinized image could
not be found.

Fix that by using the staged initramfs instead when using the
ImageBuilder.

Fixes: 797904b3cb ("mediatek/filogic: add OpenWrt One support")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-21 00:49:22 +01:00
Tianling Shen
dcae03720d
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-20 14:16:56 +08:00
Rosen Penev
a6252a6dfc mediatek: leds-smartrg: handle disabled LEDs
If LEDs are disabled, they should not be handled.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 19:19:38 +02:00
Rosen Penev
0dfe1e876a mediatek: leds-smartrg: use devm_mutex_init
No longer need normal _remove function. Replaced with _disable.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16651
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-19 19:19:38 +02:00
Tianling Shen
f6d00e7c0d
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-19 15:13:05 +08:00
Daniel Golle
dbc2923cbe mediatek: filogic: convert Acer Predator W6 to use NVMEM framework
Read WiFi calibration data via NVMEM framework. The MAC addresses are
stored inside a file on a filesystem and hence still have to be
extracted in userspace.

WiFI EEPROM extraction has already accidentally been partially removed
by commit 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran
devices").

Fixes: 3e6de5d77a ("mediatek: use NVMEM framework on all Adtran devices")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-18 12:38:21 +01:00
Tianling Shen
e8c765190d
mediatek: fix gbe led gpios for openembed som7981
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
2024-10-18 15:43:00 +08:00
Tianling Shen
02d897efeb
Merge Official Source
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
2024-10-18 15:23:58 +08:00
Tianling Shen
737421d51e
mediatek: fix led register for openembed som7981
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
2024-10-18 14:55:40 +08:00
Tianling Shen
7fe8ca3317
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-17 14:09:24 +08:00
Tianling Shen
1477aaf4db
mediatek: increase phy assert time for openembed som7981
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-16 16:43:43 +08:00
Daniel Golle
7e51d6a4c8 mediatek: mt7622: add netdev rename preinit script
Add preinit script to rename network interfaces according to the
label provided in Device Tree.

Fixes: b6d8297510 ("mediatek: mt7622: add Adtran SmartRG SDG-841t6 device")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-16 00:10:28 +01:00
Chukun Pan
e98987048a mediatek: filogic: reorder alphabetically
Reorder scripts to keep alphabetical order.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-10-15 21:36:16 +01:00
Chukun Pan
5fd4743d4c mediatek: filogic: fix network config for mt7986b-rfb
Fix the network configuration according to the device tree.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-10-15 21:36:16 +01:00
Daniel Golle
3e6de5d77a mediatek: use NVMEM framework on all Adtran devices
Use NVMEM framework to assign MAC addresses and WiFi EEPROM data on
all Adtran SmartRG devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:56:06 +01:00
Daniel Golle
b6d8297510 mediatek: mt7622: add Adtran SmartRG SDG-841t6 device
Specification
 SoC:   MediaTek MT7622A (2x Cortex-A53)
 RAM:   NANYA NT5CC256M16ER-EK (512 MiB)
 MMC:   Kioxia THGBMNG5D1LBAIT (4 GiB)
 ETH0:  Intel/MaxLinear GPY211 (2500M/1000M/100M/10M)
 ETH1:  Lantiq/Intel/MaxLinear PEF7071/GPY111 (1000M/100M/10M)
 WLAN0: MediaTek MT7915E + MT7975D 2T2R 802.11bgn/ax (2.4G)
                                   2T2R 802.11an/ac/ax (5G L)
 WLAN1: MediaTek MT7915E + MT7975A 4T4R 802.11an/ac/ax (5G H)
 BT:    BT5 provided by MT7915E+MT7975D (missing firmware)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:55:05 +01:00
Daniel Golle
175bd80349 mediatek: add driver for Adtran MFGINFO NVMEM layout
This driver allows retrieving MAC addresses and other factory information
via the NVMEM framework on Adtran devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:55:05 +01:00
Daniel Golle
330321421a mediatek: mt7622: enable HWMON in kernel config
Building HWMON as module prevents some other drivers from getting built
into the kernel, e.g. mxl-gpy. Always enable HWMON and also set
THERMAL_HWMON.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:55:05 +01:00
Daniel Golle
5fd518b6e3 generic: net: phy: mxl-gpy: add support for PHY LEDs
Add driver support for PHY LEDs for MaxLinear/Intel GPY Ethernet PHYs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:47:31 +01:00
Daniel Golle
45bad8ba98 generic: phy: aquantia: correctly describe LED polarity
Backport newly introduced support for 'active-high' property and use
it to correctly implement polarity assignment for Aquantia PHY LEDs.
Previously the 'active-low' property was used to switch a LED PIN to
active-high ("drive VDD" in Aquantia-speak) mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-15 17:46:14 +01:00
Tianling Shen
c7f1ca5117
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-13 14:17:59 +08:00
Magnus Sandin
c5287069ea mediatek: ASUS TUF-AX6000: Add Green & Red LEDs
Beside the already existing control of the
Blue cover LED, this will also add the
Green and the Red cover LEDS available in the
Asus TUF-AX6000.

Signed-off-by: Magnus Sandin <magnus.sandin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-12 22:16:28 +02:00
Tianling Shen
6eab0760c8
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-12 15:17:58 +08:00
John Audia
12f12df569 kernel: bump 6.6 to 6.6.55
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.55

Added the following default ksym to target/linux/generic/config-6.6:
	CONFIG_PROC_MEM_ALWAYS_FORCE=y
	# CONFIG_PROC_MEM_FORCE_PTRACE is not set
	# CONFIG_PROC_MEM_NO_FORCE is not set

Removed upstreamed:
	generic/backport-6.6/780-23-v6.12-r8169-Fix-spelling-mistake-tx_underun-tx_underrun.patch[1]
	generic/backport-6.6/780-25-v6.12-r8169-add-tally-counter-fields-added-with-RTL8125.patch[2]
	generic/pending-6.6/684-gso-fix-gso-fraglist-segmentation-after-pull-from-fr.patch[3]
	lantiq/patches-6.6/0025-v6.12-net-ethernet-lantiq_etop-fix-memory-disclosure.patch[4]

Manually rebased:
	bcm27xx/patches-6.6/950-0086-Main-bcm2708-bcm2709-linux-port.patch
	bcm27xx/patches-6.6/950-0998-i2c-designware-Add-support-for-bus-clear-feature.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=f02fcb7283b1c25f7e3ae07d7a2c830e06eb1a62
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=1c723d785adb711496bc64c24240f952f4faaabf
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=af3122f5fdc0d00581d6e598a668df6bf54c9daa
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.56&id=e66e38d07b31e177ca430758ed97fbc79f27d966

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>
Link: https://github.com/openwrt/openwrt/pull/16655
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-10-11 19:21:41 +02:00
Tianling Shen
5de2e1222d
mediatek: switch to nvmem mac binding for openembed som7981
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-09 13:32:50 +08:00
Tianling Shen
d125e12f60
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-09 13:21:53 +08:00
Daniel Golle
7d256aff7b mediatek: update MediaTek PHY patchset
The previous iteration of MediaTek's PHY patches caused various weird bugs.
Drop culprit patch 733-10-net-phy-mediatek-Extend-1G-TX-RX-link-pulse-time.patch
and use the most recent iteration of the patchset which has been posted to the
netdev mailing list.

Link: https://patchwork.kernel.org/project/netdevbpf/list/?series=895513&state=*
Fixes: #16448
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-09 01:37:02 +01:00
Tianling Shen
8b3c05f087
mediatek: update openembed som7981 support
The board has been redesigned due to previous hardware bugs
(with other reasons maybe).

Changes in new board:
- Added a gpio beeper
- Added a Atmel i2c eeprom
- Added a Atmel i2c ECC accelerator
- Added a Philips RTC module
- Added two RS485
- Removed WPS button
- Replaced USB3 port with M.2 B-key for LTE modules

Also replace broken 'phy*tpt' trigger with uci netdev configuration.

Keeping compatibility for old version is not necessary here as only
few samples were sent to those interested in it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-08 18:19:46 +08:00
Tianling Shen
6222e84b7e
mediatek: add led polarity select for rtl8221
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-08 17:14:15 +08:00
Tianling Shen
39c6816bde
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-07 20:43:44 +08:00
Chuanhong Guo
9f73519e62
mediatek: add support for TP-Link TL-XDR3230 v1
Specifications:
- SoC: Mediatek MT7622B
- RAM: 256M
- Flash: EN25QH128 16M
- Ethernet: RTL8367S 4xGE
- WiFi: MT7622 2.4G 4x4 + MT7905 5G 4x4
- UART: 3.3v, 115200n8
  --------------------------
  |         Layout         |
  |               ∇        |
  |  -----------------     |
  |  | VCC GND RX TX | JP1 |
  |  -----------------     |
  --------------------------

Flash instruction:
TP-Link locks down their firmware and serial console, so the firmware
must be flashed with mtk_uartboot.

1. Download mtk_uartboot:
   https://github.com/981213/mtk_uartboot/releases
2. Download bootloaders:
   RAM loader for mtk_uartboot: https://drive.wrt.moe/uboot/mediatek/mt7622-bl2-ram-1ddr3.bin
   BL2: https://drive.wrt.moe/uboot/mediatek/mt7622-tplink_tl-xdr3230-v1-bl2.bin
   FIP: https://drive.wrt.moe/uboot/mediatek/mt7622-tplink_tl-xdr3230-v1-fip.bin
3. Open the case, and attach to the UART.
4. Start mtk_uartboot:
   ./mtk_uartboot -a -s /dev/ttyUSB0 -p mt7622-bl2-ram-1ddr3.bin -f \
     mt7622-tplink_tl-xdr3230-v1-fip.bin --brom-load-baudrate 115200 \
     --bl2-load-baudrate 115200
5. Cut off the power and re-engage, wait for UART download to complete.
6. Connect to the UART, write new BL2/FIP/Firmware with TFTP.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[fixup wifi eeprom and macs, add network configuration, minor fixes]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-07 16:06:36 +08:00
Rosen Penev
3da8e385e0 mediatek: fix wrong compatible string
The u-boot,env driver does not have layout in compatible.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16616
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-06 21:56:04 +02:00
Tianling Shen
b8b8ccdf89
mediatek: make use of whole spi nor for konka komi-a31
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-06 16:37:41 +08:00
Tianling Shen
0c41d43988
mediatek: add emmc and snor support for konka komi-a31
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-05 18:55:04 +08:00
Tianling Shen
19e3832bf0
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-03 16:11:46 +08:00
John Crispin
8344ff8524 mediatek: change the the default SUBTARGET to filogic
Signed-off-by: John Crispin <john@phrozen.org>
2024-10-02 15:12:18 +02:00
Tianling Shen
4664782500
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-01 14:50:54 +08:00
Daniel Golle
3f98f68573 mediatek: filogic: select MT7996 2+3+3 firmware
Select MT7996 2+3+3 firmware for the Adtran SmartRG SDG-8733A device
and also add it to the image for the BPi-R4 which supports both,
BE19000 (4+5+5) as well as BE14000 (2+3+3) Wi-Fi 7 modules.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-29 23:04:34 +01:00
Tianling Shen
a148d38ced
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-27 15:14:03 +08:00
Felix Fietkau
7ea086bb89 mediatek: remove "Ralink" from the target name
None of the supported chips have been sold under the Ralink brand.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-09-26 15:05:27 +02:00
Tianling Shen
e197182f1e
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-23 16:03:08 +08:00
Chris Webb
7eda44f536 uboot-mediatek: support GL.iNet GL-X3000 and GL-XE3000
Add u-boot support based on the kernel dts introduced in d1016446 and
the GL-MT6000 u-boot support in fe10f974.

The pcie-mediatek-gen3 kernel driver doesn't like hotplug, so to work in
PCIe mode, the 5G modem on this device needs to be switched on by u-boot
before starting the kernel. Include an init_modem step in the boot_system
action to set the relevant gpios. (The factory bootloader does the same,
using Mediatek SDK-specific gpio_power_clr and gpio_pull_up.)

Ideally the modem would be started using gpio-hog in the device tree, but
this will need to wait until mediatek gpio-hog support is fixed upstream:

  https://lore.kernel.org/u-boot/6ef2583e85eea60560d7776377d662779e7c44e5.1722419839.git.chris@arachsys.com/

The bootloader can be replaced using the built-in web interface of the
factory bootloader. Hold the reset button for five seconds while powering
on the device and it will boot into a recovery http server.

http://192.168.1.1/uboot.html and http://192.168.1.1/bl2.html can then
be used to upload openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip
and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin respectively.

Alternatively, from a root shell on the running system, unlock the boot
partition with

  echo 0 >/sys/block/mmcblk0boot0/force_ro

then write openwrt-mediatek-filogic-glinet_gl-x3000-bl31-uboot.fip to
/dev/mmcblk0p4 and openwrt-mediatek-filogic-glinet_gl-x3000-preloader.bin
to /dev/mmcblk0boot0.

Signed-off-by: Chris Webb <chris@arachsys.com>
Link: https://github.com/openwrt/openwrt/pull/15645
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-22 23:50:40 +02:00
Tianling Shen
a5003a46f3
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-21 13:58:15 +08:00
Daniel Golle
d0a2b3f824 mediatek: add Adtran SmartRG SDG-8733A
Specification is similar to other devices of the MT Stuart series:
 * Mediatek MT7988D (3x Cortex-A73, up to 1.8 GHz clock speed)
 * 8 GiB eMMC
 * 2 GiB DDR4 RAM
 * 2500M/1000M/100M LAN port
 * 10000M/5000M/2500M/1000M/100M/10M WAN port
 * MT7992 Tri-band (2.4G, 5G, 6G) 2T2R+3T3R+3T3R 802.11be Wi-Fi
 * Renesas DA14531MOD Bluetooth
 * 2 buttons (Reset, Mesh/WPS)
 * uC-controlled RGB LED via I2C
 * 2x LED for the 2.5G port, 3x LED for the 10G port
 * 3.3V-level 115200 baud UART console via 4-pin Dupont connector
   exposed at the bottom of the device
 * USB-C PD power input

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-20 22:47:05 +01:00
Tianling Shen
9022262539
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-20 13:06:31 +08:00