interactive.c (f15ea6e1d67782a1626d4a4922b6c20e380085e5) interactive.c (34e026f9b1eb3bcffb38e7787c2e6eac0e88ba85)
1/*
1/*
2 * Copyright 2010-2012 Freescale Semiconductor, Inc.
2 * Copyright 2010-2014 Freescale Semiconductor, Inc.
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7/*
8 * Generic driver for Freescale DDR/DDR2/DDR3 memory controller.
9 * Based on code from spd_sdram.c
10 * Author: James Yang [at freescale.com]

--- 137 unchanged lines hidden (view full) ---

148 const char *optname_str,
149 const char *value_str)
150{
151 common_timing_params_t *p = &pinfo->common_timing_params[ctrl_num];
152
153 static const struct options_string options[] = {
154 COMMON_TIMING(tckmin_x_ps),
155 COMMON_TIMING(tckmax_ps),
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7/*
8 * Generic driver for Freescale DDR/DDR2/DDR3 memory controller.
9 * Based on code from spd_sdram.c
10 * Author: James Yang [at freescale.com]

--- 137 unchanged lines hidden (view full) ---

148 const char *optname_str,
149 const char *value_str)
150{
151 common_timing_params_t *p = &pinfo->common_timing_params[ctrl_num];
152
153 static const struct options_string options[] = {
154 COMMON_TIMING(tckmin_x_ps),
155 COMMON_TIMING(tckmax_ps),
156 COMMON_TIMING(tckmax_max_ps),
156 COMMON_TIMING(taamin_ps),
157 COMMON_TIMING(trcd_ps),
158 COMMON_TIMING(trp_ps),
159 COMMON_TIMING(tras_ps),
157 COMMON_TIMING(trcd_ps),
158 COMMON_TIMING(trp_ps),
159 COMMON_TIMING(tras_ps),
160 COMMON_TIMING(twr_ps),
160
161#ifdef CONFIG_SYS_FSL_DDR4
162 COMMON_TIMING(trfc1_ps),
163 COMMON_TIMING(trfc2_ps),
164 COMMON_TIMING(trfc4_ps),
165 COMMON_TIMING(trrds_ps),
166 COMMON_TIMING(trrdl_ps),
167 COMMON_TIMING(tccdl_ps),
168#else
161 COMMON_TIMING(twtr_ps),
162 COMMON_TIMING(trfc_ps),
163 COMMON_TIMING(trrd_ps),
169 COMMON_TIMING(twtr_ps),
170 COMMON_TIMING(trfc_ps),
171 COMMON_TIMING(trrd_ps),
172 COMMON_TIMING(trtp_ps),
173#endif
174 COMMON_TIMING(twr_ps),
164 COMMON_TIMING(trc_ps),
165 COMMON_TIMING(refresh_rate_ps),
175 COMMON_TIMING(trc_ps),
176 COMMON_TIMING(refresh_rate_ps),
177 COMMON_TIMING(extended_op_srt),
178#if defined(CONFIG_SYS_FSL_DDR1) || defined(CONFIG_SYS_FSL_DDR2)
166 COMMON_TIMING(tis_ps),
167 COMMON_TIMING(tih_ps),
168 COMMON_TIMING(tds_ps),
169 COMMON_TIMING(tdh_ps),
179 COMMON_TIMING(tis_ps),
180 COMMON_TIMING(tih_ps),
181 COMMON_TIMING(tds_ps),
182 COMMON_TIMING(tdh_ps),
170 COMMON_TIMING(trtp_ps),
171 COMMON_TIMING(tdqsq_max_ps),
172 COMMON_TIMING(tqhs_ps),
183 COMMON_TIMING(tdqsq_max_ps),
184 COMMON_TIMING(tqhs_ps),
185#endif
173 COMMON_TIMING(ndimms_present),
186 COMMON_TIMING(ndimms_present),
174 COMMON_TIMING(lowest_common_SPD_caslat),
187 COMMON_TIMING(lowest_common_spd_caslat),
175 COMMON_TIMING(highest_common_derated_caslat),
176 COMMON_TIMING(additive_latency),
177 COMMON_TIMING(all_dimms_burst_lengths_bitmask),
178 COMMON_TIMING(all_dimms_registered),
179 COMMON_TIMING(all_dimms_unbuffered),
180 COMMON_TIMING(all_dimms_ecc_capable),
181 COMMON_TIMING(total_mem),
182 COMMON_TIMING(base_address),

--- 23 unchanged lines hidden (view full) ---

206 DIMM_PARM(primary_sdram_width),
207 DIMM_PARM(ec_sdram_width),
208 DIMM_PARM(registered_dimm),
209 DIMM_PARM(device_width),
210
211 DIMM_PARM(n_row_addr),
212 DIMM_PARM(n_col_addr),
213 DIMM_PARM(edc_config),
188 COMMON_TIMING(highest_common_derated_caslat),
189 COMMON_TIMING(additive_latency),
190 COMMON_TIMING(all_dimms_burst_lengths_bitmask),
191 COMMON_TIMING(all_dimms_registered),
192 COMMON_TIMING(all_dimms_unbuffered),
193 COMMON_TIMING(all_dimms_ecc_capable),
194 COMMON_TIMING(total_mem),
195 COMMON_TIMING(base_address),

--- 23 unchanged lines hidden (view full) ---

219 DIMM_PARM(primary_sdram_width),
220 DIMM_PARM(ec_sdram_width),
221 DIMM_PARM(registered_dimm),
222 DIMM_PARM(device_width),
223
224 DIMM_PARM(n_row_addr),
225 DIMM_PARM(n_col_addr),
226 DIMM_PARM(edc_config),
227#ifdef CONFIG_SYS_FSL_DDR4
228 DIMM_PARM(bank_addr_bits),
229 DIMM_PARM(bank_group_bits),
230#else
214 DIMM_PARM(n_banks_per_sdram_device),
231 DIMM_PARM(n_banks_per_sdram_device),
232#endif
215 DIMM_PARM(burst_lengths_bitmask),
216 DIMM_PARM(row_density),
217
218 DIMM_PARM(tckmin_x_ps),
219 DIMM_PARM(tckmin_x_minus_1_ps),
220 DIMM_PARM(tckmin_x_minus_2_ps),
221 DIMM_PARM(tckmax_ps),
222
223 DIMM_PARM(caslat_x),
224 DIMM_PARM(caslat_x_minus_1),
225 DIMM_PARM(caslat_x_minus_2),
226
227 DIMM_PARM(caslat_lowest_derated),
228
229 DIMM_PARM(trcd_ps),
230 DIMM_PARM(trp_ps),
231 DIMM_PARM(tras_ps),
233 DIMM_PARM(burst_lengths_bitmask),
234 DIMM_PARM(row_density),
235
236 DIMM_PARM(tckmin_x_ps),
237 DIMM_PARM(tckmin_x_minus_1_ps),
238 DIMM_PARM(tckmin_x_minus_2_ps),
239 DIMM_PARM(tckmax_ps),
240
241 DIMM_PARM(caslat_x),
242 DIMM_PARM(caslat_x_minus_1),
243 DIMM_PARM(caslat_x_minus_2),
244
245 DIMM_PARM(caslat_lowest_derated),
246
247 DIMM_PARM(trcd_ps),
248 DIMM_PARM(trp_ps),
249 DIMM_PARM(tras_ps),
250#ifdef CONFIG_SYS_FSL_DDR4
251 DIMM_PARM(trfc1_ps),
252 DIMM_PARM(trfc2_ps),
253 DIMM_PARM(trfc4_ps),
254 DIMM_PARM(trrds_ps),
255 DIMM_PARM(trrdl_ps),
256 DIMM_PARM(tccdl_ps),
257#else
232 DIMM_PARM(twr_ps),
233 DIMM_PARM(twtr_ps),
234 DIMM_PARM(trfc_ps),
235 DIMM_PARM(trrd_ps),
258 DIMM_PARM(twr_ps),
259 DIMM_PARM(twtr_ps),
260 DIMM_PARM(trfc_ps),
261 DIMM_PARM(trrd_ps),
262 DIMM_PARM(trtp_ps),
263#endif
236 DIMM_PARM(trc_ps),
237 DIMM_PARM(refresh_rate_ps),
264 DIMM_PARM(trc_ps),
265 DIMM_PARM(refresh_rate_ps),
266 DIMM_PARM(extended_op_srt),
238
267
268#if defined(CONFIG_SYS_FSL_DDR1) || defined(CONFIG_SYS_FSL_DDR2)
239 DIMM_PARM(tis_ps),
240 DIMM_PARM(tih_ps),
241 DIMM_PARM(tds_ps),
242 DIMM_PARM(tdh_ps),
269 DIMM_PARM(tis_ps),
270 DIMM_PARM(tih_ps),
271 DIMM_PARM(tds_ps),
272 DIMM_PARM(tdh_ps),
243 DIMM_PARM(trtp_ps),
244 DIMM_PARM(tdqsq_max_ps),
245 DIMM_PARM(tqhs_ps),
273 DIMM_PARM(tdqsq_max_ps),
274 DIMM_PARM(tqhs_ps),
275#endif
246
247 DIMM_PARM(rank_density),
248 DIMM_PARM(capacity),
249 DIMM_PARM(base_address),
250 };
251
252 static const unsigned int n_opts = ARRAY_SIZE(options);
253

--- 11 unchanged lines hidden (view full) ---

265 DIMM_PARM(primary_sdram_width),
266 DIMM_PARM(ec_sdram_width),
267 DIMM_PARM(registered_dimm),
268 DIMM_PARM(device_width),
269
270 DIMM_PARM(n_row_addr),
271 DIMM_PARM(n_col_addr),
272 DIMM_PARM(edc_config),
276
277 DIMM_PARM(rank_density),
278 DIMM_PARM(capacity),
279 DIMM_PARM(base_address),
280 };
281
282 static const unsigned int n_opts = ARRAY_SIZE(options);
283

--- 11 unchanged lines hidden (view full) ---

295 DIMM_PARM(primary_sdram_width),
296 DIMM_PARM(ec_sdram_width),
297 DIMM_PARM(registered_dimm),
298 DIMM_PARM(device_width),
299
300 DIMM_PARM(n_row_addr),
301 DIMM_PARM(n_col_addr),
302 DIMM_PARM(edc_config),
303#ifdef CONFIG_SYS_FSL_DDR4
304 DIMM_PARM(bank_addr_bits),
305 DIMM_PARM(bank_group_bits),
306#else
273 DIMM_PARM(n_banks_per_sdram_device),
307 DIMM_PARM(n_banks_per_sdram_device),
308#endif
274
275 DIMM_PARM(tckmin_x_ps),
276 DIMM_PARM(tckmin_x_minus_1_ps),
277 DIMM_PARM(tckmin_x_minus_2_ps),
278 DIMM_PARM(tckmax_ps),
279
280 DIMM_PARM(caslat_x),
281 DIMM_PARM(taa_ps),
282 DIMM_PARM(caslat_x_minus_1),
283 DIMM_PARM(caslat_x_minus_2),
284 DIMM_PARM(caslat_lowest_derated),
285
286 DIMM_PARM(trcd_ps),
287 DIMM_PARM(trp_ps),
288 DIMM_PARM(tras_ps),
309
310 DIMM_PARM(tckmin_x_ps),
311 DIMM_PARM(tckmin_x_minus_1_ps),
312 DIMM_PARM(tckmin_x_minus_2_ps),
313 DIMM_PARM(tckmax_ps),
314
315 DIMM_PARM(caslat_x),
316 DIMM_PARM(taa_ps),
317 DIMM_PARM(caslat_x_minus_1),
318 DIMM_PARM(caslat_x_minus_2),
319 DIMM_PARM(caslat_lowest_derated),
320
321 DIMM_PARM(trcd_ps),
322 DIMM_PARM(trp_ps),
323 DIMM_PARM(tras_ps),
324#ifdef CONFIG_SYS_FSL_DDR4
325 DIMM_PARM(trfc1_ps),
326 DIMM_PARM(trfc2_ps),
327 DIMM_PARM(trfc4_ps),
328 DIMM_PARM(trrds_ps),
329 DIMM_PARM(trrdl_ps),
330 DIMM_PARM(tccdl_ps),
331#else
289 DIMM_PARM(twr_ps),
290 DIMM_PARM(twtr_ps),
291 DIMM_PARM(trfc_ps),
292 DIMM_PARM(trrd_ps),
332 DIMM_PARM(twr_ps),
333 DIMM_PARM(twtr_ps),
334 DIMM_PARM(trfc_ps),
335 DIMM_PARM(trrd_ps),
336 DIMM_PARM(trtp_ps),
337#endif
293 DIMM_PARM(trc_ps),
294 DIMM_PARM(refresh_rate_ps),
295
338 DIMM_PARM(trc_ps),
339 DIMM_PARM(refresh_rate_ps),
340
341#if defined(CONFIG_SYS_FSL_DDR1) || defined(CONFIG_SYS_FSL_DDR2)
296 DIMM_PARM(tis_ps),
297 DIMM_PARM(tih_ps),
298 DIMM_PARM(tds_ps),
299 DIMM_PARM(tdh_ps),
342 DIMM_PARM(tis_ps),
343 DIMM_PARM(tih_ps),
344 DIMM_PARM(tds_ps),
345 DIMM_PARM(tdh_ps),
300 DIMM_PARM(trtp_ps),
301 DIMM_PARM(tdqsq_max_ps),
302 DIMM_PARM(tqhs_ps),
346 DIMM_PARM(tdqsq_max_ps),
347 DIMM_PARM(tqhs_ps),
348#endif
303 };
304 static const unsigned int n_opts = ARRAY_SIZE(options);
305
306 if (pdimm->n_ranks == 0) {
307 printf("DIMM not present\n");
308 return;
309 }
310 printf("DIMM organization parameters:\n");

--- 10 unchanged lines hidden (view full) ---

321 pdimm->base_address & 0xFFFFFFFF);
322 print_option_table(options, n_opts, pdimm);
323}
324
325static void print_lowest_common_dimm_parameters(
326 const common_timing_params_t *plcd_dimm_params)
327{
328 static const struct options_string options[] = {
349 };
350 static const unsigned int n_opts = ARRAY_SIZE(options);
351
352 if (pdimm->n_ranks == 0) {
353 printf("DIMM not present\n");
354 return;
355 }
356 printf("DIMM organization parameters:\n");

--- 10 unchanged lines hidden (view full) ---

367 pdimm->base_address & 0xFFFFFFFF);
368 print_option_table(options, n_opts, pdimm);
369}
370
371static void print_lowest_common_dimm_parameters(
372 const common_timing_params_t *plcd_dimm_params)
373{
374 static const struct options_string options[] = {
329 COMMON_TIMING(tckmax_max_ps),
375 COMMON_TIMING(taamin_ps),
330 COMMON_TIMING(trcd_ps),
331 COMMON_TIMING(trp_ps),
332 COMMON_TIMING(tras_ps),
376 COMMON_TIMING(trcd_ps),
377 COMMON_TIMING(trp_ps),
378 COMMON_TIMING(tras_ps),
333 COMMON_TIMING(twr_ps),
379#ifdef CONFIG_SYS_FSL_DDR4
380 COMMON_TIMING(trfc1_ps),
381 COMMON_TIMING(trfc2_ps),
382 COMMON_TIMING(trfc4_ps),
383 COMMON_TIMING(trrds_ps),
384 COMMON_TIMING(trrdl_ps),
385 COMMON_TIMING(tccdl_ps),
386#else
334 COMMON_TIMING(twtr_ps),
335 COMMON_TIMING(trfc_ps),
336 COMMON_TIMING(trrd_ps),
387 COMMON_TIMING(twtr_ps),
388 COMMON_TIMING(trfc_ps),
389 COMMON_TIMING(trrd_ps),
390 COMMON_TIMING(trtp_ps),
391#endif
392 COMMON_TIMING(twr_ps),
337 COMMON_TIMING(trc_ps),
338 COMMON_TIMING(refresh_rate_ps),
393 COMMON_TIMING(trc_ps),
394 COMMON_TIMING(refresh_rate_ps),
395 COMMON_TIMING(extended_op_srt),
396#if defined(CONFIG_SYS_FSL_DDR1) || defined(CONFIG_SYS_FSL_DDR2)
339 COMMON_TIMING(tis_ps),
397 COMMON_TIMING(tis_ps),
398 COMMON_TIMING(tih_ps),
340 COMMON_TIMING(tds_ps),
341 COMMON_TIMING(tdh_ps),
399 COMMON_TIMING(tds_ps),
400 COMMON_TIMING(tdh_ps),
342 COMMON_TIMING(trtp_ps),
343 COMMON_TIMING(tdqsq_max_ps),
344 COMMON_TIMING(tqhs_ps),
401 COMMON_TIMING(tdqsq_max_ps),
402 COMMON_TIMING(tqhs_ps),
345 COMMON_TIMING(lowest_common_SPD_caslat),
403#endif
404 COMMON_TIMING(lowest_common_spd_caslat),
346 COMMON_TIMING(highest_common_derated_caslat),
347 COMMON_TIMING(additive_latency),
348 COMMON_TIMING(ndimms_present),
349 COMMON_TIMING(all_dimms_registered),
350 COMMON_TIMING(all_dimms_unbuffered),
351 COMMON_TIMING(all_dimms_ecc_capable),
352 };
353 static const unsigned int n_opts = ARRAY_SIZE(options);

--- 101 unchanged lines hidden (view full) ---

455 CTRL_OPTIONS(rcw_1),
456 CTRL_OPTIONS(rcw_2),
457 CTRL_OPTIONS(ddr_cdr1),
458 CTRL_OPTIONS(ddr_cdr2),
459 CTRL_OPTIONS(tcke_clock_pulse_width_ps),
460 CTRL_OPTIONS(tfaw_window_four_activates_ps),
461 CTRL_OPTIONS(trwt_override),
462 CTRL_OPTIONS(trwt),
405 COMMON_TIMING(highest_common_derated_caslat),
406 COMMON_TIMING(additive_latency),
407 COMMON_TIMING(ndimms_present),
408 COMMON_TIMING(all_dimms_registered),
409 COMMON_TIMING(all_dimms_unbuffered),
410 COMMON_TIMING(all_dimms_ecc_capable),
411 };
412 static const unsigned int n_opts = ARRAY_SIZE(options);

--- 101 unchanged lines hidden (view full) ---

514 CTRL_OPTIONS(rcw_1),
515 CTRL_OPTIONS(rcw_2),
516 CTRL_OPTIONS(ddr_cdr1),
517 CTRL_OPTIONS(ddr_cdr2),
518 CTRL_OPTIONS(tcke_clock_pulse_width_ps),
519 CTRL_OPTIONS(tfaw_window_four_activates_ps),
520 CTRL_OPTIONS(trwt_override),
521 CTRL_OPTIONS(trwt),
522 CTRL_OPTIONS(rtt_override),
523 CTRL_OPTIONS(rtt_override_value),
524 CTRL_OPTIONS(rtt_wr_override_value),
463 };
464
465 static const unsigned int n_opts = ARRAY_SIZE(options);
466
467 if (handle_option_table(options, n_opts, p,
468 optname_str, value_str))
469 return;
470

--- 29 unchanged lines hidden (view full) ---

500 CFG_REGS_CS(3, config_2),
501#endif
502 CFG_REGS(timing_cfg_3),
503 CFG_REGS(timing_cfg_0),
504 CFG_REGS(timing_cfg_1),
505 CFG_REGS(timing_cfg_2),
506 CFG_REGS(ddr_sdram_cfg),
507 CFG_REGS(ddr_sdram_cfg_2),
525 };
526
527 static const unsigned int n_opts = ARRAY_SIZE(options);
528
529 if (handle_option_table(options, n_opts, p,
530 optname_str, value_str))
531 return;
532

--- 29 unchanged lines hidden (view full) ---

562 CFG_REGS_CS(3, config_2),
563#endif
564 CFG_REGS(timing_cfg_3),
565 CFG_REGS(timing_cfg_0),
566 CFG_REGS(timing_cfg_1),
567 CFG_REGS(timing_cfg_2),
568 CFG_REGS(ddr_sdram_cfg),
569 CFG_REGS(ddr_sdram_cfg_2),
570 CFG_REGS(ddr_sdram_cfg_3),
508 CFG_REGS(ddr_sdram_mode),
509 CFG_REGS(ddr_sdram_mode_2),
510 CFG_REGS(ddr_sdram_mode_3),
511 CFG_REGS(ddr_sdram_mode_4),
512 CFG_REGS(ddr_sdram_mode_5),
513 CFG_REGS(ddr_sdram_mode_6),
514 CFG_REGS(ddr_sdram_mode_7),
515 CFG_REGS(ddr_sdram_mode_8),
571 CFG_REGS(ddr_sdram_mode),
572 CFG_REGS(ddr_sdram_mode_2),
573 CFG_REGS(ddr_sdram_mode_3),
574 CFG_REGS(ddr_sdram_mode_4),
575 CFG_REGS(ddr_sdram_mode_5),
576 CFG_REGS(ddr_sdram_mode_6),
577 CFG_REGS(ddr_sdram_mode_7),
578 CFG_REGS(ddr_sdram_mode_8),
579#ifdef CONFIG_SYS_FSL_DDR4
580 CFG_REGS(ddr_sdram_mode_9),
581 CFG_REGS(ddr_sdram_mode_10),
582 CFG_REGS(ddr_sdram_mode_11),
583 CFG_REGS(ddr_sdram_mode_12),
584 CFG_REGS(ddr_sdram_mode_13),
585 CFG_REGS(ddr_sdram_mode_14),
586 CFG_REGS(ddr_sdram_mode_15),
587 CFG_REGS(ddr_sdram_mode_16),
588#endif
516 CFG_REGS(ddr_sdram_interval),
517 CFG_REGS(ddr_data_init),
518 CFG_REGS(ddr_sdram_clk_cntl),
519 CFG_REGS(ddr_init_addr),
520 CFG_REGS(ddr_init_ext_addr),
521 CFG_REGS(timing_cfg_4),
522 CFG_REGS(timing_cfg_5),
589 CFG_REGS(ddr_sdram_interval),
590 CFG_REGS(ddr_data_init),
591 CFG_REGS(ddr_sdram_clk_cntl),
592 CFG_REGS(ddr_init_addr),
593 CFG_REGS(ddr_init_ext_addr),
594 CFG_REGS(timing_cfg_4),
595 CFG_REGS(timing_cfg_5),
596#ifdef CONFIG_SYS_FSL_DDR4
597 CFG_REGS(timing_cfg_6),
598 CFG_REGS(timing_cfg_7),
599 CFG_REGS(timing_cfg_8),
600 CFG_REGS(timing_cfg_9),
601#endif
523 CFG_REGS(ddr_zq_cntl),
524 CFG_REGS(ddr_wrlvl_cntl),
525 CFG_REGS(ddr_wrlvl_cntl_2),
526 CFG_REGS(ddr_wrlvl_cntl_3),
527 CFG_REGS(ddr_sr_cntr),
528 CFG_REGS(ddr_sdram_rcw_1),
529 CFG_REGS(ddr_sdram_rcw_2),
530 CFG_REGS(ddr_cdr1),
531 CFG_REGS(ddr_cdr2),
602 CFG_REGS(ddr_zq_cntl),
603 CFG_REGS(ddr_wrlvl_cntl),
604 CFG_REGS(ddr_wrlvl_cntl_2),
605 CFG_REGS(ddr_wrlvl_cntl_3),
606 CFG_REGS(ddr_sr_cntr),
607 CFG_REGS(ddr_sdram_rcw_1),
608 CFG_REGS(ddr_sdram_rcw_2),
609 CFG_REGS(ddr_cdr1),
610 CFG_REGS(ddr_cdr2),
611 CFG_REGS(dq_map_0),
612 CFG_REGS(dq_map_1),
613 CFG_REGS(dq_map_2),
614 CFG_REGS(dq_map_3),
532 CFG_REGS(err_disable),
533 CFG_REGS(err_int_en),
534 CFG_REGS(ddr_eor),
535 };
536 static const unsigned int n_opts = ARRAY_SIZE(options);
537
538 print_option_table(options, n_opts, ddr);
539

--- 29 unchanged lines hidden (view full) ---

569 CFG_REGS_CS(3, config_2),
570#endif
571 CFG_REGS(timing_cfg_3),
572 CFG_REGS(timing_cfg_0),
573 CFG_REGS(timing_cfg_1),
574 CFG_REGS(timing_cfg_2),
575 CFG_REGS(ddr_sdram_cfg),
576 CFG_REGS(ddr_sdram_cfg_2),
615 CFG_REGS(err_disable),
616 CFG_REGS(err_int_en),
617 CFG_REGS(ddr_eor),
618 };
619 static const unsigned int n_opts = ARRAY_SIZE(options);
620
621 print_option_table(options, n_opts, ddr);
622

--- 29 unchanged lines hidden (view full) ---

652 CFG_REGS_CS(3, config_2),
653#endif
654 CFG_REGS(timing_cfg_3),
655 CFG_REGS(timing_cfg_0),
656 CFG_REGS(timing_cfg_1),
657 CFG_REGS(timing_cfg_2),
658 CFG_REGS(ddr_sdram_cfg),
659 CFG_REGS(ddr_sdram_cfg_2),
660 CFG_REGS(ddr_sdram_cfg_3),
577 CFG_REGS(ddr_sdram_mode),
578 CFG_REGS(ddr_sdram_mode_2),
579 CFG_REGS(ddr_sdram_mode_3),
580 CFG_REGS(ddr_sdram_mode_4),
581 CFG_REGS(ddr_sdram_mode_5),
582 CFG_REGS(ddr_sdram_mode_6),
583 CFG_REGS(ddr_sdram_mode_7),
584 CFG_REGS(ddr_sdram_mode_8),
661 CFG_REGS(ddr_sdram_mode),
662 CFG_REGS(ddr_sdram_mode_2),
663 CFG_REGS(ddr_sdram_mode_3),
664 CFG_REGS(ddr_sdram_mode_4),
665 CFG_REGS(ddr_sdram_mode_5),
666 CFG_REGS(ddr_sdram_mode_6),
667 CFG_REGS(ddr_sdram_mode_7),
668 CFG_REGS(ddr_sdram_mode_8),
669#ifdef CONFIG_SYS_FSL_DDR4
670 CFG_REGS(ddr_sdram_mode_9),
671 CFG_REGS(ddr_sdram_mode_10),
672 CFG_REGS(ddr_sdram_mode_11),
673 CFG_REGS(ddr_sdram_mode_12),
674 CFG_REGS(ddr_sdram_mode_13),
675 CFG_REGS(ddr_sdram_mode_14),
676 CFG_REGS(ddr_sdram_mode_15),
677 CFG_REGS(ddr_sdram_mode_16),
678#endif
585 CFG_REGS(ddr_sdram_interval),
586 CFG_REGS(ddr_data_init),
587 CFG_REGS(ddr_sdram_clk_cntl),
588 CFG_REGS(ddr_init_addr),
589 CFG_REGS(ddr_init_ext_addr),
590 CFG_REGS(timing_cfg_4),
591 CFG_REGS(timing_cfg_5),
679 CFG_REGS(ddr_sdram_interval),
680 CFG_REGS(ddr_data_init),
681 CFG_REGS(ddr_sdram_clk_cntl),
682 CFG_REGS(ddr_init_addr),
683 CFG_REGS(ddr_init_ext_addr),
684 CFG_REGS(timing_cfg_4),
685 CFG_REGS(timing_cfg_5),
686#ifdef CONFIG_SYS_FSL_DDR4
687 CFG_REGS(timing_cfg_6),
688 CFG_REGS(timing_cfg_7),
689 CFG_REGS(timing_cfg_8),
690 CFG_REGS(timing_cfg_9),
691#endif
592 CFG_REGS(ddr_zq_cntl),
593 CFG_REGS(ddr_wrlvl_cntl),
594 CFG_REGS(ddr_wrlvl_cntl_2),
595 CFG_REGS(ddr_wrlvl_cntl_3),
596 CFG_REGS(ddr_sr_cntr),
597 CFG_REGS(ddr_sdram_rcw_1),
598 CFG_REGS(ddr_sdram_rcw_2),
599 CFG_REGS(ddr_cdr1),
600 CFG_REGS(ddr_cdr2),
692 CFG_REGS(ddr_zq_cntl),
693 CFG_REGS(ddr_wrlvl_cntl),
694 CFG_REGS(ddr_wrlvl_cntl_2),
695 CFG_REGS(ddr_wrlvl_cntl_3),
696 CFG_REGS(ddr_sr_cntr),
697 CFG_REGS(ddr_sdram_rcw_1),
698 CFG_REGS(ddr_sdram_rcw_2),
699 CFG_REGS(ddr_cdr1),
700 CFG_REGS(ddr_cdr2),
701 CFG_REGS(dq_map_0),
702 CFG_REGS(dq_map_1),
703 CFG_REGS(dq_map_2),
704 CFG_REGS(dq_map_3),
601 CFG_REGS(err_disable),
602 CFG_REGS(err_int_en),
603 CFG_REGS(ddr_sdram_rcw_2),
604 CFG_REGS(ddr_sdram_rcw_2),
605 CFG_REGS(ddr_eor),
606 };
607 static const unsigned int n_opts = ARRAY_SIZE(options);
608

--- 91 unchanged lines hidden (view full) ---

700 CTRL_OPTIONS(rcw_1),
701 CTRL_OPTIONS(rcw_2),
702 CTRL_OPTIONS_HEX(ddr_cdr1),
703 CTRL_OPTIONS_HEX(ddr_cdr2),
704 CTRL_OPTIONS(tcke_clock_pulse_width_ps),
705 CTRL_OPTIONS(tfaw_window_four_activates_ps),
706 CTRL_OPTIONS(trwt_override),
707 CTRL_OPTIONS(trwt),
705 CFG_REGS(err_disable),
706 CFG_REGS(err_int_en),
707 CFG_REGS(ddr_sdram_rcw_2),
708 CFG_REGS(ddr_sdram_rcw_2),
709 CFG_REGS(ddr_eor),
710 };
711 static const unsigned int n_opts = ARRAY_SIZE(options);
712

--- 91 unchanged lines hidden (view full) ---

804 CTRL_OPTIONS(rcw_1),
805 CTRL_OPTIONS(rcw_2),
806 CTRL_OPTIONS_HEX(ddr_cdr1),
807 CTRL_OPTIONS_HEX(ddr_cdr2),
808 CTRL_OPTIONS(tcke_clock_pulse_width_ps),
809 CTRL_OPTIONS(tfaw_window_four_activates_ps),
810 CTRL_OPTIONS(trwt_override),
811 CTRL_OPTIONS(trwt),
812 CTRL_OPTIONS(rtt_override),
813 CTRL_OPTIONS(rtt_override_value),
814 CTRL_OPTIONS(rtt_wr_override_value),
708 };
709 static const unsigned int n_opts = ARRAY_SIZE(options);
710
711 print_option_table(options, n_opts, popts);
712}
713
714#ifdef CONFIG_SYS_FSL_DDR1
715void ddr1_spd_dump(const ddr1_spd_eeprom_t *spd)

--- 524 unchanged lines hidden (view full) ---

1240 printf("%-3d-%3d: ", 176, 255);
1241 for (i = 176; i <= 255; i++)
1242 printf("%02x", spd->cust[i - 176]);
1243 printf(" Mfg's Specific Data\n");
1244
1245}
1246#endif
1247
815 };
816 static const unsigned int n_opts = ARRAY_SIZE(options);
817
818 print_option_table(options, n_opts, popts);
819}
820
821#ifdef CONFIG_SYS_FSL_DDR1
822void ddr1_spd_dump(const ddr1_spd_eeprom_t *spd)

--- 524 unchanged lines hidden (view full) ---

1347 printf("%-3d-%3d: ", 176, 255);
1348 for (i = 176; i <= 255; i++)
1349 printf("%02x", spd->cust[i - 176]);
1350 printf(" Mfg's Specific Data\n");
1351
1352}
1353#endif
1354
1355#ifdef CONFIG_SYS_FSL_DDR4
1356void ddr4_spd_dump(const struct ddr4_spd_eeprom_s *spd)
1357{
1358 unsigned int i;
1359
1360 /* General Section: Bytes 0-127 */
1361
1362#define PRINT_NXS(x, y, z...) printf("%-3d : %02x " z "\n", x, (u8)y);
1363#define PRINT_NNXXS(n0, n1, x0, x1, s) \
1364 printf("%-3d-%3d: %02x %02x " s "\n", n0, n1, x0, x1);
1365
1366 PRINT_NXS(0, spd->info_size_crc,
1367 "info_size_crc bytes written into serial memory, CRC coverage");
1368 PRINT_NXS(1, spd->spd_rev,
1369 "spd_rev SPD Revision");
1370 PRINT_NXS(2, spd->mem_type,
1371 "mem_type Key Byte / DRAM Device Type");
1372 PRINT_NXS(3, spd->module_type,
1373 "module_type Key Byte / Module Type");
1374 PRINT_NXS(4, spd->density_banks,
1375 "density_banks SDRAM Density and Banks");
1376 PRINT_NXS(5, spd->addressing,
1377 "addressing SDRAM Addressing");
1378 PRINT_NXS(6, spd->package_type,
1379 "package_type Package type");
1380 PRINT_NXS(7, spd->opt_feature,
1381 "opt_feature Optional features");
1382 PRINT_NXS(8, spd->thermal_ref,
1383 "thermal_ref Thermal and Refresh options");
1384 PRINT_NXS(9, spd->oth_opt_features,
1385 "oth_opt_features Other SDRAM optional features");
1386 PRINT_NXS(10, spd->res_10,
1387 "res_10 Reserved");
1388 PRINT_NXS(11, spd->module_vdd,
1389 "module_vdd Module Nominal Voltage, VDD");
1390 PRINT_NXS(12, spd->organization,
1391 "organization Module Organization");
1392 PRINT_NXS(13, spd->bus_width,
1393 "bus_width Module Memory Bus Width");
1394 PRINT_NXS(14, spd->therm_sensor,
1395 "therm_sensor Module Thermal Sensor");
1396 PRINT_NXS(15, spd->ext_type,
1397 "ext_type Extended module type");
1398 PRINT_NXS(16, spd->res_16,
1399 "res_16 Reserved");
1400 PRINT_NXS(17, spd->timebases,
1401 "timebases MTb and FTB");
1402 PRINT_NXS(18, spd->tck_min,
1403 "tck_min tCKAVGmin");
1404 PRINT_NXS(19, spd->tck_max,
1405 "tck_max TCKAVGmax");
1406 PRINT_NXS(20, spd->caslat_b1,
1407 "caslat_b1 CAS latencies, 1st byte");
1408 PRINT_NXS(21, spd->caslat_b2,
1409 "caslat_b2 CAS latencies, 2nd byte");
1410 PRINT_NXS(22, spd->caslat_b3,
1411 "caslat_b3 CAS latencies, 3rd byte ");
1412 PRINT_NXS(23, spd->caslat_b4,
1413 "caslat_b4 CAS latencies, 4th byte");
1414 PRINT_NXS(24, spd->taa_min,
1415 "taa_min Min CAS Latency Time");
1416 PRINT_NXS(25, spd->trcd_min,
1417 "trcd_min Min RAS# to CAS# Delay Time");
1418 PRINT_NXS(26, spd->trp_min,
1419 "trp_min Min Row Precharge Delay Time");
1420 PRINT_NXS(27, spd->tras_trc_ext,
1421 "tras_trc_ext Upper Nibbles for tRAS and tRC");
1422 PRINT_NXS(28, spd->tras_min_lsb,
1423 "tras_min_lsb tRASmin, lsb");
1424 PRINT_NXS(29, spd->trc_min_lsb,
1425 "trc_min_lsb tRCmin, lsb");
1426 PRINT_NXS(30, spd->trfc1_min_lsb,
1427 "trfc1_min_lsb Min Refresh Recovery Delay Time, LSB");
1428 PRINT_NXS(31, spd->trfc1_min_msb,
1429 "trfc1_min_msb Min Refresh Recovery Delay Time, MSB ");
1430 PRINT_NXS(32, spd->trfc2_min_lsb,
1431 "trfc2_min_lsb Min Refresh Recovery Delay Time, LSB");
1432 PRINT_NXS(33, spd->trfc2_min_msb,
1433 "trfc2_min_msb Min Refresh Recovery Delay Time, MSB");
1434 PRINT_NXS(34, spd->trfc4_min_lsb,
1435 "trfc4_min_lsb Min Refresh Recovery Delay Time, LSB");
1436 PRINT_NXS(35, spd->trfc4_min_msb,
1437 "trfc4_min_msb Min Refresh Recovery Delay Time, MSB");
1438 PRINT_NXS(36, spd->tfaw_msb,
1439 "tfaw_msb Upper Nibble for tFAW");
1440 PRINT_NXS(37, spd->tfaw_min,
1441 "tfaw_min tFAW, lsb");
1442 PRINT_NXS(38, spd->trrds_min,
1443 "trrds_min tRRD_Smin, MTB");
1444 PRINT_NXS(39, spd->trrdl_min,
1445 "trrdl_min tRRD_Lmin, MTB");
1446 PRINT_NXS(40, spd->tccdl_min,
1447 "tccdl_min tCCS_Lmin, MTB");
1448
1449 printf("%-3d-%3d: ", 41, 59); /* Reserved, General Section */
1450 for (i = 41; i <= 59; i++)
1451 printf("%02x ", spd->res_41[i - 41]);
1452
1453 puts("\n");
1454 printf("%-3d-%3d: ", 60, 77);
1455 for (i = 60; i <= 77; i++)
1456 printf("%02x ", spd->mapping[i - 60]);
1457 puts(" mapping[] Connector to SDRAM bit map\n");
1458
1459 PRINT_NXS(117, spd->fine_tccdl_min,
1460 "fine_tccdl_min Fine offset for tCCD_Lmin");
1461 PRINT_NXS(118, spd->fine_trrdl_min,
1462 "fine_trrdl_min Fine offset for tRRD_Lmin");
1463 PRINT_NXS(119, spd->fine_trrds_min,
1464 "fine_trrds_min Fine offset for tRRD_Smin");
1465 PRINT_NXS(120, spd->fine_trc_min,
1466 "fine_trc_min Fine offset for tRCmin");
1467 PRINT_NXS(121, spd->fine_trp_min,
1468 "fine_trp_min Fine offset for tRPmin");
1469 PRINT_NXS(122, spd->fine_trcd_min,
1470 "fine_trcd_min Fine offset for tRCDmin");
1471 PRINT_NXS(123, spd->fine_taa_min,
1472 "fine_taa_min Fine offset for tAAmin");
1473 PRINT_NXS(124, spd->fine_tck_max,
1474 "fine_tck_max Fine offset for tCKAVGmax");
1475 PRINT_NXS(125, spd->fine_tck_min,
1476 "fine_tck_min Fine offset for tCKAVGmin");
1477
1478 /* CRC: Bytes 126-127 */
1479 PRINT_NNXXS(126, 127, spd->crc[0], spd->crc[1], " SPD CRC");
1480
1481 switch (spd->module_type) {
1482 case 0x02: /* UDIMM */
1483 case 0x03: /* SO-DIMM */
1484 PRINT_NXS(128, spd->mod_section.unbuffered.mod_height,
1485 "mod_height (Unbuffered) Module Nominal Height");
1486 PRINT_NXS(129, spd->mod_section.unbuffered.mod_thickness,
1487 "mod_thickness (Unbuffered) Module Maximum Thickness");
1488 PRINT_NXS(130, spd->mod_section.unbuffered.ref_raw_card,
1489 "ref_raw_card (Unbuffered) Reference Raw Card Used");
1490 PRINT_NXS(131, spd->mod_section.unbuffered.addr_mapping,
1491 "addr_mapping (Unbuffered) Address mapping from Edge Connector to DRAM");
1492 PRINT_NNXXS(254, 255, spd->mod_section.unbuffered.crc[0],
1493 spd->mod_section.unbuffered.crc[1], " Module CRC");
1494 break;
1495 case 0x01: /* RDIMM */
1496 PRINT_NXS(128, spd->mod_section.registered.mod_height,
1497 "mod_height (Registered) Module Nominal Height");
1498 PRINT_NXS(129, spd->mod_section.registered.mod_thickness,
1499 "mod_thickness (Registered) Module Maximum Thickness");
1500 PRINT_NXS(130, spd->mod_section.registered.ref_raw_card,
1501 "ref_raw_card (Registered) Reference Raw Card Used");
1502 PRINT_NXS(131, spd->mod_section.registered.modu_attr,
1503 "modu_attr (Registered) DIMM Module Attributes");
1504 PRINT_NXS(132, spd->mod_section.registered.thermal,
1505 "thermal (Registered) Thermal Heat Spreader Solution");
1506 PRINT_NXS(133, spd->mod_section.registered.reg_id_lo,
1507 "reg_id_lo (Registered) Register Manufacturer ID Code, LSB");
1508 PRINT_NXS(134, spd->mod_section.registered.reg_id_hi,
1509 "reg_id_hi (Registered) Register Manufacturer ID Code, MSB");
1510 PRINT_NXS(135, spd->mod_section.registered.reg_rev,
1511 "reg_rev (Registered) Register Revision Number");
1512 PRINT_NXS(136, spd->mod_section.registered.reg_map,
1513 "reg_map (Registered) Address mapping");
1514 PRINT_NNXXS(254, 255, spd->mod_section.registered.crc[0],
1515 spd->mod_section.registered.crc[1], " Module CRC");
1516 break;
1517 case 0x04: /* LRDIMM */
1518 PRINT_NXS(128, spd->mod_section.loadreduced.mod_height,
1519 "mod_height (Loadreduced) Module Nominal Height");
1520 PRINT_NXS(129, spd->mod_section.loadreduced.mod_thickness,
1521 "mod_thickness (Loadreduced) Module Maximum Thickness");
1522 PRINT_NXS(130, spd->mod_section.loadreduced.ref_raw_card,
1523 "ref_raw_card (Loadreduced) Reference Raw Card Used");
1524 PRINT_NXS(131, spd->mod_section.loadreduced.modu_attr,
1525 "modu_attr (Loadreduced) DIMM Module Attributes");
1526 PRINT_NXS(132, spd->mod_section.loadreduced.thermal,
1527 "thermal (Loadreduced) Thermal Heat Spreader Solution");
1528 PRINT_NXS(133, spd->mod_section.loadreduced.reg_id_lo,
1529 "reg_id_lo (Loadreduced) Register Manufacturer ID Code, LSB");
1530 PRINT_NXS(134, spd->mod_section.loadreduced.reg_id_hi,
1531 "reg_id_hi (Loadreduced) Register Manufacturer ID Code, MSB");
1532 PRINT_NXS(135, spd->mod_section.loadreduced.reg_rev,
1533 "reg_rev (Loadreduced) Register Revision Number");
1534 PRINT_NXS(136, spd->mod_section.loadreduced.reg_map,
1535 "reg_map (Loadreduced) Address mapping");
1536 PRINT_NXS(137, spd->mod_section.loadreduced.reg_drv,
1537 "reg_drv (Loadreduced) Reg output drive strength");
1538 PRINT_NXS(138, spd->mod_section.loadreduced.reg_drv_ck,
1539 "reg_drv_ck (Loadreduced) Reg output drive strength for CK");
1540 PRINT_NXS(139, spd->mod_section.loadreduced.data_buf_rev,
1541 "data_buf_rev (Loadreduced) Data Buffer Revision Numbe");
1542 PRINT_NXS(140, spd->mod_section.loadreduced.vrefqe_r0,
1543 "vrefqe_r0 (Loadreduced) DRAM VrefDQ for Package Rank 0");
1544 PRINT_NXS(141, spd->mod_section.loadreduced.vrefqe_r1,
1545 "vrefqe_r1 (Loadreduced) DRAM VrefDQ for Package Rank 1");
1546 PRINT_NXS(142, spd->mod_section.loadreduced.vrefqe_r2,
1547 "vrefqe_r2 (Loadreduced) DRAM VrefDQ for Package Rank 2");
1548 PRINT_NXS(143, spd->mod_section.loadreduced.vrefqe_r3,
1549 "vrefqe_r3 (Loadreduced) DRAM VrefDQ for Package Rank 3");
1550 PRINT_NXS(144, spd->mod_section.loadreduced.data_intf,
1551 "data_intf (Loadreduced) Data Buffer VrefDQ for DRAM Interface");
1552 PRINT_NXS(145, spd->mod_section.loadreduced.data_drv_1866,
1553 "data_drv_1866 (Loadreduced) Data Buffer MDQ Drive Strength and RTT");
1554 PRINT_NXS(146, spd->mod_section.loadreduced.data_drv_2400,
1555 "data_drv_2400 (Loadreduced) Data Buffer MDQ Drive Strength and RTT");
1556 PRINT_NXS(147, spd->mod_section.loadreduced.data_drv_3200,
1557 "data_drv_3200 (Loadreduced) Data Buffer MDQ Drive Strength and RTT");
1558 PRINT_NXS(148, spd->mod_section.loadreduced.dram_drv,
1559 "dram_drv (Loadreduced) DRAM Drive Strength");
1560 PRINT_NXS(149, spd->mod_section.loadreduced.dram_odt_1866,
1561 "dram_odt_1866 (Loadreduced) DRAM ODT (RTT_WR, RTT_NOM)");
1562 PRINT_NXS(150, spd->mod_section.loadreduced.dram_odt_2400,
1563 "dram_odt_2400 (Loadreduced) DRAM ODT (RTT_WR, RTT_NOM)");
1564 PRINT_NXS(151, spd->mod_section.loadreduced.dram_odt_3200,
1565 "dram_odt_3200 (Loadreduced) DRAM ODT (RTT_WR, RTT_NOM)");
1566 PRINT_NXS(152, spd->mod_section.loadreduced.dram_odt_park_1866,
1567 "dram_odt_park_1866 (Loadreduced) DRAM ODT (RTT_PARK)");
1568 PRINT_NXS(153, spd->mod_section.loadreduced.dram_odt_park_2400,
1569 "dram_odt_park_2400 (Loadreduced) DRAM ODT (RTT_PARK)");
1570 PRINT_NXS(154, spd->mod_section.loadreduced.dram_odt_park_3200,
1571 "dram_odt_park_3200 (Loadreduced) DRAM ODT (RTT_PARK)");
1572 PRINT_NNXXS(254, 255, spd->mod_section.loadreduced.crc[0],
1573 spd->mod_section.loadreduced.crc[1],
1574 " Module CRC");
1575 break;
1576 default:
1577 /* Module-specific Section, Unsupported Module Type */
1578 printf("%-3d-%3d: ", 128, 255);
1579
1580 for (i = 128; i <= 255; i++)
1581 printf("%02x", spd->mod_section.uc[i - 60]);
1582
1583 break;
1584 }
1585
1586 /* Unique Module ID: Bytes 320-383 */
1587 PRINT_NXS(320, spd->mmid_lsb, "Module MfgID Code LSB - JEP-106");
1588 PRINT_NXS(321, spd->mmid_msb, "Module MfgID Code MSB - JEP-106");
1589 PRINT_NXS(322, spd->mloc, "Mfg Location");
1590 PRINT_NNXXS(323, 324, spd->mdate[0], spd->mdate[1], "Mfg Date");
1591
1592 printf("%-3d-%3d: ", 325, 328);
1593
1594 for (i = 325; i <= 328; i++)
1595 printf("%02x ", spd->sernum[i - 325]);
1596 printf(" Module Serial Number\n");
1597
1598 printf("%-3d-%3d: ", 329, 348);
1599 for (i = 329; i <= 348; i++)
1600 printf("%02x ", spd->mpart[i - 329]);
1601 printf(" Mfg's Module Part Number\n");
1602
1603 PRINT_NXS(349, spd->mrev, "Module Revision code");
1604 PRINT_NXS(350, spd->dmid_lsb, "DRAM MfgID Code LSB - JEP-106");
1605 PRINT_NXS(351, spd->dmid_msb, "DRAM MfgID Code MSB - JEP-106");
1606 PRINT_NXS(352, spd->stepping, "DRAM stepping");
1607
1608 printf("%-3d-%3d: ", 353, 381);
1609 for (i = 353; i <= 381; i++)
1610 printf("%02x ", spd->msd[i - 353]);
1611 printf(" Mfg's Specific Data\n");
1612}
1613#endif
1614
1248static inline void generic_spd_dump(const generic_spd_eeprom_t *spd)
1249{
1250#if defined(CONFIG_SYS_FSL_DDR1)
1251 ddr1_spd_dump(spd);
1252#elif defined(CONFIG_SYS_FSL_DDR2)
1253 ddr2_spd_dump(spd);
1254#elif defined(CONFIG_SYS_FSL_DDR3)
1255 ddr3_spd_dump(spd);
1615static inline void generic_spd_dump(const generic_spd_eeprom_t *spd)
1616{
1617#if defined(CONFIG_SYS_FSL_DDR1)
1618 ddr1_spd_dump(spd);
1619#elif defined(CONFIG_SYS_FSL_DDR2)
1620 ddr2_spd_dump(spd);
1621#elif defined(CONFIG_SYS_FSL_DDR3)
1622 ddr3_spd_dump(spd);
1623#elif defined(CONFIG_SYS_FSL_DDR4)
1624 ddr4_spd_dump(spd);
1256#endif
1257}
1258
1259static void fsl_ddr_printinfo(const fsl_ddr_info_t *pinfo,
1260 unsigned int ctrl_mask,
1261 unsigned int dimm_mask,
1262 unsigned int do_mask)
1263{

--- 608 unchanged lines hidden ---
1625#endif
1626}
1627
1628static void fsl_ddr_printinfo(const fsl_ddr_info_t *pinfo,
1629 unsigned int ctrl_mask,
1630 unsigned int dimm_mask,
1631 unsigned int do_mask)
1632{

--- 608 unchanged lines hidden ---