8975cdf4bc
Make DRAM_ODT_EN Kconfig setting a bool, add a separate DRAM_ODT_CORRECTION setting for A23 SoCs and use DRAM_ODT_EN Kconfig everywhere instead of only in dram_sun4i.c and hardcoding odt_en elsewhere. Note this commit makes no functional changes for existing boards, its purpose is to allow changing the odt_en value on future A33 boards. For sun4i/sun5i/sun7i boards which set DRAM_ODT_EN=y (which no defconfigs currently do) this patch turns on odt for both the DQ and the DQS lines, whereas previously it was possibly (but not desirable) to turn odt on only for one of them by setting the in DRAM_ODT_EN option to 1 or 2 instead of 3. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
40 lines
810 B
C
40 lines
810 B
C
/* DRAM parameters for auto dram configuration on sun5i and sun7i */
|
|
|
|
#include <common.h>
|
|
#include <asm/arch/dram.h>
|
|
#include <linux/kconfig.h>
|
|
|
|
static struct dram_para dram_para = {
|
|
.clock = CONFIG_DRAM_CLK,
|
|
.mbus_clock = CONFIG_DRAM_MBUS_CLK,
|
|
.type = 3,
|
|
.rank_num = 1,
|
|
.density = 0,
|
|
.io_width = 0,
|
|
.bus_width = 0,
|
|
.zq = CONFIG_DRAM_ZQ,
|
|
.odt_en = IS_ENABLED(CONFIG_DRAM_ODT_EN),
|
|
.size = 0,
|
|
#ifdef CONFIG_DRAM_TIMINGS_VENDOR_MAGIC
|
|
.cas = 9,
|
|
.tpr0 = 0x42d899b7,
|
|
.tpr1 = 0xa090,
|
|
.tpr2 = 0x22a00,
|
|
.emr2 = 0x10,
|
|
#else
|
|
# include "dram_timings_sun4i.h"
|
|
.active_windowing = 1,
|
|
#endif
|
|
.tpr3 = CONFIG_DRAM_TPR3,
|
|
.tpr4 = 0,
|
|
.tpr5 = 0,
|
|
.emr1 = CONFIG_DRAM_EMR1,
|
|
.emr3 = 0,
|
|
.dqs_gating_delay = CONFIG_DRAM_DQS_GATING_DELAY,
|
|
};
|
|
|
|
unsigned long sunxi_dram_init(void)
|
|
{
|
|
return dramc_init(&dram_para);
|
|
}
|