/* SPDX-License-Identifier: GPL-2.0+ */ /* * ddrmc DDR3 calibration code for NXP's VF610 * * Copyright (C) 2018 DENX Software Engineering * Lukasz Majewski, DENX Software Engineering, lukma@denx.de * */ #ifndef __DDRMC_VF610_CALIBRATOIN_H_ #define __DDRMC_VF610_CALIBRATOIN_H_ /* * Number of "samples" in the calibration bitmap * to be considered during calibration. */ #define N_SAMPLES 3 /* * Constants to indicate if we are looking for a rising or * falling edge in the calibration bitmap */ enum edge { FALLING_EDGE = 1, RISING_EDGE }; /* * The max number of delay elements when DQS to DQ setting */ #define DDRMC_DQS_DQ_MAX_DELAY 0xFF /** * ddrmc_calibration - Vybrid's (VF610) DDR3 calibration code * * This function is calculating proper memory controller values * during run time. * * @param ddrmr_regs - memory controller registers * * Return: 0 on success, otherwise error code */ int ddrmc_calibration(struct ddrmr_regs *ddrmr); #endif /* __DDRMC_VF610_CALIBRATOIN_H_ */