From a6cccaea5a4743f4e4fb93a3ae9537e7357c783b Mon Sep 17 00:00:00 2001
From: wdenk <wdenk>
Date: Fri, 6 Feb 2004 21:48:22 +0000
Subject: [PATCH] * Patch by Wolter Kamphuis, 15 Dec 2003:   made
 CONFIG_SILENT_CONSOLE usable on all architectures

* Disable date command on TQM866M - there is no RTC on MPC866
---
 CHANGELOG                 |  5 +++++
 common/cmd_pcmcia.c       | 14 ++++++++++++++
 common/console.c          | 10 ++++++++++
 cpu/mpc8xx/plprcr_write.S | 12 +-----------
 doc/README.silent         |  2 --
 include/configs/TQM866M.h | 14 ++++----------
 lib_arm/board.c           | 18 ------------------
 7 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 6a14d025fa..b3d00fe5a8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,11 @@
 Changes since U-Boot 1.0.1:
 ======================================================================
 
+* Patch by Wolter Kamphuis, 15 Dec 2003:
+  made CONFIG_SILENT_CONSOLE usable on all architectures
+
+* Disable date command on TQM866M - there is no RTC on MPC866
+
 * Fix variable CPU clock for MPC859/866 systems for low CPU clocks
 
 * Implement adaptive SDRAM timing configuration based on actual CPU
diff --git a/common/cmd_pcmcia.c b/common/cmd_pcmcia.c
index 8c17859daa..53d22271bb 100644
--- a/common/cmd_pcmcia.c
+++ b/common/cmd_pcmcia.c
@@ -160,6 +160,9 @@ int pcmcia_on (void)
 }
 #else
 
+#ifdef CONFIG_BMS2003
+# define  BMS2003_FRAM_TIMING	(PCMCIA_SHT(2) | PCMCIA_SST(2) | PCMCIA_SL(4))
+#endif
 #if defined(CONFIG_LWMON) || defined(CONFIG_NSCU)
 # define  CFG_PCMCIA_TIMING	(PCMCIA_SHT(9) | PCMCIA_SST(3) | PCMCIA_SL(12))
 #else
