1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #ifndef _SC_PM_API_H
16 #define _SC_PM_API_H
17
18 #include <linux/firmware/imx/sci.h>
19
20
21
22
23 enum imx_sc_pm_func {
24 IMX_SC_PM_FUNC_UNKNOWN = 0,
25 IMX_SC_PM_FUNC_SET_SYS_POWER_MODE = 19,
26 IMX_SC_PM_FUNC_SET_PARTITION_POWER_MODE = 1,
27 IMX_SC_PM_FUNC_GET_SYS_POWER_MODE = 2,
28 IMX_SC_PM_FUNC_SET_RESOURCE_POWER_MODE = 3,
29 IMX_SC_PM_FUNC_GET_RESOURCE_POWER_MODE = 4,
30 IMX_SC_PM_FUNC_REQ_LOW_POWER_MODE = 16,
31 IMX_SC_PM_FUNC_SET_CPU_RESUME_ADDR = 17,
32 IMX_SC_PM_FUNC_REQ_SYS_IF_POWER_MODE = 18,
33 IMX_SC_PM_FUNC_SET_CLOCK_RATE = 5,
34 IMX_SC_PM_FUNC_GET_CLOCK_RATE = 6,
35 IMX_SC_PM_FUNC_CLOCK_ENABLE = 7,
36 IMX_SC_PM_FUNC_SET_CLOCK_PARENT = 14,
37 IMX_SC_PM_FUNC_GET_CLOCK_PARENT = 15,
38 IMX_SC_PM_FUNC_RESET = 13,
39 IMX_SC_PM_FUNC_RESET_REASON = 10,
40 IMX_SC_PM_FUNC_BOOT = 8,
41 IMX_SC_PM_FUNC_REBOOT = 9,
42 IMX_SC_PM_FUNC_REBOOT_PARTITION = 12,
43 IMX_SC_PM_FUNC_CPU_START = 11,
44 };
45
46
47
48
49 #define IMX_SC_PM_CLK_ALL UINT8_MAX
50
51
52
53
54 #define IMX_SC_PM_PW_MODE_OFF 0
55 #define IMX_SC_PM_PW_MODE_STBY 1
56 #define IMX_SC_PM_PW_MODE_LP 2
57 #define IMX_SC_PM_PW_MODE_ON 3
58
59
60
61
62 #define IMX_SC_PM_CLK_SLV_BUS 0
63 #define IMX_SC_PM_CLK_MST_BUS 1
64 #define IMX_SC_PM_CLK_PER 2
65 #define IMX_SC_PM_CLK_PHY 3
66 #define IMX_SC_PM_CLK_MISC 4
67 #define IMX_SC_PM_CLK_MISC0 0
68 #define IMX_SC_PM_CLK_MISC1 1
69 #define IMX_SC_PM_CLK_MISC2 2
70 #define IMX_SC_PM_CLK_MISC3 3
71 #define IMX_SC_PM_CLK_MISC4 4
72 #define IMX_SC_PM_CLK_CPU 2
73 #define IMX_SC_PM_CLK_PLL 4
74 #define IMX_SC_PM_CLK_BYPASS 4
75
76
77
78
79 #define IMX_SC_PM_PARENT_XTAL 0
80 #define IMX_SC_PM_PARENT_PLL0 1
81 #define IMX_SC_PM_PARENT_PLL1 2
82 #define IMX_SC_PM_PARENT_PLL2 3
83 #define IMX_SC_PM_PARENT_BYPS 4
84
85 #endif