diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-12-20 23:39:33 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-12-23 14:14:48 -0500 |
commit | 190de005384204ba4dc339c3d05f8d40f6b16643 (patch) | |
tree | 83fff853bdde49ec29e0fb488d8bf9578bec627a /arch/powerpc/boot/4xx.h | |
parent | bc0b4e7ffb528282df5f8ba9c7c3f60135603e9e (diff) |
[POWERPC] 4xx: Rework clock probing in boot wrapper
This reworks the boot wrapper library function that probes
the chip clocks. Better separate the base function that is
used on 440GX,SPe,EP,... from the uart fixups as those need
different device-tree path on different processors.
Also, rework the function itself based on the arch/ppc code
from Eugene Surovegin which I find more readable, and which
handles one more bypass case. Also handle the subtle difference
between 440EP/EPx and 440SPe/GX, on the former, PerClk is derived
from the PLB clock while on the later, it's derived from the OPB.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/boot/4xx.h')
-rw-r--r-- | arch/powerpc/boot/4xx.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/powerpc/boot/4xx.h b/arch/powerpc/boot/4xx.h index 5296350ac3a0..fbe0632621ca 100644 --- a/arch/powerpc/boot/4xx.h +++ b/arch/powerpc/boot/4xx.h | |||
@@ -18,7 +18,14 @@ void ibm44x_dbcr_reset(void); | |||
18 | void ibm40x_dbcr_reset(void); | 18 | void ibm40x_dbcr_reset(void); |
19 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); | 19 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); |
20 | void ibm4xx_fixup_ebc_ranges(const char *ebc); | 20 | void ibm4xx_fixup_ebc_ranges(const char *ebc); |
21 | void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); | 21 | |
22 | void ibm405gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); | 22 | void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk); |
23 | void ibm440gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk); | ||
24 | void ibm440ep_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk, | ||
25 | unsigned int tmr_clk); | ||
26 | void ibm440gx_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk, | ||
27 | unsigned int tmr_clk); | ||
28 | void ibm440spe_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk, | ||
29 | unsigned int tmr_clk); | ||
23 | 30 | ||
24 | #endif /* _POWERPC_BOOT_4XX_H_ */ | 31 | #endif /* _POWERPC_BOOT_4XX_H_ */ |