ram: rk3288: Initialize dram for TPL builds
Few of the rk3288 boards like tinker, vyasa are using TPL, SPL bootchain so the dram initialization must needed during TPL stage. So add proper ifconstruct to satisfy both TPL, SPL and SPL-only bootchain boards. This eventually fixing TPL to SPL handoff, otherwise missing dram initilaztion at TPL stage would leads to SPL hang. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
This commit is contained in:
parent
78efae613b
commit
4f24163efa
@ -79,7 +79,8 @@ const int ddrconf_table[] = {
|
||||
#define DQS_GATE_TRAINING_ERROR_RANK0 (1 << 4)
|
||||
#define DQS_GATE_TRAINING_ERROR_RANK1 (2 << 4)
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#if defined(CONFIG_TPL_BUILD) || \
|
||||
(!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD))
|
||||
static void copy_to_reg(u32 *dest, const u32 *src, u32 n)
|
||||
{
|
||||
int i;
|
||||
@ -1035,7 +1036,8 @@ static int conv_of_platdata(struct udevice *dev)
|
||||
|
||||
static int rk3288_dmc_probe(struct udevice *dev)
|
||||
{
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#if defined(CONFIG_TPL_BUILD) || \
|
||||
(!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD))
|
||||
struct rk3288_sdram_params *plat = dev_get_platdata(dev);
|
||||
struct udevice *dev_clk;
|
||||
struct regmap *map;
|
||||
@ -1044,7 +1046,8 @@ static int rk3288_dmc_probe(struct udevice *dev)
|
||||
struct dram_info *priv = dev_get_priv(dev);
|
||||
|
||||
priv->pmu = syscon_get_first_range(ROCKCHIP_SYSCON_PMU);
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#if defined(CONFIG_TPL_BUILD) || \
|
||||
(!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD))
|
||||
#if CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
ret = conv_of_platdata(dev);
|
||||
if (ret)
|
||||
@ -1111,12 +1114,14 @@ U_BOOT_DRIVER(dmc_rk3288) = {
|
||||
.id = UCLASS_RAM,
|
||||
.of_match = rk3288_dmc_ids,
|
||||
.ops = &rk3288_dmc_ops,
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#if defined(CONFIG_TPL_BUILD) || \
|
||||
(!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD))
|
||||
.ofdata_to_platdata = rk3288_dmc_ofdata_to_platdata,
|
||||
#endif
|
||||
.probe = rk3288_dmc_probe,
|
||||
.priv_auto_alloc_size = sizeof(struct dram_info),
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#if defined(CONFIG_TPL_BUILD) || \
|
||||
(!defined(CONFIG_TPL) && defined(CONFIG_SPL_BUILD))
|
||||
.platdata_auto_alloc_size = sizeof(struct rk3288_sdram_params),
|
||||
#endif
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user