summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Klotzbuecher <mk@creamnet.de>2007-01-09 14:57:11 +0100
committerMarkus Klotzbuecher <mk@pollux.denx.de>2007-01-09 14:57:11 +0100
commit8139567b60d678584b05f0718a681f2047c5e14f (patch)
tree5303d9b0cd6ad35857602388852399f344394645
parentd8d9de1a02fbd880b613d607143d1f57342affc7 (diff)
SMC1 uses external CLK4 instead of BRG on spc1920
-rw-r--r--cpu/mpc8xx/serial.c13
-rw-r--r--include/configs/spc1920.h2
2 files changed, 12 insertions, 3 deletions
diff --git a/cpu/mpc8xx/serial.c b/cpu/mpc8xx/serial.c
index 8ae584f2e..c8caa793d 100644
--- a/cpu/mpc8xx/serial.c
+++ b/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 ();
diff --git a/include/configs/spc1920.h b/include/configs/spc1920.h
index f8909b1d1..a836d8299 100644
--- a/include/configs/spc1920.h
+++ b/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