18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright IBM Corporation, 2007
48c2ecf20Sopenharmony_ci * Josh Boyer <jwboyer@linux.vnet.ibm.com>
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Based on ebony wrapper:
78c2ecf20Sopenharmony_ci * Copyright 2007 David Gibson, IBM Corporation.
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Clocking code based on code by:
108c2ecf20Sopenharmony_ci * Stefan Roese <sr@denx.de>
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ci#include <stdarg.h>
138c2ecf20Sopenharmony_ci#include <stddef.h>
148c2ecf20Sopenharmony_ci#include "types.h"
158c2ecf20Sopenharmony_ci#include "elf.h"
168c2ecf20Sopenharmony_ci#include "string.h"
178c2ecf20Sopenharmony_ci#include "stdio.h"
188c2ecf20Sopenharmony_ci#include "page.h"
198c2ecf20Sopenharmony_ci#include "ops.h"
208c2ecf20Sopenharmony_ci#include "dcr.h"
218c2ecf20Sopenharmony_ci#include "4xx.h"
228c2ecf20Sopenharmony_ci#include "44x.h"
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_cistatic u8 *bamboo_mac0, *bamboo_mac1;
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cistatic void bamboo_fixups(void)
278c2ecf20Sopenharmony_ci{
288c2ecf20Sopenharmony_ci	unsigned long sysclk = 33333333;
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
318c2ecf20Sopenharmony_ci	ibm4xx_sdram_fixup_memsize();
328c2ecf20Sopenharmony_ci	ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
338c2ecf20Sopenharmony_ci	dt_fixup_mac_address_by_alias("ethernet0", bamboo_mac0);
348c2ecf20Sopenharmony_ci	dt_fixup_mac_address_by_alias("ethernet1", bamboo_mac1);
358c2ecf20Sopenharmony_ci}
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_civoid bamboo_init(void *mac0, void *mac1)
388c2ecf20Sopenharmony_ci{
398c2ecf20Sopenharmony_ci	platform_ops.fixups = bamboo_fixups;
408c2ecf20Sopenharmony_ci	platform_ops.exit = ibm44x_dbcr_reset;
418c2ecf20Sopenharmony_ci	bamboo_mac0 = mac0;
428c2ecf20Sopenharmony_ci	bamboo_mac1 = mac1;
438c2ecf20Sopenharmony_ci	fdt_init(_dtb_start);
448c2ecf20Sopenharmony_ci	serial_console_init();
458c2ecf20Sopenharmony_ci}
46