162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright IBM Corporation, 2007
462306a36Sopenharmony_ci * Josh Boyer <jwboyer@linux.vnet.ibm.com>
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Based on ebony wrapper:
762306a36Sopenharmony_ci * Copyright 2007 David Gibson, IBM Corporation.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Clocking code based on code by:
1062306a36Sopenharmony_ci * Stefan Roese <sr@denx.de>
1162306a36Sopenharmony_ci */
1262306a36Sopenharmony_ci#include <stdarg.h>
1362306a36Sopenharmony_ci#include <stddef.h>
1462306a36Sopenharmony_ci#include "types.h"
1562306a36Sopenharmony_ci#include "elf.h"
1662306a36Sopenharmony_ci#include "string.h"
1762306a36Sopenharmony_ci#include "stdio.h"
1862306a36Sopenharmony_ci#include "page.h"
1962306a36Sopenharmony_ci#include "ops.h"
2062306a36Sopenharmony_ci#include "dcr.h"
2162306a36Sopenharmony_ci#include "4xx.h"
2262306a36Sopenharmony_ci#include "44x.h"
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_cistatic u8 *bamboo_mac0, *bamboo_mac1;
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cistatic void bamboo_fixups(void)
2762306a36Sopenharmony_ci{
2862306a36Sopenharmony_ci	unsigned long sysclk = 33333333;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
3162306a36Sopenharmony_ci	ibm4xx_sdram_fixup_memsize();
3262306a36Sopenharmony_ci	ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
3362306a36Sopenharmony_ci	dt_fixup_mac_address_by_alias("ethernet0", bamboo_mac0);
3462306a36Sopenharmony_ci	dt_fixup_mac_address_by_alias("ethernet1", bamboo_mac1);
3562306a36Sopenharmony_ci}
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_civoid bamboo_init(void *mac0, void *mac1)
3862306a36Sopenharmony_ci{
3962306a36Sopenharmony_ci	platform_ops.fixups = bamboo_fixups;
4062306a36Sopenharmony_ci	platform_ops.exit = ibm44x_dbcr_reset;
4162306a36Sopenharmony_ci	bamboo_mac0 = mac0;
4262306a36Sopenharmony_ci	bamboo_mac1 = mac1;
4362306a36Sopenharmony_ci	fdt_init(_dtb_start);
4462306a36Sopenharmony_ci	serial_console_init();
4562306a36Sopenharmony_ci}
46