All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI
@ 2011-12-09 19:47 Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 1/6] spl: display_options.o is required for SPI flash support in SPL Christian Riesch
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot


Hi,
this is v6 of the last part of my recent patchset

[PATCH v3 00/15] Add an SPL to boot the da850evm from SPI
http://lists.denx.de/pipermail/u-boot/2011-November/111182.html

Most of the other parts are already merged, together with
this patchset they introduce an SPL for the da850evm to run
u-boot directly without the need of a UBL (see doc/README.davinci).

The first patches fix dependencies and introduce a function
to load the u-boot image from SPI flash. Patch #4 adds an
SPL to the da850evm configuration. Finally, a simple
AIS (Application Image Script) is required to start the SPL.
This AIS is generated by mkimage. Patch #5 fixes mkimage for building
AIS. Finally the last patch introduces a u-boot.ais target in the
Makefile.

Changes for v6:
- rebased to git://git.denx.de/u-boot.git master

Changes for v5:
- changed formatting (indentation) of the $(obj)u-boot.ais target in
  the Makefile
- removed useless '0 | ... ' from include/configs/da850evm.h
- added Acked-bys

Changes for v4:
- added documentation for the SPL to doc/README.davinci
- split patchset because it got too big
- use COBJS-$(CONFIG_SPL_SPI_LOAD) instead of ifdefs in
  drivers/mtd/spi/Makefile
- use __noreturn instead of __attribute__((noreturn))
- added Acked-by

Changes for v3:
- removed noise and hardcoded values from drivers/mtd/spi/spi_spl_load.c
- replaced $(PAD_TO) in Makefile by $(CONFIG_SPL_MAX_SIZE)

Major changes for v2:
- Added code that actually loads u-boot from SPI flash and starts it.

Prerequisites:
- This patchset builds fine on gcc version 4.5.2 (Sourcery G++ Lite 
  2011.03-41). However, for some toolchains, e.g., gcc 4.2.2 from
  ELDK 4.2, the build results in a linker error: "arm-linux-gnueabi-ld:
  error: no memory region specified for loadable section `.ARM.exidx'".
  In this case, the following patch is required:
  arm, davinci: Use lldiv for the 64-bit divisions in timer.c
  http://patchwork.ozlabs.org/patch/130409/

To build run
  make da850evm_config
  make u-boot.ais
Then program u-boot.ais to the SPI flash on the da850evm.

Best regards,
Christian

Cc: Heiko Schocher <hs@denx.de>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Cc: Tom Rini <trini@ti.com>

Christian Riesch (6):
  spl: display_options.o is required for SPI flash support in SPL
  sf: Add spi_boot() to allow booting from SPI flash in an SPL
  arm, davinci: Add SPL support for DA850 SoCs
  arm, da850evm: Add an SPL for SPI boot
  mkimage: Fix variable length header support
  arm, davinci: Add support for generating AIS images to the Makefile

 .gitignore                              |    1 +
 Makefile                                |   13 ++++
 arch/arm/cpu/arm926ejs/davinci/Makefile |    3 +-
 arch/arm/cpu/arm926ejs/davinci/spl.c    |   34 +++++++++++-
 board/davinci/da8xxevm/da850evm.c       |    4 +-
 board/davinci/da8xxevm/u-boot-spl.lds   |   73 +++++++++++++++++++++++
 doc/README.SPL                          |    1 +
 doc/README.davinci                      |    9 +++
 drivers/mtd/spi/Makefile                |    4 +
 drivers/mtd/spi/spi_spl_load.c          |   58 ++++++++++++++++++
 include/configs/da850evm.h              |   87 +++++++++++++++++++++++++++
 include/spi_flash.h                     |    3 +
 lib/Makefile                            |    2 +
 tools/mkimage.c                         |   97 ++++++++++++++++---------------
 14 files changed, 338 insertions(+), 51 deletions(-)
 create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds
 create mode 100644 drivers/mtd/spi/spi_spl_load.c

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 1/6] spl: display_options.o is required for SPI flash support in SPL
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL Christian Riesch
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Heiko Schocher <hs@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
---
 lib/Makefile |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/lib/Makefile b/lib/Makefile
index 54708c2..35ba7ff 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -50,6 +50,8 @@ COBJS-$(CONFIG_SHA1) += sha1.o
 COBJS-$(CONFIG_SHA256) += sha256.o
 COBJS-y	+= strmhz.o
 COBJS-$(CONFIG_RBTREE)	+= rbtree.o
+else
+COBJS-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += display_options.o
 endif
 
 COBJS-y += ctype.o
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 1/6] spl: display_options.o is required for SPI flash support in SPL Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 3/6] arm, davinci: Add SPL support for DA850 SoCs Christian Riesch
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Heiko Schocher <hs@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Scott Wood <scottwood@freescale.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 doc/README.SPL                 |    1 +
 drivers/mtd/spi/Makefile       |    4 +++
 drivers/mtd/spi/spi_spl_load.c |   58 ++++++++++++++++++++++++++++++++++++++++
 include/spi_flash.h            |    3 ++
 4 files changed, 66 insertions(+), 0 deletions(-)
 create mode 100644 drivers/mtd/spi/spi_spl_load.c

diff --git a/doc/README.SPL b/doc/README.SPL
index 89d24a7..f01a8bd 100644
--- a/doc/README.SPL
+++ b/doc/README.SPL
@@ -65,3 +65,4 @@ CONFIG_SPL_NAND_SUPPORT (drivers/mtd/nand/libnand.o)
 CONFIG_SPL_DMA_SUPPORT (drivers/dma/libdma.o)
 CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o)
 CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o)
+CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
diff --git a/drivers/mtd/spi/Makefile b/drivers/mtd/spi/Makefile
index 57112af..90f8392 100644
--- a/drivers/mtd/spi/Makefile
+++ b/drivers/mtd/spi/Makefile
@@ -25,6 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB	:= $(obj)libspi_flash.o
 
+ifdef CONFIG_SPL_BUILD
+COBJS-$(CONFIG_SPL_SPI_LOAD)	+= spi_spl_load.o
+endif
+
 COBJS-$(CONFIG_SPI_FLASH)	+= spi_flash.o
 COBJS-$(CONFIG_SPI_FLASH_ATMEL)	+= atmel.o
 COBJS-$(CONFIG_SPI_FLASH_EON)	+= eon.o
diff --git a/drivers/mtd/spi/spi_spl_load.c b/drivers/mtd/spi/spi_spl_load.c
new file mode 100644
index 0000000..1aa30ac
--- /dev/null
+++ b/drivers/mtd/spi/spi_spl_load.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2011 OMICRON electronics GmbH
+ *
+ * based on drivers/mtd/nand/nand_spl_load.c
+ *
+ * Copyright (C) 2011
+ * Heiko Schocher, DENX Software Engineering, hs at denx.de.
+ *
+ * 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
+ */
+
+#include <common.h>
+#include <spi_flash.h>
+
+/*
+ * The main entry for SPI booting. It's necessary that SDRAM is already
+ * configured and available since this code loads the main U-Boot image
+ * from SPI into SDRAM and starts it from there.
+ */
+void spi_boot(void)
+{
+	struct spi_flash *flash;
+	void (*uboot)(void) __noreturn;
+
+	/*
+	 * Load U-Boot image from SPI flash into RAM
+	 */
+
+	flash = spi_flash_probe(CONFIG_SPL_SPI_BUS, CONFIG_SPL_SPI_CS,
+				CONFIG_SF_DEFAULT_SPEED, SPI_MODE_3);
+	if (!flash) {
+		puts("failed.\n");
+		hang();
+	}
+
+	spi_flash_read(flash, CONFIG_SYS_SPI_U_BOOT_OFFS,
+		       CONFIG_SYS_SPI_U_BOOT_SIZE,
+		       (void *) CONFIG_SYS_TEXT_BASE);
+
+	/*
+	 * Jump to U-Boot image
+	 */
+	uboot = (void *) CONFIG_SYS_TEXT_BASE;
+	(*uboot)();
+}
diff --git a/include/spi_flash.h b/include/spi_flash.h
index 2671ab5..9da9062 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -25,6 +25,7 @@
 
 #include <spi.h>
 #include <linux/types.h>
+#include <linux/compiler.h>
 
 struct spi_flash {
 	struct spi_slave *spi;
@@ -68,4 +69,6 @@ static inline int spi_flash_erase(struct spi_flash *flash, u32 offset,
 	return flash->erase(flash, offset, len);
 }
 
+void spi_boot(void) __noreturn;
+
 #endif /* _SPI_FLASH_H_ */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 3/6] arm, davinci: Add SPL support for DA850 SoCs
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 1/6] spl: display_options.o is required for SPI flash support in SPL Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot Christian Riesch
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

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>
---
 arch/arm/cpu/arm926ejs/davinci/Makefile |    3 +-
 arch/arm/cpu/arm926ejs/davinci/spl.c    |   34 ++++++++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/davinci/Makefile b/arch/arm/cpu/arm926ejs/davinci/Makefile
index 5ae89df..da7efac 100644
--- a/arch/arm/cpu/arm926ejs/davinci/Makefile
+++ b/arch/arm/cpu/arm926ejs/davinci/Makefile
@@ -38,7 +38,8 @@ COBJS-$(CONFIG_DRIVER_TI_EMAC)	+= lxt972.o dp83848.o et1011c.o ksz8873.o
 
 ifdef CONFIG_SPL_BUILD
 COBJS-y	+= spl.o
-COBJS-y	+= dm365_lowlevel.o
+COBJS-$(CONFIG_SOC_DM365)	+= dm365_lowlevel.o
+COBJS-$(CONFIG_SOC_DA8XX)	+= da850_lowlevel.o
 endif
 
 SOBJS	= reset.o
diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c b/arch/arm/cpu/arm926ejs/davinci/spl.c
index d9b9398..20f798e 100644
--- a/arch/arm/cpu/arm926ejs/davinci/spl.c
+++ b/arch/arm/cpu/arm926ejs/davinci/spl.c
@@ -26,6 +26,16 @@
 #include <nand.h>
 #include <asm/arch/dm365_lowlevel.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)
 {
@@ -41,6 +51,8 @@ void putc(char c)
 	NS16550_putc((NS16550_t)(CONFIG_SYS_NS16550_COM1), c);
 }
 
+#endif /* CONFIG_SPL_LIBCOMMON_SUPPORT */
+
 inline void hang(void)
 {
 	puts("### ERROR ### Please RESET the board ###\n");
@@ -50,14 +62,34 @@ inline void hang(void)
 
 void board_init_f(ulong dummy)
 {
+#ifdef CONFIG_SOC_DM365
 	dm36x_lowlevel_init(0);
+#endif
+#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)
 {
-
+#ifdef CONFIG_SOC_DM365
 	nand_init();
 	puts("Nand boot...\n");
 	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
 }
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
                   ` (2 preceding siblings ...)
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 3/6] arm, davinci: Add SPL support for DA850 SoCs Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-14  6:33   ` Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 5/6] mkimage: Fix variable length header support Christian Riesch
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

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>
Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
---
 board/davinci/da8xxevm/da850evm.c     |    4 +-
 board/davinci/da8xxevm/u-boot-spl.lds |   73 +++++++++++++++++++++++++++
 doc/README.davinci                    |    9 +++
 include/configs/da850evm.h            |   87 +++++++++++++++++++++++++++++++++
 4 files changed, 172 insertions(+), 1 deletions(-)
 create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds

diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c
index 9c0eade..9bd3e71 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -108,7 +108,7 @@ static const struct pinmux_config gpio_pins[] = {
 #endif
 };
 
-static const struct pinmux_resource pinmuxes[] = {
+const struct pinmux_resource pinmuxes[] = {
 #ifdef CONFIG_DRIVER_TI_EMAC
 	PINMUX_ITEM(emac_pins_mdio),
 #ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
@@ -135,6 +135,8 @@ static const struct pinmux_resource pinmuxes[] = {
 	PINMUX_ITEM(gpio_pins),
 };
 
+const int pinmuxes_size = ARRAY_SIZE(pinmuxes);
+
 static const struct lpsc_resource lpsc[] = {
 	{ DAVINCI_LPSC_AEMIF },	/* NAND, NOR */
 	{ DAVINCI_LPSC_SPI1 },	/* Serial Flash */
diff --git a/board/davinci/da8xxevm/u-boot-spl.lds b/board/davinci/da8xxevm/u-boot-spl.lds
new file mode 100644
index 0000000..6f6e065
--- /dev/null
+++ b/board/davinci/da8xxevm/u-boot-spl.lds
@@ -0,0 +1,73 @@
+/*
+ * (C) Copyright 2002
+ * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
+ *
+ * (C) Copyright 2008
+ * Guennadi Liakhovetki, DENX Software Engineering, <lg@denx.de>
+ *
+ * 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
+ */
+
+MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\
+		LENGTH = CONFIG_SPL_MAX_SIZE }
+
+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
+OUTPUT_ARCH(arm)
+ENTRY(_start)
+SECTIONS
+{
+	. = 0x00000000;
+
+	. = ALIGN(4);
+	.text      :
+	{
+	__start = .;
+	  arch/arm/cpu/arm926ejs/start.o	(.text)
+	  *(.text*)
+	} >.sram
+
+	. = ALIGN(4);
+	.rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram
+
+	. = ALIGN(4);
+	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
+	. = ALIGN(4);
+	.rel.dyn : {
+		__rel_dyn_start = .;
+		*(.rel*)
+		__rel_dyn_end = .;
+	} >.sram
+
+	.dynsym : {
+		__dynsym_start = .;
+		*(.dynsym)
+	} >.sram
+
+	.bss :
+	{
+		. = ALIGN(4);
+		__bss_start = .;
+		*(.bss*)
+		. = ALIGN(4);
+		__bss_end__ = .;
+	} >.sram
+
+	__image_copy_end = .;
+	_end = .;
+}
diff --git a/doc/README.davinci b/doc/README.davinci
index 5f1bdc8..aa7c850 100644
--- a/doc/README.davinci
+++ b/doc/README.davinci
@@ -95,6 +95,15 @@ into the RAM.
 The programmers and UBL are always released as part of any standard TI
 software release associated with an SOC.
 
+Alternative boot method (DA850 EVM only):
+For the DA850 EVM an SPL (secondary program loader, see doc/README.SPL)
+is provided to load U-Boot directly from SPI flash. In this case, the
+SPL does the low level initialization that is otherwise done by the SPL.
+To build U-Boot with this SPL, do
+make da850evm_config
+make u-boot.ais
+and program the resulting u-boot.ais file to the SPI flash of the DA850 EVM.
+
 Environment Variables
 =====================
 
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 2e2aa19..b30696a 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -65,6 +65,75 @@
 #define CONFIG_NR_DRAM_BANKS	1 /* we have 1 bank of DRAM */
 #define CONFIG_STACKSIZE	(256*1024) /* regular stack */
 
+#define CONFIG_SYS_DA850_SYSCFG_SUSPSRC (	\
+	DAVINCI_SYSCFG_SUSPSRC_TIMER0 |		\
+	DAVINCI_SYSCFG_SUSPSRC_SPI1 |		\
+	DAVINCI_SYSCFG_SUSPSRC_UART2 |		\
+	DAVINCI_SYSCFG_SUSPSRC_EMAC |		\
+	DAVINCI_SYSCFG_SUSPSRC_I2C)
+
+/*
+ * PLL configuration
+ */
+#define CONFIG_SYS_DV_CLKMODE          0
+#define CONFIG_SYS_DA850_PLL0_POSTDIV  1
+#define CONFIG_SYS_DA850_PLL0_PLLDIV1  0x8000
+#define CONFIG_SYS_DA850_PLL0_PLLDIV2  0x8001
+#define CONFIG_SYS_DA850_PLL0_PLLDIV3  0x8002
+#define CONFIG_SYS_DA850_PLL0_PLLDIV4  0x8003
+#define CONFIG_SYS_DA850_PLL0_PLLDIV5  0x8002
+#define CONFIG_SYS_DA850_PLL0_PLLDIV6  CONFIG_SYS_DA850_PLL0_PLLDIV1
+#define CONFIG_SYS_DA850_PLL0_PLLDIV7  0x8005
+
+#define CONFIG_SYS_DA850_PLL1_POSTDIV  1
+#define CONFIG_SYS_DA850_PLL1_PLLDIV1  0x8000
+#define CONFIG_SYS_DA850_PLL1_PLLDIV2  0x8001
+#define CONFIG_SYS_DA850_PLL1_PLLDIV3  0x8002
+
+#define CONFIG_SYS_DA850_PLL0_PLLM     24
+#define CONFIG_SYS_DA850_PLL1_PLLM     21
+
+/*
+ * DDR2 memory configuration
+ */
+#define CONFIG_SYS_DA850_DDR2_DDRPHYCR (DV_DDR_PHY_PWRDNEN | \
+					DV_DDR_PHY_EXT_STRBEN | \
+					(0x4 << DV_DDR_PHY_RD_LATENCY_SHIFT))
+
+#define CONFIG_SYS_DA850_DDR2_SDBCR (		\
+	(1 << DV_DDR_SDCR_MSDRAMEN_SHIFT) |	\
+	(1 << DV_DDR_SDCR_DDREN_SHIFT) |	\
+	(1 << DV_DDR_SDCR_SDRAMEN_SHIFT) |	\
+	(1 << DV_DDR_SDCR_BUS_WIDTH_SHIFT) |	\
+	(0x3 << DV_DDR_SDCR_CL_SHIFT) |		\
+	(0x2 << DV_DDR_SDCR_IBANK_SHIFT) |	\
+	(0x2 << DV_DDR_SDCR_PAGESIZE_SHIFT))
+
+/* SDBCR2 is only used if IBANK_POS bit in SDBCR is set */
+#define CONFIG_SYS_DA850_DDR2_SDBCR2 0
+
+#define CONFIG_SYS_DA850_DDR2_SDTIMR (		\
+	(14 << DV_DDR_SDTMR1_RFC_SHIFT) |	\
+	(2 << DV_DDR_SDTMR1_RP_SHIFT) |		\
+	(2 << DV_DDR_SDTMR1_RCD_SHIFT) |	\
+	(1 << DV_DDR_SDTMR1_WR_SHIFT) |		\
+	(5 << DV_DDR_SDTMR1_RAS_SHIFT) |	\
+	(8 << DV_DDR_SDTMR1_RC_SHIFT) |		\
+	(1 << DV_DDR_SDTMR1_RRD_SHIFT) |	\
+	(0 << DV_DDR_SDTMR1_WTR_SHIFT))
+
+#define CONFIG_SYS_DA850_DDR2_SDTIMR2 (		\
+	(7 << DV_DDR_SDTMR2_RASMAX_SHIFT) |	\
+	(0 << DV_DDR_SDTMR2_XP_SHIFT) |		\
+	(0 << DV_DDR_SDTMR2_ODT_SHIFT) |	\
+	(17 << DV_DDR_SDTMR2_XSNR_SHIFT) |	\
+	(199 << DV_DDR_SDTMR2_XSRD_SHIFT) |	\
+	(0 << DV_DDR_SDTMR2_RTP_SHIFT) |	\
+	(0 << DV_DDR_SDTMR2_CKE_SHIFT))
+
+#define CONFIG_SYS_DA850_DDR2_SDRCR    0x00000494
+#define CONFIG_SYS_DA850_DDR2_PBBPR    0x30
+
 /*
  * Serial Driver info
  */
@@ -76,6 +145,7 @@
 #define CONFIG_CONS_INDEX	1		/* use UART0 for console */
 #define CONFIG_BAUDRATE		115200		/* Default baud rate */
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+#define CONFIG_SYS_DA850_LPSC_UART DAVINCI_LPSC_UART2
 
 #define CONFIG_SPI
 #define CONFIG_SPI_FLASH
@@ -242,6 +312,23 @@
 #undef CONFIG_CMD_ENV
 #endif
 
+/* defines for SPL */
+#define CONFIG_SPL
+#define CONFIG_SPL_SPI_SUPPORT
+#define CONFIG_SPL_SPI_FLASH_SUPPORT
+#define CONFIG_SPL_SPI_LOAD
+#define CONFIG_SPL_SPI_BUS 0
+#define CONFIG_SPL_SPI_CS 0
+#define CONFIG_SPL_SERIAL_SUPPORT
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_LDSCRIPT	"$(BOARDDIR)/u-boot-spl.lds"
+#define CONFIG_SPL_STACK	0x8001ff00
+#define CONFIG_SPL_TEXT_BASE	0x80000000
+#define CONFIG_SPL_MAX_SIZE	32768
+#define CONFIG_SYS_SPI_U_BOOT_OFFS	0x8000
+#define CONFIG_SYS_SPI_U_BOOT_SIZE	0x30000
+
 /* additions for new relocation code, must added to all boards */
 #define CONFIG_SYS_SDRAM_BASE		0xc0000000
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x1000 - /* Fix this */ \
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 5/6] mkimage: Fix variable length header support
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
                   ` (3 preceding siblings ...)
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 6/6] arm, davinci: Add support for generating AIS images to the Makefile Christian Riesch
  2011-12-13 18:42 ` [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Tom Rini
  6 siblings, 0 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

Support for variable length images like AIS image was introduced
in commit f0662105b674a3874227316abf8536bebc9b5995. A parameter
"-s" was also introduced to prohibit copying of the image file
automatically in the main program. However, this parameter
was implemented incorrectly and the image file was copied
nevertheless.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
---
 tools/mkimage.c |   97 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 49 insertions(+), 48 deletions(-)

diff --git a/tools/mkimage.c b/tools/mkimage.c
index 36e28ec..eeb1b10 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -383,65 +383,66 @@ NXTARG:		;
 		exit (EXIT_FAILURE);
 	}
 
-	if (!params.skipcpy &&
-		(params.type == IH_TYPE_MULTI ||
-			params.type == IH_TYPE_SCRIPT)) {
-		char *file = params.datafile;
-		uint32_t size;
-
-		for (;;) {
-			char *sep = NULL;
-
-			if (file) {
-				if ((sep = strchr(file, ':')) != NULL) {
-					*sep = '\0';
+	if (!params.skipcpy) {
+		if (params.type == IH_TYPE_MULTI ||
+		    params.type == IH_TYPE_SCRIPT) {
+			char *file = params.datafile;
+			uint32_t size;
+
+			for (;;) {
+				char *sep = NULL;
+
+				if (file) {
+					if ((sep = strchr(file, ':')) != NULL) {
+						*sep = '\0';
+					}
+
+					if (stat (file, &sbuf) < 0) {
+						fprintf (stderr, "%s: Can't stat %s: %s\n",
+							 params.cmdname, file, strerror(errno));
+						exit (EXIT_FAILURE);
+					}
+					size = cpu_to_uimage (sbuf.st_size);
+				} else {
+					size = 0;
 				}
 
-				if (stat (file, &sbuf) < 0) {
-					fprintf (stderr, "%s: Can't stat %s: %s\n",
-						params.cmdname, file, strerror(errno));
+				if (write(ifd, (char *)&size, sizeof(size)) != sizeof(size)) {
+					fprintf (stderr, "%s: Write error on %s: %s\n",
+						 params.cmdname, params.imagefile,
+						 strerror(errno));
 					exit (EXIT_FAILURE);
 				}
-				size = cpu_to_uimage (sbuf.st_size);
-			} else {
-				size = 0;
-			}
 
-			if (write(ifd, (char *)&size, sizeof(size)) != sizeof(size)) {
-				fprintf (stderr, "%s: Write error on %s: %s\n",
-					params.cmdname, params.imagefile,
-					strerror(errno));
-				exit (EXIT_FAILURE);
-			}
+				if (!file) {
+					break;
+				}
 
-			if (!file) {
-				break;
+				if (sep) {
+					*sep = ':';
+					file = sep + 1;
+				} else {
+					file = NULL;
+				}
 			}
 
-			if (sep) {
-				*sep = ':';
-				file = sep + 1;
-			} else {
-				file = NULL;
-			}
-		}
+			file = params.datafile;
 
-		file = params.datafile;
-
-		for (;;) {
-			char *sep = strchr(file, ':');
-			if (sep) {
-				*sep = '\0';
-				copy_file (ifd, file, 1);
-				*sep++ = ':';
-				file = sep;
-			} else {
-				copy_file (ifd, file, 0);
-				break;
+			for (;;) {
+				char *sep = strchr(file, ':');
+				if (sep) {
+					*sep = '\0';
+					copy_file (ifd, file, 1);
+					*sep++ = ':';
+					file = sep;
+				} else {
+					copy_file (ifd, file, 0);
+					break;
+				}
 			}
+		} else {
+			copy_file (ifd, params.datafile, 0);
 		}
-	} else {
-		copy_file (ifd, params.datafile, 0);
 	}
 
 	/* We're a bit of paranoid */
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 6/6] arm, davinci: Add support for generating AIS images to the Makefile
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
                   ` (4 preceding siblings ...)
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 5/6] mkimage: Fix variable length header support Christian Riesch
@ 2011-12-09 19:47 ` Christian Riesch
  2011-12-13 18:42 ` [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Tom Rini
  6 siblings, 0 replies; 14+ messages in thread
From: Christian Riesch @ 2011-12-09 19:47 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
---
 .gitignore |    1 +
 Makefile   |   13 +++++++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index ff4bae0..e4e95e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,6 +35,7 @@
 /u-boot.dis
 /u-boot.lds
 /u-boot.ubl
+/u-boot.ais
 /u-boot.dtb
 /u-boot.sb
 
diff --git a/Makefile b/Makefile
index de65a17..4038a87 100644
--- a/Makefile
+++ b/Makefile
@@ -420,6 +420,18 @@ $(obj)u-boot.ubl:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
 		rm $(obj)u-boot-ubl.bin
 		rm $(obj)spl/u-boot-spl-pad.bin
 
+$(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
+		$(obj)tools/mkimage -s -n /dev/null -T aisimage \
+			-e $(CONFIG_SPL_TEXT_BASE) \
+			-d $(obj)spl/u-boot-spl.bin \
+			$(obj)spl/u-boot-spl.ais
+		$(OBJCOPY) ${OBJCFLAGS} -I binary \
+			--pad-to=$(CONFIG_SPL_MAX_SIZE) -O binary \
+			$(obj)spl/u-boot-spl.ais $(obj)spl/u-boot-spl-pad.ais
+		cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.bin > \
+			$(obj)u-boot.ais
+		rm $(obj)spl/u-boot-spl{,-pad}.ais
+
 $(obj)u-boot.sb:       $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
 		elftosb -zdf imx28 -c $(TOPDIR)/board/$(BOARDDIR)/u-boot.bd \
 			-o $(obj)u-boot.sb
@@ -794,6 +806,7 @@ clobber:	tidy
 	@rm -f $(obj)u-boot.kwb
 	@rm -f $(obj)u-boot.imx
 	@rm -f $(obj)u-boot.ubl
+	@rm -f $(obj)u-boot.ais
 	@rm -f $(obj)u-boot.dtb
 	@rm -f $(obj)u-boot.sb
 	@rm -f $(obj)tools/inca-swap-bytes
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI
  2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
                   ` (5 preceding siblings ...)
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 6/6] arm, davinci: Add support for generating AIS images to the Makefile Christian Riesch
@ 2011-12-13 18:42 ` Tom Rini
  6 siblings, 0 replies; 14+ messages in thread
From: Tom Rini @ 2011-12-13 18:42 UTC (permalink / raw)
  To: u-boot

On Fri, Dec 9, 2011 at 12:47 PM, Christian Riesch
<christian.riesch@omicron.at> wrote:
>
> Hi,
> this is v6 of the last part of my recent patchset
>
> [PATCH v3 00/15] Add an SPL to boot the da850evm from SPI
> http://lists.denx.de/pipermail/u-boot/2011-November/111182.html
>
> Most of the other parts are already merged, together with
> this patchset they introduce an SPL for the da850evm to run
> u-boot directly without the need of a UBL (see doc/README.davinci).
>
> The first patches fix dependencies and introduce a function
> to load the u-boot image from SPI flash. Patch #4 adds an
> SPL to the da850evm configuration. Finally, a simple
> AIS (Application Image Script) is required to start the SPL.
> This AIS is generated by mkimage. Patch #5 fixes mkimage for building
> AIS. Finally the last patch introduces a u-boot.ais target in the
> Makefile.
>
> Changes for v6:
> - rebased to git://git.denx.de/u-boot.git master

Merged into u-boot-ti/next, thanks for all the hard work here!

-- 
Tom

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-09 19:47 ` [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot Christian Riesch
@ 2011-12-14  6:33   ` Christian Riesch
  2011-12-14 14:09     ` Tom Rini
  0 siblings, 1 reply; 14+ messages in thread
From: Christian Riesch @ 2011-12-14  6:33 UTC (permalink / raw)
  To: u-boot

Hi,

On Friday, December 9, 2011, Christian Riesch <christian.riesch@omicron.at>
wrote:
> 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>
> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
> ---
>  board/davinci/da8xxevm/da850evm.c     |    4 +-
>  board/davinci/da8xxevm/u-boot-spl.lds |   73 +++++++++++++++++++++++++++
>  doc/README.davinci                    |    9 +++
>  include/configs/da850evm.h            |   87
+++++++++++++++++++++++++++++++++
>  4 files changed, 172 insertions(+), 1 deletions(-)
>  create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds

Thanks for merging this into ti/next, Tom!

I'd like to submit a similar patch for the da850_am18xxevm board. Before
commit 06194b6b65f701a9d6ef2d9b4123c4afe57d8783 both the da850evm and the
da850_am18xxevm used the same configuration, and the differences introduced
in the commit are rather small. Should I submit a patch that adds the same
SPL configuration to the am18xx board config? Or should we create a header
file that contains the common parts and include it in both da850evm.h and
da850_am18xxevm.h? Or shall we use the Options column in boards.cfg?

Regards, Christian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-14  6:33   ` Christian Riesch
@ 2011-12-14 14:09     ` Tom Rini
  2011-12-14 19:09       ` Christian Riesch
  0 siblings, 1 reply; 14+ messages in thread
From: Tom Rini @ 2011-12-14 14:09 UTC (permalink / raw)
  To: u-boot

On Tue, Dec 13, 2011 at 11:33 PM, Christian Riesch
<christian.riesch@omicron.at> wrote:
> Hi,
>
> On Friday, December 9, 2011, Christian Riesch <christian.riesch@omicron.at>
> wrote:
>> 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>
>> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
>> ---
>> ?board/davinci/da8xxevm/da850evm.c ? ? | ? ?4 +-
>> ?board/davinci/da8xxevm/u-boot-spl.lds | ? 73 +++++++++++++++++++++++++++
>> ?doc/README.davinci ? ? ? ? ? ? ? ? ? ?| ? ?9 +++
>> ?include/configs/da850evm.h ? ? ? ? ? ?| ? 87
> +++++++++++++++++++++++++++++++++
>> ?4 files changed, 172 insertions(+), 1 deletions(-)
>> ?create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds
>
> Thanks for merging this into ti/next, Tom!
>
> I'd like to submit a similar patch for the da850_am18xxevm board. Before
> commit 06194b6b65f701a9d6ef2d9b4123c4afe57d8783 both the da850evm and the
> da850_am18xxevm used the same configuration, and the differences introduced
> in the commit are rather small. Should I submit a patch that adds the same
> SPL configuration to the am18xx board config? Or should we create a header
> file that contains the common parts and include it in both da850evm.h and
> da850_am18xxevm.h? Or shall we use the Options column in boards.cfg?

I'd like it if you submitted a patch for both boards.  On my TODO list
is seeing about cleaning up some of the config files for non-omap4/5
(which have a common.h file they start with) in 2012.03.

-- 
Tom

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot]  [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-14 14:09     ` Tom Rini
@ 2011-12-14 19:09       ` Christian Riesch
  2011-12-14 19:15         ` Tom Rini
  0 siblings, 1 reply; 14+ messages in thread
From: Christian Riesch @ 2011-12-14 19:09 UTC (permalink / raw)
  To: u-boot

Hi,

On Wed, Dec 14, 2011 at 3:09 PM, Tom Rini <tom.rini@gmail.com> wrote:
> On Tue, Dec 13, 2011 at 11:33 PM, Christian Riesch
> <christian.riesch@omicron.at> wrote:
>> Hi,
>>
>> On Friday, December 9, 2011, Christian Riesch <
christian.riesch@omicron.at>
>> wrote:
>>> 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>
>>> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
>>> ---
>>>  board/davinci/da8xxevm/da850evm.c     |    4 +-
>>>  board/davinci/da8xxevm/u-boot-spl.lds |   73
+++++++++++++++++++++++++++
>>>  doc/README.davinci                    |    9 +++
>>>  include/configs/da850evm.h            |   87
>> +++++++++++++++++++++++++++++++++
>>>  4 files changed, 172 insertions(+), 1 deletions(-)
>>>  create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds
>>
>> Thanks for merging this into ti/next, Tom!
>>
>> I'd like to submit a similar patch for the da850_am18xxevm board. Before
>> commit 06194b6b65f701a9d6ef2d9b4123c4afe57d8783 both the da850evm and the
>> da850_am18xxevm used the same configuration, and the differences
introduced
>> in the commit are rather small. Should I submit a patch that adds the
same
>> SPL configuration to the am18xx board config? Or should we create a
header
>> file that contains the common parts and include it in both da850evm.h and
>> da850_am18xxevm.h? Or shall we use the Options column in boards.cfg?
>
> I'd like it if you submitted a patch for both boards.  On my TODO list
> is seeing about cleaning up some of the config files for non-omap4/5
> (which have a common.h file they start with) in 2012.03.

Ok, I'll try to provide a patch for da850_am18xxevm.h, but currently I
can't get it running:

I applied the changes that I did in include/configs/da850evm.h before to
da850_am18xxevm.h as well. I expected this to work on my board since the
board I used to test the SPI flash SPL patchset for the da850evm was
actually an AM1808 experimenter's kit.

Now my SPL reports:

SF: Unsupported manufacturer 20
failed.

Manufacturer 0x20 seems to be ST and the main difference between da850evm.h
and da850_am18xxevm.h is the missing #define CONFIG_SPI_FLASH_STMICRO in
da850_am18xxevm.h.

So my question is: Which boards are supported by da850_am18xxevm.h? I
thought that I probably have an old revision of the board, but I couldn't
find anything regarding SPI flash in LogicPD's PCNs.

Thanks for your help!
Christian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-14 19:09       ` Christian Riesch
@ 2011-12-14 19:15         ` Tom Rini
  2011-12-14 21:49           ` Christian Riesch
  0 siblings, 1 reply; 14+ messages in thread
From: Tom Rini @ 2011-12-14 19:15 UTC (permalink / raw)
  To: u-boot

On 12/14/2011 12:09 PM, Christian Riesch wrote:
> Hi,
> 
> On Wed, Dec 14, 2011 at 3:09 PM, Tom Rini <tom.rini@gmail.com
> <mailto:tom.rini@gmail.com>> wrote:
>> On Tue, Dec 13, 2011 at 11:33 PM, Christian Riesch
>> <christian.riesch at omicron.at <mailto:christian.riesch@omicron.at>> wrote:
>>> Hi,
>>>
>>> On Friday, December 9, 2011, Christian Riesch
> <christian.riesch at omicron.at <mailto:christian.riesch@omicron.at>>
>>> wrote:
>>>> Signed-off-by: Christian Riesch <christian.riesch@omicron.at
> <mailto:christian.riesch@omicron.at>>
>>>> Cc: Heiko Schocher <hs at denx.de <mailto:hs@denx.de>>
>>>> Cc: Sandeep Paulraj <s-paulraj at ti.com <mailto:s-paulraj@ti.com>>
>>>> Cc: Tom Rini <trini at ti.com <mailto:trini@ti.com>>
>>>> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com
> <mailto:sudhakar.raj@ti.com>>
>>>> ---
>>>>  board/davinci/da8xxevm/da850evm.c     |    4 +-
>>>>  board/davinci/da8xxevm/u-boot-spl.lds |   73
> +++++++++++++++++++++++++++
>>>>  doc/README.davinci                    |    9 +++
>>>>  include/configs/da850evm.h            |   87
>>> +++++++++++++++++++++++++++++++++
>>>>  4 files changed, 172 insertions(+), 1 deletions(-)
>>>>  create mode 100644 board/davinci/da8xxevm/u-boot-spl.lds
>>>
>>> Thanks for merging this into ti/next, Tom!
>>>
>>> I'd like to submit a similar patch for the da850_am18xxevm board. Before
>>> commit 06194b6b65f701a9d6ef2d9b4123c4afe57d8783 both the da850evm and the
>>> da850_am18xxevm used the same configuration, and the differences
> introduced
>>> in the commit are rather small. Should I submit a patch that adds the
> same
>>> SPL configuration to the am18xx board config? Or should we create a
> header
>>> file that contains the common parts and include it in both da850evm.h and
>>> da850_am18xxevm.h? Or shall we use the Options column in boards.cfg?
>>
>> I'd like it if you submitted a patch for both boards.  On my TODO list
>> is seeing about cleaning up some of the config files for non-omap4/5
>> (which have a common.h file they start with) in 2012.03.
> 
> Ok, I'll try to provide a patch for da850_am18xxevm.h, but currently I
> can't get it running:
> 
> I applied the changes that I did in include/configs/da850evm.h before to
> da850_am18xxevm.h as well. I expected this to work on my board since the
> board I used to test the SPI flash SPL patchset for the da850evm was
> actually an AM1808 experimenter's kit.
> 
> Now my SPL reports:
> 
> SF: Unsupported manufacturer 20
> failed.
> 
> Manufacturer 0x20 seems to be ST and the main difference between
> da850evm.h and da850_am18xxevm.h is the missing #define
> CONFIG_SPI_FLASH_STMICRO in da850_am18xxevm.h.
> 
> So my question is: Which boards are supported by da850_am18xxevm.h? I
> thought that I probably have an old revision of the board, but I
> couldn't find anything regarding SPI flash in LogicPD's PCNs.

So, the da850evm is for the OMAP-L138 and da850_am18xxevm is for the
AM18xx EVM.  However, the config split was done, I believe, but folks on
the L138 side and might not have been tried fully on the am1808.  So
since you've got the AM1808 and can test it there, lets add the missing
SPI_FLASH define too.  I think my coworker that did a quick non-SPL
check of the code the other week also noted SPI wasn't supported.

-- 
Tom

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot]  [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-14 19:15         ` Tom Rini
@ 2011-12-14 21:49           ` Christian Riesch
  2011-12-14 22:09             ` Tom Rini
  0 siblings, 1 reply; 14+ messages in thread
From: Christian Riesch @ 2011-12-14 21:49 UTC (permalink / raw)
  To: u-boot

Hi Tom,
thanks for your reply.

On Wed, Dec 14, 2011 at 8:15 PM, Tom Rini <trini@ti.com> wrote:
> On 12/14/2011 12:09 PM, Christian Riesch wrote:
>> I applied the changes that I did in include/configs/da850evm.h before to
>> da850_am18xxevm.h as well. I expected this to work on my board since the
>> board I used to test the SPI flash SPL patchset for the da850evm was
>> actually an AM1808 experimenter's kit.
>>
>> Now my SPL reports:
>>
>> SF: Unsupported manufacturer 20
>> failed.
>>
>> Manufacturer 0x20 seems to be ST and the main difference between
>> da850evm.h and da850_am18xxevm.h is the missing #define
>> CONFIG_SPI_FLASH_STMICRO in da850_am18xxevm.h.
>>
>> So my question is: Which boards are supported by da850_am18xxevm.h? I
>> thought that I probably have an old revision of the board, but I
>> couldn't find anything regarding SPI flash in LogicPD's PCNs.
>
> So, the da850evm is for the OMAP-L138 and da850_am18xxevm is for the
> AM18xx EVM.  However, the config split was done, I believe, but folks on
> the L138 side and might not have been tried fully on the am1808.  So
> since you've got the AM1808 and can test it there, lets add the missing
> SPI_FLASH define too.  I think my coworker that did a quick non-SPL
> check of the code the other week also noted SPI wasn't supported.

Ok, I can do that.

But then I wonder why a separate .h file for the AM18xx EVM was introduced.
My AM18xx EVM works just fine with the da850evm.h configuration that's
currently in mainline u-boot.

I did a diff between the two:

> --- da850evm.h
> +++ da850_am18xxevm.h
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
> + * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
>   *
>   * Based on davinci_dvevm.h. Original Copyrights follow:
>   *
> @@ -44,10 +44,7 @@
>  #define CONFIG_SYS_HZ                  1000
>  #define CONFIG_SKIP_LOWLEVEL_INIT
>  #define CONFIG_SYS_TEXT_BASE           0xc1080000
> -#define CONFIG_SYS_ICACHE_OFF
> -#define CONFIG_SYS_DCACHE_OFF
> -#define CONFIG_SYS_L2CACHE_OFF

Pointless because of
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/116671/focus=118643
So it could be removed.

> -
> +#define CONFIG_DA850_AM18X_EVM

Afaik this is used to pass the information whether this is AM1808 or
OMAP-L138 to the Linux kernel.

>  /*
>   * Memory Info
>   */
> @@ -60,7 +57,7 @@
>  #define CONFIG_SYS_MEMTEST_START       (PHYS_SDRAM_1 + 0x2000000)
>
>  /* memtest will be run on 16MB */
> -#define CONFIG_SYS_MEMTEST_END         (PHYS_SDRAM_1 + 0x2000000 +
16*1024*1024)
> +#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 0x2000000 + 16*1024*1024)

formatting only...

>  #define CONFIG_NR_DRAM_BANKS   1 /* we have 1 bank of DRAM */
>  #define CONFIG_STACKSIZE       (256*1024) /* regular stack */
> @@ -79,7 +76,6 @@
>
>  #define CONFIG_SPI
>  #define CONFIG_SPI_FLASH
> -#define CONFIG_SPI_FLASH_STMICRO

I'll add this line back because my AM1808 experimenter's kit has an ST
flash.

>  #define CONFIG_SPI_FLASH_WINBOND
>  #define CONFIG_DAVINCI_SPI
>  #define CONFIG_SYS_SPI_BASE            DAVINCI_SPI1_BASE
> @@ -122,12 +118,14 @@
>   * Network & Ethernet Configuration
>   */
>  #ifdef CONFIG_DRIVER_TI_EMAC
> +#define CONFIG_EMAC_MDIO_PHY_NUM       0
>  #define CONFIG_MII
>  #define CONFIG_BOOTP_DEFAULT
>  #define CONFIG_BOOTP_DNS
>  #define CONFIG_BOOTP_DNS2
>  #define CONFIG_BOOTP_SEND_HOSTNAME
>  #define CONFIG_NET_RETRY_COUNT 10
> +#define CONFIG_NET_MULTI

I don't know why these two additional lines are needed. Network works fine
with the da850evm.h config on my AM1808 experimenter's kit. Any ideas? Can
we remove these?

>  #endif
>
>  #ifdef CONFIG_USE_NOR
> @@ -160,7 +158,6 @@
>   * U-Boot general configuration
>   */
>  #define CONFIG_MISC_INIT_R
> -#define CONFIG_BOARD_EARLY_INIT_F

I have a patch in my queue that adds this line also to da850_am1808evm.h to
allow booting without the UBL (similar to commit
ae5c77dd908edaf55025fa3f41095bfb9cb1b973).

>  #define CONFIG_BOOTFILE                "uImage" /* Boot file name */
>  #define CONFIG_SYS_PROMPT      "U-Boot > " /* Command Prompt */
>  #define CONFIG_SYS_CBSIZE      1024 /* Console I/O Buffer Size */
> @@ -244,6 +241,6 @@
>
>  /* additions for new relocation code, must added to all boards */
>  #define CONFIG_SYS_SDRAM_BASE          0xc0000000
> -#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE +
0x1000 - /* Fix this */ \
> -                                       GENERATED_GBL_DATA_SIZE)
> +#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_SDRAM_BASE +
0x1000 - \
> +                                       /* Fix this */
GENERATED_GBL_DATA_SIZE)

Again formatting change only.

>  #endif /* __CONFIG_H */

So from my point of view it looks like we could remove the entire
da850_am18xxevm.h and just find a different way to pass the
AM1808-or-OMAP-L138 information to Linux.

Regards, Christian

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot
  2011-12-14 21:49           ` Christian Riesch
@ 2011-12-14 22:09             ` Tom Rini
  0 siblings, 0 replies; 14+ messages in thread
From: Tom Rini @ 2011-12-14 22:09 UTC (permalink / raw)
  To: u-boot

On 12/14/2011 02:49 PM, Christian Riesch wrote:
> Hi Tom,
> thanks for your reply.
> 
> On Wed, Dec 14, 2011 at 8:15 PM, Tom Rini <trini@ti.com
> <mailto:trini@ti.com>> wrote:
>> On 12/14/2011 12:09 PM, Christian Riesch wrote:
>>> I applied the changes that I did in include/configs/da850evm.h before to
>>> da850_am18xxevm.h as well. I expected this to work on my board since the
>>> board I used to test the SPI flash SPL patchset for the da850evm was
>>> actually an AM1808 experimenter's kit.
>>>
>>> Now my SPL reports:
>>>
>>> SF: Unsupported manufacturer 20
>>> failed.
>>>
>>> Manufacturer 0x20 seems to be ST and the main difference between
>>> da850evm.h and da850_am18xxevm.h is the missing #define
>>> CONFIG_SPI_FLASH_STMICRO in da850_am18xxevm.h.
>>>
>>> So my question is: Which boards are supported by da850_am18xxevm.h? I
>>> thought that I probably have an old revision of the board, but I
>>> couldn't find anything regarding SPI flash in LogicPD's PCNs.
>>
>> So, the da850evm is for the OMAP-L138 and da850_am18xxevm is for the
>> AM18xx EVM.  However, the config split was done, I believe, but folks on
>> the L138 side and might not have been tried fully on the am1808.  So
>> since you've got the AM1808 and can test it there, lets add the missing
>> SPI_FLASH define too.  I think my coworker that did a quick non-SPL
>> check of the code the other week also noted SPI wasn't supported.
> 
> Ok, I can do that.
> 
> But then I wonder why a separate .h file for the AM18xx EVM was
> introduced. My AM18xx EVM works just fine with the da850evm.h
> configuration that's currently in mainline u-boot.
> 
> I did a diff between the two:
[snip explanation of how little is actually different]

I agree.  It's on my list to unpack and get my am18xx EVM setup and see
if perhaps we can't just use boards.cfg to build for L138 or AM1808.

-- 
Tom

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2011-12-14 22:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-09 19:47 [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Christian Riesch
2011-12-09 19:47 ` [U-Boot] [PATCH v6 1/6] spl: display_options.o is required for SPI flash support in SPL Christian Riesch
2011-12-09 19:47 ` [U-Boot] [PATCH v6 2/6] sf: Add spi_boot() to allow booting from SPI flash in an SPL Christian Riesch
2011-12-09 19:47 ` [U-Boot] [PATCH v6 3/6] arm, davinci: Add SPL support for DA850 SoCs Christian Riesch
2011-12-09 19:47 ` [U-Boot] [PATCH v6 4/6] arm, da850evm: Add an SPL for SPI boot Christian Riesch
2011-12-14  6:33   ` Christian Riesch
2011-12-14 14:09     ` Tom Rini
2011-12-14 19:09       ` Christian Riesch
2011-12-14 19:15         ` Tom Rini
2011-12-14 21:49           ` Christian Riesch
2011-12-14 22:09             ` Tom Rini
2011-12-09 19:47 ` [U-Boot] [PATCH v6 5/6] mkimage: Fix variable length header support Christian Riesch
2011-12-09 19:47 ` [U-Boot] [PATCH v6 6/6] arm, davinci: Add support for generating AIS images to the Makefile Christian Riesch
2011-12-13 18:42 ` [U-Boot] [PATCH v6 0/6] Add an SPL to boot the da850evm from SPI Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.