diff options
Diffstat (limited to 'board/sunxi')
-rw-r--r-- | board/sunxi/Kconfig | 25 | ||||
-rw-r--r-- | board/sunxi/dram_sun4i_auto.c | 3 | ||||
-rw-r--r-- | board/sunxi/dram_sun5i_auto.c | 3 |
3 files changed, 22 insertions, 9 deletions
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig index 012f9a4cef..a6bbf6e786 100644 --- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -91,6 +91,13 @@ config DRAM_ZQ ---help--- Set the dram zq value. +config DRAM_ODT_EN + bool "sunxi dram odt enable" + default n if !MACH_SUN8I_A23 + default y if MACH_SUN8I_A23 + ---help--- + Select this to enable dram odt (on die termination). + if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I config DRAM_EMR1 int "sunxi dram emr1 value" @@ -99,13 +106,6 @@ config DRAM_EMR1 ---help--- Set the dram controller emr1 value. -config DRAM_ODT_EN - int "sunxi dram odt_en value" - default 0 - ---help--- - Set the dram controller odt_en parameter. This can be used to - enable/disable the ODT feature. - config DRAM_TPR3 hex "sunxi dram tpr3 value" default 0 @@ -166,6 +166,17 @@ endchoice endif +if MACH_SUN8I_A23 +config DRAM_ODT_CORRECTION + int "sunxi dram odt correction value" + default 0 + ---help--- + Set the dram odt correction value (range -255 - 255). In allwinner + fex files, this option is found in bits 8-15 of the u32 odt_en variable + in the [dram] section. When bit 31 of the odt_en variable is set + then the correction is negative. Usually the value for this is 0. +endif + config SYS_CLK_FREQ default 912000000 if MACH_SUN7I default 1008000000 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I diff --git a/board/sunxi/dram_sun4i_auto.c b/board/sunxi/dram_sun4i_auto.c index 09e0c9ae2e..149bb51dcb 100644 --- a/board/sunxi/dram_sun4i_auto.c +++ b/board/sunxi/dram_sun4i_auto.c @@ -1,5 +1,6 @@ #include <common.h> #include <asm/arch/dram.h> +#include <linux/kconfig.h> static struct dram_para dram_para = { .clock = CONFIG_DRAM_CLK, @@ -9,7 +10,7 @@ static struct dram_para dram_para = { .io_width = 0, .bus_width = 0, .zq = CONFIG_DRAM_ZQ, - .odt_en = CONFIG_DRAM_ODT_EN, + .odt_en = IS_ENABLED(CONFIG_DRAM_ODT_EN), .size = 0, #ifdef CONFIG_DRAM_TIMINGS_VENDOR_MAGIC .cas = 6, diff --git a/board/sunxi/dram_sun5i_auto.c b/board/sunxi/dram_sun5i_auto.c index 660b18ebbd..596a206072 100644 --- a/board/sunxi/dram_sun5i_auto.c +++ b/board/sunxi/dram_sun5i_auto.c @@ -2,6 +2,7 @@ #include <common.h> #include <asm/arch/dram.h> +#include <linux/kconfig.h> static struct dram_para dram_para = { .clock = CONFIG_DRAM_CLK, @@ -12,7 +13,7 @@ static struct dram_para dram_para = { .io_width = 0, .bus_width = 0, .zq = CONFIG_DRAM_ZQ, - .odt_en = CONFIG_DRAM_ODT_EN, + .odt_en = IS_ENABLED(CONFIG_DRAM_ODT_EN), .size = 0, #ifdef CONFIG_DRAM_TIMINGS_VENDOR_MAGIC .cas = 9, |