Commit Graph

112 Commits

Author SHA1 Message Date
Daniel Golle
a03505e141 mediatek: fix PCIe #PERST de-asserted too early
The driver for MediaTek gen3 PCIe hosts de-asserts all reset
signals at the same time using a single register write operation.
Delay the de-assertion of the #PERST signal by 100ms as some PCIe
devices fail to come up otherwise.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-07-30 23:20:19 +08:00
Beginner
8cf859bf01
kernel: bump 5.15 to 5.15.162 (#12317) 2024-07-08 14:57:44 +08:00
Daniel Golle
b763c5cb75 kernel: move uImage.FIT partition parser to mediatek target
The partition parser approach has been rejected upstream, it will be
replaced by a small block driver which is the solution suggestion by
upstream maintainers.
As the partition parser has only been used by the mediatek target, as
a first step, move it there.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-07-01 10:39:51 +08:00
Beginner
330337a644
kernel: bump 5.15 to 5.15.161 (#12243) 2024-06-16 22:41:02 +08:00
Christian Marangi
fb661b4744 generic: backport initial LEDs hw control support
Backport initial LEDs hw control support. Currently this is limited to
only rx/tx and link events for the netdev trigger but the API got
accepted and the additional modes are working on and will be backported
later.

Refresh every patch and add the additional config flag for QCA8K new
LEDs support.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-16 17:16:13 +08:00
Daniel Golle
fb42176cd1 generic: sync MediaTek Ethernet driver with upstream
Import commits from upstream Linux replacing some downstream patches.
Move accepted patches from pending-{5.15,6.1} to backport-{5.15,6.1}.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-13 22:20:05 +08:00
Daniel Golle
b3bbc4b90d mediatek: improve reliability of Fidelix SPI-NAND
Prior to performing a PROGRAM LOAD RANDOM DATA operation, a WRITE
ENABLE (06h) command must be issued to change the contents of the
memory array. Following a WRITE ENABLE (06) command, **first a PROGRAM
LOAD (02h or 32h) command must be issued to reset the cache**, then
issue a PROGRAM LOAD RANDOM DATA (84h or 34h) command

This is dirty fix provided to use by MediaTek engineer Sky Huang which
may resolve the "OpenWrt Kiss of Death" issue we've been seeing on the
Linksys E8450 aka. Belkin RT3200. However, it means that everything has
to be re-written with that patch already applied, ie. we need to rebuild
the installer once it is part of snapshot builds to have any effect.

Users already on FIP-in-UBI layout are advised to re-write 'fip' UBI
volume and 'bl2' MTD partition manually once from within Linux after
this fix has been applied.

A similar fix will also be required for U-Boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-06-08 22:26:03 +08:00
Rany Hany
b49e163a99 mediatek: fix broken PCIe caused by kernel update
The patch "710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch"
makes use of "syscon_regmap_lookup_by_phandle" which requires that
"syscon" be in the compatible list.

Without this patch, PCIe probe will fail with the following error:

[    1.287467] mtk-pcie 1a143000.pcie: host bridge /pcie@1a143000 ranges:
[    1.294019] mtk-pcie 1a143000.pcie: Parsing ranges property...
[    1.299901] mtk-pcie 1a143000.pcie:      MEM 0x0020000000..0x0027ffffff -> 0x0020000000
[    1.307954] mtk-pcie 1a143000.pcie: missing hifsys node
[    1.313185] mtk-pcie: probe of 1a143000.pcie failed with error -22

Fixes: #12182
Fixes: 1b3612a ("kernel: bump 5.15 to 5.15.158")
Signed-off-by: Rany Hany <rany_hany@riseup.net>
2024-05-24 23:10:05 +08:00
Beginner
19e494cfe7
kernel: bump 5.15 to 5.15.159 (#12166) 2024-05-18 06:30:07 +08:00
coolsnowwolf
1b3612a289 kernel: bump 5.15 to 5.15.158 2024-05-07 10:13:18 +08:00
coolsnowwolf
524107deb5 Revert "kernel: bump 5.15 to 5.15.158 (#12126)"
This reverts commit 0f35cfbb60.
2024-05-05 14:25:14 +08:00
Beginner
0f35cfbb60
kernel: bump 5.15 to 5.15.158 (#12126) 2024-05-04 10:10:03 +08:00
Beginner
fd8808e403
kernel: bump 5.15 to 5.15.155 (#12076) 2024-04-15 10:10:29 +08:00
Beginner
7727540c1c
kernel: bump 5.15 to 5.15.153 (#12048) 2024-04-04 15:00:40 +08:00
Beginner
d75705cfc4
kernel: bump 5.15 to 5.15.150 (#11938) 2024-03-03 00:10:26 +08:00
Beginner
5945bf489f
kernel: bump 5.15 to 5.15.149 (#11915) 2024-02-25 00:10:19 +08:00
Daniel Golle
eeae80a9d0 mediatek: replace hack for MaxLinear 2.5G PHY
Replace hack with proper patch also for Linux 5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-22 23:06:24 +08:00
Daniel Golle
d6bd2cab60 mediatek: re-add dropped properties on BPi-R3
Unfortunately some device tree properties have slipped under the table
when switching from our downstream device tree.

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

Fixes: 7a0ec001ff ("mediatek: sync MT7986 device trees with upstream")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-15 22:56:36 +08:00
Daniel Golle
12c2bc20d1 mediatek: use backported Ethernet PHY driver also for 5.15
Backport in-SoC Gigabit Ethernet PHY driver instead of carrying the
driver in files-5.15.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-14 22:51:25 +08:00
Daniel Golle
1dbf719902 mediatek: sync MT7986 device trees with upstream
Sync device tree files for MT7986 boards with what landed in upstream
Linux tree to easy maintainance and also allow for a smooth update to
Linux 6.1.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-08 21:21:12 +08:00
Daniel Golle
9ea2a9923a mediatek: use updated device tree overlay mechanism for BPi-R64
Use new device tree overlay mechanism for the BananaPi BPi-R64 board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-04 22:54:40 +08:00
Beginner
edb87675dd
kernel: bump 5.15 to 5.15.148 (#11832) 2024-01-27 08:01:24 +08:00
John Audia
135a4e9540 kernel: bump 5.15 to 5.15.146
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.146

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-01-09 22:58:11 +08:00
Daniel Golle
0609f6dbc4 mediatek: use cpufreq fix suggested by MediaTek
Use suggested fix for mediatek-cpufreq, patch will also be sent
upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-12-29 22:30:08 +08:00
Sam Shih
bd6b41e301 mediatek: add mt7988 pinctrl driver support
This adds provisional pinctrl driver support for the MediaTek MT7988 SoC.

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-12-28 23:28:24 +08:00
Sam Shih
ba49394aee mediatek: add mt7988 clock drivers support
This adds clock drivers for the MediaTek MT7988 SoC

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-12-28 23:26:48 +08:00
Beginner-Go
b36db4e355 kernel: refresh 5.15 patches (#11715) 2023-12-18 22:25:24 +08:00
coolsnowwolf
67dcd38678 kernel: bump 5.15 to 5.15.143 2023-12-17 15:38:17 +08:00
Beginner
3358c91e43
kernel: bump 5.15 to 5.15.142 (#11709) 2023-12-16 12:02:58 +08:00
Daniel Golle
16a099f5d6 mediatek: sync MT7988 USXGMII with SDK driver
The USXGMII driver in SDK was heavily refactored, some bugs have been
fixed and it has switched to use phylink_pcs. Follow up with changes
in SDK driver and sync our on-top-of-mainline driver with the SDK
driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-24 23:22:37 +08:00
Daniel Golle
4b44ca4957 mediatek: add driver for built-in 2.5G Ethernet PHY
Add driver for the built-in 2.5G Ethernet PHY found in the MT7988 SoC.
To function the PHY also needs firmware files which have not yet been
published via linux-firmware.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-24 23:20:03 +08:00
Daniel Golle
cce9d689eb mediatek: update pending SoC Ethernet PHY driver
Update driver for MediaTek's built-in Gigabit Ethernet PHYs which can be
found in the MT7981 and MT7988 SoCs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-24 23:18:04 +08:00
Daniel Golle
0ad15c2b02 mediatek: backport cpufreq changes to support MT7988
Backport cpufreq changes from upstream so that the MediaTek MT7988 SoC
can be supported.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-22 22:59:06 +08:00
Daniel Golle
ac4e3b75ad mediatek: filogic: add driver for Richtek RT5190A regulator
The Richtek RT5190A is used on the MT7988 reference board. Backport and
enable the driver on the filogic subtarget, so we can support cpufreq
on the MT7988 reference board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-22 22:56:08 +08:00
Daniel Golle
40e94fc5fd generic: add support for MediaTek NETSYS v3
In order to support Ethernet on the MT7988 SoC add support for NETSYS v3
as well as new paths and USXGMII SerDes to the mtk_eth_soc driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-21 22:20:37 +08:00
aakkll
d8ad8adc3b
kernel: bump 5.15 to 5.15.138 (#11658)
Signed-off-by: aakkll <94471752+aakkll@users.noreply.github.com>
2023-11-13 17:47:28 +08:00
David Bauer
fbaaae5d55 ramips: fix mt7621 kernel compilation
The OF LED configuration patch fails on MT7621, as the necessary headers
were only included for the mediatek subtarget with an additional patch.

Fixes: 242fe8634eba ("generic: add hack for MT753x LED configuration")

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-11-11 23:58:28 +08:00
Daniel Golle
407fe3d689 mediatek: use existing I2C clock names
PCK and MCK should really be P=PMIC and M=MEM, which means that they
should effectively be CLK_PMIC and CLK_ARB.

Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-09-23 22:06:51 +08:00
Daniel Golle
cad44d24f7 mediatek: cleanly backport and add fix for I2C driver
Pick accepted patches from upstream Linux tree instead of having to
maintain our slightly different downstream patches.
Import pending patch fixing I2C on MT7981 by making sure all clocks
are enabled before accessing I2C registers.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-09-23 22:04:44 +08:00
lean
61e557fee9 kernel: bump 5.15 to 5.15.120 2023-07-08 15:58:52 +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
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
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
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