xref: /linux/arch/powerpc/boot/cuboot-sam440ep.c (revision a2cce7a9f1b8cc3d4edce106fb971529f1d4d9ce)
1 /*
2  * Old U-boot compatibility for Sam440ep based off bamboo.c code
3  * original copyrights below
4  *
5  * Author: Josh Boyer <jwboyer@linux.vnet.ibm.com>
6  *
7  * Copyright 2007 IBM Corporation
8  *
9  * Based on cuboot-ebony.c
10  *
11  * Modified from cuboot-bamboo.c for sam440ep:
12  * Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com>
13  *
14  * This program is free software; you can redistribute it and/or modify it
15  * under the terms of the GNU General Public License version 2 as published
16  * by the Free Software Foundation.
17  */
18 
19 #include "ops.h"
20 #include "stdio.h"
21 #include "44x.h"
22 #include "4xx.h"
23 #include "cuboot.h"
24 
25 #define TARGET_4xx
26 #define TARGET_44x
27 #include "ppcboot.h"
28 
29 static bd_t bd;
30 
31 static void sam440ep_fixups(void)
32 {
33        unsigned long sysclk = 66666666;
34 
35        ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
36        ibm4xx_sdram_fixup_memsize();
37        ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
38        dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
39 }
40 
41 void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
42 		unsigned long r6, unsigned long r7)
43 {
44 	CUBOOT_INIT();
45 	platform_ops.fixups = sam440ep_fixups;
46 	platform_ops.exit = ibm44x_dbcr_reset;
47 	fdt_init(_dtb_start);
48 	serial_console_init();
49 }
50