@@ -197,6 +200,17 @@ int pcmcia_on (void)
 		switch (i) {
 #ifdef CONFIG_IDE_8xx_PCCARD
 		case 4:
+#ifdef CONFIG_BMS2003
+		    {	/* map FRAM area */
+			win->or = (	PCMCIA_BSIZE_256K
+				|	PCMCIA_PPS_8
+				|	PCMCIA_PRS_ATTR
+				|	slotbit
+				|	PCMCIA_PV
+				|	BMS2003_FRAM_TIMING );
+			break;
+		    }
+#endif
 		case 0:	{	/* map attribute memory */
 			win->or = (	PCMCIA_BSIZE_64M
 				|	PCMCIA_PPS_8
diff --git a/common/console.c b/common/console.c
index 629f60b7fe..1e0ca8de15 100644
--- a/common/console.c
+++ b/common/console.c
@@ -191,6 +191,11 @@ void putc (const char c)
 {
 	DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_SILENT_CONSOLE
+	if (gd->flags & GD_FLG_SILENT)
+		return(0);
+#endif
+
 	if (gd->flags & GD_FLG_DEVINIT) {
 		/* Send to the standard output */
 		fputc (stdout, c);
@@ -204,6 +209,11 @@ void puts (const char *s)
 {
 	DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_SILENT_CONSOLE
+	if (gd->flags & GD_FLG_SILENT)
+		return;
+#endif
+
 	if (gd->flags & GD_FLG_DEVINIT) {
 		/* Send to the standard output */
 		fputs (stdout, s);
diff --git a/cpu/mpc8xx/plprcr_write.S b/cpu/mpc8xx/plprcr_write.S
index 7d39a0edf6..e325671142 100644
--- a/cpu/mpc8xx/plprcr_write.S
+++ b/cpu/mpc8xx/plprcr_write.S
@@ -122,23 +122,13 @@ plprcr_wait:
 
 plprcr_wait_end:
 
-	/* turn instruction cache off
+	/* unlock instruction cache but leave it enabled
 	 */
 	lis	r4, CACHE_CMD_UNLOCK_ALL@h
 	ori	r4, r4, CACHE_CMD_UNLOCK_ALL@l
 	mtspr	IC_CST, r4
 	isync
 
-	lis	r4, CACHE_CMD_INVALIDATE@h
-	ori	r4, r4, CACHE_CMD_INVALIDATE@l
-	mtspr	IC_CST, r4
-	isync
-
-	lis	r4, CACHE_CMD_DISABLE@h
-	ori	r4, r4, CACHE_CMD_DISABLE@l
-	mtspr	IC_CST, r4
-	isync
-
 	mtspr	LR, r10		/* restore original Link Register value */
 	blr
 
diff --git a/doc/README.silent b/doc/README.silent
index f2628a6bf8..6772532518 100644
--- a/doc/README.silent
+++ b/doc/README.silent
@@ -9,8 +9,6 @@ The following actions are taken if "silent" is set at boot time:
 
  - Until the console devices have been initialized, output has to be
    suppressed by testing for the flag "GD_FLG_SILENT" in "gd->flags".
-   Currently only the messages for the TRAB board are handled in this
-   way.
 
  - When the console devices have been initialized, "stdout" and
    "stderr" are set to "nulldev", so subsequent messages are
diff --git a/include/configs/TQM866M.h b/include/configs/TQM866M.h
index f0181db11b..713cc40759 100644
--- a/include/configs/TQM866M.h
+++ b/include/configs/TQM866M.h
@@ -130,15 +130,16 @@
 #define CONFIG_MAC_PARTITION
 #define CONFIG_DOS_PARTITION
 
-#define CONFIG_RTC_MPC8xx		/* use internal RTC of MPC8xx	*/
+#undef CONFIG_RTC_MPC8xx		/* MPC866 does not support RTC	*/
+
+#define	CONFIG_TIMESTAMP		/* but print image timestmps	*/
 
 #define CONFIG_COMMANDS	      ( CONFIG_CMD_DFL	| \
 				CFG_CMD_ASKENV	| \
 				CFG_CMD_DHCP	| \
 				CFG_CMD_EEPROM	| \
 				CFG_CMD_IDE	| \
-				CFG_CMD_I2C	| \
-				CFG_CMD_DATE	)
+				CFG_CMD_I2C	)
 
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <cmd_confdefs.h>
@@ -275,12 +276,6 @@
  */
 #define CFG_TBSCR	(TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
 
-/*-----------------------------------------------------------------------
- * RTCSC - Real-Time Clock Status and Control Register		11-27
- *-----------------------------------------------------------------------
- */
-#define CFG_RTCSC	(RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
-
 /*-----------------------------------------------------------------------
  * PISCR - Periodic Interrupt Status and Control		11-31
  *-----------------------------------------------------------------------
@@ -403,7 +398,6 @@
 #endif	/* CONFIG_CAN_DRIVER */
 
 /*
- * 
  * 4096	Rows from SDRAM example configuration
  * 1000	factor s -> ms
  * 64	PTP (pre-divider from MPTPR) from SDRAM example configuration
diff --git a/lib_arm/board.c b/lib_arm/board.c
index 1591ba2b0c..08679d32f0 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -115,13 +115,6 @@ static int init_baudrate (void)
 
 static int display_banner (void)
 {
-#ifdef CONFIG_SILENT_CONSOLE
-	DECLARE_GLOBAL_DATA_PTR;
-
-	if (gd->flags & GD_FLG_SILENT)
-		return (0);
-#endif
-
 	printf ("\n\n%s\n\n", version_string);
 	printf ("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\n",
 		_armboot_start, _armboot_end_data, _armboot_end);
@@ -148,11 +141,6 @@ static int display_dram_config (void)
 	DECLARE_GLOBAL_DATA_PTR;
 	int i;
 
-#ifdef CONFIG_SILENT_CONSOLE
-	if (gd->flags & GD_FLG_SILENT)
-		return (0);
-#endif
-
 	puts ("RAM Configuration:\n");
 
 	for(i=0; i<CONFIG_NR_DRAM_BANKS; i++) {
@@ -165,12 +153,6 @@ static int display_dram_config (void)
 
 static void display_flash_config (ulong size)
 {
-#ifdef CONFIG_SILENT_CONSOLE
-	DECLARE_GLOBAL_DATA_PTR;
-
-	if (gd->flags & GD_FLG_SILENT)
-		return;
-#endif
 	puts ("Flash: ");
 	print_size (size, "\n");
 }
-- 
2.39.5