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

Donggeun Yoo posted 2 patches 1 week, 2 days ago
drivers/net/phy/qcom/qca808x.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
[PATCH net v3 0/2] net: phy: qca808x: fix the active-high LED polarity mode
Posted by Donggeun Yoo 1 week, 2 days ago
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/
  - 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