Commit Graph

1446 Commits

Author SHA1 Message Date
cheng wang
594da824a4 mediatek: add support for Cudy TR3000 256MB v1 flash version
This device is similar to the Cudy TR3000 v1 128MB version.
The difference is that the flash memory is 128mb and the other is 256mb

Hardware:
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 256 MiB SPI NAND
 - RAM: 512 MiB
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps RTL8221B WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - Buttons: 1 Reset button, 1 slider button
 - LEDs: 1x Red, 1x White
 - Power: 5 VDC, 3 A

Installation:
Cudy has distributed intermediate firmware to make installation easier
1. Go to [Cudy CN official website](https://www.cudy.com/zh-cn/pages/download-center/tr3000-1-0) and download the intermediate firmware
2. Upgrade the intermediate firmware on the page
3. Visit the intermediate firmware 192.168.1.1 webpage and use the sysupgrade image to update

other:
If you fail to flash the device, you can use TFTP to flash back to the original firmware.
1. Ask Cudy CN official customer service for the original firmware
2. With the router off, press the RESET button. While the router is turning on, the button should continue to be pressed for at least 5 seconds.
3. A u-boot shell will automatically open.
4. Connect to LAN and set your IP to 192.168.1.88/24. Configure a TFTP server and an recovery.bin firmware file.

Signed-off-by: cheng wang <typedelta@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-22 19:17:25 +02:00
John Audia
836a4cc6d3 kernel: bump 6.6 to 6.6.94
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.94

Removed upstreamed:
	generic/backport-6.6/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch[1]
	generic/backport-6.6/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch[2]
	generic/backport-6.6/725-01-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch[3]
	mvebu/patches-6.6/0001-v6.16-pinctrl-armada-37xx-use-correct-OUTPUT_VAL-register-.patch[4]
	mvebu/patches-6.6/0002-v6.16-pinctrl-armada-37xx-set-GPIO-output-value-before-set.patch[5]

Added new back-port:
	generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch[6]
All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=29abb7fc82443bee273ba4623ce319bf7ba1d43d
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=59d5f3134b5c265df233b7f385bbe718191411be
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=2e02edb66427e3b8752e1f3dd3cfc1bef3f2357b
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=39ed85ae485d991ffb24d25629a679c0b22e2d8f
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=8f0f45a312151a52aae920a091ea4b454ac97caf
6. Addresses a build failure for pcc

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19183
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-21 13:54:17 +02:00
Shiji Yang
cb1b656027 kernel: bump 6.12 to 6.12.34
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.34

Remove upstreamed patches:
  generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch [1]
  generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch [2]
  generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch [3]
  generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch [4]
  generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch [5]
  generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch [6]

Manually rebased patches:
  bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch [7]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=408ca1d1803b223d615f9021055f9ccb4f4863ea
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2a98786e258718ff93ef6d6bd26a9a39076e0cb7
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=6d1c93a5c6b0ae87bb7001d8d6fdef3b3be9c6c6
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=1aa31695bf0dc1ee3e6c559c14db7fd05b6bb102
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=b2fc08d276797e529cacad6fa9d704a7367090b5
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2c32fc56c05aa69439fdfd5e0b25f57e2a158627
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=aba86d49e5ac3700295ab8c417436abacc19cc32

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19184
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-21 13:50:11 +02:00
Chukun Pan
782afec6c1 mediatek: 6.12: fix cci driver probe for mt7988d
The patch of kernel 6.12 missing cpufreq part for
mt7988d, causing the ccifreq driver probe to fail.
Add it to avoid mt7988d devices boot hang.

Fixes: a9822e8 ("kernel/mediatek: 6.12: drop patches which have been applied upstream")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-06-19 22:53:04 +02:00
Marius Durbaca
c908fc7d95 mediatek: add support for Zbtlink ZBT-Z8102AX v2
Specifications:
SoC: MediaTek MT7981B
RAM: 1024MiB
Flash: SPI-NAND 128 MiB
Switch: 1 WAN, 4 LAN (Gigabit)
USB: two M.2 slots for 5G modems via USB 3.0 hub, external USB 3.0 port
Buttons: Reset, Mesh
Power: DC 12V 1A
WiFi: MT7976CN
UART: 115200n8
UART Layout:
VCC-RX-TX-GND

Installation:
1. Power down the router and hold in the Reset button.
2. While holding in the button power up the router again.
3. Hold the button in for 10 seconds and then release.
4. Use your browser to go to 192.168.1.1
5. If you see a GUI that is for flashing firmware then you have the V2 model.
	If there is no GUI and the router continues to boot up normally
	you have the V1 model.
6. Now use the V2 sysugrade file.

Note: Recovery GUI it can be used to recover from an incorrect firmware flash.

Based on patches adding support for this device by Yannick Chabanois (openmptcprouter)
and Dairyman (ofmodemsandmen)

Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18514
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-16 22:46:55 +02:00
Chukun Pan
f60207a2d3 mediatek: cleanup device tree for mt7988 devices
Fix wrong pwm-fan node for bpi-r4.
Remove useless status for pwm-fan.
Remove blank lines added by b992aa11.

Fixes: b992aa11 ("mediatek: dts: bring mt7988a.dtsi closer to upstream")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-06-13 11:15:08 +02:00
Yin Ni
f7735158f3 mediatek: update pinconf for GL.iNet eMMC boards
Update the pin-configuration as well as maximum frequency for the eMMC
flash.

 - Use 26 MHz as the maximum clock of the eMMC memory
 - Configure 12mA as the pin drive-strength
 - Enable internal pull-reistors

Signed-off-by: Yin Ni <yin.ni@gl-inet.com>
[adapt commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
2025-06-11 18:40:26 +02:00
Roland Reinl
300335f1ff mediatek: filogic: add support for Cudy WR3000E v1
The WR3000E has the same board layout as the WR3000S. Differences:
- Different flash chip
- LEDs with red/blue colour intead of white

Hardware:
- MediaTek MT7981 WiSoC
- 256MB DDR3 RAM
- 128MB SPI-NAND (F50L1G41LB)
- MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)

MAC Addresses in OEM firmware:
- There is one on the label, e.g. AA:BB:CC:DD:EE:FF
- WLAN (2.4G) uses the same as on the label
- WLAN (5G) is the one on the label but
  - first byte (e.g. AA) + 2
  - fourth byte (e.g. DD) - 0x40
- WAN is the one on the label + 1
- LAN is the one on the label

MAC Addresses in OpenWrt:
- Same handling as in WR3000s is used

GPIO:
- 2 Buttons (all low active):
  - WPS on GPIO 0
  - Reset on GPIO 1
- 6 LEDs (all low active):
  - Power: Blue on GPIO 8, no red LED
  - WPS: Blue on GPIO 10, Red on GPIO 4
  - Internet: Blue on GPIO 11, no red LED
  - LAN: Blue on GPIO 9, Red on GPIO 5
  - WiFi 2.4G: Blue on GPIO 6, no red LED
  - WiFi 5G: Blue on GPIO 7, no red LED

Disassembly:
- Remove the 4 screws at the bottom of the case
- Cover is clipped to the bottom part of the case with clips in the front and the back

UART:
- UART pins are accessible on the bottom of the board
- The connector with the square shape is TX
- Pins: [ ] TX, ( ) RX, ( ) GND, ( ) VCC
- Settings: 115200 8N1 3.3V

Migration to OpenWrt via OEM firmware:
- There should be a migration image available from Cudy as soon as there is official OpenWrt support
- Download the migration image via OEM web interface
- After flashing, OpenWrt is accessible via 192.168.1.1
- Flash the official OpenWrt image

Migration to OpenWrt using TFTP:
- Connect UART as described above
- Press the reset button while powering on the device
- U-Boot will now try to load a recovery.bin via TFTP, this must be ignored
- After detecting a timeout, the U-Boot console is available via UART
- Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports
- Provide the initramfs image via TFTP as cudy3000e.bin
- Run the following command in U-Boot: tftpboot 0x46000000 cudy3000e.bin; bootm 0x46000000
- OpenWrt initramfs image is now booting and accessible via 192.168.1.1
- Flash the sysupgrade image

Revert back to OEM:
- Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports
- Provide the Cudy firmware via TFTP as recovery.bin
- Press the reset button while powering on the device
- Recovery process will start now
- After recovery is done, the OEM firmware is available at 192.168.10.1 again

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18609
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-07 18:07:03 +02:00
Sergey Shlukov
8b24289a52 mediatek: add support for TP-Link Archer AX80v1(US/RU/CA)
This commit adds support for TP-Link Archer AX80v1(US/RU/CA).

Device specification
SoC Type:   MediaTek MT7986AV, Cortex-A53, 64-bit
RAM:        ESMT M15T4G16256 (512MB)
Flash:      ESMT F50L1G41LB (128 MB)
Ethernet:   MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8)
Ethernet:   1x2.5Gbe (WAN/LAN 2.5Gbps), 4xGbE (WAN/LAN 1Gbps, LAN1, LAN2, LAN3)
WLAN 2g:    MediaTek MT7976GN
WLAN 5g:    MediaTek MT7976AN
LEDs:       1 red,1 green,1 blue status LEDs,

Buttons:    4 (Reset,ledswitch,wps,wlan),
USB ports:  1 (USB 3.0)
Power:      12 VDC, 3,3 A
Connector:  Barrel
Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
            slots contain "seconduboot" (also U-Boot 2022.01-rc4)
Serial console (UART)
                            V
+-------+-------+-------+-------+
| +3.3V |  GND  |  TX   |  RX   |
+---+---+-------+-------+-------+
    |
    +--- Don't connect

Installation (UART)
Place OpenWrt initramfs image on tftp server with IP 192.168.1.2

Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C'

Load and run OpenWrt initramfs image:

      tftpboot initramfs-kernel.bin
      bootm

!!Attention!! is very important! After entering OpenWrt, please set / update the environment variables:

fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
fw_setenv mtdids "spi-nand0=spi-nand0"
fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data),8M(mali_data)"
fw_setenv tp_boot_idx 0

Run 'sysupgrade -n' with the sysupgrade OpenWrt image from console or Luci WebUI.

Recovery

Press Reset button and power on the router
Navigate to U-Boot recovery web server (192.168.1.1) and upload the OEM firmware

Stock layout

0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"
0x000007300000-0x000007B00000 : "mali_data"

ubi0/ubi1 format
U-Boot at boot checks that all volumes are in place:

+-------------------------------+
| Volume Name: uboot   Vol ID: 0|
| Volume Name: kernel  Vol ID: 1|
| Volume Name: rootfs  Vol ID: 2|
+-------------------------------+
MAC addresses
+---------+-------------------+-----------+
| label   | 00:eb:xx:xx:xx:be | label     |
| LAN     | 00:eb:xx:xx:xx:be | label     |
| WAN     | 00:eb:xx:xx:xx:bf | label+1   |
| WLAN 2g | 00:eb:xx:xx:xx:be | label     |
| WLAN 5g | 00:eb:xx:xx:xx:bd | label-1   |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file "default-mac".
OEM wireless eeprom is also there (file "MT7986_EEPROM.bin").

Signed-off-by: Sergey Shlukov <ichizakurain@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17753
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-05 22:55:55 +02:00
Roland Reinl
54febbc55b mediatek: Create common DTSI for WR3000H and WR3000S
This change moves common elements of the WR3000H and the WR3000S to mt7981b-cudy-wr3000-nand.dtsi.
This will simplify adding of new similar devices, for exapmle WR3000E.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18619
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-05 21:13:24 +02:00
Matthew Bilker
8d30e07180 mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revision
GL.iNet shipped a hardware change of the WAN PHY going from the MaxLinear
GPY211C to the Airoha EN8811H.

Signed-off-by: Matthew Bilker <me@mbilker.us>
Link: https://github.com/openwrt/openwrt/pull/18799
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-03 23:19:35 +02:00
Shiji Yang
30cdc48360 kernel: bump 6.12 to 6.12.31
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.31

