1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Copyright 2014 Broadcom Corporation. 4 */ 5 6 #include <common.h> 7 #include <asm/io.h> 8 #include <config.h> 9 #include <netdev.h> 10 #include <asm/system.h> 11 #include <asm/iproc-common/armpll.h> 12 13 DECLARE_GLOBAL_DATA_PTR; 14 15 /* 16 * board_init - early hardware init 17 */ 18 int board_init(void) 19 { 20 /* 21 * Address of boot parameters passed to kernel 22 * Use default offset 0x100 23 */ 24 gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; 25 26 return 0; 27 } 28 29 /* 30 * dram_init - sets u-boot's idea of sdram size 31 */ 32 int dram_init(void) 33 { 34 gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, 35 CONFIG_SYS_SDRAM_SIZE); 36 return 0; 37 } 38 39 int dram_init_banksize(void) 40 { 41 gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; 42 gd->bd->bi_dram[0].size = gd->ram_size; 43 44 return 0; 45 } 46 47 int board_early_init_f(void) 48 { 49 uint32_t status = 0; 50 51 /* Setup PLL if required */ 52 #if defined(CONFIG_ARMCLK) 53 armpll_config(CONFIG_ARMCLK); 54 #endif 55 56 return status; 57 } 58 59 #ifdef CONFIG_ARMV7_NONSEC 60 void smp_set_core_boot_addr(unsigned long addr, int corenr) 61 { 62 } 63 64 void smp_kick_all_cpus(void) 65 { 66 } 67 68 void smp_waitloop(unsigned previous_address) 69 { 70 } 71 #endif 72 73 #ifdef CONFIG_BCM_SF2_ETH 74 int board_eth_init(bd_t *bis) 75 { 76 int rc = -1; 77 printf("Registering BCM sf2 eth\n"); 78 rc = bcm_sf2_eth_register(bis, 0); 79 return rc; 80 } 81 #endif 82