mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-27 17:41:34 +00:00
sunxi: Stop differentiating between 512M and 1G variants of the same board
While working on adding more boards I noticed that we lack a config for the 512M cubieboard, and that some of the new boards which I want to add also have 512M and 1G variants, rather then adding 2 defconfig's for all of these, lets switch the exising boards which have both a 512M and 1024M variant over to the sun4i dram autoconfig code. This also drops the foo_RAMSIZE_defconfig variants of boards where we currently have 2 separate configs already. Note: 1) The newly introduced CONFIG_DRAM_EMR1 kconfig value is not used with a value other then its default for now, but we need this to be configurable to support some new boards with auto dram config. 2) We always set all CONFIG_DRAM_foo values in defconfigs, even if they match the defaults, this is done to make it more clear what values are used for a certain board. This has been tested on a Mele A1000, Mini-X and a Cubieboard, all 1G variants, the dram autoconfig code has also been tested on a 512M mk802 (a defconfig for the mk802 is added in a later patch). Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
parent
e18233493e
commit
8ffc487c75
13 changed files with 38 additions and 141 deletions
|
@ -76,7 +76,7 @@ struct dram_para {
|
||||||
u32 cas;
|
u32 cas;
|
||||||
u32 zq;
|
u32 zq;
|
||||||
u32 odt_en;
|
u32 odt_en;
|
||||||
u32 size;
|
u32 size; /* For compat with dram.c files from u-boot-sunxi, unused */
|
||||||
u32 tpr0;
|
u32 tpr0;
|
||||||
u32 tpr1;
|
u32 tpr1;
|
||||||
u32 tpr2;
|
u32 tpr2;
|
||||||
|
|
|
@ -33,21 +33,31 @@ config MACH_SUN8I
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
if MACH_SUN6I || MACH_SUN8I
|
|
||||||
|
|
||||||
config DRAM_CLK
|
config DRAM_CLK
|
||||||
int "sun6i dram clock speed"
|
int "sunxi dram clock speed"
|
||||||
default 312
|
default 312 if MACH_SUN6I || MACH_SUN8I
|
||||||
|
default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
|
||||||
---help---
|
---help---
|
||||||
Set the dram clock speed, valid range 240 - 480, must be a multiple
|
Set the dram clock speed, valid range 240 - 480, must be a multiple
|
||||||
of 24.
|
of 24. Note on sun4i / sun5i / sun7i this is only used by boards
|
||||||
|
which use dram autoconfig.
|
||||||
|
|
||||||
config DRAM_ZQ
|
config DRAM_ZQ
|
||||||
int "sun6i dram zq value"
|
int "sunxi dram zq value"
|
||||||
default 123
|
default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
|
||||||
|
default 127 if MACH_SUN7I
|
||||||
---help---
|
---help---
|
||||||
Set the dram zq value.
|
Set the dram zq value. Note on sun4i / sun5i / sun7i this is only
|
||||||
|
used by boards which use dram autoconfig.
|
||||||
|
|
||||||
|
if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
|
||||||
|
config DRAM_EMR1
|
||||||
|
int "sunxi dram emr1 value"
|
||||||
|
default 0 if MACH_SUN4I
|
||||||
|
default 4 if MACH_SUN5I || MACH_SUN7I
|
||||||
|
---help---
|
||||||
|
Set the dram controller emr1 value. Note this is only used by boards
|
||||||
|
which use dram autoconfig.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config SYS_CONFIG_NAME
|
config SYS_CONFIG_NAME
|
||||||
|
@ -132,10 +142,6 @@ config TARGET_PCDUINO3
|
||||||
bool "PCDUINO3"
|
bool "PCDUINO3"
|
||||||
depends on MACH_SUN7I
|
depends on MACH_SUN7I
|
||||||
|
|
||||||
config TARGET_MELE_A1000G
|
|
||||||
bool "MELE_A1000G"
|
|
||||||
depends on MACH_SUN4I
|
|
||||||
|
|
||||||
config TARGET_MELE_A1000
|
config TARGET_MELE_A1000
|
||||||
bool "MELE_A1000"
|
bool "MELE_A1000"
|
||||||
depends on MACH_SUN4I
|
depends on MACH_SUN4I
|
||||||
|
@ -148,10 +154,6 @@ config TARGET_MELE_M9
|
||||||
bool "MELE_M9"
|
bool "MELE_M9"
|
||||||
depends on MACH_SUN6I
|
depends on MACH_SUN6I
|
||||||
|
|
||||||
config TARGET_MINI_X_1GB
|
|
||||||
bool "MINI_X_1GB"
|
|
||||||
depends on MACH_SUN4I
|
|
||||||
|
|
||||||
config TARGET_MINI_X
|
config TARGET_MINI_X
|
||||||
bool "MINI_X"
|
bool "MINI_X"
|
||||||
depends on MACH_SUN4I
|
depends on MACH_SUN4I
|
||||||
|
|
|
@ -7,10 +7,8 @@ F: configs/A10-OLinuXino-Lime_defconfig
|
||||||
F: configs/ba10_tv_box_defconfig
|
F: configs/ba10_tv_box_defconfig
|
||||||
F: configs/Cubieboard_defconfig
|
F: configs/Cubieboard_defconfig
|
||||||
F: configs/Mele_A1000_defconfig
|
F: configs/Mele_A1000_defconfig
|
||||||
F: configs/Mele_A1000G_defconfig
|
|
||||||
F: configs/Mele_M3_defconfig
|
F: configs/Mele_M3_defconfig
|
||||||
F: configs/Mini-X_defconfig
|
F: configs/Mini-X_defconfig
|
||||||
F: configs/Mini-X-1Gb_defconfig
|
|
||||||
F: include/configs/sun5i.h
|
F: include/configs/sun5i.h
|
||||||
F: configs/A10s-OLinuXino-M_defconfig
|
F: configs/A10s-OLinuXino-M_defconfig
|
||||||
F: configs/A13-OLinuXino_defconfig
|
F: configs/A13-OLinuXino_defconfig
|
||||||
|
|
|
@ -23,15 +23,13 @@ obj-$(CONFIG_TARGET_AUXTEK_T004) += dram_a10s_olinuxino_m.o
|
||||||
obj-$(CONFIG_TARGET_BA10_TV_BOX) += dram_sun4i_384_1024_iow8.o
|
obj-$(CONFIG_TARGET_BA10_TV_BOX) += dram_sun4i_384_1024_iow8.o
|
||||||
obj-$(CONFIG_TARGET_BANANAPI) += dram_bananapi.o
|
obj-$(CONFIG_TARGET_BANANAPI) += dram_bananapi.o
|
||||||
obj-$(CONFIG_TARGET_BANANAPRO) += dram_bananapi.o
|
obj-$(CONFIG_TARGET_BANANAPRO) += dram_bananapi.o
|
||||||
obj-$(CONFIG_TARGET_CUBIEBOARD) += dram_cubieboard.o
|
obj-$(CONFIG_TARGET_CUBIEBOARD) += dram_sun4i_auto.o
|
||||||
obj-$(CONFIG_TARGET_CUBIEBOARD2) += dram_cubieboard2.o
|
obj-$(CONFIG_TARGET_CUBIEBOARD2) += dram_cubieboard2.o
|
||||||
obj-$(CONFIG_TARGET_CUBIETRUCK) += dram_cubietruck.o
|
obj-$(CONFIG_TARGET_CUBIETRUCK) += dram_cubietruck.o
|
||||||
obj-$(CONFIG_TARGET_I12_TVBOX) += dram_sun7i_384_1024_iow16.o
|
obj-$(CONFIG_TARGET_I12_TVBOX) += dram_sun7i_384_1024_iow16.o
|
||||||
obj-$(CONFIG_TARGET_MELE_A1000) += dram_sun4i_360_512.o
|
obj-$(CONFIG_TARGET_MELE_A1000) += dram_sun4i_auto.o
|
||||||
obj-$(CONFIG_TARGET_MELE_A1000G) += dram_sun4i_360_1024_iow8.o
|
|
||||||
obj-$(CONFIG_TARGET_MELE_M3) += dram_sun7i_384_1024_iow16.o
|
obj-$(CONFIG_TARGET_MELE_M3) += dram_sun7i_384_1024_iow16.o
|
||||||
obj-$(CONFIG_TARGET_MINI_X) += dram_sun4i_360_512.o
|
obj-$(CONFIG_TARGET_MINI_X) += dram_sun4i_auto.o
|
||||||
obj-$(CONFIG_TARGET_MINI_X_1GB) += dram_sun4i_360_1024_iow16.o
|
|
||||||
obj-$(CONFIG_TARGET_MSI_PRIMO73) += dram_sun7i_384_1024_iow16.o
|
obj-$(CONFIG_TARGET_MSI_PRIMO73) += dram_sun7i_384_1024_iow16.o
|
||||||
obj-$(CONFIG_TARGET_PCDUINO) += dram_sun4i_408_1024_iow8.o
|
obj-$(CONFIG_TARGET_PCDUINO) += dram_sun4i_408_1024_iow8.o
|
||||||
obj-$(CONFIG_TARGET_PCDUINO3) += dram_linksprite_pcduino3.o
|
obj-$(CONFIG_TARGET_PCDUINO3) += dram_linksprite_pcduino3.o
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* this file is generated, don't edit it yourself */
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <asm/arch/dram.h>
|
|
||||||
|
|
||||||
static struct dram_para dram_para = {
|
|
||||||
.clock = 480,
|
|
||||||
.type = 3,
|
|
||||||
.rank_num = 1,
|
|
||||||
.density = 4096,
|
|
||||||
.io_width = 16,
|
|
||||||
.bus_width = 32,
|
|
||||||
.cas = 6,
|
|
||||||
.zq = 123,
|
|
||||||
.odt_en = 0,
|
|
||||||
.size = 1024,
|
|
||||||
.tpr0 = 0x30926692,
|
|
||||||
.tpr1 = 0x1090,
|
|
||||||
.tpr2 = 0x1a0c8,
|
|
||||||
.tpr3 = 0,
|
|
||||||
.tpr4 = 0,
|
|
||||||
.tpr5 = 0,
|
|
||||||
.emr1 = 0,
|
|
||||||
.emr2 = 0,
|
|
||||||
.emr3 = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned long sunxi_dram_init(void)
|
|
||||||
{
|
|
||||||
return dramc_init(&dram_para);
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* this file is generated, don't edit it yourself */
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <asm/arch/dram.h>
|
|
||||||
|
|
||||||
static struct dram_para dram_para = {
|
|
||||||
.clock = 360,
|
|
||||||
.type = 3,
|
|
||||||
.rank_num = 1,
|
|
||||||
.density = 4096,
|
|
||||||
.io_width = 16,
|
|
||||||
.bus_width = 32,
|
|
||||||
.cas = 6,
|
|
||||||
.zq = 123,
|
|
||||||
.odt_en = 0,
|
|
||||||
.size = 1024,
|
|
||||||
.tpr0 = 0x30926692,
|
|
||||||
.tpr1 = 0x1090,
|
|
||||||
.tpr2 = 0x1a0c8,
|
|
||||||
.tpr3 = 0,
|
|
||||||
.tpr4 = 0,
|
|
||||||
.tpr5 = 0,
|
|
||||||
.emr1 = 0,
|
|
||||||
.emr2 = 0,
|
|
||||||
.emr3 = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned long sunxi_dram_init(void)
|
|
||||||
{
|
|
||||||
return dramc_init(&dram_para);
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* this file is generated, don't edit it yourself */
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <asm/arch/dram.h>
|
|
||||||
|
|
||||||
static struct dram_para dram_para = {
|
|
||||||
.clock = 360,
|
|
||||||
.type = 3,
|
|
||||||
.rank_num = 1,
|
|
||||||
.density = 2048,
|
|
||||||
.io_width = 16,
|
|
||||||
.bus_width = 32,
|
|
||||||
.cas = 6,
|
|
||||||
.zq = 123,
|
|
||||||
.odt_en = 0,
|
|
||||||
.size = 512,
|
|
||||||
.tpr0 = 0x30926692,
|
|
||||||
.tpr1 = 0x1090,
|
|
||||||
.tpr2 = 0x1a0c8,
|
|
||||||
.tpr3 = 0,
|
|
||||||
.tpr4 = 0,
|
|
||||||
.tpr5 = 0,
|
|
||||||
.emr1 = 0,
|
|
||||||
.emr2 = 0,
|
|
||||||
.emr3 = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned long sunxi_dram_init(void)
|
|
||||||
{
|
|
||||||
return dramc_init(&dram_para);
|
|
||||||
}
|
|
|
@ -1,26 +1,24 @@
|
||||||
/* this file is generated, don't edit it yourself */
|
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <asm/arch/dram.h>
|
#include <asm/arch/dram.h>
|
||||||
|
|
||||||
static struct dram_para dram_para = {
|
static struct dram_para dram_para = {
|
||||||
.clock = 360,
|
.clock = CONFIG_DRAM_CLK,
|
||||||
.type = 3,
|
.type = 3,
|
||||||
.rank_num = 1,
|
.rank_num = 1,
|
||||||
.density = 2048,
|
.density = 0,
|
||||||
.io_width = 8,
|
.io_width = 0,
|
||||||
.bus_width = 32,
|
.bus_width = 0,
|
||||||
.cas = 6,
|
.cas = 6,
|
||||||
.zq = 123,
|
.zq = CONFIG_DRAM_ZQ,
|
||||||
.odt_en = 0,
|
.odt_en = 0,
|
||||||
.size = 1024,
|
.size = 0,
|
||||||
.tpr0 = 0x30926692,
|
.tpr0 = 0x30926692,
|
||||||
.tpr1 = 0x1090,
|
.tpr1 = 0x1090,
|
||||||
.tpr2 = 0x1a0c8,
|
.tpr2 = 0x1a0c8,
|
||||||
.tpr3 = 0,
|
.tpr3 = 0,
|
||||||
.tpr4 = 0,
|
.tpr4 = 0,
|
||||||
.tpr5 = 0,
|
.tpr5 = 0,
|
||||||
.emr1 = 0,
|
.emr1 = CONFIG_DRAM_EMR1,
|
||||||
.emr2 = 0,
|
.emr2 = 0,
|
||||||
.emr3 = 0,
|
.emr3 = 0,
|
||||||
};
|
};
|
|
@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun4i-a10-cubieboard.dtb"
|
||||||
+S:CONFIG_ARCH_SUNXI=y
|
+S:CONFIG_ARCH_SUNXI=y
|
||||||
+S:CONFIG_MACH_SUN4I=y
|
+S:CONFIG_MACH_SUN4I=y
|
||||||
+S:CONFIG_TARGET_CUBIEBOARD=y
|
+S:CONFIG_TARGET_CUBIEBOARD=y
|
||||||
|
+S:CONFIG_DRAM_CLK=480
|
||||||
|
+S:CONFIG_DRAM_ZQ=123
|
||||||
|
+S:CONFIG_DRAM_EMR1=0
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
CONFIG_SPL=y
|
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
|
|
||||||
CONFIG_FDTFILE="sun4i-a10-a1000.dtb"
|
|
||||||
CONFIG_VIDEO_VGA=y
|
|
||||||
+S:CONFIG_ARM=y
|
|
||||||
+S:CONFIG_ARCH_SUNXI=y
|
|
||||||
+S:CONFIG_MACH_SUN4I=y
|
|
||||||
+S:CONFIG_TARGET_MELE_A1000G=y
|
|
|
@ -6,3 +6,6 @@ CONFIG_VIDEO_VGA=y
|
||||||
+S:CONFIG_ARCH_SUNXI=y
|
+S:CONFIG_ARCH_SUNXI=y
|
||||||
+S:CONFIG_MACH_SUN4I=y
|
+S:CONFIG_MACH_SUN4I=y
|
||||||
+S:CONFIG_TARGET_MELE_A1000=y
|
+S:CONFIG_TARGET_MELE_A1000=y
|
||||||
|
+S:CONFIG_DRAM_CLK=360
|
||||||
|
+S:CONFIG_DRAM_ZQ=123
|
||||||
|
+S:CONFIG_DRAM_EMR1=0
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
CONFIG_SPL=y
|
|
||||||
CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
|
|
||||||
CONFIG_FDTFILE="sun4i-a10-mini-xplus.dtb"
|
|
||||||
+S:CONFIG_ARM=y
|
|
||||||
+S:CONFIG_ARCH_SUNXI=y
|
|
||||||
+S:CONFIG_MACH_SUN4I=y
|
|
||||||
+S:CONFIG_TARGET_MINI_X_1GB=y
|
|
|
@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun4i-a10-mini-xplus.dtb"
|
||||||
+S:CONFIG_ARCH_SUNXI=y
|
+S:CONFIG_ARCH_SUNXI=y
|
||||||
+S:CONFIG_MACH_SUN4I=y
|
+S:CONFIG_MACH_SUN4I=y
|
||||||
+S:CONFIG_TARGET_MINI_X=y
|
+S:CONFIG_TARGET_MINI_X=y
|
||||||
|
+S:CONFIG_DRAM_CLK=360
|
||||||
|
+S:CONFIG_DRAM_ZQ=123
|
||||||
|
+S:CONFIG_DRAM_EMR1=0
|
||||||
|
|
Loading…
Add table
Reference in a new issue