~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/arch/arm/include/asm/arch-exynos/dmc.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

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