mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-07 11:46:17 +09:00
Introduce PLL_CFG[0:4] table for processor 7448/7447A/7455/7457. The original
multiplier table can not refect the real PLL clock behavior of these processors. Please refer to the hardware specification for detailed information of the corresponding processors. Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
This commit is contained in:
parent
4efe20c957
commit
4dbcd69e3e
|
@ -52,7 +52,8 @@ static const int hid1_multipliers_x_10[] = {
|
||||||
0 /* 1111 - off */
|
0 /* 1111 - off */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const int hid1_7447A_multipliers_x_10[] = {
|
/* PLL_CFG[0:4] table for cpu 7448/7447A/7455/7457 */
|
||||||
|
static const int hid1_74xx_multipliers_x_10[] = {
|
||||||
115, /* 00000 - 11.5x */
|
115, /* 00000 - 11.5x */
|
||||||
170, /* 00001 - 17x */
|
170, /* 00001 - 17x */
|
||||||
75, /* 00010 - 7.5x */
|
75, /* 00010 - 7.5x */
|
||||||
|
@ -66,7 +67,7 @@ static const int hid1_7447A_multipliers_x_10[] = {
|
||||||
65, /* 01010 - 6.5x */
|
65, /* 01010 - 6.5x */
|
||||||
130, /* 01011 - 13x */
|
130, /* 01011 - 13x */
|
||||||
85, /* 01100 - 8.5x */
|
85, /* 01100 - 8.5x */
|
||||||
240, /* 01101 - 13x */
|
240, /* 01101 - 24x */
|
||||||
95, /* 01110 - 9.5x */
|
95, /* 01110 - 9.5x */
|
||||||
90, /* 01111 - 9x */
|
90, /* 01111 - 9x */
|
||||||
30, /* 10000 - 3x */
|
30, /* 10000 - 3x */
|
||||||
|
@ -126,29 +127,24 @@ int get_clocks (void)
|
||||||
{
|
{
|
||||||
ulong clock = 0;
|
ulong clock = 0;
|
||||||
|
|
||||||
#ifdef CFG_CONFIG_BUS_CLK
|
#ifdef CFG_BUS_CLK
|
||||||
gd->bus_clk = get_board_bus_clk (); /* bus clock is configurable */
|
|
||||||
#else
|
|
||||||
gd->bus_clk = CFG_BUS_CLK; /* bus clock is a fixed frequency */
|
gd->bus_clk = CFG_BUS_CLK; /* bus clock is a fixed frequency */
|
||||||
|
#else
|
||||||
|
gd->bus_clk = get_board_bus_clk (); /* bus clock is configurable */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* calculate the clock frequency based upon the CPU type */
|
/* calculate the clock frequency based upon the CPU type */
|
||||||
switch (get_cpu_type()) {
|
switch (get_cpu_type()) {
|
||||||
case CPU_7447A:
|
case CPU_7447A:
|
||||||
case CPU_7448:
|
case CPU_7448:
|
||||||
clock = (gd->bus_clk / 10) *
|
|
||||||
hid1_7447A_multipliers_x_10[(get_hid1 () >> 12) & 0x1F];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CPU_7455:
|
case CPU_7455:
|
||||||
case CPU_7457:
|
case CPU_7457:
|
||||||
/*
|
/*
|
||||||
* It is assumed that the PLL_EXT line is zero.
|
|
||||||
* Make sure division is done before multiplication to prevent 32-bit
|
* Make sure division is done before multiplication to prevent 32-bit
|
||||||
* arithmetic overflows which will cause a negative number
|
* arithmetic overflows which will cause a negative number
|
||||||
*/
|
*/
|
||||||
clock = (gd->bus_clk / 10) *
|
clock = (gd->bus_clk / 10) *
|
||||||
hid1_multipliers_x_10[(get_hid1 () >> 13) & 0xF];
|
hid1_74xx_multipliers_x_10[(get_hid1 () >> 12) & 0x1F];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CPU_750GX:
|
case CPU_750GX:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user