Mike Frysinger | 1 Jun 2008 04:59
Picon
Favicon
Gravatar

Pull request u-boot-blackfin.git

The following changes since commit 1f1554841a4c8e069d331176f0c3059fb2bb8280:
  Wolfgang Denk (1):
        Merge branch 'master' of /home/wd/git/u-boot/custodians

are available in the git repository at:

  git://www.denx.de/git/u-boot-blackfin.git review

Mike Frysinger (14):
      Blackfin: make baud calculation more accurate
      Blackfin: fix up UART status bit handling
      Blackfin: fix up comment about CONFIG_BFIN_BOOT_MODE
      Blackfin: punt unused page_descriptor_table_size definition
      Blackfin: punt mem_init.h since it is no longer used
      Blackfin: update cpu header definitions from latest Blackfin toolchain
      Blackfin: punt unused BF533-STAMP definitions
      Blackfin: resurrect BF533-STAMP video splash driver
      Blackfin: touchup BF561-EZKIT board file
      Blackfin: set default boot SPI CS for BF538/BF539
      Blackfin: kill conversion warnings in async nand driver
      Blackfin: tighten up post memory coding style
      Blackfin: overhaul i2c driver
      Blackfin: implement go/boote wrappers

 board/bf533-stamp/Makefile                      |    9 +-
 board/bf533-stamp/bf533-stamp.c                 |    1 -
 board/bf533-stamp/bf533-stamp.h                 |    3 -
 board/bf533-stamp/video.c                       |  257 +++++++++++++
 board/bf533-stamp/video.h                       |   25 ++
 board/bf537-stamp/nand.c                        |    8 +-
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: dont call i2c_init() from board_init_r()

Since the common framework already calls i2c_init(), there is no need
for the Blackfin board_init_r() to do it, so drop the call.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 lib_blackfin/board.c |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index 43d8be8..aae89d6 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
 <at>  <at>  -332,16 +332,6  <at>  <at>  void board_init_f(ulong bootflag)
 	board_init_r((gd_t *) gd, 0x20000010);
 }

-#if defined(CONFIG_SOFT_I2C) || defined(CONFIG_HARD_I2C)
-static int init_func_i2c(void)
-{
-	puts("I2C:   ");
-	i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);
-	puts("ready\n");
-	return (0);
-}
-#endif
-
 void board_init_r(gd_t * id, ulong dest_addr)
 {
 	extern void malloc_bin_reloc(void);
 <at>  <at>  -450,10 +440,6  <at>  <at>  void board_init_r(gd_t * id, ulong dest_addr)
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: unify cache handling code

Unify all of the cache handling code in the same place and add support
for properly clearing write back data caches.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/cpu.c   |   35 ----------------------
 lib_blackfin/cache.c |   77 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+), 35 deletions(-)

diff --git a/cpu/blackfin/cpu.c b/cpu/blackfin/cpu.c
index 53de5ab..5ae8875 100644
--- a/cpu/blackfin/cpu.c
+++ b/cpu/blackfin/cpu.c
 <at>  <at>  -14,46 +14,11  <at>  <at> 
 #include <asm/blackfin.h>
 #include <asm/cplb.h>
 #include <asm/mach-common/bits/core.h>
-#include <asm/mach-common/bits/mpu.h>
 #include <asm/mach-common/bits/trace.h>

 #include "cpu.h"
 #include "serial.h"

-void icache_enable(void)
-{
-	bfin_write_IMEM_CONTROL(bfin_read_IMEM_CONTROL() | (IMC | ENICPLB));
-	SSYNC();
-}
-
-void icache_disable(void)
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: update proc headers from toolchain

Pull in updates from the Blackfin toolchain such as updated anomaly lists
and bootrom definitions.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 include/asm-blackfin/mach-bf527/anomaly.h       |   61 ++++++++++++++++++++---
 include/asm-blackfin/mach-bf533/anomaly.h       |   25 ++++++---
 include/asm-blackfin/mach-bf537/anomaly.h       |   15 +++++-
 include/asm-blackfin/mach-bf548/anomaly.h       |    1 +
 include/asm-blackfin/mach-bf561/anomaly.h       |    8 ++-
 include/asm-blackfin/mach-common/bits/bootrom.h |   11 ++++
 6 files changed, 102 insertions(+), 19 deletions(-)

