| /* |
| * (C) Copyright 2010, 2011 |
| * NVIDIA Corporation <www.nvidia.com> |
| * |
| * See file CREDITS for list of people who contributed to this |
| * project. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License as |
| * published by the Free Software Foundation; either version 2 of |
| * the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
| * MA 02111-1307 USA |
| */ |
| |
| #ifndef _SDRAM_PARAM_H_ |
| #define _SDRAM_PARAM_H_ |
| |
| /* |
| * Defines the number of 32-bit words provided in each set of SDRAM parameters |
| * for arbitration configuration data. |
| */ |
| #define BCT_SDRAM_ARB_CONFIG_WORDS 27 |
| |
| enum memory_type { |
| MEMORY_TYPE_NONE = 0, |
| MEMORY_TYPE_DDR, |
| MEMORY_TYPE_LPDDR, |
| MEMORY_TYPE_DDR2, |
| MEMORY_TYPE_LPDDR2, |
| MEMORY_TYPE_NUM, |
| MEMORY_TYPE_FORCE32 = 0x7FFFFFFF |
| }; |
| |
| /* Defines the SDRAM parameter structure */ |
| struct sdram_params { |
| enum memory_type memory_type; |
| u32 pllm_charge_pump_setup_control; |
| u32 pllm_loop_filter_setup_control; |
| u32 pllm_input_divider; |
| u32 pllm_feedback_divider; |
| u32 pllm_post_divider; |
| u32 pllm_stable_time; |
| u32 emc_clock_divider; |
| u32 emc_auto_cal_interval; |
| u32 emc_auto_cal_config; |
| u32 emc_auto_cal_wait; |
| u32 emc_pin_program_wait; |
| u32 emc_rc; |
| u32 emc_rfc; |
| u32 emc_ras; |
| u32 emc_rp; |
| u32 emc_r2w; |
| u32 emc_w2r; |
| u32 emc_r2p; |
| u32 emc_w2p; |
| u32 emc_rd_rcd; |
| u32 emc_wr_rcd; |
| u32 emc_rrd; |
| u32 emc_rext; |
| u32 emc_wdv; |
| u32 emc_quse; |
| u32 emc_qrst; |
| u32 emc_qsafe; |
| u32 emc_rdv; |
| u32 emc_refresh; |
| u32 emc_burst_refresh_num; |
| u32 emc_pdex2wr; |
| u32 emc_pdex2rd; |
| u32 emc_pchg2pden; |
| u32 emc_act2pden; |
| u32 emc_ar2pden; |
| u32 emc_rw2pden; |
| u32 emc_txsr; |
| u32 emc_tcke; |
| u32 emc_tfaw; |
| u32 emc_trpab; |
| u32 emc_tclkstable; |
| u32 emc_tclkstop; |
| u32 emc_trefbw; |
| u32 emc_quseextra; |
| u32 emc_fbioc_fg1; |
| u32 emc_fbio_dqsib_dly; |
| u32 emc_fbio_dqsib_dly_msb; |
| u32 emc_fbio_quse_dly; |
| u32 emc_fbio_quse_dly_msb; |
| u32 emc_fbio_cfg5; |
| u32 emc_fbio_cfg6; |
| u32 emc_fbio_spare; |
| u32 emc_mrs; |
| u32 emc_emrs; |
| u32 emc_mrw1; |
| u32 emc_mrw2; |
| u32 emc_mrw3; |
| u32 emc_mrw_reset_command; |
| u32 emc_mrw_reset_init_wait; |
| u32 emc_adr_cfg; |
| u32 emc_adr_cfg1; |
| u32 emc_emem_cfg; |
| u32 emc_low_latency_config; |
| u32 emc_cfg; |
| u32 emc_cfg2; |
| u32 emc_dbg; |
| u32 ahb_arbitration_xbar_ctrl; |
| u32 emc_cfg_dig_dll; |
| u32 emc_dll_xform_dqs; |
| u32 emc_dll_xform_quse; |
| u32 warm_boot_wait; |
| u32 emc_ctt_term_ctrl; |
| u32 emc_odt_write; |
| u32 emc_odt_read; |
| u32 emc_zcal_ref_cnt; |
| u32 emc_zcal_wait_cnt; |
| u32 emc_zcal_mrw_cmd; |
| u32 emc_mrs_reset_dll; |
| u32 emc_mrw_zq_init_dev0; |
| u32 emc_mrw_zq_init_dev1; |
| u32 emc_mrw_zq_init_wait; |
| u32 emc_mrs_reset_dll_wait; |
| u32 emc_emrs_emr2; |
| u32 emc_emrs_emr3; |
| u32 emc_emrs_ddr2_dll_enable; |
| u32 emc_mrs_ddr2_dll_reset; |
| u32 emc_emrs_ddr2_ocd_calib; |
| u32 emc_edr2_wait; |
| u32 emc_cfg_clktrim0; |
| u32 emc_cfg_clktrim1; |
| u32 emc_cfg_clktrim2; |
| u32 pmc_ddr_pwr; |
| u32 apb_misc_gp_xm2cfga_padctrl; |
| u32 apb_misc_gp_xm2cfgc_padctrl; |
| u32 apb_misc_gp_xm2cfgc_padctrl2; |
| u32 apb_misc_gp_xm2cfgd_padctrl; |
| u32 apb_misc_gp_xm2cfgd_padctrl2; |
| u32 apb_misc_gp_xm2clkcfg_padctrl; |
| u32 apb_misc_gp_xm2comp_padctrl; |
| u32 apb_misc_gp_xm2vttgen_padctrl; |
| u32 arbitration_config[BCT_SDRAM_ARB_CONFIG_WORDS]; |
| }; |
| #endif |