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