ARM: keystone2: spl: move board specific code

The initialization of PLLs is a part of board specific code, so
move it appropriate places.

Acked-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
This commit is contained in:
Hao Zhang 2014-10-22 16:32:31 +03:00 committed by Tom Rini
parent bc45d5729f
commit 5ec66b140a
7 changed files with 43 additions and 66 deletions

View file

@ -14,6 +14,5 @@ obj-$(CONFIG_SOC_K2L) += clock-k2l.o
obj-y += cmd_clock.o obj-y += cmd_clock.o
obj-y += cmd_mon.o obj-y += cmd_mon.o
obj-y += msmc.o obj-y += msmc.o
obj-$(CONFIG_SPL_BUILD) += spl.o
obj-y += ddr3.o obj-y += ddr3.o
obj-y += keystone.o obj-y += keystone.o

View file

@ -1,53 +0,0 @@
/*
* common spl init code
*
* (C) Copyright 2012-2014
* Texas Instruments Incorporated, <www.ti.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <config.h>
#include <ns16550.h>
#include <malloc.h>
#include <spl.h>
#include <spi_flash.h>
#include <asm/u-boot.h>
#include <asm/utils.h>
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_K2HK_EVM
static struct pll_init_data spl_pll_config[] = {
CORE_PLL_799,
TETRIS_PLL_500,
};
#endif
#ifdef CONFIG_K2E_EVM
static struct pll_init_data spl_pll_config[] = {
CORE_PLL_800,
};
#endif
void spl_init_keystone_plls(void)
{
init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
}
void spl_board_init(void)
{
spl_init_keystone_plls();
preloader_console_init();
}
u32 spl_boot_device(void)
{
#if defined(CONFIG_SPL_SPI_LOAD)
return BOOT_DEVICE_SPI;
#else
puts("Unknown boot device\n");
hang();
#endif
}

View file

@ -1,12 +0,0 @@
/*
* (C) Copyright 2012-2014
* Texas Instruments, <www.ti.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _ASM_ARCH_SPL_H_
#define _ASM_ARCH_SPL_H_
#define BOOT_DEVICE_SPI 2
#endif

View file

@ -9,6 +9,7 @@
#include "board.h" #include "board.h"
#include <common.h> #include <common.h>
#include <spl.h>
#include <exports.h> #include <exports.h>
#include <fdt_support.h> #include <fdt_support.h>
#include <asm/arch/ddr3.h> #include <asm/arch/ddr3.h>
@ -83,6 +84,24 @@ int board_eth_init(bd_t *bis)
} }
#endif #endif
#ifdef CONFIG_SPL_BUILD
void spl_board_init(void)
{
spl_init_keystone_plls();
preloader_console_init();
}
u32 spl_boot_device(void)
{
#if defined(CONFIG_SPL_SPI_LOAD)
return BOOT_DEVICE_SPI;
#else
puts("Unknown boot device\n");
hang();
#endif
}
#endif
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
void ft_board_setup(void *blob, bd_t *bd) void ft_board_setup(void *blob, bd_t *bd)
{ {

View file

@ -15,5 +15,6 @@
extern struct eth_priv_t eth_priv_cfg[]; extern struct eth_priv_t eth_priv_cfg[];
int get_num_eth_ports(void); int get_num_eth_ports(void);
void spl_init_keystone_plls(void);
#endif #endif

View file

@ -52,3 +52,14 @@ int board_early_init_f(void)
return 0; return 0;
} }
#endif #endif
#ifdef CONFIG_SPL_BUILD
static struct pll_init_data spl_pll_config[] = {
CORE_PLL_800,
};
void spl_init_keystone_plls(void)
{
init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
}
#endif

View file

@ -100,3 +100,15 @@ int board_early_init_f(void)
return 0; return 0;
} }
#endif #endif
#ifdef CONFIG_SPL_BUILD
static struct pll_init_data spl_pll_config[] = {
CORE_PLL_799,
TETRIS_PLL_500,
};
void spl_init_keystone_plls(void)
{
init_plls(ARRAY_SIZE(spl_pll_config), spl_pll_config);
}
#endif