Re: [U-Boot] How to support Page Mode Flash Memory Device?

2010-08-03 Thread Cheng Vincent

Dear Dave,
I have checked the datasheet of the CPU. It did support the Page Read Mode. I 
would find the way to make it possible.
BTW, i'm very appreciate of your responses.

Best Regards,

Vincent Cheng
> Subject: RE: [U-Boot] How to support Page Mode Flash Memory Device?
> Date: Tue, 3 Aug 2010 14:35:45 +0800
> From: r63...@freescale.com
> To: d...@ovro.caltech.edu; whchan...@hotmail.com
> CC: u-boot@lists.denx.de
> 
> >There is nothing to 'implement'. Page mode flash has a
> >timing parameter indicating the time to the first read,
> >and then the time for subsequent reads within a page
> >to return.
> >
> >If you are interfacing to this flash using a processor
> >local bus controller, then you generally only have one
> >read timing parameter you can configure. In that case,
> >you would have to configure the local bus controller
> >read timing of the processor to the flash worst-case
> >value, i.e., the timing for the read of the first word
> >in a page.
> 
> The local bus controller of your processor have to support the page mode
> for NOR Flash.
> IIRC, The GPCM of PQx doesn't support such feature right now.
> 
> >If you are interfacing to the flash using an FPGA, then
> >you can exploit this feature. For example, I use this
> >feature to get optimal read timing from a FPGA configuration
> >controller.
> 
> It is easy to control the timing for FPGA.
> 
> Thanks, Dave
> 
  ___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Please pull u-boot-samsung/master

2010-08-03 Thread Minkyu Kang
Please pull u-boot-samsung/master.
Thanks.

The following changes since commit 2271d3ddccfbd4a7640121669ff9b013b1fea361:
  Minkyu Kang (1):
Merge branch 'master' of git://git.denx.de/u-boot

are available in the git repository at:

  git://git.denx.de/u-boot-samsung master

Minkyu Kang (3):
  SAMSUNG: serial: remove compiler warnings
  S5P: support mmc driver
  s5p_goni: enable mmc0

 arch/arm/include/asm/arch-s5pc1xx/cpu.h |2 +
 arch/arm/include/asm/arch-s5pc1xx/mmc.h |   71 +
 board/samsung/goni/goni.c   |   37 +++
 drivers/mmc/Makefile|1 +
 drivers/mmc/s5p_mmc.c   |  478 +++
 drivers/serial/serial_s5p.c |4 +-
 include/configs/s5p_goni.h  |6 +
 7 files changed, 597 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-s5pc1xx/mmc.h
 create mode 100644 drivers/mmc/s5p_mmc.c
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] ppc4xx: Fix/Update katmai board header

2010-08-03 Thread Stefan Roese
This patch has the following fixes/changes:

- Set 'kernel_addr' and 'ramdisk_addr' to correct values and add
  'fdt_addr' environment variable
- Remove 'kozio' environment variable
- Remove environmant variables to boot ancient arch/ppc Linux kernels
- Remove CONFIG_SYS_BOOTMAPSZ definition. It's already defined to
  the same value in amcc-common.h

Signed-off-by: Stefan Roese 
---
 include/configs/katmai.h |   14 +++---
 1 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/include/configs/katmai.h b/include/configs/katmai.h
index 76e9a76..2a7ab8d 100644
--- a/include/configs/katmai.h
+++ b/include/configs/katmai.h
@@ -53,13 +53,6 @@
 #define CONFIG_HOSTNAMEkatmai
 #include "amcc-common.h"
 
-/*
- * For booting 256K-paged Linux we should have 16MB of memory
- * for Linux initial memory map
- */
-#undef CONFIG_SYS_BOOTMAPSZ
-#define CONFIG_SYS_BOOTMAPSZ   (16 << 20)
-
 #define CONFIG_BOARD_EARLY_INIT_F 1/* Call board_pre_init  */
 #undef  CONFIG_SHOW_BOOT_PROGRESS
 
@@ -188,11 +181,10 @@
 #defineCONFIG_EXTRA_ENV_SETTINGS   
\
CONFIG_AMCC_DEF_ENV \
CONFIG_AMCC_DEF_ENV_POWERPC \
-   CONFIG_AMCC_DEF_ENV_PPC_OLD \
CONFIG_AMCC_DEF_ENV_NOR_UPD \
-   "kernel_addr=fff1\0"\
-   "ramdisk_addr=fff2\0"   \
-   "kozio=bootm ffc6\0"\
+   "kernel_addr=ff00\0"\
+   "fdt_addr=ff1e\0"   \
+   "ramdisk_addr=ff20\0"   \
"pciconfighost=1\0" \
"pcie_mode=RP:RP:RP\0"  \
""
-- 
1.7.2.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC][PATCH v2 02/19] relocation: fixup cmdtable

2010-08-03 Thread Heiko Schocher
fixup_cmdtable() did all work for fixing up the cmdtable,
if CONFIG_RELOC_FIXUP_WORKS is not defined.

Signed-off-by: Heiko Schocher 
---

- changes since v1
  add comment from Peter Tyser
  - as this code is also "copied" in avr32, m68k and mips
plattforms, use this common function fixup_cmdtable()
on this architectures too.
I couldn;t test this, so please test and report

 arch/avr32/lib/board.c |   25 -
 arch/m68k/lib/board.c  |   27 ---
 arch/mips/lib/board.c  |   28 
 arch/sparc/lib/board.c |   28 
 common/command.c   |   37 +
 include/command.h  |3 +++
 6 files changed, 56 insertions(+), 92 deletions(-)

diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c
index 254aecf..48829cf 100644
--- a/arch/avr32/lib/board.c
+++ b/arch/avr32/lib/board.c
@@ -269,30 +269,13 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)

monitor_flash_len = _edata - _text;

+#if !defined(CONFIG_RELOC_FIXUP_WORKS)
/*
 * We have to relocate the command table manually
 */
-   for (cmdtp = &__u_boot_cmd_start;
-cmdtp !=  &__u_boot_cmd_end; cmdtp++) {
-   unsigned long addr;
-
-   addr = (unsigned long)cmdtp->cmd + gd->reloc_off;
-   cmdtp->cmd = (typeof(cmdtp->cmd))addr;
-
-   addr = (unsigned long)cmdtp->name + gd->reloc_off;
-   cmdtp->name = (typeof(cmdtp->name))addr;
-
-   if (cmdtp->usage) {
-   addr = (unsigned long)cmdtp->usage + gd->reloc_off;
-   cmdtp->usage = (typeof(cmdtp->usage))addr;
-   }
-#ifdef CONFIG_SYS_LONGHELP
-   if (cmdtp->help) {
-   addr = (unsigned long)cmdtp->help + gd->reloc_off;
-   cmdtp->help = (typeof(cmdtp->help))addr;
-   }
-#endif
-   }
+   fixup_cmdtable(&__u_boot_cmd_start,
+   (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start));
+#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */

/* there are some other pointer constants we must deal with */
 #ifndef CONFIG_ENV_IS_NOWHERE
diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
index 732023d..9909f4c 100644
--- a/arch/m68k/lib/board.c
+++ b/arch/m68k/lib/board.c
@@ -433,33 +433,14 @@ void board_init_r (gd_t *id, ulong dest_addr)

monitor_flash_len = (ulong)&__init_end - dest_addr;

+#if !defined(CONFIG_RELOC_FIXUP_WORKS)
/*
 * We have to relocate the command table manually
 */
