[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