/* * Copyright (c) 2021 NXP * * SPDX-License-Identifier: Apache-2.0 */ #ifndef _SOC_ARM_NXP_IMX_RT_POWER_RT10XX_H_ #define _SOC_ARM_NXP_IMX_RT_POWER_RT10XX_H_ struct clock_callbacks { /* * The clock_set_run function should switch all clocks to their * default running configuration, and power up required PLLs * The system will be transitioning out of sleep when calling this function. */ void (*clock_set_run)(void); /* * The clock_set_low_power function should switch all clocks to * the lowest power mode possible, and disable all possible PLLs. * Note that the function should, at minimum, switch the arm core to the * 24 MHz oscillator. * The system will transition to sleep after calling this function. */ void (*clock_set_low_power)(void); /* * The clock_init function should perform any one time initialization that * clocks used in low power mode require. */ void (*clock_lpm_init)(void); }; void imxrt_clock_pm_callbacks_register(struct clock_callbacks *callbacks); #endif /* _SOC_ARM_NXP_IMX_RT_POWER_RT10XX_H_ */