summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap/am33xx_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap/am33xx_generic.c')
-rw-r--r--arch/arm/mach-omap/am33xx_generic.c53
1 files changed, 2 insertions, 51 deletions
diff --git a/arch/arm/mach-omap/am33xx_generic.c b/arch/arm/mach-omap/am33xx_generic.c
index 2727ebdf7f..bfe5b3dc73 100644
--- a/arch/arm/mach-omap/am33xx_generic.c
+++ b/arch/arm/mach-omap/am33xx_generic.c
@@ -342,59 +342,10 @@ void am33xx_config_sdram(const struct am33xx_emif_regs *regs)
writel(regs->sdram_config, emif4 + EMIF4_SDRAM_CONFIG);
}
-/**
- * am335x_sdram_size - read back SDRAM size from sdram_config register
- *
- * @return: The SDRAM size
- */
-unsigned long am335x_sdram_size(void)
-{
- uint32_t sdram_config = readl(IOMEM(AM33XX_EMIF4_BASE + EMIF4_SDRAM_CONFIG));
- int rows, cols, width, banks;
- unsigned long size;
-
- rows = ((sdram_config >> 7) & 0x7) + 9;
- cols = (sdram_config & 0x7) + 8;
-
- switch ((sdram_config >> 14) & 0x3) {
- case 0:
- width = 4;
- break;
- case 1:
- width = 2;
- break;
- default:
- return 0;
- }
-
- switch ((sdram_config >> 4) & 0x7) {
- case 0:
- banks = 1;
- break;
- case 1:
- banks = 2;
- break;
- case 2:
- banks = 4;
- break;
- case 3:
- banks = 8;
- break;
- default:
- return 0;
- }
-
- size = (1 << rows) * (1 << cols) * banks * width;
-
- debug("%s: sdram_config: 0x%08x cols: %2d rows: %2d width: %2d banks: %2d size: 0x%08lx\n",
- __func__, sdram_config, cols, rows, width, banks, size);
-
- return size;
-}
-
void __noreturn am335x_barebox_entry(void *boarddata)
{
- barebox_arm_entry(0x80000000, am335x_sdram_size(), boarddata);
+ barebox_arm_entry(0x80000000,
+ emif4_sdram_size(IOMEM(AM33XX_EMIF4_BASE)), boarddata);
}
void am33xx_config_io_ctrl(int ioctrl)