1*00a2749dSAllen Martin /* 2*00a2749dSAllen Martin * (C) Copyright 2010, 2011 3*00a2749dSAllen Martin * NVIDIA Corporation <www.nvidia.com> 4*00a2749dSAllen Martin * 5*00a2749dSAllen Martin * See file CREDITS for list of people who contributed to this 6*00a2749dSAllen Martin * project. 7*00a2749dSAllen Martin * 8*00a2749dSAllen Martin * This program is free software; you can redistribute it and/or 9*00a2749dSAllen Martin * modify it under the terms of the GNU General Public License as 10*00a2749dSAllen Martin * published by the Free Software Foundation; either version 2 of 11*00a2749dSAllen Martin * the License, or (at your option) any later version. 12*00a2749dSAllen Martin * 13*00a2749dSAllen Martin * This program is distributed in the hope that it will be useful, 14*00a2749dSAllen Martin * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*00a2749dSAllen Martin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*00a2749dSAllen Martin * GNU General Public License for more details. 17*00a2749dSAllen Martin * 18*00a2749dSAllen Martin * You should have received a copy of the GNU General Public License 19*00a2749dSAllen Martin * along with this program; if not, write to the Free Software 20*00a2749dSAllen Martin * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*00a2749dSAllen Martin * MA 02111-1307 USA 22*00a2749dSAllen Martin */ 23*00a2749dSAllen Martin 24*00a2749dSAllen Martin #ifndef _SDRAM_PARAM_H_ 25*00a2749dSAllen Martin #define _SDRAM_PARAM_H_ 26*00a2749dSAllen Martin 27*00a2749dSAllen Martin /* 28*00a2749dSAllen Martin * Defines the number of 32-bit words provided in each set of SDRAM parameters 29*00a2749dSAllen Martin * for arbitration configuration data. 30*00a2749dSAllen Martin */ 31*00a2749dSAllen Martin #define BCT_SDRAM_ARB_CONFIG_WORDS 27 32*00a2749dSAllen Martin 33*00a2749dSAllen Martin enum memory_type { 34*00a2749dSAllen Martin MEMORY_TYPE_NONE = 0, 35*00a2749dSAllen Martin MEMORY_TYPE_DDR, 36*00a2749dSAllen Martin MEMORY_TYPE_LPDDR, 37*00a2749dSAllen Martin MEMORY_TYPE_DDR2, 38*00a2749dSAllen Martin MEMORY_TYPE_LPDDR2, 39*00a2749dSAllen Martin MEMORY_TYPE_NUM, 40*00a2749dSAllen Martin MEMORY_TYPE_FORCE32 = 0x7FFFFFFF 41*00a2749dSAllen Martin }; 42*00a2749dSAllen Martin 43*00a2749dSAllen Martin /* Defines the SDRAM parameter structure */ 44*00a2749dSAllen Martin struct sdram_params { 45*00a2749dSAllen Martin enum memory_type memory_type; 46*00a2749dSAllen Martin u32 pllm_charge_pump_setup_control; 47*00a2749dSAllen Martin u32 pllm_loop_filter_setup_control; 48*00a2749dSAllen Martin u32 pllm_input_divider; 49*00a2749dSAllen Martin u32 pllm_feedback_divider; 50*00a2749dSAllen Martin u32 pllm_post_divider; 51*00a2749dSAllen Martin u32 pllm_stable_time; 52*00a2749dSAllen Martin u32 emc_clock_divider; 53*00a2749dSAllen Martin u32 emc_auto_cal_interval; 54*00a2749dSAllen Martin u32 emc_auto_cal_config; 55*00a2749dSAllen Martin u32 emc_auto_cal_wait; 56*00a2749dSAllen Martin u32 emc_pin_program_wait; 57*00a2749dSAllen Martin u32 emc_rc; 58*00a2749dSAllen Martin u32 emc_rfc; 59*00a2749dSAllen Martin u32 emc_ras; 60*00a2749dSAllen Martin u32 emc_rp; 61*00a2749dSAllen Martin u32 emc_r2w; 62*00a2749dSAllen Martin u32 emc_w2r; 63*00a2749dSAllen Martin u32 emc_r2p; 64*00a2749dSAllen Martin u32 emc_w2p; 65*00a2749dSAllen Martin u32 emc_rd_rcd; 66*00a2749dSAllen Martin u32 emc_wr_rcd; 67*00a2749dSAllen Martin u32 emc_rrd; 68*00a2749dSAllen Martin u32 emc_rext; 69*00a2749dSAllen Martin u32 emc_wdv; 70*00a2749dSAllen Martin u32 emc_quse; 71*00a2749dSAllen Martin u32 emc_qrst; 72*00a2749dSAllen Martin u32 emc_qsafe; 73*00a2749dSAllen Martin u32 emc_rdv; 74*00a2749dSAllen Martin u32 emc_refresh; 75*00a2749dSAllen Martin u32 emc_burst_refresh_num; 76*00a2749dSAllen Martin u32 emc_pdex2wr; 77*00a2749dSAllen Martin u32 emc_pdex2rd; 78*00a2749dSAllen Martin u32 emc_pchg2pden; 79*00a2749dSAllen Martin u32 emc_act2pden; 80*00a2749dSAllen Martin u32 emc_ar2pden; 81*00a2749dSAllen Martin u32 emc_rw2pden; 82*00a2749dSAllen Martin u32 emc_txsr; 83*00a2749dSAllen Martin u32 emc_tcke; 84*00a2749dSAllen Martin u32 emc_tfaw; 85*00a2749dSAllen Martin u32 emc_trpab; 86*00a2749dSAllen Martin u32 emc_tclkstable; 87*00a2749dSAllen Martin u32 emc_tclkstop; 88*00a2749dSAllen Martin u32 emc_trefbw; 89*00a2749dSAllen Martin u32 emc_quseextra; 90*00a2749dSAllen Martin u32 emc_fbioc_fg1; 91*00a2749dSAllen Martin u32 emc_fbio_dqsib_dly; 92*00a2749dSAllen Martin u32 emc_fbio_dqsib_dly_msb; 93*00a2749dSAllen Martin u32 emc_fbio_quse_dly; 94*00a2749dSAllen Martin u32 emc_fbio_quse_dly_msb; 95*00a2749dSAllen Martin u32 emc_fbio_cfg5; 96*00a2749dSAllen Martin u32 emc_fbio_cfg6; 97*00a2749dSAllen Martin u32 emc_fbio_spare; 98*00a2749dSAllen Martin u32 emc_mrs; 99*00a2749dSAllen Martin u32 emc_emrs; 100*00a2749dSAllen Martin u32 emc_mrw1; 101*00a2749dSAllen Martin u32 emc_mrw2; 102*00a2749dSAllen Martin u32 emc_mrw3; 103*00a2749dSAllen Martin u32 emc_mrw_reset_command; 104*00a2749dSAllen Martin u32 emc_mrw_reset_init_wait; 105*00a2749dSAllen Martin u32 emc_adr_cfg; 106*00a2749dSAllen Martin u32 emc_adr_cfg1; 107*00a2749dSAllen Martin u32 emc_emem_cfg; 108*00a2749dSAllen Martin u32 emc_low_latency_config; 109*00a2749dSAllen Martin u32 emc_cfg; 110*00a2749dSAllen Martin u32 emc_cfg2; 111*00a2749dSAllen Martin u32 emc_dbg; 112*00a2749dSAllen Martin u32 ahb_arbitration_xbar_ctrl; 113*00a2749dSAllen Martin u32 emc_cfg_dig_dll; 114*00a2749dSAllen Martin u32 emc_dll_xform_dqs; 115*00a2749dSAllen Martin u32 emc_dll_xform_quse; 116*00a2749dSAllen Martin u32 warm_boot_wait; 117*00a2749dSAllen Martin u32 emc_ctt_term_ctrl; 118*00a2749dSAllen Martin u32 emc_odt_write; 119*00a2749dSAllen Martin u32 emc_odt_read; 120*00a2749dSAllen Martin u32 emc_zcal_ref_cnt; 121*00a2749dSAllen Martin u32 emc_zcal_wait_cnt; 122*00a2749dSAllen Martin u32 emc_zcal_mrw_cmd; 123*00a2749dSAllen Martin u32 emc_mrs_reset_dll; 124*00a2749dSAllen Martin u32 emc_mrw_zq_init_dev0; 125*00a2749dSAllen Martin u32 emc_mrw_zq_init_dev1; 126*00a2749dSAllen Martin u32 emc_mrw_zq_init_wait; 127*00a2749dSAllen Martin u32 emc_mrs_reset_dll_wait; 128*00a2749dSAllen Martin u32 emc_emrs_emr2; 129*00a2749dSAllen Martin u32 emc_emrs_emr3; 130*00a2749dSAllen Martin u32 emc_emrs_ddr2_dll_enable; 131*00a2749dSAllen Martin u32 emc_mrs_ddr2_dll_reset; 132*00a2749dSAllen Martin u32 emc_emrs_ddr2_ocd_calib; 133*00a2749dSAllen Martin u32 emc_edr2_wait; 134*00a2749dSAllen Martin u32 emc_cfg_clktrim0; 135*00a2749dSAllen Martin u32 emc_cfg_clktrim1; 136*00a2749dSAllen Martin u32 emc_cfg_clktrim2; 137*00a2749dSAllen Martin u32 pmc_ddr_pwr; 138*00a2749dSAllen Martin u32 apb_misc_gp_xm2cfga_padctrl; 139*00a2749dSAllen Martin u32 apb_misc_gp_xm2cfgc_padctrl; 140*00a2749dSAllen Martin u32 apb_misc_gp_xm2cfgc_padctrl2; 141*00a2749dSAllen Martin u32 apb_misc_gp_xm2cfgd_padctrl; 142*00a2749dSAllen Martin u32 apb_misc_gp_xm2cfgd_padctrl2; 143*00a2749dSAllen Martin u32 apb_misc_gp_xm2clkcfg_padctrl; 144*00a2749dSAllen Martin u32 apb_misc_gp_xm2comp_padctrl; 145*00a2749dSAllen Martin u32 apb_misc_gp_xm2vttgen_padctrl; 146*00a2749dSAllen Martin u32 arbitration_config[BCT_SDRAM_ARB_CONFIG_WORDS]; 147*00a2749dSAllen Martin }; 148*00a2749dSAllen Martin #endif 149