-   for (cmdtp = &__u_boot_cmd_start; cmdtp !=  &__u_boot_cmd_end; cmdtp++) 
{
-   ulong addr;
-   addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
-#if 0
-   printf ("Command \"%s\": 0x%08lx => 0x%08lx\n",
-   cmdtp->name, (ulong) (cmdtp->cmd), addr);
-#endif
-   cmdtp->cmd =
-   (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr;
+   fixup_cmdtable(&__u_boot_cmd_start,
+   (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start));
+#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */

-   addr = (ulong)(cmdtp->name) + gd->reloc_off;
-   cmdtp->name = (char *)addr;
-
-   if (cmdtp->usage) {
-   addr = (ulong)(cmdtp->usage) + gd->reloc_off;
-   cmdtp->usage = (char *)addr;
-   }
-#ifdef CONFIG_SYS_LONGHELP
-   if (cmdtp->help) {
-   addr = (ulong)(cmdtp->help) + gd->reloc_off;
-   cmdtp->help = (char *)addr;
-   }
-#endif
-   }
/* there are some other pointer constants we must deal with */
 #ifndef CONFIG_ENV_IS_NOWHERE
env_name_spec += gd->reloc_off;
diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c
index b2d113e..5cb1a49 100644
--- a/arch/mips/lib/board.c
+++ b/arch/mips/lib/board.c
@@ -304,34 +304,14 @@ void board_init_r (gd_t *id, ulong dest_addr)

monitor_flash_len = (ulong)&uboot_end_data - dest_addr;

+#if !defined(CONFIG_RELOC_FIXUP_WORKS)
/*
 * We have to relocate the command table manually
 */
-   for (cmdtp = &__u_boot_cmd_start; cmdtp !=  &__u_boot_cmd_end; cmdtp++) 
{
-   ulong addr;
+   fixup_cmdtable(&__u_boot_cmd_start,
+   (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start));
+#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */

-   addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
-#if 0
-   printf ("Command \"%s\": 0x%08lx => 0x%08lx\n",
-   cmdtp->name, (ulong) (cmdtp->cmd), addr);
-#endif
-   cmdtp->cmd =
-   (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr;
-
-   addr = (ulong)(cmdtp->name) + gd->reloc_off;
-   cmdtp->name = (char *)addr;
-
- 

[U-Boot] [RFC][PATCH v2 08/19] i2c: fix command usage help

2010-08-03 Thread Heiko Schocher
Signed-off-by: Heiko Schocher 
---
- changes since v1
  added comment from Peter Tyser
  - simplified this patch as cmd_usage() returns 1

 common/cmd_i2c.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
index a1a84a1..48de54b 100644
--- a/common/cmd_i2c.c
+++ b/common/cmd_i2c.c
@@ -1297,6 +1297,9 @@ static int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, 
char * const argv[])
 {
cmd_tbl_t *c;

+   if (argc < 2)
+   return cmd_usage(cmdtp);
+
/* Strip off leading 'i2c' command argument */
argc--;
argv++;
-- 
1.6.2.5

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC][PATCH v2 14/19] nand_fsl_nfc: get rid of local var

2010-08-03 Thread Heiko Schocher
If we have -fPIC enabled, this var leads in one entry in the
GOT. The result of this is that the image size is > 0x800.
So make it a "static const" and this brings the size again < 0x800

Signed-off-by: Heiko Schocher 
Acked-by: Scott Wood 
---

- changes since v1
  add comment from Scott Wood:
  - make the var nfc static const

 nand_spl/nand_boot_fsl_nfc.c |6 +-
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/nand_spl/nand_boot_fsl_nfc.c b/nand_spl/nand_boot_fsl_nfc.c
index 9720f6a..50d6ea9 100644
--- a/nand_spl/nand_boot_fsl_nfc.c
+++ b/nand_spl/nand_boot_fsl_nfc.c
@@ -34,7 +34,7 @@
 #include 
 #include 

-struct fsl_nfc_regs *nfc;
+static struct fsl_nfc_regs *const nfc = (void *)NFC_BASE_ADDR;

 static void nfc_wait_ready(void)
 {
@@ -228,8 +228,6 @@ static int nand_load(unsigned int from, unsigned int size, 
unsigned char *buf)
unsigned int maxpages = CONFIG_SYS_NAND_SIZE /
CONFIG_SYS_NAND_PAGE_SIZE;

-   nfc = (void *)NFC_BASE_ADDR;
-
nfc_nand_init();

/* Convert to page number */
@@ -279,8 +277,6 @@ void nand_boot(void)
 {
__attribute__((noreturn)) void (*uboot)(void);

-   nfc = (void *)NFC_BASE_ADDR;
-
/*
 * CONFIG_SYS_NAND_U_BOOT_OFFS and CONFIG_SYS_NAND_U_BOOT_SIZE must
 * be aligned to full pages
-- 
1.6.2.5

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC][PATCH v2 17/19] arm cp15: setup mmu and enable dcache

2010-08-03 Thread Heiko Schocher
This has been tested on at91sam9263 and STN8815.
Again, I didn't check if it has bad effects
on non-arm926 cores.

Initially I had a "done" bit to only set up page tables
at the beginning. However, since the aligmnent requirement
was for the whole object file, this extra integer tool 16kB
in BSS, so I chose to remove it.

Also, note not all boards use PHYS_SDRAM, but it looks like
it's the most used name (more than CONFIG_SYS_DRAM_BASE for
example).

rebased for full arm relocation from Heiko Schocher 

Signed-off-by: Alessandro Rubini 
Signed-off-by: Heiko Schocher 
---
- changes since v1:
  - add possibilty to use dcache in write_through mode, as Nick
Thompson suggested.
  - use the ram setup info in bd_t to setup the TLB
  - added my Signed-off-by upon consultation with Alessandro

 arch/arm/lib/cache-cp15.c |   51 +
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index 62ed54f..5cbfe42 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -25,6 +25,15 @@
 #include 

 #if !(defined(CONFIG_SYS_NO_ICACHE) && defined(CONFIG_SYS_NO_DCACHE))
+
+#if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
+#define CACHE_SETUP0x1a
+#else
+#define CACHE_SETUP0x1e
+#endif
+
+DECLARE_GLOBAL_DATA_PTR;
+
 static void cp_delay (void)
 {
volatile int i;
@@ -32,6 +41,40 @@ static void cp_delay (void)
/* copro seems to need some delay between reading and writing */
for (i = 0; i < 100; i++)
nop();
+   asm volatile("" : : : "memory");
+}
+
+/* to activate the MMU we need to set up virtual memory: use 1M areas in bss */
+static inline void mmu_setup(void)
+{
+   static u32 __attribute__((aligned(16384))) page_table[4096];
+   bd_t *bd = gd->bd;
+   int i, j;
+   u32 reg;
+
+   /* Set up an identity-mapping for all 4GB, rw for everyone */
+   for (i = 0; i < 4096; i++)
+   page_table[i] = i << 20 | (3 << 10) | 0x12;
+   /* Then, enable cacheable and bufferable for RAM only */
+   for (j = 0 < CONFIG_NR_DRAM_BANKS; j++) {
+   for (i = bd->bi_dram[j].start >> 20;
+   i < (bd->bi_dram[j].start + bd->bi_dram[j].size) >> 20;
+   i++) {
+   page_table[i] = i << 20 | (3 << 10) | CACHE_SETUP;
+   }
+   }
+
+   /* Copy the page table address to cp15 */
+   asm volatile("mcr p15, 0, %0, c2, c0, 0"
+: : "r" (page_table) : "memory");
+   /* Set the access control to all-supervisor */
+   asm volatile("mcr p15, 0, %0, c3, c0, 0"
+: : "r" (~0));
+   /* and enable the mmu */
+   reg = get_cr(); /* get control reg. */
+   cp_delay();
+   set_cr(reg | CR_M);
+
 }

 /* cache_bit must be either CR_I or CR_C */
@@ -39,6 +82,9 @@ static void cache_enable(uint32_t cache_bit)
 {
uint32_t reg;

+   /* The data cache is not active unless the mmu is enabled too */
+   if (cache_bit == CR_C)
+   mmu_setup();
reg = get_cr(); /* get control reg. */
cp_delay();
set_cr(reg | cache_bit);
@@ -49,6 +95,11 @@ static void cache_disable(uint32_t cache_bit)
 {
uint32_t reg;

+   if (cache_bit == CR_C) {
+   /* if disabling data cache, disable mmu too */
+   cache_bit |= CR_M;
+   flush_cache(0, ~0);
+   }
reg = get_cr();
cp_delay();
set_cr(reg & ~cache_bit);
-- 
1.6.2.5

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] at91sam source tree to use

2010-08-03 Thread Daniel Bristot de Oliveira
Hello Moises,

I'm using a board of same family (at91sam9620 and at91sam9g60) and I`m 
using the main u-boot source tree, everything is working...

> Hello,
>I would like to customize an u-boot source tree to use in an
> at91sam9263 embedded CPU board. But I am in doubt if I should use the
> main u-boot source tree or the at91 fork tree (and now orphaned one) ?
> What are the main differences between the main and at91 forked source
> trees ? I saw that a lot of at91sam9263 related code exists in tha main
> tree...
>
> thanks,
> Moises
>
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] update the MIPS u-boot.lds

2010-08-03 Thread Shinya Kuribayashi
Thanks for following-up,

On 08/03/2010 12:30 AM, Xiangfu Liu wrote:
> From: Xiangfu Liu 
> 
> Hi Wolfgang

No greetings in the longlog, please.  Such comments, supplements are
to go below the three-dashes (---):

>>From the document, if set all arguments in "OUTPUT_FORMAT"
> to "tradbigmips", then even add "-EL" to gcc we still get 
> EB format.
> 
> Signed-off-by: Xiangfu Liu 
> ---

(Here...)

>  board/dbau1x00/u-boot.lds|2 +-
>  board/gth2/u-boot.lds|2 +-
>  board/incaip/u-boot.lds  |2 +-
>  board/pb1x00/u-boot.lds  |2 +-
>  board/purple/u-boot.lds  |2 +-
>  board/qemu-mips/u-boot.lds   |2 +-
>  examples/standalone/mips.lds |2 +-
>  7 files changed, 7 insertions(+), 7 deletions(-)
[snip]
> diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
> index 9a6cd1b..3c4fbe3 100644
> --- a/board/pb1x00/u-boot.lds
> +++ b/board/pb1x00/u-boot.lds
> @@ -24,7 +24,7 @@
>  /*
>  OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
>  */
> -OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
> +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", 
> "elf32-tradlittlemips")
>  OUTPUT_ARCH(mips)
>  ENTRY(_start)
>  SECTIONS

According to MAKEALL script, pb1000_config is only used in Little-
endian, so its default endian should be set to LE as well.  I too
missed this point in my previous patch.

With fixing above nits, feel free to add:

Acked-by: Shinya Kuribayashi 

Wolfgang: Could you take care of this patch (hopefully revised one)
directly into your master. The fix is obvious.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support

2010-08-03 Thread Albert ARIBAUD

(adding Tanmay who might be interested in the OpenOCD init sequence issue)

Le 02/08/2010 08:13, Albert ARIBAUD a écrit :

Hi,

Le 02/08/2010 05:35, Prafulla Wadaskar a écrit :


I tried tweaking MPP setup for SATA related stuff, it's multiplexed with UART 
and other I/Os (NAND),
What I observed: if I boot kernel with sata support, kernel sata driver works 
properly and I can detect and use IDE devices.

So I doubt MPP, I don't know kernel (latest stable) overrides MPP settings done 
by u-boot?? We can get some reference from there.


I went the low level route and compared MPP / GPIO settings (content of
0xf101, 0xf1010100, 0xf1010140) at original U-boot start and at
(patched) mainline u-boot start: three MPPs are set up differently,
namely MPP13 and 14 (original had UART 1 signals, mainline has SD
signals) and MPP29 (original had TS MP[9], mainline has GPIO).

I have taken the OpenRD schematics from GlobalScale Technologies, and I
have found no indication that these signals have anything to do with SATA.

Also, I have noticed that 'ide reset' may work on kirkwood dependending
on conditions yet imprecise, possibly related to whether an 'ide reset'
was already done from the original u-boot; also there are times when I
get garbled console output or no console at all.

These random issues could come from the fact I use OpenOCD to reset the
Open-RD client, set up the RAM and upload and run the u-boot image,
rather than rely on the kwbimage process -- that's because I don't want
to flash to NAND until I am sure the boot loader works enough -- and
there may be initialization differences between the kwbimage wrapper and
the OpenOCD init script. I'll have a look at that too, just in case.


I've had a look, and the OpenOCD config file for openrd has an 
incomplete init sequence, mostly concerning MPP settings. I've completed 
it and so far it seems to work better (I'll check/submit an update to 
the OpenOCD project for this).



As for the ATAPI issue as such, I'll try adding a delay between the
writes within the port initialization function, although I could find no
indication in the 88F6281 specs that such a delay is required or what
order of duration it should have.

I'll post my results at end of day today.


Actually two things were necessary to get ide reset to work reliably:

1) adding a delay between the writes to SControl. Experimentation showed 
this delay should be at least 41 us on my board. I have set it to 50 us 
to play safe on possible HW characteristics dispersions.


2) moving the call(s) to mvsata_ide_initialize_port() from board_init() 
function to function ide_preinit(), which is called just before an IDE 
reset if CONFIG_IDE_INIT is set -- accordingly, I added ide_preinit() to 
openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h.


Prafulla, can you try the patch attached above yours?

If this works, then I'll backport the above fixes to orion5x/edminiv2 
and post a V7 patch.


Amicalement,
--
Albert.
diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h 
b/arch/arm/include/asm/arch-kirkwood/kirkwood.h
index baf0c47..fb18ef7 100644
--- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h
+++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h
@@ -68,6 +68,8 @@
 #define MVGBE0_BASEKW_EGIGA0_BASE
 #define MVGBE1_BASEKW_EGIGA1_BASE
 
+#define CONFIG_IDE_PREINIT
+
 #if defined (CONFIG_KW88F6281)
 #include 
 #elif defined (CONFIG_KW88F6192)
diff --git a/board/Marvell/openrd_base/openrd_base.c 
b/board/Marvell/openrd_base/openrd_base.c
index 3c4c85d..5d0409f 100644
--- a/board/Marvell/openrd_base/openrd_base.c
+++ b/board/Marvell/openrd_base/openrd_base.c
@@ -111,16 +111,6 @@ int board_init(void)
/* adress of boot parameters */
gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
 
-#if defined(CONFIG_MVSATA_IDE)
-   /* Enable SATA port 0 if SATA IDE was configured */
-   mvsata_ide_initialize_port(
-   (struct mv_sata_port_registers *)
-   (KW_SATA_BASE + KW_SATA_PORT0_OFFSET));
-   mvsata_ide_initialize_port(
-   (struct mv_sata_port_registers *)
-   (KW_SATA_BASE + KW_SATA_PORT1_OFFSET));
-#endif
-
return 0;
 }
 
@@ -169,3 +159,19 @@ void reset_phy(void)
printf("88E1116 Initialized on %s\n", name);
 }
 #endif /* CONFIG_RESET_PHY_R */
+
+#if defined(CONFIG_MVSATA_IDE)
+int ide_preinit (void)
+{
+   /* Enable SATA port 0 if SATA IDE was configured */
+   mvsata_ide_initialize_port(
+   (struct mv_sata_port_registers *)
+   (KW_SATA_BASE + KW_SATA_PORT0_OFFSET));
+   mvsata_ide_initialize_port(
+   (struct mv_sata_port_registers *)
+   (KW_SATA_BASE + KW_SATA_PORT1_OFFSET));
+   /* return 0 as we always succeed */
+   return 0;
+}
+#endif
+
diff --git a/drivers/block/mvsata_ide.c b/drivers/block/mvsata_ide.c
index d44a42c..d27fa5c 100644
--- a/drivers/block/mvsata_ide.c
+++ b/drivers/block/mvsata_ide.c
@@ -54,6 +54,8 @@ void mvsat

Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support

2010-08-03 Thread Prafulla Wadaskar
 

