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