arm: tegra: macallan: Update macallan DVFS table.
[linux-2.6.git] / arch / arm / mach-tegra / board-macallan-memory.c
1 /*
2  * Copyright (c) 2013, NVIDIA CORPORATION.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
16  * 02111-1307, USA
17  */
18
19 #include <linux/kernel.h>
20 #include <linux/init.h>
21 #include <linux/platform_data/tegra_emc.h>
22
23 #include "board.h"
24 #include "board-macallan.h"
25
26 #include "tegra-board-id.h"
27 #include "tegra11_emc.h"
28 #include "fuse.h"
29 #include "devices.h"
30
31 static struct tegra11_emc_table e1545_h5tc4g63mfr_pba_T40S_table[] = {
32         {
33                 0x41,       /* Rev 4.0.3 */
34                 12750,      /* SDRAM frequency */
35                 900,        /* min voltage */
36                 "pll_p",    /* clock source id */
37                 0x4000003e, /* CLK_SOURCE_EMC */
38                 99,        /* number of burst_regs */
39                 30,         /* number of trim_regs (each channel) */
40                 11,         /* number of up_down_regs */
41                 {
42                         0x00000000, /* EMC_RC */
43                         0x00000003, /* EMC_RFC */
44                         0x00000000, /* EMC_RFC_SLR */
45                         0x00000000, /* EMC_RAS */
46                         0x00000000, /* EMC_RP */
47                         0x00000004, /* EMC_R2W */
48                         0x0000000a, /* EMC_W2R */
49                         0x00000003, /* EMC_R2P */
50                         0x0000000b, /* EMC_W2P */
51                         0x00000000, /* EMC_RD_RCD */
52                         0x00000000, /* EMC_WR_RCD */
53                         0x00000003, /* EMC_RRD */
54                         0x00000001, /* EMC_REXT */
55                         0x00000000, /* EMC_WEXT */
56                         0x00000004, /* EMC_WDV */
57                         0x00000004, /* EMC_WDV_MASK */
58                         0x00000005, /* EMC_IBDLY */
59                         0x00010000, /* EMC_PUTERM_EXTRA */
60                         0x00000000, /* EMC_CDB_CNTL_2 */
61                         0x00000004, /* EMC_QRST */
62                         0x0000000d, /* EMC_RDV_MASK */
63                         0x00000060, /* EMC_REFRESH */
64                         0x00000000, /* EMC_BURST_REFRESH_NUM */
65                         0x00000018, /* EMC_PRE_REFRESH_REQ_CNT */
66                         0x00000002, /* EMC_PDEX2WR */
67                         0x00000002, /* EMC_PDEX2RD */
68                         0x00000001, /* EMC_PCHG2PDEN */
69                         0x00000000, /* EMC_ACT2PDEN */
70                         0x00000007, /* EMC_AR2PDEN */
71                         0x0000000f, /* EMC_RW2PDEN */
72                         0x00000005, /* EMC_TXSR */
73                         0x00000005, /* EMC_TXSRDLL */
74                         0x00000004, /* EMC_TCKE */
75                         0x00000004, /* EMC_TCKESR */
76                         0x00000004, /* EMC_TPD */
77                         0x00000004, /* EMC_TFAW */
78                         0x00000000, /* EMC_TRPAB */
79                         0x00000004, /* EMC_TCLKSTABLE */
80                         0x00000005, /* EMC_TCLKSTOP */
81                         0x00000064, /* EMC_TREFBW */
82                         0x00000005, /* EMC_QUSE_EXTRA */
83                         0x00000020, /* EMC_ODT_WRITE */
84                         0x00000000, /* EMC_ODT_READ */
85                         0x0000aa88, /* EMC_FBIO_CFG5 */
86                         0x002c00a0, /* EMC_CFG_DIG_DLL */
87                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
88                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
89                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
90                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
91                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
92                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
93                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
94                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
95                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
96                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
97                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
98                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
99                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
100                         0x001112a0, /* EMC_XM2CMDPADCTRL */
101                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
102                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
103                         0x00000000, /* EMC_XM2DQPADCTRL2 */
104                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
105                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
106                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
107                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
108                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
109                         0x00000000, /* EMC_TXDSRVTTGEN */
110                         0x02000000, /* EMC_FBIO_SPARE */
111                         0x00000802, /* EMC_CTT_TERM_CTRL */
112                         0x00000000, /* EMC_ZCAL_INTERVAL */
113                         0x00000042, /* EMC_ZCAL_WAIT_CNT */
114                         0x000c000c, /* EMC_MRS_WAIT_CNT */
115                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
116                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
117                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
118                         0x00000000, /* EMC_CTT */
119                         0x00000000, /* EMC_CTT_DURATION */
120                         0x800001c6, /* EMC_DYN_SELF_REF_CONTROL */
121                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
122                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
123                         0x40040001, /* MC_EMEM_ARB_CFG */
124                         0x8000003f, /* MC_EMEM_ARB_OUTSTANDING_REQ */
125                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
126                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
127                         0x00000002, /* MC_EMEM_ARB_TIMING_RC */
128                         0x00000000, /* MC_EMEM_ARB_TIMING_RAS */
129                         0x00000001, /* MC_EMEM_ARB_TIMING_FAW */
130                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
131                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
132                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
133                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
134                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
135                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
136                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
137                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
138                         0x000a0402, /* MC_EMEM_ARB_DA_COVERS */
139                         0x77e30303, /* MC_EMEM_ARB_MISC0 */
140                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
141                 },
142                 {
143                         0x00000000, /* EMC_CDB_CNTL_1 */
144                         0x00000006, /* EMC_FBIO_CFG6 */
145                         0x00000006, /* EMC_QUSE */
146                         0x00000004, /* EMC_EINPUT */
147                         0x00000004, /* EMC_EINPUT_DURATION */
148                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
149                         0x00000009, /* EMC_QSAFE */
150                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
151                         0x0000000d, /* EMC_RDV */
152                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
153                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
154                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
155                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
156                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
157                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
158                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
159                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
160                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
161                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
162                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
163                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
164                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
165                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
166                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
167                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
168                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
169                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
170                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
171                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
172                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
173                 },
174                 {
175                         0x00000000, /* EMC_CDB_CNTL_1 */
176                         0x00000006, /* EMC_FBIO_CFG6 */
177                         0x00000006, /* EMC_QUSE */
178                         0x00000004, /* EMC_EINPUT */
179                         0x00000004, /* EMC_EINPUT_DURATION */
180                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
181                         0x00000009, /* EMC_QSAFE */
182                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
183                         0x0000000d, /* EMC_RDV */
184                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
185                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
186                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
187                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
188                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
189                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
190                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
191                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
192                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
193                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
194                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
195                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
196                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
197                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
198                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
199                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
200                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
201                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
202                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
203                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
204                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
205                 },
206                 {
207                         0x0000000e, /* MC_PTSA_GRANT_DECREMENT */
208                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_G2_0 */
209                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_G2_1 */
210                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_0 */
211                         0x000000ff, /* MC_LATENCY_ALLOWANCE_NV2_0 */
212                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_2 */
213                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_1 */
214                         0x000000ff, /* MC_LATENCY_ALLOWANCE_NV2_1 */
215                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV3 */
216                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_0 */
217                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
218                 },
219                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
220                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
221                 0x7320000e, /* EMC_CFG */
222                 0x80001221, /* Mode Register 0 */
223                 0x80100003, /* Mode Register 1 */
224                 0x80200000, /* Mode Register 2 */
225                 0x00000000, /* Mode Register 4 */
226                 57820,      /* expected dvfs latency (ns) */
227         },
228         {
229                 0x41,       /* Rev 4.0.3 */
230                 20400,      /* SDRAM frequency */
231                 900,        /* min voltage */
232                 "pll_p",    /* clock source id */
233                 0x40000026, /* CLK_SOURCE_EMC */
234                 99,        /* number of burst_regs */
235                 30,         /* number of trim_regs (each channel) */
236                 11,         /* number of up_down_regs */
237                 {
238                         0x00000000, /* EMC_RC */
239                         0x00000005, /* EMC_RFC */
240                         0x00000000, /* EMC_RFC_SLR */
241                         0x00000000, /* EMC_RAS */
242                         0x00000000, /* EMC_RP */
243                         0x00000004, /* EMC_R2W */
244                         0x0000000a, /* EMC_W2R */
245                         0x00000003, /* EMC_R2P */
246                         0x0000000b, /* EMC_W2P */
247                         0x00000000, /* EMC_RD_RCD */
248                         0x00000000, /* EMC_WR_RCD */
249                         0x00000003, /* EMC_RRD */
250                         0x00000001, /* EMC_REXT */
251                         0x00000000, /* EMC_WEXT */
252                         0x00000004, /* EMC_WDV */
253                         0x00000004, /* EMC_WDV_MASK */
254                         0x00000005, /* EMC_IBDLY */
255                         0x00010000, /* EMC_PUTERM_EXTRA */
256                         0x00000000, /* EMC_CDB_CNTL_2 */
257                         0x00000004, /* EMC_QRST */
258                         0x0000000d, /* EMC_RDV_MASK */
259                         0x0000009a, /* EMC_REFRESH */
260                         0x00000000, /* EMC_BURST_REFRESH_NUM */
261                         0x00000026, /* EMC_PRE_REFRESH_REQ_CNT */
262                         0x00000002, /* EMC_PDEX2WR */
263                         0x00000002, /* EMC_PDEX2RD */
264                         0x00000001, /* EMC_PCHG2PDEN */
265                         0x00000000, /* EMC_ACT2PDEN */
266                         0x00000007, /* EMC_AR2PDEN */
267                         0x0000000f, /* EMC_RW2PDEN */
268                         0x00000006, /* EMC_TXSR */
269                         0x00000006, /* EMC_TXSRDLL */
270                         0x00000004, /* EMC_TCKE */
271                         0x00000004, /* EMC_TCKESR */
272                         0x00000004, /* EMC_TPD */
273                         0x00000004, /* EMC_TFAW */
274                         0x00000000, /* EMC_TRPAB */
275                         0x00000004, /* EMC_TCLKSTABLE */
276                         0x00000005, /* EMC_TCLKSTOP */
277                         0x000000a0, /* EMC_TREFBW */
278                         0x00000005, /* EMC_QUSE_EXTRA */
279                         0x00000020, /* EMC_ODT_WRITE */
280                         0x00000000, /* EMC_ODT_READ */
281                         0x0000aa88, /* EMC_FBIO_CFG5 */
282                         0x002c00a0, /* EMC_CFG_DIG_DLL */
283                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
284                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
285                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
286                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
287                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
288                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
289                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
290                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
291                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
292                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
293                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
294                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
295                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
296                         0x001112a0, /* EMC_XM2CMDPADCTRL */
297                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
298                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
299                         0x00000000, /* EMC_XM2DQPADCTRL2 */
300                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
301                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
302                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
303                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
304                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
305                         0x00000000, /* EMC_TXDSRVTTGEN */
306                         0x02000000, /* EMC_FBIO_SPARE */
307                         0x00000802, /* EMC_CTT_TERM_CTRL */
308                         0x00000000, /* EMC_ZCAL_INTERVAL */
309                         0x00000042, /* EMC_ZCAL_WAIT_CNT */
310                         0x000c000c, /* EMC_MRS_WAIT_CNT */
311                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
312                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
313                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
314                         0x00000000, /* EMC_CTT */
315                         0x00000000, /* EMC_CTT_DURATION */
316                         0x8000023a, /* EMC_DYN_SELF_REF_CONTROL */
317                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
318                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
319                         0x40020001, /* MC_EMEM_ARB_CFG */
320                         0x80000046, /* MC_EMEM_ARB_OUTSTANDING_REQ */
321                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
322                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
323                         0x00000002, /* MC_EMEM_ARB_TIMING_RC */
324                         0x00000000, /* MC_EMEM_ARB_TIMING_RAS */
325                         0x00000001, /* MC_EMEM_ARB_TIMING_FAW */
326                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
327                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
328                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
329                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
330                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
331                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
332                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
333                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
334                         0x000a0402, /* MC_EMEM_ARB_DA_COVERS */
335                         0x76230303, /* MC_EMEM_ARB_MISC0 */
336                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
337                 },
338                 {
339                         0x00000000, /* EMC_CDB_CNTL_1 */
340                         0x00000006, /* EMC_FBIO_CFG6 */
341                         0x00000006, /* EMC_QUSE */
342                         0x00000004, /* EMC_EINPUT */
343                         0x00000004, /* EMC_EINPUT_DURATION */
344                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
345                         0x00000009, /* EMC_QSAFE */
346                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
347                         0x0000000d, /* EMC_RDV */
348                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
349                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
350                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
351                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
352                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
353                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
354                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
355                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
356                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
357                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
358                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
359                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
360                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
361                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
362                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
363                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
364                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
365                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
366                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
367                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
368                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
369                 },
370                 {
371                         0x00000000, /* EMC_CDB_CNTL_1 */
372                         0x00000006, /* EMC_FBIO_CFG6 */
373                         0x00000006, /* EMC_QUSE */
374                         0x00000004, /* EMC_EINPUT */
375                         0x00000004, /* EMC_EINPUT_DURATION */
376                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
377                         0x00000009, /* EMC_QSAFE */
378                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
379                         0x0000000d, /* EMC_RDV */
380                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
381                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
382                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
383                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
384                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
385                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
386                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
387                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
388                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
389                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
390                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
391                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
392                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
393                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
394                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
395                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
396                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
397                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
398                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
399                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
400                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
401                 },
402                 {
403                         0x00000014, /* MC_PTSA_GRANT_DECREMENT */
404                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_G2_0 */
405                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_G2_1 */
406                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_0 */
407                         0x000000ff, /* MC_LATENCY_ALLOWANCE_NV2_0 */
408                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_2 */
409                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV_1 */
410                         0x000000ff, /* MC_LATENCY_ALLOWANCE_NV2_1 */
411                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV3 */
412                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_0 */
413                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
414                 },
415                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
416                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
417                 0x7320000e, /* EMC_CFG */
418                 0x80001221, /* Mode Register 0 */
419                 0x80100003, /* Mode Register 1 */
420                 0x80200000, /* Mode Register 2 */
421                 0x00000000, /* Mode Register 4 */
422                 35610,      /* expected dvfs latency (ns) */
423         },
424         {
425                 0x41,       /* Rev 4.0.3 */
426                 40800,      /* SDRAM frequency */
427                 900,        /* min voltage */
428                 "pll_p",    /* clock source id */
429                 0x40000012, /* CLK_SOURCE_EMC */
430                 99,        /* number of burst_regs */
431                 30,         /* number of trim_regs (each channel) */
432                 11,         /* number of up_down_regs */
433                 {
434                         0x00000001, /* EMC_RC */
435                         0x0000000a, /* EMC_RFC */
436                         0x00000000, /* EMC_RFC_SLR */
437                         0x00000001, /* EMC_RAS */
438                         0x00000000, /* EMC_RP */
439                         0x00000004, /* EMC_R2W */
440                         0x0000000a, /* EMC_W2R */
441                         0x00000003, /* EMC_R2P */
442                         0x0000000b, /* EMC_W2P */
443                         0x00000000, /* EMC_RD_RCD */
444                         0x00000000, /* EMC_WR_RCD */
445                         0x00000003, /* EMC_RRD */
446                         0x00000001, /* EMC_REXT */
447                         0x00000000, /* EMC_WEXT */
448                         0x00000004, /* EMC_WDV */
449                         0x00000004, /* EMC_WDV_MASK */
450                         0x00000005, /* EMC_IBDLY */
451                         0x00010000, /* EMC_PUTERM_EXTRA */
452                         0x00000000, /* EMC_CDB_CNTL_2 */
453                         0x00000004, /* EMC_QRST */
454                         0x0000000d, /* EMC_RDV_MASK */
455                         0x00000131, /* EMC_REFRESH */
456                         0x00000000, /* EMC_BURST_REFRESH_NUM */
457                         0x0000004c, /* EMC_PRE_REFRESH_REQ_CNT */
458                         0x00000002, /* EMC_PDEX2WR */
459                         0x00000002, /* EMC_PDEX2RD */
460                         0x00000001, /* EMC_PCHG2PDEN */
461                         0x00000000, /* EMC_ACT2PDEN */
462                         0x00000008, /* EMC_AR2PDEN */
463                         0x0000000f, /* EMC_RW2PDEN */
464                         0x0000000b, /* EMC_TXSR */
465                         0x0000000b, /* EMC_TXSRDLL */
466                         0x00000004, /* EMC_TCKE */
467                         0x00000004, /* EMC_TCKESR */
468                         0x00000004, /* EMC_TPD */
469                         0x00000004, /* EMC_TFAW */
470                         0x00000000, /* EMC_TRPAB */
471                         0x00000004, /* EMC_TCLKSTABLE */
472                         0x00000005, /* EMC_TCLKSTOP */
473                         0x0000013c, /* EMC_TREFBW */
474                         0x00000005, /* EMC_QUSE_EXTRA */
475                         0x00000020, /* EMC_ODT_WRITE */
476                         0x00000000, /* EMC_ODT_READ */
477                         0x0000aa88, /* EMC_FBIO_CFG5 */
478                         0x002c00a0, /* EMC_CFG_DIG_DLL */
479                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
480                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
481                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
482                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
483                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
484                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
485                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
486                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
487                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
488                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
489                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
490                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
491                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
492                         0x001112a0, /* EMC_XM2CMDPADCTRL */
493                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
494                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
495                         0x00000000, /* EMC_XM2DQPADCTRL2 */
496                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
497                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
498                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
499                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
500                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
501                         0x00000000, /* EMC_TXDSRVTTGEN */
502                         0x02000000, /* EMC_FBIO_SPARE */
503                         0x00000802, /* EMC_CTT_TERM_CTRL */
504                         0x00000000, /* EMC_ZCAL_INTERVAL */
505                         0x00000042, /* EMC_ZCAL_WAIT_CNT */
506                         0x000c000c, /* EMC_MRS_WAIT_CNT */
507                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
508                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
509                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
510                         0x00000000, /* EMC_CTT */
511                         0x00000000, /* EMC_CTT_DURATION */
512                         0x8000036b, /* EMC_DYN_SELF_REF_CONTROL */
513                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
514                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
515                         0xa0000001, /* MC_EMEM_ARB_CFG */
516                         0x8000005b, /* MC_EMEM_ARB_OUTSTANDING_REQ */
517                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
518                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
519                         0x00000002, /* MC_EMEM_ARB_TIMING_RC */
520                         0x00000000, /* MC_EMEM_ARB_TIMING_RAS */
521                         0x00000001, /* MC_EMEM_ARB_TIMING_FAW */
522                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
523                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
524                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
525                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
526                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
527                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
528                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
529                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
530                         0x000a0402, /* MC_EMEM_ARB_DA_COVERS */
531                         0x74a30303, /* MC_EMEM_ARB_MISC0 */
532                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
533                 },
534                 {
535                         0x00000000, /* EMC_CDB_CNTL_1 */
536                         0x00000006, /* EMC_FBIO_CFG6 */
537                         0x00000006, /* EMC_QUSE */
538                         0x00000004, /* EMC_EINPUT */
539                         0x00000004, /* EMC_EINPUT_DURATION */
540                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
541                         0x00000009, /* EMC_QSAFE */
542                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
543                         0x0000000d, /* EMC_RDV */
544                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
545                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
546                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
547                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
548                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
549                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
550                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
551                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
552                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
553                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
554                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
555                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
556                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
557                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
558                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
559                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
560                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
561                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
562                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
563                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
564                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
565                 },
566                 {
567                         0x00000000, /* EMC_CDB_CNTL_1 */
568                         0x00000006, /* EMC_FBIO_CFG6 */
569                         0x00000006, /* EMC_QUSE */
570                         0x00000004, /* EMC_EINPUT */
571                         0x00000004, /* EMC_EINPUT_DURATION */
572                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
573                         0x00000009, /* EMC_QSAFE */
574                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
575                         0x0000000d, /* EMC_RDV */
576                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
577                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
578                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
579                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
580                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
581                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
582                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
583                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
584                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
585                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
586                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
587                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
588                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
589                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
590                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
591                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
592                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
593                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
594                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
595                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
596                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
597                 },
598                 {
599                         0x0000002a, /* MC_PTSA_GRANT_DECREMENT */
600                         0x00b000b0, /* MC_LATENCY_ALLOWANCE_G2_0 */
601                         0x00b000c4, /* MC_LATENCY_ALLOWANCE_G2_1 */
602                         0x00d700eb, /* MC_LATENCY_ALLOWANCE_NV_0 */
603                         0x000000eb, /* MC_LATENCY_ALLOWANCE_NV2_0 */
604                         0x00eb00eb, /* MC_LATENCY_ALLOWANCE_NV_2 */
605                         0x00ff00eb, /* MC_LATENCY_ALLOWANCE_NV_1 */
606                         0x000000ff, /* MC_LATENCY_ALLOWANCE_NV2_1 */
607                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_NV3 */
608                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_0 */
609                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
610                 },
611                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
612                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
613                 0x7320000e, /* EMC_CFG */
614                 0x80001221, /* Mode Register 0 */
615                 0x80100003, /* Mode Register 1 */
616                 0x80200000, /* Mode Register 2 */
617                 0x00000000, /* Mode Register 4 */
618                 20850,      /* expected dvfs latency (ns) */
619         },
620         {
621                 0x41,       /* Rev 4.0.3 */
622                 68000,      /* SDRAM frequency */
623                 900,        /* min voltage */
624                 "pll_p",    /* clock source id */
625                 0x4000000a, /* CLK_SOURCE_EMC */
626                 99,        /* number of burst_regs */
627                 30,         /* number of trim_regs (each channel) */
628                 11,         /* number of up_down_regs */
629                 {
630                         0x00000003, /* EMC_RC */
631                         0x00000011, /* EMC_RFC */
632                         0x00000000, /* EMC_RFC_SLR */
633                         0x00000002, /* EMC_RAS */
634                         0x00000000, /* EMC_RP */
635                         0x00000004, /* EMC_R2W */
636                         0x0000000a, /* EMC_W2R */
637                         0x00000003, /* EMC_R2P */
638                         0x0000000b, /* EMC_W2P */
639                         0x00000000, /* EMC_RD_RCD */
640                         0x00000000, /* EMC_WR_RCD */
641                         0x00000003, /* EMC_RRD */
642                         0x00000001, /* EMC_REXT */
643                         0x00000000, /* EMC_WEXT */
644                         0x00000004, /* EMC_WDV */
645                         0x00000004, /* EMC_WDV_MASK */
646                         0x00000005, /* EMC_IBDLY */
647                         0x00010000, /* EMC_PUTERM_EXTRA */
648                         0x00000000, /* EMC_CDB_CNTL_2 */
649                         0x00000004, /* EMC_QRST */
650                         0x0000000d, /* EMC_RDV_MASK */
651                         0x00000202, /* EMC_REFRESH */
652                         0x00000000, /* EMC_BURST_REFRESH_NUM */
653                         0x00000080, /* EMC_PRE_REFRESH_REQ_CNT */
654                         0x00000002, /* EMC_PDEX2WR */
655                         0x00000002, /* EMC_PDEX2RD */
656                         0x00000001, /* EMC_PCHG2PDEN */
657                         0x00000000, /* EMC_ACT2PDEN */
658                         0x0000000f, /* EMC_AR2PDEN */
659                         0x0000000f, /* EMC_RW2PDEN */
660                         0x00000013, /* EMC_TXSR */
661                         0x00000013, /* EMC_TXSRDLL */
662                         0x00000004, /* EMC_TCKE */
663                         0x00000004, /* EMC_TCKESR */
664                         0x00000004, /* EMC_TPD */
665                         0x00000004, /* EMC_TFAW */
666                         0x00000000, /* EMC_TRPAB */
667                         0x00000004, /* EMC_TCLKSTABLE */
668                         0x00000005, /* EMC_TCLKSTOP */
669                         0x00000213, /* EMC_TREFBW */
670                         0x00000005, /* EMC_QUSE_EXTRA */
671                         0x00000020, /* EMC_ODT_WRITE */
672                         0x00000000, /* EMC_ODT_READ */
673                         0x0000aa88, /* EMC_FBIO_CFG5 */
674                         0x002c00a0, /* EMC_CFG_DIG_DLL */
675                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
676                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
677                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
678                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
679                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
680                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
681                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
682                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
683                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
684                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
685                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
686                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
687                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
688                         0x001112a0, /* EMC_XM2CMDPADCTRL */
689                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
690                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
691                         0x00000000, /* EMC_XM2DQPADCTRL2 */
692                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
693                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
694                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
695                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
696                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
697                         0x00000000, /* EMC_TXDSRVTTGEN */
698                         0x02000000, /* EMC_FBIO_SPARE */
699                         0x00000802, /* EMC_CTT_TERM_CTRL */
700                         0x00000000, /* EMC_ZCAL_INTERVAL */
701                         0x00000042, /* EMC_ZCAL_WAIT_CNT */
702                         0x000c000c, /* EMC_MRS_WAIT_CNT */
703                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
704                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
705                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
706                         0x00000000, /* EMC_CTT */
707                         0x00000000, /* EMC_CTT_DURATION */
708                         0x8000050e, /* EMC_DYN_SELF_REF_CONTROL */
709                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
710                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
711                         0x00000001, /* MC_EMEM_ARB_CFG */
712                         0x80000076, /* MC_EMEM_ARB_OUTSTANDING_REQ */
713                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
714                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
715                         0x00000002, /* MC_EMEM_ARB_TIMING_RC */
716                         0x00000000, /* MC_EMEM_ARB_TIMING_RAS */
717                         0x00000001, /* MC_EMEM_ARB_TIMING_FAW */
718                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
719                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
720                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
721                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
722                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
723                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
724                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
725                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
726                         0x000a0402, /* MC_EMEM_ARB_DA_COVERS */
727                         0x74230403, /* MC_EMEM_ARB_MISC0 */
728                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
729                 },
730                 {
731                         0x00000000, /* EMC_CDB_CNTL_1 */
732                         0x00000006, /* EMC_FBIO_CFG6 */
733                         0x00000006, /* EMC_QUSE */
734                         0x00000004, /* EMC_EINPUT */
735                         0x00000004, /* EMC_EINPUT_DURATION */
736                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
737                         0x00000009, /* EMC_QSAFE */
738                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
739                         0x0000000d, /* EMC_RDV */
740                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
741                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
742                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
743                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
744                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
745                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
746                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
747                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
748                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
749                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
750                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
751                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
752                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
753                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
754                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
755                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
756                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
757                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
758                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
759                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
760                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
761                 },
762                 {
763                         0x00000000, /* EMC_CDB_CNTL_1 */
764                         0x00000006, /* EMC_FBIO_CFG6 */
765                         0x00000006, /* EMC_QUSE */
766                         0x00000004, /* EMC_EINPUT */
767                         0x00000004, /* EMC_EINPUT_DURATION */
768                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
769                         0x00000009, /* EMC_QSAFE */
770                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
771                         0x0000000d, /* EMC_RDV */
772                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
773                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
774                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
775                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
776                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
777                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
778                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
779                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
780                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
781                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
782                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
783                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
784                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
785                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
786                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
787                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
788                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
789                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
790                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
791                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
792                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
793                 },
794                 {
795                         0x00000046, /* MC_PTSA_GRANT_DECREMENT */
796                         0x00690069, /* MC_LATENCY_ALLOWANCE_G2_0 */
797                         0x00690075, /* MC_LATENCY_ALLOWANCE_G2_1 */
798                         0x0081008d, /* MC_LATENCY_ALLOWANCE_NV_0 */
799                         0x0000008d, /* MC_LATENCY_ALLOWANCE_NV2_0 */
800                         0x008d008d, /* MC_LATENCY_ALLOWANCE_NV_2 */
801                         0x00bc008d, /* MC_LATENCY_ALLOWANCE_NV_1 */
802                         0x000000bc, /* MC_LATENCY_ALLOWANCE_NV2_1 */
803                         0x00bc00bc, /* MC_LATENCY_ALLOWANCE_NV3 */
804                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_0 */
805                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
806                 },
807                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
808                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
809                 0x7320000e, /* EMC_CFG */
810                 0x80001221, /* Mode Register 0 */
811                 0x80100003, /* Mode Register 1 */
812                 0x80200000, /* Mode Register 2 */
813                 0x00000000, /* Mode Register 4 */
814                 10720,      /* expected dvfs latency (ns) */
815         },
816         {
817                 0x41,       /* Rev 4.0.3 */
818                 102000,     /* SDRAM frequency */
819                 900,        /* min voltage */
820                 "pll_p",    /* clock source id */
821                 0x40000006, /* CLK_SOURCE_EMC */
822                 99,        /* number of burst_regs */
823                 30,         /* number of trim_regs (each channel) */
824                 11,         /* number of up_down_regs */
825                 {
826                         0x00000004, /* EMC_RC */
827                         0x0000001a, /* EMC_RFC */
828                         0x00000000, /* EMC_RFC_SLR */
829                         0x00000003, /* EMC_RAS */
830                         0x00000001, /* EMC_RP */
831                         0x00000004, /* EMC_R2W */
832                         0x0000000a, /* EMC_W2R */
833                         0x00000003, /* EMC_R2P */
834                         0x0000000b, /* EMC_W2P */
835                         0x00000001, /* EMC_RD_RCD */
836                         0x00000001, /* EMC_WR_RCD */
837                         0x00000003, /* EMC_RRD */
838                         0x00000001, /* EMC_REXT */
839                         0x00000000, /* EMC_WEXT */
840                         0x00000004, /* EMC_WDV */
841                         0x00000004, /* EMC_WDV_MASK */
842                         0x00000005, /* EMC_IBDLY */
843                         0x00010000, /* EMC_PUTERM_EXTRA */
844                         0x00000000, /* EMC_CDB_CNTL_2 */
845                         0x00000004, /* EMC_QRST */
846                         0x0000000d, /* EMC_RDV_MASK */
847                         0x00000303, /* EMC_REFRESH */
848                         0x00000000, /* EMC_BURST_REFRESH_NUM */
849                         0x000000c0, /* EMC_PRE_REFRESH_REQ_CNT */
850                         0x00000002, /* EMC_PDEX2WR */
851                         0x00000002, /* EMC_PDEX2RD */
852                         0x00000001, /* EMC_PCHG2PDEN */
853                         0x00000000, /* EMC_ACT2PDEN */
854                         0x00000018, /* EMC_AR2PDEN */
855                         0x0000000f, /* EMC_RW2PDEN */
856                         0x0000001c, /* EMC_TXSR */
857                         0x0000001c, /* EMC_TXSRDLL */
858                         0x00000004, /* EMC_TCKE */
859                         0x00000004, /* EMC_TCKESR */
860                         0x00000004, /* EMC_TPD */
861                         0x00000005, /* EMC_TFAW */
862                         0x00000000, /* EMC_TRPAB */
863                         0x00000004, /* EMC_TCLKSTABLE */
864                         0x00000005, /* EMC_TCLKSTOP */
865                         0x0000031c, /* EMC_TREFBW */
866                         0x00000005, /* EMC_QUSE_EXTRA */
867                         0x00000020, /* EMC_ODT_WRITE */
868                         0x00000000, /* EMC_ODT_READ */
869                         0x0000aa88, /* EMC_FBIO_CFG5 */
870                         0x002c00a0, /* EMC_CFG_DIG_DLL */
871                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
872                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
873                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
874                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
875                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
876                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
877                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
878                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
879                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
880                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
881                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
882                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
883                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
884                         0x001112a0, /* EMC_XM2CMDPADCTRL */
885                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
886                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
887                         0x00000000, /* EMC_XM2DQPADCTRL2 */
888                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
889                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
890                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
891                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
892                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
893                         0x00000000, /* EMC_TXDSRVTTGEN */
894                         0x02000000, /* EMC_FBIO_SPARE */
895                         0x00000802, /* EMC_CTT_TERM_CTRL */
896                         0x00000000, /* EMC_ZCAL_INTERVAL */
897                         0x00000042, /* EMC_ZCAL_WAIT_CNT */
898                         0x000c000c, /* EMC_MRS_WAIT_CNT */
899                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
900                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
901                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
902                         0x00000000, /* EMC_CTT */
903                         0x00000000, /* EMC_CTT_DURATION */
904                         0x80000714, /* EMC_DYN_SELF_REF_CONTROL */
905                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
906                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
907                         0x08000001, /* MC_EMEM_ARB_CFG */
908                         0x80000098, /* MC_EMEM_ARB_OUTSTANDING_REQ */
909                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
910                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
911                         0x00000003, /* MC_EMEM_ARB_TIMING_RC */
912                         0x00000000, /* MC_EMEM_ARB_TIMING_RAS */
913                         0x00000002, /* MC_EMEM_ARB_TIMING_FAW */
914                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
915                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
916                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
917                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
918                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
919                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
920                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
921                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
922                         0x000a0403, /* MC_EMEM_ARB_DA_COVERS */
923                         0x73c30504, /* MC_EMEM_ARB_MISC0 */
924                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
925                 },
926                 {
927                         0x00000000, /* EMC_CDB_CNTL_1 */
928                         0x00000006, /* EMC_FBIO_CFG6 */
929                         0x00000006, /* EMC_QUSE */
930                         0x00000004, /* EMC_EINPUT */
931                         0x00000004, /* EMC_EINPUT_DURATION */
932                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
933                         0x00000009, /* EMC_QSAFE */
934                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
935                         0x0000000d, /* EMC_RDV */
936                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
937                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
938                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
939                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
940                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
941                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
942                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
943                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
944                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
945                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
946                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
947                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
948                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
949                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
950                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
951                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
952                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
953                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
954                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
955                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
956                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
957                 },
958                 {
959                         0x00000000, /* EMC_CDB_CNTL_1 */
960                         0x00000006, /* EMC_FBIO_CFG6 */
961                         0x00000006, /* EMC_QUSE */
962                         0x00000004, /* EMC_EINPUT */
963                         0x00000004, /* EMC_EINPUT_DURATION */
964                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
965                         0x00000009, /* EMC_QSAFE */
966                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
967                         0x0000000d, /* EMC_RDV */
968                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
969                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
970                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
971                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
972                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
973                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
974                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
975                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
976                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
977                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
978                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
979                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
980                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
981                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
982                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
983                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
984                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
985                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
986                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
987                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
988                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
989                 },
990                 {
991                         0x00000068, /* MC_PTSA_GRANT_DECREMENT */
992                         0x00460046, /* MC_LATENCY_ALLOWANCE_G2_0 */
993                         0x0046004e, /* MC_LATENCY_ALLOWANCE_G2_1 */
994                         0x0056005e, /* MC_LATENCY_ALLOWANCE_NV_0 */
995                         0x0000005e, /* MC_LATENCY_ALLOWANCE_NV2_0 */
996                         0x005e005e, /* MC_LATENCY_ALLOWANCE_NV_2 */
997                         0x007d005e, /* MC_LATENCY_ALLOWANCE_NV_1 */
998                         0x0000007d, /* MC_LATENCY_ALLOWANCE_NV2_1 */
999                         0x007d007d, /* MC_LATENCY_ALLOWANCE_NV3 */
1000                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1001                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1002                 },
1003                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1004                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1005                 0x7320000e, /* EMC_CFG */
1006                 0x80001221, /* Mode Register 0 */
1007                 0x80100003, /* Mode Register 1 */
1008                 0x80200000, /* Mode Register 2 */
1009                 0x00000000, /* Mode Register 4 */
1010                 6890,       /* expected dvfs latency (ns) */
1011         },
1012         {
1013                 0x41,       /* Rev 4.0.3 */
1014                 204000,     /* SDRAM frequency */
1015                 900,        /* min voltage */
1016                 "pll_p",    /* clock source id */
1017                 0x40000002, /* CLK_SOURCE_EMC */
1018                 99,        /* number of burst_regs */
1019                 30,         /* number of trim_regs (each channel) */
1020                 11,         /* number of up_down_regs */
1021                 {
1022                         0x00000009, /* EMC_RC */
1023                         0x00000035, /* EMC_RFC */
1024                         0x00000000, /* EMC_RFC_SLR */
1025                         0x00000007, /* EMC_RAS */
1026                         0x00000002, /* EMC_RP */
1027                         0x00000004, /* EMC_R2W */
1028                         0x0000000a, /* EMC_W2R */
1029                         0x00000003, /* EMC_R2P */
1030                         0x0000000b, /* EMC_W2P */
1031                         0x00000002, /* EMC_RD_RCD */
1032                         0x00000002, /* EMC_WR_RCD */
1033                         0x00000003, /* EMC_RRD */
1034                         0x00000001, /* EMC_REXT */
1035                         0x00000000, /* EMC_WEXT */
1036                         0x00000004, /* EMC_WDV */
1037                         0x00000004, /* EMC_WDV_MASK */
1038                         0x00000006, /* EMC_IBDLY */
1039                         0x00010000, /* EMC_PUTERM_EXTRA */
1040                         0x00000000, /* EMC_CDB_CNTL_2 */
1041                         0x00000004, /* EMC_QRST */
1042                         0x0000000d, /* EMC_RDV_MASK */
1043                         0x00000607, /* EMC_REFRESH */
1044                         0x00000000, /* EMC_BURST_REFRESH_NUM */
1045                         0x00000181, /* EMC_PRE_REFRESH_REQ_CNT */
1046                         0x00000002, /* EMC_PDEX2WR */
1047                         0x00000002, /* EMC_PDEX2RD */
1048                         0x00000001, /* EMC_PCHG2PDEN */
1049                         0x00000000, /* EMC_ACT2PDEN */
1050                         0x00000032, /* EMC_AR2PDEN */
1051                         0x0000000f, /* EMC_RW2PDEN */
1052                         0x00000038, /* EMC_TXSR */
1053                         0x00000038, /* EMC_TXSRDLL */
1054                         0x00000004, /* EMC_TCKE */
1055                         0x00000004, /* EMC_TCKESR */
1056                         0x00000004, /* EMC_TPD */
1057                         0x00000009, /* EMC_TFAW */
1058                         0x00000000, /* EMC_TRPAB */
1059                         0x00000004, /* EMC_TCLKSTABLE */
1060                         0x00000005, /* EMC_TCLKSTOP */
1061                         0x00000638, /* EMC_TREFBW */
1062                         0x00000006, /* EMC_QUSE_EXTRA */
1063                         0x00000020, /* EMC_ODT_WRITE */
1064                         0x00000000, /* EMC_ODT_READ */
1065                         0x0000aa88, /* EMC_FBIO_CFG5 */
1066                         0x002c00a0, /* EMC_CFG_DIG_DLL */
1067                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
1068                         0x0006c000, /* EMC_DLL_XFORM_DQS4 */
1069                         0x0006c000, /* EMC_DLL_XFORM_DQS5 */
1070                         0x0006c000, /* EMC_DLL_XFORM_DQS6 */
1071                         0x0006c000, /* EMC_DLL_XFORM_DQS7 */
1072                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
1073                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
1074                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
1075                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
1076                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
1077                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
1078                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
1079                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
1080                         0x001112a0, /* EMC_XM2CMDPADCTRL */
1081                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
1082                         0x0000a11c, /* EMC_XM2DQSPADCTRL2 */
1083                         0x00000000, /* EMC_XM2DQPADCTRL2 */
1084                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
1085                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
1086                         0x05057404, /* EMC_XM2VTTGENPADCTRL */
1087                         0x0000003f, /* EMC_XM2VTTGENPADCTRL2 */
1088                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
1089                         0x00000000, /* EMC_TXDSRVTTGEN */
1090                         0x02000000, /* EMC_FBIO_SPARE */
1091                         0x00000802, /* EMC_CTT_TERM_CTRL */
1092                         0x00020000, /* EMC_ZCAL_INTERVAL */
1093                         0x00000100, /* EMC_ZCAL_WAIT_CNT */
1094                         0x000c000c, /* EMC_MRS_WAIT_CNT */
1095                         0x000c000c, /* EMC_MRS_WAIT_CNT2 */
1096                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
1097                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
1098                         0x00000000, /* EMC_CTT */
1099                         0x00000000, /* EMC_CTT_DURATION */
1100                         0x80000d24, /* EMC_DYN_SELF_REF_CONTROL */
1101                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
1102                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
1103                         0x01000003, /* MC_EMEM_ARB_CFG */
1104                         0x800000fe, /* MC_EMEM_ARB_OUTSTANDING_REQ */
1105                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
1106                         0x00000001, /* MC_EMEM_ARB_TIMING_RP */
1107                         0x00000005, /* MC_EMEM_ARB_TIMING_RC */
1108                         0x00000002, /* MC_EMEM_ARB_TIMING_RAS */
1109                         0x00000004, /* MC_EMEM_ARB_TIMING_FAW */
1110                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
1111                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
1112                         0x00000008, /* MC_EMEM_ARB_TIMING_WAP2PRE */
1113                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
1114                         0x00000001, /* MC_EMEM_ARB_TIMING_W2W */
1115                         0x00000003, /* MC_EMEM_ARB_TIMING_R2W */
1116                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
1117                         0x06030102, /* MC_EMEM_ARB_DA_TURNS */
1118                         0x000a0405, /* MC_EMEM_ARB_DA_COVERS */
1119                         0x73840a06, /* MC_EMEM_ARB_MISC0 */
1120                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
1121                 },
1122                 {
1123                         0x00000000, /* EMC_CDB_CNTL_1 */
1124                         0x00000004, /* EMC_FBIO_CFG6 */
1125                         0x00000007, /* EMC_QUSE */
1126                         0x00000004, /* EMC_EINPUT */
1127                         0x00000004, /* EMC_EINPUT_DURATION */
1128                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
1129                         0x00000009, /* EMC_QSAFE */
1130                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1131                         0x0000000d, /* EMC_RDV */
1132                         0x0079e79e, /* EMC_XM2DQSPADCTRL4 */
1133                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
1134                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
1135                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
1136                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
1137                         0x00000808, /* EMC_XM2CLKPADCTRL2 */
1138                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1139                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1140                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1141                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
1142                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
1143                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
1144                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
1145                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
1146                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
1147                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1148                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1149                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1150                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1151                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1152                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1153                 },
1154                 {
1155                         0x00000000, /* EMC_CDB_CNTL_1 */
1156                         0x00000004, /* EMC_FBIO_CFG6 */
1157                         0x00000007, /* EMC_QUSE */
1158                         0x00000004, /* EMC_EINPUT */
1159                         0x00000004, /* EMC_EINPUT_DURATION */
1160                         0x0006c000, /* EMC_DLL_XFORM_DQS0 */
1161                         0x00000009, /* EMC_QSAFE */
1162                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1163                         0x0000000d, /* EMC_RDV */
1164                         0x0079e79e, /* EMC_XM2DQSPADCTRL4 */
1165                         0x20820800, /* EMC_XM2DQSPADCTRL3 */
1166                         0x00048000, /* EMC_DLL_XFORM_DQ0 */
1167                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
1168                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
1169                         0x00000808, /* EMC_XM2CLKPADCTRL2 */
1170                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1171                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1172                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1173                         0x0006c000, /* EMC_DLL_XFORM_DQS1 */
1174                         0x0006c000, /* EMC_DLL_XFORM_DQS2 */
1175                         0x0006c000, /* EMC_DLL_XFORM_DQS3 */
1176                         0x00048000, /* EMC_DLL_XFORM_DQ1 */
1177                         0x00048000, /* EMC_DLL_XFORM_DQ2 */
1178                         0x00048000, /* EMC_DLL_XFORM_DQ3 */
1179                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1180                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1181                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1182                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1183                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1184                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1185                 },
1186                 {
1187                         0x000000d0, /* MC_PTSA_GRANT_DECREMENT */
1188                         0x00230023, /* MC_LATENCY_ALLOWANCE_G2_0 */
1189                         0x00230027, /* MC_LATENCY_ALLOWANCE_G2_1 */
1190                         0x002b002f, /* MC_LATENCY_ALLOWANCE_NV_0 */
1191                         0x0000002f, /* MC_LATENCY_ALLOWANCE_NV2_0 */
1192                         0x002f002f, /* MC_LATENCY_ALLOWANCE_NV_2 */
1193                         0x003e002f, /* MC_LATENCY_ALLOWANCE_NV_1 */
1194                         0x0000003e, /* MC_LATENCY_ALLOWANCE_NV2_1 */
1195                         0x003e003e, /* MC_LATENCY_ALLOWANCE_NV3 */
1196                         0x00ff00c8, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1197                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1198                 },
1199                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1200                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1201                 0x7320000e, /* EMC_CFG */
1202                 0x80001221, /* Mode Register 0 */
1203                 0x80100003, /* Mode Register 1 */
1204                 0x80200000, /* Mode Register 2 */
1205                 0x00000000, /* Mode Register 4 */
1206                 3420,       /* expected dvfs latency (ns) */
1207         },
1208         {
1209                 0x41,       /* Rev 4.0.3 */
1210                 312000,     /* SDRAM frequency */
1211                 1000,       /* min voltage */
1212                 "pll_c",    /* clock source id */
1213                 0x24000002, /* CLK_SOURCE_EMC */
1214                 99,        /* number of burst_regs */
1215                 30,         /* number of trim_regs (each channel) */
1216                 11,         /* number of up_down_regs */
1217                 {
1218                         0x0000000e, /* EMC_RC */
1219                         0x00000050, /* EMC_RFC */
1220                         0x00000000, /* EMC_RFC_SLR */
1221                         0x00000009, /* EMC_RAS */
1222                         0x00000003, /* EMC_RP */
1223                         0x00000004, /* EMC_R2W */
1224                         0x00000008, /* EMC_W2R */
1225                         0x00000002, /* EMC_R2P */
1226                         0x00000009, /* EMC_W2P */
1227                         0x00000003, /* EMC_RD_RCD */
1228                         0x00000003, /* EMC_WR_RCD */
1229                         0x00000002, /* EMC_RRD */
1230                         0x00000001, /* EMC_REXT */
1231                         0x00000000, /* EMC_WEXT */
1232                         0x00000004, /* EMC_WDV */
1233                         0x00000004, /* EMC_WDV_MASK */
1234                         0x00000007, /* EMC_IBDLY */
1235                         0x00010000, /* EMC_PUTERM_EXTRA */
1236                         0x00000000, /* EMC_CDB_CNTL_2 */
1237                         0x00000004, /* EMC_QRST */
1238                         0x0000000d, /* EMC_RDV_MASK */
1239                         0x00000945, /* EMC_REFRESH */
1240                         0x00000000, /* EMC_BURST_REFRESH_NUM */
1241                         0x00000251, /* EMC_PRE_REFRESH_REQ_CNT */
1242                         0x00000001, /* EMC_PDEX2WR */
1243                         0x00000008, /* EMC_PDEX2RD */
1244                         0x00000001, /* EMC_PCHG2PDEN */
1245                         0x00000000, /* EMC_ACT2PDEN */
1246                         0x0000004d, /* EMC_AR2PDEN */
1247                         0x0000000e, /* EMC_RW2PDEN */
1248                         0x00000055, /* EMC_TXSR */
1249                         0x00000200, /* EMC_TXSRDLL */
1250                         0x00000004, /* EMC_TCKE */
1251                         0x00000004, /* EMC_TCKESR */
1252                         0x00000004, /* EMC_TPD */
1253                         0x0000000d, /* EMC_TFAW */
1254                         0x00000000, /* EMC_TRPAB */
1255                         0x00000004, /* EMC_TCLKSTABLE */
1256                         0x00000005, /* EMC_TCLKSTOP */
1257                         0x00000986, /* EMC_TREFBW */
1258                         0x00000006, /* EMC_QUSE_EXTRA */
1259                         0x00000020, /* EMC_ODT_WRITE */
1260                         0x00000000, /* EMC_ODT_READ */
1261                         0x0000ba88, /* EMC_FBIO_CFG5 */
1262                         0x002c00a0, /* EMC_CFG_DIG_DLL */
1263                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
1264                         0x00030000, /* EMC_DLL_XFORM_DQS4 */
1265                         0x00030000, /* EMC_DLL_XFORM_DQS5 */
1266                         0x00030000, /* EMC_DLL_XFORM_DQS6 */
1267                         0x00030000, /* EMC_DLL_XFORM_DQS7 */
1268                         0x00028000, /* EMC_DLL_XFORM_QUSE4 */
1269                         0x00028000, /* EMC_DLL_XFORM_QUSE5 */
1270                         0x00028000, /* EMC_DLL_XFORM_QUSE6 */
1271                         0x00028000, /* EMC_DLL_XFORM_QUSE7 */
1272                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
1273                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
1274                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
1275                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
1276                         0x001112a0, /* EMC_XM2CMDPADCTRL */
1277                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
1278                         0x0001013d, /* EMC_XM2DQSPADCTRL2 */
1279                         0x00000000, /* EMC_XM2DQPADCTRL2 */
1280                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
1281                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
1282                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
1283                         0x00000000, /* EMC_XM2VTTGENPADCTRL2 */
1284                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
1285                         0x00000000, /* EMC_TXDSRVTTGEN */
1286                         0x02000000, /* EMC_FBIO_SPARE */
1287                         0x00000802, /* EMC_CTT_TERM_CTRL */
1288                         0x00020000, /* EMC_ZCAL_INTERVAL */
1289                         0x00000100, /* EMC_ZCAL_WAIT_CNT */
1290                         0x0171000c, /* EMC_MRS_WAIT_CNT */
1291                         0x0171000c, /* EMC_MRS_WAIT_CNT2 */
1292                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
1293                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
1294                         0x00000000, /* EMC_CTT */
1295                         0x00000000, /* EMC_CTT_DURATION */
1296                         0x80001395, /* EMC_DYN_SELF_REF_CONTROL */
1297                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
1298                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
1299                         0x0b000004, /* MC_EMEM_ARB_CFG */
1300                         0x8000016a, /* MC_EMEM_ARB_OUTSTANDING_REQ */
1301                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
1302                         0x00000002, /* MC_EMEM_ARB_TIMING_RP */
1303                         0x00000007, /* MC_EMEM_ARB_TIMING_RC */
1304                         0x00000004, /* MC_EMEM_ARB_TIMING_RAS */
1305                         0x00000006, /* MC_EMEM_ARB_TIMING_FAW */
1306                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
1307                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
1308                         0x00000007, /* MC_EMEM_ARB_TIMING_WAP2PRE */
1309                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
1310                         0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
1311                         0x00000004, /* MC_EMEM_ARB_TIMING_R2W */
1312                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
1313                         0x06040202, /* MC_EMEM_ARB_DA_TURNS */
1314                         0x000b0607, /* MC_EMEM_ARB_DA_COVERS */
1315                         0x76e50f08, /* MC_EMEM_ARB_MISC0 */
1316                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
1317                 },
1318                 {
1319                         0x00000000, /* EMC_CDB_CNTL_1 */
1320                         0x00000006, /* EMC_FBIO_CFG6 */
1321                         0x00000007, /* EMC_QUSE */
1322                         0x00000005, /* EMC_EINPUT */
1323                         0x00000004, /* EMC_EINPUT_DURATION */
1324                         0x00030000, /* EMC_DLL_XFORM_DQS0 */
1325                         0x0000000b, /* EMC_QSAFE */
1326                         0x00028000, /* EMC_DLL_XFORM_QUSE0 */
1327                         0x0000000d, /* EMC_RDV */
1328                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
1329                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1330                         0x00030000, /* EMC_DLL_XFORM_DQ0 */
1331                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
1332                         0x00014000, /* EMC_DLL_XFORM_ADDR0 */
1333                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
1334                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1335                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1336                         0x00014000, /* EMC_DLL_XFORM_ADDR2 */
1337                         0x00030000, /* EMC_DLL_XFORM_DQS1 */
1338                         0x00030000, /* EMC_DLL_XFORM_DQS2 */
1339                         0x00030000, /* EMC_DLL_XFORM_DQS3 */
1340                         0x00030000, /* EMC_DLL_XFORM_DQ1 */
1341                         0x00030000, /* EMC_DLL_XFORM_DQ2 */
1342                         0x00030000, /* EMC_DLL_XFORM_DQ3 */
1343                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1344                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1345                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1346                         0x00028000, /* EMC_DLL_XFORM_QUSE1 */
1347                         0x00028000, /* EMC_DLL_XFORM_QUSE2 */
1348                         0x00028000, /* EMC_DLL_XFORM_QUSE3 */
1349                 },
1350                 {
1351                         0x00000000, /* EMC_CDB_CNTL_1 */
1352                         0x00000006, /* EMC_FBIO_CFG6 */
1353                         0x00000007, /* EMC_QUSE */
1354                         0x00000005, /* EMC_EINPUT */
1355                         0x00000004, /* EMC_EINPUT_DURATION */
1356                         0x00030000, /* EMC_DLL_XFORM_DQS0 */
1357                         0x0000000b, /* EMC_QSAFE */
1358                         0x00028000, /* EMC_DLL_XFORM_QUSE0 */
1359                         0x0000000d, /* EMC_RDV */
1360                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
1361                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1362                         0x00030000, /* EMC_DLL_XFORM_DQ0 */
1363                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
1364                         0x00014000, /* EMC_DLL_XFORM_ADDR0 */
1365                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
1366                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1367                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1368                         0x00014000, /* EMC_DLL_XFORM_ADDR2 */
1369                         0x00030000, /* EMC_DLL_XFORM_DQS1 */
1370                         0x00030000, /* EMC_DLL_XFORM_DQS2 */
1371                         0x00030000, /* EMC_DLL_XFORM_DQS3 */
1372                         0x00030000, /* EMC_DLL_XFORM_DQ1 */
1373                         0x00030000, /* EMC_DLL_XFORM_DQ2 */
1374                         0x00030000, /* EMC_DLL_XFORM_DQ3 */
1375                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1376                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1377                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1378                         0x00028000, /* EMC_DLL_XFORM_QUSE1 */
1379                         0x00028000, /* EMC_DLL_XFORM_QUSE2 */
1380                         0x00028000, /* EMC_DLL_XFORM_QUSE3 */
1381                 },
1382                 {
1383                         0x00000140, /* MC_PTSA_GRANT_DECREMENT */
1384                         0x00170017, /* MC_LATENCY_ALLOWANCE_G2_0 */
1385                         0x00170019, /* MC_LATENCY_ALLOWANCE_G2_1 */
1386                         0x001c001e, /* MC_LATENCY_ALLOWANCE_NV_0 */
1387                         0x0000001e, /* MC_LATENCY_ALLOWANCE_NV2_0 */
1388                         0x001e001e, /* MC_LATENCY_ALLOWANCE_NV_2 */
1389                         0x0029001e, /* MC_LATENCY_ALLOWANCE_NV_1 */
1390                         0x00000029, /* MC_LATENCY_ALLOWANCE_NV2_1 */
1391                         0x00290029, /* MC_LATENCY_ALLOWANCE_NV3 */
1392                         0x00ff0082, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1393                         0x00ff00ff, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1394                 },
1395                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1396                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1397                 0x5320000e, /* EMC_CFG */
1398                 0x80000321, /* Mode Register 0 */
1399                 0x80100002, /* Mode Register 1 */
1400                 0x80200000, /* Mode Register 2 */
1401                 0x00000000, /* Mode Register 4 */
1402                 2180,       /* expected dvfs latency (ns) */
1403         },
1404         {
1405                 0x41,       /* Rev 4.0.3 */
1406                 408000,     /* SDRAM frequency */
1407                 1000,       /* min voltage */
1408                 "pll_p",    /* clock source id */
1409                 0x40000000, /* CLK_SOURCE_EMC */
1410                 99,        /* number of burst_regs */
1411                 30,         /* number of trim_regs (each channel) */
1412                 11,         /* number of up_down_regs */
1413                 {
1414                         0x00000012, /* EMC_RC */
1415                         0x00000069, /* EMC_RFC */
1416                         0x00000000, /* EMC_RFC_SLR */
1417                         0x0000000d, /* EMC_RAS */
1418                         0x00000004, /* EMC_RP */
1419                         0x00000005, /* EMC_R2W */
1420                         0x00000009, /* EMC_W2R */
1421                         0x00000002, /* EMC_R2P */
1422                         0x0000000c, /* EMC_W2P */
1423                         0x00000004, /* EMC_RD_RCD */
1424                         0x00000004, /* EMC_WR_RCD */
1425                         0x00000002, /* EMC_RRD */
1426                         0x00000001, /* EMC_REXT */
1427                         0x00000000, /* EMC_WEXT */
1428                         0x00000004, /* EMC_WDV */
1429                         0x00000004, /* EMC_WDV_MASK */
1430                         0x00000007, /* EMC_IBDLY */
1431                         0x00010000, /* EMC_PUTERM_EXTRA */
1432                         0x00000000, /* EMC_CDB_CNTL_2 */
1433                         0x00000004, /* EMC_QRST */
1434                         0x0000000e, /* EMC_RDV_MASK */
1435                         0x00000c2f, /* EMC_REFRESH */
1436                         0x00000000, /* EMC_BURST_REFRESH_NUM */
1437                         0x0000030b, /* EMC_PRE_REFRESH_REQ_CNT */
1438                         0x00000001, /* EMC_PDEX2WR */
1439                         0x00000008, /* EMC_PDEX2RD */
1440                         0x00000001, /* EMC_PCHG2PDEN */
1441                         0x00000000, /* EMC_ACT2PDEN */
1442                         0x00000066, /* EMC_AR2PDEN */
1443                         0x00000011, /* EMC_RW2PDEN */
1444                         0x0000006f, /* EMC_TXSR */
1445                         0x00000200, /* EMC_TXSRDLL */
1446                         0x00000004, /* EMC_TCKE */
1447                         0x00000004, /* EMC_TCKESR */
1448                         0x00000004, /* EMC_TPD */
1449                         0x00000011, /* EMC_TFAW */
1450                         0x00000000, /* EMC_TRPAB */
1451                         0x00000004, /* EMC_TCLKSTABLE */
1452                         0x00000005, /* EMC_TCLKSTOP */
1453                         0x00000c70, /* EMC_TREFBW */
1454                         0x00000006, /* EMC_QUSE_EXTRA */
1455                         0x00000020, /* EMC_ODT_WRITE */
1456                         0x00000000, /* EMC_ODT_READ */
1457                         0x0000ba88, /* EMC_FBIO_CFG5 */
1458                         0x002c0080, /* EMC_CFG_DIG_DLL */
1459                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
1460                         0x00028000, /* EMC_DLL_XFORM_DQS4 */
1461                         0x00028000, /* EMC_DLL_XFORM_DQS5 */
1462                         0x00028000, /* EMC_DLL_XFORM_DQS6 */
1463                         0x00028000, /* EMC_DLL_XFORM_DQS7 */
1464                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
1465                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
1466                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
1467                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
1468                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
1469                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
1470                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
1471                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
1472                         0x001112a0, /* EMC_XM2CMDPADCTRL */
1473                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
1474                         0x0001013d, /* EMC_XM2DQSPADCTRL2 */
1475                         0x00000000, /* EMC_XM2DQPADCTRL2 */
1476                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
1477                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
1478                         0x03035504, /* EMC_XM2VTTGENPADCTRL */
1479                         0x00000000, /* EMC_XM2VTTGENPADCTRL2 */
1480                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
1481                         0x00000000, /* EMC_TXDSRVTTGEN */
1482                         0x02000000, /* EMC_FBIO_SPARE */
1483                         0x00000802, /* EMC_CTT_TERM_CTRL */
1484                         0x00020000, /* EMC_ZCAL_INTERVAL */
1485                         0x00000100, /* EMC_ZCAL_WAIT_CNT */
1486                         0x0158000c, /* EMC_MRS_WAIT_CNT */
1487                         0x0158000c, /* EMC_MRS_WAIT_CNT2 */
1488                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
1489                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
1490                         0x00000000, /* EMC_CTT */
1491                         0x00000000, /* EMC_CTT_DURATION */
1492                         0x80001944, /* EMC_DYN_SELF_REF_CONTROL */
1493                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
1494                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
1495                         0x02000006, /* MC_EMEM_ARB_CFG */
1496                         0x80000190, /* MC_EMEM_ARB_OUTSTANDING_REQ */
1497                         0x00000001, /* MC_EMEM_ARB_TIMING_RCD */
1498                         0x00000002, /* MC_EMEM_ARB_TIMING_RP */
1499                         0x0000000a, /* MC_EMEM_ARB_TIMING_RC */
1500                         0x00000006, /* MC_EMEM_ARB_TIMING_RAS */
1501                         0x00000008, /* MC_EMEM_ARB_TIMING_FAW */
1502                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
1503                         0x00000002, /* MC_EMEM_ARB_TIMING_RAP2PRE */
1504                         0x00000009, /* MC_EMEM_ARB_TIMING_WAP2PRE */
1505                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
1506                         0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
1507                         0x00000004, /* MC_EMEM_ARB_TIMING_R2W */
1508                         0x00000006, /* MC_EMEM_ARB_TIMING_W2R */
1509                         0x06040202, /* MC_EMEM_ARB_DA_TURNS */
1510                         0x000e070a, /* MC_EMEM_ARB_DA_COVERS */
1511                         0x7547130b, /* MC_EMEM_ARB_MISC0 */
1512                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
1513                 },
1514                 {
1515                         0x00000000, /* EMC_CDB_CNTL_1 */
1516                         0x00000006, /* EMC_FBIO_CFG6 */
1517                         0x00000007, /* EMC_QUSE */
1518                         0x00000005, /* EMC_EINPUT */
1519                         0x00000004, /* EMC_EINPUT_DURATION */
1520                         0x00028000, /* EMC_DLL_XFORM_DQS0 */
1521                         0x0000000c, /* EMC_QSAFE */
1522                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1523                         0x0000000e, /* EMC_RDV */
1524                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
1525                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1526                         0x00030000, /* EMC_DLL_XFORM_DQ0 */
1527                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
1528                         0x00014000, /* EMC_DLL_XFORM_ADDR0 */
1529                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
1530                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1531                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1532                         0x00014000, /* EMC_DLL_XFORM_ADDR2 */
1533                         0x00028000, /* EMC_DLL_XFORM_DQS1 */
1534                         0x00028000, /* EMC_DLL_XFORM_DQS2 */
1535                         0x00028000, /* EMC_DLL_XFORM_DQS3 */
1536                         0x00030000, /* EMC_DLL_XFORM_DQ1 */
1537                         0x00030000, /* EMC_DLL_XFORM_DQ2 */
1538                         0x00030000, /* EMC_DLL_XFORM_DQ3 */
1539                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1540                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1541                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1542                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1543                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1544                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1545                 },
1546                 {
1547                         0x00000000, /* EMC_CDB_CNTL_1 */
1548                         0x00000006, /* EMC_FBIO_CFG6 */
1549                         0x00000007, /* EMC_QUSE */
1550                         0x00000005, /* EMC_EINPUT */
1551                         0x00000004, /* EMC_EINPUT_DURATION */
1552                         0x00028000, /* EMC_DLL_XFORM_DQS0 */
1553                         0x0000000c, /* EMC_QSAFE */
1554                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1555                         0x0000000e, /* EMC_RDV */
1556                         0x00208208, /* EMC_XM2DQSPADCTRL4 */
1557                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1558                         0x00030000, /* EMC_DLL_XFORM_DQ0 */
1559                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
1560                         0x00014000, /* EMC_DLL_XFORM_ADDR0 */
1561                         0x00000000, /* EMC_XM2CLKPADCTRL2 */
1562                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1563                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1564                         0x00014000, /* EMC_DLL_XFORM_ADDR2 */
1565                         0x00028000, /* EMC_DLL_XFORM_DQS1 */
1566                         0x00028000, /* EMC_DLL_XFORM_DQS2 */
1567                         0x00028000, /* EMC_DLL_XFORM_DQS3 */
1568                         0x00030000, /* EMC_DLL_XFORM_DQ1 */
1569                         0x00030000, /* EMC_DLL_XFORM_DQ2 */
1570                         0x00030000, /* EMC_DLL_XFORM_DQ3 */
1571                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1572                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1573                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1574                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1575                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1576                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1577                 },
1578                 {
1579                         0x000000d1, /* MC_PTSA_GRANT_DECREMENT */
1580                         0x00110011, /* MC_LATENCY_ALLOWANCE_G2_0 */
1581                         0x00110013, /* MC_LATENCY_ALLOWANCE_G2_1 */
1582                         0x00150017, /* MC_LATENCY_ALLOWANCE_NV_0 */
1583                         0x00000017, /* MC_LATENCY_ALLOWANCE_NV2_0 */
1584                         0x00170017, /* MC_LATENCY_ALLOWANCE_NV_2 */
1585                         0x001f0017, /* MC_LATENCY_ALLOWANCE_NV_1 */
1586                         0x0000001f, /* MC_LATENCY_ALLOWANCE_NV2_1 */
1587                         0x001f001f, /* MC_LATENCY_ALLOWANCE_NV3 */
1588                         0x00d30064, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1589                         0x00d300d3, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1590                 },
1591                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1592                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1593                 0x53200006, /* EMC_CFG */
1594                 0x80000731, /* Mode Register 0 */
1595                 0x80100002, /* Mode Register 1 */
1596                 0x80200008, /* Mode Register 2 */
1597                 0x00000000, /* Mode Register 4 */
1598                 1750,       /* expected dvfs latency (ns) */
1599         },
1600         {
1601                 0x41,       /* Rev 4.0.3 */
1602                 624000,     /* SDRAM frequency */
1603                 1100,       /* min voltage */
1604                 "pll_c",    /* clock source id */
1605                 0x24000000, /* CLK_SOURCE_EMC */
1606                 99,        /* number of burst_regs */
1607                 30,         /* number of trim_regs (each channel) */
1608                 11,         /* number of up_down_regs */
1609                 {
1610                         0x0000001d, /* EMC_RC */
1611                         0x000000a1, /* EMC_RFC */
1612                         0x00000000, /* EMC_RFC_SLR */
1613                         0x00000014, /* EMC_RAS */
1614                         0x00000007, /* EMC_RP */
1615                         0x00000007, /* EMC_R2W */
1616                         0x0000000b, /* EMC_W2R */
1617                         0x00000003, /* EMC_R2P */
1618                         0x00000010, /* EMC_W2P */
1619                         0x00000007, /* EMC_RD_RCD */
1620                         0x00000007, /* EMC_WR_RCD */
1621                         0x00000002, /* EMC_RRD */
1622                         0x00000001, /* EMC_REXT */
1623                         0x00000000, /* EMC_WEXT */
1624                         0x00000005, /* EMC_WDV */
1625                         0x00000005, /* EMC_WDV_MASK */
1626                         0x0000000b, /* EMC_IBDLY */
1627                         0x00010000, /* EMC_PUTERM_EXTRA */
1628                         0x00000000, /* EMC_CDB_CNTL_2 */
1629                         0x00000007, /* EMC_QRST */
1630                         0x00000012, /* EMC_RDV_MASK */
1631                         0x000012cb, /* EMC_REFRESH */
1632                         0x00000000, /* EMC_BURST_REFRESH_NUM */
1633                         0x000004b2, /* EMC_PRE_REFRESH_REQ_CNT */
1634                         0x00000002, /* EMC_PDEX2WR */
1635                         0x0000000d, /* EMC_PDEX2RD */
1636                         0x00000001, /* EMC_PCHG2PDEN */
1637                         0x00000000, /* EMC_ACT2PDEN */
1638                         0x0000009c, /* EMC_AR2PDEN */
1639                         0x00000015, /* EMC_RW2PDEN */
1640                         0x000000a9, /* EMC_TXSR */
1641                         0x00000200, /* EMC_TXSRDLL */
1642                         0x00000005, /* EMC_TCKE */
1643                         0x00000005, /* EMC_TCKESR */
1644                         0x00000005, /* EMC_TPD */
1645                         0x00000019, /* EMC_TFAW */
1646                         0x00000000, /* EMC_TRPAB */
1647                         0x00000006, /* EMC_TCLKSTABLE */
1648                         0x00000007, /* EMC_TCLKSTOP */
1649                         0x0000130b, /* EMC_TREFBW */
1650                         0x0000000a, /* EMC_QUSE_EXTRA */
1651                         0x00000020, /* EMC_ODT_WRITE */
1652                         0x00000000, /* EMC_ODT_READ */
1653                         0x0000ba88, /* EMC_FBIO_CFG5 */
1654                         0xf00d0191, /* EMC_CFG_DIG_DLL */
1655                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
1656                         0x007fc00a, /* EMC_DLL_XFORM_DQS4 */
1657                         0x007fc00a, /* EMC_DLL_XFORM_DQS5 */
1658                         0x007fc00a, /* EMC_DLL_XFORM_DQS6 */
1659                         0x007fc00a, /* EMC_DLL_XFORM_DQS7 */
1660                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
1661                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
1662                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
1663                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
1664                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
1665                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
1666                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
1667                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
1668                         0x001112a0, /* EMC_XM2CMDPADCTRL */
1669                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
1670                         0x0000013d, /* EMC_XM2DQSPADCTRL2 */
1671                         0x00000000, /* EMC_XM2DQPADCTRL2 */
1672                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
1673                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
1674                         0x07077504, /* EMC_XM2VTTGENPADCTRL */
1675                         0x00000000, /* EMC_XM2VTTGENPADCTRL2 */
1676                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
1677                         0x00000000, /* EMC_TXDSRVTTGEN */
1678                         0x02000000, /* EMC_FBIO_SPARE */
1679                         0x00000802, /* EMC_CTT_TERM_CTRL */
1680                         0x00020000, /* EMC_ZCAL_INTERVAL */
1681                         0x00000100, /* EMC_ZCAL_WAIT_CNT */
1682                         0x0122000c, /* EMC_MRS_WAIT_CNT */
1683                         0x0122000c, /* EMC_MRS_WAIT_CNT2 */
1684                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
1685                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
1686                         0x00000000, /* EMC_CTT */
1687                         0x00000000, /* EMC_CTT_DURATION */
1688                         0x80002626, /* EMC_DYN_SELF_REF_CONTROL */
1689                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
1690                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
1691                         0x06000009, /* MC_EMEM_ARB_CFG */
1692                         0x80000190, /* MC_EMEM_ARB_OUTSTANDING_REQ */
1693                         0x00000003, /* MC_EMEM_ARB_TIMING_RCD */
1694                         0x00000004, /* MC_EMEM_ARB_TIMING_RP */
1695                         0x0000000f, /* MC_EMEM_ARB_TIMING_RC */
1696                         0x00000009, /* MC_EMEM_ARB_TIMING_RAS */
1697                         0x0000000c, /* MC_EMEM_ARB_TIMING_FAW */
1698                         0x00000001, /* MC_EMEM_ARB_TIMING_RRD */
1699                         0x00000003, /* MC_EMEM_ARB_TIMING_RAP2PRE */
1700                         0x0000000b, /* MC_EMEM_ARB_TIMING_WAP2PRE */
1701                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
1702                         0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
1703                         0x00000005, /* MC_EMEM_ARB_TIMING_R2W */
1704                         0x00000007, /* MC_EMEM_ARB_TIMING_W2R */
1705                         0x07050202, /* MC_EMEM_ARB_DA_TURNS */
1706                         0x00130b0f, /* MC_EMEM_ARB_DA_COVERS */
1707                         0x736a1d10, /* MC_EMEM_ARB_MISC0 */
1708                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
1709                 },
1710                 {
1711                         0x00000000, /* EMC_CDB_CNTL_1 */
1712                         0x00000004, /* EMC_FBIO_CFG6 */
1713                         0x0000000b, /* EMC_QUSE */
1714                         0x00000008, /* EMC_EINPUT */
1715                         0x00000004, /* EMC_EINPUT_DURATION */
1716                         0x007fc00a, /* EMC_DLL_XFORM_DQS0 */
1717                         0x0000000c, /* EMC_QSAFE */
1718                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1719                         0x00000012, /* EMC_RDV */
1720                         0x0028a28a, /* EMC_XM2DQSPADCTRL4 */
1721                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1722                         0x00000009, /* EMC_DLL_XFORM_DQ0 */
1723                         0xa0f10000, /* EMC_AUTO_CAL_CONFIG */
1724                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
1725                         0x00000909, /* EMC_XM2CLKPADCTRL2 */
1726                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1727                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1728                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1729                         0x007fc00a, /* EMC_DLL_XFORM_DQS1 */
1730                         0x007fc00a, /* EMC_DLL_XFORM_DQS2 */
1731                         0x007fc00a, /* EMC_DLL_XFORM_DQS3 */
1732                         0x00000009, /* EMC_DLL_XFORM_DQ1 */
1733                         0x00000009, /* EMC_DLL_XFORM_DQ2 */
1734                         0x00000009, /* EMC_DLL_XFORM_DQ3 */
1735                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1736                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1737                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1738                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1739                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1740                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1741                 },
1742                 {
1743                         0x00000000, /* EMC_CDB_CNTL_1 */
1744                         0x00000004, /* EMC_FBIO_CFG6 */
1745                         0x0000000b, /* EMC_QUSE */
1746                         0x00000008, /* EMC_EINPUT */
1747                         0x00000004, /* EMC_EINPUT_DURATION */
1748                         0x007fc00a, /* EMC_DLL_XFORM_DQS0 */
1749                         0x0000000c, /* EMC_QSAFE */
1750                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1751                         0x00000012, /* EMC_RDV */
1752                         0x0028a28a, /* EMC_XM2DQSPADCTRL4 */
1753                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1754                         0x00000009, /* EMC_DLL_XFORM_DQ0 */
1755                         0xa8f10000, /* EMC_AUTO_CAL_CONFIG */
1756                         0x00000000, /* EMC_DLL_XFORM_ADDR0 */
1757                         0x00000909, /* EMC_XM2CLKPADCTRL2 */
1758                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1759                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1760                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1761                         0x007fc00a, /* EMC_DLL_XFORM_DQS1 */
1762                         0x007fc00a, /* EMC_DLL_XFORM_DQS2 */
1763                         0x007fc00a, /* EMC_DLL_XFORM_DQS3 */
1764                         0x00000009, /* EMC_DLL_XFORM_DQ1 */
1765                         0x00000009, /* EMC_DLL_XFORM_DQ2 */
1766                         0x00000009, /* EMC_DLL_XFORM_DQ3 */
1767                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1768                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1769                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1770                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1771                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1772                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1773                 },
1774                 {
1775                         0x0000013f, /* MC_PTSA_GRANT_DECREMENT */
1776                         0x000b000b, /* MC_LATENCY_ALLOWANCE_G2_0 */
1777                         0x000b000c, /* MC_LATENCY_ALLOWANCE_G2_1 */
1778                         0x000e000f, /* MC_LATENCY_ALLOWANCE_NV_0 */
1779                         0x0000000f, /* MC_LATENCY_ALLOWANCE_NV2_0 */
1780                         0x000f000f, /* MC_LATENCY_ALLOWANCE_NV_2 */
1781                         0x0014000f, /* MC_LATENCY_ALLOWANCE_NV_1 */
1782                         0x00000014, /* MC_LATENCY_ALLOWANCE_NV2_1 */
1783                         0x00140014, /* MC_LATENCY_ALLOWANCE_NV3 */
1784                         0x008a0041, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1785                         0x008a008a, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1786                 },
1787                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1788                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1789                 0x53200000, /* EMC_CFG */
1790                 0x80000b61, /* Mode Register 0 */
1791                 0x80100002, /* Mode Register 1 */
1792                 0x80200010, /* Mode Register 2 */
1793                 0x00000000, /* Mode Register 4 */
1794                 1230,       /* expected dvfs latency (ns) */
1795         },
1796         {
1797                 0x41,       /* Rev 4.0.3 */
1798                 792000,     /* SDRAM frequency */
1799                 1100,       /* min voltage */
1800                 "pll_m",    /* clock source id */
1801                 0x80000000, /* CLK_SOURCE_EMC */
1802                 99,        /* number of burst_regs */
1803                 30,         /* number of trim_regs (each channel) */
1804                 11,         /* number of up_down_regs */
1805                 {
1806                         0x00000025, /* EMC_RC */
1807                         0x000000cd, /* EMC_RFC */
1808                         0x00000000, /* EMC_RFC_SLR */
1809                         0x0000001a, /* EMC_RAS */
1810                         0x00000009, /* EMC_RP */
1811                         0x00000008, /* EMC_R2W */
1812                         0x0000000d, /* EMC_W2R */
1813                         0x00000004, /* EMC_R2P */
1814                         0x00000013, /* EMC_W2P */
1815                         0x00000009, /* EMC_RD_RCD */
1816                         0x00000009, /* EMC_WR_RCD */
1817                         0x00000003, /* EMC_RRD */
1818                         0x00000001, /* EMC_REXT */
1819                         0x00000000, /* EMC_WEXT */
1820                         0x00000006, /* EMC_WDV */
1821                         0x00000006, /* EMC_WDV_MASK */
1822                         0x0000000b, /* EMC_IBDLY */
1823                         0x00010000, /* EMC_PUTERM_EXTRA */
1824                         0x00000000, /* EMC_CDB_CNTL_2 */
1825                         0x00000008, /* EMC_QRST */
1826                         0x00000014, /* EMC_RDV_MASK */
1827                         0x000017ee, /* EMC_REFRESH */
1828                         0x00000000, /* EMC_BURST_REFRESH_NUM */
1829                         0x000005fb, /* EMC_PRE_REFRESH_REQ_CNT */
1830                         0x00000003, /* EMC_PDEX2WR */
1831                         0x00000012, /* EMC_PDEX2RD */
1832                         0x00000001, /* EMC_PCHG2PDEN */
1833                         0x00000000, /* EMC_ACT2PDEN */
1834                         0x000000c6, /* EMC_AR2PDEN */
1835                         0x00000018, /* EMC_RW2PDEN */
1836                         0x000000d7, /* EMC_TXSR */
1837                         0x00000200, /* EMC_TXSRDLL */
1838                         0x00000005, /* EMC_TCKE */
1839                         0x00000005, /* EMC_TCKESR */
1840                         0x00000005, /* EMC_TPD */
1841                         0x00000020, /* EMC_TFAW */
1842                         0x00000000, /* EMC_TRPAB */
1843                         0x00000007, /* EMC_TCLKSTABLE */
1844                         0x00000008, /* EMC_TCLKSTOP */
1845                         0x0000182f, /* EMC_TREFBW */
1846                         0x0000000a, /* EMC_QUSE_EXTRA */
1847                         0x80000000, /* EMC_ODT_WRITE */
1848                         0x00000000, /* EMC_ODT_READ */
1849                         0x0000ba88, /* EMC_FBIO_CFG5 */
1850                         0xf0070191, /* EMC_CFG_DIG_DLL */
1851                         0x00008000, /* EMC_CFG_DIG_DLL_PERIOD */
1852                         0x00000008, /* EMC_DLL_XFORM_DQS4 */
1853                         0x00000008, /* EMC_DLL_XFORM_DQS5 */
1854                         0x00000008, /* EMC_DLL_XFORM_DQS6 */
1855                         0x00000008, /* EMC_DLL_XFORM_DQS7 */
1856                         0x00000000, /* EMC_DLL_XFORM_QUSE4 */
1857                         0x00000000, /* EMC_DLL_XFORM_QUSE5 */
1858                         0x00000000, /* EMC_DLL_XFORM_QUSE6 */
1859                         0x00000000, /* EMC_DLL_XFORM_QUSE7 */
1860                         0x00000000, /* EMC_DLI_TRIM_TXDQS4 */
1861                         0x00000000, /* EMC_DLI_TRIM_TXDQS5 */
1862                         0x00000000, /* EMC_DLI_TRIM_TXDQS6 */
1863                         0x00000000, /* EMC_DLI_TRIM_TXDQS7 */
1864                         0x001112a0, /* EMC_XM2CMDPADCTRL */
1865                         0x00000000, /* EMC_XM2CMDPADCTRL4 */
1866                         0x0000013d, /* EMC_XM2DQSPADCTRL2 */
1867                         0x00000000, /* EMC_XM2DQPADCTRL2 */
1868                         0x77ffc085, /* EMC_XM2CLKPADCTRL */
1869                         0x81f1f108, /* EMC_XM2COMPPADCTRL */
1870                         0x07076604, /* EMC_XM2VTTGENPADCTRL */
1871                         0x00000000, /* EMC_XM2VTTGENPADCTRL2 */
1872                         0x0000003f, /* EMC_DSR_VTTGEN_DRV */
1873                         0x00000000, /* EMC_TXDSRVTTGEN */
1874                         0x02000000, /* EMC_FBIO_SPARE */
1875                         0x00000802, /* EMC_CTT_TERM_CTRL */
1876                         0x00020000, /* EMC_ZCAL_INTERVAL */
1877                         0x00000100, /* EMC_ZCAL_WAIT_CNT */
1878                         0x00f8000c, /* EMC_MRS_WAIT_CNT */
1879                         0x00f8000c, /* EMC_MRS_WAIT_CNT2 */
1880                         0x00000000, /* EMC_AUTO_CAL_CONFIG2 */
1881                         0x00000000, /* EMC_AUTO_CAL_CONFIG3 */
1882                         0x00000000, /* EMC_CTT */
1883                         0x00000000, /* EMC_CTT_DURATION */
1884                         0x8000302b, /* EMC_DYN_SELF_REF_CONTROL */
1885                         0x1f7df7df, /* EMC_CA_TRAINING_TIMING_CNTL1 */
1886                         0x0000001f, /* EMC_CA_TRAINING_TIMING_CNTL2 */
1887                         0x0e00000b, /* MC_EMEM_ARB_CFG */
1888                         0x80000190, /* MC_EMEM_ARB_OUTSTANDING_REQ */
1889                         0x00000004, /* MC_EMEM_ARB_TIMING_RCD */
1890                         0x00000005, /* MC_EMEM_ARB_TIMING_RP */
1891                         0x00000013, /* MC_EMEM_ARB_TIMING_RC */
1892                         0x0000000c, /* MC_EMEM_ARB_TIMING_RAS */
1893                         0x0000000f, /* MC_EMEM_ARB_TIMING_FAW */
1894                         0x00000002, /* MC_EMEM_ARB_TIMING_RRD */
1895                         0x00000003, /* MC_EMEM_ARB_TIMING_RAP2PRE */
1896                         0x0000000c, /* MC_EMEM_ARB_TIMING_WAP2PRE */
1897                         0x00000002, /* MC_EMEM_ARB_TIMING_R2R */
1898                         0x00000002, /* MC_EMEM_ARB_TIMING_W2W */
1899                         0x00000006, /* MC_EMEM_ARB_TIMING_R2W */
1900                         0x00000008, /* MC_EMEM_ARB_TIMING_W2R */
1901                         0x08060202, /* MC_EMEM_ARB_DA_TURNS */
1902                         0x00160d13, /* MC_EMEM_ARB_DA_COVERS */
1903                         0x734c2414, /* MC_EMEM_ARB_MISC0 */
1904                         0x001f0000, /* MC_EMEM_ARB_RING1_THROTTLE */
1905                 },
1906                 {
1907                         0x00000000, /* EMC_CDB_CNTL_1 */
1908                         0x00000006, /* EMC_FBIO_CFG6 */
1909                         0x0000000b, /* EMC_QUSE */
1910                         0x00000008, /* EMC_EINPUT */
1911                         0x00000006, /* EMC_EINPUT_DURATION */
1912                         0x00000008, /* EMC_DLL_XFORM_DQS0 */
1913                         0x0000000d, /* EMC_QSAFE */
1914                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1915                         0x00000014, /* EMC_RDV */
1916                         0x00249249, /* EMC_XM2DQSPADCTRL4 */
1917                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1918                         0x0000000b, /* EMC_DLL_XFORM_DQ0 */
1919                         0xa0f10f0f, /* EMC_AUTO_CAL_CONFIG */
1920                         0x00000008, /* EMC_DLL_XFORM_ADDR0 */
1921                         0x00000b0b, /* EMC_XM2CLKPADCTRL2 */
1922                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1923                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1924                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1925                         0x00000008, /* EMC_DLL_XFORM_DQS1 */
1926                         0x00000008, /* EMC_DLL_XFORM_DQS2 */
1927                         0x00000008, /* EMC_DLL_XFORM_DQS3 */
1928                         0x0000000b, /* EMC_DLL_XFORM_DQ1 */
1929                         0x0000000b, /* EMC_DLL_XFORM_DQ2 */
1930                         0x0000000b, /* EMC_DLL_XFORM_DQ3 */
1931                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1932                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1933                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1934                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1935                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1936                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1937                 },
1938                 {
1939                         0x00000000, /* EMC_CDB_CNTL_1 */
1940                         0x00000006, /* EMC_FBIO_CFG6 */
1941                         0x0000000b, /* EMC_QUSE */
1942                         0x00000008, /* EMC_EINPUT */
1943                         0x00000006, /* EMC_EINPUT_DURATION */
1944                         0x00000008, /* EMC_DLL_XFORM_DQS0 */
1945                         0x0000000d, /* EMC_QSAFE */
1946                         0x00000000, /* EMC_DLL_XFORM_QUSE0 */
1947                         0x00000014, /* EMC_RDV */
1948                         0x00249249, /* EMC_XM2DQSPADCTRL4 */
1949                         0x10410400, /* EMC_XM2DQSPADCTRL3 */
1950                         0x0000000b, /* EMC_DLL_XFORM_DQ0 */
1951                         0xa8f10f0f, /* EMC_AUTO_CAL_CONFIG */
1952                         0x00000008, /* EMC_DLL_XFORM_ADDR0 */
1953                         0x00000b0b, /* EMC_XM2CLKPADCTRL2 */
1954                         0x00000000, /* EMC_DLI_TRIM_TXDQS0 */
1955                         0x00000000, /* EMC_DLL_XFORM_ADDR1 */
1956                         0x00000000, /* EMC_DLL_XFORM_ADDR2 */
1957                         0x00000008, /* EMC_DLL_XFORM_DQS1 */
1958                         0x00000008, /* EMC_DLL_XFORM_DQS2 */
1959                         0x00000008, /* EMC_DLL_XFORM_DQS3 */
1960                         0x0000000b, /* EMC_DLL_XFORM_DQ1 */
1961                         0x0000000b, /* EMC_DLL_XFORM_DQ2 */
1962                         0x0000000b, /* EMC_DLL_XFORM_DQ3 */
1963                         0x00000000, /* EMC_DLI_TRIM_TXDQS1 */
1964                         0x00000000, /* EMC_DLI_TRIM_TXDQS2 */
1965                         0x00000000, /* EMC_DLI_TRIM_TXDQS3 */
1966                         0x00000000, /* EMC_DLL_XFORM_QUSE1 */
1967                         0x00000000, /* EMC_DLL_XFORM_QUSE2 */
1968                         0x00000000, /* EMC_DLL_XFORM_QUSE3 */
1969                 },
1970                 {
1971                         0x00000196, /* MC_PTSA_GRANT_DECREMENT */
1972                         0x00090009, /* MC_LATENCY_ALLOWANCE_G2_0 */
1973                         0x0009000a, /* MC_LATENCY_ALLOWANCE_G2_1 */
1974                         0x000b000c, /* MC_LATENCY_ALLOWANCE_NV_0 */
1975                         0x0000000c, /* MC_LATENCY_ALLOWANCE_NV2_0 */
1976                         0x000c000c, /* MC_LATENCY_ALLOWANCE_NV_2 */
1977                         0x0010000c, /* MC_LATENCY_ALLOWANCE_NV_1 */
1978                         0x00000010, /* MC_LATENCY_ALLOWANCE_NV2_1 */
1979                         0x00100010, /* MC_LATENCY_ALLOWANCE_NV3 */
1980                         0x006d0033, /* MC_LATENCY_ALLOWANCE_EPP_0 */
1981                         0x006d006d, /* MC_LATENCY_ALLOWANCE_EPP_1 */
1982                 },
1983                 0x00000042, /* EMC_ZCAL_WAIT_CNT after clock change */
1984                 0x00000001, /* EMC_AUTO_CAL_INTERVAL */
1985                 0x53200000, /* EMC_CFG */
1986                 0x80000d71, /* Mode Register 0 */
1987                 0x80100002, /* Mode Register 1 */
1988                 0x80200418, /* Mode Register 2 */
1989                 0x00000000, /* Mode Register 4 */
1990                 1200,       /* expected dvfs latency (ns) */
1991         },
1992 };
1993
1994 static struct tegra11_emc_pdata e1545_h5tc4g63mfr_pba_T40S_pdata = {
1995         .description = "e1545_h5tc4g63mfr_pba_T40S",
1996         .tables = e1545_h5tc4g63mfr_pba_T40S_table,
1997         .num_tables = ARRAY_SIZE(e1545_h5tc4g63mfr_pba_T40S_table),
1998 };
1999
2000 static struct tegra11_emc_pdata *macallan_get_emc_data(void)
2001 {
2002         return &e1545_h5tc4g63mfr_pba_T40S_pdata;
2003 }
2004
2005 int __init macallan_emc_init(void)
2006 {
2007         tegra_emc_device.dev.platform_data = macallan_get_emc_data();
2008         platform_device_register(&tegra_emc_device);
2009         tegra11_emc_init();
2010         return 0;
2011 }