All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] net: mtk_eth: an8855: fix packet loss and sync with Linux
@ 2026-11-07 14:24 Mikhail Zhilkin
  2026-11-07 14:24 ` [PATCH v1 1/3] net: mtk_eth: an8855: fix bitwise collision in RX_CTRL_8 register Mikhail Zhilkin
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Mikhail Zhilkin @ 2026-11-07 14:24 UTC (permalink / raw)
  To: u-boot
  Cc: jerome.forissier, ryder.lee, weijie.gao, chunfeng.yun,
	igor.belwon, dlechner, jstephan, GSS_MTK_Uboot_upstream, trini,
	Mikhail Zhilkin

This patch series aligns the U-Boot Airoha AN8855 switch initialization
code with the upstream Linux DSA driver
(drivers/net/dsa/airoha/an8855.c), fixing several register configuration
bugs and improving overall signal integrity.

The current default U-Boot configuration leaves the SerDes with marginal
drive characteristics. On some hardware iterations, this results in
severe packet loss (50-60%) and timeouts during TFTP recovery. This drop
occurs because of marginal signal integrity on the internal 2500Base-X
link connecting the switch to the CPU.

By correcting a bitwise shift overlap, enabling link error recovery, and
applying the proper TX FIR / RX CDR analog tuning parameters used in
Linux, this series ensures a stable physical link between the CPU and
switch across different boards.

These changes have been run-tested on the CMCC RAX3000ME and Xiaomi
AX3000T, both featuring the AN8855 switch, confirming stable network
operation and reliable gigabit TFTP recovery.

Patch summary:
- Patch 1 fixes a bitwise collision bug in the AN8855_RX_CTRL_8 register
  that was accidentally overwriting previously set bits.
- Patch 2 enables graceful link error recovery in AN8855_RX_CTRL_26
  instead of explicitly disabling it.
- Patch 3 ports the SerDes analog tuning parameters (TX Eye and RX
  Jitter Tolerance) from Linux, resolving the packet loss issue on the
  internal 2.5G CPU port.

Mikhail Zhilkin (3):
  net: mtk_eth: an8855: fix bitwise collision in RX_CTRL_8 register
  net: mtk_eth: an8855: enable link error recovery
  net: mtk_eth: an8855: sync SerDes analog tuning with Linux driver

 drivers/net/mtk_eth/an8855.c | 31 ++++++++++++++++++++++++++++---
 1 file changed, 28 insertions(+), 3 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-11-09 21:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-07 14:24 [PATCH v1 0/3] net: mtk_eth: an8855: fix packet loss and sync with Linux Mikhail Zhilkin
2026-11-07 14:24 ` [PATCH v1 1/3] net: mtk_eth: an8855: fix bitwise collision in RX_CTRL_8 register Mikhail Zhilkin
2026-11-09 21:23   ` David Lechner
2026-11-07 14:24 ` [PATCH v1 2/3] net: mtk_eth: an8855: enable link error recovery Mikhail Zhilkin
2026-11-09 21:23   ` David Lechner
2026-11-07 14:24 ` [PATCH v1 3/3] net: mtk_eth: an8855: sync SerDes analog tuning with Linux driver Mikhail Zhilkin
2026-11-09 21:25   ` David Lechner
2026-11-09 21:23 ` [PATCH v1 0/3] net: mtk_eth: an8855: fix packet loss and sync with Linux David Lechner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.