Browse Source

Setup extra MIMC200 chip selects

Added code to setup the extra Flash and FRAM chip selects as used on the
MIMC200 board.

V2 moves the init code from the common "cpu.c" file into the board specific
setup file.

Signed-off-by: Mark Jackson <mpfj@mimc.co.uk>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Mark Jackson 16 năm trước cách đây
mục cha
commit
58a518c3d8
1 tập tin đã thay đổi với 14 bổ sung0 xóa
  1. 14 0
      board/mimc/mimc200/mimc200.c

+ 14 - 0
board/mimc/mimc200/mimc200.c

@@ -30,6 +30,8 @@
 #include <asm/arch/portmux.h>
 #include <asm/arch/portmux.h>
 #include <lcd.h>
 #include <lcd.h>
 
 
+#include "../../../cpu/at32ap/hsmc3.h"
+
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
 static const struct sdram_config sdram_config = {
 static const struct sdram_config sdram_config = {
@@ -86,6 +88,18 @@ int board_early_init_f(void)
 	/* release phys reset */
 	/* release phys reset */
 	gpio_set_value(GPIO_PIN_PC(18), 0);	/* PHY RESET (Release)	*/
 	gpio_set_value(GPIO_PIN_PC(18), 0);	/* PHY RESET (Release)	*/
 
 
+	/* setup Data Flash chip select (NCS2) */
+	hsmc3_writel(MODE2, 0x20121003);
+	hsmc3_writel(CYCLE2, 0x000a0009);
+	hsmc3_writel(PULSE2, 0x0a060806);
+	hsmc3_writel(SETUP2, 0x00030102);
+
+	/* setup FRAM chip select (NCS3) */
+	hsmc3_writel(MODE3, 0x10120001);
+	hsmc3_writel(CYCLE3, 0x001e001d);
+	hsmc3_writel(PULSE3, 0x08040704);
+	hsmc3_writel(SETUP3, 0x02050204);
+
 #if defined(CONFIG_MACB)
 #if defined(CONFIG_MACB)
 	/* init macb0 pins */
 	/* init macb0 pins */
 	portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);
 	portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);