* [PATCH] MIPS: JZ4740: setup: Autodetect physical memory.
@ 2011-05-02 9:47 Maarten ter Huurne
2011-05-11 17:21 ` Ralf Baechle
0 siblings, 1 reply; 3+ messages in thread
From: Maarten ter Huurne @ 2011-05-02 9:47 UTC (permalink / raw)
To: Ralf Baechle
Cc: linux-kernel, linux-mips, Lars-Peter Clausen, Maarten ter Huurne
Assume that the boot loader knows the physical memory of the system and
deduce that information from the contents of the SDRAM control register.
It is still possible to override with with the "mem=" parameter, but we
have a sensible default now.
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
---
arch/mips/jz4740/setup.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/arch/mips/jz4740/setup.c b/arch/mips/jz4740/setup.c
index 6a9e14d..d97cfbf 100644
--- a/arch/mips/jz4740/setup.c
+++ b/arch/mips/jz4740/setup.c
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009-2010, Lars-Peter Clausen <lars@metafoo.de>
+ * Copyright (C) 2011, Maarten ter Huurne <maarten@treewalker.org>
* JZ4740 setup code
*
* This program is free software; you can redistribute it and/or modify it
@@ -14,13 +15,44 @@
*/
#include <linux/init.h>
+#include <linux/io.h>
#include <linux/kernel.h>
+#include <asm/bootinfo.h>
+
+#include <asm/mach-jz4740/base.h>
+
#include "reset.h"
+
+#define JZ4740_EMC_SDRAM_CTRL 0x80
+
+
+static void __init jz4740_detect_mem(void)
+{
+ void __iomem *jz_emc_base;
+ u32 ctrl, bus, bank, rows, cols;
+ phys_t size;
+
+ jz_emc_base = ioremap(JZ4740_EMC_BASE_ADDR, 0x100);
+ ctrl = readl(jz_emc_base + JZ4740_EMC_SDRAM_CTRL);
+ bus = 2 - ((ctrl >> 31) & 1);
+ bank = 1 + ((ctrl >> 19) & 1);
+ cols = 8 + ((ctrl >> 26) & 7);
+ rows = 11 + ((ctrl >> 20) & 3);
+ printk(KERN_DEBUG
+ "SDRAM preconfigured: bus:%u bank:%u rows:%u cols:%u\n",
+ bus, bank, rows, cols);
+ iounmap(jz_emc_base);
+
+ size = 1 << (bus + bank + cols + rows);
+ add_memory_region(0, size, BOOT_MEM_RAM);
+}
+
void __init plat_mem_setup(void)
{
jz4740_reset_init();
+ jz4740_detect_mem();
}
const char *get_system_type(void)
--
1.7.3.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: JZ4740: setup: Autodetect physical memory.
2011-05-02 9:47 [PATCH] MIPS: JZ4740: setup: Autodetect physical memory Maarten ter Huurne
@ 2011-05-11 17:21 ` Ralf Baechle
2011-05-11 18:36 ` Maarten ter Huurne
0 siblings, 1 reply; 3+ messages in thread
From: Ralf Baechle @ 2011-05-11 17:21 UTC (permalink / raw)
To: Maarten ter Huurne; +Cc: linux-kernel, linux-mips, Lars-Peter Clausen
Thanks, queued for 2.6.40.
Or does this have any relevance for 2.6.39 or -stable?
Ralf
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: JZ4740: setup: Autodetect physical memory.
2011-05-11 17:21 ` Ralf Baechle
@ 2011-05-11 18:36 ` Maarten ter Huurne
0 siblings, 0 replies; 3+ messages in thread
From: Maarten ter Huurne @ 2011-05-11 18:36 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-kernel, linux-mips, Lars-Peter Clausen
On Wednesday 11 May 2011, Ralf Baechle wrote:
> Thanks, queued for 2.6.40.
Thanks.
> Or does this have any relevance for 2.6.39 or -stable?
No need to rush it out, having it in 2.6.40 would be fine.
Bye,
Maarten
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-05-11 18:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-02 9:47 [PATCH] MIPS: JZ4740: setup: Autodetect physical memory Maarten ter Huurne
2011-05-11 17:21 ` Ralf Baechle
2011-05-11 18:36 ` Maarten ter Huurne
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox