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