summaryrefslogtreecommitdiff
path: root/plat/imx/imx8m/include
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2019-11-25 13:19:37 +0800
committerAnson Huang <Anson.Huang@nxp.com>2019-12-13 10:45:50 +0800
commit80ca14d68b42b4383ccd23364313feffa682d9c7 (patch)
tree6134c7072020f0e9f23914ff069bd7fdb990e854 /plat/imx/imx8m/include
parent837f1ff8c210d7518d7264177b1675694f57012b (diff)
plat: imx8m: Add the ddr frequency change support for imx8m family
Add the DDR frequency change support. Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: I84f0ef51b04b84da8ba2cbeca86a07338a4903de
Diffstat (limited to 'plat/imx/imx8m/include')
-rw-r--r--plat/imx/imx8m/include/dram.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/plat/imx/imx8m/include/dram.h b/plat/imx/imx8m/include/dram.h
index 16182054..c384cb1d 100644
--- a/plat/imx/imx8m/include/dram.h
+++ b/plat/imx/imx8m/include/dram.h
@@ -49,9 +49,13 @@ struct dram_timing_info {
struct dram_info {
int dram_type;
unsigned int num_rank;
+ uint32_t num_fsp;
int current_fsp;
int boot_fsp;
+ bool bypass_mode;
struct dram_timing_info *timing_info;
+ /* mr, emr, emr2, emr3, mr11, mr12, mr22, mr14 */
+ uint32_t mr_table[3][8];
};
extern struct dram_info dram_info;
@@ -64,4 +68,10 @@ void dram_phy_init(struct dram_timing_info *timing);
void dram_enter_retention(void);
void dram_exit_retention(void);
+void dram_clock_switch(unsigned int target_drate, bool bypass_mode);
+
+/* dram frequency change */
+void lpddr4_swffc(struct dram_info *info, unsigned int init_fsp, unsigned int fsp_index);
+void ddr4_swffc(struct dram_info *dram_info, unsigned int pstate);
+
#endif /* DRAM_H */