Backport of the latest upstream Realtek PHY patches. WoL uses
devm_pm_set_wake_irq(), so the patch that adds this function
has also been backported.
Changelog:
4465ae435ddc net: phy: realtek: create rtl8211f_config_phy_eee() helper
bb78b71faf60 net: phy: realtek: eliminate priv->phycr1 variable
e1a31c41bef6 net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG
910ac7bfb1af net: phy: realtek: eliminate has_phycr2 variable
27033d069177 net: phy: realtek: eliminate priv->phycr2 variable
8e982441ba60 net: phy: realtek: create rtl8211f_config_rgmii_delay()
b826bf795564 net: phy: realtek: fix RTL8211F wake-on-lan support
Tested on Netgear WAX206 with RTL8221B-VB-CG.
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
ath10k loads before ath9k and thus ends up as phy0.
Also use led-sources to avoid some confusion.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19860
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The ath9k driver creates an ath9k LED by default. Instead of having a non
functional LED, configure it properly and remove the extra as it's not
needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19860
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add the CONFIG_DWMAC_LOONGSON driver to the loongarch64 kernel
configuration as a built-in module.
This driver is required for the integrated Ethernet controller found on
modern Loongson devices such as the 3A6000 NUC and 2K3000. Including it
by default ensures these popular devices have network functionality
out-of-the-box.
Configuration changes were made via `make kernel_menuconfig` for the
loongarch64 target.
Ref: https://github.com/openwrt/openwrt/issues/20945
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
ASUS TUF-AX4200Q(TUF 小旋风Pro WiFi6 AX4200) is a home router that adds an additional 2.5G Ethernet port to ASUS TUF-AX4200.
Hardware
- - - - - - - -
- SOC : MediaTek MT7986
- RAM : 512MB DDR3
- FLASH : 256MB SPI-NAND (Winbond W25N02KV)
- WIFI : Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz
- ETH : MediaTek MT7531 Switch
MaxLinear GPY211C 2.5 N-Base-T PHY (WAN)
MaxLinear GPY211C 2.5 N-Base-T PHY (LAN)
- UART : 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC)
Installation
- - - - - - - -
Vendor-UI Method:
1. Download or make 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 tufax4200q.bin.
2. Connect the PC with TFTP server to the TUF-AX4200Q.
Set a static ip on the ethernet interface of your PC.
(IP address: 192.168.1.70, subnet mask: 255.255.255.0)
Connect 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 tufax4200q.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>
(based on support for ASUS RT-AX52 by achterin and trx image generation by remittor)
Signed-off-by: Brian Lee <larte332@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Update the ipq9574 PCS driver the version provided by Qualcomm via
github. The updated driver simplifies link up handling by removing
unnecessary clock rate changes.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20993
Signed-off-by: Robert Marko <robimarko@gmail.com>
According to Qualcomm developers, the pcs nodes on IPQ9574 will be
labeled "pcs<n>" and "pcs<n>_ch<m>". The proposed IPQ5424 changes
include the simpler labels. Rename the IPQ95xx nodes for consistency.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20993
Signed-off-by: Robert Marko <robimarko@gmail.com>
ipq_unipcs_create/destroy() are provided by an older version of the
IPQ9574 PCS driver. Use the renamed versions ipq_pcs_get/put() to
allow updating the PCS driver.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20993
Signed-off-by: Robert Marko <robimarko@gmail.com>
Upstream is strongly considering removing of_gpio.h. As of this commit,
3 upstream drivers remain with actual usage.
Get ahead of upstream and use the GPIOD API before the OF one goes away.
Rework to remove mediatek,reset-pin in favor of the standard
reset-gpios.
Fix wrong high GPIO.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20088
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This is an industrial 4G router equipped with OpenWrt SNAPSHOT OEM
customized version
WARNING: The original firmware device tree is modified from evb
boards, and the device tree name is evb board. This submitted device
tree is a modified version, which deletes the non-this-device parts
and adds GPIO watchdog.
Specification:
- SoC: MediaTek MT7628DAN
- Flash: 16 MB
- RAM: 64 MB
- Power: DC 5V-36V 1.5A
- Ethernet: 1x WAN/LAN, 3x LAN (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only
- LED:
System/Power (PWR): Always Off
Modem (NET): GPIO/3 active-low
LAN: Always On
RF (Modem Signal): GPIO/2 active-low
WIFI: GPIO/44 active-low
- Button:
WPS / RESET: GPIO/11 active-low
- UART: 1x UART on PCB - 115200 8N1
- GPIO Watchdog: GPIO/0 mode=toggle timeout=1s
- Modem: 1x Built-in modem on board (Power: GPIO/4 active-high)
- SIM Slots: 1x SIM Slots
Issue:
- Factory partition not store mac address on original firmware
Flash instruction:
Using TTL:
1. Connect the board to the computer via TTL.
2. Enter original firmware failsafe mode.
3. Use wget download firmware to board /tmp
4. Use command "mtd -r write openwrt-ramips-mt76x8-hongdian_h8850-v20-squashfs-sysupgrade.bin firmware"
to flash
Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-hongdian-h8850-v20-and-flash.html
Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20259
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Use Unix LF style instead of Windows CRLF style.
Fixes: 00bb18b851 ("ipq40xx: Add support for Linksys MR6350")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20973
Signed-off-by: Robert Marko <robimarko@gmail.com>
This reverts commit 741689a335.
Only after merging I remebered the reason why it was changed to 0,0 [1].
[1] 1e20f7b6c6
Signed-off-by: Robert Marko <robimarko@gmail.com>
The reg value says it should be wifi@1,0, not wifi@0,0.
Should fix dtc warning.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20351
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use compatible before reg for consistency.
Also fixup the wifi node name for some qualcomm platforms where the slot
is 1 instead of 0.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20351
Signed-off-by: Robert Marko <robimarko@gmail.com>
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Backport upstream patch to add support for the ESMT F50L1G41LC flash
chip. It is used in multiple Cudy products manufactured starting
November 2025.
Link: https://github.com/openwrt/openwrt/pull/20962
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
IPQ5018 based boards come in multiple wireless architectures.
The SOC itself provides 2.4G wifi while 5G wifi is added by either an
IPQ5018-specific QCN6122 (2x2) solution or by the more generally
available PCIe-based QCN9074 (4x4) wifi chip.
On IPQ5018/QCN6122-based boards, both QCN6122 and IPQ5018 wifi is
initialized by IPQ5018 firmware which comes in different versions:
- IPQ5018: firmware files to initialize WCSS and the internal wifi chip
- IPQ5018/QCN6122: above + additional firmware segments to initialize
the QCN6122 chip incl. (de-)assertion of resets and clocks enablement
OpenWrt currently packages the combined IPQ5018/QCN6122 firmware for
both architectures. As such, let's switch to using IPQ5018-only firmware
for boards not packed with QCN6122 chip(s) and keep using the shared
firmware for devices that do have QCN6122(s) chips.
This helps us move to using upstreamed IPQ5018 firmware while using the
legacy repo for IPQ5018/QCN6122 firmware and rule out any initialization
conflicts/issues caused by loading QCN6122 on IPQ5018-only boards.
While at it, default to the secure WCSS remoteproc driver sent upstream
for review, move QCN6122 wifi nodes to a separate dtsi, override the Q6
node to load the multi-PD-based architecture remoteproc driver for
needed only by IPQ5018/QCN6122 designs, reference said dtsi in
boards packed with QCN6122 wifi chip(s), and add provision for migrating
the radio path as the wifi nodes now adhere to linux device tree naming
conventions.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20928
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add support for qcom remoteproc WCSS secure PIL driver.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20928
Signed-off-by: Robert Marko <robimarko@gmail.com>
`i2c1` node was missing `resets`, so even when enabled, the driver would
not recognize it:
```
i2c_designware c101000.i2c: Unknown Synopsys component type: 0x00000000
```
With this fix, I2C pins on BPi-RV2 26-pin GPIO header are usable.
Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20969
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Now that NVMEM in UBI is supported, more handling can be moved.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16376
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
All users of regular CONFIG_NVMEM_U_BOOOT_ENV have been converted to use
layouts.
CONFIG_NVMEM_U_BOOT_ENV selects the layout variant anyway so this is
safe to do.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16376
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Define MSM466 as alternative name, to explicitly show the device is
supported using existing image (MSM460). The only difference between
the MSM460 and MSM466 is that the MSM466 has external antenna.
Signed-off-by: Raylynn Knight <rayknight@me.com>
Link: https://github.com/openwrt/openwrt/pull/20937
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add the missing symbol to fix build halt on aarch64 targets:
```
Contiguous PTE mappings for user memory (ARM64_CONTPTE) [Y/n/?] (NEW) make[7]: *** [scripts/kconfig/Makefile:85: syncconfig] Error 1
make[6]: *** [Makefile:686: syncconfig] Error 2
```
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20954
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The child node "partitions" doesn't have "reg" property. Hence, we
don't need to use "#address-cells" and "#size-cells" to describe the
reg property information.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20942
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The child node "partitions" doesn't have "reg" property. Hence, we
don't need to use "#address-cells" and "#size-cells" to describe the
reg property information.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20942
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This patchset silences some noisy dts false warnings:
[ 0.616266] OF: Bad cell count for /spi@1100d000/flash@0/partitions
[ 0.622551] OF: Bad cell count for /spi@1100d000/flash@0/partitions
Closes: https://github.com/openwrt/openwrt/issues/14701
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20942
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop all kernel 6.6 patches, hacks, backports and configuration support,
and remove the CONFIG_LINUX_6_6 guarded conditional in filogic.mk.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20943
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
node name matches various comments about the pci path.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20522
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The kernel update commit also changed the name of the dtsi node. Adapt
the other dts files.
Fixes: 738876e76b ("kernel: bump 6.12 to 6.12.58")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Drop support for kernel 6.6 as now kernel 6.12 is set as default kernel
version.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20889
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Fortinet FortiWiFi 30E (FWF-30E) is a UTM, based on Armada 385 (88F6820).
Specification:
- SoC : Marvell Armada 385 88F6820
- RAM : DDR3 1 GiB (4x Nanya NT5CC256M8IN-D1)
- Flash : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- Ethernet : 5x 10/100/1000 Mbps
- Switch : Marvell 88E6176
- Wireless : Atheros AR9382 2x2 802.11abgn (mini-PCIe)
- LEDs/Keys : 16x/1x
- UART : "CONSOLE" port (RJ-45, RS-232C level)
- port : ttyS0
- settings : 9600bps 8n1
- assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
5:GND, 6:RXD, 7:NC , 8:NC
- note : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- USB : 1x USB 3.0
- Power : 12 VDC, 2 A
- plug : Molex 5557-02R
Flash instruction using initramfs image:
1. Power on FWF-30E and interrupt to show bootmenu
2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
and set baudrate to 9600 bps
3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
connect computer to "Image download port" in the parameters
4. Prepare TFTP server with the parameters obtained above
5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
directory
6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
image from TFTP server
7. Type "r" key when the following message is showed, to boot initramfs
image without flashing to spi-nor flash
"Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"
8. On initramfs image, backup mtd if needed
minimum:
- "firmware-info"
- "kernel"
- "rootfs"
9. On initramfs image, upload sysupgrade image to the device and perform
sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
If the device is booted with stock firmware, login to bootmenu and
call "[B]: Boot with backup firmware and set as default." to set the
first OS image as default and boot it.
Notes:
- Both colors of Bi-color LEDs on the front panel cannot be turned on at
the same time.
- "PWR" and "Logo" LEDs are connected to power source directly.
- The following partitions are added for OpenWrt.
These partitions are contained in "uboot" partition (0x0-0x1fffff) on
stock firmware.
- "firmware-info"
- "dtb"
- "u-boot-env"
- "board-info"
Image header for bootmenu tftp:
0x0 - 0xf : ?
0x10 - 0x2f : Image Name
0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?
*: required for initramfs image
MAC addresses:
(eth0): 70:4C:A5:xx:xx:42 (board-info, 0xd880 (hex))
WAN : 70:4C:A5:xx:xx:43
LAN 1 : 70:4C:A5:xx:xx:44
LAN 2 : 70:4C:A5:xx:xx:45
LAN 3 : 70:4C:A5:xx:xx:46
LAN 4 : 70:4C:A5:xx:xx:47
Signed-off-by: Jimmy Cavanaugh <jamie@cavanaugh.co.nz>
Link: https://github.com/openwrt/openwrt/pull/20787
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
As per schematics, GPIO 30 is incorrect to use as the reset pin for the
QSGMII PHY SF23P1240; the correct one is GPIO 22.
Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
refreshed with make kernel_oldconfig CONFIG_TARGET=subtarget
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20893
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
adding the kmod-i2c-designware-platform by user suggestion
Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20893
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop support for kernel 6.6 as now kernel 6.12 is set as default kernel
version.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20893
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
switch the kernel to 6.12 by default
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20893
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Devices package:
Add missing USB3 driver
Device tree:
Fix model name and pwm usage
Add missing supply for I2C and USB
Update network port names based on the shell image [1]
[1] https://docs.banana-pi.org/bpi-r4_lite/banana_pi_bpi-r4_lite_case_1.png
Fixes: 8b6c6978 ("mediatek: add support for BananaPi BPi-R4 Lite")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
There is no reason to limit USB to 2.0 mode by default. This
limitation should be done when both gmac2 and USB are enabled.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Remove I2C, PCIe, PWM, UART and USB from the MT7987A SoC dtsi.
These should not be enabled by default, but rather enabled based
on the device.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>