Lines Matching refs:iocfg
35 const struct socfpga_sdram_io_config *iocfg; variable
510 scc_mgr_set_dqs_bus_in_delay(i, iocfg->dqs_in_reserve); in scc_mgr_zero_all()
518 scc_mgr_set_oct_out1_delay(i, iocfg->dqs_out_reserve); in scc_mgr_zero_all()
608 scc_mgr_set_dqs_out1_delay(iocfg->dqs_out_reserve); in scc_mgr_zero_group()
609 scc_mgr_set_oct_out1_delay(write_group, iocfg->dqs_out_reserve); in scc_mgr_zero_group()
695 if (new_delay > iocfg->io_out2_delay_max) { in scc_mgr_apply_group_all_out_delay_add()
699 iocfg->io_out2_delay_max, in scc_mgr_apply_group_all_out_delay_add()
700 new_delay - iocfg->io_out2_delay_max); in scc_mgr_apply_group_all_out_delay_add()
701 new_delay -= iocfg->io_out2_delay_max; in scc_mgr_apply_group_all_out_delay_add()
709 if (new_delay > iocfg->io_out2_delay_max) { in scc_mgr_apply_group_all_out_delay_add()
713 new_delay, iocfg->io_out2_delay_max, in scc_mgr_apply_group_all_out_delay_add()
714 new_delay - iocfg->io_out2_delay_max); in scc_mgr_apply_group_all_out_delay_add()
715 new_delay -= iocfg->io_out2_delay_max; in scc_mgr_apply_group_all_out_delay_add()
1560 const u32 max = delay ? iocfg->dqs_en_delay_max : in sdr_find_phase_delay()
1561 iocfg->dqs_en_phase_max; in sdr_find_phase_delay()
1605 iocfg->delay_per_opa_tap, p); in sdr_find_phase()
1609 if (*p > iocfg->dqs_en_phase_max) { in sdr_find_phase()
1633 const u32 dtaps_per_ptap = iocfg->delay_per_opa_tap / in sdr_working_phase()
1634 iocfg->delay_per_dqs_en_dchain_tap; in sdr_working_phase()
1645 *work_bgn += iocfg->delay_per_dqs_en_dchain_tap; in sdr_working_phase()
1669 *p = iocfg->dqs_en_phase_max; in sdr_backup_phase()
1674 tmp_delay = *work_bgn - iocfg->delay_per_opa_tap; in sdr_backup_phase()
1677 for (d = 0; d <= iocfg->dqs_en_delay_max && tmp_delay < *work_bgn; in sdr_backup_phase()
1688 tmp_delay += iocfg->delay_per_dqs_en_dchain_tap; in sdr_backup_phase()
1693 if (*p > iocfg->dqs_en_phase_max) { in sdr_backup_phase()
1715 *work_end += iocfg->delay_per_opa_tap; in sdr_nonworking_phase()
1716 if (*p > iocfg->dqs_en_phase_max) { in sdr_nonworking_phase()
1752 tmp_delay = (iocfg->dqs_en_phase_max + 1) * iocfg->delay_per_opa_tap; in sdr_find_window_center()
1758 tmp_delay = rounddown(work_mid, iocfg->delay_per_opa_tap); in sdr_find_window_center()
1759 if (tmp_delay > iocfg->dqs_en_phase_max * iocfg->delay_per_opa_tap) in sdr_find_window_center()
1760 tmp_delay = iocfg->dqs_en_phase_max * iocfg->delay_per_opa_tap; in sdr_find_window_center()
1761 p = tmp_delay / iocfg->delay_per_opa_tap; in sdr_find_window_center()
1766 iocfg->delay_per_dqs_en_dchain_tap); in sdr_find_window_center()
1767 if (d > iocfg->dqs_en_delay_max) in sdr_find_window_center()
1768 d = iocfg->dqs_en_delay_max; in sdr_find_window_center()
1769 tmp_delay += d * iocfg->delay_per_dqs_en_dchain_tap; in sdr_find_window_center()
1822 dtaps_per_ptap = iocfg->delay_per_opa_tap / in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1823 iocfg->delay_per_dqs_en_dchain_tap; in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1860 p = iocfg->dqs_en_phase_max; in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1866 work_end -= iocfg->delay_per_opa_tap; in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1877 iocfg->delay_per_dqs_en_dchain_tap, &d); in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1881 work_end -= iocfg->delay_per_dqs_en_dchain_tap; in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
1907 p = iocfg->dqs_en_phase_max; in rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase()
2037 const u32 delay_max = write ? iocfg->io_out1_delay_max : in search_left_edge()
2038 iocfg->io_in_delay_max; in search_left_edge()
2039 const u32 dqs_max = write ? iocfg->io_out1_delay_max : in search_left_edge()
2040 iocfg->dqs_in_delay_max; in search_left_edge()
2148 const u32 delay_max = write ? iocfg->io_out1_delay_max : in search_right_edge()
2149 iocfg->io_in_delay_max; in search_right_edge()
2150 const u32 dqs_max = write ? iocfg->io_out1_delay_max : in search_right_edge()
2151 iocfg->dqs_in_delay_max; in search_right_edge()
2163 if (iocfg->shift_dqs_en_when_shift_dqs) { in search_right_edge()
2165 if (delay > iocfg->dqs_en_delay_max) in search_right_edge()
2166 delay = iocfg->dqs_en_delay_max; in search_right_edge()
2319 const s32 delay_max = write ? iocfg->io_out1_delay_max : in center_dq_windows()
2320 iocfg->io_in_delay_max; in center_dq_windows()
2412 if (iocfg->shift_dqs_en_when_shift_dqs) in rw_mgr_mem_calibrate_vfifo_center()
2413 start_dqs_en = readl(addr - iocfg->dqs_en_delay_offset); in rw_mgr_mem_calibrate_vfifo_center()
2419 left_edge[i] = iocfg->io_in_delay_max + 1; in rw_mgr_mem_calibrate_vfifo_center()
2420 right_edge[i] = iocfg->io_in_delay_max + 1; in rw_mgr_mem_calibrate_vfifo_center()
2441 if (iocfg->shift_dqs_en_when_shift_dqs) in rw_mgr_mem_calibrate_vfifo_center()
2469 if (new_dqs > iocfg->dqs_in_delay_max) in rw_mgr_mem_calibrate_vfifo_center()
2470 new_dqs = iocfg->dqs_in_delay_max; in rw_mgr_mem_calibrate_vfifo_center()
2478 if (iocfg->shift_dqs_en_when_shift_dqs) { in rw_mgr_mem_calibrate_vfifo_center()
2479 if (start_dqs_en - mid_min > iocfg->dqs_en_delay_max) in rw_mgr_mem_calibrate_vfifo_center()
2481 iocfg->dqs_en_delay_max; in rw_mgr_mem_calibrate_vfifo_center()
2490 iocfg->shift_dqs_en_when_shift_dqs ? start_dqs_en : -1, in rw_mgr_mem_calibrate_vfifo_center()
2498 if (iocfg->shift_dqs_en_when_shift_dqs) { in rw_mgr_mem_calibrate_vfifo_center()
2582 const u32 delay_step = iocfg->io_in_delay_max / in rw_mgr_mem_calibrate_dqs_enable_calibration()
2701 dtaps_per_ptap = DIV_ROUND_UP(iocfg->delay_per_opa_tap, in rw_mgr_mem_calibrate_vfifo()
2702 iocfg->delay_per_dqs_en_dchain_tap) - 1; in rw_mgr_mem_calibrate_vfifo()
2716 for (p = 0; p <= iocfg->dqdqs_out_phase_max; p++) { in rw_mgr_mem_calibrate_vfifo()
2875 const int max = iocfg->io_out1_delay_max - new_dqs; in search_window()
2906 if (*bgn_curr == iocfg->io_out1_delay_max + 1) in search_window()
2920 *bgn_curr = iocfg->io_out1_delay_max + 1; in search_window()
2921 *end_curr = iocfg->io_out1_delay_max + 1; in search_window()
2932 if (*win_best - 1 > iocfg->io_out1_delay_max - new_dqs - d) in search_window()
2960 int bgn_curr = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
2961 int end_curr = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
2962 int bgn_best = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
2963 int end_best = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
2984 left_edge[i] = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
2985 right_edge[i] = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
3029 left_edge[0] = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
3030 right_edge[0] = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
3045 bgn_curr = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
3046 end_curr = iocfg->io_out1_delay_max + 1; in rw_mgr_mem_calibrate_writes_center()
3226 if (iocfg->dll_chain_length == 6) in mem_skip_calibrate()
3257 ((125 * iocfg->dll_chain_length) / 100) - 2); in mem_skip_calibrate()
3677 writel(DIV_ROUND_UP(iocfg->delay_per_opa_tap, in initialize_tracking()
3678 iocfg->delay_per_dchain_tap) - 1, in initialize_tracking()
3722 iocfg = socfpga_get_sdram_io_config(); in sdram_calibration_full()
3757 iocfg->delay_per_opa_tap, iocfg->delay_per_dchain_tap); in sdram_calibration_full()
3759 iocfg->delay_per_dqs_en_dchain_tap, iocfg->dll_chain_length); in sdram_calibration_full()
3762 iocfg->dqs_en_phase_max, iocfg->dqdqs_out_phase_max, in sdram_calibration_full()
3763 iocfg->dqs_en_delay_max, iocfg->dqs_in_delay_max); in sdram_calibration_full()
3765 iocfg->io_in_delay_max, iocfg->io_out1_delay_max, in sdram_calibration_full()
3766 iocfg->io_out2_delay_max); in sdram_calibration_full()
3768 iocfg->dqs_in_reserve, iocfg->dqs_out_reserve); in sdram_calibration_full()