[PATCH net v2] net: pcs: rzn1-miic: Reset PRCMD state before unprotect sequence

From: Yoshihisa Yamamoto

Date: Wed Sep 16 2026 - 22:50:12 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>
---

v2:
- Fix indentation

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