> -Original Message-
> From: Albert ARIBAUD [mailto:albert.arib...@free.fr] 
> Sent: Tuesday, August 03, 2010 5:32 PM
> To: Prafulla Wadaskar
> Cc: u-boot@lists.denx.de; tanmay.upadh...@einfochips.com
> Subject: Re: [PATCH V5 4/4] edminiv2: add mvsata_ide and 
> cmd_ide support
> 
> (adding Tanmay who might be interested in the OpenOCD init 
> sequence issue)
> 
> Le 02/08/2010 08:13, Albert ARIBAUD a écrit :
> > Hi,
> >
> > Le 02/08/2010 05:35, Prafulla Wadaskar a écrit :
> >
> >> I tried tweaking MPP setup for SATA related stuff, it's 
> multiplexed with UART and other I/Os (NAND),
> >> What I observed: if I boot kernel with sata support, 
> kernel sata driver works properly and I can detect and use 
> IDE devices.
> >>
> >> So I doubt MPP, I don't know kernel (latest stable) 
> overrides MPP settings done by u-boot?? We can get some 
> reference from there.
> >
> > I went the low level route and compared MPP / GPIO settings 
> (content of
> > 0xf101, 0xf1010100, 0xf1010140) at original U-boot start and at
> > (patched) mainline u-boot start: three MPPs are set up differently,
> > namely MPP13 and 14 (original had UART 1 signals, mainline has SD
> > signals) and MPP29 (original had TS MP[9], mainline has GPIO).
> >
> > I have taken the OpenRD schematics from GlobalScale 
> Technologies, and I
> > have found no indication that these signals have anything 
> to do with SATA.
> >
> > Also, I have noticed that 'ide reset' may work on kirkwood 
> dependending
> > on conditions yet imprecise, possibly related to whether an 
> 'ide reset'
> > was already done from the original u-boot; also there are 
> times when I
> > get garbled console output or no console at all.
> >
> > These random issues could come from the fact I use OpenOCD 
> to reset the
> > Open-RD client, set up the RAM and upload and run the u-boot image,
> > rather than rely on the kwbimage process -- that's because 
> I don't want
> > to flash to NAND until I am sure the boot loader works enough -- and
> > there may be initialization differences between the 
> kwbimage wrapper and
> > the OpenOCD init script. I'll have a look at that too, just in case.
> 
> I've had a look, and the OpenOCD config file for openrd has an 
> incomplete init sequence, mostly concerning MPP settings. 
> I've completed 
> it and so far it seems to work better (I'll check/submit an update to 
> the OpenOCD project for this).
> 
> > As for the ATAPI issue as such, I'll try adding a delay between the
> > writes within the port initialization function, although I 
> could find no
> > indication in the 88F6281 specs that such a delay is 
> required or what
> > order of duration it should have.
> >
> > I'll post my results at end of day today.
> 
> Actually two things were necessary to get ide reset to work reliably:
> 
> 1) adding a delay between the writes to SControl. 
> Experimentation showed 
> this delay should be at least 41 us on my board. I have set 
> it to 50 us 
> to play safe on possible HW characteristics dispersions.
> 
> 2) moving the call(s) to mvsata_ide_initialize_port() from 
> board_init() 
> function to function ide_preinit(), which is called just 
> before an IDE 
> reset if CONFIG_IDE_INIT is set -- accordingly, I added 
> ide_preinit() to 
> openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h.
> 
> Prafulla, can you try the patch attached above yours?

Sure, I will try this and let you know

Regards..
Prafulla . .

> 
> If this works, then I'll backport the above fixes to orion5x/edminiv2 
> and post a V7 patch.
> 
> Amicalement,
> -- 
> Albert.
> 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] fdt: Fix bug in size calculation in fdt_resize() with initrd use

2010-08-03 Thread Stefan Roese
From: Feng Wang 

Original bug description from Feng (fdt_resize() bug caused "WARNING:
could not set linux, initrd-start FDT_ERR_NOSPACE."):

What I got is an error: "WARNING: could not set linux,initrd-start
FDT_ERR_NOSPACE." after loading Device Tree blob. This in turn caused
linux to miss init part.

After some digging, I found out the reason for this error, it is caused
by fdt_resize().

FDT blob got resized after filling in all board specific information of
PowerPC. (in boot_body_linux()). It reduced blob size with only extra
space for two fdt_reserve_entry, one for fdt itself, and one for initrd.
Then it's aligned to a 0x1000 page boundary. However, later in
fdt_initrd(), it could add two more properties, initrd-start AND
initrd-end, each one needs at least two fdt_reserve_entry sizes done by
_fdt_add_property() (name and value). Thus, the two fdt_reserve_entry
extra space is not sufficient.

So for some specific fdt size which is just under the page boundary
after resizing, this will cause an error of FDT_ERR_NOSPACE in
fdt_initrd() when setting those two properties, and failed to pass
initrd information to linux.

My fix is in fdt_resize(), leave at least 4 fdt_reserve_entry for
initrd. So instead of 2*sizeof(struct fdt_reserve_entry) for
actual_totalsize, use 5*sizeof(struc fdt_reserve_entry).

Stefan: I got this same error on katmai, when trying to boot with
initrd (run flash_self). This patch fixes this issue.

Signed-off-by: Feng Wang 
Tested-by: Stefan Roese 
Cc: Jerry Van Baren 
---
 common/fdt_support.c |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/common/fdt_support.c b/common/fdt_support.c
index 718b635..6f198de 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -498,11 +498,12 @@ int fdt_resize(void *blob)
 
/*
 * Calculate the actual size of the fdt
-* plus the size needed for two fdt_add_mem_rsv, one
-* for the fdt itself and one for a possible initrd
+* plus the size needed for 5 fdt_add_mem_rsv, one
+* for the fdt itself and 4 for a possible initrd
+* ((initrd-start + initrd-end) * 2 (name & value))
 */
actualsize = fdt_off_dt_strings(blob) +
-   fdt_size_dt_strings(blob) + 2*sizeof(struct fdt_reserve_entry);
+   fdt_size_dt_strings(blob) + 5 * sizeof(struct 
fdt_reserve_entry);
 
/* Make it so the fdt ends on a page boundary */
actualsize = ALIGN(actualsize + ((uint)blob & 0xfff), 0x1000);
-- 
1.7.2.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] 83xx UEC compile error

2010-08-03 Thread Joakim Tjernlund

Got this while trying to upgrade:
../../drivers/qe/uec.h:766: error: conflicting types for 'uec_initialize'
/usr/local/src/cutu2uboot/include/netdev.h:86: error: previous declaration of 
'uec_initialize'
../../drivers/qe/uec.h:766: error: conflicting types for 'uec_initialize'
/usr/local/src/cutu2uboot/include/netdev.h:86: error: previous declaration of 
'uec_initialize'

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] update the MIPS u-boot.lds

2010-08-03 Thread Xiangfu Liu
Hi Wolfgang

v1:
 From the document, if set all arguments in "OUTPUT_FORMAT"
 to "tradbigmips", then even add "-EL" to gcc we still get
 EB format.

v2:
 pb1x00 is only used in Little-endian, 
 so its default endian should be set to LE as well
 
Signed-off-by: Xiangfu Liu 
Acked-by: Shinya Kuribayashi 

---
 board/dbau1x00/u-boot.lds|2 +-
 board/gth2/u-boot.lds|2 +-
 board/incaip/u-boot.lds  |2 +-
 board/pb1x00/u-boot.lds  |2 +-
 board/purple/u-boot.lds  |2 +-
 board/qemu-mips/u-boot.lds   |2 +-
 examples/standalone/mips.lds |2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds
index 9a6cd1b..3c4fbe3 100644
--- a/board/dbau1x00/u-boot.lds
+++ b/board/dbau1x00/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/gth2/u-boot.lds b/board/gth2/u-boot.lds
index e6eee9b..aeb0fcc 100644
--- a/board/gth2/u-boot.lds
+++ b/board/gth2/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds
index 9a6cd1b..3c4fbe3 100644
--- a/board/incaip/u-boot.lds
+++ b/board/incaip/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
index 9a6cd1b..358cc54 100644
--- a/board/pb1x00/u-boot.lds
+++ b/board/pb1x00/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradbigmips", 
"elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/purple/u-boot.lds b/board/purple/u-boot.lds
index 1881e65..542601a 100644
--- a/board/purple/u-boot.lds
+++ b/board/purple/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds
index ad058ca..bd16786 100644
--- a/board/qemu-mips/u-boot.lds
+++ b/board/qemu-mips/u-boot.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds
index 717b201..63a1c92 100644
--- a/examples/standalone/mips.lds
+++ b/examples/standalone/mips.lds
@@ -24,7 +24,7 @@
 /*
 OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
 */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 SECTIONS
 {
-- 
1.7.0.4

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] update the MIPS u-boot.lds

2010-08-03 Thread Xiangfu Liu
Hi  Shinya

On 08/03/2010 07:36 PM, Shinya Kuribayashi wrote:
> Aconfccording to MAKEALL script, pb1000_ig is only used in Little-
> endian, so its default endian should be set to LE as well.  I too
> missed this point in my previous patch.
>

thanks.

> With fixing above nits, feel free to add:
>
> Acked-by: Shinya Kuribayashi
>
(by the way. I manually added this line to email.
is the another way to add "Acked-by" like "Signed-off-by" is "-s")

-- 
Best Regards
Xiangfu Liu
http://www.openmobilefree.net
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] Adds driver for Xilinx' xps_spi SPI controller.

2010-08-03 Thread Graeme Smecher
This code differs in only trivial ways from the altera_spi driver. It plays
nice with Thomas Chou's mmc_spi driver, as well as with SPI flash.

Documentation for the SPI core is available here:

   http://www.xilinx.com/support/documentation/ip_documentation/xps_spi.pdf

Signed-off-by: Graeme Smecher 
---
 drivers/spi/Makefile |1 +
 drivers/spi/xilinx_spi.c |  173 ++
 2 files changed, 174 insertions(+), 0 deletions(-)
 create mode 100644 drivers/spi/xilinx_spi.c

diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index dfcbb8b..34e0f31 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk
 LIB:= $(obj)libspi.a
 
 COBJS-$(CONFIG_ALTERA_SPI) += altera_spi.o
+COBJS-$(CONFIG_XILINX_SPI) += xilinx_spi.o
 COBJS-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o
 COBJS-$(CONFIG_ATMEL_SPI) += atmel_spi.o
 COBJS-$(CONFIG_BFIN_SPI) += bfin_spi.o
