xref: /openbmc/linux/arch/powerpc/boot/cuboot-kilauea.c (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*d2912cb1SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
2c5b20d39STiejun Chen /*
3c5b20d39STiejun Chen  * Old U-boot compatibility for PPC405EX. This image is already included
4c5b20d39STiejun Chen  * a dtb.
5c5b20d39STiejun Chen  *
6c5b20d39STiejun Chen  * Author: Tiejun Chen <tiejun.chen@windriver.com>
7c5b20d39STiejun Chen  *
8c5b20d39STiejun Chen  * Copyright (C) 2009 Wind River Systems, Inc.
9c5b20d39STiejun Chen  */
10c5b20d39STiejun Chen 
11c5b20d39STiejun Chen #include "ops.h"
12c5b20d39STiejun Chen #include "io.h"
13c5b20d39STiejun Chen #include "dcr.h"
14c5b20d39STiejun Chen #include "stdio.h"
15c5b20d39STiejun Chen #include "4xx.h"
16c5b20d39STiejun Chen #include "44x.h"
17c5b20d39STiejun Chen #include "cuboot.h"
18c5b20d39STiejun Chen 
19c5b20d39STiejun Chen #define TARGET_4xx
20c5b20d39STiejun Chen #define TARGET_44x
21c5b20d39STiejun Chen #include "ppcboot.h"
22c5b20d39STiejun Chen 
23c5b20d39STiejun Chen #define KILAUEA_SYS_EXT_SERIAL_CLOCK     11059200        /* ext. 11.059MHz clk */
24c5b20d39STiejun Chen 
25c5b20d39STiejun Chen static bd_t bd;
26c5b20d39STiejun Chen 
kilauea_fixups(void)27c5b20d39STiejun Chen static void kilauea_fixups(void)
28c5b20d39STiejun Chen {
29c5b20d39STiejun Chen 	unsigned long sysclk = 33333333;
30c5b20d39STiejun Chen 
31c5b20d39STiejun Chen 	ibm405ex_fixup_clocks(sysclk, KILAUEA_SYS_EXT_SERIAL_CLOCK);
32c5b20d39STiejun Chen 	dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
33c5b20d39STiejun Chen 	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
34c5b20d39STiejun Chen 	dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);
35c5b20d39STiejun Chen 	dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);
36c5b20d39STiejun Chen }
37c5b20d39STiejun Chen 
platform_init(unsigned long r3,unsigned long r4,unsigned long r5,unsigned long r6,unsigned long r7)38c5b20d39STiejun Chen void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
39c5b20d39STiejun Chen 		unsigned long r6, unsigned long r7)
40c5b20d39STiejun Chen {
41c5b20d39STiejun Chen 	CUBOOT_INIT();
42c5b20d39STiejun Chen 	platform_ops.fixups = kilauea_fixups;
43c5b20d39STiejun Chen 	platform_ops.exit = ibm40x_dbcr_reset;
44c5b20d39STiejun Chen 	fdt_init(_dtb_start);
45c5b20d39STiejun Chen 	serial_console_init();
46c5b20d39STiejun Chen }
47