233 Commits

Author SHA1 Message Date
lean
61e557fee9 kernel: bump 5.15 to 5.15.120 2023-07-08 15:58:52 +08:00
coolsnowwolf
663be7c70c mediatek: add CETRON CT3003 support 2023-07-05 19:34:20 +08:00
coolsnowwolf
a14bb92a80 mediatek: add JCG Q30 (Pro) support 2023-06-30 12:02:12 +08:00
AmadeusGhost
654f7ab462 mediatek: add H3C Magic NX30 Pro support 2023-06-27 23:08:57 +08:00
AmadeusGhost
defd518694 mediatek: add Xiaomi WR30U support 2023-06-27 23:05:18 +08:00
AmadeusGhost
5f59c3dea6 mediatek: add Qihoo 360T7 support 2023-06-27 23:03:09 +08:00
AmadeusGhost
e7bd136138 mediate: filogic: sync upstream dts changes 2023-06-26 22:02:36 +08:00
Daniel Golle
8d33a61407 mediatek: no longer hard-code WAN PHY of Netgear WAX206
The RealTek 2.5G PHY providing the WAN port of the Netgear WAX206 has
previously been hard-coded in the device tree. Now that the PHY can be
probed correctly also via Clause-45 MDIO, use that instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:28:14 +08:00
Daniel Golle
bf62addd61 mediatek: mt7981: setup all clocks needed for eMMC
Setup all necessary clocks to get MMC to work on MT7981, similar to
how it is done also on MT7986.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-22 23:26:36 +08:00
Daniel Golle
1edf909182 mediatek: update patch add PWM support for MT7981
Update patch with version submitted upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-22 23:25:01 +08:00
Daniel Golle
911a5f623e mediatek: add support for the GL.iNet GL-MT3000
The MT-3000 is a pocket-sized Wi-Fi 6 router based on MediaTek MT7981.

Specification:
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 256 MiB Macronix SPI NAND
 - RAM: 512 MiB Nanya DDR4
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN)
 - Ethernet:
    - 1x 10/100/1000 Mbps built-in PHY (LAN)
    - 1x 10/100/1000/2500 Mbps MaxLinear GPY211 PHY (WAN)
 - USB 3.0 port
 - Buttons: 1 button, 1 switch
 - LEDs: 1x light-blue, 1x warm-white
 - Serial console: internal 4-pin header, 115200 8n1
 - PWM controlled fan with tacho
 - Power: 5 VDC, 3 A (USB Type-C)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-21 23:30:02 +08:00
Daniel Golle
e59909d212 generic: add support for wireless offloading on MT7981
Load appropriate firmware for wireless offloading on MT7981.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-21 23:27:37 +08:00
Daniel Golle
4df739da74 mediatek: sync pinctrl-mt7981 and pinctrl-mt7986 drivers
Now that new pinconf features have been backported sync pinctrl-mt7981
and pinctrl-m7986 with bleeding-edge upstream versions.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-20 23:18:08 +08:00
Daniel Golle
8522798ddf mediatek: backport new pinctrl features
Backport new features for MediaTek pinctrl/pinconf drivers from upstream.
This will serve as the base to improve pinconf bias/pull-up/pull-down on
MT7981 and MT7986, and also prepare for upcoming support for MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-20 23:16:58 +08:00
Felix Fietkau
17f02fb364 kernel: fix mtk_eth_soc throughput regressions on gigabit PHY ports
Fixes issues on MT7621 and MT7623 switch ports, and PHY ports on all SoC

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-19 23:14:37 +08:00
Daniel Golle
4c48c9a80f mediatek: filogic: update kernel config-5.15
Expose thermal-zone as hwmon sensor, remove thermal emulation driver
and add some missing symbols.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-18 22:56:54 +08:00
Daniel Golle
357222b386 mediatek: broaden filogic target description
The filogic subtarget now also supports MT7981 and will in future
also support MT7988. Reflect that in the target description.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:26:10 +08:00
Daniel Golle
0025044d0a mediatek: add device tree include for the MT7981 SoC
Add mt7981.dtsi so we can start adding MT7981 devices.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:25:33 +08:00
Daniel Golle
60f04d0f6a mediatek: add support for SPI calibration
Newer MediaTek's SoCs need SPI calibration routines for SPI to work
reliably. Import patches for that from MediaTek's SDK.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:24:15 +08:00
Daniel Golle
980c3ada51 mediatek: add PWM support for MT7981 SoC
Add patch to support PWM on the MT7981 SoC.
This patch will also be submitted to upstream Linux soon.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:23:20 +08:00
Daniel Golle
d4f04f7995 mediatek: add I2C for MT7981 SoC
Add patch to support I2C on the MT7981 SoC.
This change will also be submitted to upstream Linux soon.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:22:12 +08:00
Daniel Golle
8e0a86e6a1 mediatek: simplify MaxLinear GPY PHY driver
The mxl-gpy driver apparently was built in the assumption that SGMII
auto-negotiation is always switched on at the MAC. This may be true for
few rather recent drivers (why?), but certainly isn't for most drivers
unless 'managed = "in-band-status"' is set in device tree. Add patch to
the mediatek target which reduces mxl-gpy to behave more like an
ordinary PHY driver using out-of-band status.

