mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
rockchip: sdram: Add rockchip_sdram_type() helper
Add a helper function based on rockchip_sdram_size() that return what DRAM type is used on current running board. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
committed by
Kever Yang
parent
e22335a221
commit
57dc75fb9b
@@ -87,6 +87,9 @@ enum {
|
||||
#define SYS_REG_CS1_COL_SHIFT(ch) (0 + (ch) * 2)
|
||||
#define SYS_REG_CS1_COL_MASK 3
|
||||
|
||||
/* Get sdram type decode from reg */
|
||||
u8 rockchip_sdram_type(phys_addr_t reg);
|
||||
|
||||
/* Get sdram size decode from reg */
|
||||
size_t rockchip_sdram_size(phys_addr_t reg);
|
||||
|
||||
|
||||
@@ -345,6 +345,21 @@ int dram_init_banksize(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u8 rockchip_sdram_type(phys_addr_t reg)
|
||||
{
|
||||
u32 dram_type, version;
|
||||
u32 sys_reg2 = readl(reg);
|
||||
u32 sys_reg3 = readl(reg + 4);
|
||||
|
||||
dram_type = (sys_reg2 >> SYS_REG_DDRTYPE_SHIFT) & SYS_REG_DDRTYPE_MASK;
|
||||
version = (sys_reg3 >> SYS_REG_VERSION_SHIFT) & SYS_REG_VERSION_MASK;
|
||||
if (version >= 3)
|
||||
dram_type |= ((sys_reg3 >> SYS_REG_EXTEND_DDRTYPE_SHIFT) &
|
||||
SYS_REG_EXTEND_DDRTYPE_MASK) << 3;
|
||||
|
||||
return dram_type;
|
||||
}
|
||||
|
||||
size_t rockchip_sdram_size(phys_addr_t reg)
|
||||
{
|
||||
u32 rank, cs0_col, bk, cs0_row, cs1_row, bw, row_3_4;
|
||||
|
||||
Reference in New Issue
Block a user