From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 15/17] ARM: SPL: Convert davinci to CONFIG_SPL_FRAMEWORK
Date: Wed, 15 Aug 2012 14:30:52 -0700 [thread overview]
Message-ID: <1345066254-6911-16-git-send-email-trini@ti.com> (raw)
In-Reply-To: <1345066254-6911-1-git-send-email-trini@ti.com>
- Convert the non-relocation part of board_init_f to spl_board_init,
turn on CONFIG_SPL_BOARD_INIT in the configs.
- Remove duplicated code.
- Add spl_boot_device() that returns the statically chosen boot device.
Signed-off-by: Tom Rini <trini@ti.com>
---
arch/arm/cpu/arm926ejs/davinci/spl.c | 45 +++++++------------------------
arch/arm/include/asm/arch-davinci/spl.h | 28 +++++++++++++++++++
include/configs/cam_enc_4xx.h | 2 ++
include/configs/da850evm.h | 2 ++
include/configs/hawkboard.h | 2 ++
5 files changed, 44 insertions(+), 35 deletions(-)
create mode 100644 arch/arm/include/asm/arch-davinci/spl.h
diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/cpu/arm926ejs/davinci/spl.c
index 74632e5..833f721 100644
--- a/arch/arm/cpu/arm926ejs/davinci/spl.c
+++ b/arch/arm/cpu/arm926ejs/davinci/spl.c
@@ -21,6 +21,7 @@
* MA 02111-1307 USA
*/
#include <common.h>
+#include <asm/spl.h>
#include <asm/u-boot.h>
#include <asm/utils.h>
#include <nand.h>
@@ -29,14 +30,7 @@
#include <malloc.h>
#include <spi_flash.h>
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
-
-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")));
-
-#else
+#ifndef CONFIG_SPL_LIBCOMMON_SUPPORT
void puts(const char *str)
{
@@ -54,14 +48,7 @@ void putc(char c)
#endif /* CONFIG_SPL_LIBCOMMON_SUPPORT */
-inline void hang(void)
-{
- puts("### ERROR ### Please RESET the board ###\n");
- for (;;)
- ;
-}
-
-void board_init_f(ulong dummy)
+void spl_board_init(void)
{
#ifdef CONFIG_SOC_DM365
dm36x_lowlevel_init(0);
@@ -69,28 +56,16 @@ void board_init_f(ulong dummy)
#ifdef CONFIG_SOC_DA8XX
arch_cpu_init();
#endif
- relocate_code(CONFIG_SPL_STACK, NULL, CONFIG_SPL_TEXT_BASE);
}
-void board_init_r(gd_t *id, ulong dummy)
+u32 spl_boot_device(void)
{
#ifdef CONFIG_SPL_NAND_LOAD
- nand_init();
- puts("Nand boot...\n");
- nand_boot();
-#endif
-#ifdef CONFIG_SPL_SPI_LOAD
- 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();
+ return BOOT_DEVICE_NAND;
+#elif defined(CONFIG_SPL_SPI_LOAD)
+ return BOOT_DEVICE_SPI;
+#else
+ puts("Unknown boot device\n");
+ hang();
#endif
}
diff --git a/arch/arm/include/asm/arch-davinci/spl.h b/arch/arm/include/asm/arch-davinci/spl.h
new file mode 100644
index 0000000..f9c5131
--- /dev/null
+++ b/arch/arm/include/asm/arch-davinci/spl.h
@@ -0,0 +1,28 @@
+/*
+ * (C) Copyright 2012
+ * Texas Instruments, <www.ti.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#ifndef _ASM_ARCH_SPL_H_
+#define _ASM_SPL_H_
+
+#define BOOT_DEVICE_NAND 1
+#define BOOT_DEVICE_SPI 2
+#endif
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index 771ac9c..fe28278 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -217,6 +217,8 @@
/* Defines for SPL */
#define CONFIG_SPL
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_BOARD_INIT
#define CONFIG_SPL_LIBGENERIC_SUPPORT
#define CONFIG_SPL_NAND_SUPPORT
#define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index e6adb1f..5bb5379 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -313,6 +313,8 @@
/* defines for SPL */
#define CONFIG_SPL
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_BOARD_INIT
#define CONFIG_SPL_SPI_SUPPORT
#define CONFIG_SPL_SPI_FLASH_SUPPORT
#define CONFIG_SPL_SPI_LOAD
diff --git a/include/configs/hawkboard.h b/include/configs/hawkboard.h
index c6e9ce5..838e572 100644
--- a/include/configs/hawkboard.h
+++ b/include/configs/hawkboard.h
@@ -59,6 +59,8 @@
/* Spl */
#define CONFIG_SPL
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_BOARD_INIT
#define CONFIG_SPL_NAND_SUPPORT
#define CONFIG_SPL_NAND_SIMPLE
#define CONFIG_SPL_NAND_LOAD
--
1.7.9.5
next prev parent reply other threads:[~2012-08-15 21:30 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-15 21:30 [U-Boot] [PATCH 00/17]: ARM: SPL: Make more generic, merge DaVinci and OMAP Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 01/17] spl_mmc: Make FAT checks / calls guarded with CONFIG_SPL_FAT_SUPPORT Tom Rini
2012-08-16 7:52 ` Stefano Babic
2012-08-15 21:30 ` [U-Boot] [PATCH 02/17] omap-common: SPL: Add CONFIG_SPL_DISPLAY_PRINT / spl_display_print() Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 03/17] ARM: SPL: Move the omap SPL framework to arch/arm/lib Tom Rini
2012-08-16 7:45 ` Stefano Babic
2012-08-16 14:38 ` Tom Rini
2012-08-17 8:25 ` Stefano Babic
2012-08-15 21:30 ` [U-Boot] [PATCH 04/17] Makefile: Move SPL files to clobber, remove from clean Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 05/17] ARM: SPL: Rename omap_boot_device to spl_boot_device Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 06/17] ARM: SPL: Rename omap_boot_mode to spl_boot_mode() Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 07/17] omap-common: Fix typo in lowlevel_init.S::save_boot_params Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 08/17] ARM: SPL: Remove NAND_MODE_HW_ECC from spl_nand.c Tom Rini
2012-08-16 7:59 ` Stefano Babic
2012-08-15 21:30 ` [U-Boot] [PATCH 09/17] ARM: SPL: Only call mem_malloc_init if configured Tom Rini
2012-08-16 8:01 ` Stefano Babic
2012-08-16 14:40 ` Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 10/17] ARM: SPL: Add <asm/spl.h> and <asm/arch/spl.h> Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 11/17] ARM: SPL: Make spl_mmc.c more generic Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 12/17] ARM: SPL: Clean up spl.c / spl_nand.c slightly Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 13/17] ARM: SPL: Start hooking in the current SPI SPL support Tom Rini
2012-08-15 21:30 ` [U-Boot] [PATCH 14/17] ARM: SPL: Move gpmc_init() to spl_board_init() Tom Rini
2012-08-16 8:05 ` Stefano Babic
2012-08-15 21:30 ` Tom Rini [this message]
2012-08-20 10:08 ` [U-Boot] [PATCH 15/17] ARM: SPL: Convert davinci to CONFIG_SPL_FRAMEWORK Christian Riesch
2012-08-15 21:30 ` [U-Boot] [PATCH 16/17] SPL: Enhance drivers/mtd/nand/nand_spl_load.c Tom Rini
2012-08-24 20:35 ` Scott Wood
2012-08-15 21:30 ` [U-Boot] [PATCH 17/17] ARM: SPL: Enhance spi_spl_load to match the other load functions Tom Rini
2012-08-16 6:30 ` [U-Boot] [PATCH 00/17]: ARM: SPL: Make more generic, merge DaVinci and OMAP Stefan Roese
2012-08-16 14:30 ` Tom Rini
2012-08-16 14:50 ` Stefan Roese
2012-08-16 7:32 ` Stefano Babic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1345066254-6911-16-git-send-email-trini@ti.com \
--to=trini@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox