22 #include <linux/kernel.h>
36 static struct clkdm_dep d2d_wkup_sleep_deps[] = {
37 { .clkdm_name =
"abe_clkdm" },
38 { .clkdm_name =
"ivahd_clkdm" },
39 { .clkdm_name =
"l3_1_clkdm" },
40 { .clkdm_name =
"l3_2_clkdm" },
41 { .clkdm_name =
"l3_emif_clkdm" },
42 { .clkdm_name =
"l3_init_clkdm" },
43 { .clkdm_name =
"l4_cfg_clkdm" },
44 { .clkdm_name =
"l4_per_clkdm" },
48 static struct clkdm_dep ducati_wkup_sleep_deps[] = {
49 { .clkdm_name =
"abe_clkdm" },
50 { .clkdm_name =
"ivahd_clkdm" },
51 { .clkdm_name =
"l3_1_clkdm" },
52 { .clkdm_name =
"l3_2_clkdm" },
53 { .clkdm_name =
"l3_dss_clkdm" },
54 { .clkdm_name =
"l3_emif_clkdm" },
55 { .clkdm_name =
"l3_gfx_clkdm" },
56 { .clkdm_name =
"l3_init_clkdm" },
57 { .clkdm_name =
"l4_cfg_clkdm" },
58 { .clkdm_name =
"l4_per_clkdm" },
59 { .clkdm_name =
"l4_secure_clkdm" },
60 { .clkdm_name =
"l4_wkup_clkdm" },
61 { .clkdm_name =
"tesla_clkdm" },
65 static struct clkdm_dep iss_wkup_sleep_deps[] = {
66 { .clkdm_name =
"ivahd_clkdm" },
67 { .clkdm_name =
"l3_1_clkdm" },
68 { .clkdm_name =
"l3_emif_clkdm" },
72 static struct clkdm_dep ivahd_wkup_sleep_deps[] = {
73 { .clkdm_name =
"l3_1_clkdm" },
74 { .clkdm_name =
"l3_emif_clkdm" },
78 static struct clkdm_dep l3_dma_wkup_sleep_deps[] = {
79 { .clkdm_name =
"abe_clkdm" },
80 { .clkdm_name =
"ducati_clkdm" },
81 { .clkdm_name =
"ivahd_clkdm" },
82 { .clkdm_name =
"l3_1_clkdm" },
83 { .clkdm_name =
"l3_dss_clkdm" },
84 { .clkdm_name =
"l3_emif_clkdm" },
85 { .clkdm_name =
"l3_init_clkdm" },
86 { .clkdm_name =
"l4_cfg_clkdm" },
87 { .clkdm_name =
"l4_per_clkdm" },
88 { .clkdm_name =
"l4_secure_clkdm" },
89 { .clkdm_name =
"l4_wkup_clkdm" },
93 static struct clkdm_dep l3_dss_wkup_sleep_deps[] = {
94 { .clkdm_name =
"ivahd_clkdm" },
95 { .clkdm_name =
"l3_2_clkdm" },
96 { .clkdm_name =
"l3_emif_clkdm" },
100 static struct clkdm_dep l3_gfx_wkup_sleep_deps[] = {
101 { .clkdm_name =
"ivahd_clkdm" },
102 { .clkdm_name =
"l3_1_clkdm" },
103 { .clkdm_name =
"l3_emif_clkdm" },
107 static struct clkdm_dep l3_init_wkup_sleep_deps[] = {
108 { .clkdm_name =
"abe_clkdm" },
109 { .clkdm_name =
"ivahd_clkdm" },
110 { .clkdm_name =
"l3_emif_clkdm" },
111 { .clkdm_name =
"l4_cfg_clkdm" },
112 { .clkdm_name =
"l4_per_clkdm" },
113 { .clkdm_name =
"l4_secure_clkdm" },
114 { .clkdm_name =
"l4_wkup_clkdm" },
118 static struct clkdm_dep l4_secure_wkup_sleep_deps[] = {
119 { .clkdm_name =
"l3_1_clkdm" },
120 { .clkdm_name =
"l3_emif_clkdm" },
121 { .clkdm_name =
"l4_per_clkdm" },
125 static struct clkdm_dep mpu_wkup_sleep_deps[] = {
126 { .clkdm_name =
"abe_clkdm" },
127 { .clkdm_name =
"ducati_clkdm" },
128 { .clkdm_name =
"ivahd_clkdm" },
129 { .clkdm_name =
"l3_1_clkdm" },
130 { .clkdm_name =
"l3_2_clkdm" },
131 { .clkdm_name =
"l3_dss_clkdm" },
132 { .clkdm_name =
"l3_emif_clkdm" },
133 { .clkdm_name =
"l3_gfx_clkdm" },
134 { .clkdm_name =
"l3_init_clkdm" },
135 { .clkdm_name =
"l4_cfg_clkdm" },
136 { .clkdm_name =
"l4_per_clkdm" },
137 { .clkdm_name =
"l4_secure_clkdm" },
138 { .clkdm_name =
"l4_wkup_clkdm" },
139 { .clkdm_name =
"tesla_clkdm" },
143 static struct clkdm_dep tesla_wkup_sleep_deps[] = {
144 { .clkdm_name =
"abe_clkdm" },
145 { .clkdm_name =
"ivahd_clkdm" },
146 { .clkdm_name =
"l3_1_clkdm" },
147 { .clkdm_name =
"l3_2_clkdm" },
148 { .clkdm_name =
"l3_emif_clkdm" },
149 { .clkdm_name =
"l3_init_clkdm" },
150 { .clkdm_name =
"l4_cfg_clkdm" },
151 { .clkdm_name =
"l4_per_clkdm" },
152 { .clkdm_name =
"l4_wkup_clkdm" },
157 .name =
"l4_cefuse_clkdm",
158 .pwrdm = { .name =
"cefuse_pwrdm" },
166 .name =
"l4_cfg_clkdm",
167 .pwrdm = { .name =
"core_pwrdm" },
176 .name =
"tesla_clkdm",
177 .pwrdm = { .name =
"tesla_pwrdm" },
182 .wkdep_srcs = tesla_wkup_sleep_deps,
183 .sleepdep_srcs = tesla_wkup_sleep_deps,
188 .name =
"l3_gfx_clkdm",
189 .pwrdm = { .name =
"gfx_pwrdm" },
194 .wkdep_srcs = l3_gfx_wkup_sleep_deps,
195 .sleepdep_srcs = l3_gfx_wkup_sleep_deps,
200 .name =
"ivahd_clkdm",
201 .pwrdm = { .name =
"ivahd_pwrdm" },
206 .wkdep_srcs = ivahd_wkup_sleep_deps,
207 .sleepdep_srcs = ivahd_wkup_sleep_deps,
212 .name =
"l4_secure_clkdm",
213 .pwrdm = { .name =
"l4per_pwrdm" },
218 .wkdep_srcs = l4_secure_wkup_sleep_deps,
219 .sleepdep_srcs = l4_secure_wkup_sleep_deps,
224 .name =
"l4_per_clkdm",
225 .pwrdm = { .name =
"l4per_pwrdm" },
235 .pwrdm = { .name =
"abe_pwrdm" },
244 .name =
"l3_instr_clkdm",
245 .pwrdm = { .name =
"core_pwrdm" },
252 .name =
"l3_init_clkdm",
253 .pwrdm = { .name =
"l3init_pwrdm" },
258 .wkdep_srcs = l3_init_wkup_sleep_deps,
259 .sleepdep_srcs = l3_init_wkup_sleep_deps,
265 .pwrdm = { .name =
"core_pwrdm" },
269 .wkdep_srcs = d2d_wkup_sleep_deps,
270 .sleepdep_srcs = d2d_wkup_sleep_deps,
275 .name =
"mpu0_clkdm",
276 .pwrdm = { .name =
"cpu0_pwrdm" },
284 .name =
"mpu1_clkdm",
285 .pwrdm = { .name =
"cpu1_pwrdm" },
293 .name =
"l3_emif_clkdm",
294 .pwrdm = { .name =
"core_pwrdm" },
303 .name =
"l4_ao_clkdm",
304 .pwrdm = { .name =
"always_on_core_pwrdm" },
312 .name =
"ducati_clkdm",
313 .pwrdm = { .name =
"core_pwrdm" },
318 .wkdep_srcs = ducati_wkup_sleep_deps,
319 .sleepdep_srcs = ducati_wkup_sleep_deps,
324 .name =
"mpuss_clkdm",
325 .pwrdm = { .name =
"mpu_pwrdm" },
329 .wkdep_srcs = mpu_wkup_sleep_deps,
330 .sleepdep_srcs = mpu_wkup_sleep_deps,
335 .name =
"l3_2_clkdm",
336 .pwrdm = { .name =
"core_pwrdm" },
345 .name =
"l3_1_clkdm",
346 .pwrdm = { .name =
"core_pwrdm" },
356 .pwrdm = { .name =
"cam_pwrdm" },
360 .wkdep_srcs = iss_wkup_sleep_deps,
361 .sleepdep_srcs = iss_wkup_sleep_deps,
366 .name =
"l3_dss_clkdm",
367 .pwrdm = { .name =
"dss_pwrdm" },
372 .wkdep_srcs = l3_dss_wkup_sleep_deps,
373 .sleepdep_srcs = l3_dss_wkup_sleep_deps,
378 .name =
"l4_wkup_clkdm",
379 .pwrdm = { .name =
"wkup_pwrdm" },
388 .name =
"emu_sys_clkdm",
389 .pwrdm = { .name =
"emu_pwrdm" },
398 .name =
"l3_dma_clkdm",
399 .pwrdm = { .name =
"core_pwrdm" },
403 .wkdep_srcs = l3_dma_wkup_sleep_deps,
404 .sleepdep_srcs = l3_dma_wkup_sleep_deps,
410 &l4_cefuse_44xx_clkdm,
415 &l4_secure_44xx_clkdm,
418 &l3_instr_44xx_clkdm,