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