summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-05-27 14:19:30 +0200
committerWolfgang Denk <wd@denx.de>2008-06-03 21:49:32 +0200
commit9ef1cbef1a649e3779298b0e663be4865cbbbfbc (patch)
tree23f89ba651f48bf88c653796cb64f2c58d2f0515
parent8ec6e332eace0ee78c71ee5f645d12b06813b86f (diff)
downloadu-boot-imx-9ef1cbef1a649e3779298b0e663be4865cbbbfbc.zip
u-boot-imx-9ef1cbef1a649e3779298b0e663be4865cbbbfbc.tar.gz
u-boot-imx-9ef1cbef1a649e3779298b0e663be4865cbbbfbc.tar.bz2
Socrates: Fix PCI bus frequency report
Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
-rw-r--r--board/socrates/socrates.c13
-rw-r--r--include/configs/socrates.h3
2 files changed, 13 insertions, 3 deletions
diff --git a/board/socrates/socrates.c b/board/socrates/socrates.c
index cb58994..15c6478 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 23ed87f..6dc9eff 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 */