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