blob: 9ce51cfa3a6cc8e2d47e5ebf024fe85c2d80ccd8 [file] [log] [blame]
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001/*
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00002 * Copyright (c) 2015-2021, Renesas Electronics Corporation.
Marek Vasut6ad74c32019-08-08 16:34:22 +02003 * All rights reserved.
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02004 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00008#ifndef RZG_SOC
9#define RZG_SOC 0
10#endif
11
12#if (RZG_SOC == 1)
Lad Prabhakar9c86f412021-04-19 16:59:55 +010013#define BOARDNUM 3
Lad Prabhakar9f2b5792021-03-10 14:30:20 +000014#else
Chiaki Fujii59263ee2019-05-17 10:45:02 +090015#define BOARDNUM 22
Lad Prabhakar9f2b5792021-03-10 14:30:20 +000016#endif /* RZG_SOC == 1 */
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +020017#define BOARD_JUDGE_AUTO
18
Marek Vasut6c245a52018-12-12 18:06:39 +010019#ifdef BOARD_JUDGE_AUTO
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +020020static uint32_t _board_judge(void);
21
22static uint32_t boardcnf_get_brd_type(void)
23{
24 return _board_judge();
25}
Marek Vasut6c245a52018-12-12 18:06:39 +010026#else
27static uint32_t boardcnf_get_brd_type(void)
28{
Marek Vasut6a131772019-08-07 19:56:09 +020029 return 1;
Marek Vasut6c245a52018-12-12 18:06:39 +010030}
31#endif
32
33#define DDR_FAST_INIT
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +020034
35struct _boardcnf_ch {
36 uint8_t ddr_density[CS_CNT];
Marek Vasut6c245a52018-12-12 18:06:39 +010037 uint64_t ca_swap;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +020038 uint16_t dqs_swap;
39 uint32_t dq_swap[SLICE_CNT];
40 uint8_t dm_swap[SLICE_CNT];
41 uint16_t wdqlvl_patt[16];
Marek Vasut6c245a52018-12-12 18:06:39 +010042 int8_t cacs_adj[16];
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +020043 int8_t dm_adj_w[SLICE_CNT];
44 int8_t dq_adj_w[SLICE_CNT * 8];
45 int8_t dm_adj_r[SLICE_CNT];
46 int8_t dq_adj_r[SLICE_CNT * 8];
47};
48
49struct _boardcnf {
50 uint8_t phyvalid;
51 uint8_t dbi_en;
52 uint16_t cacs_dly;
53 int16_t cacs_dly_adj;
54 uint16_t dqdm_dly_w;
55 uint16_t dqdm_dly_r;
56 struct _boardcnf_ch ch[DRAM_CH_CNT];
57};
58
59#define WDQLVL_PAT {\
60 0x00AA,\
61 0x0055,\
62 0x00AA,\
63 0x0155,\
64 0x01CC,\
65 0x0133,\
66 0x00CC,\
67 0x0033,\
68 0x00F0,\
69 0x010F,\
70 0x01F0,\
71 0x010F,\
72 0x00F0,\
73 0x00F0,\
74 0x000F,\
75 0x010F}
76
Lad Prabhakar9f2b5792021-03-10 14:30:20 +000077#if (RZG_SOC == 1)
78static const struct _boardcnf boardcnfs[BOARDNUM] = {
79 {
80/* boardcnf[0] HopeRun HiHope RZ/G2M 16Gbit/1rank/2ch board with G2M SoC */
81 .phyvalid = 0x03U,
82 .dbi_en = 0x01U,
83 .cacs_dly = 0x02c0U,
84 .cacs_dly_adj = 0x0U,
85 .dqdm_dly_w = 0x0300U,
86 .dqdm_dly_r = 0x00a0U,
87 .ch = {
88 {
89 { 0x04U, 0xffU },
90 0x00345201UL,
91 0x3201U,
92 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
93 { 0x08U, 0x08U, 0x08U, 0x08U },
94 WDQLVL_PAT,
95 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
96 { 0, 0, 0, 0 },
97 { 0, 0, 0, 0, 0, 0, 0, 0,
98 0, 0, 0, 0, 0, 0, 0, 0,
99 0, 0, 0, 0, 0, 0, 0, 0,
100 0, 0, 0, 0, 0, 0, 0, 0 },
101 { 0, 0, 0, 0 },
102 { 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0 }
106 },
107 {
108 { 0x04U, 0xffU },
109 0x00302154UL,
110 0x2310U,
111 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
112 { 0x08U, 0x08U, 0x08U, 0x08U },
113 WDQLVL_PAT,
114 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
115 { 0, 0, 0, 0 },
116 { 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 0, 0, 0 },
120 { 0, 0, 0, 0 },
121 { 0, 0, 0, 0, 0, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0 }
125 }
126 }
127 },
128/* boardcnf[1] HopeRun HiHope RZ/G2M 8Gbit/2rank/2ch board with G2M SoC */
129 {
130 0x03U,
131 0x01U,
132 0x02c0U,
133 0x0U,
134 0x0300U,
135 0x00a0U,
136 {
137 {
138 { 0x02U, 0x02U },
139 0x00345201UL,
140 0x3201U,
141 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
142 { 0x08U, 0x08U, 0x08U, 0x08U },
143 WDQLVL_PAT,
144 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
145 { 0, 0, 0, 0 },
146 { 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 0, 0 },
150 { 0, 0, 0, 0 },
151 { 0, 0, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0 }
155 },
156 {
157 { 0x02U, 0x02U },
158 0x00302154UL,
159 0x2310,
160 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
161 { 0x08U, 0x08U, 0x08U, 0x08U },
162 WDQLVL_PAT,
163 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
164 { 0, 0, 0, 0 },
165 { 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 0, 0, 0, 0, 0 },
169 { 0, 0, 0, 0 },
170 { 0, 0, 0, 0, 0, 0, 0, 0,
171 0, 0, 0, 0, 0, 0, 0, 0,
172 0, 0, 0, 0, 0, 0, 0, 0,
173 0, 0, 0, 0, 0, 0, 0, 0 }
174 }
175 }
Lad Prabhakar9c86f412021-04-19 16:59:55 +0100176 },
177/* boardcnf[2] HopeRun HiHope RZ/G2H board 16Gbit/1rank/2ch */
178 {
179 0x05U,
180 0x01U,
181 0x0300U,
182 0,
183 0x0300U,
184 0x00a0U,
185 {
186 {
187 { 0x04U, 0xffU },
188 0x00345201UL,
189 0x3201U,
190 { 0x01672543U, 0x45367012U, 0x45632107U, 0x60715234U },
191 { 0x08U, 0x08U, 0x08U, 0x08U },
192 WDQLVL_PAT,
193 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
194 { 0, 0, 0, 0 },
195 { 0, 0, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0 },
199 { 0, 0, 0, 0 },
200 { 0, 0, 0, 0, 0, 0, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0 }
204 },
205 {
206 { 0x04U, 0xffU },
207 0x00302154UL,
208 0x2310U,
209 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
210 { 0x08U, 0x08U, 0x08U, 0x08U },
211 WDQLVL_PAT,
212 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
213 { 0, 0, 0, 0 },
214 { 0, 0, 0, 0, 0, 0, 0, 0,
215 0, 0, 0, 0, 0, 0, 0, 0,
216 0, 0, 0, 0, 0, 0, 0, 0,
217 0, 0, 0, 0, 0, 0, 0, 0 },
218 { 0, 0, 0, 0 },
219 { 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0 }
223 },
224 {
225 { 0x04U, 0xffU },
226 0x00302154UL,
227 0x2310U,
228 { 0x01672543U, 0x45361207U, 0x45632107U, 0x60715234U },
229 { 0x08U, 0x08U, 0x08U, 0x08U },
230 WDQLVL_PAT,
231 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
232 { 0, 0, 0, 0 },
233 { 0, 0, 0, 0, 0, 0, 0, 0,
234 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 0, 0, 0,
236 0, 0, 0, 0, 0, 0, 0, 0 },
237 { 0, 0, 0, 0 },
238 { 0, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, 0, 0, 0, 0, 0, 0 }
242 },
243 {
244 { 0xffU, 0xffU },
245 0UL,
246 0U,
247 { 0U, 0U, 0U, 0U },
248 { 0U, 0U, 0U, 0U },
249 WDQLVL_PAT,
250 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
251 { 0, 0, 0, 0 },
252 { 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 0, 0, 0, 0,
254 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 0, 0, 0 },
256 { 0, 0, 0, 0 },
257 { 0, 0, 0, 0, 0, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0,
260 0, 0, 0, 0, 0, 0, 0, 0 }
261 }
262 }
Lad Prabhakar9f2b5792021-03-10 14:30:20 +0000263 }
264};
265#else
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200266static const struct _boardcnf boardcnfs[BOARDNUM] = {
267 {
268/* boardcnf[0] RENESAS SALVATOR-X board with M3-W/SIP */
269 .phyvalid = 0x03,
270 .dbi_en = 0x01,
271 .cacs_dly = 0x02c0,
272 .cacs_dly_adj = 0,
273 .dqdm_dly_w = 0x0300,
274 .dqdm_dly_r = 0x00a0,
275 .ch = {
276 {
277 {0x02, 0x02},
278 0x00543210U,
279 0x3201U,
280 {0x70612543, 0x43251670, 0x45326170, 0x10672534},
281 {0x08, 0x08, 0x08, 0x08},
282 WDQLVL_PAT,
283 {0, 0, 0, 0, 0, 0, 0, 0,
284 0, 0},
285 {0, 0, 0, 0},
286 {0, 0, 0, 0, 0, 0, 0, 0,
287 0, 0, 0, 0, 0, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 0, 0, 0, 0, 0},
290 {0, 0, 0, 0},
291 {0, 0, 0, 0, 0, 0, 0, 0,
292 0, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 0, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0}
295 },
296
297 {
298 {0x02, 0x02},
299 0x00543210,
300 0x2310,
301 {0x01327654, 0x34526107, 0x35421670, 0x70615324},
302 {0x08, 0x08, 0x08, 0x08},
303 WDQLVL_PAT,
304 {0, 0, 0, 0, 0, 0, 0, 0,
305 0, 0},
306 {0, 0, 0, 0},
307 {0, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0},
311 {0, 0, 0, 0},
312 {0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 0, 0,
314 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200316 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200317 }
318 },
319/* boardcnf[1] RENESAS KRIEK board with M3-W/SoC */
320 {
321 0x03,
322 0x01,
323 0x2c0,
324 0,
325 0x300,
326 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200327 {
328 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200329 {0x02, 0x02},
330 0x00345201,
331 0x3201,
332 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
333 {0x08, 0x08, 0x08, 0x08},
334 WDQLVL_PAT,
335 {0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0},
337 {0, 0, 0, 0},
338 {0, 0, 0, 0, 0, 0, 0, 0,
339 0, 0, 0, 0, 0, 0, 0, 0,
340 0, 0, 0, 0, 0, 0, 0, 0,
341 0, 0, 0, 0, 0, 0, 0, 0},
342 {0, 0, 0, 0},
343 {0, 0, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 0, 0, 0, 0, 0,
345 0, 0, 0, 0, 0, 0, 0, 0,
346 0, 0, 0, 0, 0, 0, 0, 0}
347 },
Marek Vasut80784f92019-08-07 19:02:26 +0200348 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200349 {0x02, 0x02},
350 0x00302154,
351 0x2310,
352 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
353 {0x08, 0x08, 0x08, 0x08},
354 WDQLVL_PAT,
355 {0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0},
357 {0, 0, 0, 0},
358 {0, 0, 0, 0, 0, 0, 0, 0,
359 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0},
362 {0, 0, 0, 0},
363 {0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200367 }
368 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200369 },
370/* boardcnf[2] RENESAS SALVATOR-X board with H3 Ver.1.x/SIP(8Gbit 1rank) */
371 {
372 0x0f,
373 0x00,
374 0x300,
375 -320,
376 0x300,
377 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200378 {
379 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200380 {0x02, 0xff},
381 0x00543210,
382 0x3210,
383 {0x20741365, 0x34256107, 0x57460321, 0x70614532},
384 {0x08, 0x08, 0x08, 0x08},
385 WDQLVL_PAT,
386 {0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0},
388 {0, 0, 0, 0},
389 {0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0},
393 {0, 0, 0, 0},
394 {0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0}
398 },
Marek Vasut80784f92019-08-07 19:02:26 +0200399 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200400 {0x02, 0xff},
401 0x00543210,
402 0x3102,
403 {0x23547610, 0x34526107, 0x67452310, 0x32106754},
404 {0x08, 0x08, 0x08, 0x08},
405 WDQLVL_PAT,
406 {0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0},
408 {0, 0, 0, 0},
409 {0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0},
413 {0, 0, 0, 0},
414 {0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 0, 0}
418 },
Marek Vasut80784f92019-08-07 19:02:26 +0200419 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200420 {0x02, 0xff},
421 0x00543210,
422 0x0213,
423 {0x30216754, 0x67453210, 0x70165243, 0x07162345},
424 {0x08, 0x08, 0x08, 0x08},
425 WDQLVL_PAT,
426 {0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0},
428 {0, 0, 0, 0},
429 {0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0},
433 {0, 0, 0, 0},
434 {0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0}
438 },
Marek Vasut80784f92019-08-07 19:02:26 +0200439 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200440 {0x02, 0xff},
441 0x00543210,
442 0x0213,
443 {0x01327654, 0x70615432, 0x54760123, 0x07162345},
444 {0x08, 0x08, 0x08, 0x08},
445 WDQLVL_PAT,
446 {0, 0, 0, 0, 0, 0, 0, 0,
447 0, 0},
448 {0, 0, 0, 0},
449 {0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0},
453 {0, 0, 0, 0},
454 {0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200458 }
459 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200460 },
461/* boardcnf[3] RENESAS Starter Kit board with M3-W/SIP(8Gbit 1rank) */
462 {
463 0x03,
464 0x01,
465 0x02c0,
466 0,
467 0x0300,
468 0x00a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200469 {
470 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200471 {0x02, 0xFF},
472 0x00543210U,
473 0x3201,
474 {0x70612543, 0x43251670, 0x45326170, 0x10672534},
475 {0x08, 0x08, 0x08, 0x08},
476 WDQLVL_PAT,
477 {0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0},
479 {0, 0, 0, 0},
480 {0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0},
484 {0, 0, 0, 0},
485 {0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0}
489 },
Marek Vasut80784f92019-08-07 19:02:26 +0200490 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200491 {0x02, 0xFF},
492 0x00543210,
493 0x2310,
494 {0x01327654, 0x34526107, 0x35421670, 0x70615324},
495 {0x08, 0x08, 0x08, 0x08},
496 WDQLVL_PAT,
497 {0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0},
499 {0, 0, 0, 0},
500 {0, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0},
504 {0, 0, 0, 0},
505 {0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200509 }
510 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200511 },
512/* boardcnf[4] RENESAS SALVATOR-M(1rank) board with H3 Ver.1.x/SoC */
513 {
514 0x0f,
515 0x00,
516 0x2c0,
517 -320,
518 0x300,
519 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200520 {
521 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200522 {0x02, 0xff},
523 0x00315024,
524 0x3120,
525 {0x30671254, 0x26541037, 0x17054623, 0x12307645},
526 {0x08, 0x08, 0x08, 0x08},
527 WDQLVL_PAT,
528 {0, 0, 0, 0, 0, 0, 0, 0,
529 0, 0},
530 {0, 0, 0, 0},
531 {0, 0, 0, 0, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 0},
535 {0, 0, 0, 0},
536 {0, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 0, 0, 0, 0, 0,
539 0, 0, 0, 0, 0, 0, 0, 0}
540 },
Marek Vasut80784f92019-08-07 19:02:26 +0200541 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200542 {0x02, 0xff},
543 0x00025143,
544 0x3210,
545 {0x70613542, 0x16245307, 0x30712645, 0x21706354},
546 {0x08, 0x08, 0x08, 0x08},
547 WDQLVL_PAT,
548 {0, 0, 0, 0, 0, 0, 0, 0,
549 0, 0},
550 {0, 0, 0, 0},
551 {0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0},
555 {0, 0, 0, 0},
556 {0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0}
560 },
Marek Vasut80784f92019-08-07 19:02:26 +0200561 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200562 {0x02, 0xff},
563 0x00523104,
564 0x2301,
565 {0x70613542, 0x16245307, 0x30712645, 0x21706354},
566 {0x08, 0x08, 0x08, 0x08},
567 WDQLVL_PAT,
568 {0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0},
570 {0, 0, 0, 0},
571 {0, 0, 0, 0, 0, 0, 0, 0,
572 0, 0, 0, 0, 0, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 0, 0, 0},
575 {0, 0, 0, 0},
576 {0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0}
580 },
Marek Vasut80784f92019-08-07 19:02:26 +0200581 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200582 {0x02, 0xff},
583 0x00153402,
584 0x2031,
585 {0x30671254, 0x26541037, 0x17054623, 0x12307645},
586 {0x08, 0x08, 0x08, 0x08},
587 WDQLVL_PAT,
588 {0, 0, 0, 0, 0, 0, 0, 0,
589 0, 0},
590 {0, 0, 0, 0},
591 {0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0},
595 {0, 0, 0, 0},
596 {0, 0, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200600 }
601 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200602 },
603/* boardcnf[5] RENESAS KRIEK-1rank board with M3-W/SoC */
604 {
605 0x03,
606 0x01,
607 0x2c0,
608 0,
609 0x300,
610 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200611 {
612 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200613 {0x02, 0xff},
614 0x00345201,
615 0x3201,
616 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
617 {0x08, 0x08, 0x08, 0x08},
618 WDQLVL_PAT,
619 {0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0},
621 {0, 0, 0, 0},
622 {0, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 0},
626 {0, 0, 0, 0},
627 {0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0}
631 },
Marek Vasut80784f92019-08-07 19:02:26 +0200632 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200633 {0x02, 0xff},
634 0x00302154,
635 0x2310,
636 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
637 {0x08, 0x08, 0x08, 0x08},
638 WDQLVL_PAT,
639 {0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0},
641 {0, 0, 0, 0},
642 {0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0},
646 {0, 0, 0, 0},
647 {0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200651 }
652 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200653 },
654/* boardcnf[6] RENESAS SALVATOR-X board with H3 Ver.1.x/SIP(8Gbit 2rank) */
655 {
656 0x0f,
657 0x00,
658 0x300,
659 -320,
660 0x300,
661 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200662 {
663 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200664 {0x02, 0x02},
665 0x00543210,
666 0x3210,
667 {0x20741365, 0x34256107, 0x57460321, 0x70614532},
668 {0x08, 0x08, 0x08, 0x08},
669 WDQLVL_PAT,
670 {0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0},
672 {0, 0, 0, 0},
673 {0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0},
677 {0, 0, 0, 0},
678 {0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0}
682 },
Marek Vasut80784f92019-08-07 19:02:26 +0200683 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200684 {0x02, 0x02},
685 0x00543210,
686 0x3102,
687 {0x23547610, 0x34526107, 0x67452310, 0x32106754},
688 {0x08, 0x08, 0x08, 0x08},
689 WDQLVL_PAT,
690 {0, 0, 0, 0, 0, 0, 0, 0,
691 0, 0},
692 {0, 0, 0, 0},
693 {0, 0, 0, 0, 0, 0, 0, 0,
694 0, 0, 0, 0, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0},
697 {0, 0, 0, 0},
698 {0, 0, 0, 0, 0, 0, 0, 0,
699 0, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0}
702 },
Marek Vasut80784f92019-08-07 19:02:26 +0200703 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200704 {0x02, 0x02},
705 0x00543210,
706 0x0213,
707 {0x30216754, 0x67453210, 0x70165243, 0x07162345},
708 {0x08, 0x08, 0x08, 0x08},
709 WDQLVL_PAT,
710 {0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0},
712 {0, 0, 0, 0},
713 {0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0},
717 {0, 0, 0, 0},
718 {0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0}
722 },
Marek Vasut80784f92019-08-07 19:02:26 +0200723 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200724 {0x02, 0x02},
725 0x00543210,
726 0x0213,
727 {0x01327654, 0x70615432, 0x54760123, 0x07162345},
728 {0x08, 0x08, 0x08, 0x08},
729 WDQLVL_PAT,
730 {0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0},
732 {0, 0, 0, 0},
733 {0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0},
737 {0, 0, 0, 0},
738 {0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200742 }
743 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200744 },
Marek Vasut6ad74c32019-08-08 16:34:22 +0200745/*
746 * boardcnf[7] RENESAS SALVATOR-X board with
747 * H3 Ver.2.0 or later/SIP(8Gbit 1rank)
748 */
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200749 {
750 0x0f,
751 0x01,
752 0x300,
753 0,
754 0x300,
755 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200756 {
757 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200758 {0x02, 0xff},
759 0x00543210,
760 0x2310,
761 {0x70631425, 0x34527016, 0x43527610, 0x32104567},
762 {0x08, 0x08, 0x08, 0x08},
763 WDQLVL_PAT,
764 {0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0},
766 {0, 0, 0, 0},
767 {0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0},
771 {0, 0, 0, 0},
772 {0, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0}
776 },
Marek Vasut80784f92019-08-07 19:02:26 +0200777 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200778 {0x02, 0xff},
779 0x00105432,
780 0x3210,
781 {0x43256107, 0x07162354, 0x10234567, 0x01235467},
782 {0x08, 0x08, 0x08, 0x08},
783 WDQLVL_PAT,
784 {0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0},
786 {0, 0, 0, 0},
787 {0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0},
791 {0, 0, 0, 0},
792 {0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0}
796 },
Marek Vasut80784f92019-08-07 19:02:26 +0200797 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200798 {0x02, 0xff},
799 0x00543210,
800 0x2301,
801 {0x01327654, 0x02316457, 0x10234567, 0x01325467},
802 {0x08, 0x08, 0x08, 0x08},
803 WDQLVL_PAT,
804 {0, 0, 0, 0, 0, 0, 0, 0,
805 0, 0},
806 {0, 0, 0, 0},
807 {0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, 0},
811 {0, 0, 0, 0},
812 {0, 0, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0}
816 },
Marek Vasut80784f92019-08-07 19:02:26 +0200817 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200818 {0x02, 0xff},
819 0x00543210,
820 0x2301,
821 {0x12034765, 0x23105467, 0x23017645, 0x32106745},
822 {0x08, 0x08, 0x08, 0x08},
823 WDQLVL_PAT,
824 {0, 0, 0, 0, 0, 0, 0, 0,
825 0, 0},
826 {0, 0, 0, 0},
827 {0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0},
831 {0, 0, 0, 0},
832 {0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200836 }
837 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200838 },
Marek Vasut6ad74c32019-08-08 16:34:22 +0200839/*
840 * boardcnf[8] RENESAS SALVATOR-X board with
841 * H3 Ver.2.0 or later/SIP(8Gbit 2rank)
842 */
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200843 {
844#if RCAR_DRAM_CHANNEL == 5
845 0x05,
846#else
847 0x0f,
848#endif
849 0x01,
850 0x300,
851 0,
852 0x300,
853 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200854 {
855 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200856 {0x02, 0x02},
857 0x00543210,
858 0x2310,
859 {0x70631425, 0x34527016, 0x43527610, 0x32104567},
860 {0x08, 0x08, 0x08, 0x08},
861 WDQLVL_PAT,
862 {0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0},
864 {0, 0, 0, 0},
865 {0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 0},
869 {0, 0, 0, 0},
870 {0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 0}
874 },
875#if ((RCAR_DRAM_CHANNEL == 5) && (RCAR_DRAM_SPLIT == 2))
Marek Vasut80784f92019-08-07 19:02:26 +0200876 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200877 {0x02, 0x02},
878 0x00543210,
879 0x2301,
880 {0x01327654, 0x02316457, 0x10234567, 0x01325467},
881 {0x08, 0x08, 0x08, 0x08},
882 WDQLVL_PAT,
883 {0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0},
885 {0, 0, 0, 0},
886 {0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0},
890 {0, 0, 0, 0},
891 {0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0}
895 },
896#else
Marek Vasut80784f92019-08-07 19:02:26 +0200897 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200898 {0x02, 0x02},
899 0x00105432,
900 0x3210,
901 {0x43256107, 0x07162354, 0x10234567, 0x01235467},
902 {0x08, 0x08, 0x08, 0x08},
903 WDQLVL_PAT,
904 {0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0},
906 {0, 0, 0, 0},
907 {0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0},
911 {0, 0, 0, 0},
912 {0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0}
916 },
917#endif
Marek Vasut80784f92019-08-07 19:02:26 +0200918 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200919 {0x02, 0x02},
920 0x00543210,
921 0x2301,
922 {0x01327654, 0x02316457, 0x10234567, 0x01325467},
923 {0x08, 0x08, 0x08, 0x08},
924 WDQLVL_PAT,
925 {0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0},
927 {0, 0, 0, 0},
928 {0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0},
932 {0, 0, 0, 0},
933 {0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0}
937 },
Marek Vasut80784f92019-08-07 19:02:26 +0200938 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200939 {0x02, 0x02},
940 0x00543210,
941 0x2301,
942 {0x12034765, 0x23105467, 0x23017645, 0x32106745},
943 {0x08, 0x08, 0x08, 0x08},
944 WDQLVL_PAT,
945 {0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0},
947 {0, 0, 0, 0},
948 {0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0},
952 {0, 0, 0, 0},
953 {0, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +0200957 }
958 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200959 },
960/* boardcnf[9] RENESAS SALVATOR-MS(1rank) board with H3 Ver.2.0 or later/SoC */
961 {
962 0x0f,
963 0x01,
964 0x300,
965 0,
966 0x300,
967 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +0200968 {
969 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200970 {0x02, 0xff},
971 0x00543210,
972 0x3210,
973 {0x27645310, 0x75346210, 0x53467210, 0x23674510},
974 {0x08, 0x08, 0x08, 0x08},
975 WDQLVL_PAT,
976 {0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0},
978 {0, 0, 0, 0},
979 {0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0},
983 {0, 0, 0, 0},
984 {0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0}
988 },
Marek Vasut80784f92019-08-07 19:02:26 +0200989 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +0200990 {0x02, 0xff},
991 0x00543210,
992 0x2301,
993 {0x23764510, 0x43257610, 0x43752610, 0x37652401},
994 {0x08, 0x08, 0x08, 0x08},
995 WDQLVL_PAT,
996 {-128, -128, -128, -128, -128, -128, 0, 0,
997 0, 0},
998 {0, 0, 0, 0},
999 {0, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0},
1003 {0, 0, 0, 0},
1004 {0, 0, 0, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0}
1008 },
Marek Vasut80784f92019-08-07 19:02:26 +02001009 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001010 {0x02, 0xff},
1011 0x00452103,
1012 0x3210,
1013 {0x32764510, 0x43257610, 0x43752610, 0x26573401},
1014 {0x08, 0x08, 0x08, 0x08},
1015 WDQLVL_PAT,
1016 {0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0},
1018 {0, 0, 0, 0},
1019 {0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0},
1023 {0, 0, 0, 0},
1024 {0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0}
1028 },
Marek Vasut80784f92019-08-07 19:02:26 +02001029 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001030 {0x02, 0xff},
1031 0x00520413,
1032 0x2301,
1033 {0x47652301, 0x75346210, 0x53467210, 0x32674501},
1034 {0x08, 0x08, 0x08, 0x08},
1035 WDQLVL_PAT,
1036 {30, 30, 30, 30, 30, 30, 30, 30,
1037 30, 30},
1038 {0, 0, 0, 0},
1039 {0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0},
1043 {0, 0, 0, 0},
1044 {0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001048 }
1049 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001050 },
1051/* boardcnf[10] RENESAS Kriek(2rank) board with M3-N/SoC */
1052 {
1053 0x01,
1054 0x01,
1055 0x300,
1056 0,
1057 0x300,
1058 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001059 {
1060 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001061 {0x02, 0x02},
1062 0x00345201,
1063 0x3201,
1064 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1065 {0x08, 0x08, 0x08, 0x08},
1066 WDQLVL_PAT,
1067 {0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0},
1069 {0, 0, 0, 0},
1070 {0, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 0, 0},
1074 {0, 0, 0, 0},
1075 {0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001079 }
1080 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001081 },
1082/* boardcnf[11] RENESAS SALVATOR-X board with M3-N/SIP(8Gbit 2rank) */
1083 {
1084 0x01,
1085 0x01,
1086 0x300,
1087 0,
1088 0x300,
1089 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001090 {
1091 {
Marek Vasut6c245a52018-12-12 18:06:39 +01001092#if (RCAR_DRAM_LPDDR4_MEMCONF == 2)
1093 {0x04, 0x04},
1094#else
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001095 {0x02, 0x02},
Marek Vasut6c245a52018-12-12 18:06:39 +01001096#endif
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001097 0x00342501,
1098 0x3201,
1099 {0x10672534, 0x43257106, 0x34527601, 0x71605243},
1100 {0x08, 0x08, 0x08, 0x08},
1101 WDQLVL_PAT,
1102 {0, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0},
1104 {0, 0, 0, 0},
1105 {0, 0, 0, 0, 0, 0, 0, 0,
1106 0, 0, 0, 0, 0, 0, 0, 0,
1107 0, 0, 0, 0, 0, 0, 0, 0,
1108 0, 0, 0, 0, 0, 0, 0, 0},
1109 {0, 0, 0, 0},
1110 {0, 0, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001114 }
1115 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001116 },
1117/* boardcnf[12] RENESAS CONDOR board with V3H/SoC */
1118 {
1119 0x01,
1120 0x1,
1121 0x300,
1122 0,
1123 0x300,
1124 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001125 {
1126 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001127 {0x02, 0x02},
1128 0x00501342,
1129 0x3201,
1130 {0x70562134, 0x34526071, 0x23147506, 0x12430567},
1131 {0x08, 0x08, 0x08, 0x08},
1132 WDQLVL_PAT,
1133 {0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0},
1135 {0, 0, 0, 0},
1136 {0, 0, 0, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0,
1139 0, 0, 0, 0, 0, 0, 0, 0},
1140 {0, 0, 0, 0},
1141 {0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001145 }
1146 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001147 },
1148/* boardcnf[13] RENESAS KRIEK board with PM3/SoC */
1149 {
1150 0x05,
1151 0x00,
1152 0x2c0,
1153 -320,
1154 0x300,
1155 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001156 {
1157 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001158 {0x02, 0x02},
1159 0x00345201,
1160 0x3201,
1161 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1162 {0x08, 0x08, 0x08, 0x08},
1163 WDQLVL_PAT,
1164 {0, 0, 0, 0, 0, 0, 0, 0,
1165 0, 0},
1166 {0, 0, 0, 0},
1167 {0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 0, 0, 0},
1171 {0, 0, 0, 0},
1172 {0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 0, 0, 0, 0}
1176 },
Marek Vasut80784f92019-08-07 19:02:26 +02001177 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001178 {0x02, 0x02},
1179 0x00302154,
1180 0x2310,
1181 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1182 {0x08, 0x08, 0x08, 0x08},
1183 WDQLVL_PAT,
1184 {0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0},
1186 {0, 0, 0, 0},
1187 {0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0},
1191 {0, 0, 0, 0},
1192 {0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0}
1196 },
Marek Vasut80784f92019-08-07 19:02:26 +02001197 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001198 {0x02, 0x02},
1199 0x00302154,
1200 0x2310,
1201 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1202 {0x08, 0x08, 0x08, 0x08},
1203 WDQLVL_PAT,
1204 {0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0},
1206 {0, 0, 0, 0},
1207 {0, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 0, 0, 0, 0},
1211 {0, 0, 0, 0},
1212 {0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0}
1216 },
Marek Vasut80784f92019-08-07 19:02:26 +02001217 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001218 {0xff, 0xff},
1219 0,
1220 0,
1221 {0, 0, 0, 0},
1222 {0, 0, 0, 0},
1223 WDQLVL_PAT,
1224 {0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0},
1226 {0, 0, 0, 0},
1227 {0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0},
1231 {0, 0, 0, 0},
1232 {0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001236 }
1237 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001238 },
1239/* boardcnf[14] SALVATOR-X board with H3 Ver.2.0 or later/SIP(16Gbit 1rank) */
1240 {
1241#if RCAR_DRAM_CHANNEL == 5
1242 0x05,
1243#else
1244 0x0f,
1245#endif
1246 0x01,
1247 0x300,
1248 0,
1249 0x300,
1250 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001251 {
1252 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001253 {0x04, 0xff},
1254 0x00543210,
1255 0x2310,
1256 {0x70631425, 0x34527016, 0x43527610, 0x32104567},
1257 {0x08, 0x08, 0x08, 0x08},
1258 WDQLVL_PAT,
1259 {0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0},
1261 {0, 0, 0, 0},
1262 {0, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0},
1266 {0, 0, 0, 0},
1267 {0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0}
1271 },
1272#if ((RCAR_DRAM_CHANNEL == 5) && (RCAR_DRAM_SPLIT == 2))
Marek Vasut80784f92019-08-07 19:02:26 +02001273 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001274 {0x04, 0xff},
1275 0x00543210,
1276 0x2301,
1277 {0x01327654, 0x02316457, 0x10234567, 0x01325467},
1278 {0x08, 0x08, 0x08, 0x08},
1279 WDQLVL_PAT,
1280 {0, 0, 0, 0, 0, 0, 0, 0,
1281 0, 0},
1282 {0, 0, 0, 0},
1283 {0, 0, 0, 0, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, 0, 0, 0,
1285 0, 0, 0, 0, 0, 0, 0, 0,
1286 0, 0, 0, 0, 0, 0, 0, 0},
1287 {0, 0, 0, 0},
1288 {0, 0, 0, 0, 0, 0, 0, 0,
1289 0, 0, 0, 0, 0, 0, 0, 0,
1290 0, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, 0}
1292 },
1293#else
Marek Vasut80784f92019-08-07 19:02:26 +02001294 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001295 {0x04, 0xff},
1296 0x00105432,
1297 0x3210,
1298 {0x43256107, 0x07162354, 0x10234567, 0x01235467},
1299 {0x08, 0x08, 0x08, 0x08},
1300 WDQLVL_PAT,
1301 {0, 0, 0, 0, 0, 0, 0, 0,
1302 0, 0},
1303 {0, 0, 0, 0},
1304 {0, 0, 0, 0, 0, 0, 0, 0,
1305 0, 0, 0, 0, 0, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 0, 0, 0, 0, 0, 0, 0},
1308 {0, 0, 0, 0},
1309 {0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 0, 0, 0, 0, 0, 0,
1311 0, 0, 0, 0, 0, 0, 0, 0,
1312 0, 0, 0, 0, 0, 0, 0, 0}
1313 },
1314#endif
Marek Vasut80784f92019-08-07 19:02:26 +02001315 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001316 {0x04, 0xff},
1317 0x00543210,
1318 0x2301,
1319 {0x01327654, 0x02316457, 0x10234567, 0x01325467},
1320 {0x08, 0x08, 0x08, 0x08},
1321 WDQLVL_PAT,
1322 {0, 0, 0, 0, 0, 0, 0, 0,
1323 0, 0},
1324 {0, 0, 0, 0},
1325 {0, 0, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 0, 0, 0, 0,
1327 0, 0, 0, 0, 0, 0, 0, 0,
1328 0, 0, 0, 0, 0, 0, 0, 0},
1329 {0, 0, 0, 0},
1330 {0, 0, 0, 0, 0, 0, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0,
1332 0, 0, 0, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 0, 0, 0}
1334 },
Marek Vasut80784f92019-08-07 19:02:26 +02001335 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001336 {0x04, 0xff},
1337 0x00543210,
1338 0x2301,
1339 {0x12034765, 0x23105467, 0x23017645, 0x32106745},
1340 {0x08, 0x08, 0x08, 0x08},
1341 WDQLVL_PAT,
1342 {0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0},
1344 {0, 0, 0, 0},
1345 {0, 0, 0, 0, 0, 0, 0, 0,
1346 0, 0, 0, 0, 0, 0, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0},
1349 {0, 0, 0, 0},
1350 {0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001354 }
1355 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001356 },
1357/* boardcnf[15] RENESAS KRIEK board with H3N */
1358 {
1359 0x05,
1360 0x01,
1361 0x300,
1362 0,
1363 0x300,
1364 0x0a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001365 {
1366 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001367 {0x02, 0x02},
1368 0x00345201,
1369 0x3201,
1370 {0x01672543, 0x45367012, 0x45632107, 0x60715234},
1371 {0x08, 0x08, 0x08, 0x08},
1372 WDQLVL_PAT,
1373 {0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0},
1375 {0, 0, 0, 0},
1376 {0, 0, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 0, 0, 0, 0,
1378 0, 0, 0, 0, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0, 0},
1380 {0, 0, 0, 0},
1381 {0, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0}
1385 },
Marek Vasut80784f92019-08-07 19:02:26 +02001386 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001387 {0x02, 0x02},
1388 0x00302154,
1389 0x2310,
1390 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1391 {0x08, 0x08, 0x08, 0x08},
1392 WDQLVL_PAT,
1393 {0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0},
1395 {0, 0, 0, 0},
1396 {0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 0, 0, 0,
1398 0, 0, 0, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0},
1400 {0, 0, 0, 0},
1401 {0, 0, 0, 0, 0, 0, 0, 0,
1402 0, 0, 0, 0, 0, 0, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 0}
1405 },
Marek Vasut80784f92019-08-07 19:02:26 +02001406 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001407 {0x02, 0x02},
1408 0x00302154,
1409 0x2310,
1410 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1411 {0x08, 0x08, 0x08, 0x08},
1412 WDQLVL_PAT,
1413 {0, 0, 0, 0, 0, 0, 0, 0,
1414 0, 0},
1415 {0, 0, 0, 0},
1416 {0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 0, 0},
1420 {0, 0, 0, 0},
1421 {0, 0, 0, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0}
1425 },
Marek Vasut80784f92019-08-07 19:02:26 +02001426 {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001427 {0xff, 0xff},
1428 0,
1429 0,
1430 {0, 0, 0, 0},
1431 {0, 0, 0, 0},
1432 WDQLVL_PAT,
1433 {0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0},
1435 {0, 0, 0, 0},
1436 {0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0},
1440 {0, 0, 0, 0},
1441 {0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001445 }
1446 }
Marek Vasut6c245a52018-12-12 18:06:39 +01001447 },
1448/* boardcnf[16] RENESAS KRIEK-P2P board with M3-W/SoC */
1449 {
1450 0x03,
1451 0x01,
1452 0x0320,
1453 0,
1454 0x0300,
1455 0x00a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001456 {
1457 {
Marek Vasut6c245a52018-12-12 18:06:39 +01001458 {0x04, 0x04},
1459 0x520314FFFF523041,
1460 0x3201,
1461 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1462 {0x08, 0x08, 0x08, 0x08},
1463 WDQLVL_PAT,
1464 {0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0},
1466 {0, 0, 0, 0},
1467 {0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0},
1471 {0, 0, 0, 0},
1472 {0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0}
1476 },
Marek Vasut80784f92019-08-07 19:02:26 +02001477 {
Marek Vasut6c245a52018-12-12 18:06:39 +01001478 {0x04, 0x04},
1479 0x314250FFFF312405,
1480 0x2310,
1481 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1482 {0x08, 0x08, 0x08, 0x08},
1483 WDQLVL_PAT,
1484 {0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0},
1486 {0, 0, 0, 0},
1487 {0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0},
1491 {0, 0, 0, 0},
1492 {0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001496 }
1497 }
Marek Vasut6c245a52018-12-12 18:06:39 +01001498 },
1499/* boardcnf[17] RENESAS KRIEK-P2P board with M3-N/SoC */
1500 {
1501 0x01,
1502 0x01,
1503 0x0300,
1504 0,
1505 0x0300,
1506 0x00a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001507 {
1508 {
Marek Vasut6c245a52018-12-12 18:06:39 +01001509 {0x04, 0x04},
1510 0x520314FFFF523041,
1511 0x3201,
1512 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1513 {0x08, 0x08, 0x08, 0x08},
1514 WDQLVL_PAT,
1515 {0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0},
1517 {0, 0, 0, 0},
1518 {0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 0, 0},
1522 {0, 0, 0, 0},
1523 {0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001527 }
1528 }
Marek Vasut3af20052019-02-25 14:57:08 +01001529 },
1530/* boardcnf[18] RENESAS SALVATOR-X board with M3-W/SIP(16Gbit 2rank) */
1531 {
1532 0x03,
1533 0x01,
1534 0x02c0,
1535 0,
1536 0x0300,
1537 0x00a0,
Marek Vasut80784f92019-08-07 19:02:26 +02001538 {
1539 {
Marek Vasut3af20052019-02-25 14:57:08 +01001540 {0x04, 0x04},
1541 0x00543210,
1542 0x3201,
1543 {0x70612543, 0x43251670, 0x45326170, 0x10672534},
1544 {0x08, 0x08, 0x08, 0x08},
1545 WDQLVL_PAT,
1546 {0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0},
1548 {0, 0, 0, 0},
1549 {0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0},
1553 {0, 0, 0, 0},
1554 {0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0,
1556 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0}
1558 },
Marek Vasut80784f92019-08-07 19:02:26 +02001559 {
Marek Vasut3af20052019-02-25 14:57:08 +01001560 {0x04, 0x04},
1561 0x00543210,
1562 0x2310,
1563 {0x01327654, 0x34526107, 0x35421670, 0x70615324},
1564 {0x08, 0x08, 0x08, 0x08},
1565 WDQLVL_PAT,
1566 {0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0},
1568 {0, 0, 0, 0},
1569 {0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0},
1573 {0, 0, 0, 0},
1574 {0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001578 }
1579 }
Marek Vasut3af20052019-02-25 14:57:08 +01001580 },
Chiaki Fujii61aa8032019-03-01 20:28:55 +09001581/* boardcnf[19] RENESAS SALVATOR-X board with M3-W/SIP(16Gbit 1rank) */
Marek Vasut80784f92019-08-07 19:02:26 +02001582 {
1583 0x03,
1584 0x01,
1585 0x02c0,
1586 0,
1587 0x0300,
1588 0x00a0,
1589 {
1590 {
Chiaki Fujii61aa8032019-03-01 20:28:55 +09001591 {0x04, 0xff},
1592 0x00543210,
1593 0x3201,
1594 {0x70612543, 0x43251670, 0x45326170, 0x10672534},
1595 {0x08, 0x08, 0x08, 0x08},
1596 WDQLVL_PAT,
1597 {0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0},
1599 {0, 0, 0, 0},
1600 {0, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 0, 0, 0, 0, 0, 0},
1604 {0, 0, 0, 0},
1605 {0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 0, 0, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 0,
1608 0, 0, 0, 0, 0, 0, 0, 0}
1609 },
Marek Vasut80784f92019-08-07 19:02:26 +02001610 {
Chiaki Fujii61aa8032019-03-01 20:28:55 +09001611 {0x04, 0xff},
1612 0x00543210,
1613 0x2310,
1614 {0x01327654, 0x34526107, 0x35421670, 0x70615324},
1615 {0x08, 0x08, 0x08, 0x08},
1616 WDQLVL_PAT,
1617 {0, 0, 0, 0, 0, 0, 0, 0,
1618 0, 0},
1619 {0, 0, 0, 0},
1620 {0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 0, 0, 0, 0},
1624 {0, 0, 0, 0},
1625 {0, 0, 0, 0, 0, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0}
Marek Vasut80784f92019-08-07 19:02:26 +02001629 }
1630 }
Chiaki Fujii61aa8032019-03-01 20:28:55 +09001631 },
Chiaki Fujii59263ee2019-05-17 10:45:02 +09001632/* boardcnf[20] RENESAS KRIEK 16Gbit/2rank/2ch board with M3-W/SoC */
Marek Vasut80784f92019-08-07 19:02:26 +02001633 {
1634 0x03,
1635 0x01,
1636 0x02c0,
1637 0,
1638 0x0300,
1639 0x00a0,
1640 {
1641 {
1642 {0x04, 0x04},
1643 0x00345201,
1644 0x3201,
1645 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1646 {0x08, 0x08, 0x08, 0x08},
1647 WDQLVL_PAT,
1648 {0, 0, 0, 0, 0, 0, 0, 0,
Chiaki Fujii59263ee2019-05-17 10:45:02 +09001649 0, 0},
Marek Vasut80784f92019-08-07 19:02:26 +02001650 {0, 0, 0, 0},
1651 {0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0},
1655 {0, 0, 0, 0},
1656 {0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0}
1660 },
1661 {
Chiaki Fujii59263ee2019-05-17 10:45:02 +09001662 {0x04, 0x04},
Marek Vasut80784f92019-08-07 19:02:26 +02001663 0x00302154,
1664 0x2310,
1665 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1666 {0x08, 0x08, 0x08, 0x08},
1667 WDQLVL_PAT,
1668 {0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0},
1670 {0, 0, 0, 0},
1671 {0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0},
1675 {0, 0, 0, 0},
1676 {0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0}
1680 }
1681 }
1682 },
Chiaki Fujii59263ee2019-05-17 10:45:02 +09001683/* boardcnf[21] RENESAS KRIEK 16Gbit/1rank/2ch board with M3-W/SoC */
Marek Vasut80784f92019-08-07 19:02:26 +02001684 {
1685 0x03,
1686 0x01,
1687 0x02c0,
1688 0,
1689 0x0300,
1690 0x00a0,
1691 {
1692 {
1693 {0x04, 0xff},
1694 0x00345201,
1695 0x3201,
1696 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1697 {0x08, 0x08, 0x08, 0x08},
1698 WDQLVL_PAT,
1699 {0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0},
1701 {0, 0, 0, 0},
1702 {0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0},
1706 {0, 0, 0, 0},
1707 {0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0}
1711 },
1712 {
1713 {0x04, 0xff},
1714 0x00302154,
1715 0x2310,
1716 {0x01672543, 0x45361207, 0x45632107, 0x60715234},
1717 {0x08, 0x08, 0x08, 0x08},
1718 WDQLVL_PAT,
1719 {0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0},
1721 {0, 0, 0, 0},
1722 {0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0},
1726 {0, 0, 0, 0},
1727 {0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0}
1731 }
1732 }
1733 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001734};
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001735#endif /* RZG_SOC == 1 */
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001736
Marek Vasut80784f92019-08-07 19:02:26 +02001737void boardcnf_get_brd_clk(uint32_t brd, uint32_t *clk, uint32_t *div)
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001738{
1739 uint32_t md;
1740
Marek Vasut38dc7562019-08-07 19:17:42 +02001741 if ((prr_product == PRR_PRODUCT_H3) && (prr_cut == PRR_PRODUCT_10)) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001742 *clk = 50;
1743 *div = 3;
1744 } else {
1745 md = (mmio_read_32(RST_MODEMR) >> 13) & 0x3;
1746 switch (md) {
1747 case 0x0:
1748 *clk = 50;
1749 *div = 3;
1750 break;
1751 case 0x1:
1752 *clk = 60;
1753 *div = 3;
1754 break;
1755 case 0x2:
1756 *clk = 75;
1757 *div = 3;
1758 break;
1759 case 0x3:
1760 *clk = 100;
1761 *div = 3;
1762 break;
1763 }
1764 }
Marek Vasut6c245a52018-12-12 18:06:39 +01001765 (void)brd;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001766}
1767
Marek Vasut80784f92019-08-07 19:02:26 +02001768void boardcnf_get_ddr_mbps(uint32_t brd, uint32_t *mbps, uint32_t *div)
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001769{
1770 uint32_t md;
1771
Chiaki Fujiiaea02862019-09-18 13:10:00 +09001772 if (prr_product == PRR_PRODUCT_V3H) {
1773 md = (mmio_read_32(RST_MODEMR) >> 19) & 0x1;
1774 md = (md | (md << 1)) & 0x3; /* 0 or 3 */
1775 } else {
1776 md = (mmio_read_32(RST_MODEMR) >> 17) & 0x5;
1777 md = (md | (md >> 1)) & 0x3;
1778 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001779 switch (md) {
1780 case 0x0:
1781 *mbps = 3200;
1782 *div = 1;
1783 break;
1784 case 0x1:
1785 *mbps = 2800;
1786 *div = 1;
1787 break;
1788 case 0x2:
1789 *mbps = 2400;
1790 *div = 1;
1791 break;
1792 case 0x3:
1793 *mbps = 1600;
1794 *div = 1;
1795 break;
1796 }
Marek Vasut6c245a52018-12-12 18:06:39 +01001797 (void)brd;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001798}
1799
1800#define _def_REFPERIOD 1890
1801
1802#define M3_SAMPLE_TT_A84 0xB866CC10, 0x3B250421
1803#define M3_SAMPLE_TT_A85 0xB866CC10, 0x3AA50421
1804#define M3_SAMPLE_TT_A86 0xB866CC10, 0x3AA48421
1805#define M3_SAMPLE_FF_B45 0xB866CC10, 0x3AB00C21
1806#define M3_SAMPLE_FF_B49 0xB866CC10, 0x39B10C21
1807#define M3_SAMPLE_FF_B56 0xB866CC10, 0x3AAF8C21
1808#define M3_SAMPLE_SS_E24 0xB866CC10, 0x3BA39421
1809#define M3_SAMPLE_SS_E28 0xB866CC10, 0x3C231421
1810#define M3_SAMPLE_SS_E32 0xB866CC10, 0x3C241421
1811
Marek Vasut38dc7562019-08-07 19:17:42 +02001812static const uint32_t termcode_by_sample[20][3] = {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001813 {M3_SAMPLE_TT_A84, 0x000158D5},
1814 {M3_SAMPLE_TT_A85, 0x00015955},
1815 {M3_SAMPLE_TT_A86, 0x00015955},
1816 {M3_SAMPLE_FF_B45, 0x00015690},
1817 {M3_SAMPLE_FF_B49, 0x00015753},
1818 {M3_SAMPLE_FF_B56, 0x00015793},
1819 {M3_SAMPLE_SS_E24, 0x00015996},
1820 {M3_SAMPLE_SS_E28, 0x000159D7},
1821 {M3_SAMPLE_SS_E32, 0x00015997},
1822 {0xFFFFFFFF, 0xFFFFFFFF, 0x0001554F}
1823};
1824
1825#ifdef BOARD_JUDGE_AUTO
1826/*
1827 * SAMPLE board detect function
1828 */
Marek Vasut80784f92019-08-07 19:02:26 +02001829#define PFC_PMMR 0xE6060000U
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001830#define PFC_PUEN5 0xE6060414U
1831#define PFC_PUEN6 0xE6060418U
1832#define PFC_PUD5 0xE6060454U
1833#define PFC_PUD6 0xE6060458U
1834#define GPIO_INDT5 0xE605500CU
Marek Vasut80784f92019-08-07 19:02:26 +02001835#define GPIO_GPSR6 0xE6060118U
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001836
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001837#if (RCAR_GEN3_ULCB == 0) && (RZG_SOC == 0)
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001838static void pfc_write_and_poll(uint32_t a, uint32_t v)
1839{
1840 mmio_write_32(PFC_PMMR, ~v);
1841 v = ~mmio_read_32(PFC_PMMR);
1842 mmio_write_32(a, v);
Marek Vasut6a131772019-08-07 19:56:09 +02001843 while (v != mmio_read_32(a))
1844 ;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001845 dsb_sev();
1846}
1847#endif
1848
1849#ifndef RCAR_GEN3_ULCB
1850#define RCAR_GEN3_ULCB 0
1851#endif
1852
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001853#if (RCAR_GEN3_ULCB == 0) && (RZG_SOC == 0) /* non Starter Kit */
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001854
1855static uint32_t opencheck_SSI_WS6(void)
1856{
1857 uint32_t dataL, down, up;
1858 uint32_t gpsr6_bak;
1859 uint32_t puen5_bak;
1860 uint32_t pud5_bak;
1861
1862 gpsr6_bak = mmio_read_32(GPIO_GPSR6);
1863 puen5_bak = mmio_read_32(PFC_PUEN5);
1864 pud5_bak = mmio_read_32(PFC_PUD5);
1865 dsb_sev();
1866
Marek Vasuta75f8262019-07-14 08:55:27 +02001867 dataL = (gpsr6_bak & ~BIT(15));
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001868 pfc_write_and_poll(GPIO_GPSR6, dataL);
1869
1870 /* Pull-Up/Down Enable (PUEN5[22]=1) */
1871 dataL = puen5_bak;
Marek Vasuta75f8262019-07-14 08:55:27 +02001872 dataL |= (BIT(22));
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001873 pfc_write_and_poll(PFC_PUEN5, dataL);
1874
1875 /* Pull-Down-Enable (PUD5[22]=0, PUEN5[22]=1) */
1876 dataL = pud5_bak;
Marek Vasuta75f8262019-07-14 08:55:27 +02001877 dataL &= ~(BIT(22));
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001878 pfc_write_and_poll(PFC_PUD5, dataL);
1879 /* GPSR6[15]=SSI_WS6 */
1880 rcar_micro_delay(10);
1881 down = (mmio_read_32(GPIO_INDT6) >> 15) & 0x1;
1882 dsb_sev();
1883
1884 /* Pull-Up-Enable (PUD5[22]=1, PUEN5[22]=1) */
1885 dataL = pud5_bak;
Marek Vasuta75f8262019-07-14 08:55:27 +02001886 dataL |= (BIT(22));
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001887 pfc_write_and_poll(PFC_PUD5, dataL);
1888
1889 /* GPSR6[15]=SSI_WS6 */
1890 rcar_micro_delay(10);
1891 up = (mmio_read_32(GPIO_INDT6) >> 15) & 0x1;
1892
1893 dsb_sev();
1894
1895 pfc_write_and_poll(GPIO_GPSR6, gpsr6_bak);
1896 pfc_write_and_poll(PFC_PUEN5, puen5_bak);
1897 pfc_write_and_poll(PFC_PUD5, pud5_bak);
1898
1899 if (down == up) {
1900 /* Same = Connect */
1901 return 0;
1902 }
Marek Vasut6a131772019-08-07 19:56:09 +02001903
1904 /* Diff = Open */
1905 return 1;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001906}
1907
1908#endif
1909
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001910#if (RZG_SOC == 1)
1911#define LPDDR4_2RANK (0x01U << 25U)
1912
1913static uint32_t rzg2_board_judge(void)
1914{
1915 uint32_t brd;
1916
1917 switch (prr_product) {
1918 case PRR_PRODUCT_M3:
1919 brd = 1U;
1920 if ((mmio_read_32(PRR) & PRR_CUT_MASK) != RCAR_M3_CUT_VER11) {
1921 if ((mmio_read_32(GPIO_INDT5) & LPDDR4_2RANK) == 0U) {
1922 brd = 0U;
1923 }
1924 }
1925 break;
Lad Prabhakar9c86f412021-04-19 16:59:55 +01001926 case PRR_PRODUCT_H3:
1927 brd = 2U;
1928 break;
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001929 default:
1930 brd = 99U;
1931 }
1932
1933 return brd;
1934}
1935#endif /* RZG_SOC == 1 */
1936
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001937static uint32_t _board_judge(void)
1938{
1939 uint32_t brd;
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00001940
1941#if (RZG_SOC == 1)
1942 brd = rzg2_board_judge();
1943#else
Marek Vasut80784f92019-08-07 19:02:26 +02001944#if (RCAR_GEN3_ULCB == 1)
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001945 /* Starter Kit */
Marek Vasut38dc7562019-08-07 19:17:42 +02001946 if (prr_product == PRR_PRODUCT_H3) {
1947 if (prr_cut <= PRR_PRODUCT_11) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001948 /* RENESAS Starter Kit(H3 Ver.1.x/SIP) board */
1949 brd = 2;
1950 } else {
1951 /* RENESAS Starter Kit(H3 Ver.2.0 or later/SIP) board */
1952#if (RCAR_DRAM_LPDDR4_MEMCONF == 0)
1953 brd = 7;
1954#else
1955 brd = 8;
1956#endif
1957 }
Marek Vasut38dc7562019-08-07 19:17:42 +02001958 } else if (prr_product == PRR_PRODUCT_M3) {
Chiaki Fujii8c2f32d2019-12-06 19:33:34 +09001959 if (prr_cut >= PRR_PRODUCT_30) {
1960 /* RENESAS Starter Kit (M3-W Ver.3.0/SIP) */
1961 brd = 18;
1962 } else {
1963 /* RENESAS Starter Kit(M3-W/SIP 8Gbit 1rank) board */
1964 brd = 3;
1965 }
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001966 } else {
1967 /* RENESAS Starter Kit(M3-N/SIP) board */
1968 brd = 11;
1969 }
1970#else
1971 uint32_t usb2_ovc_open;
1972
1973 usb2_ovc_open = opencheck_SSI_WS6();
1974
Marek Vasut80784f92019-08-07 19:02:26 +02001975 /* RENESAS Eva-board */
Marek Vasut6c245a52018-12-12 18:06:39 +01001976 brd = 99;
Marek Vasut38dc7562019-08-07 19:17:42 +02001977 if (prr_product == PRR_PRODUCT_V3H) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001978 /* RENESAS Condor board */
1979 brd = 12;
1980 } else if (usb2_ovc_open) {
Marek Vasut38dc7562019-08-07 19:17:42 +02001981 if (prr_product == PRR_PRODUCT_M3N) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001982 /* RENESAS Kriek board with M3-N */
1983 brd = 10;
Marek Vasut38dc7562019-08-07 19:17:42 +02001984 } else if (prr_product == PRR_PRODUCT_M3) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001985 /* RENESAS Kriek board with M3-W */
1986 brd = 1;
Marek Vasut6a131772019-08-07 19:56:09 +02001987 } else if ((prr_product == PRR_PRODUCT_H3) &&
1988 (prr_cut <= PRR_PRODUCT_11)) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001989 /* RENESAS Kriek board with PM3 */
1990 brd = 13;
Marek Vasut6a131772019-08-07 19:56:09 +02001991 } else if ((prr_product == PRR_PRODUCT_H3) &&
1992 (prr_cut > PRR_PRODUCT_20)) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001993 /* RENESAS Kriek board with H3N */
1994 brd = 15;
1995 }
1996 } else {
Marek Vasut38dc7562019-08-07 19:17:42 +02001997 if (prr_product == PRR_PRODUCT_H3) {
1998 if (prr_cut <= PRR_PRODUCT_11) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02001999 /* RENESAS SALVATOR-X (H3 Ver.1.x/SIP) */
2000 brd = 2;
Marek Vasut38dc7562019-08-07 19:17:42 +02002001 } else if (prr_cut < PRR_PRODUCT_30) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02002002 /* RENESAS SALVATOR-X (H3 Ver.2.0/SIP) */
2003 brd = 7; // 8Gbit/1rank
2004 } else {
2005 /* RENESAS SALVATOR-X (H3 Ver.3.0/SIP) */
2006#if (RCAR_DRAM_LPDDR4_MEMCONF == 0)
2007 brd = 7;
2008#else
2009 brd = 8;
2010#endif
2011 }
Marek Vasut38dc7562019-08-07 19:17:42 +02002012 } else if (prr_product == PRR_PRODUCT_M3N) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02002013 /* RENESAS SALVATOR-X (M3-N/SIP) */
2014 brd = 11;
Marek Vasut6ad74c32019-08-08 16:34:22 +02002015 } else if ((prr_product == PRR_PRODUCT_M3) &&
2016 (prr_cut <= PRR_PRODUCT_20)) {
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02002017 /* RENESAS SALVATOR-X (M3-W/SIP) */
2018 brd = 0;
Marek Vasut6ad74c32019-08-08 16:34:22 +02002019 } else if ((prr_product == PRR_PRODUCT_M3) &&
2020 (prr_cut < PRR_PRODUCT_30)) {
Chiaki Fujii59263ee2019-05-17 10:45:02 +09002021 /* RENESAS SALVATOR-X (M3-W Ver.1.x/SIP) */
Chiaki Fujii61aa8032019-03-01 20:28:55 +09002022 brd = 19;
Marek Vasut6ad74c32019-08-08 16:34:22 +02002023 } else if ((prr_product == PRR_PRODUCT_M3) &&
2024 (prr_cut >= PRR_PRODUCT_30)) {
Marek Vasut3af20052019-02-25 14:57:08 +01002025 /* RENESAS SALVATOR-X (M3-W ver.3.0/SIP) */
2026 brd = 18;
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02002027 }
2028 }
2029#endif
Lad Prabhakar9f2b5792021-03-10 14:30:20 +00002030#endif /* RZG_SOC == 1 */
Marek Vasut6c245a52018-12-12 18:06:39 +01002031
Jorge Ramirez-Ortiz47503d22018-09-23 09:36:52 +02002032 return brd;
2033}
2034#endif