1/* 2 * 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/init.h> 20#include <linux/seq_file.h> 21#include <syslib/ibm44x_common.h> 22 23/* 24 * Please, refer to the Figure 14.1 in 440GX user manual 25 * 26 * if internal UART clock is used, ser_clk is ignored 27 */ 28void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk, 29 unsigned int ser_clk) __init; 30 31/* common 440GX platform init */ 32void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 33 unsigned long r6, unsigned long r7) __init; 34 35/* Enable L2 cache */ 36void ibm440gx_l2c_enable(void) __init; 37 38/* Disable L2 cache */ 39void ibm440gx_l2c_disable(void) __init; 40 41/* Enable/disable L2 cache for a particular chip revision */ 42void ibm440gx_l2c_setup(struct ibm44x_clocks*) __init; 43 44/* Get Ethernet Group */ 45int ibm440gx_get_eth_grp(void) __init; 46 47/* Set Ethernet Group */ 48void ibm440gx_set_eth_grp(int group) __init; 49 50/* Enable TAH devices */ 51void ibm440gx_tah_enable(void) __init; 52 53/* Add L2C info to /proc/cpuinfo */ 54int ibm440gx_show_cpuinfo(struct seq_file*); 55 56#endif /* __ASSEMBLY__ */ 57#endif /* __PPC_SYSLIB_IBM440GX_COMMON_H */ 58#endif /* __KERNEL__ */ 59