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