summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mxs/mem-init.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2016-05-09 12:58:17 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-05-10 08:13:48 +0200
commit5399f211e6f566fc3ee2d1e09c86c07e49b03dd9 (patch)
tree926efa02c5364b653f59e6f871c76a03ab217954 /arch/arm/mach-mxs/mem-init.c
parent06f5a7c9ad41a78f6e19eca96574bb3c49d058c8 (diff)
downloadbarebox-5399f211e6f566fc3ee2d1e09c86c07e49b03dd9.tar.gz
barebox-5399f211e6f566fc3ee2d1e09c86c07e49b03dd9.tar.xz
ARM: mxs: add parameter to mx28_mem_init to allow custom memory config
Rename the already global array of default memory settings to make the intended usage more obvious. Also make generous use of the const keyword. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mxs/mem-init.c')
-rw-r--r--arch/arm/mach-mxs/mem-init.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-mxs/mem-init.c b/arch/arm/mach-mxs/mem-init.c
index 43165ac100..ac8bfee18e 100644
--- a/arch/arm/mach-mxs/mem-init.c
+++ b/arch/arm/mach-mxs/mem-init.c
@@ -87,7 +87,7 @@ int mxs_early_reset_block(struct mxs_register_32 *reg)
return 0;
}
-uint32_t mx28_dram_vals[] = {
+const uint32_t mx28_dram_vals_default[190] = {
/*
* i.MX28 DDR2 at 200MHz
*/
@@ -158,12 +158,12 @@ uint32_t mx23_dram_vals[] = {
0x00010000
};
-static void mx28_initialize_dram_values(void)
+static void mx28_initialize_dram_values(const uint32_t dram_vals[190])
{
int i;
- for (i = 0; i < ARRAY_SIZE(mx28_dram_vals); i++)
- writel(mx28_dram_vals[i], IMX_SDRAMC_BASE + (4 * i));
+ for (i = 0; i < 190; i++)
+ writel(dram_vals[i], IMX_SDRAMC_BASE + (4 * i));
}
static void mx23_initialize_dram_values(void)
@@ -320,7 +320,7 @@ void mx23_mem_init(void)
#define PINCTRL_EMI_DS_CTRL_DDR_MODE_DDR2 (0x3 << 16)
-void mx28_mem_init(void)
+void mx28_mem_init(const uint32_t dram_vals[190])
{
mxs_early_delay(11000);
@@ -338,7 +338,7 @@ void mx28_mem_init(void)
/* Clear START bit from DRAM_CTL16 */
clrbits_le32(IMX_SDRAMC_BASE + 0x40, 1);
- mx28_initialize_dram_values();
+ mx28_initialize_dram_values(dram_vals);
/* Clear SREFRESH bit from DRAM_CTL17 */
clrbits_le32(IMX_SDRAMC_BASE + 0x44, 1);