Remove upstreamed patches:
  backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch [1]
  backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch [2]
  bcm27xx/patches-6.12/950-0315-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [3]
  bcm27xx/patches-6.12/950-0857-drm-v3d-Add-clock-handling.patch [4]
  bcm27xx/patches-6.12/950-0874-PCI-brcmstb-Expand-inbound-window-size-up-to-64GB.patch [5]
  bcm27xx/patches-6.12/950-0877-PCI-brcmstb-Adding-a-softdep-to-MIP-MSI-X-driver.patch [6]
  bcm27xx/patches-6.12/950-0960-media-imx335-Set-vblank-immediately.patch [7]

Manually rebased patches:
  d1/patches-6.12/0009-ASoC-sunxi-sun4i-codec-add-basic-support-for-D1-audi.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=ba59747562c49974cbace989d76b94a8331da442
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=2780aa8394415df0a69e3b908d6dd8c79e1d1bcc
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=9a981079097bee6a0583877798de0b240717bdde
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=bbd6dc1fb6c56267ad1d58810d92287fcd5b0058
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=3ffaa2e999380477774e76680ff4cef247451168
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=12153e3948c596737853c3ec4ff7e4e3f4a9f9a6
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.31&id=8d7e13c31c52690655883dff604238b0760a3644

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18953
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-31 17:35:29 +02:00
Shiji Yang
d2764bfd7e mediatek: mt7629: add the missing symbol CONFIG_LEDS_SMARTRG_LED
This symbol was lost when porting to the 6.12 kernel.

Fixes: 16b5a77716 ("mediatek: mt7629: update config-6.12")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18947
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-29 23:05:02 +02:00
Shiji Yang
0f8091334c kernel: reorder kernel symbol configs
Sort kernel configuration files alphabetically. Also resolve the
"CONFIG_ARM_PAN" conflict introduced in commit
057a0a075e ("generic: Fix up the v6.12 config for ARM"). Based on
the original PR comment[1], this symbol should be disabled by default.

[1] https://github.com/openwrt/openwrt/pull/18900#discussion_r2106253528
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18947
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-29 23:05:02 +02:00
Christian Marangi
11c936e141
mediatek: filogic: provide custom GPT table for Arcadyan Mozart
New revision Arcadyan Mozart apply a new partition table and moved the
factory partition to a new location. This conflicts with the standard
partition layout and also make the nvmem cells to not correctly identify
the MAC address anymore.

Generate and Provide a new GPT partition table that account for the new
calibration partition.
The previous revision of the Arcadyan Mozart device is considered
pre-production devices and should not be intended for real support.

Link: https://github.com/openwrt/openwrt/pull/18874
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-05-28 11:34:28 +02:00
Tianling Shen
6f8c58bfd8
mediatek: add ubootmod layout for cudy tr3000 v1
This allows us to use the full size of nand, which increases ubi size
from 64M to 122.25M.

If you are at factory firmware, please refer commit 63b8d98dd0 ("mediatek: add support for Cudy TR3000 v1")
to boot into OpenWrt initramfs (stock layout).

Flash instructions:
1. Login into the device and backup everything, especially 'Factory' part.
1. Unlock mtd partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
3. Write new BL2 and FIP
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-27 19:56:55 +08:00
Daniel Golle
fa236de37d mediatek: enable testing kernel 6.12
Set KERNEL_TESTING_PATCHVER to allow testing Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
16b5a77716 mediatek: mt7629: update config-6.12
Refresh kernel configuration of the mt7629 subtarget for use
with Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
0a0f5f94ec mediatek: mt7623: update config-6.12
Refresh kernel configuration of the mt7623 subtarget for use
with Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
029b7ed9c4 mediatek: mt7622: update config-6.12
Refresh kernel configuration of the mt7622 subtarget for use
with Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
3e95a2f6e1 mediatek: filogic: update config-6.12
Refresh kernel configuration of the filogic subtarget for use
with Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
166d9d5ea2 kernel/mediatek: 6.12: fix and refresh patches
Fix patches and refresh for Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
25bb907937 kernel/mediatek: 6.12: adapt for changed MMC card binding
Adapt patches adding NVMEM or fitblk rootdisk references to MMC
partitions for the changed MMC card binding.

Note that boards in 'dts' folder can only be converted once Linux 6.6,
which still depends on the old binding, has been dropped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
b09c0d2680 kernel/mediatek: 6.12: allow setting OF node for MSDOS partitions
Add patch to allow referencing MSDOS/MBR partitions in device tree to
allow legacy MT7623 boards to continue working with fitblk.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
25ee5081fa kernel/mediatek: 6.12: adapt SPI calibration
Fix build of downstream SPI calibration on Filogic SoCs for Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
f9206d1111 kernel/mediatek: 6.12: replace downstream files by patches
Replace downstream files by patches, either backports of those
which have already applied or pending patches tracked on patchwork.
This is done to make future maintainance more easy.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
a9822e8bd6 kernel/mediatek: 6.12: drop patches which have been applied upstream
Drop patches which have been applied upstream in the meantime.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
72994b5e5a kernel/mediatek: 6.12: drop patches which are now part of generic
Drop patches which have been moved into target/linux/generic by commit
f4144d61d2 ("generic: 6.12: backport MediaTek Ethernet PHY changes").

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
ca3a3a7cc4 kernel/mediatek: Restore kernel files for v6.6
This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

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

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
16c1e1b9ba kernel/mediatek: Create kernel files for v6.12 (from v6.6)
This is an automatically generated commit.

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

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
465249f2b3 mediatek: filogic: adapt BananaPi-R4 for use with upstream DT
* the variant with 2.5G PHY instead of LAN SFP is called '2p5'
   upstream and 'poe' in our downstream Linux 6.6 DT. Use the right
   DTS depending on the kernel version and set an additional
   compatible.

 * drop additional DT overlay for WiFi.
   The final version of the board uses a physical switch for the 12V
   power of the WiFi module and the I2C EEPROM of the module always
   comes empty (instead of with a MAC address).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:04 +01:00
Daniel Golle
b992aa119c mediatek: dts: bring mt7988a.dtsi closer to upstream
In preparation of using the upstream mt7988a.dtsi when switching
to Linux 6.12 prepare by bringing our downstream version closer to
what went upstream.
 * rename 'xphy' -> 'xsphy'
 * rename 'uart[012]' -> 'serial[012]'
 * only list pinctrl settings directly used in mt7988a.dtsi there,
   leave it to boards to define all additional pinctrl settings
   they need.
 * move fan and thermal-zone to board level

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:03 +01:00
Daniel Golle
a387c62114 mediatek: dts: rename mt7981.dtsi to mt7981b.dtsi
Upstream uses a different filename, so lets rename our downstream
mt7981.dtsi to mt7981b.dtsi and update the device tree of all
MT7981 boards accordingly.
This is to prepare for the switch to Linux 6.12 which is going to
use the upstream mt7981b.dtsi (plus some patches on top).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:03 +01:00
Daniel Golle
78db7780d0 mediatek: mt7622: prepare legacy rtl8367c driver for Linux 6.12
Do the minimum necessary to get the legacy rtl8367c driver to build
with Linux 6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-05-26 16:58:03 +01:00
Nikolay March
726bb8e0e2 mediatek: filogic: add support for SNR-CPE-AX2
SOC: MediaTek MT7981b
RAM: 256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH: MediaTek MT7531 Switch
UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)

Interface	MAC	Algorithm
LAN	8C:AE:DB:2C:xx:xx	label
WAN	8C:AE:DB:2C:xx:xx	label +1
WLAN 2.4G	8C:AE:DB:2C:xx:xx	label +2
WLAN 5G	8C:AE:DB:2C:xx:xx	label +3
Installation
-------------------Install openwrt image-------------------------------:

Set a static ip on the ethernet interface of your PC. (ip address:
192.168.1.254, subnet mask:255.255.255.0) .

Download the OpenWrt uboot image
(openwrt-mediatek-filogic-snr_cpe-ax2-bl31-uboot.fip).

SSH/SCP opened by default on the stock firmware (3.0.1).
Username: Admin, default password: Admin. Check it on the bottom of
the router.

Copy uboot image using SCP (WinSCP) to /tmp dir on SNR-CPE-AX2.

Download recovery file.
openwrt-mediatek-filogic-snr_snr-cpe-ax2-initramfs-recovery.itb.

Copy the recovery image to a TFTP server reachable at 192.168.1.254/24.

Open ssh shell to the SNR-CPE-AX2.
Run commands:
mtd write \
/tmp/openwrt-mediatek-filogic-snr_snr-cpe-ax2-bl31-uboot.fip FIP
reboot

Wait until recovery boot.
Open web 192.168.1.1 and do sysupgrade by
openwrt-mediatek-filogic-snr_cpe-ax2-squashfs-sysupgrade.itb

Signed-off-by: Nikolay March <palladin82@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/18700
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-25 19:04:12 +02:00
Mieczyslaw Nalewaj
a238170e57 treewide: strip trailing whitespace
Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18626
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-20 00:47:37 +02:00
Shiji Yang
6b43a52171 mediatek: mt7622: add the missing phy interrupt-parent for WAX206
Based on other mt7622 dts, it is not difficult to infer that the
missing interrupt controller is "pio". Fix dtc warning:

mt7622.dtsi:282.3-26: Warning (interrupts_property): /ethernet@1b100000/mdio-bus/ethernet-phy@7:#interrupt-cells: size is (8), expected multiple of 12

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
6854b19202 mediatek: mt7622: various dtc warning fixes for D-Link EAGLE PRO AI
- Add missing #address-cells and #size-cells to the partition nodes.
- Add missing #address-cells and #size-cells to the switch ports nodes.

This patch fixes the following dtc warnings:

../dts/mt7622-dlink-eagle-pro-ai-r32-a1.dts:74.3-20: Warning (reg_format): /spi@1100d000/flash@0/partitions/partition@180000/nvmem-layout/macaddr@81:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:289.6-36: Warning (reg_format): /spi@1100d000/flash@0/partitions/partition@2C0000/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:294.6-36: Warning (reg_format): /spi@1100d000/flash@0/partitions/partition@2C0000/partition@800000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:306.6-36: Warning (reg_format): /spi@1100d000/flash@0/partitions/partition@2FC0000/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:311.6-36: Warning (reg_format): /spi@1100d000/flash@0/partitions/partition@2FC0000/partition@800000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:90.6-16: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@4:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi:97.6-16: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@6:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-r32-a1.dts:50.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-r32-a1.dts:55.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts:45.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-m32-a1.dts:50.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-r32-a1.dts:60.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7622-dlink-eagle-pro-ai-r32-a1.dts:65.4-14: Warning (reg_format): /ethernet@1b100000/mdio-bus/switch@1f/ports/port@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
5bead4a0b2 mediatek: mt7622: fix mmc dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

mt7622-bananapi-bpi-r64.dts:243.3-13: Warning (reg_format): /mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7622-bananapi-bpi-r64.dts:278.3-13: Warning (reg_format): /mmc@11240000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
7cc089950d mediatek: mt7623: fix mmc dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

mt7623n-bananapi-bpi-r2.dts:346.3-13: Warning (reg_format): /mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7623n-bananapi-bpi-r2.dts:373.3-13: Warning (reg_format): /mmc@11240000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7623a-unielec-u7623-02.dts:23.3-13: Warning (reg_format): /mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
d1482e5e2d mediatek: filogic: fix mxl phy node dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

