blob: b2469dcb52a3e61588d74b0551cf7688162f3afa [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Scott Brandenda1f5ac2014-08-11 13:58:25 -07002/*
3 * Copyright 2014 Broadcom Corporation.
Scott Brandenda1f5ac2014-08-11 13:58:25 -07004 */
5
6#include <common.h>
7#include <asm/io.h>
8#include <config.h>
Jiandong Zheng39d0ce02015-07-15 16:28:14 -07009#include <netdev.h>
Scott Brandenda1f5ac2014-08-11 13:58:25 -070010#include <asm/system.h>
11#include <asm/iproc-common/armpll.h>
12
13DECLARE_GLOBAL_DATA_PTR;
14
15/*
16 * board_init - early hardware init
17 */
18int 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 */
32int 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
Simon Glass76b00ac2017-03-31 08:40:32 -060039int dram_init_banksize(void)
Scott Brandenda1f5ac2014-08-11 13:58:25 -070040{
41 gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
42 gd->bd->bi_dram[0].size = gd->ram_size;
Simon Glass76b00ac2017-03-31 08:40:32 -060043
44 return 0;
Scott Brandenda1f5ac2014-08-11 13:58:25 -070045}
46
47int 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}
Steve Raeabb16782014-11-11 11:32:18 -080058
Jan Kiszka104d6fb2015-04-21 07:18:24 +020059#ifdef CONFIG_ARMV7_NONSEC
Steve Raeabb16782014-11-11 11:32:18 -080060void smp_set_core_boot_addr(unsigned long addr, int corenr)
61{
62}
63
64void smp_kick_all_cpus(void)
65{
66}
67
68void smp_waitloop(unsigned previous_address)
69{
70}
71#endif
Jiandong Zheng39d0ce02015-07-15 16:28:14 -070072
73#ifdef CONFIG_BCM_SF2_ETH
74int 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