162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Old U-boot compatibility for Rainier 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Valentine Barshak <vbarshak@ru.mvista.com> 662306a36Sopenharmony_ci * Copyright 2007 MontaVista Software, Inc 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Based on Ebony code by David Gibson <david@gibson.dropbear.id.au> 962306a36Sopenharmony_ci * Copyright IBM Corporation, 2007 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * Based on Bamboo code by Josh Boyer <jwboyer@linux.vnet.ibm.com> 1262306a36Sopenharmony_ci * Copyright IBM Corporation, 2007 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include <stdarg.h> 1662306a36Sopenharmony_ci#include <stddef.h> 1762306a36Sopenharmony_ci#include "types.h" 1862306a36Sopenharmony_ci#include "elf.h" 1962306a36Sopenharmony_ci#include "string.h" 2062306a36Sopenharmony_ci#include "stdio.h" 2162306a36Sopenharmony_ci#include "page.h" 2262306a36Sopenharmony_ci#include "ops.h" 2362306a36Sopenharmony_ci#include "dcr.h" 2462306a36Sopenharmony_ci#include "4xx.h" 2562306a36Sopenharmony_ci#include "44x.h" 2662306a36Sopenharmony_ci#include "cuboot.h" 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#define TARGET_4xx 2962306a36Sopenharmony_ci#define TARGET_44x 3062306a36Sopenharmony_ci#include "ppcboot.h" 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_cistatic bd_t bd; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_cistatic void rainier_fixups(void) 3662306a36Sopenharmony_ci{ 3762306a36Sopenharmony_ci unsigned long sysclk = 33333333; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); 4062306a36Sopenharmony_ci ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 4162306a36Sopenharmony_ci ibm4xx_denali_fixup_memsize(); 4262306a36Sopenharmony_ci dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr); 4362306a36Sopenharmony_ci dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr); 4462306a36Sopenharmony_ci} 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_civoid platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 4762306a36Sopenharmony_ci unsigned long r6, unsigned long r7) 4862306a36Sopenharmony_ci{ 4962306a36Sopenharmony_ci CUBOOT_INIT(); 5062306a36Sopenharmony_ci platform_ops.fixups = rainier_fixups; 5162306a36Sopenharmony_ci platform_ops.exit = ibm44x_dbcr_reset; 5262306a36Sopenharmony_ci fdt_init(_dtb_start); 5362306a36Sopenharmony_ci serial_console_init(); 5462306a36Sopenharmony_ci} 55