60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/*
|
|
* Copyright 2018 NXP
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
* Common file for ddr code
|
|
*/
|
|
|
|
#ifndef __M845S_DDR_H_
|
|
#define __M845S_DDR_H_
|
|
|
|
#ifdef DDR_DEBUG
|
|
#define ddr_dbg(fmt, ...) printf("DDR: debug:" fmt "\n", ##__VA_ARGS__)
|
|
#else
|
|
#define ddr_dbg(fmt, ...)
|
|
#endif
|
|
|
|
/*******************************************************************
|
|
Desc: user data type
|
|
|
|
*******************************************************************/
|
|
enum fw_type {
|
|
FW_1D_IMAGE,
|
|
FW_2D_IMAGE,
|
|
};
|
|
/*******************************************************************
|
|
Desc: prototype
|
|
|
|
*******************************************************************/
|
|
void ddr_init(void);
|
|
void ddr_load_train_code(enum fw_type type);
|
|
void wait_ddrphy_training_complete(void);
|
|
void dwc_ddrphy_phyinit_userCustom_E_setDfiClk(unsigned int pstate);
|
|
void dwc_ddrphy_phyinit_userCustom_J_enterMissionMode(void);
|
|
void dwc_ddrphy_phyinit_userCustom_customPostTrain(void);
|
|
void dwc_ddrphy_phyinit_userCustom_B_startClockResetPhy(void);
|
|
void dwc_ddrphy_phyinit_userCustom_A_bringupPower(void);
|
|
void dwc_ddrphy_phyinit_userCustom_overrideUserInput(void);
|
|
void dwc_ddrphy_phyinit_userCustom_H_readMsgBlock(unsigned int run_2D);
|
|
void dwc_ddrphy_phyinit_userCustom_G_waitFwDone(void);
|
|
|
|
/*******************************************************************
|
|
Desc: definition
|
|
|
|
*******************************************************************/
|
|
static inline void reg32_write(unsigned long addr, u32 val)
|
|
{
|
|
writel(val, addr);
|
|
}
|
|
|
|
static inline uint32_t reg32_read(unsigned long addr)
|
|
{
|
|
return readl(addr);
|
|
}
|
|
|
|
static inline void reg32setbit(unsigned long addr, u32 bit)
|
|
{
|
|
setbits_le32(addr, (1 << bit));
|
|
}
|
|
#endif
|