mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 09:27:35 +00:00
124289bd56
The Allwinner R528/T113-s/D1/D1s SoCs all share the same die, so use the same DRAM initialisation code. Make use of prior art here and lift some code from awboot[1], which carried init code based on earlier decompilation efforts, but with a GPL2 license tag. This code has been heavily reworked and cleaned up, to match previous DRAM routines for other SoCs, and also to be closer to U-Boot's coding style and support routines. The actual DRAM chip timing parameters are included in the main file, since they cover all DRAM types, and are protected by a new Kconfig CONFIG_SUNXI_DRAM_TYPE symbol, which allows the compiler to pick only the relevant settings, at build time. The relevant DRAM chips/board specific configuration parameters are delivered via Kconfig, so this code here should work for all supported SoCs and DRAM chips combinations. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Sam Edwards <CFSworks@gmail.com>
60 lines
1.2 KiB
Text
60 lines
1.2 KiB
Text
config DRAM_SUN20I_D1
|
|
bool
|
|
depends on ARCH_SUNXI
|
|
help
|
|
This enables support for the DRAM controller driver covering
|
|
the Allwinner D1/R528/T113s SoCs.
|
|
|
|
if DRAM_SUN20I_D1
|
|
|
|
config DRAM_SUNXI_ODT_EN
|
|
hex "DRAM ODT EN parameter"
|
|
help
|
|
ODT EN value from vendor DRAM settings.
|
|
|
|
config DRAM_SUNXI_TPR0
|
|
hex "DRAM TPR0 parameter"
|
|
help
|
|
TPR0 value from vendor DRAM settings.
|
|
|
|
config DRAM_SUNXI_TPR11
|
|
hex "DRAM TPR11 parameter"
|
|
help
|
|
TPR11 value from vendor DRAM settings.
|
|
|
|
config DRAM_SUNXI_TPR12
|
|
hex "DRAM TPR12 parameter"
|
|
help
|
|
TPR12 value from vendor DRAM settings.
|
|
|
|
config DRAM_SUNXI_TPR13
|
|
hex "DRAM TPR13 parameter"
|
|
help
|
|
TPR13 value from vendor DRAM settings. It tells which features
|
|
should be configured.
|
|
|
|
choice
|
|
prompt "DRAM chip type"
|
|
default SUNXI_DRAM_TYPE_DDR3 if DRAM_SUN20I_D1
|
|
|
|
config SUNXI_DRAM_TYPE_DDR2
|
|
bool "DDR2 chips"
|
|
|
|
config SUNXI_DRAM_TYPE_DDR3
|
|
bool "DDR3 chips"
|
|
|
|
config SUNXI_DRAM_TYPE_LPDDR2
|
|
bool "LPDDR2 chips"
|
|
|
|
config SUNXI_DRAM_TYPE_LPDDR3
|
|
bool "LPDDR3 chips"
|
|
endchoice
|
|
|
|
config SUNXI_DRAM_TYPE
|
|
int
|
|
default 2 if SUNXI_DRAM_TYPE_DDR2
|
|
default 3 if SUNXI_DRAM_TYPE_DDR3
|
|
default 6 if SUNXI_DRAM_TYPE_LPDDR2
|
|
default 7 if SUNXI_DRAM_TYPE_LPDDR3
|
|
|
|
endif
|