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