Re: [Linux-stm32] [PATCH v2 2/2] net: stmmac: dwmac-imx: use platform specific reset for imx93 SoCs

From: Ahmad Fatoum
Date: Fri Mar 31 2023 - 12:55:00 EST


Hello Shenwei,

On 31.03.23 18:31, Shenwei Wang wrote:
> The patch addresses an issue with the reset logic on the i.MX93 SoC, which
> requires configuration of the correct interface speed under RMII mode to
> complete the reset. The patch implements a fix_soc_reset function and uses
> it specifically for the i.MX93 SoCs.

[...]

> static int
> imx_dwmac_parse_dt(struct imx_priv_data *dwmac, struct device *dev)
> {
> @@ -305,6 +327,9 @@ static int imx_dwmac_probe(struct platform_device *pdev)
> if (ret)
> goto err_dwmac_init;
>
> + if (of_machine_is_compatible("fsl,imx93"))
> + dwmac->plat_dat->fix_soc_reset = imx_dwmac_mx93_reset;

imx_dwmac_mx93_reset is accessing eqos registers in an eqos driver. I don't
see why you need to check against SoC compatible instead of device compatible
here.

My suggestion is to add fix_soc_reset to the struct imx_dwmac_ops associated
with "nxp,imx93-dwmac-eqos" compatible and use that to populate
plat_dat->fix_soc_reset unconditionally.

Thanks,
Ahmad


> +
> ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
> if (ret)
> goto err_drv_probe;

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |