summaryrefslogtreecommitdiff
path: root/board/logicpd/imx27lite
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2010-03-05 07:36:33 +0100
committertrix <trix@windriver.com>2010-04-30 05:23:23 -0500
commitbbe310922f4d0b12c8aba97b45ed979db9c0ec9a (patch)
treebdd6695288c3782fffa3c9a92d08930f247bb08d /board/logicpd/imx27lite
parent1e65c2beb5805f975cd5d0ab7d853040a716d51b (diff)
arm, i.mx27: add support for magnesium board from projectiondesign
This patch adds support for the magnesium board from projectiondesign. This board uses i.MX27 SoC and has 8MB NOR flash, 128MB NAND flash, FEC ethernet controller integrated into i.MX27. As this port is based on the imx27lite port, common config options are collected in include/configs/imx27lite-common.h Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'board/logicpd/imx27lite')
-rw-r--r--board/logicpd/imx27lite/imx27lite.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/board/logicpd/imx27lite/imx27lite.c b/board/logicpd/imx27lite/imx27lite.c
index 63375d5da0..442741547b 100644
--- a/board/logicpd/imx27lite/imx27lite.c
+++ b/board/logicpd/imx27lite/imx27lite.c
@@ -29,6 +29,10 @@ DECLARE_GLOBAL_DATA_PTR;
int board_init (void)
{
struct gpio_regs *regs = (struct gpio_regs *)IMX_GPIO_BASE;
+#if defined(CONFIG_SYS_NAND_LARGEPAGE)
+ struct system_control_regs *sc_regs =
+ (struct system_control_regs *)IMX_SYSTEM_CTL_BASE;
+#endif
gd->bd->bi_arch_number = MACH_TYPE_IMX27LITE;
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
@@ -43,9 +47,20 @@ int board_init (void)
&regs->port[PORTC].dr);
#endif
#ifdef CONFIG_MXC_MMC
+#if defined(CONFIG_MAGNESIUM)
+ mx27_sd1_init_pins();
+#else
mx27_sd2_init_pins();
#endif
+#endif
+#if defined(CONFIG_SYS_NAND_LARGEPAGE)
+ /*
+ * set in FMCR NF_FMS Bit(5) to 1
+ * (NAND Flash with 2 Kbyte page size)
+ */
+ writel(readl(&sc_regs->fmcr) | (1 << 5), &sc_regs->fmcr);
+#endif
return 0;
}
@@ -68,6 +83,7 @@ int dram_init (void)
int checkboard(void)
{
- printf("LogicPD imx27lite\n");
+ puts ("Board: ");
+ puts(CONFIG_BOARDNAME);
return 0;
}