|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
/*
|
|
|
|
|
* Copyright 2004 Freescale Semiconductor. |
|
|
|
|
* Jeff Brown (jeffrey@freescale.com) |
|
|
|
|
* Jeff Brown |
|
|
|
|
* Srikanth Srinivasan (srikanth.srinivasan@freescale.com) |
|
|
|
|
* |
|
|
|
|
* (C) Copyright 2000-2002 |
|
|
|
@ -29,9 +29,6 @@ |
|
|
|
|
#include <mpc86xx.h> |
|
|
|
|
#include <asm/processor.h> |
|
|
|
|
|
|
|
|
|
unsigned long get_board_sys_clk(ulong dummy); |
|
|
|
|
unsigned long get_sysclk_from_px_regs(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void get_sys_info (sys_info_t *sysInfo) |
|
|
|
|
{ |
|
|
|
@ -63,11 +60,6 @@ void get_sys_info (sys_info_t *sysInfo) |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
printf("assigned system bus freq = %d for plat ratio 0x%08lx\n", |
|
|
|
|
sysInfo->freqSystemBus, plat_ratio); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
e600_ratio = (gur->porpllsr) & 0x003f0000; |
|
|
|
|
e600_ratio >>= 16; |
|
|
|
|
|
|
|
|
@ -91,15 +83,9 @@ void get_sys_info (sys_info_t *sysInfo) |
|
|
|
|
sysInfo->freqProcessor = 9 * sysInfo->freqSystemBus/2; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
/* JB - Emulator workaround until real cop is plugged in */ |
|
|
|
|
/* sysInfo->freqProcessor = 3 * sysInfo->freqSystemBus; */ |
|
|
|
|
sysInfo->freqProcessor = e600_ratio + sysInfo->freqSystemBus; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
#if 0 |
|
|
|
|
printf("assigned processor freq = %d for e600 ratio 0x%08lx\n", |
|
|
|
|
sysInfo->freqProcessor, e600_ratio); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -128,6 +114,7 @@ int get_clocks(void) |
|
|
|
|
* get_bus_freq |
|
|
|
|
* Return system bus freq in Hz |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
ulong get_bus_freq(ulong dummy) |
|
|
|
|
{ |
|
|
|
|
ulong val; |
|
|
|
@ -139,42 +126,6 @@ ulong get_bus_freq(ulong dummy) |
|
|
|
|
return val; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
unsigned long get_sysclk_from_px_regs() |
|
|
|
|
{ |
|
|
|
|
ulong val; |
|
|
|
|
u8 vclkh, vclkl; |
|
|
|
|
|
|
|
|
|
vclkh = in8(PIXIS_BASE + PIXIS_VCLKH); |
|
|
|
|
vclkl = in8(PIXIS_BASE + PIXIS_VCLKL); |
|
|
|
|
|
|
|
|
|
if ((vclkh == 0x84) && (vclkl == 0x07)) { |
|
|
|
|
val = 33000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0x3F) && (vclkl == 0x20)) { |
|
|
|
|
val = 40000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0x3F) && (vclkl == 0x2A)) { |
|
|
|
|
val = 50000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0x24) && (vclkl == 0x04)) { |
|
|
|
|
val = 66000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0x3F) && (vclkl == 0x4B)) { |
|
|
|
|
val = 83000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0x3F) && (vclkl == 0x5C)) { |
|
|
|
|
val = 100000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0xDF) && (vclkl == 0x3B)) { |
|
|
|
|
val = 134000000; |
|
|
|
|
} |
|
|
|
|
if ((vclkh == 0xDF) && (vclkl == 0x4B)) { |
|
|
|
|
val = 166000000; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return val; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* get_board_sys_clk |
|
|
|
|