This allows to use these PHYs without rate-adaptation which seems to be
at least partially broken/racy in some revisions of the PHY and/or
internal PHY firmware.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-17 19:21:21 +08:00
Daniel Golle
120e04cd5e generic: mtk_eth_soc: switch to external PCS driver
Backport patch to make use of the new PCS driver in mtk_eth_soc.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-16 19:55:13 +08:00
Daniel Golle
bee8c8a8cf generic: net: pcs: add driver for MediaTek SGMII PCS
Backport dedicated PCS driver for MediaTek LynxI SGMII/SerDes unit.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-16 19:53:43 +08:00
Daniel Golle
93e24c37dd generic: mtk_eth_soc: allow setting MDIO clock frequency
Backport patch allowing to set the MDIO bus clock frequency.
By default the MDIO bus clock runs on 2.5 MHz, allow increasing it
up to 25 MHz.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-16 19:52:46 +08:00
Daniel Golle
995f53f723 mediatek: add support for built-in GE PHYs of newer SoCs
MT7981 and the upcoming MT7988 have built-in Gigabit Ethernet PHYs.
While they share some design properties with the PHYs present in
MT753x, they do need calibration data from the SoC's efuse.

Add driver to support them. Upstreaming it is planned, but there are
still some ongoing discussions with MediaTek.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-15 23:09:55 +08:00
Daniel Golle
d4339fda71 mediatek: backport pinctrl driver for MT7981 SoC
Backport the pinctrl driver for the MT7981 SoC. The driver has also
been submitted upstream and is part of Linux 6.3.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-15 23:07:49 +08:00
Daniel Golle
7c648c2ff2 mediatek: backport clk driver for MT7981 SoC
Backport driver for common clocks in MT7981 SoC. The driver has also
been submitted upstream and became part of Linux 6.3.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-15 23:06:13 +08:00
Linhui Liu
a8788c3123
kernel: bump 5.15 to 5.15.116 (#11299) 2023-06-12 11:05:43 +08:00
Lu jicong
0d1a56f76f generic: refresh 5.15 kernel config
Enable CONFIG_ARM_CRYPTO on these targets.

Fixes: #11247
Signed-off-by: Lu jicong <jiconglu58@gmail.com>
2023-05-28 00:05:02 +08:00
Daniel Golle
b3d39df1af mediatek: bpi-r3: allow up to 3W per SFP module
According to SinoVoip up to 3A @ 3.3V are available for both
SFP modules together. Raise energy limit from 1W (default) to 3W,
however, be aware that using modules consuming more than 1W will
require active cooling!

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-05-20 23:33:43 +08:00
David Bauer
1b65d382b2 mediatek: fix typo
Signed-off-by: David Bauer <mail@david-bauer.net>
2023-05-18 23:50:43 +08:00
Felix Fietkau
c39fd09bc1 mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan flows
Will be enabled by an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:58:23 +08:00
Felix Fietkau
991dd40dbc kernel: update mtk ppe flow accounting patch to the latest version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:56:13 +08:00
Felix Fietkau
a213014d18 mediatek: add missing DTS entries for WED on MT7986
Needed to support WLAN offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-25 23:56:21 +08:00
Lorenzo Bianconi
4db1ff2145 mediatek: filogic: move ilm, dlm and cpu_boot in dedicated nodes
This fixes issues with legacy boot loaders that don't process reserved memory
regions outside of system RAM

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-25 23:54:50 +08:00
AmadeusGhost
e4901141b5 mediatek: add support for TP-Link TL-XDR4288
The TP-Link TL-XDR4288 has the same hardware as the
TP-Link TL-XDR6088 except for the wireless part.

Note: WiFi: MT7976DAN (2.4G 2T2R, 5G 3T3R)

Signed-off-by: AnYun <amadeus@openjmu.xyz>
2023-04-09 23:18:51 +08:00
Daniel Golle
4552e6a16c mediatek: introduce KERNEL_LOADADDR to Device/Default template
We need to reset KERNEL_LOADADDR if we use it on a per-device base.
Otherwise the previous value will be kept in case a device doesn't
define KERNEL_LOADADDR and relies on the default.

Move initializing KERNEL_LOADADDR to target/linux/mediatek/image/Makefile,
similar to how it's done also on the ramips target.

This fixes image size related breakage on devices which rely on the
default value of KERNEL_LOADADDR.

While at it use 0x48000000 which is more common than the previous default
0x44000000 for the filogic subtarget.

Fixed: e7c399bee6 ("filogic: add support for ASUS TUF-AX4200")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-04-09 23:16:05 +08:00
David Bauer
98539e91b2 mediatek: make TUF-AX4200 KERNEL simply expanded
The KERNEL variable was recursively expanded, breaking other devices.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-04-09 23:13:06 +08:00
Felix Fietkau
6b2559f0aa linux-firmware: add mt7986 offload firmware
This is needed for WED support on MT7986.
Enable it by default for the filogic subtarget.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-03-28 23:00:04 +08:00
David Bauer
57ec2f4f11 filogic: add support for 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
UART:  3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC)

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

