1/*  *********************************************************************
2    *  Broadcom Common Firmware Environment (CFE)
3    *
4    *  CPU Configuration file			File: cpu_config.h
5    *
6    *  This file contains the names of the routines to be used
7    *  in the dispatch table in init_ppc.S
8    *
9    *  It lives here in the CPU directory so we can direct
10    *  the init calls to routines named in this directory.
11    *
12    *  Author:  Mitch Lichtenberg
13    *
14    *********************************************************************
15    *
16    *  Copyright 2000,2001,2002,2003
17    *  Broadcom Corporation. All rights reserved.
18    *
19    *  This software is furnished under license and may be used and
20    *  copied only in accordance with the following terms and
21    *  conditions.  Subject to these conditions, you may download,
22    *  copy, install, use, modify and distribute modified or unmodified
23    *  copies of this software in source and/or binary form.  No title
24    *  or ownership is transferred hereby.
25    *
26    *  1) Any source code used, modified or distributed must reproduce
27    *     and retain this copyright notice and list of conditions
28    *     as they appear in the source file.
29    *
30    *  2) No right is granted to use any trade name, trademark, or
31    *     logo of Broadcom Corporation.  The "Broadcom Corporation"
32    *     name may not be used to endorse or promote products derived
33    *     from this software without the prior written permission of
34    *     Broadcom Corporation.
35    *
36    *  3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
37    *     IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
38    *     WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
39    *     PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
40    *     SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
41    *     PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
42    *     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
43    *     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
44    *     GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
45    *     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
46    *     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
47    *     TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
48    *     THE POSSIBILITY OF SUCH DAMAGE.
49    ********************************************************************* */
50
51/*
52 */
53
54#define CPUCFG_CPUINIT		mpc8245_cpuinit
55#define CPUCFG_CPURESTART	mpc8245_cpurestart
56#define CPUCFG_DRAMINIT		board_dram_init
57#define CPUCFG_CACHEOPS		mpc8245_cacheops
58#define CPUCFG_ARENAINIT	ppc_arena_init
59#define CPUCFG_PAGETBLINIT	mpc8245_pagetable_init
60#define CPUCFG_CPUSPEED		mpc8245_cpu_speed
61
62/*
63 * TBL increments once per 4 sys_logic_clk ticks, which is only
64 * partially related to the core clock.  Typical core-to-syslogic
65 * values are 2.0, so for now wire this at 4*2=8.
66 *
67 * We can get fancy someday if CFE really requires it, but
68 * only a ballpark is necessary for most stuff.
69 */
70#define CPUCFG_CYCLESPERCPUTICK	8
71
72#define CPUCFG_CACHELINESIZE	32
73
74
75/*
76 * Hazard macro
77 */
78
79#define HAZARD isync
80
81/*
82 * Let others know we can do coherent DMA
83 */
84
85#define CPUCFG_COHERENT_DMA	1
86
87#define CPUCFG_REGS32		1
88#define CPUCFG_REGS64		0
89
90#define CPUCFG_ARCHNAME		"PPC"
91#define CPUCFG_ELFTYPE		EM_PPC
92
93#define CPUCFG_MPC8245		1
94