aa6e94deab
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
52 lines
869 B
C
52 lines
869 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com>
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <clk.h>
|
|
#include <dm.h>
|
|
#include <fdt_support.h>
|
|
#include <asm/io.h>
|
|
|
|
phys_size_t get_effective_memsize(void)
|
|
{
|
|
return CFG_SYS_SDRAM_SIZE;
|
|
}
|
|
|
|
static int sram_init(void)
|
|
{
|
|
int ret, i;
|
|
const char * const banks[] = { "sram0", "sram1", "aisram" };
|
|
ofnode memory;
|
|
struct clk clk;
|
|
|
|
/* Enable RAM clocks */
|
|
memory = ofnode_by_compatible(ofnode_null(), "canaan,k210-sram");
|
|
if (ofnode_equal(memory, ofnode_null()))
|
|
return -ENOENT;
|
|
|
|
for (i = 0; i < ARRAY_SIZE(banks); i++) {
|
|
ret = clk_get_by_name_nodev(memory, banks[i], &clk);
|
|
if (ret)
|
|
continue;
|
|
|
|
ret = clk_enable(&clk);
|
|
clk_free(&clk);
|
|
if (ret)
|
|
return ret;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int board_early_init_f(void)
|
|
{
|
|
return sram_init();
|
|
}
|
|
|
|
int board_init(void)
|
|
{
|
|
return 0;
|
|
}
|