1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Jonas Jelonek 322041ffeb
realtek: mdio: enhance reading phy id
Reading the PHY ID to assign a PHY config is currently simple. For C45
two MDIO reads of a hardcoded MMD are done to get the standard PHY ID
registers. MMD 31 (MMD_VEND2) is used for that purpose, assuming there
will be a valid PHY ID stored in this MMD in all cases. However, with
Aquantia AQR813 there's at least one example for which this isn't true.
This PHY returns 0 for the PHY ID in MMD_VEND2, instead MMD_VEND1 would
have the correct ID.

Enhance reading the PHY by accessing a common set of MMDs of which most
PHY at least implement one and have a valid PHY ID in. To keep overhead
low, do not scan all MMDs. As soon as a valid PHY ID is found, exit and
use that. This is similar to the kernel logic, jsut reduced to fewer
MMDs.

Also handle possible errors coming from MDIO reads to avoid reading garbage.

While at it, move reading the PHY ID to a separate function to not
pollute the poll fixup retrievel function.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21515
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-01-25 12:12:15 +01:00
..
airoha kernel: net: phy: realtek: backport upstream commits 2026-01-19 13:51:41 +00:00
apm821xx kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
armsr kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
at91 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
ath79 ath79: rb91x_nand: fix some issues in probe 2026-01-23 10:33:05 +01:00
bcm27xx kernel: bump 6.12 to 6.12.67 2026-01-24 21:36:10 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 01:22:47 +01:00
bcm53xx bcm53xx: add support for ASUS RT-AC3200 and ASUS RT-AC5300 2025-12-18 18:18:48 +00:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
d1 d1: Enable LED driver for D1 builds 2026-01-23 10:35:36 +01:00
econet kernel: bump 6.12 to 6.12.67 2026-01-24 21:36:10 +01:00
gemini gemini: set PREEMPT_NONE as default preemption model 2026-01-24 22:52:49 +01:00
generic kernel: bump 6.12 to 6.12.67 2026-01-24 21:36:10 +01:00
imx imx: drop support for kernel 6.6 2025-11-22 10:11:52 +01:00
ipq40xx kernel: bump 6.12 to 6.12.66 2026-01-20 01:15:32 +01:00
ipq806x kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
ixp4xx kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
kirkwood kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
lantiq lantiq: AVM Fritz 736x: fix PCIe reset GPIO 2026-01-24 01:40:11 +01:00
layerscape layerscape: set PREEMPT_NONE as default preemption model 2026-01-24 22:52:49 +01:00
loongarch64 loongarch64: set PREEMPT_NONE as default preemption model 2026-01-24 22:54:29 +01:00
malta kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
mediatek mediatek: mt7623: set PREEMPT_NONE as default model 2026-01-24 22:54:16 +01:00
microchipsw microchipsw: update DTS with the latest pending upstream 2026-01-23 10:55:29 +01:00
mpc85xx mpc85xx: fix failsafe iface selection for mpc85xx boards 2026-01-14 00:26:31 +01:00
mvebu kernel: net: phy: realtek: backport upstream commits 2026-01-19 13:51:41 +00:00
mxs kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
octeon kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
omap kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
pistachio kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-01-12 13:59:30 +01:00
qualcommax qualcommax: ipq60xx: add JDCloud RE-CS-07 support 2026-01-18 11:13:54 +01:00
qualcommbe kernel: net: phy: realtek: backport upstream commits 2026-01-19 13:51:41 +00:00
ramips ramips: mt76x8: add support for Cudy LT400E v1 2026-01-20 01:47:00 +01:00
realtek realtek: mdio: enhance reading phy id 2026-01-25 12:12:15 +01:00
rockchip rockchip: add HINLINK H66K / H68K support 2026-01-24 23:46:23 +01:00
sifiveu kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
siflower kernel: bump 6.12 to 6.12.64 2026-01-15 01:22:47 +01:00
starfive kernel: net: phy: realtek: backport upstream commits 2026-01-19 13:51:41 +00:00
stm32 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
sunxi sunxi: image: sync target profiles names with DT compatible 2025-12-16 01:44:34 +01:00
tegra kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
uml kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
x86 x86: cs5535audio: add support for subtarget legacy 2026-01-19 12:50:00 +01:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00