xref: /rk3399_rockchip-uboot/arch/arm/mach-exynos/include/mach/dmc.h (revision 783983f323730540f861413dfbea6802c88afcf8)
1*77b55e8cSThomas Abraham #ifndef __DMC_H__
2*77b55e8cSThomas Abraham #define __DMC_H__
3*77b55e8cSThomas Abraham 
4*77b55e8cSThomas Abraham #ifndef __ASSEMBLY__
5*77b55e8cSThomas Abraham struct exynos4_dmc {
6*77b55e8cSThomas Abraham 	unsigned int concontrol;
7*77b55e8cSThomas Abraham 	unsigned int memcontrol;
8*77b55e8cSThomas Abraham 	unsigned int memconfig0;
9*77b55e8cSThomas Abraham 	unsigned int memconfig1;
10*77b55e8cSThomas Abraham 	unsigned int directcmd;
11*77b55e8cSThomas Abraham 	unsigned int prechconfig;
12*77b55e8cSThomas Abraham 	unsigned int phycontrol0;
13*77b55e8cSThomas Abraham 	unsigned int phycontrol1;
14*77b55e8cSThomas Abraham 	unsigned int phycontrol2;
15*77b55e8cSThomas Abraham 	unsigned int phycontrol3;
16*77b55e8cSThomas Abraham 	unsigned int pwrdnconfig;
17*77b55e8cSThomas Abraham 	unsigned char res1[0x4];
18*77b55e8cSThomas Abraham 	unsigned int timingref;
19*77b55e8cSThomas Abraham 	unsigned int timingrow;
20*77b55e8cSThomas Abraham 	unsigned int timingdata;
21*77b55e8cSThomas Abraham 	unsigned int timingpower;
22*77b55e8cSThomas Abraham 	unsigned int phystatus;
23*77b55e8cSThomas Abraham 	unsigned int phyzqcontrol;
24*77b55e8cSThomas Abraham 	unsigned int chip0status;
25*77b55e8cSThomas Abraham 	unsigned int chip1status;
26*77b55e8cSThomas Abraham 	unsigned int arefstatus;
27*77b55e8cSThomas Abraham 	unsigned int mrstatus;
28*77b55e8cSThomas Abraham 	unsigned int phytest0;
29*77b55e8cSThomas Abraham 	unsigned int phytest1;
30*77b55e8cSThomas Abraham 	unsigned int qoscontrol0;
31*77b55e8cSThomas Abraham 	unsigned int qosconfig0;
32*77b55e8cSThomas Abraham 	unsigned int qoscontrol1;
33*77b55e8cSThomas Abraham 	unsigned int qosconfig1;
34*77b55e8cSThomas Abraham 	unsigned int qoscontrol2;
35*77b55e8cSThomas Abraham 	unsigned int qosconfig2;
36*77b55e8cSThomas Abraham 	unsigned int qoscontrol3;
37*77b55e8cSThomas Abraham 	unsigned int qosconfig3;
38*77b55e8cSThomas Abraham 	unsigned int qoscontrol4;
39*77b55e8cSThomas Abraham 	unsigned int qosconfig4;
40*77b55e8cSThomas Abraham 	unsigned int qoscontrol5;
41*77b55e8cSThomas Abraham 	unsigned int qosconfig5;
42*77b55e8cSThomas Abraham 	unsigned int qoscontrol6;
43*77b55e8cSThomas Abraham 	unsigned int qosconfig6;
44*77b55e8cSThomas Abraham 	unsigned int qoscontrol7;
45*77b55e8cSThomas Abraham 	unsigned int qosconfig7;
46*77b55e8cSThomas Abraham 	unsigned int qoscontrol8;
47*77b55e8cSThomas Abraham 	unsigned int qosconfig8;
48*77b55e8cSThomas Abraham 	unsigned int qoscontrol9;
49*77b55e8cSThomas Abraham 	unsigned int qosconfig9;
50*77b55e8cSThomas Abraham 	unsigned int qoscontrol10;
51*77b55e8cSThomas Abraham 	unsigned int qosconfig10;
52*77b55e8cSThomas Abraham 	unsigned int qoscontrol11;
53*77b55e8cSThomas Abraham 	unsigned int qosconfig11;
54*77b55e8cSThomas Abraham 	unsigned int qoscontrol12;
55*77b55e8cSThomas Abraham 	unsigned int qosconfig12;
56*77b55e8cSThomas Abraham 	unsigned int qoscontrol13;
57*77b55e8cSThomas Abraham 	unsigned int qosconfig13;
58*77b55e8cSThomas Abraham 	unsigned int qoscontrol14;
59*77b55e8cSThomas Abraham 	unsigned int qosconfig14;
60*77b55e8cSThomas Abraham 	unsigned int qoscontrol15;
61*77b55e8cSThomas Abraham 	unsigned int qosconfig15;
62*77b55e8cSThomas Abraham 	unsigned int qostimeout0;
63*77b55e8cSThomas Abraham 	unsigned int qostimeout1;
64*77b55e8cSThomas Abraham 	unsigned char res2[0x8];
65*77b55e8cSThomas Abraham 	unsigned int ivcontrol;
66*77b55e8cSThomas Abraham 	unsigned char res3[0x8];
67*77b55e8cSThomas Abraham 	unsigned int perevconfig;
68*77b55e8cSThomas Abraham 	unsigned char res4[0xDF00];
69*77b55e8cSThomas Abraham 	unsigned int pmnc_ppc_a;
70*77b55e8cSThomas Abraham 	unsigned char res5[0xC];
71*77b55e8cSThomas Abraham 	unsigned int cntens_ppc_a;
72*77b55e8cSThomas Abraham 	unsigned char res6[0xC];
73*77b55e8cSThomas Abraham 	unsigned int cntenc_ppc_a;
74*77b55e8cSThomas Abraham 	unsigned char res7[0xC];
75*77b55e8cSThomas Abraham 	unsigned int intens_ppc_a;
76*77b55e8cSThomas Abraham 	unsigned char res8[0xC];
77*77b55e8cSThomas Abraham 	unsigned int intenc_ppc_a;
78*77b55e8cSThomas Abraham 	unsigned char res9[0xC];
79*77b55e8cSThomas Abraham 	unsigned int flag_ppc_a;
80*77b55e8cSThomas Abraham 	unsigned char res10[0xAC];
81*77b55e8cSThomas Abraham 	unsigned int ccnt_ppc_a;
82*77b55e8cSThomas Abraham 	unsigned char res11[0xC];
83*77b55e8cSThomas Abraham 	unsigned int pmcnt0_ppc_a;
84*77b55e8cSThomas Abraham 	unsigned char res12[0xC];
85*77b55e8cSThomas Abraham 	unsigned int pmcnt1_ppc_a;
86*77b55e8cSThomas Abraham 	unsigned char res13[0xC];
87*77b55e8cSThomas Abraham 	unsigned int pmcnt2_ppc_a;
88*77b55e8cSThomas Abraham 	unsigned char res14[0xC];
89*77b55e8cSThomas Abraham 	unsigned int pmcnt3_ppc_a;
90*77b55e8cSThomas Abraham 	unsigned char res15[0xEBC];
91*77b55e8cSThomas Abraham 	unsigned int pmnc_ppc_m;
92*77b55e8cSThomas Abraham 	unsigned char res16[0xC];
93*77b55e8cSThomas Abraham 	unsigned int cntens_ppc_m;
94*77b55e8cSThomas Abraham 	unsigned char res17[0xC];
95*77b55e8cSThomas Abraham 	unsigned int cntenc_ppc_m;
96*77b55e8cSThomas Abraham 	unsigned char res18[0xC];
97*77b55e8cSThomas Abraham 	unsigned int intens_ppc_m;
98*77b55e8cSThomas Abraham 	unsigned char res19[0xC];
99*77b55e8cSThomas Abraham 	unsigned int intenc_ppc_m;
100*77b55e8cSThomas Abraham 	unsigned char res20[0xC];
101*77b55e8cSThomas Abraham 	unsigned int flag_ppc_m;
102*77b55e8cSThomas Abraham 	unsigned char res21[0xAC];
103*77b55e8cSThomas Abraham 	unsigned int ccnt_ppc_m;
104*77b55e8cSThomas Abraham 	unsigned char res22[0xC];
105*77b55e8cSThomas Abraham 	unsigned int pmcnt0_ppc_m;
106*77b55e8cSThomas Abraham 	unsigned char res23[0xC];
107*77b55e8cSThomas Abraham 	unsigned int pmcnt1_ppc_m;
108*77b55e8cSThomas Abraham 	unsigned char res24[0xC];
109*77b55e8cSThomas Abraham 	unsigned int pmcnt2_ppc_m;
110*77b55e8cSThomas Abraham 	unsigned char res25[0xC];
111*77b55e8cSThomas Abraham 	unsigned int pmcnt3_ppc_m;
112*77b55e8cSThomas Abraham };
113*77b55e8cSThomas Abraham 
114*77b55e8cSThomas Abraham struct exynos5_dmc {
115*77b55e8cSThomas Abraham 	unsigned int concontrol;
116*77b55e8cSThomas Abraham 	unsigned int memcontrol;
117*77b55e8cSThomas Abraham 	unsigned int memconfig0;
118*77b55e8cSThomas Abraham 	unsigned int memconfig1;
119*77b55e8cSThomas Abraham 	unsigned int directcmd;
120*77b55e8cSThomas Abraham 	unsigned int prechconfig;
121*77b55e8cSThomas Abraham 	unsigned int phycontrol0;
122*77b55e8cSThomas Abraham 	unsigned char res1[0xc];
123*77b55e8cSThomas Abraham 	unsigned int pwrdnconfig;
124*77b55e8cSThomas Abraham 	unsigned int timingpzq;
125*77b55e8cSThomas Abraham 	unsigned int timingref;
126*77b55e8cSThomas Abraham 	unsigned int timingrow;
127*77b55e8cSThomas Abraham 	unsigned int timingdata;
128*77b55e8cSThomas Abraham 	unsigned int timingpower;
129*77b55e8cSThomas Abraham 	unsigned int phystatus;
130*77b55e8cSThomas Abraham 	unsigned char res2[0x4];
131*77b55e8cSThomas Abraham 	unsigned int chipstatus_ch0;
132*77b55e8cSThomas Abraham 	unsigned int chipstatus_ch1;
133*77b55e8cSThomas Abraham 	unsigned char res3[0x4];
134*77b55e8cSThomas Abraham 	unsigned int mrstatus;
135*77b55e8cSThomas Abraham 	unsigned char res4[0x8];
136*77b55e8cSThomas Abraham 	unsigned int qoscontrol0;
137*77b55e8cSThomas Abraham 	unsigned char resr5[0x4];
138*77b55e8cSThomas Abraham 	unsigned int qoscontrol1;
139*77b55e8cSThomas Abraham 	unsigned char res6[0x4];
140*77b55e8cSThomas Abraham 	unsigned int qoscontrol2;
141*77b55e8cSThomas Abraham 	unsigned char res7[0x4];
142*77b55e8cSThomas Abraham 	unsigned int qoscontrol3;
143*77b55e8cSThomas Abraham 	unsigned char res8[0x4];
144*77b55e8cSThomas Abraham 	unsigned int qoscontrol4;
145*77b55e8cSThomas Abraham 	unsigned char res9[0x4];
146*77b55e8cSThomas Abraham 	unsigned int qoscontrol5;
147*77b55e8cSThomas Abraham 	unsigned char res10[0x4];
148*77b55e8cSThomas Abraham 	unsigned int qoscontrol6;
149*77b55e8cSThomas Abraham 	unsigned char res11[0x4];
150*77b55e8cSThomas Abraham 	unsigned int qoscontrol7;
151*77b55e8cSThomas Abraham 	unsigned char res12[0x4];
152*77b55e8cSThomas Abraham 	unsigned int qoscontrol8;
153*77b55e8cSThomas Abraham 	unsigned char res13[0x4];
154*77b55e8cSThomas Abraham 	unsigned int qoscontrol9;
155*77b55e8cSThomas Abraham 	unsigned char res14[0x4];
156*77b55e8cSThomas Abraham 	unsigned int qoscontrol10;
157*77b55e8cSThomas Abraham 	unsigned char res15[0x4];
158*77b55e8cSThomas Abraham 	unsigned int qoscontrol11;
159*77b55e8cSThomas Abraham 	unsigned char res16[0x4];
160*77b55e8cSThomas Abraham 	unsigned int qoscontrol12;
161*77b55e8cSThomas Abraham 	unsigned char res17[0x4];
162*77b55e8cSThomas Abraham 	unsigned int qoscontrol13;
163*77b55e8cSThomas Abraham 	unsigned char res18[0x4];
164*77b55e8cSThomas Abraham 	unsigned int qoscontrol14;
165*77b55e8cSThomas Abraham 	unsigned char res19[0x4];
166*77b55e8cSThomas Abraham 	unsigned int qoscontrol15;
167*77b55e8cSThomas Abraham 	unsigned char res20[0x14];
168*77b55e8cSThomas Abraham 	unsigned int ivcontrol;
169*77b55e8cSThomas Abraham 	unsigned int wrtra_config;
170*77b55e8cSThomas Abraham 	unsigned int rdlvl_config;
171*77b55e8cSThomas Abraham 	unsigned char res21[0x8];
172*77b55e8cSThomas Abraham 	unsigned int brbrsvconfig;
173*77b55e8cSThomas Abraham 	unsigned int brbqosconfig;
174*77b55e8cSThomas Abraham 	unsigned int membaseconfig0;
175*77b55e8cSThomas Abraham 	unsigned int membaseconfig1;
176*77b55e8cSThomas Abraham 	unsigned char res22[0xc];
177*77b55e8cSThomas Abraham 	unsigned int wrlvl_config;
178*77b55e8cSThomas Abraham 	unsigned char res23[0xc];
179*77b55e8cSThomas Abraham 	unsigned int perevcontrol;
180*77b55e8cSThomas Abraham 	unsigned int perev0config;
181*77b55e8cSThomas Abraham 	unsigned int perev1config;
182*77b55e8cSThomas Abraham 	unsigned int perev2config;
183*77b55e8cSThomas Abraham 	unsigned int perev3config;
184*77b55e8cSThomas Abraham 	unsigned char res24[0xdebc];
185*77b55e8cSThomas Abraham 	unsigned int pmnc_ppc_a;
186*77b55e8cSThomas Abraham 	unsigned char res25[0xc];
187*77b55e8cSThomas Abraham 	unsigned int cntens_ppc_a;
188*77b55e8cSThomas Abraham 	unsigned char res26[0xc];
189*77b55e8cSThomas Abraham 	unsigned int cntenc_ppc_a;
190*77b55e8cSThomas Abraham 	unsigned char res27[0xc];
191*77b55e8cSThomas Abraham 	unsigned int intens_ppc_a;
192*77b55e8cSThomas Abraham 	unsigned char res28[0xc];
193*77b55e8cSThomas Abraham 	unsigned int intenc_ppc_a;
194*77b55e8cSThomas Abraham 	unsigned char res29[0xc];
195*77b55e8cSThomas Abraham 	unsigned int flag_ppc_a;
196*77b55e8cSThomas Abraham 	unsigned char res30[0xac];
197*77b55e8cSThomas Abraham 	unsigned int ccnt_ppc_a;
198*77b55e8cSThomas Abraham 	unsigned char res31[0xc];
199*77b55e8cSThomas Abraham 	unsigned int pmcnt0_ppc_a;
200*77b55e8cSThomas Abraham 	unsigned char res32[0xc];
201*77b55e8cSThomas Abraham 	unsigned int pmcnt1_ppc_a;
202*77b55e8cSThomas Abraham 	unsigned char res33[0xc];
203*77b55e8cSThomas Abraham 	unsigned int pmcnt2_ppc_a;
204*77b55e8cSThomas Abraham 	unsigned char res34[0xc];
205*77b55e8cSThomas Abraham 	unsigned int pmcnt3_ppc_a;
206*77b55e8cSThomas Abraham };
207*77b55e8cSThomas Abraham 
208*77b55e8cSThomas Abraham struct exynos5420_dmc {
209*77b55e8cSThomas Abraham 	unsigned int concontrol;
210*77b55e8cSThomas Abraham 	unsigned int memcontrol;
211*77b55e8cSThomas Abraham 	unsigned int cgcontrol;
212*77b55e8cSThomas Abraham 	unsigned char res500[0x4];
213*77b55e8cSThomas Abraham 	unsigned int directcmd;
214*77b55e8cSThomas Abraham 	unsigned int prechconfig0;
215*77b55e8cSThomas Abraham 	unsigned int phycontrol0;
216*77b55e8cSThomas Abraham 	unsigned int prechconfig1;
217*77b55e8cSThomas Abraham 	unsigned char res1[0x8];
218*77b55e8cSThomas Abraham 	unsigned int pwrdnconfig;
219*77b55e8cSThomas Abraham 	unsigned int timingpzq;
220*77b55e8cSThomas Abraham 	unsigned int timingref;
221*77b55e8cSThomas Abraham 	unsigned int timingrow0;
222*77b55e8cSThomas Abraham 	unsigned int timingdata0;
223*77b55e8cSThomas Abraham 	unsigned int timingpower0;
224*77b55e8cSThomas Abraham 	unsigned int phystatus;
225*77b55e8cSThomas Abraham 	unsigned int etctiming;
226*77b55e8cSThomas Abraham 	unsigned int chipstatus;
227*77b55e8cSThomas Abraham 	unsigned char res3[0x8];
228*77b55e8cSThomas Abraham 	unsigned int mrstatus;
229*77b55e8cSThomas Abraham 	unsigned char res4[0x8];
230*77b55e8cSThomas Abraham 	unsigned int qoscontrol0;
231*77b55e8cSThomas Abraham 	unsigned char resr5[0x4];
232*77b55e8cSThomas Abraham 	unsigned int qoscontrol1;
233*77b55e8cSThomas Abraham 	unsigned char res6[0x4];
234*77b55e8cSThomas Abraham 	unsigned int qoscontrol2;
235*77b55e8cSThomas Abraham 	unsigned char res7[0x4];
236*77b55e8cSThomas Abraham 	unsigned int qoscontrol3;
237*77b55e8cSThomas Abraham 	unsigned char res8[0x4];
238*77b55e8cSThomas Abraham 	unsigned int qoscontrol4;
239*77b55e8cSThomas Abraham 	unsigned char res9[0x4];
240*77b55e8cSThomas Abraham 	unsigned int qoscontrol5;
241*77b55e8cSThomas Abraham 	unsigned char res10[0x4];
242*77b55e8cSThomas Abraham 	unsigned int qoscontrol6;
243*77b55e8cSThomas Abraham 	unsigned char res11[0x4];
244*77b55e8cSThomas Abraham 	unsigned int qoscontrol7;
245*77b55e8cSThomas Abraham 	unsigned char res12[0x4];
246*77b55e8cSThomas Abraham 	unsigned int qoscontrol8;
247*77b55e8cSThomas Abraham 	unsigned char res13[0x4];
248*77b55e8cSThomas Abraham 	unsigned int qoscontrol9;
249*77b55e8cSThomas Abraham 	unsigned char res14[0x4];
250*77b55e8cSThomas Abraham 	unsigned int qoscontrol10;
251*77b55e8cSThomas Abraham 	unsigned char res15[0x4];
252*77b55e8cSThomas Abraham 	unsigned int qoscontrol11;
253*77b55e8cSThomas Abraham 	unsigned char res16[0x4];
254*77b55e8cSThomas Abraham 	unsigned int qoscontrol12;
255*77b55e8cSThomas Abraham 	unsigned char res17[0x4];
256*77b55e8cSThomas Abraham 	unsigned int qoscontrol13;
257*77b55e8cSThomas Abraham 	unsigned char res18[0x4];
258*77b55e8cSThomas Abraham 	unsigned int qoscontrol14;
259*77b55e8cSThomas Abraham 	unsigned char res19[0x4];
260*77b55e8cSThomas Abraham 	unsigned int qoscontrol15;
261*77b55e8cSThomas Abraham 	unsigned char res20[0x4];
262*77b55e8cSThomas Abraham 	unsigned int timing_set_sw;
263*77b55e8cSThomas Abraham 	unsigned int timingrow1;
264*77b55e8cSThomas Abraham 	unsigned int timingdata1;
265*77b55e8cSThomas Abraham 	unsigned int timingpower1;
266*77b55e8cSThomas Abraham 	unsigned char res300[0x4];
267*77b55e8cSThomas Abraham 	unsigned int wrtra_config;
268*77b55e8cSThomas Abraham 	unsigned int rdlvl_config;
269*77b55e8cSThomas Abraham 	unsigned char res21[0x4];
270*77b55e8cSThomas Abraham 	unsigned int brbrsvcontrol;
271*77b55e8cSThomas Abraham 	unsigned int brbrsvconfig;
272*77b55e8cSThomas Abraham 	unsigned int brbqosconfig;
273*77b55e8cSThomas Abraham 	unsigned char res301[0x14];
274*77b55e8cSThomas Abraham 	unsigned int wrlvl_config0;
275*77b55e8cSThomas Abraham 	unsigned int wrlvl_config1;
276*77b55e8cSThomas Abraham 	unsigned int wrlvl_status;
277*77b55e8cSThomas Abraham 	unsigned char res23[0x4];
278*77b55e8cSThomas Abraham 	unsigned int ppcclockon;
279*77b55e8cSThomas Abraham 	unsigned int perevconfig0;
280*77b55e8cSThomas Abraham 	unsigned int perevconfig1;
281*77b55e8cSThomas Abraham 	unsigned int perevconfig2;
282*77b55e8cSThomas Abraham 	unsigned int perevconfig3;
283*77b55e8cSThomas Abraham 	unsigned char res24[0xc];
284*77b55e8cSThomas Abraham 	unsigned int control_io_rdata;
285*77b55e8cSThomas Abraham 	unsigned char res240[0xc];
286*77b55e8cSThomas Abraham 	unsigned int cacal_config0;
287*77b55e8cSThomas Abraham 	unsigned int cacal_config1;
288*77b55e8cSThomas Abraham 	unsigned int cacal_status;
289*77b55e8cSThomas Abraham 	unsigned char res302[0xa4];
290*77b55e8cSThomas Abraham 	unsigned int bp_control0;
291*77b55e8cSThomas Abraham 	unsigned int bp_config0_r;
292*77b55e8cSThomas Abraham 	unsigned int bp_config0_w;
293*77b55e8cSThomas Abraham 	unsigned char res303[0x4];
294*77b55e8cSThomas Abraham 	unsigned int bp_control1;
295*77b55e8cSThomas Abraham 	unsigned int bp_config1_r;
296*77b55e8cSThomas Abraham 	unsigned int bp_config1_w;
297*77b55e8cSThomas Abraham 	unsigned char res304[0x4];
298*77b55e8cSThomas Abraham 	unsigned int bp_control2;
299*77b55e8cSThomas Abraham 	unsigned int bp_config2_r;
300*77b55e8cSThomas Abraham 	unsigned int bp_config2_w;
301*77b55e8cSThomas Abraham 	unsigned char res305[0x4];
302*77b55e8cSThomas Abraham 	unsigned int bp_control3;
303*77b55e8cSThomas Abraham 	unsigned int bp_config3_r;
304*77b55e8cSThomas Abraham 	unsigned int bp_config3_w;
305*77b55e8cSThomas Abraham 	unsigned char res306[0xddb4];
306*77b55e8cSThomas Abraham 	unsigned int pmnc_ppc;
307*77b55e8cSThomas Abraham 	unsigned char res25[0xc];
308*77b55e8cSThomas Abraham 	unsigned int cntens_ppc;
309*77b55e8cSThomas Abraham 	unsigned char res26[0xc];
310*77b55e8cSThomas Abraham 	unsigned int cntenc_ppc;
311*77b55e8cSThomas Abraham 	unsigned char res27[0xc];
312*77b55e8cSThomas Abraham 	unsigned int intens_ppc;
313*77b55e8cSThomas Abraham 	unsigned char res28[0xc];
314*77b55e8cSThomas Abraham 	unsigned int intenc_ppc;
315*77b55e8cSThomas Abraham 	unsigned char res29[0xc];
316*77b55e8cSThomas Abraham 	unsigned int flag_ppc;
317*77b55e8cSThomas Abraham 	unsigned char res30[0xac];
318*77b55e8cSThomas Abraham 	unsigned int ccnt_ppc;
319*77b55e8cSThomas Abraham 	unsigned char res31[0xc];
320*77b55e8cSThomas Abraham 	unsigned int pmcnt0_ppc;
321*77b55e8cSThomas Abraham 	unsigned char res32[0xc];
322*77b55e8cSThomas Abraham 	unsigned int pmcnt1_ppc;
323*77b55e8cSThomas Abraham 	unsigned char res33[0xc];
324*77b55e8cSThomas Abraham 	unsigned int pmcnt2_ppc;
325*77b55e8cSThomas Abraham 	unsigned char res34[0xc];
326*77b55e8cSThomas Abraham 	unsigned int pmcnt3_ppc;
327*77b55e8cSThomas Abraham };
328*77b55e8cSThomas Abraham 
329*77b55e8cSThomas Abraham struct exynos5_phy_control {
330*77b55e8cSThomas Abraham 	unsigned int phy_con0;
331*77b55e8cSThomas Abraham 	unsigned int phy_con1;
332*77b55e8cSThomas Abraham 	unsigned int phy_con2;
333*77b55e8cSThomas Abraham 	unsigned int phy_con3;
334*77b55e8cSThomas Abraham 	unsigned int phy_con4;
335*77b55e8cSThomas Abraham 	unsigned char res1[4];
336*77b55e8cSThomas Abraham 	unsigned int phy_con6;
337*77b55e8cSThomas Abraham 	unsigned char res2[4];
338*77b55e8cSThomas Abraham 	unsigned int phy_con8;
339*77b55e8cSThomas Abraham 	unsigned int phy_con9;
340*77b55e8cSThomas Abraham 	unsigned int phy_con10;
341*77b55e8cSThomas Abraham 	unsigned char res3[4];
342*77b55e8cSThomas Abraham 	unsigned int phy_con12;
343*77b55e8cSThomas Abraham 	unsigned int phy_con13;
344*77b55e8cSThomas Abraham 	unsigned int phy_con14;
345*77b55e8cSThomas Abraham 	unsigned int phy_con15;
346*77b55e8cSThomas Abraham 	unsigned int phy_con16;
347*77b55e8cSThomas Abraham 	unsigned char res4[4];
348*77b55e8cSThomas Abraham 	unsigned int phy_con17;
349*77b55e8cSThomas Abraham 	unsigned int phy_con18;
350*77b55e8cSThomas Abraham 	unsigned int phy_con19;
351*77b55e8cSThomas Abraham 	unsigned int phy_con20;
352*77b55e8cSThomas Abraham 	unsigned int phy_con21;
353*77b55e8cSThomas Abraham 	unsigned int phy_con22;
354*77b55e8cSThomas Abraham 	unsigned int phy_con23;
355*77b55e8cSThomas Abraham 	unsigned int phy_con24;
356*77b55e8cSThomas Abraham 	unsigned int phy_con25;
357*77b55e8cSThomas Abraham 	unsigned int phy_con26;
358*77b55e8cSThomas Abraham 	unsigned int phy_con27;
359*77b55e8cSThomas Abraham 	unsigned int phy_con28;
360*77b55e8cSThomas Abraham 	unsigned int phy_con29;
361*77b55e8cSThomas Abraham 	unsigned int phy_con30;
362*77b55e8cSThomas Abraham 	unsigned int phy_con31;
363*77b55e8cSThomas Abraham 	unsigned int phy_con32;
364*77b55e8cSThomas Abraham 	unsigned int phy_con33;
365*77b55e8cSThomas Abraham 	unsigned int phy_con34;
366*77b55e8cSThomas Abraham 	unsigned int phy_con35;
367*77b55e8cSThomas Abraham 	unsigned int phy_con36;
368*77b55e8cSThomas Abraham 	unsigned int phy_con37;
369*77b55e8cSThomas Abraham 	unsigned int phy_con38;
370*77b55e8cSThomas Abraham 	unsigned int phy_con39;
371*77b55e8cSThomas Abraham 	unsigned int phy_con40;
372*77b55e8cSThomas Abraham 	unsigned int phy_con41;
373*77b55e8cSThomas Abraham 	unsigned int phy_con42;
374*77b55e8cSThomas Abraham };
375*77b55e8cSThomas Abraham 
376*77b55e8cSThomas Abraham struct exynos5420_phy_control {
377*77b55e8cSThomas Abraham 	unsigned int phy_con0;
378*77b55e8cSThomas Abraham 	unsigned int phy_con1;
379*77b55e8cSThomas Abraham 	unsigned int phy_con2;
380*77b55e8cSThomas Abraham 	unsigned int phy_con3;
381*77b55e8cSThomas Abraham 	unsigned int phy_con4;
382*77b55e8cSThomas Abraham 	unsigned int phy_con5;
383*77b55e8cSThomas Abraham 	unsigned int phy_con6;
384*77b55e8cSThomas Abraham 	unsigned char res2[0x4];
385*77b55e8cSThomas Abraham 	unsigned int phy_con8;
386*77b55e8cSThomas Abraham 	unsigned char res5[0x4];
387*77b55e8cSThomas Abraham 	unsigned int phy_con10;
388*77b55e8cSThomas Abraham 	unsigned int phy_con11;
389*77b55e8cSThomas Abraham 	unsigned int phy_con12;
390*77b55e8cSThomas Abraham 	unsigned int phy_con13;
391*77b55e8cSThomas Abraham 	unsigned int phy_con14;
392*77b55e8cSThomas Abraham 	unsigned int phy_con15;
393*77b55e8cSThomas Abraham 	unsigned int phy_con16;
394*77b55e8cSThomas Abraham 	unsigned char res4[0x4];
395*77b55e8cSThomas Abraham 	unsigned int phy_con17;
396*77b55e8cSThomas Abraham 	unsigned int phy_con18;
397*77b55e8cSThomas Abraham 	unsigned int phy_con19;
398*77b55e8cSThomas Abraham 	unsigned int phy_con20;
399*77b55e8cSThomas Abraham 	unsigned int phy_con21;
400*77b55e8cSThomas Abraham 	unsigned int phy_con22;
401*77b55e8cSThomas Abraham 	unsigned int phy_con23;
402*77b55e8cSThomas Abraham 	unsigned int phy_con24;
403*77b55e8cSThomas Abraham 	unsigned int phy_con25;
404*77b55e8cSThomas Abraham 	unsigned int phy_con26;
405*77b55e8cSThomas Abraham 	unsigned int phy_con27;
406*77b55e8cSThomas Abraham 	unsigned int phy_con28;
407*77b55e8cSThomas Abraham 	unsigned int phy_con29;
408*77b55e8cSThomas Abraham 	unsigned int phy_con30;
409*77b55e8cSThomas Abraham 	unsigned int phy_con31;
410*77b55e8cSThomas Abraham 	unsigned int phy_con32;
411*77b55e8cSThomas Abraham 	unsigned int phy_con33;
412*77b55e8cSThomas Abraham 	unsigned int phy_con34;
413*77b55e8cSThomas Abraham 	unsigned char res6[0x8];
414*77b55e8cSThomas Abraham 	unsigned int phy_con37;
415*77b55e8cSThomas Abraham 	unsigned char res7[0x4];
416*77b55e8cSThomas Abraham 	unsigned int phy_con39;
417*77b55e8cSThomas Abraham 	unsigned int phy_con40;
418*77b55e8cSThomas Abraham 	unsigned int phy_con41;
419*77b55e8cSThomas Abraham 	unsigned int phy_con42;
420*77b55e8cSThomas Abraham };
421*77b55e8cSThomas Abraham 
422*77b55e8cSThomas Abraham struct exynos5420_tzasc {
423*77b55e8cSThomas Abraham 	unsigned char res1[0xf00];
424*77b55e8cSThomas Abraham 	unsigned int membaseconfig0;
425*77b55e8cSThomas Abraham 	unsigned int membaseconfig1;
426*77b55e8cSThomas Abraham 	unsigned char res2[0x8];
427*77b55e8cSThomas Abraham 	unsigned int memconfig0;
428*77b55e8cSThomas Abraham 	unsigned int memconfig1;
429*77b55e8cSThomas Abraham };
430*77b55e8cSThomas Abraham 
431*77b55e8cSThomas Abraham enum ddr_mode {
432*77b55e8cSThomas Abraham 	DDR_MODE_DDR2,
433*77b55e8cSThomas Abraham 	DDR_MODE_DDR3,
434*77b55e8cSThomas Abraham 	DDR_MODE_LPDDR2,
435*77b55e8cSThomas Abraham 	DDR_MODE_LPDDR3,
436*77b55e8cSThomas Abraham 
437*77b55e8cSThomas Abraham 	DDR_MODE_COUNT,
438*77b55e8cSThomas Abraham };
439*77b55e8cSThomas Abraham 
440*77b55e8cSThomas Abraham enum mem_manuf {
441*77b55e8cSThomas Abraham 	MEM_MANUF_AUTODETECT,
442*77b55e8cSThomas Abraham 	MEM_MANUF_ELPIDA,
443*77b55e8cSThomas Abraham 	MEM_MANUF_SAMSUNG,
444*77b55e8cSThomas Abraham 
445*77b55e8cSThomas Abraham 	MEM_MANUF_COUNT,
446*77b55e8cSThomas Abraham };
447*77b55e8cSThomas Abraham 
448*77b55e8cSThomas Abraham /* CONCONTROL register fields */
449*77b55e8cSThomas Abraham #define CONCONTROL_DFI_INIT_START_SHIFT	28
450*77b55e8cSThomas Abraham #define CONCONTROL_RD_FETCH_SHIFT	12
451*77b55e8cSThomas Abraham #define CONCONTROL_RD_FETCH_MASK	(0x7 << CONCONTROL_RD_FETCH_SHIFT)
452*77b55e8cSThomas Abraham #define CONCONTROL_AREF_EN_SHIFT	5
453*77b55e8cSThomas Abraham #define CONCONTROL_UPDATE_MODE		(1 << 3)
454*77b55e8cSThomas Abraham 
455*77b55e8cSThomas Abraham /* PRECHCONFIG register field */
456*77b55e8cSThomas Abraham #define PRECHCONFIG_TP_CNT_SHIFT	24
457*77b55e8cSThomas Abraham 
458*77b55e8cSThomas Abraham /* PWRDNCONFIG register field */
459*77b55e8cSThomas Abraham #define PWRDNCONFIG_DPWRDN_CYC_SHIFT	0
460*77b55e8cSThomas Abraham #define PWRDNCONFIG_DSREF_CYC_SHIFT	16
461*77b55e8cSThomas Abraham 
462*77b55e8cSThomas Abraham /* PHY_CON0 register fields */
463*77b55e8cSThomas Abraham #define PHY_CON0_T_WRRDCMD_SHIFT	17
464*77b55e8cSThomas Abraham #define PHY_CON0_T_WRRDCMD_MASK		(0x7 << PHY_CON0_T_WRRDCMD_SHIFT)
465*77b55e8cSThomas Abraham #define PHY_CON0_CTRL_DDR_MODE_SHIFT	11
466*77b55e8cSThomas Abraham #define PHY_CON0_CTRL_DDR_MODE_MASK	0x3
467*77b55e8cSThomas Abraham 
468*77b55e8cSThomas Abraham /* PHY_CON1 register fields */
469*77b55e8cSThomas Abraham #define PHY_CON1_RDLVL_RDDATA_ADJ_SHIFT	0
470*77b55e8cSThomas Abraham 
471*77b55e8cSThomas Abraham /* PHY_CON4 rgister fields */
472*77b55e8cSThomas Abraham #define PHY_CON10_CTRL_OFFSETR3		(1 << 24)
473*77b55e8cSThomas Abraham 
474*77b55e8cSThomas Abraham /* PHY_CON12 register fields */
475*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_POINT_SHIFT	24
476*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_INC_SHIFT	16
477*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_FORCE_SHIFT	8
478*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_SHIFT	6
479*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_START_MASK	(1 << PHY_CON12_CTRL_START_SHIFT)
480*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_DLL_ON_SHIFT	5
481*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_DLL_ON_MASK	(1 << PHY_CON12_CTRL_DLL_ON_SHIFT)
482*77b55e8cSThomas Abraham #define PHY_CON12_CTRL_REF_SHIFT	1
483*77b55e8cSThomas Abraham 
484*77b55e8cSThomas Abraham /* PHY_CON16 register fields */
485*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_DDS_SHIFT	24
486*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_DDS_MASK	(0x7 << PHY_CON16_ZQ_MODE_DDS_SHIFT)
487*77b55e8cSThomas Abraham 
488*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_TERM_SHIFT 21
489*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_TERM_MASK	(0x7 << PHY_CON16_ZQ_MODE_TERM_SHIFT)
490*77b55e8cSThomas Abraham 
491*77b55e8cSThomas Abraham #define PHY_CON16_ZQ_MODE_NOTERM_MASK	(1 << 19)
492*77b55e8cSThomas Abraham 
493*77b55e8cSThomas Abraham /* PHY_CON42 register fields */
494*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_BSTLEN_SHIFT	8
495*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_BSTLEN_MASK	(0xff << PHY_CON42_CTRL_BSTLEN_SHIFT)
496*77b55e8cSThomas Abraham 
497*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_RDLAT_SHIFT	0
498*77b55e8cSThomas Abraham #define PHY_CON42_CTRL_RDLAT_MASK	(0x1f << PHY_CON42_CTRL_RDLAT_SHIFT)
499*77b55e8cSThomas Abraham 
500*77b55e8cSThomas Abraham #endif
501*77b55e8cSThomas Abraham #endif
502