1*da1f5ac2SScott Branden /* 2*da1f5ac2SScott Branden * Copyright 2014 Broadcom Corporation. 3*da1f5ac2SScott Branden * 4*da1f5ac2SScott Branden * SPDX-License-Identifier: GPL-2.0+ 5*da1f5ac2SScott Branden */ 6*da1f5ac2SScott Branden 7*da1f5ac2SScott Branden #include <common.h> 8*da1f5ac2SScott Branden #include <asm/io.h> 9*da1f5ac2SScott Branden #include <config.h> 10*da1f5ac2SScott Branden #include <asm/system.h> 11*da1f5ac2SScott Branden #include <asm/iproc-common/armpll.h> 12*da1f5ac2SScott Branden 13*da1f5ac2SScott Branden DECLARE_GLOBAL_DATA_PTR; 14*da1f5ac2SScott Branden 15*da1f5ac2SScott Branden /* 16*da1f5ac2SScott Branden * board_init - early hardware init 17*da1f5ac2SScott Branden */ 18*da1f5ac2SScott Branden int board_init(void) 19*da1f5ac2SScott Branden { 20*da1f5ac2SScott Branden /* 21*da1f5ac2SScott Branden * Address of boot parameters passed to kernel 22*da1f5ac2SScott Branden * Use default offset 0x100 23*da1f5ac2SScott Branden */ 24*da1f5ac2SScott Branden gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; 25*da1f5ac2SScott Branden 26*da1f5ac2SScott Branden return 0; 27*da1f5ac2SScott Branden } 28*da1f5ac2SScott Branden 29*da1f5ac2SScott Branden /* 30*da1f5ac2SScott Branden * dram_init - sets u-boot's idea of sdram size 31*da1f5ac2SScott Branden */ 32*da1f5ac2SScott Branden int dram_init(void) 33*da1f5ac2SScott Branden { 34*da1f5ac2SScott Branden gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, 35*da1f5ac2SScott Branden CONFIG_SYS_SDRAM_SIZE); 36*da1f5ac2SScott Branden return 0; 37*da1f5ac2SScott Branden } 38*da1f5ac2SScott Branden 39*da1f5ac2SScott Branden void dram_init_banksize(void) 40*da1f5ac2SScott Branden { 41*da1f5ac2SScott Branden gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; 42*da1f5ac2SScott Branden gd->bd->bi_dram[0].size = gd->ram_size; 43*da1f5ac2SScott Branden } 44*da1f5ac2SScott Branden 45*da1f5ac2SScott Branden int board_early_init_f(void) 46*da1f5ac2SScott Branden { 47*da1f5ac2SScott Branden uint32_t status = 0; 48*da1f5ac2SScott Branden 49*da1f5ac2SScott Branden /* Setup PLL if required */ 50*da1f5ac2SScott Branden #if defined(CONFIG_ARMCLK) 51*da1f5ac2SScott Branden armpll_config(CONFIG_ARMCLK); 52*da1f5ac2SScott Branden #endif 53*da1f5ac2SScott Branden 54*da1f5ac2SScott Branden return status; 55*da1f5ac2SScott Branden } 56