u-boot/arch/arm/include/asm/arch-imx8ulp/ddr.h
Peng Fan 9ef89ea9b0 arm: imx: basic i.MX8ULP support
Add basic i.MX8ULP support

For the MMU part, Using a simple way the calculate the MMU size to avoid
default heavy calcaulation. And align address and size in the table
settings to 2MB or 4GB as much as possible. So we can reduce the 4K page
allocations in MMU table which will spends much time in create the
page table

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2021-08-09 14:46:50 +02:00

38 lines
788 B
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright 2020 NXP
*/
#ifndef __ASM_ARCH_IMX8ULP_DDR_H
#define __ASM_ARCH_IMX8ULP_DDR_H
#include <asm/io.h>
#include <asm/types.h>
struct dram_cfg_param {
unsigned int reg;
unsigned int val;
};
struct dram_timing_info2 {
/* ddr controller config */
struct dram_cfg_param *ctl_cfg;
unsigned int ctl_cfg_num;
/* pi config */
struct dram_cfg_param *pi_cfg;
unsigned int pi_cfg_num;
/* phy freq1 config */
struct dram_cfg_param *phy_f1_cfg;
unsigned int phy_f1_cfg_num;
/* phy freq2 config */
struct dram_cfg_param *phy_f2_cfg;
unsigned int phy_f2_cfg_num;
/* initialized drate table */
unsigned int fsp_table[3];
};
extern struct dram_timing_info2 dram_timing;
int ddr_init(struct dram_timing_info2 *dram_timing);
#endif