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