diff --git a/drivers/spi/xilinx_spi.c b/drivers/spi/xilinx_spi.c
new file mode 100644
index 000..bda7c5b
--- /dev/null
+++ b/drivers/spi/xilinx_spi.c
@@ -0,0 +1,173 @@
+/*
+ * Xilinx SPI driver
+ *
+ * based on bfin_spi.c, by way of altera_spi.c
+ * Copyright (c) 2005-2008 Analog Devices Inc.
+ * Copyright (c) 2010 Thomas Chou 
+ * Copyright (c) 2010 Graeme Smecher 
+ *
+ * Licensed under the GPL-2 or later.
+ */
+#include 
+#include 
+#include 
+#include 
+
+#define XILINX_SPI_RR  0x6c
+#define XILINX_SPI_TR  0x68
+#define XILINX_SPI_SR  0x64
+#define XILINX_SPI_CR  0x60
+#define XILINX_SPI_SSR 0x70
+
+#define XILINX_SPI_SR_RX_EMPTY_MSK 0x01
+
+#define XILINX_SPI_CR_DEFAULT  (0x0006)
+#define XILINX_SPI_CR_MSS_MSK  (0x0080)
+
+#if XPAR_XSPI_NUM_INSTANCES > 4
+# warning "The xilinx_spi driver will ignore some of your SPI peripherals!"
+#endif
+
+static ulong xilinx_spi_base_list[] = {
+#ifdef XPAR_SPI_0_BASEADDR
+   XPAR_SPI_0_BASEADDR,
+#endif
+#ifdef XPAR_SPI_1_BASEADDR
+   XPAR_SPI_1_BASEADDR,
+#endif
+#ifdef XPAR_SPI_2_BASEADDR
+   XPAR_SPI_2_BASEADDR,
+#endif
+#ifdef XPAR_SPI_3_BASEADDR
+   XPAR_SPI_3_BASEADDR,
+#endif
+};
+
+struct xilinx_spi_slave {
+   struct spi_slave slave;
+   ulong base;
+};
+#define to_xilinx_spi_slave(s) container_of(s, struct xilinx_spi_slave, slave)
+
+__attribute__((weak))
+int spi_cs_is_valid(unsigned int bus, unsigned int cs)
+{
+   return bus < ARRAY_SIZE(xilinx_spi_base_list) && cs < 32;
+}
+
+__attribute__((weak))
+void spi_cs_activate(struct spi_slave *slave)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+   writel(~(1 << slave->cs), xilspi->base + XILINX_SPI_SSR);
+   writel(XILINX_SPI_CR_DEFAULT | XILINX_SPI_CR_MSS_MSK,
+   xilspi->base + XILINX_SPI_CR);
+}
+
+__attribute__((weak))
+void spi_cs_deactivate(struct spi_slave *slave)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+
+   writel(XILINX_SPI_CR_DEFAULT, xilspi->base + XILINX_SPI_CR);
+   writel(~0, xilspi->base + XILINX_SPI_SSR);
+}
+
+void spi_init(void)
+{
+}
+
+struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
+ unsigned int max_hz, unsigned int mode)
+{
+   struct xilinx_spi_slave *xilspi;
+
+   if (!spi_cs_is_valid(bus, cs))
+   return NULL;
+
+   xilspi = malloc(sizeof(*xilspi));
+   if (!xilspi)
+   return NULL;
+
+   xilspi->slave.bus = bus;
+   xilspi->slave.cs = cs;
+   xilspi->base = xilinx_spi_base_list[bus];
+   debug("%s: bus:%i cs:%i base:%lx\n", __func__,
+   bus, cs, xilspi->base);
+
+   return &xilspi->slave;
+}
+
+void spi_free_slave(struct spi_slave *slave)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+   free(xilspi);
+}
+
+int spi_claim_bus(struct spi_slave *slave)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+
+   debug("%s: bus:%i cs:%i\n", __func__, slave->bus, slave->cs);
+   writel(XILINX_SPI_CR_DEFAULT, xilspi->base + XILINX_SPI_CR);
+   writel(~0, xilspi->base + XILINX_SPI_SSR);
+   return 0;
+}
+
+void spi_release_bus(struct spi_slave *slave)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+
+   debug("%s: bus:%i cs:%i\n", __func__, slave->bus, slave->cs);
+   writel(~0, xilspi->base + XILINX_SPI_SSR);
+}
+
+#ifndef CONFIG_XILINX_SPI_IDLE_VAL
+# define CONFIG_XILINX_SPI_IDLE_VAL 0xff
+#endif
+
+int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
+void *din, unsigned long flags)
+{
+   struct xilinx_spi_slave *xilspi = to_xilinx_spi_slave(slave);
+   /* assume spi core configured to do 8 bit transfers */
+   uint bytes = bitlen / 8;
+   const uchar *txp = dout;
+   uchar *rxp = din;
+
+   debug("%s: bus:%i cs:%i bitlen:%i bytes:%i fla

[U-Boot] UEC numbering broken in uec_initialize

2010-08-03 Thread Joakim Tjernlund

Commit qe: Pass in uec_info struct through uec_initialize 
(8e55258f144764de8902e9f078a7ad4c6c022c2f)
changed the FSL UEC# numbering:
-   sprintf(dev->name, "FSL UEC%d", index);
+   sprintf(dev->name, "FSL UEC%d", uec_info->uf_info.ucc_num);
from logical(zero based)to physical UCC number.
This breaks boards that have multiple eth I/F and uses ethprime/ethact.
It seems like this change was unintentional?
I propose we change back to the way it was as it breaks my board.

 Jocke

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Adds driver for Xilinx' xps_spi SPI controller.

2010-08-03 Thread Mike Frysinger
On Tuesday, August 03, 2010 11:47:42 Graeme Smecher wrote:
> --- a/drivers/spi/Makefile
> +++ b/drivers/spi/Makefile
> 
>  COBJS-$(CONFIG_ALTERA_SPI) += altera_spi.o
> +COBJS-$(CONFIG_XILINX_SPI) += xilinx_spi.o
>  COBJS-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o

this is a sorted list.  please keep it that way

> --- /dev/null
> +++ b/drivers/spi/xilinx_spi.c
> 
> +static ulong xilinx_spi_base_list[] = {
> +#ifdef XPAR_SPI_0_BASEADDR
> + XPAR_SPI_0_BASEADDR,
> +#endif
> +#ifdef XPAR_SPI_1_BASEADDR
> + XPAR_SPI_1_BASEADDR,
> +#endif
> +#ifdef XPAR_SPI_2_BASEADDR
> + XPAR_SPI_2_BASEADDR,
> +#endif
> +#ifdef XPAR_SPI_3_BASEADDR
> + XPAR_SPI_3_BASEADDR,
> +#endif
> +};

if this is only ever read, you might want to declare it const so it ends up in 
the rodata section.

what if someone defines just XPAR_SPI_3_BASEADDR ?  do you want to be 
consistent in bus id 3 always corresponds to XPAR_SPI_3_BASEADDR ?  or are you 
OK with the numbers always being relative ?  doesnt matter to me, just 
highlighting some things that might have been missed.
-mike


signature.asc
Description: This is a digitally signed message part.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue

2010-08-03 Thread eric van tassell
All,

Can anybody point me to resources/techniques for finding and resolving why
u-boot seems to take a horrendously long time to boot from sd .vs. nand?
Thanks in advance.

-- 
- evt
(Eric van Tassell)
twitter: evt_texelsoft
linked-in: linkedin.com/in/evttxl
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue

2010-08-03 Thread Wolfgang Denk
Dear eric van tassell,

In message  you 
wrote:
>
> Can anybody point me to resources/techniques for finding and resolving why
> u-boot seems to take a horrendously long time to boot from sd .vs. nand?

It would help if you mentioned which architecture and board and U-Boot
version you are talking about...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
A consultant is a person who borrows your watch, tells you what  time
it is, pockets the watch, and sends you a bill for it.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] total u-boot neophyte tasked with resolving sd boot performance issue

2010-08-03 Thread Wolfgang Denk
Dear eric van tassell,

please always keep the mailing list on Cc.

Also, please do not top post / full quote, this is considered really
bad manners. See http://www.netmeister.org/news/learn2quote.html

In message  you 
wrote:
> 
> it's an imx35 based custom board. Although I've done a lot of kernel work
> I'm new to u-boot and was more looking for general approaches than specific
> fixes(although that would be nice)

Current ARM support does not enable caches. You might want to look
into Heiko Schocher's recent patches...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
A day without sunshine is like night.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 4/7] PXA: Palm Tungsten|C Support

2010-08-03 Thread Wolfgang Denk
Dear Marek Vasut,

In message <1279811005-21858-4-git-send-email-marek.va...@gmail.com> you wrote:
> This patch adds support for the Palm Tungsten|C PXA255 board. The support
> includes:
> - LCD
> - MMC
> - UART
> - NOR
> 
> Signed-off-by: Marek Vasut 
> ---
>  board/palmtc/Makefile|   54 +
>  board/palmtc/config.mk   |3 +
>  board/palmtc/lowlevel_init.S |   40 +++
>  board/palmtc/palmtc.c|   77 +
>  board/palmtc/u-boot.lds  |   56 ++
>  boards.cfg   |1 +
>  include/configs/palmtc.h |  250 
> ++
>  7 files changed, 481 insertions(+), 0 deletions(-)
>  create mode 100644 board/palmtc/Makefile
>  create mode 100644 board/palmtc/config.mk
>  create mode 100644 board/palmtc/lowlevel_init.S
>  create mode 100644 board/palmtc/palmtc.c
>  create mode 100644 board/palmtc/u-boot.lds
>  create mode 100644 include/configs/palmtc.h

Entries to MAINTAINERS and MAKEALL missing.

> diff --git a/board/palmtc/Makefile b/board/palmtc/Makefile
> new file mode 100644
> index 000..92e5288
> --- /dev/null
> +++ b/board/palmtc/Makefile
> @@ -0,0 +1,54 @@
> +
> +#
> +# Copyright (C) 2009

2009?


> --- /dev/null
> +++ b/board/palmtc/config.mk
> @@ -0,0 +1,3 @@
> +#TEXT_BASE = 0xa170
> +TEXT_BASE = 0xa100
> +#TEXT_BASE = 0

Please remove dead code.


> +int board_init (void)
> +{
> + /* memory and cpu-speed are setup before relocation */
> + /* so we do _nothing_ here */

Incorrect multiline comment style.

> + /* arch number of Lubbock-Board */
> + gd->bd->bi_arch_number = MACH_TYPE_PALMTC;
> +
> + /* Adress of boot parameters */
> + gd->bd->bi_boot_params = 0xa100;
> +
> + /* Set PWM for LCD */
> + PWM_CTRL1 = 0x5f;
> + PWM_PERVAL1 = 0x3ff;
> + PWM_PWDUTY1 = 892;
> +
> + return 0;
> +}
> +
> +int board_late_init(void)
> +{
> +#ifdef CONFIG_LCD
> + setenv("stdout", "lcd");
> + setenv("stderr", "lcd");
> +#else
> + setenv("stdout", "serial");
> + setenv("stderr", "serial");
> +#endif

It's a bad idea to force such settings on a user without leaving him
any other choice.  We had such discussions before. Please don't.

...
> +#define CONFIG_PXA2501   /* Intel PXA255 CPU */
> +#define CONFIG_PALMTC1   /* Palm Tungsten|C 
> board */
> +
> +#undef   BOARD_LATE_INIT
> +#undef   CONFIG_SKIP_RELOCATE_UBOOT
> +#undef   CONFIG_USE_IRQ
> +#undef   CONFIG_SKIP_LOWLEVEL_INIT

Please do not undef what is not defined anyway.

> +/*
> + * Environment settings
> + */
> +#define  CONFIG_ENV_OVERWRITE
> +#define CONFIG_ENV_IS_IN_FLASH   1
> +#define CONFIG_ENV_ADDR  0x4
> +#define CONFIG_ENV_SIZE  0x4

Decide if you use TABs or SPACEs here (SPACEs recommended), but use
that consistently then.

> +#define  CONFIG_SYS_MALLOC_LEN   (CONFIG_ENV_SIZE + 
> CONFIG_STACKSIZE)

That looks awfully wrong - the stack has nothing to do with the malloc
arena. If you want to use just the same size (which does not make much
sense to me either), then use aan independent variable for that.

> +#define  CONFIG_SYS_GBL_DATA_SIZE512

Don't! Make as small as possible. You probably do NOT need that much,
or do you?

...
> +#define CONFIG_SYS_CPUSPEED  0x161   /* standard setting for 
> 312MHz; L=16, N=1.5, A=0, SDCLK!=SystemBus */

Line too long. Please fix globally.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
There's an old story about the person who wished his computer were as
easy to use as his telephone. That wish has come  true,  since  I  no
longer know how to use my telephone.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 6/7] PXA: Add initial Palm LifeDrive support

2010-08-03 Thread Wolfgang Denk
Dear Marek Vasut,

In message <1279811005-21858-6-git-send-email-marek.va...@gmail.com> you wrote:
> Signed-off-by: Marek Vasut 
> ---
>  board/palmld/Makefile|   54 
>  board/palmld/config.mk   |1 +
>  board/palmld/lowlevel_init.S |   46 +++
>  board/palmld/palmld.c|   81 
>  board/palmld/u-boot.lds  |   56 +
>  boards.cfg   |1 +
>  include/configs/palmld.h |  275 
> ++
>  7 files changed, 514 insertions(+), 0 deletions(-)
>  create mode 100644 board/palmld/Makefile
>  create mode 100644 board/palmld/config.mk
>  create mode 100644 board/palmld/lowlevel_init.S
>  create mode 100644 board/palmld/palmld.c
>  create mode 100644 board/palmld/u-boot.lds
>  create mode 100644 include/configs/palmld.h

Entries to MAINTAINERS and MAKEALL missing.

> diff --git a/board/palmld/Makefile b/board/palmld/Makefile
> new file mode 100644
> index 000..c184cf6
> --- /dev/null
> +++ b/board/palmld/Makefile
> @@ -0,0 +1,54 @@
> +
> +#

Don't waste too many empty lines.

> +# Copyright (C) 2009

2009?

[Please see comments for previous patch; seems this one looks pretty
much similar.]


Actually the code looks pretty much similar, too.

Are you sure that multiple copies of htis code are needed?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
We want to create puppets that pull their own strings.   - Ann Marion
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 7/7] PXA: Vpac270 config fixes

2010-08-03 Thread Wolfgang Denk
Dear Marek Vasut,

In message <1279811005-21858-7-git-send-email-marek.va...@gmail.com> you wrote:
> Define __io to get harddrive working.
> Fix saving of environment into OneNAND.
> Boot from harddrive when possible.
> 
> Signed-off-by: Marek Vasut 
> ---
>  include/configs/vpac270.h |   12 +++-
>  1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
> index 6d02995..a0383b2 100644
> --- a/include/configs/vpac270.h
> +++ b/include/configs/vpac270.h
> @@ -36,7 +36,7 @@
>  /*
>   * Environment settings
>   */
> -#define  CONFIG_ENV_SIZE 0x4000
> +#define  CONFIG_ENV_SIZE 0x2


Do you really need 128 KiB for environment data? [Note that this is
NOT a sector size or so!]

Really???  I think this is not true.

> +/*
> + * HACK WARNING: __io
> + * This MUST go away once the readb/writeb and inb/outb issue is solved
> + */
> +#define __io

Drop that.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"Plan to throw one away. You will anyway."
  - Fred Brooks, "The Mythical Man Month"
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PULL] U-Boot-pxa

2010-08-03 Thread Wolfgang Denk
Dear Marek Vasut,

