3 #include <baseboard/variants.h>
5 #include <soc/romstage.h>
17 .targets = { 50, 20, 25, 25, 25 },
24 .LpDdrDqDqsReTraining = 1,
27 .dq_pins_interleaved =
false,
37 .dq0 = { 0, 2, 3, 1, 6, 7, 5, 4, },
38 .dq1 = { 10, 8, 11, 9, 14, 12, 13, 15, },
41 .dq0 = { 12, 8, 14, 10, 11, 13, 15, 9, },
42 .dq1 = { 5, 0, 7, 3, 6, 2, 1, 4, },
45 .dq0 = { 3, 0, 2, 1, 6, 5, 4, 7, },
46 .dq1 = { 12, 13, 14, 15, 10, 9, 8, 11, },
49 .dq0 = { 2, 6, 7, 1, 3, 4, 0, 5, },
50 .dq1 = { 9, 13, 8, 15, 14, 11, 12, 10, },
53 .dq0 = { 3, 0, 1, 2, 7, 4, 6, 5, },
54 .dq1 = { 10, 8, 11, 9, 14, 13, 12, 15, },
57 .dq0 = { 10, 12, 14, 8, 9, 13, 15, 11, },
58 .dq1 = { 3, 7, 6, 2, 0, 4, 5, 1, },
61 .dq0 = { 12, 15, 14, 13, 9, 10, 11, 8, },
62 .dq1 = { 7, 4, 6, 5, 0, 1, 3, 2, },
65 .dq0 = { 0, 2, 4, 3, 1, 6, 7, 5, },
66 .dq1 = { 13, 9, 10, 11, 8, 12, 14, 15, },
72 .ddr0 = { .dqs0 = 0, .dqs1 = 1 },
73 .ddr1 = { .dqs0 = 1, .dqs1 = 0 },
74 .ddr2 = { .dqs0 = 0, .dqs1 = 1 },
75 .ddr3 = { .dqs0 = 0, .dqs1 = 1 },
76 .ddr4 = { .dqs0 = 0, .dqs1 = 1 },
77 .ddr5 = { .dqs0 = 1, .dqs1 = 0 },
78 .ddr6 = { .dqs0 = 1, .dqs1 = 0 },
79 .ddr7 = { .dqs0 = 0, .dqs1 = 1 },
82 .LpDdrDqDqsReTraining = 1,
95 .dq0 = { 3, 2, 1, 0, 5, 4, 6, 7, },
96 .dq1 = { 15, 14, 12, 13, 8, 9, 10, 11, },
99 .dq0 = { 0, 2, 3, 1, 5, 7, 4, 6, },
100 .dq1 = { 14, 13, 15, 12, 8, 9, 11, 10, },
103 .dq0 = { 1, 2, 0, 3, 4, 6, 5, 7, },
104 .dq1 = { 15, 13, 12, 14, 9, 10, 8, 11, },
107 .dq0 = { 2, 1, 3, 0, 7, 4, 5, 6, },
108 .dq1 = { 13, 12, 15, 14, 9, 11, 8, 10, },
111 .dq0 = { 1, 2, 3, 0, 6, 4, 5, 7, },
112 .dq1 = { 15, 13, 14, 12, 10, 9, 8, 11, },
115 .dq0 = { 1, 0, 3, 2, 6, 7, 4, 5, },
116 .dq1 = { 14, 12, 15, 13, 8, 9, 10, 11, },
119 .dq0 = { 0, 2, 1, 3, 4, 7, 5, 6, },
120 .dq1 = { 12, 13, 15, 14, 9, 11, 10, 8, },
123 .dq0 = { 3, 2, 1, 0, 5, 4, 6, 7, },
124 .dq1 = { 13, 15, 11, 12, 10, 9, 14, 8, },
130 .ddr0 = { .dqs0 = 0, .dqs1 = 1 },
131 .ddr1 = { .dqs0 = 0, .dqs1 = 1 },
132 .ddr2 = { .dqs0 = 0, .dqs1 = 1 },
133 .ddr3 = { .dqs0 = 0, .dqs1 = 1 },
134 .ddr4 = { .dqs0 = 0, .dqs1 = 1 },
135 .ddr5 = { .dqs0 = 0, .dqs1 = 1 },
136 .ddr6 = { .dqs0 = 0, .dqs1 = 1 },
137 .ddr7 = { .dqs0 = 0, .dqs1 = 1 }
142 .LpDdrDqDqsReTraining = 1,
159 .targets = { 50, 30, 30, 30, 27 },
166 .LpDdrDqDqsReTraining = 1,
169 .dq_pins_interleaved =
false,
179 .dq0 = { 13, 12, 14, 8, 11, 10, 9, 15, },
180 .dq1 = { 3, 2, 7, 6, 0, 1, 5, 4, },
183 .dq0 = { 11, 15, 10, 9, 12, 8, 14, 13, },
184 .dq1 = { 0, 1, 7, 6, 2, 5, 4, 3, },
187 .dq0 = { 6, 7, 3, 2, 0, 4, 1, 5, },
188 .dq1 = { 14, 8, 13, 12, 11, 9, 10, 15, },
191 .dq0 = { 2, 6, 7, 3, 1, 5, 0, 4, },
192 .dq1 = { 8, 14, 13, 12, 10, 11, 9, 15, },
195 .dq0 = { 8, 14, 13, 12, 10, 11, 9, 15, },
196 .dq1 = { 1, 0, 5, 4, 6, 2, 3, 7, },
199 .dq0 = { 8, 10, 9, 12, 14, 11, 13, 15, },
200 .dq1 = { 0, 7, 2, 6, 3, 1, 4, 5, },
203 .dq0 = { 14, 12, 9, 8, 15, 10, 13, 11, },
204 .dq1 = { 4, 0, 5, 6, 3, 2, 1, 7, },
207 .dq0 = { 10, 15, 12, 11, 9, 14, 13, 8, },
208 .dq1 = { 7, 1, 2, 3, 6, 0, 5, 4, },
214 .ddr0 = { .dqs0 = 1, .dqs1 = 0 },
215 .ddr1 = { .dqs0 = 1, .dqs1 = 0 },
216 .ddr2 = { .dqs0 = 0, .dqs1 = 1 },
217 .ddr3 = { .dqs0 = 0, .dqs1 = 1 },
218 .ddr4 = { .dqs0 = 1, .dqs1 = 0 },
219 .ddr5 = { .dqs0 = 1, .dqs1 = 0 },
220 .ddr6 = { .dqs0 = 1, .dqs1 = 0 },
221 .ddr7 = { .dqs0 = 1, .dqs1 = 0 }
228 .LpDdrDqDqsReTraining = 1,
239 .dq0 = { 4, 5, 7, 6, 3, 2, 1, 0, },
240 .dq1 = { 12, 10, 8, 15, 11, 9, 14, 13, },
243 .dq0 = { 1, 0, 2, 3, 7, 4, 5, 6, },
244 .dq1 = { 14, 15, 10, 11, 13, 12, 8, 9, },
247 .dq0 = { 7, 4, 2, 0, 3, 1, 6, 5, },
248 .dq1 = { 14, 13, 15, 12, 8, 9, 10, 11, },
251 .dq0 = { 3, 2, 0, 1, 7, 5, 6, 4, },
252 .dq1 = { 12, 14, 15, 13, 11, 8, 10, 9, },
255 .dq0 = { 2, 3, 0, 1, 6, 4, 7, 5, },
256 .dq1 = { 14, 9, 11, 13, 12, 8, 15, 10, },
259 .dq0 = { 4, 7, 3, 1, 5, 2, 6, 0, },
260 .dq1 = { 14, 8, 11, 9, 12, 15, 10, 13, },
263 .dq0 = { 10, 11, 13, 9, 15, 12, 8, 14, },
264 .dq1 = { 2, 4, 7, 0, 6, 3, 5, 1, },
267 .dq0 = { 13, 15, 11, 14, 10, 12, 8, 9, },
268 .dq1 = { 6, 5, 4, 7, 3, 1, 2, 0, },
274 .ddr0 = { .dqs0 = 0, .dqs1 = 1 },
275 .ddr1 = { .dqs0 = 0, .dqs1 = 1 },
276 .ddr2 = { .dqs0 = 0, .dqs1 = 1 },
277 .ddr3 = { .dqs0 = 0, .dqs1 = 1 },
278 .ddr4 = { .dqs0 = 0, .dqs1 = 1 },
279 .ddr5 = { .dqs0 = 0, .dqs1 = 1 },
280 .ddr6 = { .dqs0 = 1, .dqs1 = 0 },
281 .ddr7 = { .dqs0 = 1, .dqs1 = 0 }
299 .dq0 = { 12, 9, 10, 11, 14, 13, 8, 15 },
300 .dq1 = { 3, 1, 2, 0, 4, 7, 5, 6 },
303 .dq0 = { 3, 1, 2, 0, 4, 7, 5, 6 },
304 .dq1 = { 13, 9, 8, 11, 10, 14, 15, 12 },
307 .dq0 = { 2, 1, 3, 0, 4, 6, 5, 7 },
308 .dq1 = { 8, 9, 10, 11, 13, 14, 12, 15 },
311 .dq0 = { 3, 0, 1, 2, 5, 6, 4, 7 },
312 .dq1 = { 13, 9, 11, 8, 14, 15, 10, 12 },
315 .dq0 = { 12, 9, 10, 11, 14, 13, 8, 15 },
316 .dq1 = { 3, 1, 2, 0, 4, 7, 5, 6 },
319 .dq0 = { 3, 1, 2, 0, 4, 7, 5, 6 },
320 .dq1 = { 13, 9, 8, 11, 10, 14, 15, 12 },
323 .dq0 = { 2, 1, 3, 0, 4, 6, 5, 7 },
324 .dq1 = { 8, 9, 10, 11, 13, 14, 12, 15 },
327 .dq0 = { 3, 0, 1, 2, 5, 6, 4, 7 },
328 .dq1 = { 13, 9, 11, 8, 14, 15, 10, 12 },
334 .ddr0 = { .dqs0 = 1, .dqs1 = 0 },
335 .ddr1 = { .dqs0 = 0, .dqs1 = 1 },
336 .ddr2 = { .dqs0 = 0, .dqs1 = 1 },
337 .ddr3 = { .dqs0 = 0, .dqs1 = 1 },
338 .ddr4 = { .dqs0 = 1, .dqs1 = 0 },
339 .ddr5 = { .dqs0 = 0, .dqs1 = 1 },
340 .ddr6 = { .dqs0 = 0, .dqs1 = 1 },
341 .ddr7 = { .dqs0 = 0, .dqs1 = 1 }
348 .LpDdrDqDqsReTraining = 1,
void __noreturn die(const char *fmt,...)
uint32_t board_id(void)
board_id() - Get the board version
const struct mb_cfg *__weak variant_memory_params(void)
static uint8_t get_board_id(void)
static const struct mb_cfg lpddr4_mem_config
static const struct mb_cfg lp5_mem_config
static const struct mb_cfg adlm_lp5_mem_config
static const struct mb_cfg ddr4_mem_config
static const struct mb_cfg adlm_lp4_mem_config
static const struct mb_cfg ddr5_mem_config
static const struct mb_cfg adln_lp5_mem_config