Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / powerpc / boot / cuboot-sam440ep.c
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 }