diff --git a/include/asm-blackfin/mach-bf527/anomaly.h b/include/asm-blackfin/mach-bf527/anomaly.h
index 058d95c..4725268 100644
--- a/include/asm-blackfin/mach-bf527/anomaly.h
+++ b/include/asm-blackfin/mach-bf527/anomaly.h
 <at>  <at>  -2,12 +2,12  <at>  <at> 
  * File: include/asm-blackfin/mach-bf527/anomaly.h
  * Bugs: Enter bugs at http://blackfin.uclinux.org/
  *
- * Copyright (C) 2004-2007 Analog Devices Inc.
+ * Copyright (C) 2004-2008 Analog Devices Inc.
  * Licensed under the GPL-2 or later.
  */

 /* This file shoule be up to date with:
- *  - Revision A, May 30, 2007; ADSP-BF527 Blackfin Processor Anomaly List
+ *  - Revision C, 01/25/2008; ADSP-BF527 Blackfin Processor Anomaly List
  */
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: protect default flash according to CFG_MONITOR_LEN

As pointed out by Stefan Pledl, use the CFG_MONITOR_LEN define rather than
assuming a 128kb region when setting up the default flash protection.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 lib_blackfin/board.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index aae89d6..1a613c3 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
 <at>  <at>  -347,14 +347,13  <at>  <at>  void board_init_r(gd_t * id, ulong dest_addr)
 #endif

 #if	!defined(CFG_NO_FLASH)
-	/* There are some other pointer constants we must deal with */
-	/* configure available FLASH banks */
+	/* Initialize the flash and protect u-boot by default */
 	extern flash_info_t flash_info[];
-	ulong size = flash_init();
 	puts("Flash: ");
+	ulong size = flash_init();
 	print_size(size, "\n");
 	flash_protect(FLAG_PROTECT_SET, CFG_FLASH_BASE,
-		      CFG_FLASH_BASE + 0x1ffff, &flash_info[0]);
+		CFG_FLASH_BASE + CFG_MONITOR_LEN - 1, &flash_info[0]);
 	bd->bi_flashstart = CFG_FLASH_BASE;
 	bd->bi_flashsize = size;
 	bd->bi_flashoffset = 0;
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: use common memcpy routine during init

Rather than using a local custom memcpy function, just call the existing
optimized Blackfin version.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/start.S |   32 +++++++++++---------------------
 1 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/cpu/blackfin/start.S b/cpu/blackfin/start.S
index 30212e9..9b84f74 100644
--- a/cpu/blackfin/start.S
+++ b/cpu/blackfin/start.S
 <at>  <at>  -125,8 +125,9  <at>  <at>  ENTRY(_start)
 	 */
 	r6 = 1 (x);

-	/* Relocate from wherever are (FLASH/RAM/etc...) to the
-	 * hardcoded monitor location in the end of RAM.
+	/* Relocate from wherever are (FLASH/RAM/etc...) to the hardcoded
+	 * monitor location in the end of RAM.  We know that memcpy() only
+	 * uses registers, so it is safe to call here.
 	 */
 	serial_early_puts("Relocate");
 	call _get_pc;
 <at>  <at>  -135,27 +136,16  <at>  <at>  ENTRY(_start)
 	r2.h = .Loffset;
 	r3.l = _start;
 	r3.h = _start;
-	r1 = r2 - r3;
-
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: enable support for nested interrupts

During cpu init, make sure we initialize the CEC properly so that
interrupts can fire and be handled while U-Boot is running.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/cpu.c   |    4 ----
 cpu/blackfin/start.S |   12 +++++++++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/cpu/blackfin/cpu.c b/cpu/blackfin/cpu.c
index 5ae8875..ca788bb 100644
--- a/cpu/blackfin/cpu.c
+++ b/cpu/blackfin/cpu.c
 <at>  <at>  -98,9 +98,5  <at>  <at>  int irq_init(void)
 	bfin_write_EVT15(evt_default);
 	bfin_write_ILAT(0);
 	CSYNC();
-	/* enable all interrupts except for core timer */
-	irq_flags = 0xffffffbf;
-	local_irq_enable();
-	CSYNC();
 	return 0;
 }
