18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Old U-boot compatibility for Rainier 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Valentine Barshak <vbarshak@ru.mvista.com> 68c2ecf20Sopenharmony_ci * Copyright 2007 MontaVista Software, Inc 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Based on Ebony code by David Gibson <david@gibson.dropbear.id.au> 98c2ecf20Sopenharmony_ci * Copyright IBM Corporation, 2007 108c2ecf20Sopenharmony_ci * 118c2ecf20Sopenharmony_ci * Based on Bamboo code by Josh Boyer <jwboyer@linux.vnet.ibm.com> 128c2ecf20Sopenharmony_ci * Copyright IBM Corporation, 2007 138c2ecf20Sopenharmony_ci */ 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#include <stdarg.h> 168c2ecf20Sopenharmony_ci#include <stddef.h> 178c2ecf20Sopenharmony_ci#include "types.h" 188c2ecf20Sopenharmony_ci#include "elf.h" 198c2ecf20Sopenharmony_ci#include "string.h" 208c2ecf20Sopenharmony_ci#include "stdio.h" 218c2ecf20Sopenharmony_ci#include "page.h" 228c2ecf20Sopenharmony_ci#include "ops.h" 238c2ecf20Sopenharmony_ci#include "dcr.h" 248c2ecf20Sopenharmony_ci#include "4xx.h" 258c2ecf20Sopenharmony_ci#include "44x.h" 268c2ecf20Sopenharmony_ci#include "cuboot.h" 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#define TARGET_4xx 298c2ecf20Sopenharmony_ci#define TARGET_44x 308c2ecf20Sopenharmony_ci#include "ppcboot.h" 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_cistatic bd_t bd; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_cistatic void rainier_fixups(void) 368c2ecf20Sopenharmony_ci{ 378c2ecf20Sopenharmony_ci unsigned long sysclk = 33333333; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); 408c2ecf20Sopenharmony_ci ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 418c2ecf20Sopenharmony_ci ibm4xx_denali_fixup_memsize(); 428c2ecf20Sopenharmony_ci dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr); 438c2ecf20Sopenharmony_ci dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr); 448c2ecf20Sopenharmony_ci} 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_civoid platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 478c2ecf20Sopenharmony_ci unsigned long r6, unsigned long r7) 488c2ecf20Sopenharmony_ci{ 498c2ecf20Sopenharmony_ci CUBOOT_INIT(); 508c2ecf20Sopenharmony_ci platform_ops.fixups = rainier_fixups; 518c2ecf20Sopenharmony_ci platform_ops.exit = ibm44x_dbcr_reset; 528c2ecf20Sopenharmony_ci fdt_init(_dtb_start); 538c2ecf20Sopenharmony_ci serial_console_init(); 548c2ecf20Sopenharmony_ci} 55