diff --git a/drivers/ethernet/Kconfig.nxp_enet b/drivers/ethernet/Kconfig.nxp_enet index 953ce84d51233..538543fb96bcb 100644 --- a/drivers/ethernet/Kconfig.nxp_enet +++ b/drivers/ethernet/Kconfig.nxp_enet @@ -12,7 +12,7 @@ config ETH_NXP_ENET depends on DT_HAS_NXP_ENET_MAC_ENABLED select NOCACHE_MEMORY if CPU_HAS_DCACHE select ARM_MPU if CPU_CORTEX_M7 - select NET_POWER_MANAGEMENT if (PM_DEVICE && SOC_FAMILY_KINETIS) + imply NET_POWER_MANAGEMENT select ETH_DSA_SUPPORT_DEPRECATED select PINCTRL select HWINFO if $(dt_compat_any_has_prop,$(DT_COMPAT_NXP_ENET_MAC),$(DT_NXP_UNIQUE_MAC_PROP),True) diff --git a/drivers/ethernet/eth_nxp_enet.c b/drivers/ethernet/eth_nxp_enet.c index a19b3ec3f7ebb..40b2d69f4b237 100644 --- a/drivers/ethernet/eth_nxp_enet.c +++ b/drivers/ethernet/eth_nxp_enet.c @@ -799,14 +799,11 @@ static int eth_nxp_enet_device_pm_action(const struct device *dev, enum pm_devic return ret; } - ENET_Reset(data->base); - ENET_Down(data->base); - clock_control_off(config->clock_dev, (clock_control_subsys_t)config->clock_subsys); + ENET_EnableSleepMode(data->base, true); } else if (action == PM_DEVICE_ACTION_RESUME) { LOG_DBG("Resuming"); - clock_control_on(config->clock_dev, (clock_control_subsys_t)config->clock_subsys); - eth_nxp_enet_init(dev); + ENET_EnableSleepMode(data->base, false); net_if_resume(data->iface); } else { return -ENOTSUP;