xref: /openbmc/u-boot/doc/README.fsl-ddr (revision 6f5e1dc531d6b4a975e39054fdf7c737cbb4d8e9)
1c9ffd839SHaiying Wang
2c9ffd839SHaiying WangTable of interleaving modes supported in cpu/8xxx/ddr/
3c9ffd839SHaiying Wang======================================================
4c9ffd839SHaiying Wang  +-------------+---------------------------------------------------------+
5c9ffd839SHaiying Wang  |		|		    Rank Interleaving			  |
6c9ffd839SHaiying Wang  |		+--------+-----------+-----------+------------+-----------+
7c9ffd839SHaiying Wang  |Memory	|	 |	     |		 |    2x2     |    4x1	  |
8c9ffd839SHaiying Wang  |Controller	|  None  | 2x1 lower | 2x1 upper | {CS0+CS1}, | {CS0+CS1+ |
9c9ffd839SHaiying Wang  |Interleaving |	 | {CS0+CS1} | {CS2+CS3} | {CS2+CS3}  |  CS2+CS3} |
10c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
11c9ffd839SHaiying Wang  |None		|  Yes	 | Yes	     | Yes	 | Yes	      | Yes	  |
12c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
13c9ffd839SHaiying Wang  |Cacheline	|  Yes	 | Yes	     | No	 | No, Only(*)| Yes	  |
14c9ffd839SHaiying Wang  |		|CS0 Only|	     |		 | {CS0+CS1}  |		  |
15c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
16c9ffd839SHaiying Wang  |Page		|  Yes	 | Yes	     | No	 | No, Only(*)| Yes	  |
17c9ffd839SHaiying Wang  |		|CS0 Only|	     |		 | {CS0+CS1}  |		  |
18c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
19c9ffd839SHaiying Wang  |Bank		|  Yes	 | Yes	     | No	 | No, Only(*)| Yes	  |
20c9ffd839SHaiying Wang  |		|CS0 Only|	     |		 | {CS0+CS1}  |		  |
21c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
22c9ffd839SHaiying Wang  |Superbank	|  No	 | Yes	     | No	 | No, Only(*)| Yes	  |
23c9ffd839SHaiying Wang  |		|	 |	     |		 | {CS0+CS1}  |		  |
24c9ffd839SHaiying Wang  +-------------+--------+-----------+-----------+------------+-----------+
25c9ffd839SHaiying Wang (*) Although the hardware can be configured with memory controller
26c9ffd839SHaiying Wang interleaving using "2x2" rank interleaving, it only interleaves {CS0+CS1}
27c9ffd839SHaiying Wang from each controller. {CS2+CS3} on each controller are only rank
28c9ffd839SHaiying Wang interleaved on that controller.
29c9ffd839SHaiying Wang
30076bff8fSyork For memory controller interleaving, identical DIMMs are suggested. Software
31076bff8fSyork doesn't check the size or organization of interleaved DIMMs.
32076bff8fSyork
33c9ffd839SHaiying WangThe ways to configure the ddr interleaving mode
34c9ffd839SHaiying Wang==============================================
35c9ffd839SHaiying Wang1. In board header file(e.g.MPC8572DS.h), add default interleaving setting
36c9ffd839SHaiying Wang   under "CONFIG_EXTRA_ENV_SETTINGS", like:
37c9ffd839SHaiying Wang	#define CONFIG_EXTRA_ENV_SETTINGS				\
3879e4e648SKumar Gala	 "hwconfig=fsl_ddr:ctlr_intlv=bank"			\
39c9ffd839SHaiying Wang	 ......
40c9ffd839SHaiying Wang
41c9ffd839SHaiying Wang2. Run u-boot "setenv" command to configure the memory interleaving mode.
42c9ffd839SHaiying Wang   Either numerical or string value is accepted.
43c9ffd839SHaiying Wang
44c9ffd839SHaiying Wang  # disable memory controller interleaving
4579e4e648SKumar Gala  setenv hwconfig "fsl_ddr:ctlr_intlv=null"
46c9ffd839SHaiying Wang
47c9ffd839SHaiying Wang  # cacheline interleaving
4879e4e648SKumar Gala  setenv hwconfig "fsl_ddr:ctlr_intlv=cacheline"
49c9ffd839SHaiying Wang
50c9ffd839SHaiying Wang  # page interleaving
5179e4e648SKumar Gala  setenv hwconfig "fsl_ddr:ctlr_intlv=page"
52c9ffd839SHaiying Wang
53c9ffd839SHaiying Wang  # bank interleaving
5479e4e648SKumar Gala  setenv hwconfig "fsl_ddr:ctlr_intlv=bank"
55c9ffd839SHaiying Wang
56c9ffd839SHaiying Wang  # superbank
5779e4e648SKumar Gala  setenv hwconfig "fsl_ddr:ctlr_intlv=superbank"
58c9ffd839SHaiying Wang
59c9ffd839SHaiying Wang  # disable bank (chip-select) interleaving
6079e4e648SKumar Gala  setenv hwconfig "fsl_ddr:bank_intlv=null"
61c9ffd839SHaiying Wang
62c9ffd839SHaiying Wang  # bank(chip-select) interleaving cs0+cs1
6379e4e648SKumar Gala  setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1"
64c9ffd839SHaiying Wang
65c9ffd839SHaiying Wang  # bank(chip-select) interleaving cs2+cs3
6679e4e648SKumar Gala  setenv hwconfig "fsl_ddr:bank_intlv=cs2_cs3"
67c9ffd839SHaiying Wang
68c9ffd839SHaiying Wang  # bank(chip-select) interleaving (cs0+cs1) and (cs2+cs3)  (2x2)
6979e4e648SKumar Gala  setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1_and_cs2_cs3"
70c9ffd839SHaiying Wang
71c9ffd839SHaiying Wang  # bank(chip-select) interleaving (cs0+cs1+cs2+cs3) (4x1)
7279e4e648SKumar Gala  setenv hwconfig "fsl_ddr:bank_intlv=cs0_cs1_cs2_cs3"
7379e4e648SKumar Gala
747fd101c9SyorkMemory controller address hashing
757fd101c9Syork==================================
767fd101c9SyorkIf the DDR controller supports address hashing, it can be enabled by hwconfig.
777fd101c9Syork
787fd101c9SyorkSyntax is:
797fd101c9Syorkhwconfig=fsl_ddr:addr_hash=true
807fd101c9Syork
8147df8f03SYork SunMemory controller ECC on/off
8247df8f03SYork Sun============================
8347df8f03SYork SunIf ECC is enabled in board configuratoin file, i.e. #define CONFIG_DDR_ECC,
8447df8f03SYork SunECC can be turned on/off by hwconfig.
8547df8f03SYork Sun
8647df8f03SYork SunSyntax is
8747df8f03SYork Sunhwconfig=fsl_ddr:ecc=off
88ebbe11ddSYork Sun
89ebbe11ddSYork SunMemory testing options for mpc85xx
90ebbe11ddSYork Sun==================================
91ebbe11ddSYork Sun1. Memory test can be done once U-boot prompt comes up using mtest, or
92ebbe11ddSYork Sun2. Memory test can be done with Power-On-Self-Test function, activated at
93ebbe11ddSYork Sun   compile time.
94ebbe11ddSYork Sun
95ebbe11ddSYork Sun   In order to enable the POST memory test, CONFIG_POST needs to be
96ebbe11ddSYork Sun   defined in board configuraiton header file. By default, POST memory test
97ebbe11ddSYork Sun   performs a fast test. A slow test can be enabled by changing the flag at
98ebbe11ddSYork Sun   compiling time. To test memory bigger than 2GB, 36BIT support is needed.
99ebbe11ddSYork Sun   Memory is tested within a 2GB window. TLBs are used to map the virtual 2GB
100ebbe11ddSYork Sun   window to physical address so that all physical memory can be tested.
101ebbe11ddSYork Sun
1027fd101c9SyorkCombination of hwconfig
1037fd101c9Syork=======================
1047fd101c9SyorkHwconfig can be combined with multiple parameters, for example, on a supported
1057fd101c9Syorkplatform
1067fd101c9Syork
107e1fd16b6SYork Sunhwconfig=fsl_ddr:addr_hash=true,ctlr_intlv=cacheline,bank_intlv=cs0_cs1_cs2_cs3,ecc=on
108e1fd16b6SYork Sun
109e1fd16b6SYork SunTable for dynamic ODT for DDR3
110e1fd16b6SYork Sun==============================
111e1fd16b6SYork SunFor single-slot system with quad-rank DIMM and dual-slot system, dynamic ODT may
112e1fd16b6SYork Sunbe needed, depending on the configuration. The numbers in the following tables are
113e1fd16b6SYork Sunin Ohms.
114e1fd16b6SYork Sun
115e1fd16b6SYork Sun* denotes dynamic ODT
116e1fd16b6SYork Sun
117e1fd16b6SYork SunTwo slots system
118e1fd16b6SYork Sun+-----------------------+----------+---------------+-----------------------------+-----------------------------+
119e1fd16b6SYork Sun|     Configuration	|	   |DRAM controller|	       Slot 1		 |	      Slot 2	       |
120e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+--------------+--------------+--------------+--------------+
121e1fd16b6SYork Sun|	    |		|	   |	   |	   |	 Rank 1   |	Rank 2	 |   Rank 1	|    Rank 2    |
122e1fd16b6SYork Sun+  Slot 1   |	Slot 2	|Write/Read| Write | Read  |-------+------+-------+------+-------+------+-------+------+
123e1fd16b6SYork Sun|	    |		|	   |	   |	   | Write | Read | Write | Read | Write | Read | Write | Read |
124e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
125e1fd16b6SYork Sun|	    |		|  Slot 1  |  off  | 75    | 120   | off  | off   | off  | off	 | off	| 30	| 30   |
126e1fd16b6SYork Sun| Dual Rank | Dual Rank |----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
127e1fd16b6SYork Sun|	    |		|  Slot 2  |  off  | 75    | off   | off  | 30	  | 30	 | 120	 | off	| off	| off  |
128e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
129e1fd16b6SYork Sun|	    |		|  Slot 1  |  off  | 75    | 120   | off  | off   | off  | 20	 | 20	|	|      |
130e1fd16b6SYork Sun| Dual Rank |Single Rank|----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
131e1fd16b6SYork Sun|	    |		|  Slot 2  |  off  | 75    | off   | off  | 20	  | 20	 | 120	*| off	|	|      |
132e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
133e1fd16b6SYork Sun|	    |		|  Slot 1  |  off  | 75    | 120  *| off  |	  |	 | off	 | off	| 20	| 20   |
134e1fd16b6SYork Sun|Single Rank| Dual Rank |----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
135e1fd16b6SYork Sun|	    |		|  Slot 2  |  off  | 75    | 20    | 20   |	  |	 | 120	 | off	| off	| off  |
136e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
137e1fd16b6SYork Sun|	    |		|  Slot 1  |  off  | 75    | 120  *| off  |	  |	 | 30	 | 30	|	|      |
138e1fd16b6SYork Sun|Single Rank|Single Rank|----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
139e1fd16b6SYork Sun|	    |		|  Slot 2  |  off  | 75    | 30    | 30   |	  |	 | 120	*| off	|	|      |
140e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
141e1fd16b6SYork Sun| Dual Rank |	Empty	|  Slot 1  |  off  | 75    | 40    | off  | off   | off  |	 |	|	|      |
142e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
143e1fd16b6SYork Sun|   Empty   | Dual Rank |  Slot 2  |  off  | 75    |	   |	  |	  |	 | 40	 | off	| off	| off  |
144e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
145e1fd16b6SYork Sun|Single Rank|	Empty	|  Slot 1  |  off  | 75    | 40    | off  |	  |	 |	 |	|	|      |
146e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
147e1fd16b6SYork Sun|   Empty   |Single Rank|  Slot 2  |  off  | 75    |	   |	  |	  |	 | 40	 | off	|	|      |
148e1fd16b6SYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
149e1fd16b6SYork Sun
150e1fd16b6SYork SunSingle slot system
151e1fd16b6SYork Sun+-------------+------------+---------------+-----------------------------+-----------------------------+
152e1fd16b6SYork Sun|	      |		   |DRAM controller|	 Rank 1   |    Rank 2	 |    Rank 3	|    Rank 4    |
153e1fd16b6SYork Sun|Configuration| Write/Read |-------+-------+-------+------+-------+------+-------+------+-------+------+
154e1fd16b6SYork Sun|	      |		   | Write | Read  | Write | Read | Write | Read | Write | Read | Write | Read |
155e1fd16b6SYork Sun+-------------+------------+-------+-------+-------+------+-------+------+-------+------+-------+------+
156e1fd16b6SYork Sun|	      |   R1	   | off   | 75    | 120  *| off  | off   | off  | 20	 | 20	| off	| off  |
157e1fd16b6SYork Sun|	      |------------+-------+-------+-------+------+-------+------+-------+------+-------+------+
158e1fd16b6SYork Sun|	      |   R2	   | off   | 75    | off   | 20   | 120   | off  | 20	 | 20	| off	| off  |
159e1fd16b6SYork Sun|  Quad Rank  |------------+-------+-------+-------+------+-------+------+-------+------+-------+------+
160e1fd16b6SYork Sun|	      |   R3	   | off   | 75    | 20    | 20   | off   | off  | 120	*| off	| off	| off  |
161e1fd16b6SYork Sun|	      |------------+-------+-------+-------+------+-------+------+-------+------+-------+------+
162e1fd16b6SYork Sun|	      |   R4	   | off   | 75    | 20    | 20   | off   | off  | off	 | 20	| 120	| off  |
163e1fd16b6SYork Sun+-------------+------------+-------+-------+-------+------+-------+------+-------+------+-------+------+
164e1fd16b6SYork Sun|	      |   R1	   | off   | 75    | 40    | off  | off   | off  |
165e1fd16b6SYork Sun|  Dual Rank  |------------+-------+-------+-------+------+-------+------+
166e1fd16b6SYork Sun|	      |   R2	   | off   | 75    | 40    | off  | off   | off  |
167e1fd16b6SYork Sun+-------------+------------+-------+-------+-------+------+-------+------+
168e1fd16b6SYork Sun| Single Rank |   R1	   | off   | 75    | 40    | off  |
169e1fd16b6SYork Sun+-------------+------------+-------+-------+-------+------+
170e1fd16b6SYork Sun
171e1fd16b6SYork SunReference http://www.xrosstalkmag.com/mag_issues/xrosstalk_oct08_final.pdf
172e1fd16b6SYork Sun	  http://download.micron.com/pdf/technotes/ddr3/tn4108_ddr3_design_guide.pdf
1734e57382fSYork Sun
1744e57382fSYork Sun
1754e57382fSYork SunTable for ODT for DDR2
1764e57382fSYork Sun======================
1774e57382fSYork SunTwo slots system
1784e57382fSYork Sun+-----------------------+----------+---------------+-----------------------------+-----------------------------+
1794e57382fSYork Sun|     Configuration     |          |DRAM controller|           Slot 1            |            Slot 2           |
1804e57382fSYork Sun+-----------+-----------+----------+-------+-------+--------------+--------------+--------------+--------------+
1814e57382fSYork Sun|           |           |          |       |       |     Rank 1   |     Rank 2   |   Rank 1     |    Rank 2    |
1824e57382fSYork Sun+  Slot 1   |   Slot 2  |Write/Read| Write | Read  |-------+------+-------+------+-------+------+-------+------+
1834e57382fSYork Sun|           |           |          |       |       | Write | Read | Write | Read | Write | Read | Write | Read |
1844e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1854e57382fSYork Sun|           |           |  Slot 1  |  off  | 150   | off   | off  | off   | off  | 75    | 75   | off   | off  |
1864e57382fSYork Sun| Dual Rank | Dual Rank |----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1874e57382fSYork Sun|           |           |  Slot 2  |  off  | 150   | 75    | 75   | off   | off  | off   | off  | off   | off  |
1884e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1894e57382fSYork Sun|           |           |  Slot 1  |  off  | 150   | off   | off  | off   | off  | 75    | 75   |       |      |
1904e57382fSYork Sun| Dual Rank |Single Rank|----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1914e57382fSYork Sun|           |           |  Slot 2  |  off  | 150   | 75    | 75   | off   | off  | off   | off  |       |      |
1924e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1934e57382fSYork Sun|           |           |  Slot 1  |  off  | 150   | off   | off  |       |      | 75    | 75   | off   | off  |
1944e57382fSYork Sun|Single Rank| Dual Rank |----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1954e57382fSYork Sun|           |           |  Slot 2  |  off  | 150   | 75    | 75   |       |      | off   | off  | off   | off  |
1964e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1974e57382fSYork Sun|           |           |  Slot 1  |  off  | 150   | off   | off  |       |      | 75    | 75   |       |      |
1984e57382fSYork Sun|Single Rank|Single Rank|----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
1994e57382fSYork Sun|           |           |  Slot 2  |  off  | 150   | 75    | 75   |       |      | off   | off  |       |      |
2004e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
2014e57382fSYork Sun| Dual Rank |   Empty   |  Slot 1  |  off  | 75    | 150   | off  | off   | off  |       |      |       |      |
2024e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
2034e57382fSYork Sun|   Empty   | Dual Rank |  Slot 2  |  off  | 75    |       |      |       |      | 150   | off  | off   | off  |
2044e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
2054e57382fSYork Sun|Single Rank|   Empty   |  Slot 1  |  off  | 75    | 150   | off  |       |      |       |      |       |      |
2064e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
2074e57382fSYork Sun|   Empty   |Single Rank|  Slot 2  |  off  | 75    |       |      |       |      | 150   | off  |       |      |
2084e57382fSYork Sun+-----------+-----------+----------+-------+-------+-------+------+-------+------+-------+------+-------+------+
2094e57382fSYork Sun
2104e57382fSYork SunSingle slot system
2114e57382fSYork Sun+-------------+------------+---------------+-----------------------------+
2124e57382fSYork Sun|             |            |DRAM controller|     Rank 1   |    Rank 2    |
2134e57382fSYork Sun|Configuration| Write/Read |-------+-------+-------+------+-------+------+
2144e57382fSYork Sun|             |            | Write | Read  | Write | Read | Write | Read |
2154e57382fSYork Sun+-------------+------------+-------+-------+-------+------+-------+------+
2164e57382fSYork Sun|             |   R1       | off   | 75    | 150   | off  | off   | off  |
2174e57382fSYork Sun|  Dual Rank  |------------+-------+-------+-------+------+-------+------+
2184e57382fSYork Sun|             |   R2       | off   | 75    | 150   | off  | off   | off  |
2194e57382fSYork Sun+-------------+------------+-------+-------+-------+------+-------+------+
2204e57382fSYork Sun| Single Rank |   R1       | off   | 75    | 150   | off  |
2214e57382fSYork Sun+-------------+------------+-------+-------+-------+------+
2224e57382fSYork Sun
2234e57382fSYork SunReference http://www.samsung.com/global/business/semiconductor/products/dram/downloads/applicationnote/ddr2_odt_control_200603.pdf
2244e57382fSYork Sun
225*6f5e1dc5SYork Sun
226*6f5e1dc5SYork SunInteractive DDR debugging
227*6f5e1dc5SYork Sun===========================
228*6f5e1dc5SYork Sun
229*6f5e1dc5SYork SunFor DDR parameter tuning up and debugging, the interactive DDR debugging can
230*6f5e1dc5SYork Sunbe activated by saving an environment variable "ddr_interactive". The value
231*6f5e1dc5SYork Sundoesn't matter. Once activated, U-boot prompts "FSL DDR>" before enabling DDR
232*6f5e1dc5SYork Suncontroller. The available commands can be seen by typing "help".
233*6f5e1dc5SYork Sun
234*6f5e1dc5SYork SunThe example flow of using interactive debugging is
235*6f5e1dc5SYork Suntype command "compute" to calculate the parameters from the default
236*6f5e1dc5SYork Suntype command "print" with arguments to show SPD, options, registers
237*6f5e1dc5SYork Suntype command "edit" with arguments to change any if desired
238*6f5e1dc5SYork Suntype command "go" to continue calculation and enable DDR controller
239*6f5e1dc5SYork Suntype command "reset" to reset the board
240*6f5e1dc5SYork Suntype command "recompute" to reload SPD and start over
241*6f5e1dc5SYork Sun
242*6f5e1dc5SYork SunNote, check "next_step" to show the flow. For example, after edit opts, the
243*6f5e1dc5SYork Sunnext_step is STEP_ASSIGN_ADDRESSES. After editing registers, the next_step is
244*6f5e1dc5SYork SunSTEP_PROGRAM_REGS. Upon issuing command "go", DDR controller will be enabled
245*6f5e1dc5SYork Sunwith current setting without further calculation.
246*6f5e1dc5SYork Sun
247*6f5e1dc5SYork SunThe detail syntax for each commands are
248*6f5e1dc5SYork Sun
249*6f5e1dc5SYork Sunprint [c<n>] [d<n>] [spd] [dimmparms] [commonparms] [opts] [addresses] [regs]
250*6f5e1dc5SYork Sun	c<n>		- the controller number, eg. c0, c1
251*6f5e1dc5SYork Sun	d<n>		- the DIMM number, eg. d0, d1
252*6f5e1dc5SYork Sun	spd		- print SPD data
253*6f5e1dc5SYork Sun	dimmparms	- DIMM paramaters, calcualted from SPD
254*6f5e1dc5SYork Sun	commonparms	- lowest common parameters for all DIMMs
255*6f5e1dc5SYork Sun	opts		- options
256*6f5e1dc5SYork Sun	addresses	- address assignment (not implemented yet)
257*6f5e1dc5SYork Sun	regs		- controller registers
258*6f5e1dc5SYork Sun
259*6f5e1dc5SYork Sunedit <c#> <d#> <spd|dimmparms|commonparms|opts|addresses|regs> <element> <value>
260*6f5e1dc5SYork Sun	c<n>		- the controller number, eg. c0, c1
261*6f5e1dc5SYork Sun	d<n>		- the DIMM number, eg. d0, d1
262*6f5e1dc5SYork Sun	spd		- print SPD data
263*6f5e1dc5SYork Sun	dimmparms	- DIMM paramaters, calcualted from SPD
264*6f5e1dc5SYork Sun	commonparms	- lowest common parameters for all DIMMs
265*6f5e1dc5SYork Sun	opts		- options
266*6f5e1dc5SYork Sun	addresses	- address assignment (not implemented yet)
267*6f5e1dc5SYork Sun	regs		- controller registers
268*6f5e1dc5SYork Sun	<element>	- name of the modified element
269*6f5e1dc5SYork Sun			  byte number if the object is SPD
270*6f5e1dc5SYork Sun	<value>		- decimal or heximal (prefixed with 0x) numbers
271*6f5e1dc5SYork Sun
272*6f5e1dc5SYork Sunreset
273*6f5e1dc5SYork Sun	no arguement	- reset the board
274*6f5e1dc5SYork Sun
275*6f5e1dc5SYork Sunrecompute
276*6f5e1dc5SYork Sun	no argument	- reload SPD and start over
277*6f5e1dc5SYork Sun
278*6f5e1dc5SYork Suncompute
279*6f5e1dc5SYork Sun	no argument	- recompute from current next_step
280*6f5e1dc5SYork Sun
281*6f5e1dc5SYork Sunnext_step
282*6f5e1dc5SYork Sun	no argument	- show current next_step
283*6f5e1dc5SYork Sun
284*6f5e1dc5SYork Sunhelp
285*6f5e1dc5SYork Sun	no argument	- print a list of all commands
286*6f5e1dc5SYork Sun
287*6f5e1dc5SYork Sungo
288*6f5e1dc5SYork Sun	no argument	- program memory controller(s) and continue with U-boot
289*6f5e1dc5SYork Sun
290*6f5e1dc5SYork SunExamples of debugging flow
291*6f5e1dc5SYork Sun
292*6f5e1dc5SYork Sun	FSL DDR>compute
293*6f5e1dc5SYork Sun	Detected UDIMM UG51U6400N8SU-ACF
294*6f5e1dc5SYork Sun	SL DDR>print
295*6f5e1dc5SYork Sun	print [c<n>] [d<n>] [spd] [dimmparms] [commonparms] [opts] [addresses] [regs]
296*6f5e1dc5SYork Sun	FSL DDR>print dimmparms
297*6f5e1dc5SYork Sun	DIMM parameters:  Controller=0 DIMM=0
298*6f5e1dc5SYork Sun	DIMM organization parameters:
299*6f5e1dc5SYork Sun	module part name = UG51U6400N8SU-ACF
300*6f5e1dc5SYork Sun	rank_density = 2147483648 bytes (2048 megabytes)
301*6f5e1dc5SYork Sun	capacity = 4294967296 bytes (4096 megabytes)
302*6f5e1dc5SYork Sun	burst_lengths_bitmask = 0C
303*6f5e1dc5SYork Sun	base_addresss = 0 (00000000 00000000)
304*6f5e1dc5SYork Sun	n_ranks = 2
305*6f5e1dc5SYork Sun	data_width = 64
306*6f5e1dc5SYork Sun	primary_sdram_width = 64
307*6f5e1dc5SYork Sun	ec_sdram_width = 0
308*6f5e1dc5SYork Sun	registered_dimm = 0
309*6f5e1dc5SYork Sun	n_row_addr = 15
310*6f5e1dc5SYork Sun	n_col_addr = 10
311*6f5e1dc5SYork Sun	edc_config = 0
312*6f5e1dc5SYork Sun	n_banks_per_sdram_device = 8
313*6f5e1dc5SYork Sun	tCKmin_X_ps = 1500
314*6f5e1dc5SYork Sun	tCKmin_X_minus_1_ps = 0
315*6f5e1dc5SYork Sun	tCKmin_X_minus_2_ps = 0
316*6f5e1dc5SYork Sun	tCKmax_ps = 0
317*6f5e1dc5SYork Sun	caslat_X = 960
318*6f5e1dc5SYork Sun	tAA_ps = 13125
319*6f5e1dc5SYork Sun	caslat_X_minus_1 = 0
320*6f5e1dc5SYork Sun	caslat_X_minus_2 = 0
321*6f5e1dc5SYork Sun	caslat_lowest_derated = 0
322*6f5e1dc5SYork Sun	tRCD_ps = 13125
323*6f5e1dc5SYork Sun	tRP_ps = 13125
324*6f5e1dc5SYork Sun	tRAS_ps = 36000
325*6f5e1dc5SYork Sun	tWR_ps = 15000
326*6f5e1dc5SYork Sun	tWTR_ps = 7500
327*6f5e1dc5SYork Sun	tRFC_ps = 160000
328*6f5e1dc5SYork Sun	tRRD_ps = 6000
329*6f5e1dc5SYork Sun	tRC_ps = 49125
330*6f5e1dc5SYork Sun	refresh_rate_ps = 7800000
331*6f5e1dc5SYork Sun	tIS_ps = 0
332*6f5e1dc5SYork Sun	tIH_ps = 0
333*6f5e1dc5SYork Sun	tDS_ps = 0
334*6f5e1dc5SYork Sun	tDH_ps = 0
335*6f5e1dc5SYork Sun	tRTP_ps = 7500
336*6f5e1dc5SYork Sun	tDQSQ_max_ps = 0
337*6f5e1dc5SYork Sun	tQHS_ps = 0
338*6f5e1dc5SYork Sun	FSL DDR>edit c0 opts ECC_mode 0
339*6f5e1dc5SYork Sun	FSL DDR>edit c0 regs cs0_bnds 0x000000FF
340*6f5e1dc5SYork Sun	FSL DDR>go
341*6f5e1dc5SYork Sun	2 GiB left unmapped
342*6f5e1dc5SYork Sun	4 GiB (DDR3, 64-bit, CL=9, ECC off)
343*6f5e1dc5SYork Sun	       DDR Chip-Select Interleaving Mode: CS0+CS1
344*6f5e1dc5SYork Sun	Testing 0x00000000 - 0x7fffffff
345*6f5e1dc5SYork Sun	Testing 0x80000000 - 0xffffffff
346*6f5e1dc5SYork Sun	Remap DDR 2 GiB left unmapped
347*6f5e1dc5SYork Sun
348*6f5e1dc5SYork Sun	POST memory PASSED
349*6f5e1dc5SYork Sun	Flash: 128 MiB
350*6f5e1dc5SYork Sun	L2:    128 KB enabled
351*6f5e1dc5SYork Sun	Corenet Platform Cache: 1024 KB enabled
352*6f5e1dc5SYork Sun	SERDES: timeout resetting bank 3
353*6f5e1dc5SYork Sun	SRIO1: disabled
354*6f5e1dc5SYork Sun	SRIO2: disabled
355*6f5e1dc5SYork Sun	MMC:  FSL_ESDHC: 0
356*6f5e1dc5SYork Sun	EEPROM: Invalid ID (ff ff ff ff)
357*6f5e1dc5SYork Sun	PCIe1: disabled
358*6f5e1dc5SYork Sun	PCIe2: Root Complex, x1, regs @ 0xfe201000
359*6f5e1dc5SYork Sun	  01:00.0     - 8086:10d3 - Network controller
360*6f5e1dc5SYork Sun	PCIe2: Bus 00 - 01
361*6f5e1dc5SYork Sun	PCIe3: disabled
362*6f5e1dc5SYork Sun	In:    serial
363*6f5e1dc5SYork Sun	Out:   serial
364*6f5e1dc5SYork Sun	Err:   serial
365*6f5e1dc5SYork Sun	Net:   Initializing Fman
366*6f5e1dc5SYork Sun	Fman1: Uploading microcode version 101.8.0
367*6f5e1dc5SYork Sun	e1000: 00:1b:21:81:d2:e0
368*6f5e1dc5SYork Sun	FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5, e1000#0 [PRIME]
369*6f5e1dc5SYork Sun	Warning: e1000#0 MAC addresses don't match:
370*6f5e1dc5SYork Sun	Address in SROM is         00:1b:21:81:d2:e0
371*6f5e1dc5SYork Sun	Address in environment is  00:e0:0c:00:ea:05
372*6f5e1dc5SYork Sun
373*6f5e1dc5SYork Sun	Hit any key to stop autoboot:  0
374*6f5e1dc5SYork Sun	=>
375