mt7981-rfb-mxl-2p5g-phy-eth1.dtso:26.5-15: Warning (reg_format): /fragment@1/__overlay__/ethernet-phy@5:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7981-rfb-mxl-2p5g-phy-swp5.dtso:27.5-15: Warning (reg_format): /fragment@1/__overlay__/ethernet-phy@5:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
96adba2768 mediatek: filogic: fix SPI node reg size dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7981b-cmcc-rax3000m-nand.dtso:67.5-15: Warning (reg_format): /fragment@4/__overlay__/spi_nand@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-snfi-nand.dtso:20.5-15: Warning (reg_format): /fragment@0/__overlay__/flash@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-spim-nand.dtso:22.5-15: Warning (reg_format): /fragment@0/__overlay__/flash@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-spim-nor.dtso:31.5-15: Warning (reg_format): /fragment@0/__overlay__/flash@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
f2de919658 mediatek: filogic: fix bpi-r4 eeprom dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:31.5-18: Warning (reg_format): /fragment@1/__overlay__/wifi_eeprom@51:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:50.5-18: Warning (reg_format): /fragment@1/__overlay__/wifi_eeprom@52:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
a851bbeec6 mediatek: filogic: fix PCIe node dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7986a-smartrg-bonanza-peak.dtsi:359.4-27: Warning (reg_format): /soc/pcie@11280000/pcie@0,0/mt7915@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:551.4-27: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-arcadyan-mozart.dts:331.4-27: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@1,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8.dtsi:291.4-27: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:72.5-28: Warning (reg_format): /fragment@2/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:76.6-29: Warning (reg_format): /fragment@2/__overlay__/pcie@0,0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:88.5-28: Warning (reg_format): /fragment@3/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:92.6-29: Warning (reg_format): /fragment@3/__overlay__/pcie@0,0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-spim-nand-factory.dtso:47.5-28: Warning (reg_format): /fragment@1/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-spim-nand-factory.dtso:51.6-29: Warning (reg_format): /fragment@1/__overlay__/pcie@0,0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-tplink-tl-xtr8488.dts:305.4-27: Warning (reg_format): /soc/pcie@11280000/pcie@0,0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-zyxel-ex5700-telenor.dts:268.4-27: Warning (reg_format): /soc/pcie@11280000/pcie@0,0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:77.5-28: Warning (reg_format): /fragment@2/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-bananapi-bpi-r4-wifi-mt7996a.dtso:95.5-28: Warning (reg_format): /fragment@3/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
mt7988a-rfb-spim-nand-factory.dtso:49.5-28: Warning (reg_format): /fragment@1/__overlay__/pcie@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
a16b44ac43 mediatek: filogic: fix wm8960 dtc warnings
Add missing #address-cells, #size-cells and #sound-dai-cells to
fix the following dtc warnings:

mt7986a-bananapi-bpi-r3-respeaker-2mics.dtso:46.5-18: Warning (reg_format): /fragment@1/__overlay__/wm8960@1a:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7986a-bananapi-bpi-r3-respeaker-2mics.dtso:29.11-31.7: Warning (sound_dai_property): /fragment@0/__overlay__/sound_wm8960/codec: Missing property '#sound-dai-cells' in node /fragment@1/__overlay__/wm8960@1a or bad phandle (referred from sound-dai[0])
mt7986a-rfb-spim-nand.dts:17.12-19.5: Warning (sound_dai_property): /sound_wm8960/platform: Missing property '#sound-dai-cells' in node /soc/audio-controller@11210000 or bad phandle (referred from sound-dai[0])
mt7986a-rfb-spim-nand.dts:21.9-23.5: Warning (sound_dai_property): /sound_wm8960/codec: Missing property '#sound-dai-cells' in node /soc/i2c@11008000/wm8960@1a or bad phandle (referred from sound-dai[0])

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
49d5fc505f mediatek: filogic: fix WiFi MAC address invalid length dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7988a-smartrg-mt-stuart.dtsi:558.5-15: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:565.5-15: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:572.5-15: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8.dts:78.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8.dts:85.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8.dts:92.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8-ubootmod.dts:82.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8-ubootmod.dts:89.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988d-asus-zenwifi-bt8-ubootmod.dts:96.3-13: Warning (reg_format): /soc/pcie@11300000/pcie@0,0/mt7996@0,0/band@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-cmcc-a10.dtsi:250.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:324.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:330.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-gatonetworks-gdsp.dts:247.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-gatonetworks-gdsp.dts:253.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-huasifei-wh3000.dts:182.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986b-mercusys-mr90x-v1-ubi.dts:114.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986b-mercusys-mr90x-v1-ubi.dts:120.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-openembed-som7981.dts:287.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-openwrt-one.dts:446.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-openwrt-one.dts:452.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-routerich-ax3000-v1.dts:323.3-13: Warning (reg_format): /soc/wifi@18000000/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-routerich-ax3000-v1.dts:329.3-13: Warning (reg_format): /soc/wifi@18000000/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
2d9697293b mediatek: filogic: fix "unknown,gca230718" dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7981b-dlink-aquila-pro-ai-m30-a1.dts:289.4-14: Warning (reg_format): /soc/i2c@11007000/gca230718@40/led@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-dlink-aquila-pro-ai-m30-a1.dts:295.4-14: Warning (reg_format): /soc/i2c@11007000/gca230718@40/led@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-dlink-aquila-pro-ai-m30-a1.dts:301.4-14: Warning (reg_format): /soc/i2c@11007000/gca230718@40/led@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-dlink-aquila-pro-ai-m30-a1.dts:307.4-14: Warning (reg_format): /soc/i2c@11007000/gca230718@40/led@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:356.4-14: Warning (reg_format): /soc/i2c@11008000/gca230718@40/led@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:362.4-14: Warning (reg_format): /soc/i2c@11008000/gca230718@40/led@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:368.4-14: Warning (reg_format): /soc/i2c@11008000/gca230718@40/led@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-dlink-aquila-pro-ai-m60-a1.dts:374.4-14: Warning (reg_format): /soc/i2c@11008000/gca230718@40/led@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
a7df41412b mediatek: filogic: fix memory node invalid length dtc warnings
Correct the dts memory reg property to fix the following dtc
warnings:

../dts/mt7986a-zyxel-ex5601-t0-stock.dts:19.3-33: Warning (reg_format): /memory@40000000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 2)
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:19.3-33: Warning (reg_format): /memory@40000000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 2)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
ac5561906e mediatek: filogic: fix unit name leading 0s dtc warnings
Trim unnecessary 0s to fix the following dtc warnings:

../dts/mt7981b-cudy-re3000-v1.dts:135.20-139.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-cudy-wr3000-v1.dts:153.20-157.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-gatonetworks-gdsp.dts:276.20-280.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
mt7988a-rfb-spim-nor.dtso:36.21-39.7: Warning (unit_address_format): /fragment@0/__overlay__/flash@0/partition@00000: unit name should not have leading 0s
../dts/mt7981a-ubnt-unifi-6-plus.dts:113.28-131.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-wavlink-wl-wn586x3.dts:147.20-151.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-wavlink-wl-wn573hx3.dts:102.20-106.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-yuncore-ax835.dts:161.20-165.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:57.39-61.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0004: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:63.39-67.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0024: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:69.39-73.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@002a: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:56.39-60.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0004: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:62.39-66.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0024: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:68.39-72.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@002a: unit name should not have leading 0s

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
bc0be15e8d mediatek: filogic: fix flash node name dtc warnings
Correct dts node name based on reg property to fix the
following dtc warnings:

mt7981-rfb-spim-nand.dtso:20.25-67.6: Warning (spi_bus_reg): /fragment@1/__overlay__/spi_nand@0: SPI bus unit address format error, expected "1"
mt7986a-rfb-spim-nand.dts:41.23-76.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"
../dts/mt7981a-comfast-cf-e393ax.dts:135.23-206.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"
../dts/mt7981b-openwrt-one.dts:305.10-342.4: Warning (spi_bus_reg): /soc/spi@1100a000/flash@0: SPI bus unit address format error, expected "1"
../dts/mt7986a-zyxel-ex5601-t0-common.dtsi:166.30-180.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:01:00 +08:00
Shiji Yang
1adb0a8928 mediatek: filogic: fix mmc dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7986a-smartrg-bonanza-peak.dtsi:310.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7986a-bananapi-bpi-r3-emmc.dtso:29.5-15: Warning (reg_format): /fragment@0/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7986a-bananapi-bpi-r3-sd.dtso:23.5-15: Warning (reg_format): /fragment@0/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-bananapi-bpi-r3-mini.dts:274.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-cmcc-rax3000m-emmc.dtso:48.5-15: Warning (reg_format): /fragment@3/__overlay__/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-glinet-gl-mt2500.dts:158.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-glinet-gl-mt6000.dts:319.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981a-glinet-gl-x3000-xe3000-common.dtsi:142.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-huasifei-wh3000.dts:118.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-jdcloud-re-cp-03.dts:171.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-nradio-c8-668gl.dts:110.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7981b-unielec-u7981-01-emmc.dts:26.3-13: Warning (reg_format): /soc/mmc@11230000/card@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:00:59 +08:00
Shiji Yang
13a02c9832 mediatek: filogic: fix "srg,sysled" dtc warnings
Add missing #address-cells and #size-cells to fix the
following dtc warnings:

../dts/mt7986a-smartrg-bonanza-peak.dtsi:562.4-14: Warning (reg_format): /soc/i2c@11008000/system-leds/led@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-smartrg-bonanza-peak.dtsi:568.4-14: Warning (reg_format): /soc/i2c@11008000/system-leds/led@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-smartrg-bonanza-peak.dtsi:574.4-14: Warning (reg_format): /soc/i2c@11008000/system-leds/led@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-smartrg-bonanza-peak.dtsi:580.4-14: Warning (reg_format): /soc/i2c@11008000/system-leds/led@4:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:394.4-14: Warning (reg_format): /soc/i2c@11004000/system-leds/system_red:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:399.4-14: Warning (reg_format): /soc/i2c@11004000/system-leds/system_green:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:404.4-14: Warning (reg_format): /soc/i2c@11004000/system-leds/system_blue:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7988a-smartrg-mt-stuart.dtsi:409.4-14: Warning (reg_format): /soc/i2c@11004000/system-leds/system_white:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7986a-smartrg-bonanza-peak.dtsi:559.14-588.4: Warning (i2c_bus_reg): /soc/i2c@11008000/system-leds: I2C bus unit address format error, expected "30"
../dts/mt7988a-smartrg-mt-stuart.dtsi:388.14-413.4: Warning (i2c_bus_reg): /soc/i2c@11004000/system-leds: I2C bus unit address format error, expected "30"

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2025-05-19 20:00:59 +08:00
Shiji Yang
7193539c98 treewide: dts: trim "#size-cells" from "gpio-export" node
The "gpio-export" driver doesn't require a "reg" property in the
device tree, hence we don't need to use the "#size-cells" property
to describe the size of "reg".

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18290
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-18 19:35:00 +02:00
Christoph Krapp
0d6ba33181 mediatek: filogic: fix wifi on ASUS RT-AX52
Add missing kmod-7915e package to get both wireless interfaces working.

Link: https://github.com/openwrt/openwrt/issues/18690

Reviewed-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
2025-05-13 03:32:26 +02:00
Aleksander Jan Bajkowski
a1da2f8465 mediatek: filogic: increase spi flash memory speed on ZyXEL EX5601
Reduces boot time by 3s on a freshly installed image. This device
has a large flash and the gain can be higher with more packages
installed. According to the datasheet, this is the maximum frequency
supported by the Micron and Macronix chips that are installed in
these devices. Tested on three units over a two month period.

Before:
$ dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 1.51901 s, 6.9 MB/s

After:
$ dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.899474 s, 11.7 MB/s

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/18694
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-08 22:38:13 +02:00
Mieczyslaw Nalewaj
a72a2fd7e0 kernel: bump 6.6 to 6.6.88
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.88

Manually rebased:
 - bcm27xx/patches-6.6/950-0327-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch[1]
 - bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch[2]
 - generic/hack-6.6/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch[3]
 - generic/pending-6.6/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch[4]

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=f249c05416ea0bef24c9dbed0e653d2fad87b127
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=1fea7726276e5d6526ecd4e7ccb4c91a6135deb5
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=95f17738b86fd198924d874a5639bcdc49c7e5b8
4. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=a2874f0dff63829d1f540003e2d83adb610ee64a

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18607
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-03 19:57:53 +02:00
Rosen Penev
576278a507
realtek: use remove_new
Easy compability fix for kernel 6.12.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18660
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-05-02 01:34:24 +02:00
David Bauer
6b1d0ce88c mediatek: add missing pipe
Signed-off-by: David Bauer <mail@david-bauer.net>
2025-04-25 21:40:42 +02:00
David Bauer
30618d4239 mediatek: fix GL.iNet GL-MT2500 preinit interface
This was previously set incorrectly to a non-existant interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-04-25 17:05:27 +02:00
Christoph Krapp
50d9ca6e5a mediatek: filogic: add support for ASUS RT-AX52
Hardware
--------
SOC:   MediaTek MT7981b
RAM:   256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI:  Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH:   MediaTek MT7531 Switch
UART:  3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)

