/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2015
 * Toradex, Inc.
 *
 * Authors: Stefan Agner
 *          Sanchayan Maity
 */

#ifndef __ASM_ARCH_VF610_DDRMC_H
#define __ASM_ARCH_VF610_DDRMC_H

struct ddr3_jedec_timings {
	u8 tinit;
	u32 trst_pwron;
	u32 cke_inactive;
	u8 wrlat;
	u8 caslat_lin;
	u8 trc;
	u8 trrd;
	u8 tccd;
	u8 tbst_int_interval;
	u8 tfaw;
	u8 trp;
	u8 twtr;
	u8 tras_min;
	u8 tmrd;
	u8 trtp;
	u32 tras_max;
	u8 tmod;
	u8 tckesr;
	u8 tcke;
	u8 trcd_int;
	u8 tras_lockout;
	u8 tdal;
	u8 bstlen;
	u16 tdll;
	u8 trp_ab;
	u16 tref;
	u8 trfc;
	u16 tref_int;
	u8 tpdex;
	u8 txpdll;
	u8 txsnr;
	u16 txsr;
	u8 cksrx;
	u8 cksre;
	u8 freq_chg_en;
	u16 zqcl;
	u16 zqinit;
	u8 zqcs;
	u8 ref_per_zq;
	u8 zqcs_rotate;
	u8 aprebit;
	u8 cmd_age_cnt;
	u8 age_cnt;
	u8 q_fullness;
	u8 odt_rd_mapcs0;
	u8 odt_wr_mapcs0;
	u8 wlmrd;
	u8 wldqsen;
};

struct ddrmc_cr_setting {
	u32	setting;
	int	cr_rnum; /* CR register ; -1 for last entry */
};

struct ddrmc_phy_setting {
	u32	setting;
	int	phy_rnum; /* PHY register ; -1 for last entry */
};

void ddrmc_setup_iomux(const iomux_v3_cfg_t *pads, int pads_count);
void ddrmc_phy_init(void);
void ddrmc_ctrl_init_ddr3(struct ddr3_jedec_timings const *timings,
			  struct ddrmc_cr_setting *board_cr_settings,
			  struct ddrmc_phy_setting *board_phy_settings,
			  int col_diff, int row_diff);

#endif