In message <201007221701.37914.marek.va...@gmail.com> you wrote:
> Hi, please merge my "for-wd-master" branch into u-boot.git "master" branch. 
> Thanks
> 
> The following changes since commit 1f82ff4777f360e92aa37bbbed647f7b9d9d2044:
> 
>   Merge branch 'master' of git://git.denx.de/u-boot-video (2010-07-17 
> 20:49:59 
> +0200)
> 
> are available in the git repository at:
> 
>   git://git.denx.de/u-boot-pxa.git for-wd-master
> 
> Marek Vasut (8):
>   ARM: Define __raw_readX and __raw_writeX
>   PXA: pxafb: Add ACX517AKN support
>   common: Enable serial for PXA250
>   PXA: Palm Tungsten|C Support
>   PXA: pxafb: Add support for Sharp LQ038J7DH53
>   PXA: Add initial Palm LifeDrive support
>   Merge branch 'palm' into for-wd-master
>   PXA: Vpac270 config fixes

Sorry. Please do not send the pull request at the same time (or
actually _before_) the patches. Please allow for a couple of days of
review time.

Some patches need rework, not pulled because of that.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
I program, therefore I am.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ATMEL Custodians == /dev/null ??

2010-08-03 Thread Wolfgang Denk
Dear Mike Frysinger,

In message <201007290018.40886.vap...@gentoo.org> you wrote:
>
> if the maintainers are effectively dead, then i'd suggest someone (i.e. 
> Wolfgang) hand the custodian role over to someone willing to do the work.  

Full ACK.

> employment by the company who owns the processor in question only goes so 
> far.  
> vastly more important are the people doing the actual work and in this case, 
> it seems like that person might be you vs anyone with @atmel.com in their e-
> mail address.

Full ACK again.

Reinhard, do you volunteer?  For AVR32?  Or also for AT91?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Houston, Tranquillity Base here.  The Eagle has landed.
-- Neil Armstrong
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Adding New Boards

2010-08-03 Thread Wolfgang Denk
Dear Henrique Camargo,

In message  you 
wrote:
> I'm working on a project porting the latest version of u-boot to a
> dm365evm based board from Appro [1]. The board is a bit different, but
> most of the changes are to the /include/configs/.h file. Should
> I contribute the code when it's working? How should i proceed? This
> board came with a old version of u-boot (1.3.4).

Yes, please contribute your changes back.

See http://www.denx.de/wiki/U-Boot/Patches or ask if you need help.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Things are not as simple as they seem at first.- Edward Thorp
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Pull request u-boot-blackfin.git

2010-08-03 Thread Wolfgang Denk
Dear Mike Frysinger,

In message <1280086568-3891-1-git-send-email-vap...@gentoo.org> you wrote:
> The following changes since commit 7385c28e9b5f7d47e6a8f1ad9800e6e70af714e2:
> 
>   fs/fat: Big code cleanup. (2010-07-24 20:54:46 +0200)
> 
> are available in the git repository at:
>   git://www.denx.de/git/u-boot-blackfin.git master
> 
> Mike Frysinger (6):
>   Blackfin: bf533/bf561 boards: convert to new soft gpio i2c code
>   Blackfin: jtagconsole: disable output processing
>   Blackfin: jtag-console: robustify against missing peer
>   Blackfin: jtag-console: add debug markers
>   Blackfin: jtag-console: handle newline stuffing
>   Blackfin: gpio: use common usage func
> 
>  arch/blackfin/cpu/cmd_gpio.c  |2 +-
>  arch/blackfin/cpu/jtag-console.c  |   95 
>  include/configs/bf533-ezkit.h |   43 +
>  include/configs/bf533-stamp.h |   43 +
>  include/configs/bf561-ezkit.h |   42 +---
>  include/configs/bfin_adi_common.h |1 +
>  include/configs/blackstamp.h  |   28 +--
>  include/configs/ibf-dsp561.h  |   29 +--
>  tools/jtagconsole |4 +-
>  9 files changed, 98 insertions(+), 189 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Each team building another component has been using the  most  recent
tested  version  of the integrated system as a test bed for debugging
its piece. Their work will be set back by having that test bed change
under them. Of course it must. But the changes need to be  quantized.
Then  each  user  has periods of productive stability, interrupted by
bursts of test-bed change. This seems to be much less disruptive than
a constant rippling and trembling.
 - Frederick Brooks Jr., "The Mythical Man Month"
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 4/8] ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems

2010-08-03 Thread Wolfgang Denk
Dear Steve Sakoman,

In message <1279941255-26947-5-git-send-email-st...@sakoman.com> you wrote:
> This patch add the basic infrastructure for the TWL6030 driver and enables
> support in the two existing OMAP4 boards, Panda and OMAP4430 SDP
> 
> Signed-off-by: Steve Sakoman 
> ---
>  drivers/power/Makefile  |1 +
>  drivers/power/twl6030.c |   77 +
>  include/configs/omap4_panda.h   |3 +
>  include/configs/omap4_sdp4430.h |3 +
>  include/twl6030.h   |   90 
> +++
>  5 files changed, 174 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/power/twl6030.c
>  create mode 100644 include/twl6030.h
> 
> diff --git a/drivers/power/Makefile b/drivers/power/Makefile
> index dd06514..db53173 100644
> --- a/drivers/power/Makefile
> +++ b/drivers/power/Makefile
> @@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk
>  LIB  := $(obj)libpower.a
>  
>  COBJS-$(CONFIG_TWL4030_POWER)+= twl4030.o
> +COBJS-$(CONFIG_TWL6030_POWER)+= twl6030.o
>  
>  COBJS:= $(COBJS-y)
>  SRCS := $(COBJS:.o=.c)
> diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c
> new file mode 100644
> index 000..b47992b
> --- /dev/null
> +++ b/drivers/power/twl6030.c
> @@ -0,0 +1,77 @@
> +/*
> + * (C) Copyright 2010
> + * Texas Instruments, 
> + *
> + * 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
> + * version 2 as published by the Free Software Foundation.

NAK.

We require the "or (at your option) any later version" clause.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Please pull u-boot-ti/master

2010-08-03 Thread Wolfgang Denk
Dear Sandeep,

In message <1280345146-18810-1-git-send-email-s-paul...@ti.com> you wrote:
> 
> Please pull u-boot-ti/master. I ran MAKEALL and saw no issues.
> The patch modifying the I2c driver has an ACK from Heiko.
> The patch restructuring the USB driver actually was a simple patch
> adding some more #defines so i went ahead and added it.

Sorry, I cannot.

There is a license conflivt with that patch:

> Steve Sakoman (8):
>   ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems



Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
I used to be indecisive, now I'm not sure.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PULL] U-Boot-pxa

2010-08-03 Thread Wolfgang Denk
Dear Marek Vasut,

In message <201007290314.39806.marek.va...@gmail.com> you wrote:
>
> I added two more patches. Here's a revised pull request, please merge my "for-
> wd-master" branch into u-boot.git "master" branch.

I don't see any trace of these patches on the mailing list.


I will not pull any such stuff.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
There is a theory which states that if ever anyone discovers  exactly
what  the  Universe is for and why it is here, it will instantly dis-
appear and be replaced by something even more  bizarre  and  inexpli-
cable.  There  is  another  theory which states that this has already
happened.-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 4/8] ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems

2010-08-03 Thread Steve Sakoman
This patch add the basic infrastructure for the TWL6030 driver and enables
support in the two existing OMAP4 boards, Panda and OMAP4430 SDP

Signed-off-by: Steve Sakoman 
---

This version adds the GPL "or (at your option) any later version" clause per 
Wolfgang's request

 drivers/power/Makefile  |1 +
 drivers/power/twl6030.c |   78 +
 include/configs/omap4_panda.h   |3 +
 include/configs/omap4_sdp4430.h |3 +
 include/twl6030.h   |   91 +++
 5 files changed, 176 insertions(+), 0 deletions(-)
 create mode 100644 drivers/power/twl6030.c
 create mode 100644 include/twl6030.h

diff --git a/drivers/power/Makefile b/drivers/power/Makefile
index dd06514..db53173 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
@@ -26,6 +26,7 @@ include $(TOPDIR)/config.mk
 LIB:= $(obj)libpower.a
 
 COBJS-$(CONFIG_TWL4030_POWER)  += twl4030.o
+COBJS-$(CONFIG_TWL6030_POWER)  += twl6030.o
 
 COBJS  := $(COBJS-y)
 SRCS   := $(COBJS:.o=.c)
diff --git a/drivers/power/twl6030.c b/drivers/power/twl6030.c
new file mode 100644
index 000..cf1da6b
--- /dev/null
+++ b/drivers/power/twl6030.c
@@ -0,0 +1,78 @@
+/*
+ * (C) Copyright 2010
+ * Texas Instruments, 
+ *
+ * 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
+ */
+#include 
+#ifdef CONFIG_TWL6030_POWER
+
+#include 
+
+/* Functions to read and write from TWL6030 */
+static inline int twl6030_i2c_write_u8(u8 chip_no, u8 val, u8 reg)
+{
+   return i2c_write(chip_no, reg, 1, &val, 1);
+}
+
+static inline int twl6030_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)
+{
+   return i2c_read(chip_no, reg, 1, val, 1);
+}
+
+void twl6030_start_usb_charging(void)
+{
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_VICHRG_1500,
+   CHARGERUSB_VICHRG);
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_CIN_LIMIT_NONE,
+   CHARGERUSB_CINLIMIT);
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, MBAT_TEMP,
+   CONTROLLER_INT_MASK);
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, MASK_MCHARGERUSB_THMREG,
+   CHARGERUSB_INT_MASK);
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_VOREG_4P0,
+   CHARGERUSB_VOREG);
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CHARGERUSB_CTRL2_VITERM_100,
+   CHARGERUSB_CTRL2);
+   /* Enable USB charging */
+   twl6030_i2c_write_u8(TWL6030_CHIP_CHARGER, CONTROLLER_CTRL1_EN_CHARGER,
+   CONTROLLER_CTRL1);
+   return;
+}
+
+void twl6030_init_battery_charging(void)
+{
+   twl6030_start_usb_charging();
+   return;
+}
+
+void twl6030_usb_device_settings()
+{
+   u8 data = 0;
+
+   /* Select APP Group and set state to ON */
+   twl6030_i2c_write_u8(TWL6030_CHIP_PM, 0x21, VUSB_CFG_STATE);
+
+   twl6030_i2c_read_u8(TWL6030_CHIP_PM, &data, MISC2);
+   data |= 0x10;
+
+   /* Select the input supply for VBUS regulator */
+   twl6030_i2c_write_u8(TWL6030_CHIP_PM, data, MISC2);
+}
+#endif
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 0fb1ad3..4bec00b 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -103,6 +103,9 @@
 #define CONFIG_DRIVER_OMAP34XX_I2C 1
 #define CONFIG_I2C_MULTI_BUS   1
 
+/* TWL6030 */
+#define CONFIG_TWL6030_POWER   1
+
 /* MMC */
 #define CONFIG_MMC 1
 #define CONFIG_OMAP3_MMC   1
diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h
index ef5272b..c18e71a 100644
--- a/include/configs/omap4_sdp4430.h
+++ b/include/configs/omap4_sdp4430.h
@@ -104,6 +104,9 @@
 #define CONFIG_DRIVER_OMAP34XX_I2C 1
 #define CONFIG_I2C_MULTI_BUS   1
 
+/* TWL6030 */
+#define CONFIG_TWL6030_POWER   1
+
 /* MMC */
 #define CONFIG_MMC 1
 #define CONFIG_OMAP3_MMC   1
diff --git a/

Re: [U-Boot] Please pull u-boot-ti/master

2010-08-03 Thread Steve Sakoman
On Tue, Aug 3, 2010 at 2:37 PM, Wolfgang Denk  wrote:
> Dear Sandeep,
>
> In message <1280345146-18810-1-git-send-email-s-paul...@ti.com> you wrote:
>>
>> Please pull u-boot-ti/master. I ran MAKEALL and saw no issues.
>> The patch modifying the I2c driver has an ACK from Heiko.
>> The patch restructuring the USB driver actually was a simple patch
>> adding some more #defines so i went ahead and added it.
>
> Sorry, I cannot.
>
> There is a license conflivt with that patch:
>
>> Steve Sakoman (8):
>>       ARMV7: Add support for the TWL6030 I2C power chip used in OMAP4 systems

I just sent a revised version of the patch with that change incorporated.

Steve
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] powerpc/p4080: Add support for the P4080DS board

2010-08-03 Thread Wolfgang Denk
Dear Kumar Gala,

In message <1280167927-29160-1-git-send-email-ga...@kernel.crashing.org> you 
wrote:
> Add support for the P4080DS board, with the following features:
> 
> * 36-bit only
> * Boots from NOR flash
> * FMAN drivers NOT supported
> * SPD DDR initialization
> 
> Signed-off-by: Ed Swarthout 
> Signed-off-by: Emil Medve 
> Signed-off-by: Becky Bruce 
> Signed-off-by: Ashish Kalra 
> Signed-off-by: Stuart Yoder 
> Signed-off-by: Dave Liu 
> Signed-off-by: Lan Chunhe-B25806 
> Signed-off-by: Scott Wood 
> Signed-off-by: Kim Phillips 
> Signed-off-by: Roy Zang 
> Signed-off-by: Timur Tabi 
> Signed-off-by: Andy Fleming 
> Signed-off-by: York Sun 
> Signed-off-by: Kumar Gala 
> ---
> * Dropped non-SPD ddr setup
> * cleaned up some whitespace issues
> 
>  MAKEALL |1 +
>  board/freescale/common/Makefile |1 +
>  board/freescale/corenet_ds/Makefile |   55 +++
>  board/freescale/corenet_ds/config.mk|   30 ++
>  board/freescale/corenet_ds/corenet_ds.c |  259 
>  board/freescale/corenet_ds/ddr.c|  176 
>  board/freescale/corenet_ds/law.c|   40 ++
>  board/freescale/corenet_ds/pci.c|  127 ++
>  board/freescale/corenet_ds/tlb.c|  112 +
>  boards.cfg  |1 +
>  include/configs/P4080DS.h   |   35 ++
>  include/configs/corenet_ds.h|  673 
> +++
>  12 files changed, 1510 insertions(+), 0 deletions(-)
>  create mode 100644 board/freescale/corenet_ds/Makefile
>  create mode 100644 board/freescale/corenet_ds/config.mk
>  create mode 100644 board/freescale/corenet_ds/corenet_ds.c
>  create mode 100644 board/freescale/corenet_ds/ddr.c
>  create mode 100644 board/freescale/corenet_ds/law.c
>  create mode 100644 board/freescale/corenet_ds/pci.c
>  create mode 100644 board/freescale/corenet_ds/tlb.c
>  create mode 100644 include/configs/P4080DS.h
>  create mode 100644 include/configs/corenet_ds.h

Entry in MAINTAINERS missing. Please provide incremental patch.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"Bureaucracy is the enemy of innovation."
   - Mark Shepherd, former President and CEO of Texas Instruments
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Please pull u-boot-ti/master

2010-08-03 Thread Wolfgang Denk
Dear Steve Sakoman,

In message  you 
wrote:
>
> I just sent a revised version of the patch with that change incorporated.

Thanks. I'll wait for Sandeep to rebase his tree and resend the pull
rq, then.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
News is what a chap who doesn't care much  about  anything  wants  to
read. And it's only news until he's read it. After that it's dead.
   - Evelyn Waugh _Scoop_ (1938) bk. 1, ch. 5
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Please pull u-boot-mpc85xx.git

2010-08-03 Thread Wolfgang Denk
Dear Kumar Gala,

In message  you wrote:
> The following changes since commit 7385c28e9b5f7d47e6a8f1ad9800e6e70af714e2:
>   Wolfgang Denk (1):
> fs/fat: Big code cleanup.
> 
> are available in the git repository at:
> 
>   git://git.denx.de/u-boot-mpc85xx master
> 
> Kim Phillips (2):
>   powerpc/85xx: configure autocompletion support
>   powerpc/8xxx: query feature reporting register for num cores on unknown 
> cpus
> 
> Kumar Gala (10):
>   powerpc/85xx: Add additional p4080 platform related defines/structs
>   powerpc/fsl_fman: Add initial fman immap structures
>   powerpc/p4080: Add support for CPC(Corenet platform cache) on CoreNet 
> platforms
>   fdt: Add function to alloc phandle values
>   powerpc/85xx: Add support to initialize LIODN registers and portals
>   powerpc/p4080: Add support for initializing SERDES
>   powerpc/p4080: Add workaround for errata SERDES8
>   powerpc/p4080: Add workaround for erratum CPU22
>   powerpc/8xxx: Enabled hwconfig for memory interleaving
>   powerpc/p4080: Add support for the P4080DS board
> 
> york (8):
>   powerpc/85xx: Move INIT_RAM_ADDR physical address to 36-bit space
>   powerpc/p2020: Move INIT_RAM_ADDR physical address higher for 36-bit 
> for P2020DS
>   powerpc/8xxx: Fix bug in memctrl interleaving & bank interleaving on 
> cs0~cs4
>   powerpc/8xxx: Enable quad-rank DIMMs.
>   powerpc/8xxx: Enabled address hashing for 85xx
>   powerpc/8xxx: Enable DDR3 RDIMM support
>   powerpc/8xxx: Improvement to DDR parameters
>   powerpc/p2020ds: Integrated with P2020DS DDR change and enabled hwconfig
> 
>  MAKEALL|1 +
>  Makefile   |1 +
>  arch/powerpc/cpu/mpc85xx/Makefile  |8 +
>  arch/powerpc/cpu/mpc85xx/cmd_errata.c  |6 +
>  arch/powerpc/cpu/mpc85xx/cpu_init.c|   52 ++-
>  arch/powerpc/cpu/mpc85xx/ddr-gen3.c|2 +
>  arch/powerpc/cpu/mpc85xx/fdt.c |   39 ++
>  arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.c  |  495 ++
>  arch/powerpc/cpu/mpc85xx/fsl_corenet_serdes.h  |   44 ++
>  arch/powerpc/cpu/mpc85xx/liodn.c   |  187 ++
>  arch/powerpc/cpu/mpc85xx/p4080_ids.c   |  115 
>  arch/powerpc/cpu/mpc85xx/p4080_serdes.c|   98 +++
>  arch/powerpc/cpu/mpc85xx/portals.c |  238 +++
>  arch/powerpc/cpu/mpc85xx/release.S |6 +
>  arch/powerpc/cpu/mpc85xx/start.S   |   10 +
>  arch/powerpc/cpu/mpc8xxx/cpu.c |   10 +-
>  .../powerpc/cpu/mpc8xxx/ddr/common_timing_params.h |3 +
>  arch/powerpc/cpu/mpc8xxx/ddr/ctrl_regs.c   |  264 +---
>  arch/powerpc/cpu/mpc8xxx/ddr/ddr.h |1 +
>  arch/powerpc/cpu/mpc8xxx/ddr/ddr3_dimm_params.c|6 +-
>  .../cpu/mpc8xxx/ddr/lc_common_dimm_params.c|   30 +-
>  arch/powerpc/cpu/mpc8xxx/ddr/main.c|   40 +-
>  arch/powerpc/cpu/mpc8xxx/ddr/options.c |  154 -
>  arch/powerpc/include/asm/fsl_ddr_dimm_params.h |3 +
>  arch/powerpc/include/asm/fsl_ddr_sdram.h   |3 +
>  arch/powerpc/include/asm/fsl_fman.h|  212 ++
>  arch/powerpc/include/asm/fsl_law.h |3 +-
>  arch/powerpc/include/asm/fsl_liodn.h   |  142 
>  arch/powerpc/include/asm/fsl_portals.h |   59 ++
>  arch/powerpc/include/asm/fsl_serdes.h  |   11 +-
>  arch/powerpc/include/asm/immap_85xx.h  |  219 ++-
>  arch/powerpc/include/asm/processor.h   |1 +
>  board/freescale/common/Makefile|1 +
>  board/freescale/corenet_ds/Makefile|   55 ++
>  board/freescale/corenet_ds/config.mk   |   30 +
>  board/freescale/corenet_ds/corenet_ds.c|  259 
>  board/freescale/corenet_ds/ddr.c   |  176 +
>  board/freescale/corenet_ds/law.c   |   40 ++
>  board/freescale/corenet_ds/pci.c   |  127 
>  board/freescale/corenet_ds/tlb.c   |  112 
>  board/freescale/mpc8641hpcn/mpc8641hpcn.c  |2 +
>  board/freescale/p2020ds/ddr.c  |   56 +-
>  board/freescale/p2020ds/p2020ds.c  |7 +-
>  board/freescale/p2020ds/tlb.c  |8 +-
>  boards.cfg |1 +
>  common/fdt_support.c   |   18 +
>  doc/README.fsl-ddr |   39 +-
>  include/configs/MPC8536DS.h|1 +
>  include/configs/MPC8540ADS.h   |3 +-
>  include/configs/MPC8541CDS.h   |3 +-
>  include/configs/MPC8544DS.h|3 +-
>  include/configs/MPC8548CDS.h  

Re: [U-Boot] [PATCH 1/2] S5P: support mmc driver

2010-08-03 Thread Wolfgang Denk
Dear Minkyu Kang,

In message <4c331c61.9070...@samsung.com> you wrote:
> This patch adds support mmc driver for s5p SoC
...

> +#ifdef DEBUG_S5P_HSMMC
> +#define dbg(x...)   printf(x)
> +#else
> +#define dbg(x...)   do { } while (0)
> +#endif

Can you please rework this code to use the standard debug() macro
instead of your own?

Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"...all the  good  computer  designs  are  bootlegged;  the  formally
planned  products,  if  they  are built at all, are dogs!" - David E.
Lundstrom, "A Few Good Men From Univac", MIT Press, 1987
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Please pull u-boot-samsung/master

2010-08-03 Thread Wolfgang Denk
Dear Minkyu Kang,

In message <4c57cb3b.1020...@samsung.com> you wrote:
> Please pull u-boot-samsung/master.
> Thanks.
> 
> The following changes since commit 2271d3ddccfbd4a7640121669ff9b013b1fea361:
>   Minkyu Kang (1):
> Merge branch 'master' of git://git.denx.de/u-boot
> 
> are available in the git repository at:
> 
>   git://git.denx.de/u-boot-samsung master
> 
> Minkyu Kang (3):
>   SAMSUNG: serial: remove compiler warnings
>   S5P: support mmc driver
>   s5p_goni: enable mmc0
> 
>  arch/arm/include/asm/arch-s5pc1xx/cpu.h |2 +
>  arch/arm/include/asm/arch-s5pc1xx/mmc.h |   71 +
>  board/samsung/goni/goni.c   |   37 +++
>  drivers/mmc/Makefile|1 +
>  drivers/mmc/s5p_mmc.c   |  478 
> +++
>  drivers/serial/serial_s5p.c |4 +-
>  include/configs/s5p_goni.h  |6 +
>  7 files changed, 597 insertions(+), 2 deletions(-)
>  create mode 100644 arch/arm/include/asm/arch-s5pc1xx/mmc.h
>  create mode 100644 drivers/mmc/s5p_mmc.c

Applied to u-boot-arm #master, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Madness takes its toll. Please have exact change.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Please pull u-boot-ti/master

2010-08-03 Thread Steve Sakoman
On Tue, Aug 3, 2010 at 3:21 PM, Wolfgang Denk  wrote:
> Dear Steve Sakoman,
>
> In message  you 
> wrote:
>>
>> I just sent a revised version of the patch with that change incorporated.
>
> Thanks. I'll wait for Sandeep to rebase his tree and resend the pull
> rq, then.

OK.  Sorry for the inconvenience.

I also have the updated series in the following branch if that will
make it easier for Sandeep:

http://www.sakoman.com/cgi-bin/gitweb.cgi?p=u-boot.git;a=shortlog;h=refs/heads/omap4-next-upstream

Steve
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] bootm: fix pointer warning with lzma

2010-08-03 Thread Wolfgang Denk
Dear Mike Frysinger,

In message <1280087657-12566-1-git-send-email-vap...@gentoo.org> you wrote:
> Avoid warning:
> cmd_bootm.c: In function 'bootm_load_os':
> cmd_bootm.c:394: warning: passing argument 2 of
>   'lzmaBuffToBuffDecompress' from incompatible pointer type
> 
> For 32 bit systems, this change shouldn't make a difference to code size
> since sizeof(size_t) and sizeof(unsigned int) are equal.  But it does fix
> the warning.
> 
> Signed-off-by: Mike Frysinger 
> ---
>  common/cmd_bootm.c |7 +--
>  1 files changed, 5 insertions(+), 2 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Space is big. You just won't believe how vastly, hugely, mind-
bogglingly big it is. I mean, you may think it's a long way down the
road to the drug store, but that's just peanuts to space.
  -- The Hitchhiker's Guide to the Galaxy
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Rename getenv_r() into getenv_f()

