xref: /linux/arch/powerpc/boot/cuboot-yosemite.c (revision 0d3b051adbb72ed81956447d0d1e54d5943ee6f5)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Old U-boot compatibility for Yosemite
4  *
5  * Author: Josh Boyer <jwboyer@linux.vnet.ibm.com>
6  *
7  * Copyright 2008 IBM Corporation
8  */
9 
10 #include "ops.h"
11 #include "stdio.h"
12 #include "4xx.h"
13 #include "44x.h"
14 #include "cuboot.h"
15 
16 #define TARGET_4xx
17 #define TARGET_44x
18 #include "ppcboot.h"
19 
20 static bd_t bd;
21 
22 static void yosemite_fixups(void)
23 {
24 	unsigned long sysclk = 66666666;
25 
26 	ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
27 	ibm4xx_sdram_fixup_memsize();
28 	ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
29 	dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
30 	dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
31 }
32 
33 void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
34 		unsigned long r6, unsigned long r7)
35 {
36 	CUBOOT_INIT();
37 	platform_ops.fixups = yosemite_fixups;
38 	platform_ops.exit = ibm44x_dbcr_reset;
39 	fdt_init(_dtb_start);
40 	serial_console_init();
41 }
42