blob: a03ec6022e8f3ddfdcfa1e2bde18f22cf5462d07 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07002 * PPC440GX system library
3 *
4 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
5 * Copyright (c) 2003, 2004 Zultys Technologies
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 *
12 */
13#ifdef __KERNEL__
14#ifndef __PPC_SYSLIB_IBM440GX_COMMON_H
15#define __PPC_SYSLIB_IBM440GX_COMMON_H
16
17#ifndef __ASSEMBLY__
18
19#include <linux/config.h>
20#include <linux/init.h>
21#include <linux/seq_file.h>
22#include <syslib/ibm44x_common.h>
23
24/*
25 * Please, refer to the Figure 14.1 in 440GX user manual
26 *
27 * if internal UART clock is used, ser_clk is ignored
28 */
29void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk,
30 unsigned int ser_clk) __init;
31
Eugene Surovegin30aaceb2006-04-25 01:22:44 -070032/* common 440GX platform init */
33void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
34 unsigned long r6, unsigned long r7) __init;
35
Linus Torvalds1da177e2005-04-16 15:20:36 -070036/* Enable L2 cache */
37void ibm440gx_l2c_enable(void) __init;
38
39/* Disable L2 cache */
40void ibm440gx_l2c_disable(void) __init;
41
42/* Enable/disable L2 cache for a particular chip revision */
43void ibm440gx_l2c_setup(struct ibm44x_clocks*) __init;
44
45/* Get Ethernet Group */
46int ibm440gx_get_eth_grp(void) __init;
47
48/* Set Ethernet Group */
49void ibm440gx_set_eth_grp(int group) __init;
50
51/* Enable TAH devices */
52void ibm440gx_tah_enable(void) __init;
53
54/* Add L2C info to /proc/cpuinfo */
55int ibm440gx_show_cpuinfo(struct seq_file*);
56
57#endif /* __ASSEMBLY__ */
58#endif /* __PPC_SYSLIB_IBM440GX_COMMON_H */
59#endif /* __KERNEL__ */