From 9ef1cbef1a649e3779298b0e663be4865cbbbfbc Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@denx.de>
Date: Tue, 27 May 2008 14:19:30 +0200
Subject: [PATCH] Socrates: Fix PCI bus frequency report

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
---
 board/socrates/socrates.c  | 13 +++++++++++--
 include/configs/socrates.h |  3 ++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index cb5899485a..15c647884b 100644
--- a/board/socrates/socrates.c
+++ b/board/socrates/socrates.c
@@ -45,6 +45,9 @@ ulong flash_get_size (ulong base, int banknum);
 
 int checkboard (void)
 {
+	volatile ccsr_gur_t *gur = (void *)(CFG_MPC85xx_GUTS_ADDR);
+	char *src;
+	int f;
 	char *s = getenv("serial#");
 
 	puts("Board: Socrates");
@@ -55,8 +58,14 @@ int checkboard (void)
 	putc('\n');
 
 #ifdef CONFIG_PCI
-	printf ("PCI1:  32 bit, %d MHz (compiled)\n",
-		CONFIG_SYS_CLK_FREQ / 1000000);
+	if (gur->porpllsr & (1<<15)) {
+		src = "SYSCLK";
+		f = CONFIG_SYS_CLK_FREQ;
+	} else {
+		src = "PCI_CLK";
+		f = CONFIG_PCI_CLK_FREQ;
+	}
+	printf ("PCI1:  32 bit, %d MHz (%s)\n",	f/1000000, src);
 #else
 	printf ("PCI1:  disabled\n");
 #endif
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index 23ed87f338..6dc9effde4 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -227,7 +227,8 @@
  */
 #define CFG_PCI_PHYS		0x80000000	/* 1G PCI TLB */
 
-
+/* PCI is clocked by the external source at 33 MHz */
+#define CONFIG_PCI_CLK_FREQ	33000000
 #define CFG_PCI1_MEM_BASE	0x80000000
 #define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE
 #define CFG_PCI1_MEM_SIZE	0x20000000	/* 512M			*/
-- 
2.39.5