30aacebed0
This patch adds workaround for PPC 440GX erratum 440_43. According to this erratum spurious MachineChecks (caused by L1 cache parity) can happen during DataTLB miss processing. We disable L1 cache parity checking for 440GX rev.C and rev.F Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/*
|
|
* PPC440GX system library
|
|
*
|
|
* Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
|
|
* Copyright (c) 2003, 2004 Zultys Technologies
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
* option) any later version.
|
|
*
|
|
*/
|
|
#ifdef __KERNEL__
|
|
#ifndef __PPC_SYSLIB_IBM440GX_COMMON_H
|
|
#define __PPC_SYSLIB_IBM440GX_COMMON_H
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/config.h>
|
|
#include <linux/init.h>
|
|
#include <linux/seq_file.h>
|
|
#include <syslib/ibm44x_common.h>
|
|
|
|
/*
|
|
* Please, refer to the Figure 14.1 in 440GX user manual
|
|
*
|
|
* if internal UART clock is used, ser_clk is ignored
|
|
*/
|
|
void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk,
|
|
unsigned int ser_clk) __init;
|
|
|
|
/* common 440GX platform init */
|
|
void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
|
|
unsigned long r6, unsigned long r7) __init;
|
|
|
|
/* Enable L2 cache */
|
|
void ibm440gx_l2c_enable(void) __init;
|
|
|
|
/* Disable L2 cache */
|
|
void ibm440gx_l2c_disable(void) __init;
|
|
|
|
/* Enable/disable L2 cache for a particular chip revision */
|
|
void ibm440gx_l2c_setup(struct ibm44x_clocks*) __init;
|
|
|
|
/* Get Ethernet Group */
|
|
int ibm440gx_get_eth_grp(void) __init;
|
|
|
|
/* Set Ethernet Group */
|
|
void ibm440gx_set_eth_grp(int group) __init;
|
|
|
|
/* Enable TAH devices */
|
|
void ibm440gx_tah_enable(void) __init;
|
|
|
|
/* Add L2C info to /proc/cpuinfo */
|
|
int ibm440gx_show_cpuinfo(struct seq_file*);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
#endif /* __PPC_SYSLIB_IBM440GX_COMMON_H */
|
|
#endif /* __KERNEL__ */
|