xref: /openbmc/u-boot/drivers/ram/aspeed/sdram_phy_ast2600.h (revision 43925ad7df47606d2fef8cf7d3b970a2dae9d8f8)
1 #define DDR_PHY_TBL_CHG_ADDR            0xaeeddeea
2 #define DDR_PHY_TBL_END                 0xaeededed
3 
4 /**
5  * phyr030[18:16] - Ron PU (PHY side)
6  * phyr030[14:12] - Ron PD (PHY side)
7  *   b'000 : disable
8  *   b'001 : 240 ohm
9  *   b'010 : 120 ohm
10  *   b'011 : 80 ohm
11  *   b'100 : 60 ohm
12  *   b'101 : 48 ohm
13  *   b'110 : 40 ohm
14  *   b'111 : 34 ohm
15  *
16  */
17 #define PHY_RON				((0x7 << 16) | (0x7 << 12))
18 
19 /**
20  * phyr030[10:8] - ODT configuration (PHY side)
21  *   b'000 : ODT disabled
22  *   b'100 : 60 ohm
23  *   b'101 : 48 ohm
24  *   b'110 : 40 ohm (default)
25  */
26 #if defined(CONFIG_ASPEED_DDR4_PHY_ODT60)
27 #define PHY_ODT			(0x4 << 8)
28 #elif defined(CONFIG_ASPEED_DDR4_PHY_ODT48)
29 #define PHY_ODT			(0x5 << 8)
30 #else
31 #define PHY_ODT			(0x6 << 8)
32 #endif
33 
34 /**
35  * phyr058[10:8] - ODT configuration (DRAM side)
36  *   b'001 : 60 ohm
37  *   b'101 : 48 ohm
38  *   b'011 : 40 ohm (default)
39  */
40 #if defined(CONFIG_ASPEED_DDR4_DRAM_ODT60)
41 #define DRAM_ODT			(0x1 << 8)
42 #elif defined(CONFIG_ASPEED_DDR4_DRAM_ODT48)
43 #define DRAM_ODT			(0x5 << 8)
44 #else
45 #define DRAM_ODT			(0x3 << 8)
46 #endif
47 
48 #if defined(CONFIG_ASPEED_DDR4_800)
49 u32 ast2600_sdramphy_config[165] = {
50 	0x1e6e0100,	// start address
51 	0x00000000,	// phyr000
52 	0x0c002062,	// phyr004
53 	0x1a7a0063,	// phyr008
54 	0x5a7a0063,	// phyr00c
55 	0x1a7a0063,	// phyr010
56 	0x1a7a0063,	// phyr014
57 	0x20000000,	// phyr018
58 	0x20000000,	// phyr01c
59 	0x20000000,	// phyr020
60 	0x20000000,	// phyr024
61 	0x00000008,	// phyr028
62 	0x00000000,	// phyr02c
63 	(PHY_RON | PHY_ODT),	/* phyr030 */
64 	0x00000000,	// phyr034
65 	0x00000000,	// phyr038
66 	0x20000000,	// phyr03c
67 	0x50506000,	// phyr040
68 	0x50505050,	// phyr044
69 	0x00002f07,	// phyr048
70 	0x00003080,	// phyr04c
71 	0x04000000,	// phyr050
72 	0x00000200,	// phyr054
73 	(0x03140001 | DRAM_ODT),	// phyr058
74 	0x04800000,	// phyr05c
75 	0x0800044e,	// phyr060
76 	0x00000000,	// phyr064
77 	0x00180008,	// phyr068
78 	0x00e00400,	// phyr06c
79 	0x00140206,	// phyr070
80 	0x1d4c0000,	// phyr074
81 	0x493e0107,	// phyr078
82 	0x08060404,	// phyr07c
83 	0x90000a00,	// phyr080
84 	0x06420618,	// phyr084
85 	0x00001002,	// phyr088
86 	0x05701016,	// phyr08c
87 	0x10000000,	// phyr090
88 	0xaeeddeea,	// change address
89 	0x1e6e019c,	// new address
90 	0x20202020,	// phyr09c
91 	0x20202020,	// phyr0a0
92 	0x00002020,	// phyr0a4
93 	0x00002020,	// phyr0a8
94 	0x00000001,	// phyr0ac
95 	0xaeeddeea,	// change address
96 	0x1e6e01cc,	// new address
97 	0x01010101,	// phyr0cc
98 	0x01010101,	// phyr0d0
99 	0x80808080,	// phyr0d4
100 	0x80808080,	// phyr0d8
101 	0xaeeddeea,	// change address
102 	0x1e6e0288,	// new address
103 	0x80808080,	// phyr188
104 	0x80808080,	// phyr18c
105 	0x80808080,	// phyr190
106 	0x80808080,	// phyr194
107 	0xaeeddeea,	// change address
108 	0x1e6e02f8,	// new address
109 	0x90909090,	// phyr1f8
110 	0x88888888,	// phyr1fc
111 	0xaeeddeea,	// change address
112 	0x1e6e0300,	// new address
113 	0x00000000,	// phyr200
114 	0xaeeddeea,	// change address
115 	0x1e6e0194,	// new address
116 	0x80118260,	// phyr094
117 	0xaeeddeea,	// change address
118 	0x1e6e019c,	// new address
119 	0x20202020,	// phyr09c
120 	0x20202020,	// phyr0a0
121 	0x00002020,	// phyr0a4
122 	0x80000000,	// phyr0a8
123 	0x00000001,	// phyr0ac
124 	0xaeeddeea,	// change address
125 	0x1e6e0318,	// new address
126 	0x09222719,	// phyr218
127 	0x00aa4403,	// phyr21c
128 	0xaeeddeea,	// change address
129 	0x1e6e0198,	// new address
130 	0x08060000,	// phyr098
131 	0xaeeddeea,	// change address
132 	0x1e6e01b0,	// new address
133 	0x00000000,	// phyr0b0
134 	0x00000000,	// phyr0b4
135 	0x00000000,	// phyr0b8
136 	0x00000000,	// phyr0bc
137 	0x00000000,	// phyr0c0
138 	0x00000000,	// phyr0c4
139 	0x000aff2c,	// phyr0c8
140 	0xaeeddeea,	// change address
141 	0x1e6e01dc,	// new address
142 	0x00080000,	// phyr0dc
143 	0x00000000,	// phyr0e0
144 	0xaa55aa55,	// phyr0e4
145 	0x55aa55aa,	// phyr0e8
146 	0xaaaa5555,	// phyr0ec
147 	0x5555aaaa,	// phyr0f0
148 	0xaa55aa55,	// phyr0f4
149 	0x55aa55aa,	// phyr0f8
150 	0xaaaa5555,	// phyr0fc
151 	0x5555aaaa,	// phyr100
152 	0xaa55aa55,	// phyr104
153 	0x55aa55aa,	// phyr108
154 	0xaaaa5555,	// phyr10c
155 	0x5555aaaa,	// phyr110
156 	0xaa55aa55,	// phyr114
157 	0x55aa55aa,	// phyr118
158 	0xaaaa5555,	// phyr11c
159 	0x5555aaaa,	// phyr120
160 	0x20202020,	// phyr124
161 	0x20202020,	// phyr128
162 	0x20202020,	// phyr12c
163 	0x20202020,	// phyr130
164 	0x20202020,	// phyr134
165 	0x20202020,	// phyr138
166 	0x20202020,	// phyr13c
167 	0x20202020,	// phyr140
168 	0x20202020,	// phyr144
169 	0x20202020,	// phyr148
170 	0x20202020,	// phyr14c
171 	0x20202020,	// phyr150
172 	0x20202020,	// phyr154
173 	0x20202020,	// phyr158
174 	0x20202020,	// phyr15c
175 	0x20202020,	// phyr160
176 	0x20202020,	// phyr164
177 	0x20202020,	// phyr168
178 	0x20202020,	// phyr16c
179 	0x20202020,	// phyr170
180 	0xaeeddeea,	// change address
181 	0x1e6e0298,	// new address
182 	0x20200800,	// phyr198
183 	0x20202020,	// phyr19c
184 	0x20202020,	// phyr1a0
185 	0x20202020,	// phyr1a4
186 	0x20202020,	// phyr1a8
187 	0x20202020,	// phyr1ac
188 	0x20202020,	// phyr1b0
189 	0x20202020,	// phyr1b4
190 	0x20202020,	// phyr1b8
191 	0x20202020,	// phyr1bc
192 	0x20202020,	// phyr1c0
193 	0x20202020,	// phyr1c4
194 	0x20202020,	// phyr1c8
195 	0x20202020,	// phyr1cc
196 	0x20202020,	// phyr1d0
197 	0x20202020,	// phyr1d4
198 	0x20202020,	// phyr1d8
199 	0x20202020,	// phyr1dc
200 	0x20202020,	// phyr1e0
201 	0x20202020,	// phyr1e4
202 	0x00002020,	// phyr1e8
203 	0xaeeddeea,	// change address
204 	0x1e6e0304,	// new address
205 	0x00000800,	// phyr204
206 	0xaeeddeea,	// change address
207 	0x1e6e027c,	// new address
208 	0x4e400000,	// phyr17c
209 	0x59595959,	// phyr180
210 	0x40404040,	// phyr184
211 	0xaeeddeea,	// change address
212 	0x1e6e02f4,	// new address
213 	0x00000059,	// phyr1f4
214 	0xaeededed,	// end
215 };
216 #else
217 u32 ast2600_sdramphy_config[165] = {
218 	0x1e6e0100,	// start address
219 	0x00000000,	// phyr000
220 	0x0c002062,	// phyr004
221 	0x1a7a0063,	// phyr008
222 	0x5a7a0063,	// phyr00c
223 	0x1a7a0063,	// phyr010
224 	0x1a7a0063,	// phyr014
225 	0x20000000,	// phyr018
226 	0x20000000,	// phyr01c
227 	0x20000000,	// phyr020
228 	0x20000000,	// phyr024
229 	0x00000008,	// phyr028
230 	0x00000000,	// phyr02c
231 	(PHY_RON | PHY_ODT),	/* phyr030 */
232 	0x00000000,	// phyr034
233 	0x00000000,	// phyr038
234 	0x20000000,	// phyr03c
235 	0x50506000,	// phyr040
236 	0x50505050,	// phyr044
237 	0x00002f07,	// phyr048
238 	0x00003080,	// phyr04c
239 	0x04000000,	// phyr050
240 	0x00000200,	// phyr054
241 	(0x03140001 | DRAM_ODT),	// phyr058
242 	0x04800000,	// phyr05c
243 	0x0800044e,	// phyr060
244 	0x00000000,	// phyr064
245 	0x00180008,	// phyr068
246 	0x00e00400,	// phyr06c
247 	0x00140206,	// phyr070
248 	0x1d4c0000,	// phyr074
249 	0x493e0107,	// phyr078
250 	0x08060404,	// phyr07c
251 	0x90000a00,	// phyr080
252 	0x06420c30,	// phyr084
253 	0x00001002,	// phyr088
254 	0x05701016,	// phyr08c
255 	0x10000000,	// phyr090
256 	0xaeeddeea,	// change address
257 	0x1e6e019c,	// new address
258 	0x20202020,	// phyr09c
259 	0x20202020,	// phyr0a0
260 	0x00002020,	// phyr0a4
261 	0x00002020,	// phyr0a8
262 	0x00000001,	// phyr0ac
263 	0xaeeddeea,	// change address
264 	0x1e6e01cc,	// new address
265 	0x01010101,	// phyr0cc
266 	0x01010101,	// phyr0d0
267 	0x80808080,	// phyr0d4
268 	0x80808080,	// phyr0d8
269 	0xaeeddeea,	// change address
270 	0x1e6e0288,	// new address
271 	0x80808080,	// phyr188
272 	0x80808080,	// phyr18c
273 	0x80808080,	// phyr190
274 	0x80808080,	// phyr194
275 	0xaeeddeea,	// change address
276 	0x1e6e02f8,	// new address
277 	0x90909090,	// phyr1f8
278 	0x88888888,	// phyr1fc
279 	0xaeeddeea,	// change address
280 	0x1e6e0300,	// new address
281 	0x00000000,	// phyr200
282 	0xaeeddeea,	// change address
283 	0x1e6e0194,	// new address
284 	0x801112e0,	// phyr094 - bit12=1,15=0,- write window is ok
285 	0xaeeddeea,	// change address
286 	0x1e6e019c,	// new address
287 	0x20202020,	// phyr09c
288 	0x20202020,	// phyr0a0
289 	0x00002020,	// phyr0a4
290 	0x80000000,	// phyr0a8
291 	0x00000001,	// phyr0ac
292 	0xaeeddeea,	// change address
293 	0x1e6e0318,	// new address
294 	0x09222719,	// phyr218
295 	0x00aa4403,	// phyr21c
296 	0xaeeddeea,	// change address
297 	0x1e6e0198,	// new address
298 	0x08060000,	// phyr098
299 	0xaeeddeea,	// change address
300 	0x1e6e01b0,	// new address
301 	0x00000000,	// phyr0b0
302 	0x00000000,	// phyr0b4
303 	0x00000000,	// phyr0b8
304 	0x00000000,	// phyr0bc
305 	0x00000000,	// phyr0c0 - ori
306 	0x00000000,	// phyr0c4
307 	0x000aff2c,	// phyr0c8
308 	0xaeeddeea,	// change address
309 	0x1e6e01dc,	// new address
310 	0x00080000,	// phyr0dc
311 	0x00000000,	// phyr0e0
312 	0xaa55aa55,	// phyr0e4
313 	0x55aa55aa,	// phyr0e8
314 	0xaaaa5555,	// phyr0ec
315 	0x5555aaaa,	// phyr0f0
316 	0xaa55aa55,	// phyr0f4
317 	0x55aa55aa,	// phyr0f8
318 	0xaaaa5555,	// phyr0fc
319 	0x5555aaaa,	// phyr100
320 	0xaa55aa55,	// phyr104
321 	0x55aa55aa,	// phyr108
322 	0xaaaa5555,	// phyr10c
323 	0x5555aaaa,	// phyr110
324 	0xaa55aa55,	// phyr114
325 	0x55aa55aa,	// phyr118
326 	0xaaaa5555,	// phyr11c
327 	0x5555aaaa,	// phyr120
328 	0x20202020,	// phyr124
329 	0x20202020,	// phyr128
330 	0x20202020,	// phyr12c
331 	0x20202020,	// phyr130
332 	0x20202020,	// phyr134
333 	0x20202020,	// phyr138
334 	0x20202020,	// phyr13c
335 	0x20202020,	// phyr140
336 	0x20202020,	// phyr144
337 	0x20202020,	// phyr148
338 	0x20202020,	// phyr14c
339 	0x20202020,	// phyr150
340 	0x20202020,	// phyr154
341 	0x20202020,	// phyr158
342 	0x20202020,	// phyr15c
343 	0x20202020,	// phyr160
344 	0x20202020,	// phyr164
345 	0x20202020,	// phyr168
346 	0x20202020,	// phyr16c
347 	0x20202020,	// phyr170
348 	0xaeeddeea,	// change address
349 	0x1e6e0298,	// new address
350 	0x20200800,	// phyr198
351 	0x20202020,	// phyr19c
352 	0x20202020,	// phyr1a0
353 	0x20202020,	// phyr1a4
354 	0x20202020,	// phyr1a8
355 	0x20202020,	// phyr1ac
356 	0x20202020,	// phyr1b0
357 	0x20202020,	// phyr1b4
358 	0x20202020,	// phyr1b8
359 	0x20202020,	// phyr1bc
360 	0x20202020,	// phyr1c0
361 	0x20202020,	// phyr1c4
362 	0x20202020,	// phyr1c8
363 	0x20202020,	// phyr1cc
364 	0x20202020,	// phyr1d0
365 	0x20202020,	// phyr1d4
366 	0x20202020,	// phyr1d8
367 	0x20202020,	// phyr1dc
368 	0x20202020,	// phyr1e0
369 	0x20202020,	// phyr1e4
370 	0x00002020,	// phyr1e8
371 	0xaeeddeea,	// change address
372 	0x1e6e0304,	// new address
373 	0x00000800,	// phyr204
374 	0xaeeddeea,	// change address
375 	0x1e6e027c,	// new address
376 	0x4e400000,	// phyr17c
377 	0x59595959,	// phyr180
378 	0x40404040,	// phyr184
379 	0xaeeddeea,	// change address
380 	0x1e6e02f4,	// new address
381 	0x00000059,	// phyr1f4
382 	0xaeededed,	// end
383 };
384 #endif