On Tue, 2022-11-29 at 15:34 +0200, Roger Quadros wrote: > @@ -555,11 +556,26 @@ static int am65_cpsw_nuss_ndo_slave_open(struct net_device *ndev) > struct am65_cpsw_common *common = am65_ndev_to_common(ndev); > struct am65_cpsw_port *port = am65_ndev_to_port(ndev); > int ret, i; > + u32 reg; > > ret = pm_runtime_resume_and_get(common->dev); > if (ret < 0) > return ret; > > + /* Idle MAC port */ > + cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE); > + cpsw_sl_wait_for_idle(port->slave.mac_sl, 100); > + cpsw_sl_ctl_reset(port->slave.mac_sl); > + > + /* soft reset MAC */ > + cpsw_sl_reg_write(port->slave.mac_sl, CPSW_SL_SOFT_RESET, 1); > + mdelay(1); > + reg = cpsw_sl_reg_read(port->slave.mac_sl, CPSW_SL_SOFT_RESET); > + if (reg) { > + dev_err(common->dev, "soft RESET didn't complete\n"); I *think* Andrew was asking for dev_dbg() here, but let's see what he has to say :) Cheers, Paolo