Re: [U-Boot] [PATCH] tegra20: add back USE_PRIVATE_LIBGCC
On Tue, Aug 07, 2012 at 03:42:45PM -0700, Lucas Stach wrote: Am Dienstag, den 07.08.2012, 15:28 -0700 schrieb Allen Martin: On Tue, Aug 07, 2012 at 10:53:00AM -0700, Lucas Stach wrote: Hi Allen, And to answer Tom's question: the failure was that the real U-Boot would not come up after the SPL. All I could see was the one line printed by the SPL and nothing more. I think I found the problem. It's the following code from start.S: ENTRY(cpu_init_crit) /* * Jump to board specific initialization... * The Mask ROM will have already initialized * basic memory. Go here to bump up clock rate and handle * wake up conditions. */ mov ip, lr @ persevere link reg across call bl lowlevel_init @ go setup pll,mux,memory mov lr, ip @ restore link mov pc, lr @ back to my caller ENDPROC(cpu_init_crit) The ip register is not preserved across function calls, and the CodeSourcery compiler is using it in lowlevel_init or one of the functions it calls. This code was there before the SPL changes, but wasn't being called because CONFIG_SKIP_LOWLEVEL_INIT was set, but now it isn't. Lucas, can you try the following change? I tested it on seaboard with CodeSourcery arm-2011.09-70-arm-none-linux-gnueabi and I'm able to boot a kernel. Yes I can confirm this fixes the issue without further workarounds. Thanks, and: Tested-by: Lucas Stach d...@lynxeye.de Digging a little deeper into this, cpu_init_crit() and lowlevel_init() are called before the stack is setup, so the fact that we call into C code on tegra here is probably the bigger issue. I think the correct fix here is for me to move the code from lowlevel_init() to board_init_f(). -Allen -- nvpublic ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Pull request: u-boot-sh/master
Dear Wolfgang Denk. Please pull from git://git.denx.de/u-boot-sh master. Best regards, Nobuhiro The following changes since commit 6d36121b878a3ccbbff7f60a02109e8c8d81dd0f: Merge branch 'master' of git://git.denx.de/u-boot-onenand (2012-08-07 23:42:55 +0200) are available in the git repository at: git://git.denx.de/u-boot-sh.git master for you to fetch changes up to d61678e096bbb15d46bb297f98abbd903589c118: serial: sh: Add support Renesas R8A7740 (2012-08-08 09:52:06 +0900) Hideyuki Sano (1): serial: sh: Add support Renesas R8A7740 Nobuhiro Iwamatsu (1): serial: sh: Add support Renesas SH73A0 Yoshihiro Shimoda (1): sh: modify checkcpu() for SH-4A arch/sh/cpu/sh4/cpu.c |4 drivers/serial/serial_sh.h | 32 +++- 2 files changed, 27 insertions(+), 9 deletions(-) -- Nobuhiro Iwamatsu iwamatsu at {nigauri.org / debian.org} GPG ID: 40AD1FA6 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 01/16] Blackfin: BF60x: new processor port
On Tuesday 07 August 2012 04:07:40 Bob Liu wrote: From: Mike Frysinger vap...@gentoo.org Add basic support for blackfin new processor BF60x. i had always intended to clean split this 1 change up, but never got a chance before i left arch/blackfin/cpu/cpu.c|4 +- arch/blackfin/cpu/gpio.c | 36 +- arch/blackfin/cpu/initcode.c | 53 +- arch/blackfin/cpu/reset.c |2 + arch/blackfin/cpu/serial.c | 65 +- arch/blackfin/cpu/serial.h | 222 +- arch/blackfin/cpu/serial1.h| 236 ++ arch/blackfin/cpu/serial4.h| 113 + arch/blackfin/include/asm/blackfin_cdef.h |3 + arch/blackfin/include/asm/blackfin_def.h |5 + arch/blackfin/include/asm/blackfin_local.h |2 + arch/blackfin/include/asm/dma.h| 113 +- arch/blackfin/include/asm/gpio.h |2 +- arch/blackfin/include/asm/mach-bf609/BF609_cdef.h | 540 +++ arch/blackfin/include/asm/mach-bf609/BF609_def.h | 3752 arch/blackfin/include/asm/mach-bf609/anomaly.h | arch/blackfin/include/asm/mach-bf609/def_local.h |5 + arch/blackfin/include/asm/mach-bf609/gpio.h| 151 + arch/blackfin/include/asm/mach-bf609/portmux.h | 251 ++ arch/blackfin/include/asm/mach-bf609/ports.h | 63 + arch/blackfin/include/asm/mach-common/bits/cgu.h | 78 + arch/blackfin/include/asm/mach-common/bits/dde.h | 88 + arch/blackfin/include/asm/mach-common/bits/dma.h |1 + arch/blackfin/include/asm/mach-common/bits/pll.h |5 + arch/blackfin/include/asm/mach-common/bits/uart4.h | 66 + arch/blackfin/lib/board.c |2 +- arch/blackfin/lib/clocks.c | 128 +- arch/blackfin/lib/string.c | 97 +- include/configs/bfin_adi_common.h |2 + i would split this into at least 5 pieces: - gpio changes - dma changes - serial changes - new headers (asm/mach-bf609/* and the blackfin_{cdef,def,local} changes which include those) - core changes (cpu/reset/board/etc...) once that's been split up, it'll be much easier to digest/review. some changes i won't mind merging now, but others (see below) will clearly need updating first --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -16,17 +16,21 @@ #include asm/mach-common/bits/bootrom.h #include asm/mach-common/bits/core.h #include asm/mach-common/bits/ebiu.h -#include asm/mach-common/bits/pll.h -#include asm/mach-common/bits/uart.h + +#define BUG() while (1) { asm volatile(emuexcpt;); } #define BUG() while (1) { asm volatile(emuexcpt;); } looks like you got a rebase error here +#if 0 + +#include asm/mach-common/bits/pll.h well that'll obviously need updating :) +#else + +#include asm/mach-common/bits/cgu.h + +#ifndef CONFIG_CGU_CTL_VAL +# define CONFIG_CGU_CTL_VAL ((CONFIG_VCO_MULT 8) | CONFIG_CLKIN_HALF) +#endif + +#ifndef CONFIG_CGU_DIV_VAL +# define CONFIG_CGU_DIV_VAL \ + ((CONFIG_CCLK_DIVCSEL_P) | \ + (CONFIG_SCLK0_DIV S0SEL_P) | \ + (CONFIG_SYSCLK_DIV SYSSEL_P) | \ + (CONFIG_SCLK1_DIV S1SEL_P) | \ + (CONFIG_DCLK_DIVDSEL_P) | \ + (CONFIG_OCLK_DIVOSEL_P)) +#endif + +BOOTROM_CALLED_FUNC_ATTR +void initcode(ADI_BOOT_DATA *bs) +{ +} + +#endif there was no bootrom when i did the initial port. i'd like to think that there's a bootrom now that you guys have actual silicon back. is that not the case ? this will def need implementing, otherwise how can you boot a bf60x cpu ? --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c (Detected Rev: 0.%d) (%s boot)\n, gd-bd-bi_cpu, - bfin_revid(), + /*bfin_revid()*/0, get_bfin_boot_mode(CONFIG_BFIN_BOOT_MODE)); return 0; } that needs implementing :) --- a/include/configs/bfin_adi_common.h +++ b/include/configs/bfin_adi_common.h #ifndef CONFIG_DEBUG_EARLY_SERIAL +#ifndef __ADSPBF60x__ # define CONFIG_SERIAL_MULTI # define CONFIG_SYS_BFIN_UART #endif +#endif i don't recall if i turned this off as an optimization for early work, or because it was unimplemented. i think the former, but if it's the latter, it'll need implementing and this ifdef thrown away. -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
Re: [U-Boot] [PATCH 02/16] Blackfin: bf609-ezkit: new board port
On Tuesday 07 August 2012 04:07:41 Bob Liu wrote: arch/blackfin/cpu/initcode.c | 96 ++- arch/blackfin/cpu/initcode.h |9 ++ arch/blackfin/cpu/serial1.h| 19 +++ arch/blackfin/cpu/serial4.h| 35 +- arch/blackfin/include/asm/mach-bf609/portmux.h |5 + arch/blackfin/include/asm/mach-bf609/ports.h | 56 +++-- board/bf609-ezkit/Makefile | 54 + board/bf609-ezkit/bf609-ezkit.c| 63 ++ boards.cfg |1 + common/cmd_reginfo.c |4 +- include/configs/bf609-ezkit.h | 148 another one i intended on cleaning up splitting, and in some cases merging with the first commit in this series. many of these changes are clearly not board-specific, so they should be squashed into the initial core patches. also, needs a new entry in the MAINTAINERS file -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
Re: [U-Boot] [PATCH 03/16] Blackfin: Bf60x: support big cplb page
On Tuesday 07 August 2012 04:07:42 Bob Liu wrote: Bf60x support 16K, 64K, 16M and 64M cplb pages, this patch add support for them. So that bf609-ezkit can use it's 128M memory. it's - its arch/blackfin/include/asm/cplb.h | 13 +- arch/blackfin/include/asm/mach-common/bits/mpu.h |6 - arch/blackfin/lib/board.c| 28 -- include/configs/bf609-ezkit.h| 6 + 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/arch/blackfin/include/asm/cplb.h b/arch/blackfin/include/asm/cplb.h index cc21e93..5a0588b 100644 --- a/arch/blackfin/include/asm/cplb.h +++ b/arch/blackfin/include/asm/cplb.h @@ -46,8 +46,11 @@ #define CPLB_IDOCACHECPLB_INOCACHE | CPLB_L1_CHBL /* Data Attibutes*/ - +#if defined(__ADSPBF60x__) +#define SDRAM_IGENERIC (PAGE_SIZE_16MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID) +#else #define SDRAM_IGENERIC (PAGE_SIZE_4MB | CPLB_L1_CHBL | CPLB_USER_RD | CPLB_VALID) +#endif many of these ifdefs are largely the same thing. add a define at the top like: #ifdef __ADSPBF60x__ # define PAGE_SIZE_MAX PAGE_SIZE_16MB #else # define PAGE_SIZE_MAX PAGE_SIZE_14MB #endif and then use that in all the other places. this way you don't need to duplicate the vast majority of the content. --- a/arch/blackfin/include/asm/mach-common/bits/mpu.h +++ b/arch/blackfin/include/asm/mach-common/bits/mpu.h this should get merged into the main cpu update patch i think --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c void init_cplbtables(void) { ... +#if defined(__ADSPBF60x__) + icplb_add(0x0, 0x0); err, why ? + dcplb_add(CONFIG_SYS_FLASH_BASE, PAGE_SIZE_16MB | CPLB_DIRTY | + CPLB_SUPV_WR | CPLB_USER_WR | CPLB_USER_RD | CPLB_VALID); can't you use SDRAM_EBIU/SDRAM_INON_CHBL like BF5xx ? that's what the code below is for: +#ifndef __ADSPBF60x__ icplb_add(0x2000, SDRAM_INON_CHBL); dcplb_add(0x2000, SDRAM_EBIU); ++i; +#endif this is the async memory blocks ... + cplb_page_size = (4 * 1024 * 1024); + cplb_page_mask = (~(cplb_page_size - 1)); why only use CPLBs of 4 megs for external memory on BF60x ? you would want to maximize the usage of 16MiB to reduce CPLB overhead. --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h @@ -62,11 +62,10 @@ #define CONFIG_BFIN_GET_SCLK0 (get_sclk()/CONFIG_SCLK0_DIV) #define CONFIG_BFIN_GET_SCLK1 (get_sclk()/CONFIG_SCLK1_DIV) - /* * Memory Settings */ -#define CONFIG_MEM_SIZE 32 +#define CONFIG_MEM_SIZE 128 #define CONFIG_SMC_GCTL_VAL 0x0010 #define CONFIG_SMC_B1CTL_VAL 0x01002001 @@ -76,9 +75,6 @@ #define CONFIG_SYS_MONITOR_LEN (256 * 1024) #define CONFIG_SYS_MALLOC_LEN(256 * 1024) -#define CONFIG_ICACHE_OFF -#define CONFIG_DCACHE_OFF - /* * Network Settings */ once the CPLB code is updated, you can squash this into the new bf609-ezkit patch -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
Re: [U-Boot] [PATCH 04/16] Blackfin: Rsi: add support for bf609-ezkit
On Tuesday 07 August 2012 04:07:43 Bob Liu wrote: --- a/arch/blackfin/include/asm/config-pre.h +++ b/arch/blackfin/include/asm/config-pre.h #define BFIN_BOOT_16HOST_DMA 11 /* boot ldr from 16-bit host dma */ #define BFIN_BOOT_8HOST_DMA 12 /* boot ldr from 8-bit host dma */ #define BFIN_BOOT_NAND13 /* boot ldr from nand flash */ +#define BFIN_BOOT_RSI_MASTER 14 /* boot ldr from rsi */ +#define BFIN_BOOT_LP_SLAVE15 /* boot ldr from link port */ case BFIN_BOOT_16HOST_DMA: return 16bit dma; case BFIN_BOOT_8HOST_DMA: return 8bit dma; case BFIN_BOOT_NAND: return nand flash; + case BFIN_BOOT_RSI_MASTER: return rsi master; + case BFIN_BOOT_LP_SLAVE: return link port slave; default: return INVALID; } } seems like a change that should be by itself, or squashed into the core bf60x support patch --- a/arch/blackfin/include/asm/mach-common/bits/dma.h +++ b/arch/blackfin/include/asm/mach-common/bits/dma.h should be part of the bf60x dma patch --- a/arch/blackfin/include/asm/mach-common/bits/sdh.h +++ b/arch/blackfin/include/asm/mach-common/bits/sdh.h --- a/drivers/mmc/bfin_sdh.c +++ b/drivers/mmc/bfin_sdh.c these are about the only changes that should be in this patch, and the subject should be: Blackfin: rsi: add support for bf60x --- a/board/bf609-ezkit/bf609-ezkit.c +++ b/board/bf609-ezkit/bf609-ezkit.c --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h merge the rsi patch first, then squash this into the bf609-ezkit board patch -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
Re: [U-Boot] [PATCH 05/16] Blackfin: Paraflash: add support for bf609-ezkit
On Tuesday 07 August 2012 04:07:44 Bob Liu wrote: --- a/arch/blackfin/include/asm/mach-bf609/portmux.h +++ b/arch/blackfin/include/asm/mach-bf609/portmux.h this should be part of the initial commit of this header (one of the initial bf60x support patches) --- a/board/bf609-ezkit/bf609-ezkit.c +++ b/board/bf609-ezkit/bf609-ezkit.c --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h then squash these into the initial bf609-ezkit board patch --- a/include/configs/bfin_adi_common.h +++ b/include/configs/bfin_adi_common.h @@ -195,10 +195,12 @@ nand erase 0 0x4; \ nand write $(loadaddr) 0 0x4 # else -# define UBOOT_ENV_UPDATE \ +# ifndef UBOOT_ENV_UPDATE +# define UBOOT_ENV_UPDATE \ protect off 0x2000 +$(filesize); \ erase 0x2000 +$(filesize); \ cp.b $(loadaddr) 0x2000 $(filesize) +# endif # endif # ifdef CONFIG_NETCONSOLE # define NETCONSOLE_ENV \ replace the 0x2000 with a define and then there's no need to override it # define UBOOT_ENV_UPDATE \ protect off MK_STR(CONFIG_SYS_FLASH_BASE) +$(filesize); \ erase MK_STR(CONFIG_SYS_FLASH_BASE) +$(filesize); \ cp.b $(loadaddr) MK_STR(CONFIG_SYS_FLASH_BASE) $(filesize) -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
Re: [U-Boot] [PATCH 06/16] Blackfin: Bf609-ezkit: implement soft switch
On Tuesday 07 August 2012 04:07:45 Bob Liu wrote: --- a/board/bf609-ezkit/Makefile +++ b/board/bf609-ezkit/Makefile +COBJS-$(CONFIG_BFIN_SOFT_SWITCH) += soft_switch.o is there any reason we *wouldn't* want to build this ? i would just skip making this an option and always enable it. also, any reason for not just squashing into the initial bf609-ezkit board port ? there's quite a bit of rudimentary code in bf609-ezkit.c before to support this. --- a/board/bf609-ezkit/bf609-ezkit.c +++ b/board/bf609-ezkit/bf609-ezkit.c +/* miscellaneous platform dependent initialisations */ +int misc_init_r(void) +{ + printf(other init\n); useless display - delete --- /dev/null +++ b/board/bf609-ezkit/soft_switch.c +#ifdef CONFIG_BFIN_BOARD_VERSION_1_0 +#define SWITCH_ADDR 0x21 +#else +#define SWITCH_ADDR 0x20 +#endif must this be a runtime define ? can't you probe the slave address at runtime to figure out which one to use ? start with the address that the newest boards are using, and then fallback to the older ones. this way there's no runtime penalty on newer boards, but older ones continue to work. shouldn't there be a new u-boot command here so people can toggle peripherals themselves ? i thought that was the intention when we first discussed this idea with the firmware team. -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
Re: [U-Boot] [PATCH 08/16] Blackfin: add more print info for Bf60x
On Tuesday 07 August 2012 04:07:47 Bob Liu wrote: --- a/arch/blackfin/lib/clocks.c +++ b/arch/blackfin/lib/clocks.c +u_long get_dclk(void) +{ +#ifndef CONFIG_BFIN_GET_DCLK + return _get_sclk(cached_dclk); +#else + return CONFIG_BFIN_GET_DCLK; +#endif +} this looks like my incomplete hack where the implementation of clock lookups weren't finished. that was because at the time, the hardware blocks of the bf60x were not finished which means i couldn't query the MMRs to calculate the values. please implement this ... --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h #define CONFIG_BFIN_GET_SCLK (CONFIG_PLL_CLK/CONFIG_SYSCLK_DIV) #define CONFIG_BFIN_GET_SCLK0 (get_sclk()/CONFIG_SCLK0_DIV) #define CONFIG_BFIN_GET_SCLK1 (get_sclk()/CONFIG_SCLK1_DIV) +#define CONFIG_BFIN_GET_DCLK (get_cclk()/CONFIG_DCLK_DIV) and then point all these hard coded defines. these existed purely for initial FPGA bring up and were not intended to be shipped as the final code. -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
Re: [U-Boot] [PATCH 09/16] Blackfin: Bf60x: add reset support
please squash into one of the initial bf60x cpu support patches -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
Re: [U-Boot] [PATCH 10/16] Blackfin: Bf60x: Check card ready for each RSI command
On Tuesday 07 August 2012 04:07:49 Bob Liu wrote: Set up RSI data before sending RSI command if data is applicable. squash into the Blackfin: rsi: add bf60x support patch -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
Re: [U-Boot] [PATCH 11/16] Blackfin: Bf60x: support clock init
split squash into earlier patches where appropriate -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
Re: [U-Boot] [PATCH 12/16] Blackfin: Bf60x: initcode: set up uart baud properly
On Tuesday 07 August 2012 04:07:51 Bob Liu wrote: Set up uart baud properly for booting u-boot over UART squash into one of the earlier initial bf60x support patches -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
Re: [U-Boot] [PATCH 07/16] Blackfin: Spi: add bf6xx spi driver
On Tuesday 07 August 2012 04:07:46 Bob Liu wrote: --- /dev/null +++ b/arch/blackfin/include/asm/mach-common/bits/spi6xx.h @@ -0,0 +1,240 @@ +/* + * Analog Devices SPI3 controller driver i'd prefer to call it bfin_spi3 then since it represents the version of the IP block and not the SoC it happens to be shipped with --- a/include/configs/bf609-ezkit.h +++ b/include/configs/bf609-ezkit.h this should be squashed into the bf609-ezkit board port patch -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
Re: [U-Boot] [PATCH 13/16] Blackfin: Bf60x: add hw watchdog support
On Tuesday 07 August 2012 04:07:52 Bob Liu wrote: --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c if (CONFIG_BFIN_BOOT_MODE != BFIN_BOOT_BYPASS) { serial_putc('e'); +#ifdef __ADSPBF60x__ + int i; + bfin_write_SEC_GCTL(0x2); + while (i++ 10); + bfin_write_SEC_FCTL(0xc1); + bfin_write_SEC_SCTL(2, bfin_read_SEC_SCTL(2) | 0x6); + + bfin_write_SEC_CCTL(0x2); + while (i++ 10); + bfin_write_SEC_GCTL(0x1); + bfin_write_SEC_CCTL(0x1); +#endif err, this doesn't look like hardware watchdog ... this is the interrupt controller isn't it ? those while() loops also won't fly -- you need to use a proper sync function here. certainly not without comments as to what's going on. --- a/arch/blackfin/cpu/start.S +++ b/arch/blackfin/cpu/start.S @@ -65,6 +65,7 @@ ENTRY(_start) p5.h = HI(COREMMR_BASE); #ifdef CONFIG_HW_WATCHDOG +#ifndef __ADSPBF60x__ # ifndef CONFIG_HW_WATCHDOG_TIMEOUT_START # define CONFIG_HW_WATCHDOG_TIMEOUT_START 5000 # endif @@ -78,6 +79,7 @@ ENTRY(_start) /* fire up the watchdog - R0.L above needs to be 0x */ W[p4 + (WDOG_CTL - SYSMMR_BASE)] = r0; #endif +#endif you need to implement the bf60x equivalent here and not just disable the bf5xx code -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
Re: [U-Boot] [PATCH 16/16] Blackfin: update license to Clear BSD license.
obviously this is OK regardless of my opinion on it ;) -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