Installation
-----------------------------------------------------------
Vendor-UI Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs.trx image.

2. Connect the PC via LAN to one of the yellow router ports and wait
   until your PC to get a DHCP lease.

3. Browse to http://192.168.50.1

4. If your router is brand new, finish the setup process and log into
   the Web-UI.

5. Navigate to Administration -> Firmware Upgrade and upload the
   downloaded OpenWrt image.

6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
   using scp and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>
-----------------------------------------------------------
TFTP Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
   reachable at 192.168.1.70/24. Rename the image to rtax52.bin.

2. Connect the PC with TFTP server to the RT-AX52.
   Set a static ip on the ethernet interface of your PC.
     (ip address: 192.168.1.70, subnet mask:255.255.255.0)
  Conect to the serial console,
   interrupt the autoboot process by pressing '4' when prompted.

3. Download & Boot the OpenWrt initramfs image.

   $ setenv ipaddr 192.168.1.1
   $ setenv serverip 192.168.1.70
   $ tftpboot 0x46000000 rtax52.bin
   $ bootm 0x46000000

4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
   using scp and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>
---------------------------------------------------------------------------
Revert to stock firmware:
1: Download the rt-ax52 firmware from ASUS official website. Save
   the firmware to tftp server directory and rename to RT-AX52.trx

2: Connect the PC with TFTP server to the RT-AX52.
   Set a static ip on the ethernet interface of your PC.
     (ip address: 192.168.1.70, subnet mask:255.255.255.0)

3: Conect to the serial console,  power on again,  interrupt the
   autoboot process by pressing '4' when prompted.
  $: ubi remove linux
  $: ubi remove jffs2
  $: ubi remove rootfs
  $: ubi remove rootfs_data
  $: ubi create linux 0x45fe000
  $: reset

  Then the dut will reboot,interrupt the autoboot process by
  pressing '2' when prompted.
       2: Load System code then write to Flash via TFTP.
       Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
       $: enter y
  you will see the follow, type enter directly:
       Input device IP (192.168.1.1) ==:
       Input server IP (192.168.1.70) ==:
       Input Linux Kernel filename (RT-AX52.trx) ==:

4: wait for the device run up

Based on support for ASUS RT-AX52 by liudongdongdong7397
and trx image generation by remittor

Signed-off-by: Christoph Krapp <achterin@gmail.com>
2025-04-25 17:03:52 +02:00
Mikhail Zhilkin
fdb6962f20 mediatek: add support for Routerich AX3000 v1
Routerich AX3000 v1 is a wireless WiFi 6 router.

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz
- RAM       : DDR3 512 MiB
- Flash     : SPI-NAND 128 MiB (Winbond)
- WLAN      : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x3, LAN (MediaTek MT7531AE)
              10/100/1000 Mbps x1, WAN (MT7981 internal PHY)
- USB       : 1x 3.0 with power control
- UART      : through-hole on PCB
  - [J500] GND, TX, RX, 3.3V (115200n8)
- Buttons   : Mesh, Reset
- LEDs      : 1x Power (Blue)
              1x WiFi 2.4 GHz (Blue)
              1x WiFi 5 GHz (Red)
              1x Mesh (Blue)
              3x LAN activity (Blue)
              1x WAN activity (Blue)
              1x WAN no-internet (Red)
- Power     : 12 VDC, 1.5 A

Installation
------------
Flash OpenWrt 'sysupgrade.bin' image using stock firmware web-interface
(without keeping settings).

Return to stock
---------------
Install stock firmware image (without keeping settings) using OpenWrt
sysupgrade method.

Recovery
--------
Connect uart, use u-boot menu to flash stock firmware image or boot
OpenWrt initramfs image.

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| WAN     | 24:0f:5e:xx:xx:08 | label     |
| LAN     | 24:0f:5e:xx:xx:09 | label+1   |
| WLAN 2g | 24:0f:5e:xx:xx:0a | label+2   |
| WLAN 5g | 24:0f:5e:xx:xx:0b | label+3   |
+---------+-------------------+-----------+
The WLAN 2g MAC was found in 'Factory', 0x4

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2025-04-25 17:03:45 +02:00
Mikhail Zhilkin
f733442c02 mediatek: filogic: fix mistaken executable bit on dts file
This commit fixes mistaken executable bit on
mt7981b-mercusys-mr80x-v3.dts file.

Fixes: 7921e48d43 ("mediatek: add support for Mercusys MR80X v3")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2025-04-25 17:01:47 +02:00
Mieczyslaw Nalewaj
0adbac6c17 mediatek: convert driver to .remove_new
Convert driver to .remove_new in preparation for kernel 6.12 support.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18535
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-22 19:21:07 +02:00
Daniel Golle
493b0cd817 mediatek: mt7623: validate uImage.FIT
Validate the uImage.FIT instead of only checking the image magic.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-21 19:04:45 +01:00
Daniel Golle
7ea0f647b9 mediatek: mt7622: validate uImage.FIT
Validate the uImage.FIT instead of only checking the image magic.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-21 19:03:58 +01:00
Daniel Golle
29ec74b8c7 treewide: validate unified uImage.FIT images before flashing
Prevent flashing truncated or otherwise corrupted uImage.FIT images
by verifying checksums and hashes of all sub-images before flashing
using the newly packaged fit_check_sign tool.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-21 16:12:42 +01:00
Daniel Golle
370a9d5586 mediatek: filogic: add missing boards to platform_check_image
Add all boards using uImage.FIT to platform_check_image() case section
making sure we are dealing with a FIT image.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-21 16:12:42 +01:00
Sebastian Schaper
907cb88e10 mediatek: filogic: add support for WAVLINK WL-WN573HX3
The WL-WN573HX3 is an AX3000 outdoor Access Point by WAVLINK,
also sold in Europe as 7Links WLR-1300 (ZX-5612).

Specifications:

- MT7981B + MT7976 AX3000 2x2 DBDC (160 MHz)
- 16 MiB SPI NOR, 256 MiB RAM
- Gigabit ethernet port, 802.3af PoE
- IP67 outdoor case for wall or pole mounting with
    four single band RP-SMA fiberglass antennas (8 dBi)

Installation:

- OEM Web UI is at 192.168.30.1 which will forward to
    http://netlogin.link (using a captive portal)
- login with default password `admin`
- skip setup wizard by navigating directly to
    http://netlogin.link/html/meshUpgrade.html
- upload WN573HX3-sysupgrade.bin
- reset to factory defaults to discard OEM UCI settings

MAC address assignment:

LAN         80:xx:xx:76:xx:25  hw 0x44e
WLAN 2.4G   80:xx:xx:76:xx:27  factory 0x04 (label MAC)
WLAN 5G	    82:xx:xx:46:xx:27
pair key    8a:xx:xx:76:xx:27  also on label, not used by OpenWrt

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
2025-04-18 14:00:39 +02:00
Schneider Azima
7921e48d43 mediatek: add support for Mercusys MR80X v3
This commit adds support for Mercusys MR80X(EU) v3 router.

Device specification:
 - SoC: Mediatek MT7981b, Cortex-A53, 64-bit
 - RAM: 512MB
 - Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB)
 - Ethernet: 4x 100/1000 Mbps LAN1,LAN2,LAN3 & WAN
 - Wireless: 2.4GHz (802.11 b/g/n/ax)
 - Wireless: 5GHz (802.11 a/n/ac/ax)
 - LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs
   on ethernet ports
 - Buttons: 1 (Reset)
 - Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
   slots contain "seconduboot" (also U-Boot 2022.01-rc4)

Installation (UART):
 - Place OpenWrt initramfs-kernel image on tftp server with IP 192.168.1.2
 - Attach UART, switch on the router and interrupt the boot process by
   pressing 'Ctrl-C'.
 - Set the uboot environment for startup.
   setenv tp_boot_idx 0; setenv bootcmd bootm 0x46000000; saveenv
   If the bootarg is set to boot from ubi1, also change it to ubi0.
 - Load and run OpenWrt initramfs image.
   setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1; tftpboot initramfs-kernel.bin; bootm
 - Browse IP 192.168.1.1, upload the 'sysupgrade' image and do upgrade.

