blob: 31cae47028880199f8f157d138cb5d23fc1cee33 [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>
Simon Glass62270f42019-11-14 12:57:35 -07007#include <cpu_func.h>
Simon Glass9b4a2052019-12-28 10:45:05 -07008#include <init.h>
Simon Glass90526e92020-05-10 11:39:56 -06009#include <net.h>
10#include <asm/cache.h>
Scott Brandenda1f5ac2014-08-11 13:58:25 -070011#include <asm/io.h>
12#include <config.h>
Jiandong Zheng39d0ce02015-07-15 16:28:14 -070013#include <netdev.h>
Scott Brandenda1f5ac2014-08-11 13:58:25 -070014#include <asm/system.h>
15#include <asm/iproc-common/armpll.h>
16
17DECLARE_GLOBAL_DATA_PTR;
18
19/*
20 * board_init - early hardware init
21 */
22int board_init(void)
23{
24 /*
25 * Address of boot parameters passed to kernel
26 * Use default offset 0x100
27 */
28 gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
29
30 return 0;
31}
32
33/*
34 * dram_init - sets u-boot's idea of sdram size
35 */
36int dram_init(void)
37{
38 gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
39 CONFIG_SYS_SDRAM_SIZE);
40 return 0;
41}
42
Simon Glass76b00ac2017-03-31 08:40:32 -060043int dram_init_banksize(void)
Scott Brandenda1f5ac2014-08-11 13:58:25 -070044{
45 gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
46 gd->bd->bi_dram[0].size = gd->ram_size;
Simon Glass76b00ac2017-03-31 08:40:32 -060047
48 return 0;
Scott Brandenda1f5ac2014-08-11 13:58:25 -070049}
50
51int board_early_init_f(void)
52{
53 uint32_t status = 0;
54
55 /* Setup PLL if required */
56#if defined(CONFIG_ARMCLK)
57 armpll_config(CONFIG_ARMCLK);
58#endif
59
60 return status;
61}
Steve Raeabb16782014-11-11 11:32:18 -080062
Jan Kiszka104d6fb2015-04-21 07:18:24 +020063#ifdef CONFIG_ARMV7_NONSEC
Steve Raeabb16782014-11-11 11:32:18 -080064void smp_set_core_boot_addr(unsigned long addr, int corenr)
65{
66}
67
68void smp_kick_all_cpus(void)
69{
70}
71
72void smp_waitloop(unsigned previous_address)
73{
74}
75#endif
Jiandong Zheng39d0ce02015-07-15 16:28:14 -070076
77#ifdef CONFIG_BCM_SF2_ETH
78int board_eth_init(bd_t *bis)
79{
80 int rc = -1;
81 printf("Registering BCM sf2 eth\n");
82 rc = bcm_sf2_eth_register(bis, 0);
83 return rc;
84}
85#endif