瀏覽代碼

SMC1 uses external CLK4 instead of BRG on spc1920

Markus Klotzbuecher 18 年之前
父節點
當前提交
8139567b60
共有 2 個文件被更改,包括 12 次插入3 次删除
  1. 11 2
      cpu/mpc8xx/serial.c
  2. 1 1
      include/configs/spc1920.h

+ 11 - 2
cpu/mpc8xx/serial.c

@@ -227,8 +227,17 @@ static int smc_init (void)
 	sp->smc_smcm = 0;
 	sp->smc_smce = 0xff;
 
-#ifdef CFG_SPC1920_SMC1_CLK4 /* clock source is PLD */
-	*((volatile uchar *) CFG_SPC1920_PLD_BASE+6) = 0xff;
+#ifdef CFG_SPC1920_SMC1_CLK4
+	/* clock source is PLD */
+	
+	/* set freq to 19200 Baud */
+	*((volatile uchar *) CFG_SPC1920_PLD_BASE+6) = 0x3;
+	/* configure clk4 as input */
+	im->im_ioport.iop_pdpar |= 0x800;
+	im->im_ioport.iop_pddir &= ~0x800;
+	
+	cp->cp_simode = 0x0000;
+        cp->cp_simode |= 0x7000;
 #else
 	/* Set up the baud rate generator */
 	smc_setbrg ();

+ 1 - 1
include/configs/spc1920.h

@@ -44,7 +44,7 @@
 #define CONFIG_BAUDRATE		19200
 
 /* use PLD CLK4 instead of brg */
-#undef CFG_SPC1920_SMC1_CLK4
+#define CFG_SPC1920_SMC1_CLK4
 
 #define CONFIG_8xx_OSCLK		10000000 /* 10 MHz oscillator on EXTCLK  */
 #define CONFIG_8xx_CPUCLK_DEFAULT	50000000