summaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-04-27 22:52:51 +0000
committerwdenk <wdenk>2003-04-27 22:52:51 +0000
commit4532cb696eb717419022dbaa8d408e7df7df7b68 (patch)
tree2b791870499676f1c93b1e8bcc94ace26787ad8e /cpu
parent02c9bed451b36f3b1f11d5fe617da4fe4b9f9ab7 (diff)
downloadu-boot-imx-4532cb696eb717419022dbaa8d408e7df7df7b68.zip
u-boot-imx-4532cb696eb717419022dbaa8d408e7df7df7b68.tar.gz
u-boot-imx-4532cb696eb717419022dbaa8d408e7df7df7b68.tar.bz2
* LWMON extensions:
- Splashscreen support - modem support - sysmon support - temperature dependend enabling of LCD * Allow booting from old "PPCBoot" disk partitions * Add support for TQM8255 Board / MPC8255 CPU
Diffstat (limited to 'cpu')
-rw-r--r--cpu/mpc8260/cpu.c11
-rw-r--r--cpu/mpc8260/cpu_init.c2
-rw-r--r--cpu/mpc8260/speed.c2
-rw-r--r--cpu/mpc8xx/lcd.c7
-rw-r--r--cpu/mpc8xx/serial.c21
5 files changed, 37 insertions, 6 deletions
diff --git a/cpu/mpc8260/cpu.c b/cpu/mpc8260/cpu.c
index 73881ee..b8ba48c 100644
--- a/cpu/mpc8260/cpu.c
+++ b/cpu/mpc8260/cpu.c
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2000
+ * (C) Copyright 2000-2003
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
@@ -22,12 +22,12 @@
*/
/*
- * CPU specific code for the MPC8260
+ * CPU specific code for the MPC8255 / MPC8260 CPUs
*
* written or collected and sometimes rewritten by
* Magnus Damm <damm@bitsmart.com>
*
- * minor modifications by
+ * modified by
* Wolfgang Denk <wd@denx.de>
*
* modified for 8260 by
@@ -64,7 +64,7 @@ int checkcpu (void)
if ((immr & IMMR_ISB_MSK) != CFG_IMMR)
return -1; /* whoops! someone moved the IMMR */
- printf ("MPC8260 (Rev %02x, Mask ", rev);
+ printf (CPU_ID_STR " (Rev %02x, Mask ", rev);
/*
* the bottom 16 bits of the immr are the Part Number and Mask Number
@@ -101,6 +101,9 @@ int checkcpu (void)
case 0x0060:
printf ("A.0(A) 2K25A");
break;
+ case 0x0062:
+ printf ("B.1 4K25A");
+ break;
default:
printf ("unknown [immr=0x%04x,k=0x%04x]", m, k);
break;
diff --git a/cpu/mpc8260/cpu_init.c b/cpu/mpc8260/cpu_init.c
index 9f9369a..46ac975 100644
--- a/cpu/mpc8260/cpu_init.c
+++ b/cpu/mpc8260/cpu_init.c
@@ -250,7 +250,7 @@ int prt_8260_rsr (void)
int i;
char *sep;
- puts ("MPC8260 Reset Status:");
+ puts (CPU_ID_STR " Reset Status:");
sep = " ";
for (i = 0; i < n; i++)
diff --git a/cpu/mpc8260/speed.c b/cpu/mpc8260/speed.c
index 2bf2c4a..1f53c4f 100644
--- a/cpu/mpc8260/speed.c
+++ b/cpu/mpc8260/speed.c
@@ -171,7 +171,7 @@ int prt_8260_clks (void)
cp = &corecnf_tab[corecnf];
- printf ("MPC8260 Clock Configuration\n - Bus-to-Core Mult ");
+ printf (CPU_ID_STR " Clock Configuration\n - Bus-to-Core Mult ");
switch (cp->b2c_mult) {
case _byp:
diff --git a/cpu/mpc8xx/lcd.c b/cpu/mpc8xx/lcd.c
index 9e92676..3d3b039 100644
--- a/cpu/mpc8xx/lcd.c
+++ b/cpu/mpc8xx/lcd.c
@@ -32,6 +32,9 @@
#include <lcdvideo.h>
#include <linux/types.h>
#include <devices.h>
+#if defined(CONFIG_POST)
+#include <post.h>
+#endif
#ifdef CONFIG_LCD
@@ -982,7 +985,11 @@ static void lcd_enable (void)
#if defined(CONFIG_LWMON)
{ uchar c = pic_read (0x60);
+#if defined(CONFIG_LCD) && defined(CONFIG_LWMON) && (CONFIG_POST & CFG_POST_SYSMON)
+ c |= 0x04; /* Chip Enable LCD */
+#else
c |= 0x07; /* Power on CCFL, Enable CCFL, Chip Enable LCD */
+#endif
pic_write (0x60, c);
}
#endif /* CONFIG_LWMON */
diff --git a/cpu/mpc8xx/serial.c b/cpu/mpc8xx/serial.c
index 2871084..4e5b408 100644
--- a/cpu/mpc8xx/serial.c
+++ b/cpu/mpc8xx/serial.c
@@ -246,6 +246,20 @@ serial_setbrg (void)
(((gd->cpu_clk / 16 / gd->baudrate)-1) << 1) | CPM_BRG_EN;
}
+#ifdef CONFIG_MODEM_SUPPORT
+void disable_putc(void)
+{
+ DECLARE_GLOBAL_DATA_PTR;
+ gd->be_quiet = 1;
+}
+
+void enable_putc(void)
+{
+ DECLARE_GLOBAL_DATA_PTR;
+ gd->be_quiet = 0;
+}
+#endif
+
void
serial_putc(const char c)
{
@@ -255,6 +269,13 @@ serial_putc(const char c)
volatile immap_t *im = (immap_t *)CFG_IMMR;
volatile cpm8xx_t *cpmp = &(im->im_cpm);
+#ifdef CONFIG_MODEM_SUPPORT
+ DECLARE_GLOBAL_DATA_PTR;
+
+ if (gd->be_quiet)
+ return;
+#endif
+
if (c == '\n')
serial_putc ('\r');