1*d2912cb1SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
20b195812SScott Wood /*
30b195812SScott Wood * Old U-boot compatibility for 8xx
40b195812SScott Wood *
50b195812SScott Wood * Author: Scott Wood <scottwood@freescale.com>
60b195812SScott Wood *
70b195812SScott Wood * Copyright (c) 2007 Freescale Semiconductor, Inc.
80b195812SScott Wood */
90b195812SScott Wood
100b195812SScott Wood #include "ops.h"
110b195812SScott Wood #include "stdio.h"
120b195812SScott Wood #include "cuboot.h"
130b195812SScott Wood
140b195812SScott Wood #define TARGET_8xx
150b195812SScott Wood #define TARGET_HAS_ETH1
160b195812SScott Wood #include "ppcboot.h"
170b195812SScott Wood
180b195812SScott Wood static bd_t bd;
190b195812SScott Wood
platform_fixups(void)200b195812SScott Wood static void platform_fixups(void)
210b195812SScott Wood {
220b195812SScott Wood void *node;
230b195812SScott Wood
240b195812SScott Wood dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
250b195812SScott Wood dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr);
260b195812SScott Wood dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 16, bd.bi_busfreq);
270b195812SScott Wood
280b195812SScott Wood node = finddevice("/soc/cpm");
296d817aa7SScott Wood if (node)
300b195812SScott Wood setprop(node, "clock-frequency", &bd.bi_busfreq, 4);
316d817aa7SScott Wood
326d817aa7SScott Wood node = finddevice("/soc/cpm/brg");
336d817aa7SScott Wood if (node)
346d817aa7SScott Wood setprop(node, "clock-frequency", &bd.bi_busfreq, 4);
350b195812SScott Wood }
360b195812SScott Wood
platform_init(unsigned long r3,unsigned long r4,unsigned long r5,unsigned long r6,unsigned long r7)370b195812SScott Wood void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
380b195812SScott Wood unsigned long r6, unsigned long r7)
390b195812SScott Wood {
400b195812SScott Wood CUBOOT_INIT();
412f0dfeaaSDavid Gibson fdt_init(_dtb_start);
420b195812SScott Wood serial_console_init();
430b195812SScott Wood platform_ops.fixups = platform_fixups;
440b195812SScott Wood }
45