1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Old U-boot compatibility for Taishan 4 * 5 * Author: Hugh Blemings <hugh@au.ibm.com> 6 * 7 * Copyright 2007 Hugh Blemings, IBM Corporation. 8 * Based on cuboot-ebony.c which is: 9 * Copyright 2007 David Gibson, IBM Corporation. 10 * Based on cuboot-83xx.c, which is: 11 * Copyright (c) 2007 Freescale Semiconductor, Inc. 12 */ 13 14 #include "ops.h" 15 #include "stdio.h" 16 #include "cuboot.h" 17 #include "reg.h" 18 #include "dcr.h" 19 #include "4xx.h" 20 21 #define TARGET_4xx 22 #define TARGET_44x 23 #define TARGET_440GX 24 #include "ppcboot.h" 25 26 static bd_t bd; 27 28 BSS_STACK(4096); 29 30 static void taishan_fixups(void) 31 { 32 /* FIXME: sysclk should be derived by reading the FPGA 33 registers */ 34 unsigned long sysclk = 33000000; 35 36 ibm440gx_fixup_clocks(sysclk, 6 * 1843200, 25000000); 37 38 ibm4xx_sdram_fixup_memsize(); 39 40 dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr); 41 dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr); 42 43 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 44 } 45 46 void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 47 unsigned long r6, unsigned long r7) 48 { 49 CUBOOT_INIT(); 50 51 platform_ops.fixups = taishan_fixups; 52 fdt_init(_dtb_start); 53 serial_console_init(); 54 } 55