coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
dramc_register.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _DRAMC_REGISTER_H_
4 #define _DRAMC_REGISTER_H_
5 
6 #include <types.h>
7 
8 #define DRIVING_DS2_0 7 /* DS[2:0] 7->6 */
9 #define DEFAULT_DRIVING 0x99009900
10 
11 enum {
12  /* CONF2 = 0x008 */
16  /* PADCTL1 = 0x00c */
19  /* PADCTL2 = 0x010 */
20  MASK_PADCTL2_16BIT = 0x000000ff,
21  MASK_PADCTL2_32BIT = 0x0000ffff,
22  MASK_PADCTL2 = 0xffff0000,
24  /* TEST2_3 = 0x044 */
29  /* TEST2_4 = 0x048 */
37  /* DDR2CTL = 0x07c */
40  /* MISC = 0x80 */
43  /* MRS = 0x088 */
44  MASK_MR2_OP = 0x00800000,
45  /* R0 R1 DQSIEN = 0x094 */
50  /* MCKDLY = 0x0d8 */
55  /* DQSCTL1 = 0x0e0 */
58  /* PADCTL4 = 0x0e4 */
61  /* PHYCTL1 = 0x0f0 */
64  /* GDDR3CTL1 = 0x0f4 */
68  /* RKCFG = 0x110 */
72  /* DQSCTL2 = 0x118 */
74  /* DQSGCTL = 0x124 */
76  /* PHYCLKDUTY = 0x148 */
80  /* CMDDLY0 = 0x1a8 */
85  /* CMDDLY1 = 0x1ac */
87  /* CMDDLY3 = 0x1b4 */
91  /* CMDDLY4 = 0x1b8 */
96  /* CMDDLY5 = 0x1bc */
99  /* DQSCAL0 = 0x1c0 */
102  /* DQSCAL1 = 0x1c4 */
104  /* IMPCAL = 0x1c8 */
113  /* JMETER for PLL2, PLL3, PLL4 */
117  /* SPCMD = 0x1e4 */
121  /* JMETER for PLL2/3/4 ST */
124  /* TESTRPT = 0x3fc */
127  /* SELPH2 = 0x404 */
130  /* SELPH5 = 0x410 */
133  /* SELPH6_1 = 0x418 */
138  /* MEMPLL_S14 = 0x638 */
139  MASK_MEMPLL_DL = 0xc0ffffff,
144  /* MEMPLL_DIVIDER = 0x640 */
145  MEMCLKENB_SHIFT = 5
146 };
147 
149  uint32_t actim0; /* 0x0 */
150  uint32_t conf1; /* 0x4 */
151  uint32_t conf2; /* 0x8 */
152  uint32_t rsvd_ao1[3]; /* 0xc */
153  uint32_t r0deldly; /* 0x18 */
154  uint32_t r1deldly; /* 0x1c */
155  uint32_t r0difdly; /* 0x20 */
156  uint32_t r1difdly; /* 0x24 */
157  uint32_t dllconf; /* 0x28 */
158  uint32_t rsvd_ao2[6]; /* 0x2c */
159  uint32_t test2_3; /* 0x44 */
160  uint32_t test2_4; /* 0x48 */
161  uint32_t catraining; /* 0x4c */
162  uint32_t catraining2; /* 0x50 */
163  uint32_t wodt; /* 0x54 */
164  uint32_t rsvd_ao3[9]; /* 0x58 */
165  uint32_t ddr2ctl; /* 0x7c */
166  uint32_t misc; /* 0x80 */
167  uint32_t zqcs; /* 0x84 */
168  uint32_t mrs; /* 0x88 */
169  uint32_t clk1delay; /* 0x8c */
170  uint32_t rsvd_ao4[1]; /* 0x90 */
171  uint32_t dqsien[2]; /* 0x94 */
172  uint32_t rsvd_ao5[2]; /* 0x9c */
173  uint32_t iodrv1; /* 0xa4 */
174  uint32_t iodrv2; /* 0xa8 */
175  uint32_t iodrv3; /* 0xac */
176  uint32_t iodrv4; /* 0xb0 */
177  uint32_t iodrv5; /* 0xb4 */
178  uint32_t iodrv6; /* 0xb8 */
179  uint32_t drvctl1; /* 0xbc */
180  uint32_t dllsel; /* 0xc0 */
181  uint32_t rsvd_ao7[5]; /* 0xc4 */
182  uint32_t mckdly; /* 0xd8 */
183  uint32_t rsvd_ao8[1]; /* 0xdc */
184  uint32_t dqsctl1; /* 0xe0 */
185  uint32_t padctl4; /* 0xe4 */
186  uint32_t rsvd_ao9[2]; /* 0xe8 */
187  uint32_t phyctl1; /* 0xf0 */
188  uint32_t gddr3ctl1; /* 0xf4 */
189  uint32_t padctl7; /* 0xf8 */
190  uint32_t misctl0; /* 0xfc */
191  uint32_t ocdk; /* 0x100 */
192  uint32_t rsvd_ao10[3]; /* 0x104 */
193  uint32_t rkcfg; /* 0x110 */
194  uint32_t ckphdet; /* 0x114 */
195  uint32_t dqsctl2; /* 0x118 */
196  uint32_t rsvd_ao11[5]; /* 0x11c */
197  uint32_t clkctl; /* 0x130 */
198  uint32_t rsvd_ao12[1]; /* 0x134 */
199  uint32_t dummy; /* 0x138 */
201  uint32_t rsvd_ao13[10]; /* 0x140 */
202  uint32_t arbctl0; /* 0x168 */
203  uint32_t rsvd_ao14[21]; /* 0x16c */
204  uint32_t dqscal0; /* 0x1c0 */
205  uint32_t dqscal1; /* 0x1c4 */
206  uint32_t impcal; /* 0x1c8 */
207  uint32_t rsvd_ao15[4]; /* 0x1cc */
208  uint32_t dramc_pd_ctrl; /* 0x1dc */
209  uint32_t lpddr2_3; /* 0x1e0 */
210  uint32_t spcmd; /* 0x1e4 */
211  uint32_t actim1; /* 0x1e8 */
212  uint32_t perfctl0; /* 0x1ec */
213  uint32_t ac_derating; /* 0x1f0 */
214  uint32_t rrrate_ctl; /* 0x1f4 */
215  uint32_t ac_time_05t; /* 0x1f8 */
216  uint32_t mrr_ctl; /* 0x1fc */
217  uint32_t rsvd_ao16[4]; /* 0x200 */
218  uint32_t dqidly[9]; /* 0x210 */
219  uint32_t rsvd_ao17[115]; /* 0x234 */
220  uint32_t selph1; /* 0x400 */
221  uint32_t selph2; /* 0x404 */
222  uint32_t selph3; /* 0x408 */
223  uint32_t selph4; /* 0x40c */
224  uint32_t selph5; /* 0x410 */
225  uint32_t selph6; /* 0x414 */
226  uint32_t selph6_1; /* 0x418 */
227  uint32_t selph7; /* 0x41c */
228  uint32_t selph8; /* 0x420 */
229  uint32_t selph9; /* 0x424 */
230  uint32_t selph10; /* 0x428 */
231  uint32_t selph11; /* 0x42c */
232 };
233 
234 check_member(dramc_ao_regs, selph11, 0x42c);
235 
237  uint32_t rsvd_nao1[11]; /* 0x0 */
238  uint32_t test_mode; /* 0x2c */
239  uint32_t rsvd_nao2[3]; /* 0x30 */
240  uint32_t test2_1; /* 0x3c */
241  uint32_t test2_2; /* 0x40 */
242  uint32_t rsvd_nao3[48]; /* 0x44 */
243  uint32_t lbwdat0; /* 0x104 */
244  uint32_t lbwdat1; /* 0x108 */
245  uint32_t lbwdat2; /* 0x10c */
246  uint32_t rsvd_nao4[1]; /* 0x110 */
247  uint32_t ckphdet; /* 0x114 */
248  uint32_t rsvd_nao5[48]; /* 0x118 */
249  uint32_t dmmonitor; /* 0x1d8 */
250  uint32_t rsvd_nao6[41]; /* 0x1dc */
266  uint32_t jmeter_st; /* 0x2bc */
267  uint32_t dq_cal_max[8]; /* 0x2c0 */
268  uint32_t dqs_cal_min[8]; /* 0x2e0 */
269  uint32_t dqs_cal_max[8]; /* 0x300 */
270  uint32_t rsvd_nao7[4]; /* 0x320 */
273  uint32_t rsvd_nao8[6]; /* 0x338 */
274  uint32_t dqical[4]; /* 0x350 */
275  uint32_t rsvd_nao9[4]; /* 0x360 */
276  uint32_t cmp_err; /* 0x370 */
277  uint32_t r0dqsiendly; /* 0x374 */
278  uint32_t r1dqsiendly; /* 0x378 */
279  uint32_t rsvd_nao10[9]; /* 0x37c */
280  uint32_t dqsdly0; /* 0x3a0 */
281  uint32_t rsvd_nao11[4]; /* 0x3a4 */
282  uint32_t mrrdata; /* 0x3b4 */
283  uint32_t spcmdresp; /* 0x3b8 */
284  uint32_t iorgcnt; /* 0x3bc */
285  uint32_t dqsgnwcnt[6]; /* 0x3c0 */
286  uint32_t rsvd_nao12[4]; /* 0x3d8 */
287  uint32_t ckphcnt; /* 0x3e8 */
288  uint32_t rsvd_nao13[4]; /* 0x3ec */
289  uint32_t testrpt; /* 0x3fc */
290 };
291 
292 check_member(dramc_nao_regs, testrpt, 0x3fc);
293 
295  uint32_t rsvd_phy1[3]; /* 0x0 */
296  uint32_t padctl1; /* 0xc */
297  uint32_t padctl2; /* 0x10 */
298  uint32_t padctl3; /* 0x14 */
299  uint32_t rsvd_phy2[25]; /* 0x18 */
300  uint32_t ddr2ctl; /* 0x7c */
301  uint32_t rsvd_phy3[3]; /* 0x80 */
302  uint32_t clk1delay; /* 0x8c */
303  uint32_t ioctl; /* 0x90 */
304  uint32_t rsvd_phy4[7]; /* 0x94 */
305  uint32_t iodrv4; /* 0xb0 */
306  uint32_t iodrv5; /* 0xb4 */
307  uint32_t iodrv6; /* 0xb8 */
308  uint32_t drvctl1; /* 0xbc */
309  uint32_t dllsel; /* 0xc0 */
310  uint32_t rsvd_phy5[2]; /* 0xc4 */
311  uint32_t tdsel[3]; /* 0xcc */
312  uint32_t mckdly; /* 0xd8 */
313  uint32_t dqsctl0; /* 0xdc */
314  uint32_t dqsctl1; /* 0xe0 */
315  uint32_t dqsctl4; /* 0xe4 */
316  uint32_t dqsctl5; /* 0xe8 */
317  uint32_t dqsctl6; /* 0xec */
318  uint32_t phyctl1; /* 0xf0 */
319  uint32_t gddr3ctl1; /* 0xf4 */
320  uint32_t rsvd_phy6[1]; /* 0xf8 */
321  uint32_t misctl0; /* 0xfc */
322  uint32_t ocdk; /* 0x100 */
323  uint32_t rsvd_phy7[8]; /* 0x104 */
324  uint32_t dqsgctl; /* 0x124 */
325  uint32_t rsvd_phy8[6]; /* 0x128 */
326  uint32_t ddrphydqsgctl; /* 0x140 */
327  uint32_t dqsgct2; /* 0x144 */
328  uint32_t phyclkduty; /* 0x148 */
329  uint32_t rsvd_phy9[3]; /* 0x14c */
330  uint32_t dqsisel; /* 0x158 */
331  uint32_t dqmdqs_sel; /* 0x15c */
332  uint32_t rsvd_phy10[10]; /* 0x160 */
333  uint32_t jmeterpop1; /* 0x188 */
334  uint32_t jmeterpop2; /* 0x18c */
335  uint32_t jmeterpop3; /* 0x190 */
336  uint32_t jmeterpop4; /* 0x194 */
337  uint32_t rsvd_phy11[4]; /* 0x198 */
338  uint32_t cmddly[6]; /* 0x1a8 */
339  uint32_t dqscal0; /* 0x1c0 */
340  uint32_t rsvd_phy12[2]; /* 0x1c4 */
341  uint32_t jmeter[3]; /* 0x1cc */
342  uint32_t rsvd_phy13[2]; /* 0x1d8 */
343  uint32_t lpddr2_3; /* 0x1e0 */
344  uint32_t spcmd; /* 0x1e4 */
345  uint32_t rsvd_phy14[6]; /* 0x1e8 */
346  uint32_t dqodly[4]; /* 0x200 */
347  uint32_t rsvd_phy15[11]; /* 0x210 */
348  uint32_t lpddr2_4; /* 0x23c */
349  uint32_t rsvd_phy16[56]; /* 0x240 */
350  uint32_t jmeter_pll_st[3]; /* 0x320 */
352  uint32_t rsvd_phy17[2]; /* 0x330 */
358  uint32_t rsvd_phy18[13]; /* 0x34c */
359  uint32_t dq_o1; /* 0x380 */
360  uint32_t rsvd_phy19[2]; /* 0x384 */
361  uint32_t stben[4]; /* 0x38c */
362  uint32_t rsvd_phy20[16]; /* 0x39c */
363  uint32_t dllcnt0; /* 0x3dc */
364  uint32_t pllautok; /* 0x3e0 */
365  uint32_t poppllautok; /* 0x3e4 */
366  uint32_t rsvd_phy21[18]; /* 0x3e8 */
367  uint32_t selph12; /* 0x430 */
368  uint32_t selph13; /* 0x434 */
369  uint32_t selph14; /* 0x438 */
370  uint32_t selph15; /* 0x43c */
371  uint32_t selph16; /* 0x440 */
372  uint32_t selph17; /* 0x444 */
373  uint32_t selph18; /* 0x448 */
374  uint32_t selph19; /* 0x44c */
375  uint32_t selph20; /* 0x450 */
376  uint32_t rsvd_phy22[91]; /* 0x454 */
377  uint32_t peri[4]; /* 0x5c0 */
378  uint32_t rsvd_phy23[12]; /* 0x5d0 */
379  uint32_t mempll[15]; /* 0x600 */
382  uint32_t vrefctl0; /* 0x644 */
383  uint32_t rsvd_phy24[18]; /* 0x648 */
385 };
386 
387 check_member(dramc_ddrphy_regs, mempll05_divider, 0x690);
388 
389 struct emi_regs {
390  uint32_t emi_cona; /* 0x0 */
391  uint32_t rsvd_emi1; /* 0x4 */
392  uint32_t emi_conb; /* 0x08 */
393  uint32_t rsvd_emi2; /* 0x0c */
394  uint32_t emi_conc; /* 0x10 */
395  uint32_t rsvd_emi3; /* 0x14 */
396  uint32_t emi_cond; /* 0x18 */
397  uint32_t rsvd_emi4; /* 0x1c */
398  uint32_t emi_cone; /* 0x20 */
399  uint32_t rsvd_emi5; /* 0x24 */
400  uint32_t emi_conf; /* 0x28 */
401  uint32_t rsvd_emi6; /* 0x2c */
402  uint32_t emi_cong; /* 0x30 */
403  uint32_t rsvd_emi7; /* 0x34 */
404  uint32_t emi_conh; /* 0x38 */
405  uint32_t rsvd_emi8[9]; /* 0x3c */
406  uint32_t emi_conm; /* 0x60 */
407  uint32_t rsvd_emi9[5]; /* 0x64 */
408  uint32_t emi_mdct; /* 0x78 */
409  uint32_t rsvd_emi10[21]; /* 0x7c */
410  uint32_t emi_test0; /* 0xd0 */
411  uint32_t rsvd_emi11; /* 0xd4 */
412  uint32_t emi_test1; /* 0xd8 */
413  uint32_t rsvd_emi12; /* 0xdc */
414  uint32_t emi_testa; /* 0xe0 */
415  uint32_t rsvd_emi13; /* 0xe4 */
416  uint32_t emi_testb; /* 0xe8 */
417  uint32_t rsvd_emi14; /* 0xec */
418  uint32_t emi_testc; /* 0xf0 */
419  uint32_t rsvd_emi15; /* 0xf4 */
420  uint32_t emi_testd; /* 0xf8 */
421  uint32_t rsvd_emi16; /* 0xfc */
422  uint32_t emi_arba; /* 0x100 */
423  uint32_t rsvd_emi17[3]; /* 0x104 */
424  uint32_t emi_arbc; /* 0x110 */
425  uint32_t rsvd_emi18; /* 0x114 */
426  uint32_t emi_arbd; /* 0x118 */
427  uint32_t rsvd_emi19; /* 0x11c */
428  uint32_t emi_arbe; /* 0x120 */
429  uint32_t rsvd_emi20; /* 0x124 */
430  uint32_t emi_arbf; /* 0x128 */
431  uint32_t rsvd_emi21; /* 0x12c */
432  uint32_t emi_arbg; /* 0x130 */
433  uint32_t rsvd_emi22; /* 0x134 */
434  uint32_t emi_arbh; /* 0x138 */
435  uint32_t rsvd_emi23; /* 0x13c */
436  uint32_t emi_arbi; /* 0x140 */
437  uint32_t emi_arbi_2nd; /* 0x144 */
438  uint32_t emi_arbj; /* 0x148 */
439  uint32_t emi_arbj_2nd; /* 0x14c */
440  uint32_t emi_arbk; /* 0x150 */
441  uint32_t emi_arbk_2nd; /* 0x154 */
442  uint32_t emi_slct; /* 0x158 */
443  uint32_t rsvd_emi24; /* 0x15C */
444  uint32_t emi_mpua; /* 0x160 */
445  uint32_t rsvd_emi25; /* 0x164 */
446  uint32_t emi_mpub; /* 0x168 */
447  uint32_t rsvd_emi26; /* 0x16c */
448  uint32_t emi_mpuc; /* 0x170 */
449  uint32_t rsvd_emi27; /* 0x174 */
450  uint32_t emi_mpud; /* 0x178 */
451  uint32_t rsvd_emi28; /* 0x17C */
452  uint32_t emi_mpue; /* 0x180 */
453  uint32_t rsvd_emi29; /* 0x184 */
454  uint32_t emi_mpuf; /* 0x188 */
455  uint32_t rsvd_emi30; /* 0x18C */
456  uint32_t emi_mpug; /* 0x190 */
457  uint32_t rsvd_emi31; /* 0x194 */
458  uint32_t emi_mpuh; /* 0x198 */
459  uint32_t rsvd_emi32; /* 0x19C */
460  uint32_t emi_mpui; /* 0x1A0 */
461  uint32_t rsvd_emi33; /* 0x1A4 */
462  uint32_t emi_mpuj; /* 0x1A8 */
463  uint32_t rsvd_emi34; /* 0x1AC */
464  uint32_t emi_mpuk; /* 0x1B0 */
465  uint32_t rsvd_emi35; /* 0x1B4 */
466  uint32_t emi_mpul; /* 0x1B8 */
467  uint32_t rsvd_emi36; /* 0x1BC */
468  uint32_t emi_mpum; /* 0x1C0 */
469  uint32_t rsvd_emi37; /* 0x1C4 */
470  uint32_t emi_mpun; /* 0x1C8 */
471  uint32_t rsvd_emi38; /* 0x1CC */
472  uint32_t emi_mpuo; /* 0x1D0 */
473  uint32_t rsvd_emi39; /* 0x1D4 */
474  uint32_t emi_mpup; /* 0x1D8 */
475  uint32_t rsvd_emi40; /* 0x1DC */
476  uint32_t emi_mpuq; /* 0x1E0 */
477  uint32_t rsvd_emi41; /* 0x1E4 */
478  uint32_t emi_mpur; /* 0x1E8 */
479  uint32_t rsvd_emi42; /* 0x1EC */
480  uint32_t emi_mpus; /* 0x1F0 */
481  uint32_t rsvd_emi43; /* 0x1F4 */
482  uint32_t emi_mput; /* 0x1F8 */
483  uint32_t rsvd_emi44; /* 0x1FC */
484  uint32_t emi_mpuu; /* 0x200 */
485  uint32_t rsvd_emi45[7]; /* 0x204 */
486  uint32_t emi_mpuy; /* 0x220 */
487  uint32_t rsvd_emi46[119]; /* 0x224 */
488  uint32_t emi_bmen; /* 0x400 */
489 };
490 
491 check_member(emi_regs, emi_bmen, 0x400);
492 
493 extern struct dramc_ao_regs *ao_regs;
494 extern struct dramc_nao_regs *nao_regs;
496 
501 };
502 
503 static struct dramc_channel const ch[2] = {
504  {(void *)CHA_DRAMCAO_BASE, (void *)CHA_DRAMCNAO_BASE, (void *)CHA_DDRPHY_BASE},
505  {(void *)CHB_DRAMCAO_BASE, (void *)CHB_DRAMCNAO_BASE, (void *)CHB_DDRPHY_BASE}
506 };
507 
508 #endif /* _DRAMC_REGISTER_H_ */
#define BIT(nr)
Definition: ec_commands.h:45
struct dramc_ddrphy_regs * ddrphy_regs
struct dramc_nao_regs * nao_regs
struct dramc_ao_regs * ao_regs
static struct dramc_channel const ch[2]
@ JMETER_PLL_ZERO_SHIFT
@ CMDDLY4_CAS_SHIFT
@ MCKDLY_FIXDQIEN_SHIFT
@ GDDR3CTL1_RDATRST_SHIFT
@ SELPH6_1_TXDLY_R1DQSGATE_P1_SHIFT
@ JMETER_COUNTER_SHIFT
@ TEST2_4_TESTAUDBITINV_EN
@ PADCTL2_SHIFT
@ CMDDLY0_RA3_SHIFT
@ DQSCTL2_DQSINCTL_SHIFT
@ TEST2_4_TESTAUDMODE_EN
@ TEST2_4_TESTAUDINC_SHIFT
@ TEST2_3_TESTCNT_SHIFT
@ DQSCTL1_DQSINCTL_SHIFT
@ CONF2_TEST2W_EN
@ PHYCTL1_PHYRST_SHIFT
@ CMDDLY3_BA1_SHIFT
@ SELPH6_1_DLY_R1DQSGATE_P1_SHIFT
@ DQSGCTL_DQSGDUALP_SHIFT
@ JMETER_COUNTER_MASK
@ IMP_CALI_DRVN_SHIFT
@ TEST2_3_TESTAUDPAT_EN
@ DQSCTL1_DQSIENMODE_SHIFT
@ SELPH6_1_TXDLY_R1DQSGATE_SHIFT
@ DQSCAL0_RA14_SHIFT
@ CMDDLY0_RA2_SHIFT
@ TESTRPT_DM_CMP_ERR_SHIFT
@ MCKDLY_DQIENLAT_SHIFT
@ DDR2CTL_WOEN_SHIFT
@ CMDDLY0_RA0_SHIFT
@ TEST2_3_ADVREFEN_EN
@ CMDDLY3_BA0_SHIFT
@ MASK_PADCTL2_16BIT
@ CMDDLY4_RAS_SHIFT
@ IMP_CALI_EN_SHIFT
@ MASK_PADCTL2
@ CONF2_TEST1_EN
@ RKCFG_PBREF_DISBYRATE_SHIFT
@ DQSIEN_DQS2IEN_SHIFT
@ JMETER_EN_BIT
@ CMDDLY4_CKE_SHIFT
@ DQSIEN_DQS3IEN_SHIFT
@ MASK_RKCFG_RKSWAP_EN
@ CMDDLY5_RA13_SHIFT
@ MEMPLL_REF_DL_SHIFT
@ CMDDLY0_RA1_SHIFT
@ SELPH2_TXDLY_DQSGATE_SHIFT
@ IMP_CALI_PDN_SHIFT
@ SELPH6_1_DLY_R1DQSGATE_SHIFT
@ CMDDLY1_RA7_SHIFT
@ DQSIEN_DQS1IEN_SHIFT
@ CMDDLY5_WE_SHIFT
@ TEST2_4_TESTAUDINIT_SHIFT
@ JMETER_PLL_ONE_SHIFT
@ PHYCLKDUTY_CMDCLKP0DUTYSEL_SHIFT
@ IMP_CALI_DRVP_SHIFT
@ DQSCAL0_STBCALEN_SHIFT
@ TEST2_4_TESTAUDINC_MASK
@ MISC_LATNORMP_SHIFT
@ CONF2_TEST2R_EN
@ MASK_PADCTL2_32BIT
@ MEMCLKENB_SHIFT
@ DQSIEN_DQS0IEN_SHIFT
@ TESTRPT_DM_CMP_CPT_SHIFT
@ DQSCAL1_CKE1_SHIFT
@ SELPH5_DLY_DQSGATE_SHIFT
@ GDDR3CTL1_DQMSWAP_SHIFT
@ IMP_CALI_HW_SHIFT
@ SELPH2_TXDLY_DQSGATE_P1_SHIFT
@ MEMPLL_MODE_SHIFT
@ IMP_CALI_ENP_SHIFT
@ PADCTL1_CLK_SHIFT
@ CMDDLY4_CS_SHIFT
@ MISC_DATLAT_DSEL_SHIFT
@ TEST2_4_TESTAUDINIT_MASK
@ PHYCTL1_DATLAT4_SHIFT
@ MCKDLY_DQIENQKEND_SHIFT
@ TEST2_4_TESTXTALKPAT_EN
@ PHYCLKDUTY_CMDCLKP0DUTYP_SHIFT
@ PADCTL1_CS1_SHIFT
@ RKCFG_WDATKEY64_SHIFT
@ PHYCLKDUTY_CMDCLKP0DUTYN_SHIFT
@ MEMPLL_FB_DL_SHIFT
@ PADCTL4_CKEFIXON_SHIFT
@ SPCMD_DQSGCNTEN_SHIFT
@ MASK_MR2_OP
@ SPCMD_MRWEN_SHIFT
@ MCKDLY_FIXODT_SHIFT
@ CMDDLY3_BA2_SHIFT
@ IMP_CALI_PDP_SHIFT
@ GDDR3CTL1_BKSWAP_SHIFT
@ IMP_CALI_ENN_SHIFT
@ TEST2_3_TESTCNT_MASK
@ PADCTL4_DATLAT3_SHIFT
@ MASK_MEMPLL_DL
@ DDR2CTL_DATLAT_SHIFT
@ SPCMD_DQSGCNTRST_SHIFT
@ MEMPLL_DL_SHIFT
@ SELPH5_DLY_DQSGATE_P1_SHIFT
check_member(dramc_ao_regs, selph11, 0x42c)
@ CHA_DRAMCNAO_BASE
Definition: addressmap.h:31
@ CHB_DRAMCNAO_BASE
Definition: addressmap.h:32
@ CHA_DDRPHY_BASE
Definition: addressmap.h:24
@ CHB_DRAMCAO_BASE
Definition: addressmap.h:25
@ CHB_DDRPHY_BASE
Definition: addressmap.h:26
@ CHA_DRAMCAO_BASE
Definition: addressmap.h:17
unsigned int uint32_t
Definition: stdint.h:14
uint32_t rsvd_ao1[3]
uint32_t rsvd_ao3[9]
uint32_t rsvd_ao11[5]
uint32_t dqscal0
uint32_t dqidly[9]
uint32_t r1deldly
uint32_t test2_3
uint32_t selph6_1
uint32_t catraining2
uint32_t rrrate_ctl
uint32_t catraining
uint32_t ac_derating
uint32_t dqsien[2]
uint32_t selph10
uint32_t test2_4
uint32_t dqsctl2
uint32_t dqscal1
uint32_t write_leveling
uint32_t ckphdet
uint32_t lpddr2_3
uint32_t perfctl0
uint32_t rsvd_ao5[2]
uint32_t arbctl0
uint32_t clk1delay
uint32_t phyctl1
uint32_t rsvd_ao4[1]
uint32_t rsvd_ao13[10]
uint32_t ac_time_05t
uint32_t rsvd_ao17[115]
uint32_t drvctl1
uint32_t rsvd_ao2[6]
uint32_t dqsctl1
uint32_t r0deldly
uint32_t selph11
uint32_t misctl0
uint32_t rsvd_ao15[4]
uint32_t r0difdly
uint32_t gddr3ctl1
uint32_t rsvd_ao9[2]
uint32_t rsvd_ao12[1]
uint32_t r1difdly
uint32_t mrr_ctl
uint32_t rsvd_ao7[5]
uint32_t rsvd_ao14[21]
uint32_t rsvd_ao8[1]
uint32_t dramc_pd_ctrl
uint32_t rsvd_ao10[3]
uint32_t ddr2ctl
uint32_t padctl7
uint32_t dllconf
uint32_t padctl4
uint32_t rsvd_ao16[4]
struct dramc_ddrphy_regs * ddrphy_regs
struct dramc_nao_regs * nao_regs
struct dramc_ao_regs * ao_regs
uint32_t jmeter_pll_st[3]
uint32_t rsvd_phy18[13]
uint32_t rsvd_phy11[4]
uint32_t rsvd_phy12[2]
uint32_t rsvd_phy4[7]
uint32_t rsvd_phy19[2]
uint32_t rsvd_phy23[12]
uint32_t jmeter_pop_pll3_st
uint32_t rsvd_phy17[2]
uint32_t rsvd_phy2[25]
uint32_t rsvd_phy7[8]
uint32_t jmeter_pop_pll4_st
uint32_t rsvd_phy6[1]
uint32_t rsvd_phy5[2]
uint32_t rsvd_phy10[10]
uint32_t jmeter[3]
uint32_t cmddly[6]
uint32_t rsvd_phy9[3]
uint32_t mempll[15]
uint32_t rsvd_phy22[91]
uint32_t rsvd_phy3[3]
uint32_t rsvd_phy24[18]
uint32_t rsvd_phy21[18]
uint32_t dqodly[4]
uint32_t rsvd_phy1[3]
uint32_t rsvd_phy13[2]
uint32_t jmeter_pop_pll1_st
uint32_t jmeter_pop_pll2_st
uint32_t rsvd_phy14[6]
uint32_t rsvd_phy20[16]
uint32_t rsvd_phy16[56]
uint32_t mempll05_divider
uint32_t rsvd_phy15[11]
uint32_t rsvd_phy8[6]
uint32_t spcmdresp
uint32_t rsvd_nao6[41]
uint32_t r2w_page_miss_counter
uint32_t w2w_page_interbank_counter
uint32_t freerun_26m_counter
uint32_t w2w_page_hit_counter
uint32_t r2w_page_hit_counter
uint32_t rsvd_nao10[9]
uint32_t dqs_cal_min[8]
uint32_t rsvd_nao13[4]
uint32_t r2r_page_miss_counter
uint32_t r2r_page_hit_counter
uint32_t rsvd_nao8[6]
uint32_t read_bytes_counter
uint32_t r2w_interbank_counter
uint32_t write_bytes_counter
uint32_t w2r_page_interbank_counter
uint32_t rsvd_nao2[3]
uint32_t rsvd_nao5[48]
uint32_t w2r_page_miss_counter
uint32_t dqs_cal_max[8]
uint32_t dqical[4]
uint32_t rsvd_nao4[1]
uint32_t rsvd_nao11[4]
uint32_t dqsgnwcnt[6]
uint32_t rsvd_nao3[48]
uint32_t rsvd_nao12[4]
uint32_t r1dqsiendly
uint32_t dramc_idle_counter
uint32_t dmmonitor
uint32_t r2r_interbank_counter
uint32_t w2r_page_hit_counter
uint32_t refresh_pop_counter
uint32_t dq_cal_max[8]
uint32_t rsvd_nao9[4]
uint32_t test_mode
uint32_t rsvd_nao7[4]
uint32_t w2w_page_miss_counter
uint32_t rsvd_nao1[11]
uint32_t r0dqsiendly
uint32_t jmeter_st
uint32_t emi_testc
uint32_t emi_mpup
uint32_t emi_slct
uint32_t rsvd_emi40
uint32_t emi_mpuj
uint32_t emi_mpuq
uint32_t emi_cone
uint32_t rsvd_emi22
uint32_t rsvd_emi34
uint32_t emi_conc
uint32_t emi_mpuc
uint32_t rsvd_emi32
uint32_t rsvd_emi13
uint32_t emi_arbk_2nd
uint32_t rsvd_emi26
uint32_t emi_conb
uint32_t rsvd_emi2
uint32_t rsvd_emi42
uint32_t emi_mpub
uint32_t emi_conf
uint32_t emi_testb
uint32_t emi_arbi
uint32_t emi_mput
uint32_t emi_arbe
uint32_t emi_arbk
uint32_t rsvd_emi45[7]
uint32_t emi_mpuy
uint32_t emi_mdct
uint32_t emi_mpus
uint32_t rsvd_emi20
uint32_t emi_mpuu
uint32_t emi_cond
uint32_t rsvd_emi17[3]
uint32_t rsvd_emi10[21]
uint32_t emi_mpuh
uint32_t emi_mpue
uint32_t emi_conh
uint32_t emi_mpuo
uint32_t emi_mpun
uint32_t emi_arba
uint32_t rsvd_emi39
uint32_t rsvd_emi25
uint32_t rsvd_emi24
uint32_t emi_mpuf
uint32_t rsvd_emi28
uint32_t emi_testa
uint32_t rsvd_emi5
uint32_t rsvd_emi7
uint32_t emi_mpum
uint32_t rsvd_emi3
uint32_t rsvd_emi31
uint32_t rsvd_emi46[119]
uint32_t rsvd_emi14
uint32_t rsvd_emi23
uint32_t emi_test0
uint32_t emi_test1
uint32_t emi_cona
uint32_t emi_arbf
uint32_t rsvd_emi43
uint32_t emi_mpui
uint32_t emi_mpur
uint32_t emi_arbi_2nd
uint32_t emi_arbj_2nd
uint32_t emi_mpul
uint32_t rsvd_emi6
uint32_t rsvd_emi37
uint32_t rsvd_emi16
uint32_t rsvd_emi1
uint32_t emi_cong
uint32_t rsvd_emi8[9]
uint32_t emi_arbg
uint32_t emi_arbc
uint32_t rsvd_emi30
uint32_t emi_arbj
uint32_t rsvd_emi9[5]
uint32_t emi_testd
uint32_t rsvd_emi44
uint32_t emi_mpua
uint32_t rsvd_emi41
uint32_t rsvd_emi4
uint32_t emi_arbd
uint32_t emi_mpud
uint32_t rsvd_emi15
uint32_t rsvd_emi21
uint32_t rsvd_emi27
uint32_t rsvd_emi11
uint32_t rsvd_emi19
uint32_t emi_bmen
uint32_t emi_mpuk
uint32_t emi_arbh
uint32_t emi_conm
uint32_t rsvd_emi36
uint32_t rsvd_emi18
uint32_t rsvd_emi12
uint32_t rsvd_emi33
uint32_t rsvd_emi35
uint32_t emi_mpug
uint32_t rsvd_emi38
uint32_t rsvd_emi29