diff --git a/cpu/blackfin/start.S b/cpu/blackfin/start.S
index 9b84f74..96408e3 100644
--- a/cpu/blackfin/start.S
+++ b/cpu/blackfin/start.S
 <at>  <at>  -170,7 +170,7  <at>  <at>  ENTRY(_start)

 	/* Now lower ourselves from the highest interrupt level to
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: respect CONFIG_CLKIN_HALF

As pointed out by Ivan Koryakovskiy, the initialization code was not
actually respecting the CONFIG_CLKIN_HALF option when configuring the
PLL_CTL register.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/initcode.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/cpu/blackfin/initcode.c b/cpu/blackfin/initcode.c
index 0fa3e53..95797ff 100644
--- a/cpu/blackfin/initcode.c
+++ b/cpu/blackfin/initcode.c
 <at>  <at>  -158,7 +158,7  <at>  <at>  static inline void serial_putc(char c)
 #endif

 #ifndef CONFIG_PLL_CTL_VAL
-# define CONFIG_PLL_CTL_VAL (SPORT_HYST | (CONFIG_VCO_MULT << 9))
+# define CONFIG_PLL_CTL_VAL (SPORT_HYST | (CONFIG_VCO_MULT << 9) | CONFIG_CLKIN_HALF)
 #endif

 #ifndef CONFIG_EBIU_RSTCTL_VAL
--

-- 
1.5.5.3

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: setup a sane default EBIU_SDBCTL for SDRAM controllers

If the board config does not specify an explicit EBIU_SDBCTL value, set it
up with sane values based on other configuration options.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/initcode.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/cpu/blackfin/initcode.c b/cpu/blackfin/initcode.c
index 95797ff..4890616 100644
--- a/cpu/blackfin/initcode.c
+++ b/cpu/blackfin/initcode.c
 <at>  <at>  -212,6 +212,39  <at>  <at>  static inline void serial_putc(char c)
 # define CONFIG_VR_CTL_VAL (CONFIG_VR_CTL_CLKBUF | CONFIG_VR_CTL_VLEV | CONFIG_VR_CTL_FREQ)
 #endif

+#ifndef EBIU_RSTCTL
+/* Blackfin with SDRAM */
+#ifndef CONFIG_EBIU_SDBCTL_VAL
+# if CONFIG_MEM_SIZE == 16
+#  define CONFIG_EBSZ_VAL EBSZ_16
+# elif CONFIG_MEM_SIZE == 32
+#  define CONFIG_EBSZ_VAL EBSZ_32
+# elif CONFIG_MEM_SIZE == 64
+#  define CONFIG_EBSZ_VAL EBSZ_64
+# elif CONFIG_MEM_SIZE == 128
+#  define CONFIG_EBSZ_VAL EBSZ_128
+# elif CONFIG_MEM_SIZE == 256
+#  define CONFIG_EBSZ_VAL EBSZ_256
+# elif CONFIG_MEM_SIZE == 512
(Continue reading)

Mike Frysinger | 1 Jun 2008 07:38
Picon
Favicon
Gravatar

[PATCH/review] Blackfin: use on-chip syscontrol() rom function when available

Newer Blackfin's have an on-chip rom with a syscontrol() function that needs
to be used to properly program the memory and voltage settings as it will
include (possibly critical) factory tested bias values.

Signed-off-by: Mike Frysinger <vapier <at> gentoo.org>
---
 cpu/blackfin/initcode.c |   58 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/cpu/blackfin/initcode.c b/cpu/blackfin/initcode.c
index 4890616..19ad7b2 100644
--- a/cpu/blackfin/initcode.c
+++ b/cpu/blackfin/initcode.c
 <at>  <at>  -296,34 +296,50  <at>  <at>  void initcode(ADI_BOOT_DATA *bootstruct)
 	bfin_write_SIC_IWR(1);
 #endif

-	serial_putc('L');
+	/* With newer bootroms, we use the helper function to set up
+	 * the memory controller.  Older bootroms lacks such helpers
+	 * so we do it ourselves.
+	 */
+	if (BOOTROM_CAPS_SYSCONTROL) {
+		serial_putc('S');

-	bfin_write_PLL_LOCKCNT(CONFIG_PLL_LOCKCNT_VAL);
+		ADI_SYSCTRL_VALUES memory_settings;
+		memory_settings.uwVrCtl = CONFIG_VR_CTL_VAL;
+		memory_settings.uwPllCtl = CONFIG_PLL_CTL_VAL;
+		memory_settings.uwPllDiv = CONFIG_PLL_DIV_VAL;
(Continue reading)


Gmane