1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 2 /* 3 * Copyright (c) 2011-2014, The Linux Foundati 3 * Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2014,2015, Linaro Ltd. 4 * Copyright (c) 2014,2015, Linaro Ltd. 5 */ 5 */ 6 6 7 #ifndef __SPM_H__ 7 #ifndef __SPM_H__ 8 #define __SPM_H__ 8 #define __SPM_H__ 9 9 >> 10 #include <linux/cpuidle.h> >> 11 >> 12 #define MAX_PMIC_DATA 2 >> 13 #define MAX_SEQ_DATA 64 >> 14 10 enum pm_sleep_mode { 15 enum pm_sleep_mode { 11 PM_SLEEP_MODE_STBY, 16 PM_SLEEP_MODE_STBY, 12 PM_SLEEP_MODE_RET, 17 PM_SLEEP_MODE_RET, 13 PM_SLEEP_MODE_SPC, 18 PM_SLEEP_MODE_SPC, 14 PM_SLEEP_MODE_PC, 19 PM_SLEEP_MODE_PC, 15 PM_SLEEP_MODE_NR, 20 PM_SLEEP_MODE_NR, 16 }; 21 }; 17 22 18 struct spm_driver_data; !! 23 struct spm_reg_data { >> 24 const u16 *reg_offset; >> 25 u32 spm_cfg; >> 26 u32 spm_dly; >> 27 u32 pmic_dly; >> 28 u32 pmic_data[MAX_PMIC_DATA]; >> 29 u32 avs_ctl; >> 30 u32 avs_limit; >> 31 u8 seq[MAX_SEQ_DATA]; >> 32 u8 start_index[PM_SLEEP_MODE_NR]; >> 33 }; >> 34 >> 35 struct spm_driver_data { >> 36 void __iomem *reg_base; >> 37 const struct spm_reg_data *reg_data; >> 38 }; >> 39 19 void spm_set_low_power_mode(struct spm_driver_ 40 void spm_set_low_power_mode(struct spm_driver_data *drv, 20 enum pm_sleep_mode 41 enum pm_sleep_mode mode); 21 42 22 #endif /* __SPM_H__ */ 43 #endif /* __SPM_H__ */ 23 44
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.