xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-tegra20/sdram_param.h (revision 00a2749d7be5b0e6cb6435187ec8fea600b44627)
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