Răsfoiți Sursa

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 ani în urmă
părinte
comite
58a518c3d8
1 a modificat fișierele cu 14 adăugiri și 0 ștergeri
  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 <lcd.h>
 
+#include "../../../cpu/at32ap/hsmc3.h"
+
 DECLARE_GLOBAL_DATA_PTR;
 
 static const struct sdram_config sdram_config = {
@@ -86,6 +88,18 @@ int board_early_init_f(void)
 	/* release phys reset */
 	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)
 	/* init macb0 pins */
 	portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);