35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
/*
|
|
* 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_ */
|