From 4532cb696eb717419022dbaa8d408e7df7df7b68 Mon Sep 17 00:00:00 2001 From: wdenk Date: Sun, 27 Apr 2003 22:52:51 +0000 Subject: * 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 --- cpu/mpc8260/cpu.c | 11 +++++++---- cpu/mpc8260/cpu_init.c | 2 +- cpu/mpc8260/speed.c | 2 +- cpu/mpc8xx/lcd.c | 7 +++++++ cpu/mpc8xx/serial.c | 21 +++++++++++++++++++++ 5 files changed, 37 insertions(+), 6 deletions(-) (limited to 'cpu') 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 * - * minor modifications by + * modified by * Wolfgang Denk * * 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 #include #include +#if defined(CONFIG_POST) +#include +#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'); -- cgit v1.1