[PATCH net] net: pcs: rzn1-miic: Reset PRCMD state before unprotect sequence
From: Yoshihisa Yamamoto
Date: Tue Sep 15 2026 - 22:43:27 EST
On RZ/T2H MIIC, writing 0x0000 to PRCMD resets the command state
machine to the IDLE state.
Reset PRCMD before issuing the unprotect sequence so that it always
starts from a known state, regardless of any previous PRCMD activity.
Signed-off-by: Yoshihisa Yamamoto yoshihisa.yamamoto.xn@xxxxxxxxxxx
---
drivers/net/pcs/pcs-rzn1-miic.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/pcs/pcs-rzn1-miic.c b/drivers/net/pcs/pcs-rzn1-miic.c
index 2b72fa98d..818756bb8 100644
--- a/drivers/net/pcs/pcs-rzn1-miic.c
+++ b/drivers/net/pcs/pcs-rzn1-miic.c
@@ -270,6 +270,9 @@ static struct miic_port *phylink_pcs_to_miic_port(struct phylink_pcs *pcs)
static void miic_unlock_regs(struct miic *miic)
{
+ /* Reset PRCMD state before unprotect sequence */
+ writel(0x0000, miic->base + MIIC_PRCMD);
+
/* Unprotect register writes */
writel(0x00A5, miic->base + MIIC_PRCMD);
writel(0x0001, miic->base + MIIC_PRCMD);
--
2.34.1