1*64cadc16SJiafei Pan /* 2*64cadc16SJiafei Pan * Copyright 2021 NXP 3*64cadc16SJiafei Pan * 4*64cadc16SJiafei Pan * SPDX-License-Identifier: BSD-3-Clause 5*64cadc16SJiafei Pan * 6*64cadc16SJiafei Pan */ 7*64cadc16SJiafei Pan 8*64cadc16SJiafei Pan #include <mmio.h> 9*64cadc16SJiafei Pan 10*64cadc16SJiafei Pan #ifdef ERRATA_SOC_A050426 11*64cadc16SJiafei Pan void erratum_a050426(void) 12*64cadc16SJiafei Pan { 13*64cadc16SJiafei Pan uint32_t i, val3, val4; 14*64cadc16SJiafei Pan 15*64cadc16SJiafei Pan /* Enable BIST to access Internal memory locations */ 16*64cadc16SJiafei Pan val3 = mmio_read_32(0x700117E60); 17*64cadc16SJiafei Pan mmio_write_32(0x700117E60, (val3 | 0x80000001)); 18*64cadc16SJiafei Pan val4 = mmio_read_32(0x700117E90); 19*64cadc16SJiafei Pan mmio_write_32(0x700117E90, (val4 & 0xFFDFFFFF)); 20*64cadc16SJiafei Pan 21*64cadc16SJiafei Pan /* wriop Internal Memory.*/ 22*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 23*64cadc16SJiafei Pan mmio_write_32(0x706312000 + (i * 4), 0x55555555); 24*64cadc16SJiafei Pan mmio_write_32(0x706312400 + (i * 4), 0x55555555); 25*64cadc16SJiafei Pan mmio_write_32(0x706312800 + (i * 4), 0x55555555); 26*64cadc16SJiafei Pan mmio_write_32(0x706314000 + (i * 4), 0x55555555); 27*64cadc16SJiafei Pan mmio_write_32(0x706314400 + (i * 4), 0x55555555); 28*64cadc16SJiafei Pan mmio_write_32(0x706314800 + (i * 4), 0x55555555); 29*64cadc16SJiafei Pan mmio_write_32(0x706314c00 + (i * 4), 0x55555555); 30*64cadc16SJiafei Pan } 31*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 32*64cadc16SJiafei Pan mmio_write_32(0x706316000 + (i * 4), 0x55555555); 33*64cadc16SJiafei Pan mmio_write_32(0x706320000 + (i * 4), 0x55555555); 34*64cadc16SJiafei Pan mmio_write_32(0x706320400 + (i * 4), 0x55555555); 35*64cadc16SJiafei Pan } 36*64cadc16SJiafei Pan for (i = 0U; i < 2U; i++) { 37*64cadc16SJiafei Pan mmio_write_32(0x70640a000 + (i * 4), 0x55555555); 38*64cadc16SJiafei Pan } 39*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 40*64cadc16SJiafei Pan mmio_write_32(0x706518000 + (i * 4), 0x55555555); 41*64cadc16SJiafei Pan mmio_write_32(0x706519000 + (i * 4), 0x55555555); 42*64cadc16SJiafei Pan } 43*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 44*64cadc16SJiafei Pan mmio_write_32(0x706522000 + (i * 4), 0x55555555); 45*64cadc16SJiafei Pan mmio_write_32(0x706522800 + (i * 4), 0x55555555); 46*64cadc16SJiafei Pan mmio_write_32(0x706523000 + (i * 4), 0x55555555); 47*64cadc16SJiafei Pan mmio_write_32(0x706523800 + (i * 4), 0x55555555); 48*64cadc16SJiafei Pan mmio_write_32(0x706524000 + (i * 4), 0x55555555); 49*64cadc16SJiafei Pan mmio_write_32(0x706524800 + (i * 4), 0x55555555); 50*64cadc16SJiafei Pan mmio_write_32(0x706608000 + (i * 4), 0x55555555); 51*64cadc16SJiafei Pan mmio_write_32(0x706608800 + (i * 4), 0x55555555); 52*64cadc16SJiafei Pan mmio_write_32(0x706609000 + (i * 4), 0x55555555); 53*64cadc16SJiafei Pan mmio_write_32(0x706609800 + (i * 4), 0x55555555); 54*64cadc16SJiafei Pan mmio_write_32(0x70660a000 + (i * 4), 0x55555555); 55*64cadc16SJiafei Pan mmio_write_32(0x70660a800 + (i * 4), 0x55555555); 56*64cadc16SJiafei Pan mmio_write_32(0x70660b000 + (i * 4), 0x55555555); 57*64cadc16SJiafei Pan mmio_write_32(0x70660b800 + (i * 4), 0x55555555); 58*64cadc16SJiafei Pan } 59*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 60*64cadc16SJiafei Pan mmio_write_32(0x70660c000 + (i * 4), 0x55555555); 61*64cadc16SJiafei Pan mmio_write_32(0x70660c800 + (i * 4), 0x55555555); 62*64cadc16SJiafei Pan } 63*64cadc16SJiafei Pan for (i = 0U; i < 2U; i++) { 64*64cadc16SJiafei Pan mmio_write_32(0x706718000 + (i * 4), 0x55555555); 65*64cadc16SJiafei Pan mmio_write_32(0x706718800 + (i * 4), 0x55555555); 66*64cadc16SJiafei Pan } 67*64cadc16SJiafei Pan mmio_write_32(0x706b0a000 + (i * 4), 0x55555555); 68*64cadc16SJiafei Pan 69*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 70*64cadc16SJiafei Pan mmio_write_32(0x706b0e000 + (i * 4), 0x55555555); 71*64cadc16SJiafei Pan mmio_write_32(0x706b0e800 + (i * 4), 0x55555555); 72*64cadc16SJiafei Pan } 73*64cadc16SJiafei Pan for (i = 0U; i < 2U; i++) { 74*64cadc16SJiafei Pan mmio_write_32(0x706b10000 + (i * 4), 0x55555555); 75*64cadc16SJiafei Pan mmio_write_32(0x706b10400 + (i * 4), 0x55555555); 76*64cadc16SJiafei Pan } 77*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 78*64cadc16SJiafei Pan mmio_write_32(0x706b14000 + (i * 4), 0x55555555); 79*64cadc16SJiafei Pan mmio_write_32(0x706b14800 + (i * 4), 0x55555555); 80*64cadc16SJiafei Pan mmio_write_32(0x706b15000 + (i * 4), 0x55555555); 81*64cadc16SJiafei Pan mmio_write_32(0x706b15800 + (i * 4), 0x55555555); 82*64cadc16SJiafei Pan } 83*64cadc16SJiafei Pan mmio_write_32(0x706e12000 + (i * 4), 0x55555555); 84*64cadc16SJiafei Pan 85*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 86*64cadc16SJiafei Pan mmio_write_32(0x706e14000 + (i * 4), 0x55555555); 87*64cadc16SJiafei Pan mmio_write_32(0x706e14800 + (i * 4), 0x55555555); 88*64cadc16SJiafei Pan } 89*64cadc16SJiafei Pan for (i = 0U; i < 2U; i++) { 90*64cadc16SJiafei Pan mmio_write_32(0x706e16000 + (i * 4), 0x55555555); 91*64cadc16SJiafei Pan mmio_write_32(0x706e16400 + (i * 4), 0x55555555); 92*64cadc16SJiafei Pan } 93*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 94*64cadc16SJiafei Pan mmio_write_32(0x706e1a000 + (i * 4), 0x55555555); 95*64cadc16SJiafei Pan mmio_write_32(0x706e1a800 + (i * 4), 0x55555555); 96*64cadc16SJiafei Pan mmio_write_32(0x706e1b000 + (i * 4), 0x55555555); 97*64cadc16SJiafei Pan mmio_write_32(0x706e1b800 + (i * 4), 0x55555555); 98*64cadc16SJiafei Pan mmio_write_32(0x706e1c000 + (i * 4), 0x55555555); 99*64cadc16SJiafei Pan mmio_write_32(0x706e1c800 + (i * 4), 0x55555555); 100*64cadc16SJiafei Pan mmio_write_32(0x706e1e000 + (i * 4), 0x55555555); 101*64cadc16SJiafei Pan mmio_write_32(0x706e1e800 + (i * 4), 0x55555555); 102*64cadc16SJiafei Pan mmio_write_32(0x706e1f000 + (i * 4), 0x55555555); 103*64cadc16SJiafei Pan mmio_write_32(0x706e1f800 + (i * 4), 0x55555555); 104*64cadc16SJiafei Pan mmio_write_32(0x706e20000 + (i * 4), 0x55555555); 105*64cadc16SJiafei Pan mmio_write_32(0x706e20800 + (i * 4), 0x55555555); 106*64cadc16SJiafei Pan } 107*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 108*64cadc16SJiafei Pan mmio_write_32(0x707108000 + (i * 4), 0x55555555); 109*64cadc16SJiafei Pan mmio_write_32(0x707109000 + (i * 4), 0x55555555); 110*64cadc16SJiafei Pan mmio_write_32(0x70710a000 + (i * 4), 0x55555555); 111*64cadc16SJiafei Pan } 112*64cadc16SJiafei Pan for (i = 0U; i < 2U; i++) { 113*64cadc16SJiafei Pan mmio_write_32(0x70711c000 + (i * 4), 0x55555555); 114*64cadc16SJiafei Pan mmio_write_32(0x70711c800 + (i * 4), 0x55555555); 115*64cadc16SJiafei Pan mmio_write_32(0x70711d000 + (i * 4), 0x55555555); 116*64cadc16SJiafei Pan mmio_write_32(0x70711d800 + (i * 4), 0x55555555); 117*64cadc16SJiafei Pan mmio_write_32(0x70711e000 + (i * 4), 0x55555555); 118*64cadc16SJiafei Pan } 119*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 120*64cadc16SJiafei Pan mmio_write_32(0x707120000 + (i * 4), 0x55555555); 121*64cadc16SJiafei Pan mmio_write_32(0x707121000 + (i * 4), 0x55555555); 122*64cadc16SJiafei Pan } 123*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 124*64cadc16SJiafei Pan mmio_write_32(0x707122000 + (i * 4), 0x55555555); 125*64cadc16SJiafei Pan mmio_write_32(0x70725a000 + (i * 4), 0x55555555); 126*64cadc16SJiafei Pan mmio_write_32(0x70725b000 + (i * 4), 0x55555555); 127*64cadc16SJiafei Pan mmio_write_32(0x70725c000 + (i * 4), 0x55555555); 128*64cadc16SJiafei Pan mmio_write_32(0x70725e000 + (i * 4), 0x55555555); 129*64cadc16SJiafei Pan mmio_write_32(0x70725e400 + (i * 4), 0x55555555); 130*64cadc16SJiafei Pan mmio_write_32(0x70725e800 + (i * 4), 0x55555555); 131*64cadc16SJiafei Pan mmio_write_32(0x70725ec00 + (i * 4), 0x55555555); 132*64cadc16SJiafei Pan mmio_write_32(0x70725f000 + (i * 4), 0x55555555); 133*64cadc16SJiafei Pan mmio_write_32(0x70725f400 + (i * 4), 0x55555555); 134*64cadc16SJiafei Pan mmio_write_32(0x707340000 + (i * 4), 0x55555555); 135*64cadc16SJiafei Pan mmio_write_32(0x707346000 + (i * 4), 0x55555555); 136*64cadc16SJiafei Pan mmio_write_32(0x707484000 + (i * 4), 0x55555555); 137*64cadc16SJiafei Pan mmio_write_32(0x70748a000 + (i * 4), 0x55555555); 138*64cadc16SJiafei Pan mmio_write_32(0x70748b000 + (i * 4), 0x55555555); 139*64cadc16SJiafei Pan mmio_write_32(0x70748c000 + (i * 4), 0x55555555); 140*64cadc16SJiafei Pan mmio_write_32(0x70748d000 + (i * 4), 0x55555555); 141*64cadc16SJiafei Pan } 142*64cadc16SJiafei Pan 143*64cadc16SJiafei Pan /* EDMA Internal Memory.*/ 144*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 145*64cadc16SJiafei Pan mmio_write_32(0x70a208000 + (i * 4), 0x55555555); 146*64cadc16SJiafei Pan mmio_write_32(0x70a208800 + (i * 4), 0x55555555); 147*64cadc16SJiafei Pan mmio_write_32(0x70a209000 + (i * 4), 0x55555555); 148*64cadc16SJiafei Pan mmio_write_32(0x70a209800 + (i * 4), 0x55555555); 149*64cadc16SJiafei Pan } 150*64cadc16SJiafei Pan 151*64cadc16SJiafei Pan /* PEX1 Internal Memory.*/ 152*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 153*64cadc16SJiafei Pan mmio_write_32(0x70a508000 + (i * 4), 0x55555555); 154*64cadc16SJiafei Pan } 155*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 156*64cadc16SJiafei Pan mmio_write_32(0x70a520000 + (i * 4), 0x55555555); 157*64cadc16SJiafei Pan mmio_write_32(0x70a528000 + (i * 4), 0x55555555); 158*64cadc16SJiafei Pan } 159*64cadc16SJiafei Pan 160*64cadc16SJiafei Pan /* PEX2 Internal Memory.*/ 161*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 162*64cadc16SJiafei Pan mmio_write_32(0x70a608000 + (i * 4), 0x55555555); 163*64cadc16SJiafei Pan } 164*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 165*64cadc16SJiafei Pan mmio_write_32(0x70a620000 + (i * 4), 0x55555555); 166*64cadc16SJiafei Pan mmio_write_32(0x70a628000 + (i * 4), 0x55555555); 167*64cadc16SJiafei Pan } 168*64cadc16SJiafei Pan 169*64cadc16SJiafei Pan /* PEX3 Internal Memory.*/ 170*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 171*64cadc16SJiafei Pan mmio_write_32(0x70a708000 + (i * 4), 0x55555555); 172*64cadc16SJiafei Pan mmio_write_32(0x70a728000 + (i * 4), 0x55555555); 173*64cadc16SJiafei Pan mmio_write_32(0x70a730000 + (i * 4), 0x55555555); 174*64cadc16SJiafei Pan mmio_write_32(0x70a738000 + (i * 4), 0x55555555); 175*64cadc16SJiafei Pan mmio_write_32(0x70a748000 + (i * 4), 0x55555555); 176*64cadc16SJiafei Pan mmio_write_32(0x70a758000 + (i * 4), 0x55555555); 177*64cadc16SJiafei Pan } 178*64cadc16SJiafei Pan 179*64cadc16SJiafei Pan /* PEX4 Internal Memory.*/ 180*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 181*64cadc16SJiafei Pan mmio_write_32(0x70a808000 + (i * 4), 0x55555555); 182*64cadc16SJiafei Pan } 183*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 184*64cadc16SJiafei Pan mmio_write_32(0x70a820000 + (i * 4), 0x55555555); 185*64cadc16SJiafei Pan mmio_write_32(0x70a828000 + (i * 4), 0x55555555); 186*64cadc16SJiafei Pan } 187*64cadc16SJiafei Pan 188*64cadc16SJiafei Pan /* PEX5 Internal Memory.*/ 189*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 190*64cadc16SJiafei Pan mmio_write_32(0x70aa08000 + (i * 4), 0x55555555); 191*64cadc16SJiafei Pan mmio_write_32(0x70aa28000 + (i * 4), 0x55555555); 192*64cadc16SJiafei Pan mmio_write_32(0x70aa30000 + (i * 4), 0x55555555); 193*64cadc16SJiafei Pan mmio_write_32(0x70aa38000 + (i * 4), 0x55555555); 194*64cadc16SJiafei Pan mmio_write_32(0x70aa48000 + (i * 4), 0x55555555); 195*64cadc16SJiafei Pan mmio_write_32(0x70aa58000 + (i * 4), 0x55555555); 196*64cadc16SJiafei Pan } 197*64cadc16SJiafei Pan 198*64cadc16SJiafei Pan /* PEX6 Internal Memory.*/ 199*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 200*64cadc16SJiafei Pan mmio_write_32(0x70ab08000 + (i * 4), 0x55555555); 201*64cadc16SJiafei Pan } 202*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 203*64cadc16SJiafei Pan mmio_write_32(0x70ab20000 + (i * 4), 0x55555555); 204*64cadc16SJiafei Pan mmio_write_32(0x70ab28000 + (i * 4), 0x55555555); 205*64cadc16SJiafei Pan } 206*64cadc16SJiafei Pan 207*64cadc16SJiafei Pan /* QDMA Internal Memory.*/ 208*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 209*64cadc16SJiafei Pan mmio_write_32(0x70b008000 + (i * 4), 0x55555555); 210*64cadc16SJiafei Pan mmio_write_32(0x70b00c000 + (i * 4), 0x55555555); 211*64cadc16SJiafei Pan mmio_write_32(0x70b010000 + (i * 4), 0x55555555); 212*64cadc16SJiafei Pan mmio_write_32(0x70b014000 + (i * 4), 0x55555555); 213*64cadc16SJiafei Pan mmio_write_32(0x70b018000 + (i * 4), 0x55555555); 214*64cadc16SJiafei Pan mmio_write_32(0x70b018400 + (i * 4), 0x55555555); 215*64cadc16SJiafei Pan mmio_write_32(0x70b01a000 + (i * 4), 0x55555555); 216*64cadc16SJiafei Pan mmio_write_32(0x70b01a400 + (i * 4), 0x55555555); 217*64cadc16SJiafei Pan mmio_write_32(0x70b01c000 + (i * 4), 0x55555555); 218*64cadc16SJiafei Pan mmio_write_32(0x70b01d000 + (i * 4), 0x55555555); 219*64cadc16SJiafei Pan mmio_write_32(0x70b01e000 + (i * 4), 0x55555555); 220*64cadc16SJiafei Pan mmio_write_32(0x70b01e800 + (i * 4), 0x55555555); 221*64cadc16SJiafei Pan mmio_write_32(0x70b01f000 + (i * 4), 0x55555555); 222*64cadc16SJiafei Pan mmio_write_32(0x70b01f800 + (i * 4), 0x55555555); 223*64cadc16SJiafei Pan mmio_write_32(0x70b020000 + (i * 4), 0x55555555); 224*64cadc16SJiafei Pan mmio_write_32(0x70b020400 + (i * 4), 0x55555555); 225*64cadc16SJiafei Pan mmio_write_32(0x70b020800 + (i * 4), 0x55555555); 226*64cadc16SJiafei Pan mmio_write_32(0x70b020c00 + (i * 4), 0x55555555); 227*64cadc16SJiafei Pan mmio_write_32(0x70b022000 + (i * 4), 0x55555555); 228*64cadc16SJiafei Pan mmio_write_32(0x70b022400 + (i * 4), 0x55555555); 229*64cadc16SJiafei Pan mmio_write_32(0x70b024000 + (i * 4), 0x55555555); 230*64cadc16SJiafei Pan mmio_write_32(0x70b024800 + (i * 4), 0x55555555); 231*64cadc16SJiafei Pan mmio_write_32(0x70b025000 + (i * 4), 0x55555555); 232*64cadc16SJiafei Pan mmio_write_32(0x70b025800 + (i * 4), 0x55555555); 233*64cadc16SJiafei Pan } 234*64cadc16SJiafei Pan for (i = 0U; i < 4U; i++) { 235*64cadc16SJiafei Pan mmio_write_32(0x70b026000 + (i * 4), 0x55555555); 236*64cadc16SJiafei Pan mmio_write_32(0x70b026200 + (i * 4), 0x55555555); 237*64cadc16SJiafei Pan } 238*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 239*64cadc16SJiafei Pan mmio_write_32(0x70b028000 + (i * 4), 0x55555555); 240*64cadc16SJiafei Pan mmio_write_32(0x70b028800 + (i * 4), 0x55555555); 241*64cadc16SJiafei Pan mmio_write_32(0x70b029000 + (i * 4), 0x55555555); 242*64cadc16SJiafei Pan mmio_write_32(0x70b029800 + (i * 4), 0x55555555); 243*64cadc16SJiafei Pan } 244*64cadc16SJiafei Pan 245*64cadc16SJiafei Pan /* lnx1_e1000#0 Internal Memory.*/ 246*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 247*64cadc16SJiafei Pan mmio_write_32(0x70c00a000 + (i * 4), 0x55555555); 248*64cadc16SJiafei Pan mmio_write_32(0x70c00a200 + (i * 4), 0x55555555); 249*64cadc16SJiafei Pan mmio_write_32(0x70c00a400 + (i * 4), 0x55555555); 250*64cadc16SJiafei Pan mmio_write_32(0x70c00a600 + (i * 4), 0x55555555); 251*64cadc16SJiafei Pan mmio_write_32(0x70c00a800 + (i * 4), 0x55555555); 252*64cadc16SJiafei Pan mmio_write_32(0x70c00aa00 + (i * 4), 0x55555555); 253*64cadc16SJiafei Pan mmio_write_32(0x70c00ac00 + (i * 4), 0x55555555); 254*64cadc16SJiafei Pan mmio_write_32(0x70c00ae00 + (i * 4), 0x55555555); 255*64cadc16SJiafei Pan mmio_write_32(0x70c00b000 + (i * 4), 0x55555555); 256*64cadc16SJiafei Pan mmio_write_32(0x70c00b200 + (i * 4), 0x55555555); 257*64cadc16SJiafei Pan mmio_write_32(0x70c00b400 + (i * 4), 0x55555555); 258*64cadc16SJiafei Pan mmio_write_32(0x70c00b600 + (i * 4), 0x55555555); 259*64cadc16SJiafei Pan mmio_write_32(0x70c00b800 + (i * 4), 0x55555555); 260*64cadc16SJiafei Pan mmio_write_32(0x70c00ba00 + (i * 4), 0x55555555); 261*64cadc16SJiafei Pan mmio_write_32(0x70c00bc00 + (i * 4), 0x55555555); 262*64cadc16SJiafei Pan mmio_write_32(0x70c00be00 + (i * 4), 0x55555555); 263*64cadc16SJiafei Pan } 264*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 265*64cadc16SJiafei Pan mmio_write_32(0x70c00c000 + (i * 4), 0x55555555); 266*64cadc16SJiafei Pan mmio_write_32(0x70c00c400 + (i * 4), 0x55555555); 267*64cadc16SJiafei Pan mmio_write_32(0x70c00c800 + (i * 4), 0x55555555); 268*64cadc16SJiafei Pan mmio_write_32(0x70c00cc00 + (i * 4), 0x55555555); 269*64cadc16SJiafei Pan mmio_write_32(0x70c00d000 + (i * 4), 0x55555555); 270*64cadc16SJiafei Pan mmio_write_32(0x70c00d400 + (i * 4), 0x55555555); 271*64cadc16SJiafei Pan mmio_write_32(0x70c00d800 + (i * 4), 0x55555555); 272*64cadc16SJiafei Pan mmio_write_32(0x70c00dc00 + (i * 4), 0x55555555); 273*64cadc16SJiafei Pan } 274*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 275*64cadc16SJiafei Pan mmio_write_32(0x70c00e000 + (i * 4), 0x55555555); 276*64cadc16SJiafei Pan mmio_write_32(0x70c00f000 + (i * 4), 0x55555555); 277*64cadc16SJiafei Pan mmio_write_32(0x70c012000 + (i * 4), 0x55555555); 278*64cadc16SJiafei Pan mmio_write_32(0x70c012200 + (i * 4), 0x55555555); 279*64cadc16SJiafei Pan mmio_write_32(0x70c012400 + (i * 4), 0x55555555); 280*64cadc16SJiafei Pan mmio_write_32(0x70c012600 + (i * 4), 0x55555555); 281*64cadc16SJiafei Pan mmio_write_32(0x70c012800 + (i * 4), 0x55555555); 282*64cadc16SJiafei Pan mmio_write_32(0x70c012a00 + (i * 4), 0x55555555); 283*64cadc16SJiafei Pan mmio_write_32(0x70c012c00 + (i * 4), 0x55555555); 284*64cadc16SJiafei Pan mmio_write_32(0x70c012e00 + (i * 4), 0x55555555); 285*64cadc16SJiafei Pan mmio_write_32(0x70c013000 + (i * 4), 0x55555555); 286*64cadc16SJiafei Pan mmio_write_32(0x70c013200 + (i * 4), 0x55555555); 287*64cadc16SJiafei Pan mmio_write_32(0x70c013400 + (i * 4), 0x55555555); 288*64cadc16SJiafei Pan mmio_write_32(0x70c013600 + (i * 4), 0x55555555); 289*64cadc16SJiafei Pan mmio_write_32(0x70c013800 + (i * 4), 0x55555555); 290*64cadc16SJiafei Pan mmio_write_32(0x70c013a00 + (i * 4), 0x55555555); 291*64cadc16SJiafei Pan mmio_write_32(0x70c013c00 + (i * 4), 0x55555555); 292*64cadc16SJiafei Pan mmio_write_32(0x70c013e00 + (i * 4), 0x55555555); 293*64cadc16SJiafei Pan } 294*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 295*64cadc16SJiafei Pan mmio_write_32(0x70c014000 + (i * 4), 0x55555555); 296*64cadc16SJiafei Pan mmio_write_32(0x70c014400 + (i * 4), 0x55555555); 297*64cadc16SJiafei Pan mmio_write_32(0x70c014800 + (i * 4), 0x55555555); 298*64cadc16SJiafei Pan mmio_write_32(0x70c014c00 + (i * 4), 0x55555555); 299*64cadc16SJiafei Pan mmio_write_32(0x70c015000 + (i * 4), 0x55555555); 300*64cadc16SJiafei Pan mmio_write_32(0x70c015400 + (i * 4), 0x55555555); 301*64cadc16SJiafei Pan mmio_write_32(0x70c015800 + (i * 4), 0x55555555); 302*64cadc16SJiafei Pan mmio_write_32(0x70c015c00 + (i * 4), 0x55555555); 303*64cadc16SJiafei Pan } 304*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 305*64cadc16SJiafei Pan mmio_write_32(0x70c016000 + (i * 4), 0x55555555); 306*64cadc16SJiafei Pan mmio_write_32(0x70c017000 + (i * 4), 0x55555555); 307*64cadc16SJiafei Pan } 308*64cadc16SJiafei Pan 309*64cadc16SJiafei Pan /* lnx1_xfi Internal Memory.*/ 310*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 311*64cadc16SJiafei Pan mmio_write_32(0x70c108000 + (i * 4), 0x55555555); 312*64cadc16SJiafei Pan mmio_write_32(0x70c108200 + (i * 4), 0x55555555); 313*64cadc16SJiafei Pan mmio_write_32(0x70c10a000 + (i * 4), 0x55555555); 314*64cadc16SJiafei Pan mmio_write_32(0x70c10a400 + (i * 4), 0x55555555); 315*64cadc16SJiafei Pan } 316*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 317*64cadc16SJiafei Pan mmio_write_32(0x70c10c000 + (i * 4), 0x55555555); 318*64cadc16SJiafei Pan mmio_write_32(0x70c10c400 + (i * 4), 0x55555555); 319*64cadc16SJiafei Pan } 320*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 321*64cadc16SJiafei Pan mmio_write_32(0x70c10e000 + (i * 4), 0x55555555); 322*64cadc16SJiafei Pan mmio_write_32(0x70c10e200 + (i * 4), 0x55555555); 323*64cadc16SJiafei Pan mmio_write_32(0x70c110000 + (i * 4), 0x55555555); 324*64cadc16SJiafei Pan mmio_write_32(0x70c110400 + (i * 4), 0x55555555); 325*64cadc16SJiafei Pan } 326*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 327*64cadc16SJiafei Pan mmio_write_32(0x70c112000 + (i * 4), 0x55555555); 328*64cadc16SJiafei Pan mmio_write_32(0x70c112400 + (i * 4), 0x55555555); 329*64cadc16SJiafei Pan } 330*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 331*64cadc16SJiafei Pan mmio_write_32(0x70c114000 + (i * 4), 0x55555555); 332*64cadc16SJiafei Pan mmio_write_32(0x70c114200 + (i * 4), 0x55555555); 333*64cadc16SJiafei Pan mmio_write_32(0x70c116000 + (i * 4), 0x55555555); 334*64cadc16SJiafei Pan mmio_write_32(0x70c116400 + (i * 4), 0x55555555); 335*64cadc16SJiafei Pan } 336*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 337*64cadc16SJiafei Pan mmio_write_32(0x70c118000 + (i * 4), 0x55555555); 338*64cadc16SJiafei Pan mmio_write_32(0x70c118400 + (i * 4), 0x55555555); 339*64cadc16SJiafei Pan } 340*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 341*64cadc16SJiafei Pan mmio_write_32(0x70c11a000 + (i * 4), 0x55555555); 342*64cadc16SJiafei Pan mmio_write_32(0x70c11a200 + (i * 4), 0x55555555); 343*64cadc16SJiafei Pan mmio_write_32(0x70c11c000 + (i * 4), 0x55555555); 344*64cadc16SJiafei Pan mmio_write_32(0x70c11c400 + (i * 4), 0x55555555); 345*64cadc16SJiafei Pan } 346*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 347*64cadc16SJiafei Pan mmio_write_32(0x70c11e000 + (i * 4), 0x55555555); 348*64cadc16SJiafei Pan mmio_write_32(0x70c11e400 + (i * 4), 0x55555555); 349*64cadc16SJiafei Pan } 350*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 351*64cadc16SJiafei Pan mmio_write_32(0x70c120000 + (i * 4), 0x55555555); 352*64cadc16SJiafei Pan mmio_write_32(0x70c120200 + (i * 4), 0x55555555); 353*64cadc16SJiafei Pan mmio_write_32(0x70c122000 + (i * 4), 0x55555555); 354*64cadc16SJiafei Pan mmio_write_32(0x70c122400 + (i * 4), 0x55555555); 355*64cadc16SJiafei Pan } 356*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 357*64cadc16SJiafei Pan mmio_write_32(0x70c124000 + (i * 4), 0x55555555); 358*64cadc16SJiafei Pan mmio_write_32(0x70c124400 + (i * 4), 0x55555555); 359*64cadc16SJiafei Pan } 360*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 361*64cadc16SJiafei Pan mmio_write_32(0x70c126000 + (i * 4), 0x55555555); 362*64cadc16SJiafei Pan mmio_write_32(0x70c126200 + (i * 4), 0x55555555); 363*64cadc16SJiafei Pan mmio_write_32(0x70c128000 + (i * 4), 0x55555555); 364*64cadc16SJiafei Pan mmio_write_32(0x70c128400 + (i * 4), 0x55555555); 365*64cadc16SJiafei Pan } 366*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 367*64cadc16SJiafei Pan mmio_write_32(0x70c12a000 + (i * 4), 0x55555555); 368*64cadc16SJiafei Pan mmio_write_32(0x70c12a400 + (i * 4), 0x55555555); 369*64cadc16SJiafei Pan } 370*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 371*64cadc16SJiafei Pan mmio_write_32(0x70c12c000 + (i * 4), 0x55555555); 372*64cadc16SJiafei Pan mmio_write_32(0x70c12c200 + (i * 4), 0x55555555); 373*64cadc16SJiafei Pan mmio_write_32(0x70c12e000 + (i * 4), 0x55555555); 374*64cadc16SJiafei Pan mmio_write_32(0x70c12e400 + (i * 4), 0x55555555); 375*64cadc16SJiafei Pan } 376*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 377*64cadc16SJiafei Pan mmio_write_32(0x70c130000 + (i * 4), 0x55555555); 378*64cadc16SJiafei Pan mmio_write_32(0x70c130400 + (i * 4), 0x55555555); 379*64cadc16SJiafei Pan } 380*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 381*64cadc16SJiafei Pan mmio_write_32(0x70c132000 + (i * 4), 0x55555555); 382*64cadc16SJiafei Pan mmio_write_32(0x70c132200 + (i * 4), 0x55555555); 383*64cadc16SJiafei Pan mmio_write_32(0x70c134000 + (i * 4), 0x55555555); 384*64cadc16SJiafei Pan mmio_write_32(0x70c134400 + (i * 4), 0x55555555); 385*64cadc16SJiafei Pan } 386*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 387*64cadc16SJiafei Pan mmio_write_32(0x70c136000 + (i * 4), 0x55555555); 388*64cadc16SJiafei Pan mmio_write_32(0x70c136400 + (i * 4), 0x55555555); 389*64cadc16SJiafei Pan } 390*64cadc16SJiafei Pan 391*64cadc16SJiafei Pan /* lnx2_xfi Internal Memory.*/ 392*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 393*64cadc16SJiafei Pan mmio_write_32(0x70c308000 + (i * 4), 0x55555555); 394*64cadc16SJiafei Pan mmio_write_32(0x70c308200 + (i * 4), 0x55555555); 395*64cadc16SJiafei Pan mmio_write_32(0x70c30a000 + (i * 4), 0x55555555); 396*64cadc16SJiafei Pan mmio_write_32(0x70c30a400 + (i * 4), 0x55555555); 397*64cadc16SJiafei Pan } 398*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 399*64cadc16SJiafei Pan mmio_write_32(0x70c30c000 + (i * 4), 0x55555555); 400*64cadc16SJiafei Pan mmio_write_32(0x70c30c400 + (i * 4), 0x55555555); 401*64cadc16SJiafei Pan } 402*64cadc16SJiafei Pan for (i = 0U; i < 3U; i++) { 403*64cadc16SJiafei Pan mmio_write_32(0x70c30e000 + (i * 4), 0x55555555); 404*64cadc16SJiafei Pan mmio_write_32(0x70c30e200 + (i * 4), 0x55555555); 405*64cadc16SJiafei Pan mmio_write_32(0x70c310000 + (i * 4), 0x55555555); 406*64cadc16SJiafei Pan mmio_write_32(0x70c310400 + (i * 4), 0x55555555); 407*64cadc16SJiafei Pan } 408*64cadc16SJiafei Pan for (i = 0U; i < 5U; i++) { 409*64cadc16SJiafei Pan mmio_write_32(0x70c312000 + (i * 4), 0x55555555); 410*64cadc16SJiafei Pan mmio_write_32(0x70c312400 + (i * 4), 0x55555555); 411*64cadc16SJiafei Pan } 412*64cadc16SJiafei Pan 413*64cadc16SJiafei Pan /* Disable BIST */ 414*64cadc16SJiafei Pan 415*64cadc16SJiafei Pan mmio_write_32(0x700117E60, val3); 416*64cadc16SJiafei Pan mmio_write_32(0x700117E90, val4); 417*64cadc16SJiafei Pan } 418*64cadc16SJiafei Pan #endif /* ERRATA_SOC_A050426 */ 419