xref: /rk3399_ARM-atf/plat/nxp/common/soc_errata/errata.c (revision 64cadc163721ee471ab83bb89e35a7fe54d119c2)
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