2010-08-03 Thread Wolfgang Denk
Dear Wolfgang Denk,

In message <1280001343-1460-1-git-send-email...@denx.de> you wrote:
> While running from flash, i. e. before relocation, we have only a
> limited C runtime environment without writable data segment. In this
> phase, some configurations (for example with environment in EEPROM)
> must not use the normal getenv(), but a special function.  This
> function had been called getenv_r(), with the idea that the "_r"
> suffix would mean the same as in the _r_eentrant versions of some of
> the C library functions (for example getdate vs. getdate_r, getgrent
> vs. getgrent_r, etc.).
> 
> Unfortunately this was a misleading name, as in U-Boot the "_r"
> generally means "running from RAM", i. e. _after_ relocation.
> 
> To avoid confusion, rename into getenv_f() [as "running from flash"]
> 
> Signed-off-by: Wolfgang Denk 
> ---
>  README   |2 +-
>  arch/arm/lib/board.c |2 +-
>  arch/avr32/lib/board.c   |2 +-
>  arch/blackfin/lib/board.c|2 +-
>  arch/blackfin/lib/post.c |2 +-
>  arch/i386/lib/board.c|2 +-
>  arch/m68k/lib/board.c|6 +++---
>  arch/mips/cpu/incaip_clock.c |2 +-
>  arch/mips/lib/board.c|2 +-
>  arch/powerpc/cpu/mpc8xx/speed.c  |2 +-
>  arch/powerpc/cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c |2 +-
>  arch/powerpc/lib/board.c |6 +++---
>  arch/sparc/lib/board.c   |2 +-
>  board/Marvell/db64360/mv_eth.c   |4 ++--
>  board/Marvell/db64460/mv_eth.c   |4 ++--
>  board/avnet/fx12mm/fx12mm.c  |2 +-
>  board/cray/L1/L1.c   |2 +-
>  board/dave/PPChameleonEVB/PPChameleonEVB.c   |2 +-
>  board/esd/adciop/adciop.c|2 +-
>  board/esd/apc405/apc405.c|2 +-
>  board/esd/ar405/ar405.c  |2 +-
>  board/esd/ash405/ash405.c|2 +-
>  board/esd/canbt/canbt.c  |2 +-
>  board/esd/cms700/cms700.c|2 +-
>  board/esd/cpci2dp/cpci2dp.c  |2 +-
>  board/esd/cpci405/cpci405.c  |2 +-
>  board/esd/cpci750/mv_eth.c   |4 ++--
>  board/esd/cpciiser4/cpciiser4.c  |2 +-
>  board/esd/dasa_sim/dasa_sim.c|2 +-
>  board/esd/dp405/dp405.c  |2 +-
>  board/esd/du405/du405.c  |2 +-
>  board/esd/du440/du440.c  |2 +-
>  board/esd/hh405/hh405.c  |8 
>  board/esd/hub405/hub405.c|4 ++--
>  board/esd/meesc/meesc.c  |2 +-
>  board/esd/ocrtc/ocrtc.c  |2 +-
>  board/esd/otc570/otc570.c|4 ++--
>  board/esd/pci405/pci405.c|2 +-
>  board/esd/plu405/plu405.c|2 +-
>  board/esd/pmc405/pmc405.c|2 +-
>  board/esd/voh405/voh405.c|4 ++--
>  board/esd/vom405/vom405.c|2 +-
>  board/esd/wuh405/wuh405.c|2 +-
>  board/evb64260/eth.c |2 +-
>  board/g2000/g2000.c  |2 +-
>  board/gen860t/gen860t.c  |6 +++---
>  board/inka4x0/inka4x0.c  |2 +-
>  board/ip860/ip860.c  |2 +-
>  board/kup/kup4k/kup4k.c  |4 ++--
>  board/mpl/common/common_util.c   |4 ++--
>  board/mpl/common/memtst.c|2 +-
>  board/mpl/mip405/mip405.c|2 +-
>  board/mpl/pati/pati.c|2 +-
>  board/mpl/pip405/pip405.c|2 +-
>  board/mpl/vcma9/vcma9.c  |4 ++--
>  board/ppmc8260/ppmc8260.c|2 +-
>  board/prodrive/p3mx/mv_eth.c |4 ++--
>  board/sbc405/sbc405.c|2 +-
>  board/sbc8260/sbc8260.c  |2 +-
>  board/siemens/CCM/ccm.c  |2 +-
>  board/siemens/SCM/scm.c  |2 +-
>  board/snmc/qs850/qs850.c |2 +-
>  board/snmc/qs860t/qs860t.c   |2 +-
>  board/tqc/tqm8260/tqm8260.c  |2 +-
>  board/trab/trab.c|2 +-
>  board/uc100/uc100.c  |2 +-
>  common/cmd_nvedit.c 

Re: [U-Boot] [PATCH 5/5] New implementation for internal handling of environment variables.

2010-08-03 Thread Wolfgang Denk
Dear Matthias Fuchs,

In message <201007291116.15503.matthias.fu...@esd-electronics.com> you wrote:
> 
> > Actually neither MAC addresses nor  serial# are part of the default
> > environment.
> Right. But, I'd like to have that described feature in any case. Let's call 
> it different,
> but the functionality would be helpful. What about a further option like '-p' 
> for keep
> _p_rotected. 

I see this a s part of a sub-sequent patch (series), which adds flags
to variables (like read-only, don't-save, etc.).

> > No. We need the address of the pointer variable, so the function can
> > store the result pointer there.
> Nak. You added &-operator when calling: hexport('\0', &res, ENV_SIZE);
> That's one to much. You can also remove the &-operator from this:
>   res = (char *)&envp->data;
> 
> So the code will look like this:

Thanks, will re-check this when I have a little more time.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
The more complex the mind, the greater the need for the simplicity of
play.
-- Kirk, "Shore Leave", stardate 3025.8
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] config.mk: avoid -traditional-cpp on OS X 10.5

2010-08-03 Thread Mike Frysinger
Simply trying to include a basic header file like stdlib.h on OS X 10.5
and then building with -traditional-cpp fails with lots of errors like:
In file included from /usr/include/stdlib.h:63,
 from test.c:3:
/usr/include/available.h:85: error: stray '#' in program
/usr/include/available.h:85: error: syntax error before numeric constant
/usr/include/available.h:86: error: stray '#' in program

In the past, I hadn't noticed because the old logic for these flags were
restricted to Darwin running on PowerPC systems while I'm running on an
Intel system.  But after some recent clean ups and changes, the flag was
being applied to all Darwin systems and my host tools broke.

Signed-off-by: Mike Frysinger 
---
Note: i've only tested Darwin/x86 as my Darwin/ppc is having hardware
  trouble atm ... not sure when/if i'll get it fixed

 config.mk |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/config.mk b/config.mk
index bcda776..eb95093 100644
--- a/config.mk
+++ b/config.mk
@@ -68,13 +68,13 @@ ifeq ($(HOSTOS),darwin)
 DARWIN_MAJOR_VERSION   = $(shell sw_vers -productVersion | cut -f 1 -d '.')
 DARWIN_MINOR_VERSION   = $(shell sw_vers -productVersion | cut -f 2 -d '.')
 
-before-snow-leopard= $(shell if [ $(DARWIN_MAJOR_VERSION) -le 10 -a \
-   $(DARWIN_MINOR_VERSION) -le 5 ] ; then echo "$(1)"; else echo "$(2)"; 
fi ;)
+os_x_before= $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \
+   $(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo 
"$(4)"; fi ;)
 
 # Snow Leopards build environment has no longer restrictions as described above
-HOSTCC  = $(call before-snow-leopard, "cc", "gcc")
-HOSTCFLAGS += $(call before-snow-leopard, "-traditional-cpp")
-HOSTLDFLAGS+= $(call before-snow-leopard, "-multiply_defined suppress")
+HOSTCC  = $(call os_x_before, 10, 5, "cc", "gcc")
+HOSTCFLAGS += $(call os_x_before, 10, 4, "-traditional-cpp")
+HOSTLDFLAGS+= $(call os_x_before, 10, 5, "-multiply_defined suppress")
 else
 HOSTCC = gcc
 endif
-- 
1.7.2

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] S5P: support mmc driver

2010-08-03 Thread Minkyu Kang
Dear Wolfgang,

On 4 August 2010 07:33, Wolfgang Denk  wrote:
> Dear Minkyu Kang,
>
> In message <4c331c61.9070...@samsung.com> you wrote:
>> This patch adds support mmc driver for s5p SoC
> ...
>
>> +#ifdef DEBUG_S5P_HSMMC
>> +#define dbg(x...)       printf(x)
>> +#else
>> +#define dbg(x...)       do { } while (0)
>> +#endif
>
> Can you please rework this code to use the standard debug() macro
> instead of your own?

Ok, I'll do.
Thanks.

>
> Thanks.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
> "...all the  good  computer  designs  are  bootlegged;  the  formally
> planned  products,  if  they  are built at all, are dogs!" - David E.
> Lundstrom, "A Few Good Men From Univac", MIT Press, 1987
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>


Minkyu Kang
-- 
from. prom.
www.promsoft.net
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] update the MIPS u-boot.lds

2010-08-03 Thread Shinya Kuribayashi
On 08/04/2010 12:29 AM, Xiangfu Liu wrote:
> On 08/03/2010 07:36 PM, Shinya Kuribayashi wrote:
>> Aconfccording to MAKEALL script, pb1000_ig is only used in Little-
>> endian, so its default endian should be set to LE as well.  I too
>> missed this point in my previous patch.
> 
> thanks.

You still forgot to fix this part:

| No greetings in the longlog, please.  Such comments, supplements are
| to go below the three-dashes (---):

In other words, please remove "Hi Wolfgang" line, and in this case
"v1:" and "v2:" at the same time.  The resulting longlog would be
like this:


>From the document, if set all arguments in "OUTPUT_FORMAT"
to "tradbigmips", then even add "-EL" to gcc we still get
EB format.

pb1x00 is only used in Little-endian, 
so its default endian should be set to LE as well
 
Signed-off-by: Xiangfu Liu 
Acked-by: Shinya Kuribayashi 

---

 Hi Wolfgang, 

 v1: ...

 v2: ...

 board/dbau1x00/u-boot.lds|2 +-
 board/gth2/u-boot.lds|2 +-
 board/incaip/u-boot.lds  |2 +-
 board/pb1x00/u-boot.lds  |2 +-
 board/purple/u-boot.lds  |2 +-
 board/qemu-mips/u-boot.lds   |2 +-
 examples/standalone/mips.lds |2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

 :
 :

_

I recommend you to read the patch submission guide first.
http://www.denx.de/wiki/U-Boot/Patches

>> With fixing above nits, feel free to add:
>>
>> Acked-by: Shinya Kuribayashi
>>
> (by the way. I manually added this line to email.
> is the another way to add "Acked-by" like "Signed-off-by" is "-s")

Git doesn't support such feature itself, so edit commitlog manually.
As an alternative, StackedGit can append those tags by "stg refresh
--sign/--ack".  Just for your information.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] ATTEN:$500,000.00

2010-08-03 Thread ATM CARD DELIVERY

ATTEN:$500,000.00 has been credited in an ATMCARD in your favor,reply 
immediately for yourclaims.Email:atmcarddeliv...@windowslive.com and Mobile 
+44-703-599-4438 for more details.
All banks.



___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 0/2] tnetv107x cpsw ethernet switch driver

2010-08-03 Thread Cyril Chemparathy
This patch series adds support for the cpsw ethernet switch found on tnetv107x
and other SoCs from Texas Instruments.

Cyril Chemparathy (2):
  TI: netdev: add driver for cpsw ethernet device
  TI: add tnetv107x evm board support for cpsw

 board/ti/tnetv107xevm/sdb_board.c |  155 +++
 drivers/net/Makefile  |1 +
 drivers/net/cpsw.c|  840 +
 include/configs/tnetv107x_evm.h   |   16 +
 include/netdev.h  |   29 ++
 5 files changed, 1041 insertions(+), 0 deletions(-)
 create mode 100644 drivers/net/cpsw.c

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 2/2] TI: add tnetv107x evm board support for cpsw

2010-08-03 Thread Cyril Chemparathy
This patch adds the necessary board-level hookups to get the CPSW device
working on tnetv107x evm boards.

