xref: /linux/arch/arm/mach-omap2/clockdomains7xx_data.c (revision 11fadcfab94fbb395a446043a737b8647cee9074)
1*11fadcfaSAmbresh K /*
2*11fadcfaSAmbresh K  * DRA7xx Clock domains framework
3*11fadcfaSAmbresh K  *
4*11fadcfaSAmbresh K  * Copyright (C) 2009-2013 Texas Instruments, Inc.
5*11fadcfaSAmbresh K  * Copyright (C) 2009-2011 Nokia Corporation
6*11fadcfaSAmbresh K  *
7*11fadcfaSAmbresh K  * Generated by code originally written by:
8*11fadcfaSAmbresh K  * Abhijit Pagare (abhijitpagare@ti.com)
9*11fadcfaSAmbresh K  * Benoit Cousson (b-cousson@ti.com)
10*11fadcfaSAmbresh K  * Paul Walmsley (paul@pwsan.com)
11*11fadcfaSAmbresh K  *
12*11fadcfaSAmbresh K  * This file is automatically generated from the OMAP hardware databases.
13*11fadcfaSAmbresh K  * We respectfully ask that any modifications to this file be coordinated
14*11fadcfaSAmbresh K  * with the public linux-omap@vger.kernel.org mailing list and the
15*11fadcfaSAmbresh K  * authors above to ensure that the autogeneration scripts are kept
16*11fadcfaSAmbresh K  * up-to-date with the file contents.
17*11fadcfaSAmbresh K  *
18*11fadcfaSAmbresh K  * This program is free software; you can redistribute it and/or modify
19*11fadcfaSAmbresh K  * it under the terms of the GNU General Public License version 2 as
20*11fadcfaSAmbresh K  * published by the Free Software Foundation.
21*11fadcfaSAmbresh K  */
22*11fadcfaSAmbresh K 
23*11fadcfaSAmbresh K #include <linux/kernel.h>
24*11fadcfaSAmbresh K #include <linux/io.h>
25*11fadcfaSAmbresh K 
26*11fadcfaSAmbresh K #include "clockdomain.h"
27*11fadcfaSAmbresh K #include "cm1_7xx.h"
28*11fadcfaSAmbresh K #include "cm2_7xx.h"
29*11fadcfaSAmbresh K 
30*11fadcfaSAmbresh K #include "cm-regbits-7xx.h"
31*11fadcfaSAmbresh K #include "prm7xx.h"
32*11fadcfaSAmbresh K #include "prcm44xx.h"
33*11fadcfaSAmbresh K #include "prcm_mpu7xx.h"
34*11fadcfaSAmbresh K 
35*11fadcfaSAmbresh K /* Static Dependencies for DRA7xx Clock Domains */
36*11fadcfaSAmbresh K 
37*11fadcfaSAmbresh K static struct clkdm_dep cam_wkup_sleep_deps[] = {
38*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
39*11fadcfaSAmbresh K 	{ NULL },
40*11fadcfaSAmbresh K };
41*11fadcfaSAmbresh K 
42*11fadcfaSAmbresh K static struct clkdm_dep dma_wkup_sleep_deps[] = {
43*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
44*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
45*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
46*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
47*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
48*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
49*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
50*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
51*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
52*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
53*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
54*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
55*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
56*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
57*11fadcfaSAmbresh K 	{ NULL },
58*11fadcfaSAmbresh K };
59*11fadcfaSAmbresh K 
60*11fadcfaSAmbresh K static struct clkdm_dep dsp1_wkup_sleep_deps[] = {
61*11fadcfaSAmbresh K 	{ .clkdm_name = "atl_clkdm" },
62*11fadcfaSAmbresh K 	{ .clkdm_name = "cam_clkdm" },
63*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
64*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
65*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
66*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
67*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
68*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
69*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
70*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
71*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
72*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
73*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
74*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
75*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
76*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
77*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
78*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
79*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
80*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
81*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
82*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
83*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
84*11fadcfaSAmbresh K 	{ NULL },
85*11fadcfaSAmbresh K };
86*11fadcfaSAmbresh K 
87*11fadcfaSAmbresh K static struct clkdm_dep dsp2_wkup_sleep_deps[] = {
88*11fadcfaSAmbresh K 	{ .clkdm_name = "atl_clkdm" },
89*11fadcfaSAmbresh K 	{ .clkdm_name = "cam_clkdm" },
90*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
91*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
92*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
93*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
94*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
95*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
96*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
97*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
98*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
99*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
100*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
101*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
102*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
103*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
104*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
105*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
106*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
107*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
108*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
109*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
110*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
111*11fadcfaSAmbresh K 	{ NULL },
112*11fadcfaSAmbresh K };
113*11fadcfaSAmbresh K 
114*11fadcfaSAmbresh K static struct clkdm_dep dss_wkup_sleep_deps[] = {
115*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
116*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
117*11fadcfaSAmbresh K 	{ NULL },
118*11fadcfaSAmbresh K };
119*11fadcfaSAmbresh K 
120*11fadcfaSAmbresh K static struct clkdm_dep eve1_wkup_sleep_deps[] = {
121*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
122*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
123*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
124*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
125*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
126*11fadcfaSAmbresh K 	{ NULL },
127*11fadcfaSAmbresh K };
128*11fadcfaSAmbresh K 
129*11fadcfaSAmbresh K static struct clkdm_dep eve2_wkup_sleep_deps[] = {
130*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
131*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
132*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
133*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
134*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
135*11fadcfaSAmbresh K 	{ NULL },
136*11fadcfaSAmbresh K };
137*11fadcfaSAmbresh K 
138*11fadcfaSAmbresh K static struct clkdm_dep eve3_wkup_sleep_deps[] = {
139*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
140*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
141*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
142*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
143*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
144*11fadcfaSAmbresh K 	{ NULL },
145*11fadcfaSAmbresh K };
146*11fadcfaSAmbresh K 
147*11fadcfaSAmbresh K static struct clkdm_dep eve4_wkup_sleep_deps[] = {
148*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
149*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
150*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
151*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
152*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
153*11fadcfaSAmbresh K 	{ NULL },
154*11fadcfaSAmbresh K };
155*11fadcfaSAmbresh K 
156*11fadcfaSAmbresh K static struct clkdm_dep gmac_wkup_sleep_deps[] = {
157*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
158*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
159*11fadcfaSAmbresh K 	{ NULL },
160*11fadcfaSAmbresh K };
161*11fadcfaSAmbresh K 
162*11fadcfaSAmbresh K static struct clkdm_dep gpu_wkup_sleep_deps[] = {
163*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
164*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
165*11fadcfaSAmbresh K 	{ NULL },
166*11fadcfaSAmbresh K };
167*11fadcfaSAmbresh K 
168*11fadcfaSAmbresh K static struct clkdm_dep ipu1_wkup_sleep_deps[] = {
169*11fadcfaSAmbresh K 	{ .clkdm_name = "atl_clkdm" },
170*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
171*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
172*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
173*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
174*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
175*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
176*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
177*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
178*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
179*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
180*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
181*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
182*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
183*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
184*11fadcfaSAmbresh K 	{ .clkdm_name = "l3main1_clkdm" },
185*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
186*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
187*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
188*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
189*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
190*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
191*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
192*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
193*11fadcfaSAmbresh K 	{ NULL },
194*11fadcfaSAmbresh K };
195*11fadcfaSAmbresh K 
196*11fadcfaSAmbresh K static struct clkdm_dep ipu2_wkup_sleep_deps[] = {
197*11fadcfaSAmbresh K 	{ .clkdm_name = "atl_clkdm" },
198*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
199*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
200*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
201*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
202*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
203*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
204*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
205*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
206*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
207*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
208*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
209*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
210*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
211*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
212*11fadcfaSAmbresh K 	{ .clkdm_name = "l3main1_clkdm" },
213*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
214*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
215*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
216*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
217*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
218*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
219*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
220*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
221*11fadcfaSAmbresh K 	{ NULL },
222*11fadcfaSAmbresh K };
223*11fadcfaSAmbresh K 
224*11fadcfaSAmbresh K static struct clkdm_dep iva_wkup_sleep_deps[] = {
225*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
226*11fadcfaSAmbresh K 	{ NULL },
227*11fadcfaSAmbresh K };
228*11fadcfaSAmbresh K 
229*11fadcfaSAmbresh K static struct clkdm_dep l3init_wkup_sleep_deps[] = {
230*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
231*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
232*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
233*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
234*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
235*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
236*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
237*11fadcfaSAmbresh K 	{ NULL },
238*11fadcfaSAmbresh K };
239*11fadcfaSAmbresh K 
240*11fadcfaSAmbresh K static struct clkdm_dep l4per2_wkup_sleep_deps[] = {
241*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
242*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
243*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
244*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
245*11fadcfaSAmbresh K 	{ NULL },
246*11fadcfaSAmbresh K };
247*11fadcfaSAmbresh K 
248*11fadcfaSAmbresh K static struct clkdm_dep l4sec_wkup_sleep_deps[] = {
249*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
250*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
251*11fadcfaSAmbresh K 	{ NULL },
252*11fadcfaSAmbresh K };
253*11fadcfaSAmbresh K 
254*11fadcfaSAmbresh K static struct clkdm_dep mpu_wkup_sleep_deps[] = {
255*11fadcfaSAmbresh K 	{ .clkdm_name = "cam_clkdm" },
256*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
257*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
258*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
259*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
260*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
261*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
262*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
263*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
264*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
265*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
266*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
267*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
268*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu2_clkdm" },
269*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
270*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
271*11fadcfaSAmbresh K 	{ .clkdm_name = "l3main1_clkdm" },
272*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
273*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
274*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
275*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
276*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
277*11fadcfaSAmbresh K 	{ .clkdm_name = "pcie_clkdm" },
278*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
279*11fadcfaSAmbresh K 	{ .clkdm_name = "wkupaon_clkdm" },
280*11fadcfaSAmbresh K 	{ NULL },
281*11fadcfaSAmbresh K };
282*11fadcfaSAmbresh K 
283*11fadcfaSAmbresh K static struct clkdm_dep pcie_wkup_sleep_deps[] = {
284*11fadcfaSAmbresh K 	{ .clkdm_name = "atl_clkdm" },
285*11fadcfaSAmbresh K 	{ .clkdm_name = "cam_clkdm" },
286*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp1_clkdm" },
287*11fadcfaSAmbresh K 	{ .clkdm_name = "dsp2_clkdm" },
288*11fadcfaSAmbresh K 	{ .clkdm_name = "dss_clkdm" },
289*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
290*11fadcfaSAmbresh K 	{ .clkdm_name = "eve1_clkdm" },
291*11fadcfaSAmbresh K 	{ .clkdm_name = "eve2_clkdm" },
292*11fadcfaSAmbresh K 	{ .clkdm_name = "eve3_clkdm" },
293*11fadcfaSAmbresh K 	{ .clkdm_name = "eve4_clkdm" },
294*11fadcfaSAmbresh K 	{ .clkdm_name = "gmac_clkdm" },
295*11fadcfaSAmbresh K 	{ .clkdm_name = "gpu_clkdm" },
296*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu_clkdm" },
297*11fadcfaSAmbresh K 	{ .clkdm_name = "ipu1_clkdm" },
298*11fadcfaSAmbresh K 	{ .clkdm_name = "iva_clkdm" },
299*11fadcfaSAmbresh K 	{ .clkdm_name = "l3init_clkdm" },
300*11fadcfaSAmbresh K 	{ .clkdm_name = "l4cfg_clkdm" },
301*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per_clkdm" },
302*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per2_clkdm" },
303*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
304*11fadcfaSAmbresh K 	{ .clkdm_name = "l4sec_clkdm" },
305*11fadcfaSAmbresh K 	{ .clkdm_name = "vpe_clkdm" },
306*11fadcfaSAmbresh K 	{ NULL },
307*11fadcfaSAmbresh K };
308*11fadcfaSAmbresh K 
309*11fadcfaSAmbresh K static struct clkdm_dep vpe_wkup_sleep_deps[] = {
310*11fadcfaSAmbresh K 	{ .clkdm_name = "emif_clkdm" },
311*11fadcfaSAmbresh K 	{ .clkdm_name = "l4per3_clkdm" },
312*11fadcfaSAmbresh K 	{ NULL },
313*11fadcfaSAmbresh K };
314*11fadcfaSAmbresh K 
315*11fadcfaSAmbresh K static struct clockdomain l4per3_7xx_clkdm = {
316*11fadcfaSAmbresh K 	.name		  = "l4per3_clkdm",
317*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l4per_pwrdm" },
318*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
319*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L4PER_INST,
320*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L4PER_L4PER3_CDOFFS,
321*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L4PER3_STATDEP_SHIFT,
322*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
323*11fadcfaSAmbresh K };
324*11fadcfaSAmbresh K 
325*11fadcfaSAmbresh K static struct clockdomain l4per2_7xx_clkdm = {
326*11fadcfaSAmbresh K 	.name		  = "l4per2_clkdm",
327*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l4per_pwrdm" },
328*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
329*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L4PER_INST,
330*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L4PER_L4PER2_CDOFFS,
331*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L4PER2_STATDEP_SHIFT,
332*11fadcfaSAmbresh K 	.wkdep_srcs	  = l4per2_wkup_sleep_deps,
333*11fadcfaSAmbresh K 	.sleepdep_srcs	  = l4per2_wkup_sleep_deps,
334*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
335*11fadcfaSAmbresh K };
336*11fadcfaSAmbresh K 
337*11fadcfaSAmbresh K static struct clockdomain mpu0_7xx_clkdm = {
338*11fadcfaSAmbresh K 	.name		  = "mpu0_clkdm",
339*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "cpu0_pwrdm" },
340*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_MPU_PRCM_PARTITION,
341*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_MPU_PRCM_CM_C0_INST,
342*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_MPU_PRCM_CM_C0_CPU0_CDOFFS,
343*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
344*11fadcfaSAmbresh K };
345*11fadcfaSAmbresh K 
346*11fadcfaSAmbresh K static struct clockdomain iva_7xx_clkdm = {
347*11fadcfaSAmbresh K 	.name		  = "iva_clkdm",
348*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "iva_pwrdm" },
349*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
350*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_IVA_INST,
351*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_IVA_IVA_CDOFFS,
352*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_IVA_STATDEP_SHIFT,
353*11fadcfaSAmbresh K 	.wkdep_srcs	  = iva_wkup_sleep_deps,
354*11fadcfaSAmbresh K 	.sleepdep_srcs	  = iva_wkup_sleep_deps,
355*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
356*11fadcfaSAmbresh K };
357*11fadcfaSAmbresh K 
358*11fadcfaSAmbresh K static struct clockdomain coreaon_7xx_clkdm = {
359*11fadcfaSAmbresh K 	.name		  = "coreaon_clkdm",
360*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "coreaon_pwrdm" },
361*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
362*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_COREAON_INST,
363*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_COREAON_COREAON_CDOFFS,
364*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
365*11fadcfaSAmbresh K };
366*11fadcfaSAmbresh K 
367*11fadcfaSAmbresh K static struct clockdomain ipu1_7xx_clkdm = {
368*11fadcfaSAmbresh K 	.name		  = "ipu1_clkdm",
369*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "ipu_pwrdm" },
370*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
371*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_IPU_INST,
372*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_IPU_IPU1_CDOFFS,
373*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_IPU1_STATDEP_SHIFT,
374*11fadcfaSAmbresh K 	.wkdep_srcs	  = ipu1_wkup_sleep_deps,
375*11fadcfaSAmbresh K 	.sleepdep_srcs	  = ipu1_wkup_sleep_deps,
376*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
377*11fadcfaSAmbresh K };
378*11fadcfaSAmbresh K 
379*11fadcfaSAmbresh K static struct clockdomain ipu2_7xx_clkdm = {
380*11fadcfaSAmbresh K 	.name		  = "ipu2_clkdm",
381*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
382*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
383*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
384*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_IPU2_CDOFFS,
385*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_IPU2_STATDEP_SHIFT,
386*11fadcfaSAmbresh K 	.wkdep_srcs	  = ipu2_wkup_sleep_deps,
387*11fadcfaSAmbresh K 	.sleepdep_srcs	  = ipu2_wkup_sleep_deps,
388*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
389*11fadcfaSAmbresh K };
390*11fadcfaSAmbresh K 
391*11fadcfaSAmbresh K static struct clockdomain l3init_7xx_clkdm = {
392*11fadcfaSAmbresh K 	.name		  = "l3init_clkdm",
393*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l3init_pwrdm" },
394*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
395*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L3INIT_INST,
396*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L3INIT_L3INIT_CDOFFS,
397*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L3INIT_STATDEP_SHIFT,
398*11fadcfaSAmbresh K 	.wkdep_srcs	  = l3init_wkup_sleep_deps,
399*11fadcfaSAmbresh K 	.sleepdep_srcs	  = l3init_wkup_sleep_deps,
400*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
401*11fadcfaSAmbresh K };
402*11fadcfaSAmbresh K 
403*11fadcfaSAmbresh K static struct clockdomain l4sec_7xx_clkdm = {
404*11fadcfaSAmbresh K 	.name		  = "l4sec_clkdm",
405*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l4per_pwrdm" },
406*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
407*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L4PER_INST,
408*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L4PER_L4SEC_CDOFFS,
409*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L4SEC_STATDEP_SHIFT,
410*11fadcfaSAmbresh K 	.wkdep_srcs	  = l4sec_wkup_sleep_deps,
411*11fadcfaSAmbresh K 	.sleepdep_srcs	  = l4sec_wkup_sleep_deps,
412*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
413*11fadcfaSAmbresh K };
414*11fadcfaSAmbresh K 
415*11fadcfaSAmbresh K static struct clockdomain l3main1_7xx_clkdm = {
416*11fadcfaSAmbresh K 	.name		  = "l3main1_clkdm",
417*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
418*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
419*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
420*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_L3MAIN1_CDOFFS,
421*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L3MAIN1_STATDEP_SHIFT,
422*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP,
423*11fadcfaSAmbresh K };
424*11fadcfaSAmbresh K 
425*11fadcfaSAmbresh K static struct clockdomain vpe_7xx_clkdm = {
426*11fadcfaSAmbresh K 	.name		  = "vpe_clkdm",
427*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "vpe_pwrdm" },
428*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
429*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_VPE_INST,
430*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_VPE_VPE_CDOFFS,
431*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_VPE_STATDEP_SHIFT,
432*11fadcfaSAmbresh K 	.wkdep_srcs	  = vpe_wkup_sleep_deps,
433*11fadcfaSAmbresh K 	.sleepdep_srcs	  = vpe_wkup_sleep_deps,
434*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
435*11fadcfaSAmbresh K };
436*11fadcfaSAmbresh K 
437*11fadcfaSAmbresh K static struct clockdomain mpu_7xx_clkdm = {
438*11fadcfaSAmbresh K 	.name		  = "mpu_clkdm",
439*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "mpu_pwrdm" },
440*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
441*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_MPU_INST,
442*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_MPU_MPU_CDOFFS,
443*11fadcfaSAmbresh K 	.wkdep_srcs	  = mpu_wkup_sleep_deps,
444*11fadcfaSAmbresh K 	.sleepdep_srcs	  = mpu_wkup_sleep_deps,
445*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
446*11fadcfaSAmbresh K };
447*11fadcfaSAmbresh K 
448*11fadcfaSAmbresh K static struct clockdomain custefuse_7xx_clkdm = {
449*11fadcfaSAmbresh K 	.name		  = "custefuse_clkdm",
450*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "custefuse_pwrdm" },
451*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
452*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CUSTEFUSE_INST,
453*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CUSTEFUSE_CUSTEFUSE_CDOFFS,
454*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
455*11fadcfaSAmbresh K };
456*11fadcfaSAmbresh K 
457*11fadcfaSAmbresh K static struct clockdomain ipu_7xx_clkdm = {
458*11fadcfaSAmbresh K 	.name		  = "ipu_clkdm",
459*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "ipu_pwrdm" },
460*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
461*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_IPU_INST,
462*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
463*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_IPU_STATDEP_SHIFT,
464*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
465*11fadcfaSAmbresh K };
466*11fadcfaSAmbresh K 
467*11fadcfaSAmbresh K static struct clockdomain mpu1_7xx_clkdm = {
468*11fadcfaSAmbresh K 	.name		  = "mpu1_clkdm",
469*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "cpu1_pwrdm" },
470*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_MPU_PRCM_PARTITION,
471*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_MPU_PRCM_CM_C1_INST,
472*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_MPU_PRCM_CM_C1_CPU1_CDOFFS,
473*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
474*11fadcfaSAmbresh K };
475*11fadcfaSAmbresh K 
476*11fadcfaSAmbresh K static struct clockdomain gmac_7xx_clkdm = {
477*11fadcfaSAmbresh K 	.name		  = "gmac_clkdm",
478*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l3init_pwrdm" },
479*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
480*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L3INIT_INST,
481*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L3INIT_GMAC_CDOFFS,
482*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_GMAC_STATDEP_SHIFT,
483*11fadcfaSAmbresh K 	.wkdep_srcs	  = gmac_wkup_sleep_deps,
484*11fadcfaSAmbresh K 	.sleepdep_srcs	  = gmac_wkup_sleep_deps,
485*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
486*11fadcfaSAmbresh K };
487*11fadcfaSAmbresh K 
488*11fadcfaSAmbresh K static struct clockdomain l4cfg_7xx_clkdm = {
489*11fadcfaSAmbresh K 	.name		  = "l4cfg_clkdm",
490*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
491*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
492*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
493*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_L4CFG_CDOFFS,
494*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L4CFG_STATDEP_SHIFT,
495*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP,
496*11fadcfaSAmbresh K };
497*11fadcfaSAmbresh K 
498*11fadcfaSAmbresh K static struct clockdomain dma_7xx_clkdm = {
499*11fadcfaSAmbresh K 	.name		  = "dma_clkdm",
500*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
501*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
502*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
503*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_DMA_CDOFFS,
504*11fadcfaSAmbresh K 	.wkdep_srcs	  = dma_wkup_sleep_deps,
505*11fadcfaSAmbresh K 	.sleepdep_srcs	  = dma_wkup_sleep_deps,
506*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
507*11fadcfaSAmbresh K };
508*11fadcfaSAmbresh K 
509*11fadcfaSAmbresh K static struct clockdomain rtc_7xx_clkdm = {
510*11fadcfaSAmbresh K 	.name		  = "rtc_clkdm",
511*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "rtc_pwrdm" },
512*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
513*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_RTC_INST,
514*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_RTC_RTC_CDOFFS,
515*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
516*11fadcfaSAmbresh K };
517*11fadcfaSAmbresh K 
518*11fadcfaSAmbresh K static struct clockdomain pcie_7xx_clkdm = {
519*11fadcfaSAmbresh K 	.name		  = "pcie_clkdm",
520*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l3init_pwrdm" },
521*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
522*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L3INIT_INST,
523*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L3INIT_PCIE_CDOFFS,
524*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_PCIE_STATDEP_SHIFT,
525*11fadcfaSAmbresh K 	.wkdep_srcs	  = pcie_wkup_sleep_deps,
526*11fadcfaSAmbresh K 	.sleepdep_srcs	  = pcie_wkup_sleep_deps,
527*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
528*11fadcfaSAmbresh K };
529*11fadcfaSAmbresh K 
530*11fadcfaSAmbresh K static struct clockdomain atl_7xx_clkdm = {
531*11fadcfaSAmbresh K 	.name		  = "atl_clkdm",
532*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
533*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
534*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
535*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_ATL_CDOFFS,
536*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_ATL_STATDEP_SHIFT,
537*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
538*11fadcfaSAmbresh K };
539*11fadcfaSAmbresh K 
540*11fadcfaSAmbresh K static struct clockdomain l3instr_7xx_clkdm = {
541*11fadcfaSAmbresh K 	.name		  = "l3instr_clkdm",
542*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
543*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
544*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
545*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_L3INSTR_CDOFFS,
546*11fadcfaSAmbresh K };
547*11fadcfaSAmbresh K 
548*11fadcfaSAmbresh K static struct clockdomain dss_7xx_clkdm = {
549*11fadcfaSAmbresh K 	.name		  = "dss_clkdm",
550*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "dss_pwrdm" },
551*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
552*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_DSS_INST,
553*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_DSS_DSS_CDOFFS,
554*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_DSS_STATDEP_SHIFT,
555*11fadcfaSAmbresh K 	.wkdep_srcs	  = dss_wkup_sleep_deps,
556*11fadcfaSAmbresh K 	.sleepdep_srcs	  = dss_wkup_sleep_deps,
557*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
558*11fadcfaSAmbresh K };
559*11fadcfaSAmbresh K 
560*11fadcfaSAmbresh K static struct clockdomain emif_7xx_clkdm = {
561*11fadcfaSAmbresh K 	.name		  = "emif_clkdm",
562*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "core_pwrdm" },
563*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
564*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CORE_INST,
565*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CORE_EMIF_CDOFFS,
566*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_EMIF_STATDEP_SHIFT,
567*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
568*11fadcfaSAmbresh K };
569*11fadcfaSAmbresh K 
570*11fadcfaSAmbresh K static struct clockdomain emu_7xx_clkdm = {
571*11fadcfaSAmbresh K 	.name		  = "emu_clkdm",
572*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "emu_pwrdm" },
573*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_PRM_PARTITION,
574*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_PRM_EMU_CM_INST,
575*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_PRM_EMU_CM_EMU_CDOFFS,
576*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
577*11fadcfaSAmbresh K };
578*11fadcfaSAmbresh K 
579*11fadcfaSAmbresh K static struct clockdomain dsp2_7xx_clkdm = {
580*11fadcfaSAmbresh K 	.name		  = "dsp2_clkdm",
581*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "dsp2_pwrdm" },
582*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
583*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_DSP2_INST,
584*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_DSP2_DSP2_CDOFFS,
585*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_DSP2_STATDEP_SHIFT,
586*11fadcfaSAmbresh K 	.wkdep_srcs	  = dsp2_wkup_sleep_deps,
587*11fadcfaSAmbresh K 	.sleepdep_srcs	  = dsp2_wkup_sleep_deps,
588*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
589*11fadcfaSAmbresh K };
590*11fadcfaSAmbresh K 
591*11fadcfaSAmbresh K static struct clockdomain dsp1_7xx_clkdm = {
592*11fadcfaSAmbresh K 	.name		  = "dsp1_clkdm",
593*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "dsp1_pwrdm" },
594*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
595*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_DSP1_INST,
596*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_DSP1_DSP1_CDOFFS,
597*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_DSP1_STATDEP_SHIFT,
598*11fadcfaSAmbresh K 	.wkdep_srcs	  = dsp1_wkup_sleep_deps,
599*11fadcfaSAmbresh K 	.sleepdep_srcs	  = dsp1_wkup_sleep_deps,
600*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
601*11fadcfaSAmbresh K };
602*11fadcfaSAmbresh K 
603*11fadcfaSAmbresh K static struct clockdomain cam_7xx_clkdm = {
604*11fadcfaSAmbresh K 	.name		  = "cam_clkdm",
605*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "cam_pwrdm" },
606*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
607*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_CAM_INST,
608*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_CAM_CAM_CDOFFS,
609*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_CAM_STATDEP_SHIFT,
610*11fadcfaSAmbresh K 	.wkdep_srcs	  = cam_wkup_sleep_deps,
611*11fadcfaSAmbresh K 	.sleepdep_srcs	  = cam_wkup_sleep_deps,
612*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
613*11fadcfaSAmbresh K };
614*11fadcfaSAmbresh K 
615*11fadcfaSAmbresh K static struct clockdomain l4per_7xx_clkdm = {
616*11fadcfaSAmbresh K 	.name		  = "l4per_clkdm",
617*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "l4per_pwrdm" },
618*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
619*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_L4PER_INST,
620*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_L4PER_L4PER_CDOFFS,
621*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_L4PER_STATDEP_SHIFT,
622*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
623*11fadcfaSAmbresh K };
624*11fadcfaSAmbresh K 
625*11fadcfaSAmbresh K static struct clockdomain gpu_7xx_clkdm = {
626*11fadcfaSAmbresh K 	.name		  = "gpu_clkdm",
627*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "gpu_pwrdm" },
628*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_PARTITION,
629*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_GPU_INST,
630*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_GPU_GPU_CDOFFS,
631*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_GPU_STATDEP_SHIFT,
632*11fadcfaSAmbresh K 	.wkdep_srcs	  = gpu_wkup_sleep_deps,
633*11fadcfaSAmbresh K 	.sleepdep_srcs	  = gpu_wkup_sleep_deps,
634*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
635*11fadcfaSAmbresh K };
636*11fadcfaSAmbresh K 
637*11fadcfaSAmbresh K static struct clockdomain eve4_7xx_clkdm = {
638*11fadcfaSAmbresh K 	.name		  = "eve4_clkdm",
639*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "eve4_pwrdm" },
640*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
641*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_EVE4_INST,
642*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_EVE4_EVE4_CDOFFS,
643*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_EVE4_STATDEP_SHIFT,
644*11fadcfaSAmbresh K 	.wkdep_srcs	  = eve4_wkup_sleep_deps,
645*11fadcfaSAmbresh K 	.sleepdep_srcs	  = eve4_wkup_sleep_deps,
646*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
647*11fadcfaSAmbresh K };
648*11fadcfaSAmbresh K 
649*11fadcfaSAmbresh K static struct clockdomain eve2_7xx_clkdm = {
650*11fadcfaSAmbresh K 	.name		  = "eve2_clkdm",
651*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "eve2_pwrdm" },
652*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
653*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_EVE2_INST,
654*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_EVE2_EVE2_CDOFFS,
655*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_EVE2_STATDEP_SHIFT,
656*11fadcfaSAmbresh K 	.wkdep_srcs	  = eve2_wkup_sleep_deps,
657*11fadcfaSAmbresh K 	.sleepdep_srcs	  = eve2_wkup_sleep_deps,
658*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
659*11fadcfaSAmbresh K };
660*11fadcfaSAmbresh K 
661*11fadcfaSAmbresh K static struct clockdomain eve3_7xx_clkdm = {
662*11fadcfaSAmbresh K 	.name		  = "eve3_clkdm",
663*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "eve3_pwrdm" },
664*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
665*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_EVE3_INST,
666*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_EVE3_EVE3_CDOFFS,
667*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_EVE3_STATDEP_SHIFT,
668*11fadcfaSAmbresh K 	.wkdep_srcs	  = eve3_wkup_sleep_deps,
669*11fadcfaSAmbresh K 	.sleepdep_srcs	  = eve3_wkup_sleep_deps,
670*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
671*11fadcfaSAmbresh K };
672*11fadcfaSAmbresh K 
673*11fadcfaSAmbresh K static struct clockdomain wkupaon_7xx_clkdm = {
674*11fadcfaSAmbresh K 	.name		  = "wkupaon_clkdm",
675*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "wkupaon_pwrdm" },
676*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_PRM_PARTITION,
677*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_PRM_WKUPAON_CM_INST,
678*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_PRM_WKUPAON_CM_WKUPAON_CDOFFS,
679*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_WKUPAON_STATDEP_SHIFT,
680*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
681*11fadcfaSAmbresh K };
682*11fadcfaSAmbresh K 
683*11fadcfaSAmbresh K static struct clockdomain eve1_7xx_clkdm = {
684*11fadcfaSAmbresh K 	.name		  = "eve1_clkdm",
685*11fadcfaSAmbresh K 	.pwrdm		  = { .name = "eve1_pwrdm" },
686*11fadcfaSAmbresh K 	.prcm_partition	  = DRA7XX_CM_CORE_AON_PARTITION,
687*11fadcfaSAmbresh K 	.cm_inst	  = DRA7XX_CM_CORE_AON_EVE1_INST,
688*11fadcfaSAmbresh K 	.clkdm_offs	  = DRA7XX_CM_CORE_AON_EVE1_EVE1_CDOFFS,
689*11fadcfaSAmbresh K 	.dep_bit	  = DRA7XX_EVE1_STATDEP_SHIFT,
690*11fadcfaSAmbresh K 	.wkdep_srcs	  = eve1_wkup_sleep_deps,
691*11fadcfaSAmbresh K 	.sleepdep_srcs	  = eve1_wkup_sleep_deps,
692*11fadcfaSAmbresh K 	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
693*11fadcfaSAmbresh K };
694*11fadcfaSAmbresh K 
695*11fadcfaSAmbresh K /* As clockdomains are added or removed above, this list must also be changed */
696*11fadcfaSAmbresh K static struct clockdomain *clockdomains_dra7xx[] __initdata = {
697*11fadcfaSAmbresh K 	&l4per3_7xx_clkdm,
698*11fadcfaSAmbresh K 	&l4per2_7xx_clkdm,
699*11fadcfaSAmbresh K 	&mpu0_7xx_clkdm,
700*11fadcfaSAmbresh K 	&iva_7xx_clkdm,
701*11fadcfaSAmbresh K 	&coreaon_7xx_clkdm,
702*11fadcfaSAmbresh K 	&ipu1_7xx_clkdm,
703*11fadcfaSAmbresh K 	&ipu2_7xx_clkdm,
704*11fadcfaSAmbresh K 	&l3init_7xx_clkdm,
705*11fadcfaSAmbresh K 	&l4sec_7xx_clkdm,
706*11fadcfaSAmbresh K 	&l3main1_7xx_clkdm,
707*11fadcfaSAmbresh K 	&vpe_7xx_clkdm,
708*11fadcfaSAmbresh K 	&mpu_7xx_clkdm,
709*11fadcfaSAmbresh K 	&custefuse_7xx_clkdm,
710*11fadcfaSAmbresh K 	&ipu_7xx_clkdm,
711*11fadcfaSAmbresh K 	&mpu1_7xx_clkdm,
712*11fadcfaSAmbresh K 	&gmac_7xx_clkdm,
713*11fadcfaSAmbresh K 	&l4cfg_7xx_clkdm,
714*11fadcfaSAmbresh K 	&dma_7xx_clkdm,
715*11fadcfaSAmbresh K 	&rtc_7xx_clkdm,
716*11fadcfaSAmbresh K 	&pcie_7xx_clkdm,
717*11fadcfaSAmbresh K 	&atl_7xx_clkdm,
718*11fadcfaSAmbresh K 	&l3instr_7xx_clkdm,
719*11fadcfaSAmbresh K 	&dss_7xx_clkdm,
720*11fadcfaSAmbresh K 	&emif_7xx_clkdm,
721*11fadcfaSAmbresh K 	&emu_7xx_clkdm,
722*11fadcfaSAmbresh K 	&dsp2_7xx_clkdm,
723*11fadcfaSAmbresh K 	&dsp1_7xx_clkdm,
724*11fadcfaSAmbresh K 	&cam_7xx_clkdm,
725*11fadcfaSAmbresh K 	&l4per_7xx_clkdm,
726*11fadcfaSAmbresh K 	&gpu_7xx_clkdm,
727*11fadcfaSAmbresh K 	&eve4_7xx_clkdm,
728*11fadcfaSAmbresh K 	&eve2_7xx_clkdm,
729*11fadcfaSAmbresh K 	&eve3_7xx_clkdm,
730*11fadcfaSAmbresh K 	&wkupaon_7xx_clkdm,
731*11fadcfaSAmbresh K 	&eve1_7xx_clkdm,
732*11fadcfaSAmbresh K 	NULL
733*11fadcfaSAmbresh K };
734*11fadcfaSAmbresh K 
735*11fadcfaSAmbresh K void __init dra7xx_clockdomains_init(void)
736*11fadcfaSAmbresh K {
737*11fadcfaSAmbresh K 	clkdm_register_platform_funcs(&omap4_clkdm_operations);
738*11fadcfaSAmbresh K 	clkdm_register_clkdms(clockdomains_dra7xx);
739*11fadcfaSAmbresh K 	clkdm_complete_init();
740*11fadcfaSAmbresh K }
741