ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / arch / ppc / syslib / ibm440gp_common.h
1 /*
2  * arch/ppc/syslib/ibm440gp_common.h
3  *
4  * PPC440GP system library
5  *
6  * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
7  * Copyright (c) 2003 Zultys Technologies
8  *
9  * This program is free software; you can redistribute  it and/or modify it
10  * under  the terms of  the GNU General  Public License as published by the
11  * Free Software Foundation;  either version 2 of the  License, or (at your
12  * option) any later version.
13  *
14  */
15 #ifdef __KERNEL__
16 #ifndef __PPC_SYSLIB_IBM440GP_COMMON_H
17 #define __PPC_SYSLIB_IBM440GP_COMMON_H
18
19 #ifndef __ASSEMBLY__
20
21 #include <linux/config.h>
22 #include <linux/init.h>
23
24 /*
25  * All clocks are in Hz
26  */
27 struct ibm440gp_clocks {
28         unsigned int cpu;       /* CPUCoreClk */
29         unsigned int plb;       /* PLBClk */
30         unsigned int opb;       /* OPBClk */
31         unsigned int ebc;       /* PerClk */
32         unsigned int uart;
33 };
34
35 /*
36  * Please, refer to the Figure 13.1 in 440GP user manual
37  *
38  * if internal UART clock is used, ser_clk is ignored
39  */
40 void ibm440gp_get_clocks(struct ibm440gp_clocks*, unsigned int sys_clk,
41         unsigned int ser_clk) __init;
42
43 #endif /* __ASSEMBLY__ */
44 #endif /* __PPC_SYSLIB_IBM440GP_COMMON_H */
45 #endif /* __KERNEL__ */