]> git.sur5r.net Git - u-boot/blobdiff - drivers/ddr/fsl/interactive.c
drivers/ddr/fsl: Dual-license DDR driver
[u-boot] / drivers / ddr / fsl / interactive.c
index c99bd2fb6d014ffa306a42fc6f8c8c179a61bb18..f5c21e44685e7b99c5a03dec0888c4f27d815788 100644 (file)
@@ -1,7 +1,8 @@
 /*
- * Copyright 2010-2014 Freescale Semiconductor, Inc.
+ * Copyright 2010-2016 Freescale Semiconductor, Inc.
+ * Copyright 2017-2018 NXP Semiconductor
  *
- * SPDX-License-Identifier:    GPL-2.0+
+ * SPDX-License-Identifier:    GPL-2.0+        BSD-3-Clause
  */
 
 /*
@@ -168,6 +169,7 @@ static void lowest_common_dimm_parameters_edit(fsl_ddr_info_t *pinfo,
                COMMON_TIMING(trrds_ps),
                COMMON_TIMING(trrdl_ps),
                COMMON_TIMING(tccdl_ps),
+               COMMON_TIMING(trfc_slr_ps),
 #else
                COMMON_TIMING(twtr_ps),
                COMMON_TIMING(trfc_ps),
@@ -223,6 +225,7 @@ static void fsl_ddr_dimm_parameters_edit(fsl_ddr_info_t *pinfo,
                DIMM_PARM(data_width),
                DIMM_PARM(primary_sdram_width),
                DIMM_PARM(ec_sdram_width),
+               DIMM_PARM(package_3ds),
                DIMM_PARM(registered_dimm),
                DIMM_PARM(mirrored_dimm),
                DIMM_PARM(device_width),
@@ -233,11 +236,11 @@ static void fsl_ddr_dimm_parameters_edit(fsl_ddr_info_t *pinfo,
 #ifdef CONFIG_SYS_FSL_DDR4
                DIMM_PARM(bank_addr_bits),
                DIMM_PARM(bank_group_bits),
+               DIMM_PARM_HEX(die_density),
 #else
                DIMM_PARM(n_banks_per_sdram_device),
 #endif
                DIMM_PARM(burst_lengths_bitmask),
-               DIMM_PARM(row_density),
 
                DIMM_PARM(tckmin_x_ps),
                DIMM_PARM(tckmin_x_minus_1_ps),
@@ -260,6 +263,7 @@ static void fsl_ddr_dimm_parameters_edit(fsl_ddr_info_t *pinfo,
                DIMM_PARM(trrds_ps),
                DIMM_PARM(trrdl_ps),
                DIMM_PARM(tccdl_ps),
+               DIMM_PARM(trfc_slr_ps),
 #else
                DIMM_PARM(twr_ps),
                DIMM_PARM(twtr_ps),
@@ -320,6 +324,7 @@ static void print_dimm_parameters(const dimm_params_t *pdimm)
                DIMM_PARM(data_width),
                DIMM_PARM(primary_sdram_width),
                DIMM_PARM(ec_sdram_width),
+               DIMM_PARM(package_3ds),
                DIMM_PARM(registered_dimm),
                DIMM_PARM(mirrored_dimm),
                DIMM_PARM(device_width),
@@ -330,6 +335,7 @@ static void print_dimm_parameters(const dimm_params_t *pdimm)
 #ifdef CONFIG_SYS_FSL_DDR4
                DIMM_PARM(bank_addr_bits),
                DIMM_PARM(bank_group_bits),
+               DIMM_PARM_HEX(die_density),
 #else
                DIMM_PARM(n_banks_per_sdram_device),
 #endif
@@ -359,6 +365,7 @@ static void print_dimm_parameters(const dimm_params_t *pdimm)
                DIMM_PARM(trrds_ps),
                DIMM_PARM(trrdl_ps),
                DIMM_PARM(tccdl_ps),
+               DIMM_PARM(trfc_slr_ps),
 #else
                DIMM_PARM(twr_ps),
                DIMM_PARM(twtr_ps),
@@ -437,6 +444,7 @@ static void print_lowest_common_dimm_parameters(
                COMMON_TIMING(trrds_ps),
                COMMON_TIMING(trrdl_ps),
                COMMON_TIMING(tccdl_ps),
+               COMMON_TIMING(trfc_slr_ps),
 #else
                COMMON_TIMING(twtr_ps),
                COMMON_TIMING(trfc_ps),
@@ -558,8 +566,10 @@ static void fsl_ddr_options_edit(fsl_ddr_info_t *pinfo,
                 */
                CTRL_OPTIONS(twot_en),
                CTRL_OPTIONS(threet_en),
+               CTRL_OPTIONS(mirrored_dimm),
                CTRL_OPTIONS(ap_en),
                CTRL_OPTIONS(x4_en),
+               CTRL_OPTIONS(package_3ds),
                CTRL_OPTIONS(bstopre),
                CTRL_OPTIONS(wrlvl_override),
                CTRL_OPTIONS(wrlvl_sample),
@@ -568,6 +578,7 @@ static void fsl_ddr_options_edit(fsl_ddr_info_t *pinfo,
                CTRL_OPTIONS(rcw_override),
                CTRL_OPTIONS(rcw_1),
                CTRL_OPTIONS(rcw_2),
+               CTRL_OPTIONS(rcw_3),
                CTRL_OPTIONS(ddr_cdr1),
                CTRL_OPTIONS(ddr_cdr2),
                CTRL_OPTIONS(tfaw_window_four_activates_ps),
@@ -660,6 +671,7 @@ static void print_fsl_memctl_config_regs(const fsl_ddr_cfg_regs_t *ddr)
                CFG_REGS(ddr_sr_cntr),
                CFG_REGS(ddr_sdram_rcw_1),
                CFG_REGS(ddr_sdram_rcw_2),
+               CFG_REGS(ddr_sdram_rcw_3),
                CFG_REGS(ddr_cdr1),
                CFG_REGS(ddr_cdr2),
                CFG_REGS(dq_map_0),
@@ -750,6 +762,7 @@ static void fsl_ddr_regs_edit(fsl_ddr_info_t *pinfo,
                CFG_REGS(ddr_sr_cntr),
                CFG_REGS(ddr_sdram_rcw_1),
                CFG_REGS(ddr_sdram_rcw_2),
+               CFG_REGS(ddr_sdram_rcw_3),
                CFG_REGS(ddr_cdr1),
                CFG_REGS(ddr_cdr2),
                CFG_REGS(dq_map_0),
@@ -851,14 +864,16 @@ static void print_memctl_options(const memctl_options_t *popts)
                CTRL_OPTIONS(mirrored_dimm),
                CTRL_OPTIONS(ap_en),
                CTRL_OPTIONS(x4_en),
+               CTRL_OPTIONS(package_3ds),
                CTRL_OPTIONS(bstopre),
                CTRL_OPTIONS(wrlvl_override),
                CTRL_OPTIONS(wrlvl_sample),
                CTRL_OPTIONS(wrlvl_start),
                CTRL_OPTIONS_HEX(cswl_override),
                CTRL_OPTIONS(rcw_override),
-               CTRL_OPTIONS(rcw_1),
-               CTRL_OPTIONS(rcw_2),
+               CTRL_OPTIONS_HEX(rcw_1),
+               CTRL_OPTIONS_HEX(rcw_2),
+               CTRL_OPTIONS_HEX(rcw_3),
                CTRL_OPTIONS_HEX(ddr_cdr1),
                CTRL_OPTIONS_HEX(ddr_cdr2),
                CTRL_OPTIONS(tfaw_window_four_activates_ps),