[PATCH] ata: sata_mv: enable SoC SATA LED presence indication

From: Carlos Junior

Date: Fri Sep 25 2026 - 15:33:57 EST


Enable the SoC SATA LED controller in mv_soc_enable_leds().

Set the LED controller enable, device presence multiplexing, and
activity blink bits in the SoC SATA host-controller register. This
enables SATA device presence indication on boards using the SoC SATA
controller.

Signed-off-by: Carlos Junior <cjuniorfox@xxxxxxxxx>
---
drivers/ata/sata_mv.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index d260f04e6..4a6a6dc7b 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -251,6 +251,7 @@ enum {
SOC_LED_CTRL = 0x2c,
SOC_LED_CTRL_BLINK = (1 << 0), /* Active LED blink */
SOC_LED_CTRL_ACT_PRESENCE = (1 << 2), /* Multiplex dev presence */
+ SOC_LED_CTRL_ENABLE = (1 << 3), /* Enable SATA LED control */
/* with dev activity LED */

/* Shadow block registers */
@@ -3382,12 +3383,21 @@ static void mv6_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio,
writel(m2, port_mmio + PHY_MODE2);
}

-/* TODO: use the generic LED interface to configure the SATA Presence */
-/* & Acitivy LEDs on the board */
+/*
+ * Enable the SoC SATA LED controller and device presence
+ * indication on the board's SATA LEDs.
+ */
static void mv_soc_enable_leds(struct mv_host_priv *hpriv,
void __iomem *mmio)
{
- return;
+ void __iomem *hc_mmio;
+
+ hc_mmio = mv_hc_base(mmio, 0);
+
+ writel(SOC_LED_CTRL_ENABLE |
+ SOC_LED_CTRL_ACT_PRESENCE |
+ SOC_LED_CTRL_BLINK,
+ hc_mmio + SOC_LED_CTRL);
}

static void mv_soc_read_preamp(struct mv_host_priv *hpriv, int idx,
--
2.54.0