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