Lines Matching refs:cap_info

40 void sdram_print_ddr_info(struct sdram_cap_info *cap_info,  in sdram_print_ddr_info()  argument
46 bg = (cap_info->dbw == 0) ? 2 : 1; in sdram_print_ddr_info()
55 printdec(8 << cap_info->bw); in sdram_print_ddr_info()
57 printdec(cap_info->col); in sdram_print_ddr_info()
59 printdec(0x1 << cap_info->bk); in sdram_print_ddr_info()
65 printdec(cap_info->cs0_row); in sdram_print_ddr_info()
66 if (cap_info->cs0_high16bit_row != in sdram_print_ddr_info()
67 cap_info->cs0_row) { in sdram_print_ddr_info()
69 printdec(cap_info->cs0_high16bit_row); in sdram_print_ddr_info()
71 if (cap_info->rank > 1) { in sdram_print_ddr_info()
73 printdec(cap_info->cs1_row); in sdram_print_ddr_info()
74 if (cap_info->cs1_high16bit_row != in sdram_print_ddr_info()
75 cap_info->cs1_row) { in sdram_print_ddr_info()
77 printdec(cap_info->cs1_high16bit_row); in sdram_print_ddr_info()
80 if (cap_info->rank > 2) { in sdram_print_ddr_info()
82 printdec(cap_info->cs2_row); in sdram_print_ddr_info()
83 if (cap_info->cs2_high16bit_row != in sdram_print_ddr_info()
84 cap_info->cs2_row) { in sdram_print_ddr_info()
86 printdec(cap_info->cs2_high16bit_row); in sdram_print_ddr_info()
89 printdec(cap_info->cs3_row); in sdram_print_ddr_info()
90 if (cap_info->cs3_high16bit_row != in sdram_print_ddr_info()
91 cap_info->cs3_row) { in sdram_print_ddr_info()
93 printdec(cap_info->cs3_high16bit_row); in sdram_print_ddr_info()
97 printdec(cap_info->rank); in sdram_print_ddr_info()
99 printdec(8 << cap_info->dbw); in sdram_print_ddr_info()
101 cap = sdram_get_cs_cap(cap_info, 3, base->dramtype); in sdram_print_ddr_info()
102 if (cap_info->row_3_4) in sdram_print_ddr_info()
118 u64 sdram_get_cs_cap(struct sdram_cap_info *cap_info, u32 cs, u32 dram_type) in sdram_get_cs_cap() argument
127 bg = (cap_info->dbw == 0) ? 2 : 1; in sdram_get_cs_cap()
130 cap[0] = 1llu << (cap_info->bw + cap_info->col + in sdram_get_cs_cap()
131 bg + cap_info->bk + cap_info->cs0_row); in sdram_get_cs_cap()
133 if (cap_info->rank >= 2) in sdram_get_cs_cap()
134 cap[1] = 1llu << (cap_info->bw + cap_info->col + in sdram_get_cs_cap()
135 bg + cap_info->bk + cap_info->cs1_row); in sdram_get_cs_cap()
139 if (cap_info->rank == 4) { in sdram_get_cs_cap()
140 cap[2] = 1llu << (cap_info->bw + cap_info->col + in sdram_get_cs_cap()
141 bg + cap_info->bk + cap_info->cs2_row); in sdram_get_cs_cap()
142 cap[3] = 1llu << (cap_info->bw + cap_info->col + in sdram_get_cs_cap()
143 bg + cap_info->bk + cap_info->cs3_row); in sdram_get_cs_cap()
168 void sdram_org_config(struct sdram_cap_info *cap_info, in sdram_org_config() argument
175 *p_os_reg2 |= SYS_REG_ENC_ROW_3_4(cap_info->row_3_4, channel); in sdram_org_config()
177 *p_os_reg2 |= SYS_REG_ENC_RANK(cap_info->rank, channel); in sdram_org_config()
178 *p_os_reg2 |= SYS_REG_ENC_COL(cap_info->col, channel); in sdram_org_config()
179 *p_os_reg2 |= SYS_REG_ENC_BK(cap_info->bk, channel); in sdram_org_config()
180 *p_os_reg2 |= SYS_REG_ENC_BW(cap_info->bw, channel); in sdram_org_config()
181 *p_os_reg2 |= SYS_REG_ENC_DBW(cap_info->dbw, channel); in sdram_org_config()
183 SYS_REG_ENC_CS0_ROW(cap_info->cs0_row, *p_os_reg2, *p_os_reg3, channel); in sdram_org_config()
184 if (cap_info->cs1_row) in sdram_org_config()
185 SYS_REG_ENC_CS1_ROW(cap_info->cs1_row, *p_os_reg2, in sdram_org_config()
187 *p_os_reg3 |= SYS_REG_ENC_CS1_COL(cap_info->col, channel); in sdram_org_config()
191 void sdram_org_config_v3(struct sdram_cap_info *cap_info, in sdram_org_config_v3() argument
200 *p_os_reg2 |= SYS_REG_ENC_ROW_3_4_V3(cap_info->row_3_4, channel); in sdram_org_config_v3()
203 SYS_REG_ENC_CH0_2_RANK_V3(cap_info->rank, in sdram_org_config_v3()
206 *p_os_reg2 |= SYS_REG_ENC_CH1_3_RANK(cap_info->rank); in sdram_org_config_v3()
208 *p_os_reg2 |= SYS_REG_ENC_COL_V3(cap_info->col, channel); in sdram_org_config_v3()
209 *p_os_reg2 |= SYS_REG_ENC_BK_V3(cap_info->bk, channel); in sdram_org_config_v3()
210 *p_os_reg2 |= SYS_REG_ENC_BW_V3(cap_info->bw, channel); in sdram_org_config_v3()
211 *p_os_reg2 |= SYS_REG_ENC_DBW_V3(cap_info->dbw, channel); in sdram_org_config_v3()
213 SYS_REG_ENC_CS0_ROW_V3(cap_info->cs0_row, *p_os_reg2, *p_os_reg3, channel); in sdram_org_config_v3()
214 if (cap_info->cs1_row) in sdram_org_config_v3()
215 SYS_REG_ENC_CS1_ROW_V3(cap_info->cs1_row, *p_os_reg2, in sdram_org_config_v3()
217 if ((channel == 0 || channel == 2) && cap_info->rank > 2) { in sdram_org_config_v3()
218 if (cap_info->cs2_row == cap_info->cs0_row) in sdram_org_config_v3()
223 if (cap_info->cs3_row == cap_info->cs0_row) in sdram_org_config_v3()
229 *p_os_reg3 |= SYS_REG_ENC_CS1_COL_V3(cap_info->col, channel); in sdram_org_config_v3()
233 int sdram_detect_bw(struct sdram_cap_info *cap_info) in sdram_detect_bw() argument
238 int sdram_detect_cs(struct sdram_cap_info *cap_info) in sdram_detect_cs() argument
243 int sdram_detect_col(struct sdram_cap_info *cap_info, in sdram_detect_col() argument
248 u32 bw = cap_info->bw; in sdram_detect_col()
264 cap_info->col = col; in sdram_detect_col()
269 int sdram_detect_bank(struct sdram_cap_info *cap_info, in sdram_detect_bank() argument
274 u32 bw = cap_info->bw; in sdram_detect_bank()
286 cap_info->bk = bk; in sdram_detect_bank()
292 int sdram_detect_bg(struct sdram_cap_info *cap_info, in sdram_detect_bg() argument
297 u32 bw = cap_info->bw; in sdram_detect_bg()
309 cap_info->dbw = dbw; in sdram_detect_bg()
315 int sdram_detect_dbw(struct sdram_cap_info *cap_info, u32 dram_type) in sdram_detect_dbw() argument
321 if (cap_info->bw == 0) in sdram_detect_dbw()
322 cap_info->dbw = 0; in sdram_detect_dbw()
324 cap_info->dbw = 1; in sdram_detect_dbw()
326 cap_info->dbw = 1; in sdram_detect_dbw()
328 row = cap_info->cs0_row; in sdram_detect_dbw()
329 col = cap_info->col; in sdram_detect_dbw()
330 bk = cap_info->bk; in sdram_detect_dbw()
331 cs = cap_info->rank; in sdram_detect_dbw()
332 bw = cap_info->bw; in sdram_detect_dbw()
344 row = cap_info->cs1_row; in sdram_detect_dbw()
359 cap_info->dbw = (die_bw_0 > die_bw_1) ? die_bw_0 : die_bw_1; in sdram_detect_dbw()
365 int sdram_detect_row(struct sdram_cap_info *cap_info, in sdram_detect_row() argument
369 u32 bw = cap_info->bw; in sdram_detect_row()
386 cap_info->cs0_row = row; in sdram_detect_row()
391 int sdram_detect_row_3_4(struct sdram_cap_info *cap_info, in sdram_detect_row_3_4() argument
395 u32 bw = cap_info->bw; in sdram_detect_row_3_4()
396 u32 row = cap_info->cs0_row; in sdram_detect_row_3_4()
410 cap_info->row_3_4 = row_3_4; in sdram_detect_row_3_4()
415 int sdram_detect_high_row(struct sdram_cap_info *cap_info, u32 dramtype) in sdram_detect_high_row() argument
426 cs = cap_info->rank; in sdram_detect_high_row()
428 if (!cap_info->bw) { in sdram_detect_high_row()
429 cs0_high_row = cap_info->cs0_row; in sdram_detect_high_row()
430 cs1_high_row = cap_info->cs1_row; in sdram_detect_high_row()
433 cs2_high_row = cap_info->cs2_row; in sdram_detect_high_row()
434 cs3_high_row = cap_info->cs3_row; in sdram_detect_high_row()
441 cs0_high_row = cap_info->cs0_row; in sdram_detect_high_row()
442 cs1_high_row = cap_info->cs1_row; in sdram_detect_high_row()
443 cs2_high_row = cap_info->cs2_row; in sdram_detect_high_row()
444 cs3_high_row = cap_info->cs3_row; in sdram_detect_high_row()
450 cs0_cap = sdram_get_cs_cap(cap_info, 0, dramtype); in sdram_detect_high_row()
453 cap = sdram_get_cs_cap(cap_info, 1, dramtype); in sdram_detect_high_row()
475 cs0_high_row = cap_info->cs0_row; in sdram_detect_high_row()
479 cs1_high_row = cap_info->cs1_row - i; in sdram_detect_high_row()
481 cs0_high_row = cap_info->cs0_row - i; in sdram_detect_high_row()
486 cap_info->cs0_high16bit_row = cs0_high_row; in sdram_detect_high_row()
487 cap_info->cs1_high16bit_row = cs1_high_row; in sdram_detect_high_row()
490 cap_info->cs2_high16bit_row = cs2_high_row; in sdram_detect_high_row()
491 cap_info->cs3_high16bit_row = cs3_high_row; in sdram_detect_high_row()
498 int sdram_detect_cs1_row(struct sdram_cap_info *cap_info, u32 dram_type) in sdram_detect_cs1_row() argument
505 if (cap_info->rank == 2) { in sdram_detect_cs1_row()
506 cs0_cap = sdram_get_cs_cap(cap_info, 0, dram_type); in sdram_detect_cs1_row()
509 if (cap_info->dbw == 0) in sdram_detect_cs1_row()
510 bktmp = cap_info->bk + 2; in sdram_detect_cs1_row()
512 bktmp = cap_info->bk + 1; in sdram_detect_cs1_row()
514 bktmp = cap_info->bk; in sdram_detect_cs1_row()
516 bw = cap_info->bw; in sdram_detect_cs1_row()
517 coltmp = cap_info->col; in sdram_detect_cs1_row()
531 for (row = cap_info->cs0_row; row > 12; row--) { in sdram_detect_cs1_row()
547 cap_info->cs1_row = row; in sdram_detect_cs1_row()