rockchip: rk3036 sdram setting cs1_row when rank larger than 1
only rank large than 1, we will use cs1_row, so check rank, when rank larger than 1, we set the cs1_row. Signed-off-by: Lin Huang <hl@rock-chips.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f4a8a1757b
commit
e390680015
@ -701,15 +701,19 @@ finish:
|
||||
static void sdram_all_config(struct rk3036_sdram_priv *priv)
|
||||
{
|
||||
u32 os_reg = 0;
|
||||
u32 cs1_row = 0;
|
||||
struct rk3036_ddr_config config = priv->ddr_config;
|
||||
|
||||
if (config.rank > 1)
|
||||
cs1_row = config.cs1_row - 13;
|
||||
|
||||
os_reg = config.ddr_type << DDR_TYPE_SHIFT |
|
||||
0 << DDR_CHN_CNT_SHIFT |
|
||||
(config.rank - 1) << DDR_RANK_CNT_SHIFT |
|
||||
(config.col - 1) << DDR_COL_SHIFT |
|
||||
(config.bank == 3 ? 0 : 1) << DDR_BANK_SHIFT |
|
||||
(config.cs0_row - 13) << DDR_CS0_ROW_SHIFT |
|
||||
(config.cs1_row - 13) << DDR_CS1_ROW_SHIFT |
|
||||
cs1_row << DDR_CS1_ROW_SHIFT |
|
||||
1 << DDR_BW_SHIFT | config.bw << DDR_DIE_BW_SHIFT;
|
||||
writel(os_reg, &priv->grf->os_reg[1]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user