]>
git.ipfire.org Git - people/ms/u-boot.git/blob - arch/powerpc/cpu/mpc5xxx/speed.c
2 * (C) Copyright 2000-2002
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 * SPDX-License-Identifier: GPL-2.0+
10 #include <asm/processor.h>
12 DECLARE_GLOBAL_DATA_PTR
;
14 /* ------------------------------------------------------------------------- */
16 /* Bus-to-Core Multipliers */
18 static int bus2core
[] = {
19 3, 2, 2, 2, 4, 4, 5, 9,
20 6, 11, 8, 10, 3, 12, 7, 0,
21 6, 5, 13, 2, 14, 4, 15, 9,
22 0, 11, 8, 10, 16, 12, 7, 0
24 /* ------------------------------------------------------------------------- */
34 #if !defined(CONFIG_SYS_MPC5XXX_CLKIN)
35 #error clock measuring not implemented yet - define CONFIG_SYS_MPC5XXX_CLKIN
38 val
= *(vu_long
*)MPC5XXX_CDM_PORCFG
;
40 vco
= CONFIG_SYS_MPC5XXX_CLKIN
* 12;
42 vco
= CONFIG_SYS_MPC5XXX_CLKIN
* 16;
45 gd
->bus_clk
= vco
/ 8;
47 gd
->bus_clk
= vco
/ 4;
49 gd
->cpu_clk
= gd
->bus_clk
* bus2core
[val
& 0x1f] / 2;
51 val
= *(vu_long
*)MPC5XXX_CDM_CFG
;
53 gd
->arch
.ipb_clk
= gd
->bus_clk
/ 2;
55 gd
->arch
.ipb_clk
= gd
->bus_clk
;
59 gd
->pci_clk
= gd
->arch
.ipb_clk
;
62 gd
->pci_clk
= gd
->arch
.ipb_clk
/ 2;
65 gd
->pci_clk
= gd
->bus_clk
/ 4;
72 int prt_mpc5xxx_clks (void)
74 char buf1
[32], buf2
[32], buf3
[32];
76 printf (" Bus %s MHz, IPB %s MHz, PCI %s MHz\n",
77 strmhz(buf1
, gd
->bus_clk
),
78 strmhz(buf2
, gd
->arch
.ipb_clk
),
79 strmhz(buf3
, gd
->pci_clk
)
84 /* ------------------------------------------------------------------------- */