Recovery:
 - Press Reset button and power on the router.
 - Navigate to U-Boot recovery web server (http://192.168.1.1/) and
   upload the OEM firmware.

Stock layout:
0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"

ubi0/ubi1 format:
U-Boot at boot checks that all volumes are in place:
+-------------------------------+
| Volume Name: uboot   Vol ID: 0|
| Volume Name: kernel  Vol ID: 1|
| Volume Name: rootfs  Vol ID: 2|
+-------------------------------+

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| label   | 94:0C:xx:xx:xx:12 | label     |
| WAN     | 94:0C:xx:xx:xx:13 | label+1   |
| LAN     | 94:0C:xx:xx:xx:12 | label     |
| WLAN 2g | 94:0C:xx:xx:xx:11 | label-1   |
| WLAN 5g | 94:0C:xx:xx:xx:10 | label-2   |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file
"default-mac".

Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/18181
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-12 23:50:27 +02:00
Yujie Zhu
db3eff1022 mediatek: filogic: add Netcore N60 Pro support
Hardware specification:
SoC: MediaTek MT7986A 4x A53
Flash: ESMT F50L1G41LB 128MB
RAM: M16U4G16256A DDR4 512MB
Ethernet: 2x 2.5G + 3x 1G
USB: 1x USB 3.0
WiFi1: MT7975N 2.4GHz 4T4R
WiFi2: MT7975PN 5GHz 4T4R
Button: Reset, WPS
Power: DC 12V 2A

Flash instructions:

    Connect to the router using ssh or telnet,
    username: useradmin, password is the web
    login password of the router.
    Use scp to upload bl31-uboot.fip and flash:
    "mtd write xxx-bl31-uboot.fip FIP"
    "mtd erase ubi"
    Connect to the router via the Lan port,
    set a static ip of your PC.
    (ip 192.168.1.254, gateway 192.168.1.1)
    Download initramfs image, reboot router,
    waiting for tftp recovery to complete.
    After openwrt boots up, perform sysupgrade.

Note:

    Back up all mtd partitions before flashing.

Signed-off-by: Yujie Zhu <libriunc@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18138
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 22:19:33 +02:00
Mikhail Zhilkin
d8002cb627 mediatek: add support for netis NX31
This PR adds support for netis NX31 router.

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz
- RAM       : 256 MiB DDR3
- Flash     : SPI-NAND 128 MiB (ESMT)
- WLAN      : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x3 (LAN, MediaTek MT7531AE)
              10/100/1000 Mbps x1 (WAN, SoC internal phy)
- USB       : No
- Buttons   : Mesh, Reset
- LEDs      : 1x Power (blue), unmanaged
              1x Status (blue), gpio-controlled
              1x WiFi 2.4 GHz (blue), gpio-controlled
              1x WiFi 5 GHz (blue), gpio-controlled
              3x LAN activity (blue), switch-controlled
              1x WAN activity (blue), gpio-controlled
- Power     : 12 VDC, 1 A

Installation
------------
1. Connect to the router using ssh (user: admin, pass: web interface
   password)
2. Make mtd backup:
   cat /dev/mtd0 | gzip -1 -c > /tmp/mtd0_spi0.0.bin.gz
   cat /dev/mtd1 | gzip -1 -c > /tmp/mtd1_BL2.bin.gz
   cat /dev/mtd2 | gzip -1 -c > /tmp/mtd2_u-boot-env.bin.gz
   cat /dev/mtd3 | gzip -1 -c > /tmp/mtd3_Factory.bin.gz
   cat /dev/mtd4 | gzip -1 -c > /tmp/mtd4_FIP.bin.gz
   cat /dev/mtd5 | gzip -1 -c > /tmp/mtd5_ubi.bin.gz
3. Download mtd backup from the /tmp dir of the router to your PC using
   scp protocol
4. Upload OpenWrt 'bl31-uboot.fip', 'preloader.bin' images to the /tmp
   dir of the router using scp protocol
5. Write FIP and BL2 (replace bootloader):
   mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-bl31-uboot.fip FIP
   mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-preloader.bin BL2
6. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
7. Erase 'ubi' partition and reboot the router:
   mtd erase ubi
   reboot
8. U-Boot automatically boot OpenWrt recovery image from tftp server to
   the RAM
9. Upload OpenWrt 'sysupgrade.itb' image to the /tmp dir of the router
   (IP: 192.168.1.1) using scp protocol
10. Connect to the router using ssh and run:
    sysupgrade -n openwrt-mediatek-filogic-netis_nx31-squashfs-sysupgrade.itb

Return to stock
---------------
1. Unpack stock BL2 and FIP partitions backup
2. Upload stock BL2 and FIP partitions backup to the /tmp dir of the
   router using scp protocol
3. Connect to the router using ssh and run:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
   mtd unlock BL2
   mtd unlock FIP
4. Restore backup:
   mtd write /tmp/mtd4_FIP.bin FIP
   mtd write /tmp/mtd1_BL2.bin BL2
5. Erase ubi and reboot:
   mtd erase ubi
   reboot
6. Power off the router
7. Press Reset button and power on the router. Release the button after
   ~10 sec
8. Navigate to U-Boot recovery web server (http://192.168.1.1/) and
   upload the OEM firmware

Recovery
--------
1. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
2. Press “Reset” button and power on the router. After ~10 sec release
   the button.
3. Use OpenWrt initramfs system for recovery

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | dc:xx:xx:d1:xx:18 | label     |
| WAN     | dc:xx:xx:d1:xx:1a | label+2   |
| WLAN 2g | de:xx:xx:11:xx:19 |           |
| WLAN 5g | de:xx:xx:71:xx:19 |           |
+---------+-------------------+-----------+
The LAN MAC was found in 'Factory', 0x1fef20
The WAN MAC was found in 'Factory', 0x1fef26
The WLAN 2g/5g MAC prototype was found in 'Factory', 0x4

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18324
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-06 20:14:18 +02:00
Fil Dunsky
99ea96c297 mediatek: filogic: add support for Huasifei WH3000
**Huasifei WH3000 eMMC / Fudy MT3000**
Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC.
MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ

**Specifications**
SoC: Filogic 820 MT7981A (1.3GHz)
RAM: DDR4 1GB
Flash: eMMC 8GB
WiFi: 2.4GHz and 5GHz with 3 antennas
Ethernet:
1x WAN (10/100/1000M)
1x LAN (10/100/1000/2500M)
USB: 1x USB 3.0 port
Two buttons: power/reset and mode (BTN_0)
LEDS: blue, red, blue+red=pink
UART: 3.3V, TX, RX, GND / 115200 8N1

**Installation via U-Boot rescue**
1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1
2. Connect to the WAN port and hold the reset button while booting the device.
3. Wait for the LED to blink 5 times, and release the reset button.
4. Open U-boot web page on your browser at http://192.168.1.1
5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
6. Wait for the router to flash the new firmware.
7. Wait for the router to reboot itself.

**Installation via sysupgrade**
Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings.

**Installation via SSH**
Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command:
```
sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-emmc-squashfs-sysupgrade.bin
```

**Factory MAC**
You can find your Factory MAC which is mentioned on the box at `/dev/mmcblck0p2` partition `factory` starting from `0x4`
```
dd if=/dev/mmcblk0p2 bs=1 skip=4 count=6 | hexdump -C
```

**Enlarging a partition**
Though device has 8GB eMMC, it uses only 2GB `/dev/mmcblck0p6` as `rootfs` for `/rom` and `/overlay` leaving `/dev/mmcblck0p7` as empty unused space.
```
sgdisk -p /dev/mmcblk0
```
```
Disk /dev/mmcblk0: 15269888 sectors, 7.3 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 2BD17853-102B-4500-AA1A-8A21D4D7984D
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 14942174
Partitions will be aligned on 1024-sector boundaries
Total free space is 11197 sectors (5.5 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192            9215   512.0 KiB   8300  u-boot-env
   2            9216           13311   2.0 MiB     8300  factory
   3           13312           21503   4.0 MiB     8300  fip
   4           21504           29695   4.0 MiB     8300  config
   5           29696           62463   16.0 MiB    8300  kernel
   6           62464         4256767   2.0 GiB     8300  rootfs
   7         4257792        14940159   5.1 GiB     8300
```

You can fix that by loading into `initramfs-kernel`, deleting empty `mmcblck0p7` partition and resizing `mmcblck0p6`
```
sysupgrade -F /tmp/openwrt-initramfs-kernel.bin
```
Install and run cfdisk
```
opkg update && opkg install cfdisk
cfdisk /dev/mmcblck0
```
- Select `mmcblck0p7` -> Delete
- Select `mmcblck0p6` -> Resize -> Write -> yes -> Quit

You will not see any difference in `cat /proc/partitions` after that but just flash a `sysupgrade` and you'll get the whole 7.3GB space for the `/overlay`.

Co-developed-by: hecatae <horus.ra@gmail.com>
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18220
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-06 19:22:09 +02:00
Daniel Golle
cba55fade8 mediatek: restrict compat_version override for BPi-R3
Only force compat_version to 1.2 if it was less than 1.2 before, as changes
1.1 and 1.2 were bootloader-related and a completed boot indicates that the
changes have been completed. Newer compat version 1.3 indicates a config change
and should not be forced on boot.

Fixes: 84fc59c0d5 ("mediatek: filogic: bpi-r3: set netdev-name for sfp1 port")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 18:14:33 +01:00
Daniel Golle
8b27e60c58 mediatek: filogic: add build for ASUS ZenWiFi BT8 with OpenWrt's U-Boot
Add 'ubootmod' variant for the ASUS ZenWiFi BT8.
An out-of-tree installer will be provided in Github to allow users an easy
transition from the stock loader to OpenWrt's bootchain which is built from
source.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 02:02:58 +01:00
Daniel Golle
6f59e969e2 mediatek: filogic: prepare for ubootmod build of ASUS ZenWiFi BT8
Break out all flash-layout dependent parts from device tree into separate
dtsi file to be used by both, stock layout and upcoming ubootmod variant.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 02:02:58 +01:00
John Crispin
2cd79733cc mediatek: filogic: add Asus ZenWiFi BT8
Hardware
--------
MediaTek MT7988D SoC (3x Cortex-A73 @1.8 GHz max)
1GB DDR4 RAM
128MB SPI-NAND (Winbond)
MediaTek MT7996 BE14000 Tri-Band Wi-Fi 7
3x LAN (2x 1GE MT7988 built-in, 1x 2.5GE MaxLinear GPY211C)
1x WAN (2.5GE MT7988 built-in)
LED: RGB PWM (supported as 3x PWM LED)
USB: 1x USB 3
Buttons: RESET, WPS
UART: 115200 8N1 3.3V

Installation
------------
1. Hold down RESET button and power on the device until
   LED pulses red.

2. Assign IP 192.168.1.70/24 to your computer's Ethernet port

3. Connect Ethernet to one of the 1GE LAN ports

4. Open browser and visit http://192.168.1.1

5. Upload openwrt-mediatek-filogic-asus_zenwifi-bt8-factory.bin

6. Once OpenWrt initramfs system comes up, do sysupgrade using
   openwrt-mediatek-filogic-asus_zenwifi-bt8-squashfs-sysupgrade.bin

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-30 02:02:58 +01:00
Christoph Krapp
66f38834d6 mediatek: filogic: fix device sorting
arcadyan_mozart was incorrectly placed below asus devices

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18331
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-26 09:57:23 +01:00
Martin Schiller
1bb9592fc7 mediatek: filogic: bpi-r3-mini: add kmod-eeprom-at24
The bpi-r3-mini has an eeprom onboard. Add the related driver to be
able to access this memory.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2025-03-25 07:48:53 +01:00
Chukun Pan
ddc4f216c6 filogic: move append-gl-metadata to image-commands.mk
This can be used by GL.iNet devices from other target.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/14950
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-24 10:15:59 +01:00
Daniel Golle
696ad7b1aa mediatek: filogic: fix case statement in 01_leds
Remove a stray '|' character from 01_leds which has accidentally
been added.

Reported-by: Chukun Pan <amadeus@jmu.edu.cn>
Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 11:40:40 +00:00
Daniel Golle
a51fd20e0d mediatek: filogic: PHY LEDs do have an address, gpio-leds don't
Other than GPIO LEDs, PHY LEDs do have an address.

Fix node names such that all gpio-leds do *not* contain an '@' sign and
PHY leds which do have an address also do contain the '@' sign.

This is done to prevent more copy&paste'ry of non-complaint DT
fragments.

Fixes: 7cbe34170e ("mediatek: add support for the GL.iNet GL-MT3000")
Fixes: fe10f97439 ("filogic: add support for GL.iNet GL-MT6000")
Fixes: e8f7597317 ("mediatek: filogic: add support for Cudy RE3000 v1")
Fixes: c9cb6411c1 ("mediatek: add support for Cudy WR3000 v1")
Fixes: 7560af7647 ("mediatek: filogic: migrate ASUS TUF AX6000 to upstream PHY LED control")
Fixes: 25ea7ff393 ("mediatek: filogic: migrate Acer W6/W6d to upstream PHY LED control")
Fixes: d50d51d74e ("mediatek: filogic: migrate Zyxel NWA50AX Pro to upstream PHY LED control")
Fixes: b88de5d507 ("mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED control")
Fixes: 63d56af6c6 ("mediatek: filogic: migrate Netgate N60 to upstream PHY LED control")
Fixes: fd76a38190 ("mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED control")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 01:19:19 +00:00
Daniel Golle
c1d5b9a26a Revert "mediatek: rename PHY LEDs to match upstream bindings"
This reverts commit 7103a1554a.
It was merged by accident.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-21 00:53:23 +00:00
Aleksander Jan Bajkowski
7103a1554a mediatek: rename PHY LEDs to match upstream bindings
Kernel docs recommends the following pattern "(^led-[0-9a-f]$|led)"[1].

1. https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/leds/leds-gpio.yaml#L24

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-21 00:50:14 +00:00
Aleksander Jan Bajkowski
5016c960bc kernel: drop Maxlinear PHY LED control hack
All devices have already been migrated to the upstream PHY LED
API. This prevents users from adding new devices using this hack.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-21 00:47:38 +00:00
Aleksander Jan Bajkowski
fd76a38190 mediatek: filogic: migrate SmartRG Bonanza to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-21 00:43:26 +00:00
Aleksander Jan Bajkowski
63d56af6c6 mediatek: filogic: migrate Netgate N60 to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-21 00:42:04 +00:00
Aleksander Jan Bajkowski
b88de5d507 mediatek: filogic: migrate Zyxel EX5700 to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-21 00:39:08 +00:00
Tomasz Maciej Nowak
adc4d95c74 mediatek: u7623: fix network switch enumeration
With upstream changes hitting kernel 6.4 the dtb for u7623 ends up with
both mac (gmac) disabled, since this is now the default status in
mt7623.dtsi. Fix this by including mt7623a.dtsi (which already has all
necessary bits) and enabling all revlevant ports. This will also do
a side hustle of assigning proper clocks for power controller and
specifying proper power domain for few devices.

Link: https://lore.kernel.org/all/20230210182505.24597-1-arinc.unal@arinc9.com
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250304164507.60511-2-tmn505@terefe.re/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-16 22:43:02 +01:00
Mikhail Zhilkin
043df82cea mediatek: Xiaomi AX3000t: enable SPI calibration
Xiaomi enabled SPI calibration in new firmware:
- 1.0.84 and newer (rd03 model)
- 1.0.76 and newer (rd23 model)

This enables SPI calibration routines in OpenWrt too.

Tested-by: Aleksandr Danilov <sc16me@gmail.com>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17976
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-16 19:21:49 +01:00
Andrew LaMarche
054b870196 generic: import rtl8261n patches from mediatek
RTL8261N is used on some Airoha and Realtek devices. Move the driver
from Mediatek to generic so it can be used everywhere.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18163
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-16 19:05:56 +01:00
Hauke Mehrtens
abd0418684 kernel: Activate CONFIG_NET_SWITCHDEV in generic config
The CONFIG_NET_SWITCHDEV option is needed by CONFIG_DSA and some other
options. It is boolean, we have to compile it into the kernel it self.
Activate it for all targets in the generic configuration, it is already
activated for most of them. This allows to install DSA drivers as a
module.

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

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

Link: https://github.com/openwrt/openwrt/pull/17668
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 13:54:59 +01:00
Boyang Sun
f4ba980f15 mediatek: Update mt7622-reyee-ax3200-e5.dts
fixed wrong reg.
The original commit assumed the size part was the end of the reg.

Fixes: 7dbac3433f ("mediatek: add support for reyee AX3200-E5")
Signed-off-by: Boyang Sun <boyinthesun@163.com>
Link: https://github.com/openwrt/openwrt/pull/18074
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 13:48:00 +01:00
Daniel Golle
6c8cc86295 mediatek: filogic: openwrt-one: drop kmod-nvme
The OpenWrt One is the only board listing kmod-nvme as part of it's
default package set.

Remove kmod-nvme from the default package set as the board is sold
without an NVMe SSD and the M.2 slot can also be used for other
purposes.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-03-14 11:23:57 +00:00
Martin Schiller
843e50f4fa mediatek: bpi-r4: create additional emmc gpt artifact
This makes it possible to initialize the eMMC from scratch like it is
done for the BPI-R3 mini (without an SD card).

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2025-03-12 12:04:08 +01:00
Tianling Shen
96c6608346 mediatek: add support for CMCC A10
This board is also as known as SuperElectron ZN-M5 and ZN-M8. However,
for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU
chip, which is unsupported.
You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI.

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, WPS
  Power: DC 12V 1A

Stock layout flash instructions:
Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page.
Remember to unselect "保留配置" ("Keep configurations") first before doing that.

OpenWrt U-Boot layout flash instructions:
1. Flash stock layout firmware first.
2. Connect to the device via SSH, and backup everything,
   especially 'Factory' partition.
3. Unlock MTD partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18121
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-08 15:44:56 +01:00
Martin Schiller
6af46a6984 mediatek: filogic: enable CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY
The Cortex-A73 in MediaTek Filogic 880 (MT7988A) is vulnerable to
multiple Spectre variants including Spectre-BHB.

Ref: https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2025-03-06 20:26:54 +01:00
Martin Schiller
5013efc4f9 mediatek: Refresh kernel configuration
I selected one subtarget after the other and refreshed their
configuration using this command:
  make kernel_oldconfig CONFIG_TARGET=subtarget

For MT7629 I had to re-add CONFIG_LEDS_SMARTRG_LED manually.
Otherwise, building MT7629 with ALL_KMODS we get prompted for
LEDS_SMARTRG_LED and this will break CI and in future buildbot
compilation. See commit 6bdea8c7bd ("mediatek: mt7629: 6.6: disable
LEDS_SMARTRG_LED by default") for more details.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2025-03-06 20:26:54 +01:00
Aleksander Jan Bajkowski
7560af7647 mediatek: filogic: migrate ASUS TUF AX6000 to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-01 03:05:18 +00:00
Aleksander Jan Bajkowski
25ea7ff393 mediatek: filogic: migrate Acer W6/W6d to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-01 03:04:18 +00:00
Aleksander Jan Bajkowski
d50d51d74e mediatek: filogic: migrate Zyxel NWA50AX Pro to upstream PHY LED control
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. There should be no functional changes.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2025-03-01 03:03:02 +00:00
Hauke Mehrtens
2389793edf kernel: kmod-btmtk: Extract btmtk.ko into own package
btmtk.ko is used by btusb.ko and btmtkuart.ko, add it into an own
package and make both packages depend on it.

Fixes: 1c42a0be36 ("kernel: modules: bluetooth: separating UART and USB drivers")
Link: https://github.com/openwrt/openwrt/pull/18110
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-26 23:31:36 +01:00
John Audia
d664d74669 kernel: bump 6.6 to 6.6.79
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.79

Manually rebased:
	ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18066
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-02-23 12:17:38 +01:00
John Audia
57b0304ce9 kernel: bump 6.6 to 6.6.78
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.78

Removed upstreamed:
	bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch[1]
	mediatek/patches-6.6/256-clk-mediatek-mt2701-vdec-fix-conversion-to-mtk_clk_s.patch[2]
	mediatek/patches-6.6/257-clk-mediatek-mt2701-aud-fix-conversion-to-mtk_clk_si.patch[3]
	mediatek/patches-6.6/258-clk-mediatek-mt2701-bdp-add-missing-dummy-clk.patch[4]
	mediatek/patches-6.6/259-clk-mediatek-mt2701-mm-add-missing-dummy-clk.patch[5]
	mediatek/patches-6.6/260-clk-mediatek-mt2701-img-add-missing-dummy-clk.patch[6]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=25abffee5ceb6691ecd4f089be2bb28842e2d2fd
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=b6c5237ab7af82c9f1d8d772dbf309bb4aadfdbb
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=20210b5c775d2d96f706591c64bc2ad975c37eaf
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=a1fa3dda6bf0b7ecd95fa8f9125e5486b699a81f
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=fc60e9357f15372698da373ee76de8f52d22aac2
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=6f4868e6b2887b55531bc8e0a4106ef0150e6326

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18000
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-20 19:27:57 +01:00
Pietro Ameruoso
74f0c95154 mediatek: filogic: fix sysupgrade for ex5601-t0-stock
fix undesired red warning when upgrading in place ex5601-t0-stock model.

Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it>
Link: https://github.com/openwrt/openwrt/pull/17973
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-16 22:48:12 +01:00
Aleksander Jan Bajkowski
9772ca190e mediatek: filogic: upstream LEDs control on 2.5G ports on EX5601
This commit switches the control of the leds connected to the Maxlinear
GPY211C PHY to an upstream solution. The behaviour of LED1 is the same
as before. The behaviour of 2.5G-WAN LED has been changed. It is only
active when a 2.5G link is detected, which matches the stock software.
Additionally, the name of the WAN led has been changed to INTERNET.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17952
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-16 16:31:05 +01:00
Daniel Golle
4387de9445 mediatek: apply bootloader work-around for affected ASUS devices
Apply "u-boot-dont-touch-spi-nand" to ASUS RT-AX59U, ASUS TUF-AX4200 as
well as ASUS TUF-AX6000 routers to prevent U-Boot from wiping MTD
child nodes from DT.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-02-15 16:47:57 +00:00
Daniel Golle
c48afca32c mediatek: add work-around for ASUS bootloader MTD behavior
ASUS makes use of U-Boot's fdt_fixup_mtdparts() function which applies
the partitions defined in U-Boot's mtdparts and mtdids environment
variables to the devicetree passed over to Linux.

The undesired side-effect is that in this way also all additional
properties and child nodes get wiped, preventing NVMEM cells to be
defined for MTD partitions or UBI volumes.

To work-around this issue, add an additional compatible string
'u-boot-dont-touch-spi-nand' which can be used instead of 'spi-nand' in
case the replacement of the MTD partitions by U-Boot should be skipped
alltogether.

In practise this is mostly relevant for SPI-NAND which anyway comes only
with two partitions nowadays: 'Bootloader' and 'UBI_DEV'. Hence this
work-around is applicable for SPI-NAND only. Similar work-arounds for
other MTD devices can be created as well should they actually be needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-02-15 16:47:57 +00:00
John Audia
84e370f16c kernel: bump 6.6 to 6.6.76
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.76

Manually rebased:
	bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
	imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch[1]
	bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[2]
	bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[3]
	ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=11c7649c9ec3dcaf0a7760551ad30747d9e02d81
2, 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=5e6e723675e54ced5200bcc367e2526badc4070c
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=d0edcd0d18d700d76c61c091a24568b8b8c3b387

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm27xx/bcm2712, 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/17822
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-13 00:03:54 +01:00
Aleksander Jan Bajkowski
c9ea2799b7 mediatek: filogic: increase spi flash memory speed on ZyXEL EX5601
The factory firmware uses a 20 MHz frequency, so it should be safe.

Before:
10485760 bytes (10 MB, 10 MiB) copied, 2.53096 s, 4.1 MB/s

After:
10485760 bytes (10 MB, 10 MiB) copied, 1.51901 s, 6.9 MB/s

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17749
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-09 18:16:41 +01:00
Pietro Ameruoso
d023ee7439 mediatek: filogic: fix mt7986a-zyxel-ex5601-t0-stock.dts model name and eth1 wan definition
Fix the model name to reflect the stock partitioning and the wan eth1 detection in the 02_network script.

Fixes: https://github.com/openwrt/openwrt/issues/14432
Fixes: b5df398a36 ("mediatek: add Zyxel EX5601-T0 with uboot custom partition")
Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it>
Link: https://github.com/openwrt/openwrt/pull/17859
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-09 16:06:11 +01:00
Mikhail Zhilkin
3299d19c01 mediatek: fix nmbm configuration mismatch (Xiaomi AX3000t)
This commit fixes nmbm configuration mismatch error on Xiaomi AX3000t
with Winbond W25N01KVZEIR spi-nand:
'''
[    0.786783] NMBM configuration mismatch
'''

Root cause:
1. U-Boot W25N01KV spi-nand driver ia compiled with 64B OOB size for the
   chip and store this size in the nmbm signature;
2. Linux W25N01KV driver use 96B OOB.

The change doesn't affect AX3000t variants with other spi-nand chips
(ESMT, Foresee) because their Linux drivers use 64B OOB.

Fixes: openwrt#16972
Tested-by: Aleksandr Danilov <sc16me@gmail.com>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17549
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-07 09:04:35 +01:00
Chuanhong Guo
fb566abab9 mediatek: refresh adtran nvmem patch
This patch fails to apply due to the recently introduced ascii
nvmem driver.
Manually refresh it.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2025-02-03 18:00:42 +08:00
Daniel Golle
69890e16b3 mediatek: mt7622: fix SATA on BPi-R64
Two commits which made their way into Linux stable broke the SATA
support on the BPi-R64.

Fix this by reverting a node rename which broke DT-overlay application
and import a (still pending) patch re-adding the 'syscon' compatible to
the pciesys clock-controller which also contains phy-mode bits
referenced by the ahci_mtk driver expecting to access them using
syscon_regmap_lookup_by_phandle().

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-02-01 05:06:59 +00:00
Juan Pedro Paredes Caballero
dcc5587374 mediatek: filogic: fix 2.5G phy compatible for WR3000H
Following the initial support of the Cudy WR3000H with PHY C22 for the 2.5G WAN
interface, several improvements fixing issues with RealTek RTL8221B PHYs have
been merged.
Therefore we can now bring the DT in line with other equipment and declare the
2.5G WAN PHY as C45.

Fixes: 9d66b8b ("mediatek: filogic: Add support for cudy wr3000h")
Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17739
[reword commit description]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-01-31 10:46:26 +01:00
Jan Hoffmann
85c41253d9 mediatek: fix TUF-AX4200 WAN LED
With the current LED configuration using "mxl,led-config", the WAN LED
stops working after the interface is brought down and up again.

Since the driver also properly supports PHY LEDs now, switch to that
instead. This makes the LED work properly, but requires configuration
from userspace.

Fixes: #17782
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/17785
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-30 13:35:23 +01:00
Florian Maurer
9ada8578fd mediatek-mt7622: netgear-wax206 fix wifi leds
the wifi leds of the wax206 were not reacting.
This patch enables the green leds to show activity, as the blue ones are very bright.
Also set the label-mac to the gmac0

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17694
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-24 22:23:28 +01:00
Dim Fish
0fd9d00cd6
mediatek: add Airoha AN8855 gigabit switch driver
New revisions of Xiaomi AX3000T with 1.0.84+ stock firmware contain new hardware.
This commit add support for Airoha AN8855 gigabit switch driver with 6.6 kernel patches

Based on https://patchwork.kernel.org/project/netdevbpf/cover/20241209134459.27110-1-ansuelsmth@gmail.com/

Signed-off-by: Dim Fish <dimfish@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16709
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-01-23 15:27:25 +01:00
Chukun Pan
4c380d0f25 mediatek: use standard PHY reset bindings for Cudy WR3000H
Use generic Ethernet PHY reset bindings.
Remove the useless lan label as connected switch.

Fixes: 9d66b8b ("mediatek: filogic: Add support for cudy wr3000h")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-01-23 10:36:27 +08:00
Chukun Pan
64d1b1089c mediatek: cleanup device tree for cudy devices
Fixes typo for led properties.
Delete the unused rfb compatible.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-01-23 10:32:19 +08:00
Chukun Pan
87632219d4 mediatek: update status led for Cudy TR3000
Use white led when running, consistent with the stock firmware.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-01-23 10:30:20 +08:00
Chukun Pan
82b69dfaf6 mediatek: cudy: fixes 2.5G PHY interrupt support
Fixed interrupt support for 2.5G PHY.
Removed useless phy-mode on phy node.

Tested on Cudy TR3000.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-01-23 10:29:35 +08:00
Chukun Pan
ab375a3484 mediatek: cudy: fixes typo for spi and mtd properties
Same as commit 3674689, correct 'buswidth' to 'bus-width'.
Move the nmbm properties outside the partition definition.
Change uppercase to lowercase, add missing read-only flag.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2025-01-23 10:28:20 +08:00
Mikhail Zhilkin
42a253c7e8 mediatek: Xiaomi AX3000t: fix soft brick for the rd23 model
This commit fixes Xiaomi AX3000t soft bricks. Issue affects at least rd23
model (Global version) users:
Link: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000t/180490/452

I also found that these nvram settings are wrong for the rd23 model and
U-Boot erase them:
'''
flag_try_sys1_failed 8
flag_try_sys2_failed 8
'''
As a result, platform.sh -> xiaomi_initial_setup() function sometimes ends
early without applying settings for the rd23 model.

RD03 model strategy:
1. Don't touch values those were set up by platform.sh ->
xiaomi_initial_setup() function

RD23 model strategy:
1. Apply correct nvram settings at every boot
2. Use bulk fw_setenv call

I didn't find opened issue for AX3000t. Similar AX3200 issue:
Link: https://github.com/openwrt/openwrt/issues/16347
So, other Xiaomi devices (e.g. Xiaomi WR30U) may also require fix.

Fixes: 7dbcc1215a ("mediatek: filogic: add support for Xiaomi AX3000T")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17580
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-21 00:37:48 +01:00
Mikhail Zhilkin
a6b0abf466 mediatek: replace multiple fw_setenv calls by the bulk one
This commit replaces multiple fw_setenv calls by the bulk one to reduce
flash writes.

Thanks @Linaro1985 for the idea.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17580
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-21 00:37:48 +01:00
John Audia
1d021458fd kernel: bump 6.6 to 6.6.72
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.72

Dropped to due being superseded by upstream patch:
	mediatek/patches-6.6/870-drm-mediatek-only-touch-DISP_REG_OVL_PITCH_MSB-if-AF.patch[1]

All other patches automatically rebased.

1. ac7f5641e9

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm27xx/bcm2712, 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/17646
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-21 00:18:28 +01:00
Aleksander Jan Bajkowski
3d63a41ffa mediatek: EX5601-T0 add Zyxel EX5601-T1 and T-56 alias
Define EX5601-T1 and T-56 as alternative name, to explicitly show
the device is supported using existing image. EX5601-T1 does not
have the option to switch between WAN/SFP port. The switch port
is hardwired to the WAN port. The Zyxel T-56 is the odido-branded
version of the EX5601-T1.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17615
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-19 17:51:06 +01:00
Florian Maurer
99431e3150 mediatek-filogic: fix wax220 wifi leds
The WAX220 does have a 2.4GHz and 5GHz wifi led, which was set to trigger on netdev before.
This commit changes this to trigger on activity of the respective radio

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17627
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-18 21:39:13 +01:00
Hauke Mehrtens
0f8a5a5fd6 mediatek: filogic: Cudy WR3000H: Fix SUPPORTED_DEVICES
Fix the name used for the transition image from Cudy.
This should make it possible to use the cudy transition image.

Fixes: 9d66b8b312 ("mediatek: filogic: Add support for cudy wr3000h")
Link: https://github.com/openwrt/openwrt/pull/17652
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-18 19:13:44 +01:00
Álvaro Fernández Rojas
d7e82c78d7 generic: backport Realtek PHY patches from upstream
Adds patches for the temperature sensor on RTL822x.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-01-17 13:21:26 +01:00
Felix Fietkau
48e1427ffa mediatek: remove obsolete base-files scripts
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-01-17 09:48:27 +01:00
Roland Reinl
0d1568246f mediatek: D-Link AQUILA PRO AI M60 A1: Fixed phy6 DTS settings
Settings for phy6 can be simplified in the DTS

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17430
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-12 20:21:46 +01:00
Juan Pedro Paredes Caballero
9d66b8b312 mediatek: filogic: Add support for cudy wr3000h
The manufacturer Cudy usually releases signed openwrt firmware, to
facilitate the migration from the proprietary version to the official
versions of openwrt. In contact with the manufacturer tells me that only
releases the firmware of the WR3000H if and only if
there is an official version. With this proposal I pretend to have an
initial operative version so that they do their part, and facilitate to
the users the possibility of using openwrt. In the present state, it is
only possible to use this firmware by uploading and installing it with
UART connection.

AX3000 2.5G Dual Band Wi-Fi 6 Mesh Router (WR3000H)

Hardware
--------
MediaTek MT7981 WiSoC
256MB DDR3 RAM
128MB SPI-NAND (XMC XM25QH128C)
MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
4 LAN MediaTek MT7531 PHY
1 WAN RTL8221B-VB-CG 2.5Gbps PHY (C22)
2 Radios MT7976CN
UART: 115200 8N1 3.3V

MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set

Installation
------------

1. Connect to the serial port as described in the "Hardware" section.

2. Power on the device + press reset pin. Keep pressing reset pin to
   enter the U-Boot shell (The recovery.bin image load process must fail).

3. Download the OpenWrt initramfs image. Place it on an TFTP server
   connected to the Cudy LAN ports. Make sure the server is reachable at
   192.168.1.88. Rename the image to "cudy3000h.bin"

4. Download and boot the OpenWrt initramfs image.

   $ tftpboot 0x46000000 cudy3000h.bin; bootm 0x46000000

5. IMPORTANT: Make backup from original firmware. System -> Backup
   /Flash Firmware -> Save mtdblock contents. All mtdblock one by one,
keep unaltered (BL2, u-boot-env, Factory, bdinfo, FIP, and ubi).

6. Transfer the OpenWrt sysupgrade image to the device using scp.
   Install with sysupgrade.

Warning for BL2 and U-BOOT developers
-------------------------------------
The nand partition layout from vendor is slightly diferent from "standard".
The FIP partition starts at 0x3c0000 be carefull with BL2 to BL31.
The UBI partition start at 0x5c0000 be carefull.
DO NOT OVERWRITE bdinfo partition it contains hardware MAC definition
Layout is start-end (not start size)
  - 0x000000000000-0x000007800000 : "nmbm0"
          - 0x000000000000-0x000000100000 : "bl2"
          - 0x000000100000-0x000000180000 : "u-boot-env"
          - 0x000000180000-0x000000380000 : "factory"
          - 0x000000380000-0x0000003c0000 : "bdinfo"
          - 0x0000003c0000-0x0000005c0000 : "fip"
          - 0x0000005c0000-0x0000045c0000 : "ubi"
ALLWAYS for U-BOOT operations check this
setenv mtdids nmbm0=nmbm0
setenv mtdparts nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),256k(bdinfo),2048k(fip),65536k(ubi)

Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17458
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-12 17:08:02 +01:00
Manuel Fombuena
8925c469f4 generic: add STMicroelectronics LED1202 driver
This LED controller has a driver under development which is currently being reviewed by the respective kernel maintainers. They are currently on v11 which is included here.

The LED1202 is a 12-channel low quiescent current LED driver with:
  * Supply range from 2.6 V to 5 V
  * 20 mA current capability per channel
  * 1.8 V compatible I2C control interface
  * 8-bit analog dimming individual control
  * 12-bit local PWM resolution
  * 8 programmable patterns

If the led node is present in the controller then the channel is
set to active.

The output current can be adjusted separately for each channel by 8-bit
analog (current sink input) and 12-bit digital (PWM) dimming control. The
LED1202 implements 12 low-side current generators with independent dimming
control.

Internal volatile memory allows the user to store up to 8 different patterns,
each pattern is a particular output configuration in terms of PWM
duty-cycle (on 4096 steps). Analog dimming (on 256 steps) is per channel but
common to all patterns. Each device tree LED node will have a corresponding
entry in /sys/class/leds with the label name. The brightness property
corresponds to the per channel analog dimming, while the patterns[1-8] to the
PWM dimming control.

Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17451
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-05 12:12:12 +01:00
Roland Reinl
70610a5240 mediatek: Fix U-Boot variables handling for D-Link M30 A1
I think I implemented the U-Boot handling incorrectly on M30 (saw the issue while porting M60 to OpenWrt). Maybe someone with more U-Boot experience can have a look at it.
What I understood until now:

Before flashing, `sw_tryactive` must be set to 0 because OpenWrt runs on partition 0

During reset after flashing, U-Boot executes the following line:
`boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi`

As `sw_tryactive` was set to 0 before flashing, `boot_by_tryactive` will be executed:
`boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi`

As `sw_tryactive` was set to 0 before flashing, `sw_active` will be set to 1 and `ub0` will be executed:
`ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset`

If the OpenWrt boot is successful, `ub0to1` and `uip` main will never be executed. Only in case OpenWrt cannot be loaded, `mtkboardboot` will return and the fallback `ub0to1` is executed.

Conclusion: It's sufficient to set `sw_tryacitve` to 0 before flashing, the added code in `target/linux/mediatek/filogic/base-files/etc/init.d/bootcount` is useless.
In the worst case (/proc/cmdline doesn't contain `bootpart=ubi0` as expected), the bootpart variable would be set to 1 and causes starting the firmware from the second partition instead of the one on the first partition.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17298
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 22:32:26 +01:00
INAGAKI Hiroshi
a06a2ef89d mediatek: append metadata to factory-uboot.bin for WSR devices
Append metadata to factory-uboot.bin image to pass the image verification
on sysupgrade.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 18:55:31 +01:00
INAGAKI Hiroshi
376d8f96b1 mediatek: mt7622: sync buffalo.sh with ramips/mt7621
Sync buffalo.sh with the one in ramips/mt7621 to improve handling of the
TRX magic numbers of Buffalo WSR devices and switching sysupgrade method
between buffalo_upgrade_ubinized() and nand_do_upgrade().

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 18:55:31 +01:00
INAGAKI Hiroshi
5d0f61e957 mediatek: mt7622: improve fixup of trx for Buffalo devices
Unify the common part to the function and don't fixup trx when booting
with initramfs image.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 18:55:31 +01:00
John Audia
89b2356b8c kernel: bump 6.6 to 6.6.69
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.69

All patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm27xx/bcm2712, 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/17459
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-01-02 20:56:33 +01:00
Roland Reinl
616621120b mediatek: Fix primary MAC of D-Link M60
During port to gluon, I saw that the primary mac is not correct. Updated DTS accordingly.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17429
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-01 17:28:01 +01:00
Rosen Penev
fe17cc1bfd linux: replace u-boot,env with nvmem,layout
The former is deprecated in favor of nvmem-layout. In preparation for
eventual removal from the kernel, do so here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16097
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-12-27 13:34:58 +01:00
Rosen Penev
648d070c76 linux: replace nvmem-cells with nvmem-layout
The former is deprecated in favor of nvmem-layout. In preparation for
eventual removal from the kernel, do so here.

Some of these are leftovers from nvmem-layout conversion.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16097
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-12-27 13:34:58 +01:00
Roland Reinl
b3ce08e0b6 mediatek: filogic: Add support for D-Link AQUILA PRO AI M60
Specification:
 - MT7986 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - MT7531 switch
 - 512MB RAM
 - 128MB NAND flash (MX35LF1GE4AB-Z4I) with two UBI partitions with identical size
 - 1 multi color LED (red, green, blue, white) connected via GCA230718 (Same as D-Link M30 A1)
 - 3 buttons (WPS, reset, LED on/off)
 - 1x 2.5 Gbit WAN port with Maxlinear GPY211C
 - 4x 1 Gbit LAN ports

Disassembly:
 - There are five screws at the bottom: 2 under the rubber feet, 3 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 next to/under the antenna cables.
 - Note that there is another set of 4 pin holes on the side of the board, it's not used.
 - Pins (from front to rear):
   - 3.3V (do not connect)
   - TX
   - RX
   - GND
 - Settings: 115200, 8N1

MAC addresses:
 - MAC address is stored in partition "Odm" at offset 0x81 (for example XX:XX:XX:XX:XX:52)
 - MAC address on the device label is ODM + 1 (for example XX:XX:XX:XX:XX:53)
 - WAN MAC is the one from the ODM partition (for example XX:XX:XX:XX:XX:52)
 - LAN MAC is the one from the ODM partition + 1 (for example XX:XX:XX:XX:XX:53)
 - WLAN MAC (2.4 GHz) is the one from the ODM partition + 2 (for example (XX:XX:XX:XX:XX:54)
 - WLAN MAC (5 GHz) is the one from the ODM partition + 5 (for example (XX:XX:XX:XX:XX:57)

Flashing via OEM web interface:
 - Currently not supported because image crypto is not known

Flashing via recovery web interface:
 - This is only working if the first partition is active because recovery images are always flashed to the active partition and OpenWrt can only be executed from the first partition
 - Use a Chromium based browser, otherwise firmware upgrade might not work
 - Recovery web interface is accessible via 192.168.200.1 after keeping the reset button pressed during start of the device until the LED blinks red
 - Upload the recovery image, this will take some time. LED will continue flashing red during the update process
 - The after flashing, the recovery web interface redirects to http://192.168.0.1. This can be ignored. OpenWrt is accessible via 192.168.1.1 after flashing
 - If the first partition isn't the active partition, OpenWrt will hang during the boot process. In this case:
   - Download the recovery image from https://github.com/RolandoMagico/openwrt/releases/tag/M60-Recovery-UBI-Switch (UBI switch image)
   - Enable recovery web interface again and load the UBI switch image. This image works on the second partition of the M60
   - OpenWrt should boot now as expected. After booting, flash the normal OpenWrt sysupgrade image (for example in the OpenWrt web interface)
   - Flashing a sysupgrade image from the UBI switch image will make the first partition the active partition and from now on, default OpenWrt images can be used

Flashing via Initramfs:
- Before switching to OpenWrt, ensure that both partitions contain OEM firmware.
  - This can be achieved by re-flashing the same OEM firmware version again via the OEM web interface.
  - Flashing via OEM web interface will automatically flash the currently not active partition.
- Open router, connect serial interface
- Start a TFTP server at 192.168.200.2 and provide the initramfs image there
- When starting the router, select "7. Load Image" in U-Boot
- Settings for load address, load method can be kept as they are
- Specify host and router IP address if you use different ones than the default (Router 192.168.200.1, TFTP server 192.168.200.2)
- Enter the file name of the initramfs image
- Confirm "Run loaded data now?" question after loading the image with "Y"
- OpenWrt initramfs will start now
- Before flashing OpenWrt, create a backup of the "ubi" partition. It is required when reverting back to OEM
- Flash sysupgrade image to flash, during flashing the U-Boot variable sw_tryactive will be set to 0
  - During next boot, U-Boot tries to boot from the ubi partition. If it fails, it will switch to the ubi1 partition

Reverting back to OEM:
- Boot the initramfs image as described in "Flashing via Initramfs" above
- Copy the backed up ubi partition to /tmp (e.g. by using SCP)
- Write the backup to the UBI partition: mtd write /tmp/OpenWrt.mtd4.ubi.bin /dev/mtd4
- Reboot the device, OEM firmware will start now

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17296
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-23 23:23:18 +01:00
Jianyu Zhuang
e0813dc071 mediatek: filogic: add support for Tenbay WR3000K
Tenbay WR3000K is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7981B.

- SoC: MetiaTek MT7981B
- RAM: Hynex H5TQ2G863GFR 512MiB
- Flash: Winbond W25N01GVZEIG 128MiB
- Wi-Fi: MediaTek MT7976C (2.4GHz/5GHz, 802.11ax, 2x2 MIMO, AX3000)
- MediaTek MT7915E: 2.4GHz and 5GHz
- Ethernet: 1x 10/100/1000 Mbps WAN + 3x 10/100/1000 Mbps LAN
- Switch: MediaTek MT7531AE
- UART: J4 (115200 baud)
- LEDs: Power
- Buttons: Reset, WPS
- PWR: 12V/1A DC, 5.5×2.1 connector

| Vendor  | OpenWrt Interface | Address       | Notes                                          |
|---------|-------------------|---------------|------------------------------------------------|
| WAN     | wan            | Label MAC     |  Stored MAC in factory + offset 4, label MAC is Stored MAC - 2   |
| LAN     | br-lan             | Label MAC+1   |              |
| 2.4GHz  | phy0-ap0          | Label MAC + 2     |             |
| 5GHz    | phy1-ap0          | Label MAC + 3     |              |

- 0x000000000000-0x000000100000 : "BL2"
- 0x000000100000-0x000000180000 : "u-boot-env"
- 0x000000180000-0x000000380000 : "Factory"
- 0x000000380000-0x000000580000 : "FIP"
- 0x000000580000-0x000003580000 : "ubi"
- 0x000003580000-0x000006580000 : "ubi1"
- 0x000006580000-0x0000065a0000 : "Product"
- 0x0000065a0000-0x000007580000 : "Custom"

- The original partition-Ubi partition-Ubi1 is an AB dual system, and Openwrt only uses Ubi. So flash requires modifying the uboot variable `boot_from=ubi` to ensure that it only starts from Ubi.

- The Product and Custom partitions are original and only exist to align with the original layout; they are not used by OpenWrt.

- id: 0, kernel
- id: 1, rootfs
- id: 2, rootfs_data

- **USB-to-TTL Serial Adapter** (e.g., CH340 or CP2102).
- **Dupont Wires** (male-to-male, 3 wires).
- **PC/Laptop** with a serial communication tool.
- Screwdriver (to open the router case).

1. **OpenWrt Firmware**:
   - Download the appropriate `wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin` firmware file for your router from the [OpenWrt website](https://openwrt.org/).
2. **Serial Communication Tool**:
   - Windows: PuTTY, Tera Term.
   - Linux/Mac: Minicom, screen.
3. (Optional) **TFTP Server**:
   - Install a TFTP server like Tftpd64 or tftp-hpa.

---

1. Open the router casing and locate the **TX, RX, and GND** pins.
2. Connect the router pins to the USB-to-TTL adapter as follows:
   - **TX (router)** → **RX (adapter)**
   - **RX (router)** → **TX (adapter)**
   - **GND (router)** → **GND (adapter)**
3. Do **not** connect the VCC pin to avoid damage.

- **Baud rate**: 115200
- **Data bits**: 8
- **Stop bits**: 1
- **Parity**: None
- **Flow control**: None

---

1. Power on the router and observe the serial terminal output.
2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process.
3. You will see the U-Boot Boot Menu:
```plaintext
*** U-Boot Boot Menu ***

    1. Factory mode
    2. Startup system (Default)
    3. Upgrade firmware
    4. Upgrade ATF BL2
    5. Upgrade ATF FIP
    6. Upgrade single image
    7. Load image
    0. U-Boot console

Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
```
4. Select Option 0 by typing 0 and pressing Enter.
5. Input into
```plaintext
MT7981> setenv boot_from ubi
MT7981> saveenv
Saving Environment to MTD... Erasing on MTD device 'nmbm0'... OK
Writing to MTD device 'nmbm0'... OK
OK
MT7981> printenv
baudrate=115200
boot_from=ubi
...
```
the above indicates system will start from *ubi*.
and then type
```plaintext
MT7981> reset
```
will boot from *ubi*

1. Power on the router and observe the serial terminal output.
2. When prompted (e.g., `Hit any key to stop autoboot: 3`), press the '/' key quickly to interrupt the boot process.
3. You will see the U-Boot Boot Menu:
```plaintext
*** U-Boot Boot Menu ***

    1. Factory mode
    2. Startup system (Default)
    3. Upgrade firmware
    4. Upgrade ATF BL2
    5. Upgrade ATF FIP
    6. Upgrade single image
    7. Load image
    0. U-Boot console

Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
```
4. Choose Option 3: Upgrade Firmware
Enter Upgrade Mode
Select Option 3 by typing 3 and pressing Enter.
Upgrade Methods
You will be prompted to choose between:
```plaintext
*** Upgrading Firmware ***

Run image after upgrading? (Y/n): y

Available load methods:
    0 - TFTP client (Default)
    1 - Xmodem
    2 - Ymodem
    3 - Kermit
    4 - S-Record
    5 - RAM

Select (enter for default): 0

Input U-Boot's IP address: 192.168.1.1
Input TFTP server's IP address: 192.168.1.10
Input IP netmask: 255.255.255.0
Input file name: wr3000k-<build_time>-mediatek-filogic-tenbay_wr3000k-squashfs-sysupgrade.bin
```
Type Enter to proceed. The router will erase the old firmware and write the new one.

Signed-off-by: Jianyu Zhuang <xzjianyu@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:45:01 +01:00
Maxim Anisimov
6992d6e51a mediatek/filogic: add support for Cudy AP3000 v1
Hardware:
  SoC:     MT7981b
  RAM:     512 MB
  Flash:   256 MB SPI NAND
  Ethernet:
    1x2.5Gbps (rtl8221b)
  WiFi:    2x2 MT7981
  Button:  Reset
  LED:     1x multicolor

Installation
------------
At the moment, firmware installation is only possible via a transition firmware.
It's can be requested from the manufacturer by email to support@cudy.com

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17225
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:38:16 +01:00
Tianling Shen
5a7fb834c7 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
- Swapped GbE LEDs gpio

Also assigned wifi mac with nvmem binding, added iface setup for failsafe,
increased phy assert time for rtl8221b, and updated LED labels.

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>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:19:16 +01:00
Jonas Jelonek
cd8dcfef37 mediatek: filogic: bpi-r4: set netdev-name for sfp ports
Sets openwrt,netdev-name for the gmac nodes in the dts of BPI-R4 which
correspond to the two sfp slots. By default they are automatically
named as eth1 and eth2 in bad order, however 'SFP1-WAN' and 'SFP2-LAN'
are printed on the PCB and the official metal case has labels 'SFP-WAN'
and 'SFP-LAN'. Thus, label the ports accordingly to match the
board/case labels.
The COMPAT_VERSION is increased to denote that configuration has to be
adjusted manually.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2024-12-20 18:19:10 +01:00
Jonas Jelonek
84fc59c0d5 mediatek: filogic: bpi-r3: set netdev-name for sfp1 port
Sets openwrt,netdev-name for the gmac1 node in the dts of BPI-R3, which
corresponds to the sfp1 slot, to have a proper naming and match the
label on the official BPI-R3 metal case. This renames the port from eth1
to sfp1.
The COMPAT_VERSION is increased to denote that configuration has to be
adjusted manually.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2024-12-20 18:19:10 +01:00
Jonas Jelonek
d4d6c48b6e mediatek: filogic: support openwrt,netdev-name for renaming interfaces
Add support in filogic subtarget for our own custom property
`openwrt,netdev-name` in the device tree instead of `label` for
renaming interfaces. This was suggested upstream to avoid potential
conflicts [1].

[1] https://lore.kernel.org/netdev/20240709124503.pubki5nwjfbedhhy@skbuf/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2024-12-20 18:19:09 +01:00
John Audia
28f534d953 kernel: bump 6.6 to 6.6.66
Update patch set for new release and add required kernel option
CONFIG_ZRAM_TRACK_ENTRY_ACTIME to generic config

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

Manually rebased:
	bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
	bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
	starfive/patches-6.6/1000-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-0029-vc4_hdmi-Avoid-log-spam-for-audio-start-failure.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.66&id=e0388a95736abd1f5f5a94221dd1ac24eacbd4d7

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17271
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-19 00:38:34 +01:00
Daniel Golle
f71ce1c34e mediatek: add pending patches fixing video output on MT7623N
Add a bunch of fixes for HDMI output and Mali-450 GPU rendering on
MT7623N, ie. the BananaPi R2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-12-16 00:46:38 +00:00