Signed-off-by: Cyril Chemparathy 
---
 board/ti/tnetv107xevm/sdb_board.c |  155 +
 include/configs/tnetv107x_evm.h   |   16 
 2 files changed, 171 insertions(+), 0 deletions(-)

diff --git a/board/ti/tnetv107xevm/sdb_board.c 
b/board/ti/tnetv107xevm/sdb_board.c
index 3ed1cfd..a7effd0 100644
--- a/board/ti/tnetv107xevm/sdb_board.c
+++ b/board/ti/tnetv107xevm/sdb_board.c
@@ -21,6 +21,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -139,6 +140,160 @@ int dram_init(void)
return 0;
 }
 
+#ifdef CONFIG_DRIVER_TI_CPSW
+
+#define PHY_PAGE   22
+#define PHY_MSCR   21
+#define PHY_CSCR   16
+#define PHY_PAGE_MSCR  2
+#define PHY_PAGE_DEFAULT   0
+
+static void phy_init(char *name, int addr)
+{
+   unsigned short reg;
+
+   /* Program RXID and TXID */
+   if (miiphy_write(name, addr, PHY_PAGE, PHY_PAGE_MSCR) != 0) {
+   printf("failed to select mscr page\n");
+   return;
+   }
+
+   if (miiphy_read(name, addr, PHY_MSCR, ®) != 0) {
+   printf("failed to read mscr\n");
+   return;
+   }
+
+   reg |= 0x3 << 4;/* RXID and TXID */
+
+   if (miiphy_write(name, addr, PHY_MSCR, reg) != 0) {
+   printf("failed to write mscr\n");
+   return;
+   }
+
+   /* Program AutoCross */
+   if (miiphy_write(name, addr, PHY_PAGE, PHY_PAGE_DEFAULT) != 0) {
+   printf("failed to select cscr page\n");
+   return;
+   }
+
+   reg = 0x0060;
+   if (miiphy_write(name, addr, PHY_CSCR, reg) != 0) {
+   printf("failed to write cscr\n");
+   return;
+   }
+
+   /* Enable Autonegotiation */
+   if (miiphy_read(name, addr, PHY_BMCR, ®) != 0) {
+   printf("failed to read bmcr\n");
+   return;
+   }
+
+   reg |= PHY_BMCR_AUTON;
+
+   if (miiphy_write(name, addr, PHY_BMCR, reg) != 0) {
+   printf("failed to write bmcr\n");
+   return;
+   }
+
+   /* Setup Advertisement */
+   if (miiphy_read(name, addr, PHY_ANAR, ®) != 0) {
+   printf("failed to read anar\n");
+   return;
+   }
+
+   reg |= (0x1f << 5);
+
+   if (miiphy_write(name, addr, PHY_ANAR, reg) != 0) {
+   printf("failed to write anar\n");
+   return;
+   }
+
+   /* PHY Soft Reset */
+   if (miiphy_reset(name, addr) != 0) {
+   printf("failed to soft-reset phy\n");
+   return;
+   }
+}
+
+static void cpsw_control(int enabled)
+{
+   u32 vtp0_regs   = TNETV107X_VTP_CNTRL_0;
+   u32 vtp1_regs   = TNETV107X_VTP_CNTRL_1;
+
+
+   if (!enabled) {
+   clk_disable(TNETV107X_LPSC_ETHSS_RGMII);
+   clk_disable(TNETV107X_LPSC_ETHSS);
+   return;
+   }
+
+   clk_enable(TNETV107X_LPSC_ETHSS);
+   clk_enable(TNETV107X_LPSC_ETHSS_RGMII);
+
+   /*
+* This piece of hardware is horribly mangled.  For one, port
+* 0 and port 1 configurations are strangely mixed up in the
+* register space, i.e., writing to port 0 registers affects
+* port 1 as well.   Second, for some other equally mysterious
+* reason, port 1 MUST be configured before port 0.
+*/
+   __raw_writel(0x, vtp1_regs + 0x04); /* single mode  */
+   __raw_writel(0x000f, vtp1_regs + 0x10); /* slew slowest */
+   __raw_writel(0x0002, vtp1_regs + 0x14); /* start*/
+
+   __raw_writel(0x, vtp0_regs + 0x04); /* single mode  */
+   __raw_writel(0x000f, vtp0_regs + 0x10); /* slew slowest */
+   __raw_writel(0x0002, vtp0_regs + 0x14); /* start*/
+}
+
+static struct cpsw_slave_data cpsw_slaves[] = {
+   {
+   .slave_reg_ofs  = 0x14,
+   .sliver_reg_ofs = 0x80,
+   .phy_id = 0,
+   },
+   {
+   .slave_reg_ofs  = 0x34,
+   .sliver_reg_ofs = 0xc0,
+   .phy_id = 1,
+   },
+};
+
+static struct cpsw_platform_data cpsw_data = {
+   .mdio_base  = TNETV107X_MDIO_BASE,
+   .cpsw_base  = TNETV107X_CPSW_BASE,
+   .mdio_div   = 0xff,
+   .channels   = 8,
+   .cpdma_reg_ofs  = 0x100,
+   .slaves = 2,
+   .slave_data = cpsw_slaves,
+   .ale_reg_ofs= 0x500,
+   .ale_entries= 1024,
+   .host_port_reg_ofs  = 0x54,
+   .hw_stats_reg_ofs   = 0x400,
+   .mac_control= (1 << 18) | /* IFCTLA */
+ (1 << 15) | /* EXTEN  */
+ (1 << 5)  | /* MIIEN  */
+ 

[U-Boot] [PATCH 1/2] TI: netdev: add driver for cpsw ethernet device

2010-08-03 Thread Cyril Chemparathy
CPSW is an on-chip ethernet switch that is found on various SoCs from Texas
Instruments.  This patch adds a simple driver (based on the Linux driver) for
this hardware module.

Signed-off-by: Cyril Chemparathy 
---
 drivers/net/Makefile |1 +
 drivers/net/cpsw.c   |  861 ++
 include/netdev.h |   29 ++
 3 files changed, 891 insertions(+), 0 deletions(-)
 create mode 100644 drivers/net/cpsw.c

diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 218eeff..f4f1ed2 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -73,6 +73,7 @@ COBJS-$(CONFIG_SMC9) += smc9.o
 COBJS-$(CONFIG_SMC911X) += smc911x.o
 COBJS-$(CONFIG_TIGON3) += tigon3.o bcm570x_autoneg.o 5701rls.o
 COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
+COBJS-$(CONFIG_DRIVER_TI_CPSW) += cpsw.o
 COBJS-$(CONFIG_TSEC_ENET) += tsec.o
 COBJS-$(CONFIG_TSI108_ETH) += tsi108_eth.o
 COBJS-$(CONFIG_ULI526X) += uli526x.o
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
new file mode 100644
index 000..c84ec78
--- /dev/null
+++ b/drivers/net/cpsw.c
@@ -0,0 +1,861 @@
+/*
+ * CPSW Ethernet Switch Driver
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#define BIT(x) (1 << (x))
+#define BITMASK(bits)  (BIT(bits) - 1)
+#define PHY_REG_MASK   0x1f
+#define PHY_ID_MASK0x1f
+#define NUM_DESCS  (PKTBUFSRX * 2)
+#define PKT_MIN60
+#define PKT_MAX(1500 + 14 + 4 + 4)
+
+/* DMA Registers */
+#define CPDMA_TXCONTROL0x004
+#define CPDMA_RXCONTROL0x014
+#define CPDMA_SOFTRESET0x01c
+#define CPDMA_RXFREE   0x0e0
+#define CPDMA_TXHDP0x100
+#define CPDMA_RXHDP0x120
+#define CPDMA_TXCP 0x140
+#define CPDMA_RXCP 0x160
+
+/* Descriptor mode bits */
+#define CPDMA_DESC_SOP BIT(31)
+#define CPDMA_DESC_EOP BIT(30)
+#define CPDMA_DESC_OWNER   BIT(29)
+#define CPDMA_DESC_EOQ BIT(28)
+
+struct cpsw_mdio_regs {
+   u32 version;
+   u32 control;
+#define CONTROL_IDLE   (1 << 31)
+#define CONTROL_ENABLE (1 << 30)
+
+   u32 alive;
+   u32 link;
+   u32 linkintraw;
+   u32 linkintmasked;
+   u32 __reserved_0[2];
+   u32 userintraw;
+   u32 userintmasked;
+   u32 userintmaskset;
+   u32 userintmaskclr;
+   u32 __reserved_1[20];
+
+   struct {
+   u32 access;
+   u32 physel;
+#define USERACCESS_GO  (1 << 31)
+#define USERACCESS_WRITE   (1 << 30)
+#define USERACCESS_ACK (1 << 29)
+#define USERACCESS_READ(0)
+#define USERACCESS_DATA(0x)
+   } user[0];
+};
+
+struct cpsw_regs {
+   u32 id_ver;
+   u32 control;
+   u32 soft_reset;
+   u32 stat_port_en;
+   u32 ptype;
+};
+
+struct cpsw_slave_regs {
+   u32 max_blks;
+   u32 blk_cnt;
+   u32 flow_thresh;
+   u32 port_vlan;
+   u32 tx_pri_map;
+   u32 gap_thresh;
+   u32 sa_lo;
+   u32 sa_hi;
+};
+
+struct cpsw_host_regs {
+   u32 max_blks;
+   u32 blk_cnt;
+   u32 flow_thresh;
+   u32 port_vlan;
+   u32 tx_pri_map;
+   u32 cpdma_tx_pri_map;
+   u32 cpdma_rx_chan_map;
+};
+
+struct cpsw_sliver_regs {
+   u32 id_ver;
+   u32 mac_control;
+   u32 mac_status;
+   u32 soft_reset;
+   u32 rx_maxlen;
+   u32 __reserved_0;
+   u32 rx_pause;
+   u32 tx_pause;
+   u32 __reserved_1;
+   u32 rx_pri_map;
+};
+
+#define ALE_ENTRY_BITS 68
+#define ALE_ENTRY_WORDSDIV_ROUND_UP(ALE_ENTRY_BITS, 32)
+
+/* ALE Registers */
+#define ALE_CONTROL0x08
+#define ALE_UNKNOWNVLAN0x18
+#define ALE_TABLE_CONTROL  0x20
+#define ALE_TABLE  0x34
+#define ALE_PORTCTL0x40
+
+#define ALE_TABLE_WR

Re: [U-Boot] [PATCH V5 4/4] edminiv2: add mvsata_ide and cmd_ide support

2010-08-03 Thread Prafulla Wadaskar
 

> -Original Message-
> From: Prafulla Wadaskar 
> Sent: Tuesday, August 03, 2010 5:40 PM
> To: 'Albert ARIBAUD'
> Cc: u-boot@lists.denx.de; tanmay.upadh...@einfochips.com; 
> Prabhanjan Sarnaik; Ashish Karkare
> Subject: RE: [PATCH V5 4/4] edminiv2: add mvsata_ide and 
> cmd_ide support
> 
...snip...
> > 
> > Actually two things were necessary to get ide reset to work 
> reliably:
> > 
> > 1) adding a delay between the writes to SControl. 
> > Experimentation showed 
> > this delay should be at least 41 us on my board. I have set 
> > it to 50 us 
> > to play safe on possible HW characteristics dispersions.
> > 
> > 2) moving the call(s) to mvsata_ide_initialize_port() from 
> > board_init() 
> > function to function ide_preinit(), which is called just 
> > before an IDE 
> > reset if CONFIG_IDE_INIT is set -- accordingly, I added 
> > ide_preinit() to 
> > openrd_base.c and defined CONFIG_IDE_INIT in kirkwood.h.
> > 
> > Prafulla, can you try the patch attached above yours?
> 
> Sure, I will try this and let you know

Hi Albert

It worked for me.
You may post V7, then I will post my patches for Kirkwood sata support

I have two more suggestion,
1. put ide_preinit function in mvsata driver, define CONFIG_IDE_PREINIT in 
board config file  

2. pls remove the blank lines between each command in function 
mvsata_ide_initialize_port, it looks ugly.

3. Instead of adding fixed 41/50 usec delay between the writes to Scontrol
It would be good if you can check/poll some status bit associated with IDE 
controller, this will make mvsata driver rock solid on any platform.

Regards..
Prafulla . .

> 
> Regards..
> Prafulla . .
> 
> > 
> > If this works, then I'll backport the above fixes to 
> orion5x/edminiv2 
> > and post a V7 patch.
> > 
> > Amicalement,
> > -- 
> > Albert.
> > 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot