Re: [PATCH net-next v2] net: phy: marvell: add support for PHY LEDs polarity modes
From: Aleksander Jan Bajkowski
Date: Wed Sep 23 2026 - 18:05:35 EST
Hi Andrew,
On 23/09/2026 23:07, Andrew Lunn wrote:
On Wed, Sep 23, 2026 at 10:45:24PM +0200, Aleksander Jan Bajkowski wrote:
Add the led_polarity_set callback for setting LED polarity. ImplementWhy the M88E1318S prefix?
this callback for the 88E1318 and 88E1510 PHYs. This should also work on
other Marvell PHYs, but I don't have access to the TRM or the hardware.
Tested on Adapteva Paralella board with Marvell 88E1318 PHY.
Signed-off-by: Aleksander Jan Bajkowski <olek2@xxxxx>
---
Changes in v2:
- add suppoer for PHY_LED_INACTIVE_HIGH_IMPEDANCE mode
---
drivers/net/phy/marvell.c | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index f71cffa88406..d57fcabfec2b 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -149,6 +149,9 @@
#define MII_88E1318S_PHY_LED_FUNC_ON (0x9)
#define MII_88E1318S_PHY_LED_FUNC_HI_Z (0xa)
#define MII_88E1318S_PHY_LED_FUNC_BLINK (0xb)
+#define MII_88E1318S_PHY_LED_POL 0x11
+#define MII_88E1318S_PHY_LED_POL_ACT_HIGH(idx) BIT(2 * (idx))
+#define MII_88E1318S_PHY_LED_POL_HIGH_IMP(idx) BIT(2 * (idx) + 1)
#define MII_88E1318S_PHY_LED_TCR 0x12
#define MII_88E1318S_PHY_LED_TCR_FORCE_INT BIT(15)
#define MII_88E1318S_PHY_LED_TCR_INTn_ENABLE BIT(7)
@@ -304,6 +307,8 @@
#define NB_FIBER_STATS 1
#define NB_STAT_MAX 3
+#define M88E1318S_MAX_LEDS 3
The number of LEDs depends on the PHY variant:
88E1112 -> 4
88E1116R -> 3
88E1240 -> 4
88E1318S -> 3
88E1510 -> 3
88E1545 -> 4
88E1548P -> 4
All of these PHYs likely have the same polarity register layout.
NB_MAX_LEDS might be confusing since the number of LEDs can
The naming is a bit odd in this file, but maybe NB_MAX_LEDS?
vary, but I don't have a preference and can change M88E1318S to NB_MAX_LEDS.
Andrew