Re: Question about support for orange pi 5 pro (dts) [was: net: phy: motorcomm: YT8531S missing LED ops and default init]

From: Dennis Gilmore <hidden>
Date: 2026-06-04 17:27:24

Hi Frank, Yao Zi,

I am reporting a driver bug that affects the YT6801 on the Orange Pi 5
Pro: the RJ45 LEDs (link/activity) never illuminate. I had not noticed
it, but I see it now that I look. A user reached out to see if it was
something missing in the devicetree, and I believe it is a driver bug.

Environment:
- Orange Pi 5 Pro, RK3588S SoC
- YT6801 NIC (PCI ID 1f0a:6801) on pcie2x1l2
- Kernel: mainline,
drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c +
drivers/net/phy/motorcomm.c

Root cause:

The YT6801's internal EPHY presents as YT8531S (PHY_ID 0x4f51e91a).
There are two problems in motorcomm.c:

1. The PHY_ID_YT8531S table entry (around line 3059) is missing
led_hw_is_supported, led_hw_control_set, and led_hw_control_get ops.
The adjacent PHY_ID_YT8531 entry has all three.
2. More fundamentally, the YT6801 is a PCI device with no OF node. The
phylib LED hw offload framework only calls those ops when LED child
nodes exist in DT — which they never will for a PCI device's internal
PHY. The yt8521_config_init (used by YT8531S) never writes any LED
registers, so the chip's power-on defaults govern LED behavior, and
apparently those defaults leave the LEDs off.

Suggested fix:

- Add LED hw ops to the PHY_ID_YT8531S table entry (same three
functions as YT8531 uses).
- In yt8521_config_init (or a new helper called from there), when
of_node is NULL, write sensible LED register defaults. Something like:
  - LED0 (link): YT8521_LED_1000_ON_EN | YT8521_LED_100_ON_EN |
YT8521_LED_10_ON_EN
  - LED1 (activity): YT8521_LED_TXACT_BLK_EN | YT8521_LED_RXACT_BLK_EN

Happy to test any patch on the Orange Pi 5 Pro hardware.

Dennis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help