1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
   reachable at 192.168.1.66/24. Rename the image to tufax4200.bin.

2. Connect the TFTP server to the AX4200. 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.66
   $ tftpboot 0x46000000 tufax4200.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>

Missing features
----------------

 - The LAN port LEDs are driven by the switch but OpenWrt does not
   correctly configure the output.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-03-26 22:18:00 +08:00
David Bauer
2dff7b910a mediatek: enable bootargs-override for filogic subtarget
The ASUS TUF-AX4200 bootloader adds invalid parameters for the rootfs.
Without overwriting the cmdline, the kernel crashes when trying to
attach the rootfs, as OpenWrt uses a different partition than the vendor
OS.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-03-26 22:12:10 +08:00
lovehackintosh
89e25b5a13
kernel: bump 5.15 to 5.15.103 (#11017)
Fixes sb commit: 138af4d ("kernel: refresh patch")
2023-03-19 11:31:49 +08:00
AmadeusGhost
bbdbb4e8a8 ramips/mediatek: fixes image format 2023-03-06 23:18:04 +08:00
Marcel Ziswiler
545c2478aa mediatek: add support for Netgear WAX206
Specifications:
* SoC: MediaTek MT7622BV
* RAM: DDR3 512 MiB (Nanya NT5CC256M16ER-EK)
* Flash: SPI-NAND 256 MiB (Toshiba TC58CVG1S3HRAIJ)
* Wi-Fi 2.4/5 GHz 4T4R:
  * 2.4 GHz: MediaTek MT7622BV
  * 5 GHz: MediaTek MT7915AN/MT7975AN
* Ethernet: 4x 10/100/1000 Mbps LAN,
            1x 10/100/1000/2500 Mbps WAN (Realtek RTL8221B PHY)
* Switch: MediaTek MT7531AE
* LEDs/Keys: 8/1 (Power, Internet, LAN1, LAN2, LAN3, LAN4,
             Wifin and Wifia dual-colour LEDs + Reset pin)
* UART: Marked J19 on board VCC GND TX RX, beginning from "1". 3.3v,
        115200n8
* Power: 12 VDC, 2.5 A

Installation:
* Flash the factory image through the stock web interface, or TFTP to
  the bootloader. NMRP can be used to TFTP without opening the case.
* U-Boot allows booting an initramfs image via TFTP as follows:
  setenv ipaddr 192.168.1.1
  setenv serverip 192.168.1.100
  tftpboot openwrt-mediatek-mt7622-netgear_wax206-initramfs-recovery.itb
  bootm

Known Limitations:
* The 2.5G WAN port labeled 'wan' only works for speeds up to 1G at the
  moment. If connected to a multi-gig port the speed has to be manually
  set to 1G/full either for the switch port or in OpenWrt. For example
  add the following to /etc/rc.local to set it on boot:
  /usr/sbin/ethtool -s wan speed 1000 duplex full

Revert to stock firmware:
* Flash the stock firmware to the bootloader using TFTP/NMRP.

References to WAX206 GPL source:
https://www.downloads.netgear.com/files/GPL/WAX206_V1.0.4.0_Source.rar

* openwrt/target/linux/mediatek/dts/mt7622-netgear-wax206.dts
  DTS file for this device.
* openwrt/target/linux/mediatek/image/mt7622.mk
  Image creation code for this device

Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
[fix WAN port, adjust partition layout and image creation]
Signed-off-by: Thomas Kupper <thomas.kupper@gmail.com>
2023-02-20 23:29:12 +08:00
Felix Fietkau
26db249dbb mt76: import WED related mtk_eth_soc patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-02-17 18:24:05 +08:00
Daniel Golle
47643a2ba9 mediatek: mtk_thermal: replace with upstream patch
Replace local patch adding thermal support for MT7986 with version
accepted upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-02-15 11:55:24 +08:00
AmadeusGhost
470ca53250 mediatek: add support for TP-Link TL-XDR6086/6088
Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: ESMT F50L1G41LB 128MB
  RAM: ESMT M15T4G16256A 512MB
  Ethernet (Max Speed):
    XDR6086: 1x 2.5G Wan, 1x 2.5G Lan, 1x 1G Lan
    XDR6088: 1x 2.5G Wan, 1x 2.5G Lan, 4x 1G Lan
  WiFi1: MT7976GN 2.4GHz ax 4x4
  WiFi2: MT7976AN 5GHz ax 4x4
  Button: Reset, Wps, Turbo
  USB: 1 x USB 3.2
  Power: DC 12V 4A

Signed-off-by: AmadeusGhost <amadeus@openjmu.xyz>
2023-02-14 23:57:22 +08:00
Oleg S
43a6b311c4 mediatek: mt7622: fix rootfs/ubi detection for Xiaomi AX6S
By specifying the flag "denx,fit" for partition "kernel", the kernel
try to find rootfs in the same partition during boot. Reality is that
the placement of rootfs is precisely determined by the name of another
partition -"ubi".
It was also found that on some device (for example devices with NAND
chips), the "Denx search engine" manages to find roots at the end of
partition "kernel", but such partition doesn't exist and is empty
there.

Fix this by removing the "denx,fit" flag from partition "kernel". With
this change the original behavior of searchif rootfs in partition "ubi"
is restored.

Signed-off-by: Oleg S <remittor@gmail.com>
2023-02-12 11:26:36 +08:00
Daniel Golle
2b13399bb7 mediatek: filogic: fix sysupgrade on MMC on the BPi-R3
A previous attempt to simplify things went wrong and now sysupgrade
is broken on this device. Fix that.

Fixes: de94587e70 ("mediatek: filogic: don't rely on image preset in flash or sysupgrade")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-01-17 21:21:32 +08:00