mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-27 17:41:34 +00:00
arm, davinci: Add SPL support for DA850 SoCs
This code adds an SPL for booting from SPI flash on DA850 SoCs. Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Cc: Heiko Schocher <hs@denx.de> Cc: Sandeep Paulraj <s-paulraj@ti.com> Cc: Tom Rini <trini@ti.com> Acked-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
32b1127397
commit
620fd27cfa
2 changed files with 35 additions and 2 deletions
|
@ -38,7 +38,8 @@ COBJS-$(CONFIG_DRIVER_TI_EMAC) += lxt972.o dp83848.o et1011c.o ksz8873.o
|
||||||
|
|
||||||
ifdef CONFIG_SPL_BUILD
|
ifdef CONFIG_SPL_BUILD
|
||||||
COBJS-y += spl.o
|
COBJS-y += spl.o
|
||||||
COBJS-y += dm365_lowlevel.o
|
COBJS-$(CONFIG_SOC_DM365) += dm365_lowlevel.o
|
||||||
|
COBJS-$(CONFIG_SOC_DA8XX) += da850_lowlevel.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SOBJS = reset.o
|
SOBJS = reset.o
|
||||||
|
|
|
@ -26,6 +26,16 @@
|
||||||
#include <nand.h>
|
#include <nand.h>
|
||||||
#include <asm/arch/dm365_lowlevel.h>
|
#include <asm/arch/dm365_lowlevel.h>
|
||||||
#include <ns16550.h>
|
#include <ns16550.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
#include <spi_flash.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
/* Define global data structure pointer to it*/
|
||||||
|
static gd_t gdata __attribute__ ((section(".data")));
|
||||||
|
static bd_t bdata __attribute__ ((section(".data")));
|
||||||
|
|
||||||
|
#ifndef CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||||
|
|
||||||
void puts(const char *str)
|
void puts(const char *str)
|
||||||
{
|
{
|
||||||
|
@ -41,6 +51,8 @@ void putc(char c)
|
||||||
NS16550_putc((NS16550_t)(CONFIG_SYS_NS16550_COM1), c);
|
NS16550_putc((NS16550_t)(CONFIG_SYS_NS16550_COM1), c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_SPL_LIBCOMMON_SUPPORT */
|
||||||
|
|
||||||
inline void hang(void)
|
inline void hang(void)
|
||||||
{
|
{
|
||||||
puts("### ERROR ### Please RESET the board ###\n");
|
puts("### ERROR ### Please RESET the board ###\n");
|
||||||
|
@ -50,14 +62,34 @@ inline void hang(void)
|
||||||
|
|
||||||
void board_init_f(ulong dummy)
|
void board_init_f(ulong dummy)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_SOC_DM365
|
||||||
dm36x_lowlevel_init(0);
|
dm36x_lowlevel_init(0);
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SOC_DA8XX
|
||||||
|
arch_cpu_init();
|
||||||
|
#endif
|
||||||
relocate_code(CONFIG_SPL_STACK, NULL, CONFIG_SPL_TEXT_BASE);
|
relocate_code(CONFIG_SPL_STACK, NULL, CONFIG_SPL_TEXT_BASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_r(gd_t *id, ulong dummy)
|
void board_init_r(gd_t *id, ulong dummy)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_SOC_DM365
|
||||||
nand_init();
|
nand_init();
|
||||||
puts("Nand boot...\n");
|
puts("Nand boot...\n");
|
||||||
nand_boot();
|
nand_boot();
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SOC_DA8XX
|
||||||
|
mem_malloc_init(CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_LEN,
|
||||||
|
CONFIG_SYS_MALLOC_LEN);
|
||||||
|
|
||||||
|
gd = &gdata;
|
||||||
|
gd->bd = &bdata;
|
||||||
|
gd->flags |= GD_FLG_RELOC;
|
||||||
|
gd->baudrate = CONFIG_BAUDRATE;
|
||||||
|
serial_init(); /* serial communications setup */
|
||||||
|
gd->have_console = 1;
|
||||||
|
|
||||||
|
puts("SPI boot...\n");
|
||||||
|
spi_boot();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue