summaryrefslogtreecommitdiff
path: root/arch/ppc/boot/simple/misc-katana.c
blob: ec94a11bacac6d2320d9adbaaaf4d2ab874334d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * arch/ppc/boot/simple/misc-katana.c
 *
 * Set up MPSC values to bootwrapper can prompt user.
 *
 * Author: Mark A. Greer <source@mvista.com>
 *
 * 2004 (c) MontaVista Software, Inc. This file is licensed under
 * the terms of the GNU General Public License version 2. This program
 * is licensed "as is" without any warranty of any kind, whether express
 * or implied.
 */

#include <linux/config.h>
#include <linux/types.h>
#include <asm/io.h>
#include <asm/mv64x60_defs.h>
#include <platforms/katana.h>

extern u32 mv64x60_console_baud;
extern u32 mv64x60_mpsc_clk_src;
extern u32 mv64x60_mpsc_clk_freq;

/* Not in the kernel so won't include kernel.h to get its 'min' definition */
#ifndef min
#define	min(a,b)	(((a) < (b)) ? (a) : (b))
#endif

unsigned long mv64360_get_mem_size(void);

void
mv64x60_board_init(void __iomem *old_base, void __iomem *new_base)
{
	mv64x60_console_baud = KATANA_DEFAULT_BAUD;
	mv64x60_mpsc_clk_src = KATANA_MPSC_CLK_SRC;
	mv64x60_mpsc_clk_freq =
		min(katana_bus_freq((void __iomem *)KATANA_CPLD_BASE),
			MV64x60_TCLK_FREQ_MAX);
}

unsigned long
get_mem_size(void)
{
	return mv64360_get_mem_size();
}