summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/fsl_enetc.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/net/fsl_enetc.c b/drivers/net/fsl_enetc.c
index 67ef5f34a8a..52fa820f518 100644
--- a/drivers/net/fsl_enetc.c
+++ b/drivers/net/fsl_enetc.c
@@ -5,6 +5,7 @@
* Copyright 2023-2025 NXP
*/
+#include <clk.h>
#include <dm.h>
#include <errno.h>
#include <fdt_support.h>
@@ -981,11 +982,31 @@ static const struct eth_ops enetc_ops_imx = {
.read_rom_hwaddr = enetc_read_rom_hwaddr,
};
+static int enetc_probe_imx(struct udevice *dev)
+{
+ struct clk *clk;
+ int ret;
+
+ clk = devm_clk_get_optional(dev, "ref");
+ if (IS_ERR(clk))
+ return PTR_ERR(clk);
+
+ ret = clk_enable(clk);
+ if (ret)
+ return ret;
+
+ ret = enetc_probe(dev);
+ if (ret)
+ clk_disable(clk);
+
+ return ret;
+}
+
U_BOOT_DRIVER(eth_enetc_imx) = {
.name = ENETC_DRIVER_NAME,
.id = UCLASS_ETH,
.bind = enetc_bind,
- .probe = enetc_probe,
+ .probe = enetc_probe_imx,
.remove = enetc_remove,
.ops = &enetc_ops_imx,
.priv_auto = sizeof(struct enetc_priv),