diff mbox

[U-Boot,1/2] rockchip: rk3036 sdram setting cs1_row when rank larger than 1

Message ID 1449457737-3139-1-git-send-email-hl@rock-chips.com
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Lin Huang Dec. 7, 2015, 3:08 a.m. UTC
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>
---
 arch/arm/mach-rockchip/rk3036/sdram_rk3036.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Simon Glass Dec. 11, 2015, 3:20 a.m. UTC | #1
On 6 December 2015 at 20:08, Lin Huang <hl@rock-chips.com> wrote:
> 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>
> ---
>  arch/arm/mach-rockchip/rk3036/sdram_rk3036.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)

Acked-by: Simon Glass <sjg@chromium.org>
Simon Glass Dec. 14, 2015, 10:13 p.m. UTC | #2
I'm going to take this now since it is a new board and should not affect others.

Applied to u-boot-rockchip, thanks!
diff mbox

Patch

diff --git a/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c b/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c
index 7a05e31..e3ca870 100644
--- a/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c
+++ b/arch/arm/mach-rockchip/rk3036/sdram_rk3036.c
@@ -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]);
 }