ram: rockchip: px30: add a config-based ddr selection

The SRAM on the PX30 is not big enough to hold multiple DDR configs
so it needs to be selected during build.

So far simply the DDR3 config was always selected and getting DDR4
or LPDDR2/3 initialized would require a code modification.

So add Kconfig options similar to RK3399 to allow selecting the DDR4
and LPDDR2/3 options instead, while DDR3 stays the default as before.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
This commit is contained in:
Heiko Stuebner 2020-10-01 20:40:03 +02:00 committed by Kever Yang
parent e6dcfff8e6
commit 2db36c64bd
2 changed files with 29 additions and 0 deletions

View File

@ -22,6 +22,27 @@ config RAM_ROCKCHIP_DEBUG
This is an option for developers to understand the ram drivers
initialization, configurations and etc.
config RAM_PX30_DDR4
bool "DDR3 support for Rockchip PX30"
depends on RAM_ROCKCHIP && ROCKCHIP_PX30
help
This enables DDR4 sdram support instead of the default DDR3 support
on Rockchip PC30 SoCs.
config RAM_PX30_LPDDR2
bool "LPDDR2 support for Rockchip PX30"
depends on RAM_ROCKCHIP && ROCKCHIP_PX30
help
This enables LPDDR2 sdram support instead of the default DDR3 support
on Rockchip PC30 SoCs.
config RAM_PX30_LPDDR3
bool "LPDDR3 support for Rockchip PX30"
depends on RAM_ROCKCHIP && ROCKCHIP_PX30
help
This enables LPDDR3 sdram support instead of the default DDR3 support
on Rockchip PC30 SoCs.
config RAM_RK3399_LPDDR4
bool "LPDDR4 support for Rockchip RK3399"
depends on RAM_ROCKCHIP && ROCKCHIP_RK3399

View File

@ -125,7 +125,15 @@ u32 addrmap[][8] = {
struct dram_info dram_info;
struct px30_sdram_params sdram_configs[] = {
#if defined(CONFIG_RAM_PX30_DDR4)
#include "sdram-px30-ddr4-detect-333.inc"
#elif defined(CONFIG_RAM_PX30_LPDDR2)
#include "sdram-px30-lpddr2-detect-333.inc"
#elif defined(CONFIG_RAM_PX30_LPDDR3)
#include "sdram-px30-lpddr3-detect-333.inc"
#else
#include "sdram-px30-ddr3-detect-333.inc"
#endif
};
struct ddr_phy_skew skew = {