MIPS: BCM63xx: fix SDRAM size computation for BCM6345
PATCH v2 1/3 MIPS: BCM63xx: fix SDRAM size computation for BCM6345
Instead of hardcoding the amount of available RAM, read the number of effective multiples of 8MB from SDRAM_MBASE_REG.
Signed-off-by Florian Fainelli <[email protected]>
---
Changes since v1:
- rebased against mips-for-linux-next
- folded patch 1 and 2 together
arch/mips/bcm63xx/cpu.c +4 -2
@@ -170,8 +170,10 @@ static unsigned int detect_memory_size(void)unsigned int cols =0 , rows =0 , is_32bits =0 , banks =0 ;u32 val; -if (BCMCPU_IS_6345 ()) -return (8 *1024 *1024 ); +if (BCMCPU_IS_6345 ()) { + val =bcm_sdram_readl (SDRAM_MBASE_REG ); +return (val *8 *1024 *1024 ); + }if (BCMCPU_IS_6338 () ||BCMCPU_IS_6348 ()) { val =bcm_sdram_readl (SDRAM_CFG_REG );
arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +2 -0
@@ -895,6 +895,8 @@#define SDRAM_CFG_BANK_SHIFT 13#define SDRAM_CFG_BANK_MASK (1 << SDRAM_CFG_BANK_SHIFT) +#define SDRAM_MBASE_REG 0xc +#define SDRAM_PRIO_REG 0x2C#define SDRAM_PRIO_MIPS_SHIFT 29#define SDRAM_PRIO_MIPS_MASK (1 << SDRAM_PRIO_MIPS_SHIFT)
Signature · 1 line
1.7.5.4
Thanks, queued for 3.3.
Ralf