Thread (6 messages) flat view 6 messages, 3 authors, 1d ago
WARM1d

[PATCH net v3 0/2] net: phy: qca808x: fix the active-high LED polarity mode

From: Donggeun Yoo <hidden>
Date: 2026-09-15 22:31:46
Also in: linux-arm-msm, lkml, stable

A QCA8081 with an 'active-high' LED node does not work today, in two
separate ways, so this is now two patches: qca808x_led_polarity_set()
rejects the mode outright, and once it stops doing that
qca808x_config_init() still will not put the bit back after the reset
phy_init_hw() runs.

Tested in QEMU against a synthetic MDIO bus that answers as a QCA8081 and
emulates MMD7 0x901a, with the reset clearing BIT(6) as f203c8c77c76
describes. One kernel, one harness, three arms, x86_64, 7.3.0-rc2+:

  DT node            base      1/2 only   1/2 + 2/2
  active-high        -EINVAL   inverted   correct
  active-low         correct   correct    correct
  no polarity node   correct   correct    correct
  high-impedance     -EINVAL   -EINVAL    -EINVAL

Still no QCA808x hardware here; the harness emulates the one register, so
a confirmation on a real board would be welcome.

Changes since v2: https://lore.kernel.org/netdev/20260914214720.2467586-1-donggeunyoo.kernel@gmail.com/ (local)
  - Split in two, one defect each, per Christian Marangi.
  - Add QCA808X_PHY_LED_UNSET and express the condition as
    PHY_LED_ACTIVE_LOW instead of bare -1/0/1, per Christian Marangi.
  - Tested rather than compile-tested; see the table above.

Donggeun Yoo (2):
  net: phy: qca808x: accept the active-high LED polarity mode
  net: phy: qca808x: keep an explicit active-high LED across the reset

 drivers/net/phy/qcom/qca808x.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

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