162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Old U-boot compatibility for Sam440ep based off bamboo.c code 462306a36Sopenharmony_ci * original copyrights below 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Author: Josh Boyer <jwboyer@linux.vnet.ibm.com> 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Copyright 2007 IBM Corporation 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * Based on cuboot-ebony.c 1162306a36Sopenharmony_ci * 1262306a36Sopenharmony_ci * Modified from cuboot-bamboo.c for sam440ep: 1362306a36Sopenharmony_ci * Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com> 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#include "ops.h" 1762306a36Sopenharmony_ci#include "stdio.h" 1862306a36Sopenharmony_ci#include "44x.h" 1962306a36Sopenharmony_ci#include "4xx.h" 2062306a36Sopenharmony_ci#include "cuboot.h" 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#define TARGET_4xx 2362306a36Sopenharmony_ci#define TARGET_44x 2462306a36Sopenharmony_ci#include "ppcboot.h" 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_cistatic bd_t bd; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_cistatic void sam440ep_fixups(void) 2962306a36Sopenharmony_ci{ 3062306a36Sopenharmony_ci unsigned long sysclk = 66666666; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci ibm440ep_fixup_clocks(sysclk, 11059200, 25000000); 3362306a36Sopenharmony_ci ibm4xx_sdram_fixup_memsize(); 3462306a36Sopenharmony_ci ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00); 3562306a36Sopenharmony_ci dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr); 3662306a36Sopenharmony_ci} 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_civoid platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 3962306a36Sopenharmony_ci unsigned long r6, unsigned long r7) 4062306a36Sopenharmony_ci{ 4162306a36Sopenharmony_ci CUBOOT_INIT(); 4262306a36Sopenharmony_ci platform_ops.fixups = sam440ep_fixups; 4362306a36Sopenharmony_ci platform_ops.exit = ibm44x_dbcr_reset; 4462306a36Sopenharmony_ci fdt_init(_dtb_start); 4562306a36Sopenharmony_ci serial_console_init(); 4662306a36Sopenharmony_ci} 47