// SPDX-License-Identifier: BSD-3-Clause
/*
 * Cadence DDR Driver
 *
 * Copyright (C) 2012-2022 Cadence Design Systems, Inc.
 * Copyright (C) 2018-2022 Texas Instruments Incorporated - https://www.ti.com/
 */

#include "lpddr4_obj_if.h"

lpddr4_obj *lpddr4_getinstance(void)
{
	static lpddr4_obj driver = {
		.probe				= lpddr4_probe,
		.init				= lpddr4_init,
		.start				= lpddr4_start,
		.readreg			= lpddr4_readreg,
		.writereg			= lpddr4_writereg,
		.getmmrregister			= lpddr4_getmmrregister,
		.setmmrregister			= lpddr4_setmmrregister,
		.writectlconfig			= lpddr4_writectlconfig,
		.writephyconfig			= lpddr4_writephyconfig,
		.writephyindepconfig		= lpddr4_writephyindepconfig,
		.readctlconfig			= lpddr4_readctlconfig,
		.readphyconfig			= lpddr4_readphyconfig,
		.readphyindepconfig		= lpddr4_readphyindepconfig,
		.getctlinterruptmask		= lpddr4_getctlinterruptmask,
		.setctlinterruptmask		= lpddr4_setctlinterruptmask,
		.checkctlinterrupt		= lpddr4_checkctlinterrupt,
		.ackctlinterrupt		= lpddr4_ackctlinterrupt,
		.getphyindepinterruptmask	= lpddr4_getphyindepinterruptmask,
		.setphyindepinterruptmask	= lpddr4_setphyindepinterruptmask,
		.checkphyindepinterrupt		= lpddr4_checkphyindepinterrupt,
		.ackphyindepinterrupt		= lpddr4_ackphyindepinterrupt,
		.getdebuginitinfo		= lpddr4_getdebuginitinfo,
		.getlpiwakeuptime		= lpddr4_getlpiwakeuptime,
		.setlpiwakeuptime		= lpddr4_setlpiwakeuptime,
		.geteccenable			= lpddr4_geteccenable,
		.seteccenable			= lpddr4_seteccenable,
		.getreducmode			= lpddr4_getreducmode,
		.setreducmode			= lpddr4_setreducmode,
		.getdbireadmode			= lpddr4_getdbireadmode,
		.getdbiwritemode		= lpddr4_getdbiwritemode,
		.setdbimode			= lpddr4_setdbimode,
		.getrefreshrate			= lpddr4_getrefreshrate,
		.setrefreshrate			= lpddr4_setrefreshrate,
		.refreshperchipselect		= lpddr4_refreshperchipselect,
		.deferredregverify		= lpddr4_deferredregverify,
	};

	return &driver;
}