summaryrefslogtreecommitdiff
path: root/board/logicpd
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2010-03-05 07:36:33 +0100
committertrix <trix@windriver.com>2010-04-17 20:52:43 -0500
commite470955b64116c30dd0fe9893d6d813b929618d7 (patch)
treeb06ee8eb8cc2966c11c7c02689b0578733b4316d /board/logicpd
parent9f6f58209e0a66b2f1a28c8655c38d8a55842a10 (diff)
downloadu-boot-imx-e470955b64116c30dd0fe9893d6d813b929618d7.zip
u-boot-imx-e470955b64116c30dd0fe9893d6d813b929618d7.tar.gz
u-boot-imx-e470955b64116c30dd0fe9893d6d813b929618d7.tar.bz2
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')
-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 63375d5..4427415 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;
}