Re: [U-Boot] ARM: OMAP3/4: proposal: Cleanup MUX

2010-11-09 Thread Premi, Sanjeev
 

 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Nishanth Menon
 Sent: Tuesday, November 09, 2010 6:09 AM
 To: Peter Barada
 Cc: u-boot@lists.denx.de
 Subject: Re: [U-Boot] ARM: OMAP3/4: proposal: Cleanup MUX
 
 Peter Barada wrote, on 11/05/2010 11:59 PM:
  Personally I'd like to see the kernel and u-boot disconnect on the
 
 Looks like we are getting to a consensus - we all seem to dislike the 
 dependency of u-boot and kernel for mux as of today - can we 
 think about 

[sp] In my opinion, we need to do minimal and necessary MUX settings
 in u-boot and let kernel manage itself.

 This also helps ensure that problems noticed in kernel are easy
 to replicate on other similar platforms. Last year I spent long
 time in convincing that wake-up on keypad was not working in Linux
 kernel; but folks using OMAP3430SDP maintained it worked fine.
 Root cause - relevant PADCONF was set in u-boot for 3430SDP.
 (not quoting mail-chain)

 We may not be able to eliminate such instances altogether - but
 can have less of such instances.

 post 2011March as a good time to start pushing the relevant 
 changes in? 
 if that is the case, I will start posting RFCs in the coming weeks so 

[sp] Can you list what chanages you are trying to propose? ...without
 going as far as RFC.

 the mails quoted in previous message are again too long and wide
 in discussion. A concise list will help.

~sanjeev

 that we can get the relevant changes ready on time. Ofcourse, 
 if there 
 are others wishing to collaborate, folks are more than welcome :)
 
 -- 
 Regards,
 Nishanth Menon
 ___
 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] Switch from archive libraries to partial linking

2010-11-09 Thread Andre Schwarz
Sebastian,

drivers/qe already has an object called qe.o ... renaming qe.a to 
qe.o doesn't work.

I'd suggest to build libqe.o and also adapt Toplevel Makefile accordingly.

I also don't understand why ftd.c is not depending on CONFIG_QE.
That's another question ... but leads to error having your patch applied.


Regards,
André


On 11/08/2010 11:04 PM, Sebastien Carlier wrote:
 NOTE: This does not include the actual patch as it is too large for the 
 mailing list (418 kB).

 Before this commit, weak symbols were not overridden by non-weak symbols 
 found in archive libraries
 when linking with recent versions of binutils.  As stated in the System V 
 ABI, the link editor does
 not extract archive members to resolve undefined weak symbols.

 This commit changes all Makefiles to use partial linking (ld -r) instead of 
 creating library archives,
 which forces all symbols to participate in linking, allowing non-weak symbols 
 to override weak symbols
 as intended.  This approach is also used by Linux, from which the gmake 
 function cmd_link_o_target
 (added at the end of config.mk and used in all Makefiles) is inspired.

 The name of each former library archive is preserved except for extensions 
 which change from .a to
 .o.  This commit updates references accordingly where needed, in particular 
 in some linker scripts.

 This commit reveals board configurations that exclude some module but not all 
 of its dependencies; for
 example, disabling CMD_NET but not CMD_NFS results in undefined symbols at 
 link time.

 Signed-off-by: Sebastien Carliersebastien.carl...@gmail.com
 ---
   Makefile  |  118 
 ++--
   api/Makefile  |4 +-
   arch/arm/cpu/arm1136/Makefile |4 +-
   arch/arm/cpu/arm1136/mx31/Makefile|4 +-
   arch/arm/cpu/arm1136/omap24xx/Makefile|4 +-
   arch/arm/cpu/arm1176/Makefile |4 +-
   arch/arm/cpu/arm1176/s3c64xx/Makefile |4 +-
   arch/arm/cpu/arm1176/tnetv107x/Makefile   |4 +-
   arch/arm/cpu/arm720t/Makefile |4 +-
   arch/arm/cpu/arm720t/lpc2292/Makefile |4 +-
   arch/arm/cpu/arm720t/s3c4510b/Makefile|4 +-
   arch/arm/cpu/arm920t/Makefile |4 +-
   arch/arm/cpu/arm920t/a320/Makefile|4 +-
   arch/arm/cpu/arm920t/at91/Makefile|4 +-
   arch/arm/cpu/arm920t/at91rm9200/Makefile  |4 +-
   arch/arm/cpu/arm920t/ep93xx/Makefile  |4 +-
   arch/arm/cpu/arm920t/imx/Makefile |4 +-
   arch/arm/cpu/arm920t/ks8695/Makefile  |4 +-
   arch/arm/cpu/arm920t/s3c24x0/Makefile |4 +-
   arch/arm/cpu/arm925t/Makefile |4 +-
   arch/arm/cpu/arm926ejs/Makefile   |4 +-
   arch/arm/cpu/arm926ejs/at91/Makefile  |4 +-
   arch/arm/cpu/arm926ejs/davinci/Makefile   |4 +-
   arch/arm/cpu/arm926ejs/kirkwood/Makefile  |4 +-
   arch/arm/cpu/arm926ejs/mb86r0x/Makefile   |4 +-
   arch/arm/cpu/arm926ejs/mx25/Makefile  |4 +-
   arch/arm/cpu/arm926ejs/mx27/Makefile  |4 +-
   arch/arm/cpu/arm926ejs/nomadik/Makefile   |4 +-
   arch/arm/cpu/arm926ejs/omap/Makefile  |4 +-
   arch/arm/cpu/arm926ejs/orion5x/Makefile   |4 +-
   arch/arm/cpu/arm926ejs/spear/Makefile |4 +-
   arch/arm/cpu/arm926ejs/versatile/Makefile |4 +-
   arch/arm/cpu/arm946es/Makefile|4 +-
   arch/arm/cpu/arm_intcm/Makefile   |4 +-
   arch/arm/cpu/armv7/Makefile   |4 +-
   arch/arm/cpu/armv7/mx5/Makefile   |4 +-
   arch/arm/cpu/armv7/omap-common/Makefile   |4 +-
   arch/arm/cpu/armv7/omap3/Makefile |4 +-
   arch/arm/cpu/armv7/omap4/Makefile |4 +-
   arch/arm/cpu/armv7/s5p-common/Makefile|4 +-
   arch/arm/cpu/armv7/s5pc1xx/Makefile   |4 +-
   arch/arm/cpu/ixp/Makefile |4 +-
   arch/arm/cpu/ixp/npe/Makefile |4 +-
   arch/arm/cpu/lh7a40x/Makefile |4 +-
   arch/arm/cpu/pxa/Makefile |4 +-
   arch/arm/cpu/s3c44b0/Makefile |4 +-
   arch/arm/cpu/sa1100/Makefile  |4 +-
   arch/arm/lib/Makefile |   10 +-
   arch/avr32/cpu/Makefile   |4 +-
   arch/avr32/cpu/at32ap700x/Makefile|4 +-
   arch/avr32/lib/Makefile   |4 +-
   arch/blackfin/cpu/Makefile|4 +-
   arch/blackfin/lib/Makefile|4 +-
   arch/i386/cpu/Makefile|4 +-
   arch/i386/cpu/sc520/Makefile  |4 +-
   arch/i386/lib/Makefile|4 +-
   arch/m68k/cpu/mcf5227x/Makefile   |4 +-
   arch/m68k/cpu/mcf523x/Makefile|4 +-
   arch/m68k/cpu/mcf52x2/Makefile|4 +-
   arch/m68k/cpu/mcf532x/Makefile|4 +-
   arch/m68k/cpu/mcf5445x/Makefile   |4 +-
   

Re: [U-Boot] [PATCH 4/4] tools/env: use host build flags

2010-11-09 Thread Daniel Hobi
Hi Steve,

On 09.11.2010 01:01, Steve Sakoman wrote:
 On Mon, Nov 8, 2010 at 3:15 PM, Wolfgang Denk w...@denx.de wrote:
 In message m2k4knd6lx@ohwell.denx.de you wrote:
 It just occurred to me that this will no longer cross compile the fw_env
 tool - effectively rendering the tool useless for me.

 Argh... Indeed, that's broken.
 
 I ran into this issue this week too.
 
 Reverting is one option. I also tried Daniel Hobi's patch tools/env:
 cleanup host build flags and that worked for me.

You are refering to this WIP patch:

http://article.gmane.org/gmane.comp.boot-loaders.u-boot/86236

It makes the fw_env tool Makefile similar to the imls Makefile and
solves the errno inclusion problem reported by Detlev.

I still think we need a third set of CC, CFLAGS, SRCS, etc defines for
compiling tools running on the target. However, we probably can default
to the combination CC+HOSTCFLAGS for most platforms.

Best regards,
Daniel

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


Re: [U-Boot] [PATCH] Switch from archive libraries to partial linking

2010-11-09 Thread Graeme Russ
On 09/11/10 09:04, Sebastien Carlier wrote:
 NOTE: This does not include the actual patch as it is too large for the 
 mailing list (418 kB).

 Signed-off-by: Sebastien Carlier sebastien.carl...@gmail.com

Patch applies with zero errors or warnings to my x86 branch, builds clean,
runs and, as a bonus, allows me to move the sc520 reset_cpu() which has an
ugly #ifdef in sc520.c into it's own file (with archives, if the archive
contained only overrides of weak functions, they would be skipped - I think
the archive needed at least the first function to not be an override of a
weak function)

So I'm a very happy (one less #ifdef) camper

Tested-by: Graeme Russ graeme.r...@gmail.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Haiying Wang
Dear Wolfgang,
On Mon, 2010-11-08 at 16:36 -0700, Wolfgang Denk wrote:
 Dear Haiying Wang,
  Why it looks broken? I do need CONFIG_NAND defined for 8536DS nand
  build. For building nand uboot, 2 images are needed, one is 4K
 nand_spl
 
 Yes. But there is also MPC8536DS and MPC8536DS_36BIT and
 MPC8536DS_SDCARD and MPC8536DS_SPIFLASH which do NOT define
 CONFIG_NAND, but they too need a definition of CONFIG_SYS_TEXT_BASE.
MPC8536DS/_36BIT/_SDCARD/_SPIFLASH are in parallel with _NAND. I
understand they all need their CONFIG_SYS_TEXT_BASE.

But here we talk about the MPC8536DS_NAND_config which need two uboot
images, each should have its own CONFIG_SYS_TEXT_BASE.
e.g. in u-boot/Makefile

$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin 
$(obj)u-boot-nand.bin

u-boot-spl-16k.bin needs 0xfff0 as CONFIG_SYS_TEXT_BASE
u-boot.bin needs 0xf8f82000 as CONFIG_SYS_TEXT_BASE

   Well, I guess it also showed where the previous definition came
 from?.
  Yes, it showed the first definition of CONFIG_SYS_TEXT_BASE in my
  example code which is 0xfff0 in MPC8536DS.h was redefined. But
 in
  fact, I need that value instead of 0xf8f82000 for nand spl.
 
 You did not answer my question. The error message shows _where_ the
 previous definition came from. Please check this.
OK, the error message is:
In file included
from /home/haiying/Opensource/Kumar/u-boot-mpc85xx/include/config.h:5,
 from ns16550.c:7:
/home/haiying/Opensource/Kumar/u-boot-mpc85xx/include/configs/MPC8536DS.h:40:1: 
warning: CONFIG_SYS_TEXT_BASE redefined


Here are the lines in MPC8536DS.h(using git diff result, so that the
changes I made can be seen clearly)

diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 8b8f467..0eb3072 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -36,8 +36,12 @@
36: #ifdef CONFIG_NAND
37: #define CONFIG_NAND_U_BOOT 1
38: #define CONFIG_RAMBOOT_NAND1
39:+#ifdef CONFIG_NAND_SPL
40:+#define CONFIG_SYS_TEXT_BASE   0xfff0
41:+#else
42: #define CONFIG_SYS_TEXT_BASE   0xf8f82000
43: #endif
44: +#endif


  CONFIG_NAND was used for the final uboot image, and CONFIG_NAND_SPL
 was
  used for nand_spl image. However, after that commit, the CONFIG_NAND
  combined the usage of CONFIG_MK_NAND and CONFIG_NAND.
 
 Right. Why would we need two different defines for the same thing?
I need two different defines for generating the different image, which
are under the same CONFIG_NAND defines now.

   Try to find out where that redefine is coming from, and fix that.
 And
   fix the ,NAND flag in boards.cfg if this is not what you want.
  The redefine came from the define of CONFIG_SYS_TEXT_BASE for
 nand_spl.
 
 Sorry, but this makes no sense. If the code looks as above, there is
 always at most one define of CONFIG_SYS_TEXT_BASE in the board config
 file (actually it's missing for boards that don't define CONFIG_NAND).

Yes, now the problem is only one define of CONFIG_SYS_TEXT_BASE is
allowed for one board config,i.e CONFIG_NAND, but two images need to be
generated for nand boot, one is u-boot-spl.bin, the other is u-boot.bin.
They need different CONFIG_SYS_TEXT_BASE.

Haiying



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


Re: [U-Boot] [PATCH] [NEXT] da850evm: Add RMII support for EMAC

2010-11-09 Thread Detlev Zundel
Hi Ben,

 From: Sudhakar Rajashekhara sudhakar@ti.com

 This patch is a port of the work by Sudhakar Rajeshekhara in commit
 ab3effbcad8851cc65dc5241a01c064d2030a3b2 of
 git://arago-project.org/git/people/sandeep/u-boot-davinci.git.

 The da850 UI board has on it an RMII PHY which can be used if the MDC line
 to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by 
 configuring the values of some GPIO pins on the IO expander of the UI board.
 This patch implements disabling that line via GPIO2[6], configuring the UI 
 board's IO expander and setting only the pinmux settings that are needed for
 RMII operation.

 Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII.

Thanks a lot for going ahead and mainline parts which linger for months
in TI only trees.

While talking about those features - is anybody working on enabling the
SPI flash in mainline for da850evm?

Thanks
  Detlev

-- 
Two  monks went  fishing in an  electron river.  The first monk drew out his
network, and out flopped a hacker.  The second monk cried, The poor hacker!
How can  it live outside of the  network?   The first monk said,  When you
have learned to live outside the network, then you will know.
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [WIP] tools/env: cleanup host build flags

2010-11-09 Thread Detlev Zundel
Hello Daniel,

 This patch makes tools/env/Makefile more similar to tools/imls:
 - define HOSTSRCS and HOSTCPPFLAGS, so that .depend generation works.
 - include U-Boot headers using -idirafter to prevent picking up
   u-boot/include/errno.h.
 - use HOSTCFLAGS_NOPED (fw_env.c does not conform to -pedantic).
 - use the cross compiler again (fw_printenv is intended for a
   hosted environment on the target).

 Signed-off-by: Daniel Hobi daniel.h...@schmid-telecom.ch
 Cc: Mike Frysinger vap...@gentoo.org
 Cc: Wolfgang Denk w...@denx.de

As this indeed fixes the cross-compilation problem:

Tested-by: Detlev Zundel d...@denx.de

  tools/env/Makefile |   15 ++-
  1 files changed, 10 insertions(+), 5 deletions(-)


 Hi Scott,

 In commit d984fed0 (makefiles: fixes for building build tools),
 you suggest that using $(CC) with host flags (HOSTCFLAGS, etc)
 is the correct way to use the cross compiler to generate binaries
 for a hosted environment on the target.

 On the other hand, you use $(HOSTCC) to generate the .depend file
 in rules.mk which leads to wrong dependencies.

 I think we need to differentiate three cases:
  - (free-standing) U-Boot: use CC and CFLAGS
  - native tools (mkimage, etc): use HOSTCC and HOSTCFLAGS
  - Linux environment on the target (imls, fw_printenv):

Can we use CC and HOSTCFLAGS, or do we need a third set of
variables for flags?

If reusing HOSTCFLAGS: how do we fix dependency generation?

I also don't know, but this fixes a bug, so I want the patch in ;)

Cheers
  Detlev

-- 
Bacchus, n. A convenient deity invented by the ancients as an excuse for
getting drunk.
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Switch from archive libraries to partial linking

2010-11-09 Thread Stefano Babic
On 11/08/2010 11:04 PM, Sebastien Carlier wrote:
 NOTE: This does not include the actual patch as it is too large for the 
 mailing list (418 kB).

Your patch applies fine to i.MX branch - boards compile clean, tested on
a MX.51 board.

Tested-by: Stefano Babic sba...@denx.de

Best regards,
Stefano Babic

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


Re: [U-Boot] [PATCH] [NEXT] da850evm: Add RMII support for EMAC

2010-11-09 Thread Mike Frysinger
On Friday, November 05, 2010 17:11:13 Ben Gardiner wrote:
 CC: Sandeep Paulraj s-paul...@ti.com

spurious quote in this tag
-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] ARM: OMAP3/4: proposal: Cleanup MUX

2010-11-09 Thread Nishanth Menon
Premi, Sanjeev wrote, on 11/09/2010 02:48 AM:

 Peter Barada wrote, on 11/05/2010 11:59 PM:
 Personally I'd like to see the kernel and u-boot disconnect on the

 Looks like we are getting to a consensus - we all seem to dislike the
 dependency of u-boot and kernel for mux as of today - can we
 think about

 [sp] In my opinion, we need to do minimal and necessary MUX settings
   in u-boot and let kernel manage itself.

   This also helps ensure that problems noticed in kernel are easy
   to replicate on other similar platforms. Last year I spent long
   time in convincing that wake-up on keypad was not working in Linux
   kernel; but folks using OMAP3430SDP maintained it worked fine.
   Root cause - relevant PADCONF was set in u-boot for 3430SDP.
   (not quoting mail-chain)

   We may not be able to eliminate such instances altogether - but
   can have less of such instances.
I definitely agree.


 post 2011March as a good time to start pushing the relevant
 changes in?
 if that is the case, I will start posting RFCs in the coming weeks so

 [sp] Can you list what chanages you are trying to propose? ...without
   going as far as RFC.

   the mails quoted in previous message are again too long and wide
   in discussion. A concise list will help.
Have'nt got to the code yet - had no intent of spending those cycles if 
the community had no interest in it and without a potential date OR had 
some issue which I could not think about. but anyways, here is the 
overall idea:
per Soc, have muxes per IP - I did not think it was worthwhile to do a 
complex mux (dynamic) as done in linux kernel.

DDR_CS0_MUX
DDR_CS1_MUX
GPMC_MUX - need to think an elegant method to specify CSs to enable
I2C{1,2,3,4,5 - based on SoC}_MUX
MMC{0,1,2,3,4- based on SoC}_MUX
UART{0,1,2,3,4 - based on SoC}_MUX

If bootlogo enabled
DSS_PARALLEL_MUX
DSS_DSI_MUX

if USB OTG enabled
USB_OTG_MUX

if USB Host enabled
USB_EHCI_MUX

GPIO Muxes - need some elegant way to specify which GPIOs map to which 
muxed pins..

if SPI enabled,
SPI_MUX

None of the muxing will be wakeup enabled - wakeup is a kernel feature 
and should be done there. only mux mode and pull types should be set in 
u-boot.

The board file will still call the mux - it will however only call the 
ones it needs to boot and load image.

One more additional thought I had was to introduce Mux Scheme per IP -
e.g. DSS lines come out in different pin sequences - we call each 
SCHEMEs so that new boards can find it a little easier to enable MUX..

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


Re: [U-Boot] Why cmd_tbl_t is referenced as extern in defining __u_boot_cmd_start?

2010-11-09 Thread Mike Frysinger
On Tuesday, November 02, 2010 11:56:31 legendbb wrote:
 line 64 and 65 in include/command.h
 
 extern cmd_tbl_t  __u_boot_cmd_start;
 extern cmd_tbl_t  __u_boot_cmd_end;
 
 definition of cmd_tbl_t is just one line above these. Why extern is used?

basic C question ?  if you dont have the extern, you'd be declaring storage 
for two variables instead of references to the symbols elsewhere.
-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] env_mmc: fix compile warning

2010-11-09 Thread Mike Frysinger
On Monday, November 08, 2010 01:59:48 Lei Wen wrote:
 Signed-off-by: Lei Wen lei...@marvell.com
 ---
  common/env_mmc.c |1 +
  1 files changed, 1 insertions(+), 0 deletions(-)
 
 diff --git a/common/env_mmc.c b/common/env_mmc.c
 index 3d7fceb..7c9392c 100644
 --- a/common/env_mmc.c
 +++ b/common/env_mmc.c
 @@ -29,6 +29,7 @@
  #include linux/stddef.h
  #include malloc.h
  #include mmc.h
 +#include search.h
  #include errno.h

you really need to mention what warning you're fixing.  such as missing foo() 
prototype or something.
-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 1/2] use MAC from environment and add support for new NET_MULTI api in ethernet driver of KS8695

2010-11-09 Thread Mike Frysinger
On Thursday, November 04, 2010 06:13:00 Bernstein, Michael wrote:
 diff --unified --recursive --new-file
 u-boot-2009.11/drivers/net/ks8695eth.c
 u-boot-2009.11,new/drivers/net/ks8695eth.c ---
 u-boot-2009.11/drivers/net/ks8695eth.c

this is a pretty old tree.  you should be using latest mainline tree.

  void ks8695_getmac(void)
  {
 -   unsigned char *fp;
 -   int i;
 +   if (!eth_getenv_enetaddr(ethaddr, eth_mac[0])) {

NAK.  drivers should not be poking the environment.  please read the 
documentation in doc/README.drivers.eth.
-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] [RFC] Add 'led' command

2010-11-09 Thread Mike Frysinger
On Friday, November 05, 2010 01:50:36 Jason Kridner wrote:
 +int do_led ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] )

much of the style of this code is broken.  and i cant imagine this code 
compiling warning free with current master.

no spaces around the paren, and the argv has been constified.

also, this should be marked static

 + if ((argc != 3)){

space before the brace and useless set of paren here

 + printf(Usage:\n%s\n, cmdtp-usage);
 + return 1;

return cmd_usage(cmdtp);

 + if (strcmp(argv[2], off) == 0) {
 + state = 0;
 + } else if (strcmp(argv[2], on) == 0) {
 + state = 1;

i could have sworn we had a helper somewhere to handle boolean strings ...

 + printf (Usage:\n%s\n, cmdtp-usage);
 + return 1;

return cmd_usage(cmdtp);

 +#if defined(STATUS_LED_BIT)  defined(CONFIG_BOARD_SPECIFIC_LED)
 + if (strcmp(argv[1], 0) == 0) {
 + mask = STATUS_LED_BIT;
 + __led_set(mask, state);
 + }
 + else
 +#endif
 +#if defined(STATUS_LED_BIT1)  defined(CONFIG_BOARD_SPECIFIC_LED)
 + if (strcmp(argv[1], 1) == 0) {
 + mask = STATUS_LED_BIT1;
 + __led_set(mask, state);
 + }
 + else
 +#endif
 +#if defined(STATUS_LED_BIT2)  defined(CONFIG_BOARD_SPECIFIC_LED)
 + if (strcmp(argv[1], 2) == 0) {
 + mask = STATUS_LED_BIT2;
 + __led_set(mask, state);
 + }
 + else
 +#endif
 +#if defined(STATUS_LED_BIT3)  defined(CONFIG_BOARD_SPECIFIC_LED)
 + if (strcmp(argv[1], 3) == 0) {
 + mask = STATUS_LED_BIT3;
 + __led_set(mask, state);
 + }
 + else
 +#endif

i dont know why you need the mask variable here at all

also, these #ifdef trees scream for some sort of unification

 + } else {
 + printf (Usage:\n%s\n, cmdtp-usage);
 + return 1;

return cmd_usage(cmptp);

 +

files should not have trailing new lines
-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 2/2] use MAC from environment and add support for new NET_MULTI api in ethernet driver of KS8695

2010-11-09 Thread Mike Frysinger
On Thursday, November 04, 2010 06:15:09 Bernstein, Michael wrote:
  /*
 + * some defines to allow switching between NET_MULTI and old API
 + */
 +#if defined(CONFIG_NET_MULTI)
 +#define KS8695_ETH_RESET ks8695_eth_reset
 +#define KS8695_ETH_HALT  ks8695_eth_halt
 +#define KS8695_ETH_INIT  ks8695_eth_init
 +#define KS8695_ETH_RXks8695_eth_rx
 +#define KS8695_ETH_SEND  ks8695_eth_send
 +#define KS8695_DRIVERNAME KS8695
 +#else
 +#define KS8695_ETH_RESET eth_reset
 +#define KS8695_ETH_HALT  eth_halt
 +#define KS8695_ETH_INIT  eth_init
 +#define KS8695_ETH_RXeth_rx
 +#define KS8695_ETH_SEND  eth_send
 +#endif

NAK.  only support the NET_MULTI API.  the old style is dead.
-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 V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Albert ARIBAUD
Le 04/11/2010 23:27, Albert ARIBAUD a écrit :
 Le 04/11/2010 23:22, Albert Aribaud a écrit :
 older ld emitted all ELF relocations in input sections named
 ..rel.dyn, whereas newer ld uses names of the form .rel*. The
 linker script only collected .rel.dyn input sections. Rewrite
 to collect all .rel* input sections and overlay with .bss.

 Signed-off-by: Albert Aribaudalbert.arib...@free.fr

 Tested on openrd_base, boots fine, works fine.

 Wolfgang, please test with tx25.

 Alexander, please test above your patches in place of previous patch v3.

 Others who are willing to test on other ARMs are welcome too. :)

Did testers manage to try this patch set? I'd like to make sure it 
solves current issues with master for ARM relocation.

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


Re: [U-Boot] [WIP] tools/env: cleanup host build flags

2010-11-09 Thread Steve Sakoman
On Tue, Nov 9, 2010 at 7:03 AM, Detlev Zundel d...@denx.de wrote:
 Hello Daniel,

 This patch makes tools/env/Makefile more similar to tools/imls:
 - define HOSTSRCS and HOSTCPPFLAGS, so that .depend generation works.
 - include U-Boot headers using -idirafter to prevent picking up
   u-boot/include/errno.h.
 - use HOSTCFLAGS_NOPED (fw_env.c does not conform to -pedantic).
 - use the cross compiler again (fw_printenv is intended for a
   hosted environment on the target).

 Signed-off-by: Daniel Hobi daniel.h...@schmid-telecom.ch
 Cc: Mike Frysinger vap...@gentoo.org
 Cc: Wolfgang Denk w...@denx.de

 As this indeed fixes the cross-compilation problem:

 Tested-by: Detlev Zundel d...@denx.de

Agreed!

Tested-by: Steve Sakoman steve.sako...@linaro.org
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] silly error caused by /usr/local/include/config.h - STD_END_SIZE build failure

2010-11-09 Thread Luke Kenneth Casson Leighton
http://www.mail-archive.com/u-boot-us...@lists.sourceforge.net/msg07045.html

i've tracked down what the problem is, and the fix to avoid the
problem occurring in the future is either:

a) do as the person says - #include ../config.h not #include config.h

b) add -I. to the gcc compile options, to prioritise cwd over
/usr/local/include and /usr/include.

c) create a gcc spec file (in /usr/lib/gcc/) which doesn't have
/usr/local/include or /usr/include

this latter is not a serious suggestion.

i encountered this exact same problem because i happened to have some
fg stupid package install a config.h file in /usr/local/include -
but to delete that file is NOT the solution.

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


[U-Boot] [PATCH V2] [NEXT] da850: Add RMII support for EMAC

2010-11-09 Thread Ben Gardiner
From: Sudhakar Rajashekhara sudhakar@ti.com

From: Sudhakar Rajashekhara sudhakar@ti.com

This patch is a port of the work by Sudhakar Rajeshekhara in commit
ab3effbcad8851cc65dc5241a01c064d2030a3b2 of
git://arago-project.org/git/people/sandeep/u-boot-davinci.git.

The da850 UI board has on it an RMII PHY which can be used if the MDC line
to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by
configuring the values of some GPIO pins on the IO expander of the UI board.
This patch implements disabling that line via GPIO2[6], configuring the UI
board's IO expander and setting only the pinmux settings that are needed for
RMII operation.

Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII.

Signed-off-by: Sudhakar Rajashekhara sudhakar@ti.com
Signed-off-by: Ben Gardiner bengardi...@nanometrics.ca
CC: Sandeep Paulraj s-paul...@ti.com
CC: Ben Warren biggerbadder...@gmail.com
CC: Mike Frysinger vap...@gentoo.org

---

Changes since V1:
  * Removeed spurious quote in Sandeep's CC: line
Changes since work of Sudhakar Rajashekhar:
  * rebased to 0c0892be0d93a5a892b93739c5eb3bf692fed4ff, resolved conflicts.
  * fixup uses of pinmux[x] to pinmux(x)

---
 arch/arm/include/asm/arch-davinci/hardware.h |4 +
 board/davinci/da8xxevm/common.c  |   14 +++
 board/davinci/da8xxevm/common.h  |3 +
 board/davinci/da8xxevm/da850evm.c|  112 +-
 drivers/net/davinci_emac.c   |   41 +-
 include/configs/da850evm.h   |1 +
 6 files changed, 170 insertions(+), 5 deletions(-)

diff --git a/arch/arm/include/asm/arch-davinci/hardware.h 
b/arch/arm/include/asm/arch-davinci/hardware.h
index 3520cf8..da1160a 100644
--- a/arch/arm/include/asm/arch-davinci/hardware.h
+++ b/arch/arm/include/asm/arch-davinci/hardware.h
@@ -150,6 +150,10 @@ typedef volatile unsigned int *dv_reg_p;
 #define DAVINCI_INTC_BASE  0xfffee000
 #define DAVINCI_BOOTCFG_BASE   0x01c14000
 
+#define GPIO_BANK2_REG_DIR_ADDR(DAVINCI_GPIO_BASE + 
0x38)
+#define GPIO_BANK2_REG_OPDATA_ADDR (DAVINCI_GPIO_BASE + 0x3c)
+#define GPIO_BANK2_REG_SET_ADDR(DAVINCI_GPIO_BASE + 
0x40)
+#define GPIO_BANK2_REG_CLR_ADDR(DAVINCI_GPIO_BASE + 
0x44)
 #endif /* CONFIG_SOC_DA8XX */
 
 /* Power and Sleep Controller (PSC) Domains */
diff --git a/board/davinci/da8xxevm/common.c b/board/davinci/da8xxevm/common.c
index 9cd5204..b33b877 100644
--- a/board/davinci/da8xxevm/common.c
+++ b/board/davinci/da8xxevm/common.c
@@ -53,3 +53,17 @@ int da8xx_configure_lpsc_items(const struct lpsc_resource 
*item,
 
return 0;
 }
+
+#if defined(CONFIG_DRIVER_TI_EMAC)  defined(CONFIG_MACH_DAVINCI_DA850_EVM)
+void da850_emac_mii_mode_sel(int mode_sel)
+{
+   int val;
+
+   val = readl(davinci_syscfg_regs-cfgchip3);
+   if (mode_sel == 0)
+   val = ~(1  8);
+   else
+   val |= (1  8);
+   writel(val, davinci_syscfg_regs-cfgchip3);
+}
+#endif
diff --git a/board/davinci/da8xxevm/common.h b/board/davinci/da8xxevm/common.h
index 7ae63a6..8b564f7 100644
--- a/board/davinci/da8xxevm/common.h
+++ b/board/davinci/da8xxevm/common.h
@@ -26,5 +26,8 @@ struct lpsc_resource {
 void irq_init(void);
 int da8xx_configure_lpsc_items(const struct lpsc_resource *item,
int n_items);
+#if defined(CONFIG_DRIVER_TI_EMAC)  defined(CONFIG_MACH_DAVINCI_DA850_EVM)
+void da850_emac_mii_mode_sel(int mode_sel);
+#endif
 
 #endif /* __COMMON_H */
diff --git a/board/davinci/da8xxevm/da850evm.c 
b/board/davinci/da8xxevm/da850evm.c
index c8c5e1b..ac96818 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -54,6 +54,15 @@ static const struct pinmux_config uart_pins[] = {
 
 #ifdef CONFIG_DRIVER_TI_EMAC
 static const struct pinmux_config emac_pins[] = {
+#ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
+   { pinmux(14), 8, 2 },
+   { pinmux(14), 8, 3 },
+   { pinmux(14), 8, 4 },
+   { pinmux(14), 8, 5 },
+   { pinmux(14), 8, 6 },
+   { pinmux(14), 8, 7 },
+   { pinmux(15), 8, 1 },
+#else /* ! CONFIG_DRIVER_TI_EMAC_USE_RMII */
{ pinmux(2), 8, 1 },
{ pinmux(2), 8, 2 },
{ pinmux(2), 8, 3 },
@@ -69,10 +78,10 @@ static const struct pinmux_config emac_pins[] = {
{ pinmux(3), 8, 5 },
{ pinmux(3), 8, 6 },
{ pinmux(3), 8, 7 },
+#endif /* CONFIG_DRIVER_TI_EMAC_USE_RMII */
{ pinmux(4), 8, 0 },
{ pinmux(4), 8, 1 }
 };
-#endif /* CONFIG_DRIVER_TI_EMAC */
 
 /* I2C pin muxer settings */
 static const struct pinmux_config i2c_pins[] = {
@@ -99,6 +108,13 @@ const struct pinmux_config nand_pins[] = {
 };
 #endif
 
+#ifdef CONFIG_DRIVER_TI_EMAC_USE_RMII
+#define HAS_RMII 1
+#else
+#define HAS_RMII 0
+#endif
+#endif /* CONFIG_DRIVER_TI_EMAC */
+
 static const struct pinmux_resource 

Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Haiying Wang
On Tue, 2010-11-09 at 09:23 -0700, Wolfgang Denk wrote:
 Dear Haiying Wang,
 Is this all the error messages you get?  Normally tehre should be
 another message, for example:
 
 [filename]:[lineno]:[column]: warning: this is the location of the
 previous definition
 
 or, if there was a -DCONFIG_SYS_TEXT_BASE=... on the command line:
 
 command-line: warning: this is the location of the previous
 definition
It is in one of the error messages, there are others for the same error.
Here is the total message when building tlb.c for nand_spl:

powerpc-none-linux-gnuspe-gcc -g  -Os   -mrelocatable -fPIC -meabi
-ffunction-sections -fdata-sections -D__KERNEL__
-DCONFIG_SYS_TEXT_BASE=0xf8f82000 -DRESET_VECTOR_ADDRESS=0xeffc
-I/home/haiying/u-boot-mpc85xx/include -fno-builtin -ffreestanding
-nostdinc
-isystem 
/opt/freescale/usr/local/gcc-4.3.74-eglibc-2.8.74-dp-2/powerpc-none-linux-gnuspe/lib/gcc/powerpc-none-linux-gnuspe/4.3.2/include
 -pipe  -DCONFIG_PPC -D__powerpc__ -ffixed-r2 -Wa,-me500 -msoft-float 
-mno-string -mspe=yes -mno-spe -Wall -Wstrict-prototypes -fno-stack-protector 
-DCONFIG_NAND_SPL -c -o tlb.o tlb.c
In file included from /home/haiying/u-boot-mpc85xx/include/config.h:5,
 from /home/haiying/u-boot-mpc85xx/include/common.h:37,
 from tlb.c:26:
/home/haiying/u-boot-mpc85xx/include/configs/MPC8536DS.h:40:1: warning:
CONFIG_SYS_TEXT_BASE redefined
command-line: warning: this is the location of the previous definition

 
  Here are the lines in MPC8536DS.h(using git diff result, so that the
  changes I made can be seen clearly)ing

 
 This doesn't help, as it doesn't show where the other definition is
 coming from.

The other definition comes from include/autoconf.mk, I think.

Haiy


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


Re: [U-Boot] [PATCH] [NEXT] da850evm: Add RMII support for EMAC

2010-11-09 Thread Ben Gardiner
On Tue, Nov 9, 2010 at 8:43 AM, Mike Frysinger vap...@gentoo.org wrote:
 On Friday, November 05, 2010 17:11:13 Ben Gardiner wrote:
 CC: Sandeep Paulraj s-paul...@ti.com

 spurious quote in this tag
 -mike

Oops. Thanks for catching that, Mike.

On Tue, Nov 9, 2010 at 9:42 AM, Detlev Zundel d...@denx.de wrote:
 Hi Ben,

 [...]
 Thanks a lot for going ahead and mainline parts which linger for months
 in TI only trees.

You're welcome / it is my pleasure.

 While talking about those features - is anybody working on enabling the
 SPI flash in mainline for da850evm?

I can say that I won't be. We're interested in NAND flash support only
-- as you may have already guessed from earlier tested-by's. If TI
doesn't step-up to add SD and USB (host) support to mainline I plan to
also pick up the slack there.

Best Regards,
Ben Gardiner

---
Nanometrics Inc.
http://www.nanometrics.ca
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Scott Wood
On Tue, 9 Nov 2010 17:23:43 +0100
Wolfgang Denk w...@denx.de wrote:

  Yes, now the problem is only one define of CONFIG_SYS_TEXT_BASE is
  allowed for one board config,i.e CONFIG_NAND, but two images need to be
  generated for nand boot, one is u-boot-spl.bin, the other is u-boot.bin.
  They need different CONFIG_SYS_TEXT_BASE.
 
 Maybe they should use different variables then, say
 CONFIG_SYS_TEXT_BASE and CONFIG_SYS_TEXT_BASE_SPL ?

Why?  It's the same variable, just for a different build.  Are we going
to have _SPL and non-_SPL variants of all other things that might vary
between the two?

What about a middle-stage build where we want to use CONFIG_ symbols to
pull in files like a regular U-Boot build, but we want to pull in a
different set than the final image?

-Scott

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Haiying Wang,

In message 1289314359.2168.20.ca...@haiying-laptop you wrote:

  You did not answer my question. The error message shows _where_ the
  previous definition came from. Please check this.
 OK, the error message is:
 In file included
 from /home/haiying/Opensource/Kumar/u-boot-mpc85xx/include/config.h:5,
  from ns16550.c:7:
 /home/haiying/Opensource/Kumar/u-boot-mpc85xx/include/configs/MPC8536DS.h:40:1:
  warning: CONFIG_SYS_TEXT_BASE redefined
 

Is this all the error messages you get?  Normally tehre should be
another message, for example:

[filename]:[lineno]:[column]: warning: this is the location of the previous 
definition

or, if there was a -DCONFIG_SYS_TEXT_BASE=... on the command line:

command-line: warning: this is the location of the previous definition


 Here are the lines in MPC8536DS.h(using git diff result, so that the
 changes I made can be seen clearly)

This doesn't help, as it doesn't show where the other definition is
coming from.

 Yes, now the problem is only one define of CONFIG_SYS_TEXT_BASE is
 allowed for one board config,i.e CONFIG_NAND, but two images need to be
 generated for nand boot, one is u-boot-spl.bin, the other is u-boot.bin.
 They need different CONFIG_SYS_TEXT_BASE.

Maybe they should use different variables then, say
CONFIG_SYS_TEXT_BASE and CONFIG_SYS_TEXT_BASE_SPL ?

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 first 90% of a project takes 90% of the time, the last 10%  takes
the other 90% of the time.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Scott Wood,

In message 20101109102643.45d7f...@udp111988uds.am.freescale.net you wrote:

  Maybe they should use different variables then, say
  CONFIG_SYS_TEXT_BASE and CONFIG_SYS_TEXT_BASE_SPL ?
 
 Why?  It's the same variable, just for a different build.  Are we going
 to have _SPL and non-_SPL variants of all other things that might vary
 between the two?

This is a multistage process. Initially, we generate autoconf.mk by
parsing the config files; then we include autoconf.mk in the Makefile
to export the settings to make.  If you change the value of one of the
variables in a later stage of the build (like using #ifdef), then tis
will not become visible in the Makefile context, i. e. any use of
these variables for example in the Linker command will still use the
old value.

 What about a middle-stage build where we want to use CONFIG_ symbols to
 pull in files like a regular U-Boot build, but we want to pull in a
 different set than the final image?

This is no problem as long as these variables doen't change their
values on the fly.

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 are all agreed that your  theory  is  crazy.  The  question  which
divides  us  is  whether it is crazy enough to have a chance of being
correct. My own feeling is that it is not crazy enough.  - Niels Bohr
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Haiying Wang,

In message 1289320865.2168.92.ca...@haiying-laptop you wrote:

 It is in one of the error messages, there are others for the same error.
 Here is the total message when building tlb.c for nand_spl:
...
 powerpc-none-linux-gnuspe-gcc -g  -Os   -mrelocatable -fPIC -meabi
 -ffunction-sections -fdata-sections -D__KERNEL__
 -DCONFIG_SYS_TEXT_BASE=0xf8f82000 -DRESET_VECTOR_ADDRESS=0xeffc
^^^

Here we have it.

 /home/haiying/u-boot-mpc85xx/include/configs/MPC8536DS.h:40:1: warning:
 CONFIG_SYS_TEXT_BASE redefined
 command-line: warning: this is the location of the previous definition

OK. Problem is understood. Th problem comes from the value of
CONFIG_SYS_TEXT_BASE changing on the fly. I recommend to use
CONFIG_SYS_SPLTEXT_BASE or so for the SPL image linking.

 The other definition comes from include/autoconf.mk, I think.

It comes from the command line, which is generated by make, which
picks teh values from include/autoconf.mk indeed - which gets build
initiall.

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 only solution is ... a balance of power. We  arm  our  side  with
exactly  that  much  more.  A balance of power -- the trickiest, most
difficult, dirtiest game of them all. But the only one that preserves
both sides.
-- Kirk, A Private Little War, stardate 4211.8
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] silly error caused by /usr/local/include/config.h - STD_END_SIZE build failure

2010-11-09 Thread Luke Kenneth Casson Leighton
geez, this really _isn't_ good - i've found _yet another_
identically-caused error, because i happen to have linux header files
installed locally (/usr/include/linux) and the default HOST-CC setup
compilation has that taking precedence over ./include/linux in the
u-boot sources - so include/linux/mtd/mtd.h is never found.

what's going on??

On Tue, Nov 9, 2010 at 3:59 PM, Luke Kenneth Casson Leighton
luke.leigh...@gmail.com wrote:
 http://www.mail-archive.com/u-boot-us...@lists.sourceforge.net/msg07045.html

 i've tracked down what the problem is, and the fix to avoid the
 problem occurring in the future is either:

 a) do as the person says - #include ../config.h not #include config.h
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] Switch from archive libraries to partial linking

2010-11-09 Thread Sebastien Carlier
Dear André,

On 2010-11-09 10:15:31, Andre Schwarz wrote:
 Date: Tue, 09 Nov 2010 10:15:31 +0100
 From: Andre Schwarz andre.schw...@matrix-vision.de
 To: Sebastien Carlier sebastien.carl...@gmail.com
 CC: u-boot@lists.denx.de, Timur Tabi ti...@freescale.com,
   Kim Phillips kim.phill...@freescale.com
 Subject: Re: [U-Boot] [PATCH] Switch from archive libraries to partial
  linking
 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15)
  Gecko/20101027 Thunderbird/3.0.10
 
 Sebastian,
 
 drivers/qe already has an object called qe.o ... renaming qe.a
 to qe.o doesn't work.

Thanks!

 I'd suggest to build libqe.o and also adapt Toplevel Makefile accordingly.

I did as you suggested, version 2 of the patch is available here: 


http://www.denx.de/wiki/pub/U-Boot/TooBigPatches/0001-Switch-from-archive-libraries-to-partial-linking-v2.patch

 I also don't understand why ftd.c is not depending on CONFIG_QE.
 That's another question ... but leads to error having your patch applied.

Right, fdt.c should not be included in the build unless both CONFIG_QE
and CONFIG_OF_LIBFDT are defined.  Previously this issue was hidden
because all of qe.a was discarded by the linker.  Would the following
be a good fix for this problem?

-COBJS-$(CONFIG_OF_LIBFDT) += fdt.o
+COBJS-$(and $(CONFIG_QE),$(CONFIG_OF_LIBFDT)) += fdt.o

Regards,
-- 
Sébastien
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] silly error caused by /usr/local/include/config.h - STD_END_SIZE build failure

2010-11-09 Thread Luke Kenneth Casson Leighton
On Tue, Nov 9, 2010 at 5:38 PM, Luke Kenneth Casson Leighton
luke.leigh...@gmail.com wrote:
 geez, this really _isn't_ good - i've found _yet another_
 identically-caused error, because i happen to have linux header files
 installed locally (/usr/include/linux) and the default HOST-CC setup
 compilation has that taking precedence over ./include/linux in the
 u-boot sources - so include/linux/mtd/mtd.h is never found.

 what's going on??

 *sigh* i found that latest git master u-boot has this fixed - and a
boat-load of other problems fixed in tools/env - as compared to u-boot
1.2.0 which is what the customer is using argh bloody hell off we go,
patch or hack :)

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Scott Wood
On Tue, 9 Nov 2010 18:18:53 +0100
Wolfgang Denk w...@denx.de wrote:

 Dear Scott Wood,
 
 In message 20101109102643.45d7f...@udp111988uds.am.freescale.net you wrote:
 
   Maybe they should use different variables then, say
   CONFIG_SYS_TEXT_BASE and CONFIG_SYS_TEXT_BASE_SPL ?
  
  Why?  It's the same variable, just for a different build.  Are we going
  to have _SPL and non-_SPL variants of all other things that might vary
  between the two?
 
 This is a multistage process. Initially, we generate autoconf.mk by
 parsing the config files; then we include autoconf.mk in the Makefile
 to export the settings to make.  If you change the value of one of the
 variables in a later stage of the build (like using #ifdef), then tis
 will not become visible in the Makefile context, i. e. any use of
 these variables for example in the Linker command will still use the
 old value.
 
  What about a middle-stage build where we want to use CONFIG_ symbols to
  pull in files like a regular U-Boot build, but we want to pull in a
  different set than the final image?
 
 This is no problem as long as these variables doen't change their
 values on the fly.

It's not on the fly, it's just that each image needs its own
autoconf.mk.

-Scott

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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Albert ARIBAUD
Le 09/11/2010 19:24, Daniel Hobi a écrit :
 Hi Albert,

 On 04.11.2010 23:22, Albert Aribaud wrote:
 older ld emitted all ELF relocations in input sections named
 .rel.dyn, whereas newer ld uses names of the form .rel*. The
 linker script only collected .rel.dyn input sections. Rewrite
 to collect all .rel* input sections and overlay with .bss.

 Tested-by: Daniel Hobidaniel.h...@schmid-telecom.ch

Thanks Daniel for the test.

 Thank you. This patch is required to get Kirkwood-based boards working
 again when using the CodeSourcery 2009q3 toolchain.

(can't find the 2010q3 Lite toolchain on CodeSourcery's site, latest is 
2010q1 apparently... Can you tell me which gcc and which ld version is 
used in 2010q3?)

I think this V4 of my patchset could be now committed to 
u-boot-arm/master, and if possible even on u-boot-arm for the december 
release of u-boot, as it is a bugfix.

 But shouldn't this change be applied to all ARM linker scripts, ie
 arch/arm/cpu/*/u-boot.lds?

Yes, it should. :)

 And on many ARM platforms (including Kirkwood), the timer implementation
 is still accessing BSS variables before relocation.

That is fixed in the orion5x code; a git blame on the timer.c file will 
tell you which commit of mine did the fix, and from then you can port to 
kirkwood as the orion5x code comes from the kirkwood one.

 Is someone working on this? Candidates are:

 $ git grep static ulong timestamp
 arch/arm/cpu/arm1136/mx31/timer.c:static ulong timestamp;
 arch/arm/cpu/arm1136/omap24xx/timer.c:static ulong timestamp;
 arch/arm/cpu/arm1176/tnetv107x/timer.c:static ulong timestamp;
 arch/arm/cpu/arm720t/interrupts.c:static ulong timestamp;
 arch/arm/cpu/arm920t/a320/timer.c:static ulong timestamp;
 arch/arm/cpu/arm920t/at91rm9200/timer.c:static ulong timestamp;
 arch/arm/cpu/arm920t/s3c24x0/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/davinci/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/kirkwood/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/mx25/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/mx27/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/omap/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/orion5x/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/spear/timer.c:static ulong timestamp;
 arch/arm/cpu/arm926ejs/versatile/timer.c:static ulong timestamp;
 arch/arm/cpu/armv7/mx5/timer.c:static ulong timestamp;
 arch/arm/cpu/armv7/omap-common/timer.c:static ulong timestamp;
 arch/arm/cpu/lh7a40x/timer.c:static ulong timestamp;
 arch/arm/cpu/s3c44b0/timer.c:static ulong timestamp;

Normally, the board maintainers should handle this during the window 
after next version... Dunno if that is practical, but OTOH it would 
easily show which boards are still maintained and which are not. :)

 Best regards,
 Daniel

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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Albert ARIBAUD
Le 09/11/2010 19:47, Albert ARIBAUD a écrit :

 I think this V4 of my patchset could be now committed to
 u-boot-arm/master, and if possible even on u-boot-arm for the december
 release of u-boot, as it is a bugfix.

... even on u-boot, not u-boot-arm, of course.

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Scott Wood,

In message 20101109122218.13f16...@udp111988uds.am.freescale.net you wrote:

  This is no problem as long as these variables doen't change their
  values on the fly.
 
 It's not on the fly, it's just that each image needs its own
 autoconf.mk.

For me it is on the fly when running a single make all sees these
values changing.

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
Ever try. Ever fail. No matter. Try again. Fail again.  Fail  better.
-- S. Beckett
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Scott Wood
On Tue, 9 Nov 2010 19:59:47 +0100
Wolfgang Denk w...@denx.de wrote:

 Dear Scott Wood,
 
 In message 20101109122218.13f16...@udp111988uds.am.freescale.net you wrote:
 
   This is no problem as long as these variables doen't change their
   values on the fly.
  
  It's not on the fly, it's just that each image needs its own
  autoconf.mk.
 
 For me it is on the fly when running a single make all sees these
 values changing.

In any case, the right answer is a separate autoconf.mk per image.

-Scott

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


Re: [U-Boot] [RFC] arm926ejs: fix jump to RAM nand_boot

2010-11-09 Thread Scott Wood
On Tue, 2 Nov 2010 10:17:23 +0100
Stefan Roese s...@denx.de wrote:

 Hi Heiko,
 
 On Tuesday 02 November 2010 09:55:46 Heiko Schocher wrote:
   - preloader copies first page of nand (nand_spl code) to
   
 0xbb00 (some cpu internal mem) and jumps to this address
   
   - nand_spl does lowlevelinit, relocate itself to TEXT_BASE (nand_spl
   code)
   
   Why is this relocation needed? I understand that this 0xbb00
  
  Thats the question to solve ... don;t know, why nand_spl code
  on arm (and other architectures?) do this ... I try to have a look
  to find out, if we can run the nand_spl code complete from
  this address, and immedietaly copy u-boot from nand to ram ...
 
 On PPC4xx we need to copy the code from the original location (4KiB loaded 
 via 
 the ROM IPL boot loader) to SDRAM and continue running it from there. This is 
 necessary since we can't run from the original location (0xfxxx) and use 
 the PPC4xx NAND controller at the same time.

We have the same restriction on FSL NAND controllers -- certainly the
eLBC, and I think also the NFC which is used on ARM, though I'm less
familiar with that one.

 So there is no relocation to TEXT_BASE on 4xx but only a copy to 
 CONFIG_SYS_NAND_BOOT_SPL_DST.

It looks like you do memory init from assembly code to pull that off.
On 83xx/85xx we do an actual relocation of the NAND SPL.  Not sure
about ARM.

-Scott

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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Andreas Bießmann
Dear Daniel Hobi,

Am 09.11.2010 um 19:24 schrieb Daniel Hobi:
 And on many ARM platforms (including Kirkwood), the timer implementation
 is still accessing BSS variables before relocation.
 
 Is someone working on this? Candidates are:
 
 $ git grep static ulong timestamp
 arch/arm/cpu/arm1136/mx31/timer.c:static ulong timestamp;
 arch/arm/cpu/arm1136/omap24xx/timer.c:static ulong timestamp;
 arch/arm/cpu/arm1176/tnetv107x/timer.c:static ulong timestamp;
 arch/arm/cpu/arm720t/interrupts.c:static ulong timestamp;
 arch/arm/cpu/arm920t/a320/timer.c:static ulong timestamp;
 arch/arm/cpu/arm920t/at91rm9200/timer.c:static ulong timestamp;

arch/arm/cpu/arm920t/at91rm9200/ is dead an will be removed soon.

arch/arm/cpu/arm920t/at91/ still misses such an implementation but will be 
something like arch/arm/cpu/arm926ejs/at91/

BTW couldn't the stuff in #ifdef CONFIG_AT91FAMILY in global_data generalized 
in some way to be used for all arm boards?

regards

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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Andreas Bießmann
Dear Albert Ardibaud,

Am 09.11.2010 um 19:47 schrieb Albert ARIBAUD:

 Thank you. This patch is required to get Kirkwood-based boards working
 again when using the CodeSourcery 2009q3 toolchain.
 
 (can't find the 2010q3 Lite toolchain on CodeSourcery's site, latest is 
 2010q1 apparently... Can you tell me which gcc and which ld version is 
 used in 2010q3?)

I think http://www.codesourcery.com/sgpp/lite/arm/portal/release1033 was meant 
...

regards

Andreas Bießmann___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Albert ARIBAUD
Le 09/11/2010 20:27, Andreas Bießmann a écrit :

 BTW couldn't the stuff in #ifdef CONFIG_AT91FAMILY in global_data generalized 
 in some way to be used for all arm boards?

Don't know for others, but regarding the timer, there is no need for 
timestamp before relocation, so it needs not join gd stuff.

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


Re: [U-Boot] NAND on eLBC

2010-11-09 Thread Scott Wood
On Fri, 5 Nov 2010 10:21:53 +0100
Andre Schwarz andre.schw...@matrix-vision.de wrote:

 Scott,
 
 looks like I made a mistake on current MPC8377 NAND wiring.
 
 Nand-Flash write enable is wired to LFWE1 ... I connected each WE to 
 its corresponding CS, i.e. :
 
 - CS0/WE0 - Nor Flash
 - CS1/WE1 - Nand Flash
 - CS2/WE2 - MRAM
 
 Am I assuming right that FCM can only use WE0 ?

I think so.  It looks like the other lines were meant to be byte
selects for NOR/UPM, not anything to do with the chip select.

 Do you see any issue with connecting all devices to WE0 since they have 
 distinct chip selects ?

I guess not, especially if that's the only way the FCM works.

But to be sure, maybe ask official Freescale support channels, and/or
someone who's more familiar with the hardware side of this stuff.

-Scott

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Scott Wood,

In message 20101109130427.5e918...@udp111988uds.am.freescale.net you wrote:

  For me it is on the fly when running a single make all sees these
  values changing.
 
 In any case, the right answer is a separate autoconf.mk per image.

NAK.  If different images need to be linked with different text base
addresses, they should use separate variables.

Having these lists of #ifdef's and needing to know umm, now we're in
the context of building FOO image, so TEXT_BASE might be that; oh,
wrong, it's the other #if branch actually, it should be this is just
what you see right now: a maintenance nightmare.

Lets get rid of this mess, and use a separate variable for each
separate purpose.

Name space is big enough, so we don't have to redefine the meaning of
variables like 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
Lack of skill dictates economy of style.- Joey Ramone
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Scott Wood
On Tue, 9 Nov 2010 21:13:00 +0100
Wolfgang Denk w...@denx.de wrote:

 Dear Scott Wood,
 
 In message 20101109130427.5e918...@udp111988uds.am.freescale.net you wrote:
 
   For me it is on the fly when running a single make all sees these
   values changing.
  
  In any case, the right answer is a separate autoconf.mk per image.
 
 NAK.  If different images need to be linked with different text base
 addresses, they should use separate variables.
 
 Having these lists of #ifdef's and needing to know umm, now we're in
 the context of building FOO image, so TEXT_BASE might be that; oh,
 wrong, it's the other #if branch actually, it should be this is just
 what you see right now: a maintenance nightmare.

I don't see how

#ifdef NAND_SPL
#define CONFIG_SYS_TEXT_BASE xxx
#else
#define CONFIG_SYS_TEXT_BASE yyy
#endif

is more of a maintenance problem than

#define CONFIG_SYS_TEXT_BASE_SPL xxx
#define CONFIG_SYS_TEXT_BASE yyy

followed by multiple instances of

#ifdef NAND_SPL
do something with CONFIG_SYS_TEXT_BASE_SPL
#else
do something with CONFIG_SYS_TEXT_BASE
#endif

And as I've pointed out, this gets to be an even bigger mess with
larger SPLs that want to pull in bigger chunks of U-Boot based on
CONFIG_ symbols.  Are we going to have to create an SPL version of each
of them, too?  And a third version of each symbol, for a three-stage
boot?

Are you going to insist that we rip out all the other CONFIG_ symbols
that are conditional on NAND_SPL (but happen to not be referred to in
makefiles -- is that really the meaningful semantic difference here)?
CONFIG_SYS_HRCW_HIGH versus CONFIG_SYS_HRCW_HIGH_SPL?
CONFIG_DEFAULT_IMMR versus CONFIG_DEFAULT_IMMR_SPL?

Should we replace CONFIG_NS16550_MIN_FUNCTIONS with directly ifdeffing
NAND_SPL in the serial code?

 Lets get rid of this mess, and use a separate variable for each
 separate purpose.

It is the same purpose.  The problem is treating separate, only
somewhat related image builds as being the same build and requiring
that they have the same config.  They have separate makefiles, separate
linker scripts, separate everything except some shared code... and
autoconf.mk.  Just because we got away with it until now does not make
it the right thing to do.

-Scott

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Scott Wood,

In message 20101109143747.685f9...@udp111988uds.am.freescale.net you wrote:

 I don't see how
 
 #ifdef NAND_SPL
 #define CONFIG_SYS_TEXT_BASE xxx
 #else
 #define CONFIG_SYS_TEXT_BASE yyy
 #endif
 
 is more of a maintenance problem than
 
 #define CONFIG_SYS_TEXT_BASE_SPL xxx
 #define CONFIG_SYS_TEXT_BASE yyy
 
 followed by multiple instances of
 
 #ifdef NAND_SPL
 do something with CONFIG_SYS_TEXT_BASE_SPL
 #else
 do something with CONFIG_SYS_TEXT_BASE
 #endif

Assuming that your code really needs to know the start address of the
image, it should probably do something like this instead:

#ifdef NAND_SPL
#define CONFIG_SYS_TEXT_BASE xxx
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
#else
#define CONFIG_SYS_TEXT_BASE yyy
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
#endif

followed by multiple instances of

do something with CONFIG_SYS_MONITOR_BASE

CONFIG_SYS_TEXT_BASE is a symbos primarily intended for the linker
call, i. e. for Makefile context.  This is a pretty special situation,
that does not apply to normal CONFIG_* settings.

 And as I've pointed out, this gets to be an even bigger mess with
 larger SPLs that want to pull in bigger chunks of U-Boot based on
 CONFIG_ symbols.  Are we going to have to create an SPL version of each
 of them, too?  And a third version of each symbol, for a three-stage
 boot?

I don't see why that should be the case?  AFAICT so far
CONFIG_SYS_TEXT_BASE is one of a very small number of highly special
variable definitions that need to be exported to the Makefile context.

 Are you going to insist that we rip out all the other CONFIG_ symbols
 that are conditional on NAND_SPL (but happen to not be referred to in
 makefiles -- is that really the meaningful semantic difference here)?
 CONFIG_SYS_HRCW_HIGH versus CONFIG_SYS_HRCW_HIGH_SPL?
 CONFIG_DEFAULT_IMMR versus CONFIG_DEFAULT_IMMR_SPL?

Why should I?  None of these are needed anywhere in the Makefiles, are
they?

 Should we replace CONFIG_NS16550_MIN_FUNCTIONS with directly ifdeffing
 NAND_SPL in the serial code?

I think you misinterpret the situation.

 It is the same purpose.  The problem is treating separate, only
 somewhat related image builds as being the same build and requiring
 that they have the same config.  They have separate makefiles, separate
 linker scripts, separate everything except some shared code... and
 autoconf.mk.  Just because we got away with it until now does not make
 it the right thing to do.

Right - separate makefiles, separate linker scripts, separate
everything _and_ separate text base addresses.


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 didn't know it was impossible when I did it.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Haiying Wang
On Tue, 2010-11-09 at 14:11 -0700, Wolfgang Denk wrote:
 Dear Scott Wood,
 
 In message 20101109143747.685f9...@udp111988uds.am.freescale.net you
 wrote:
 
  I don't see how
 
  #ifdef NAND_SPL
  #define CONFIG_SYS_TEXT_BASE xxx
  #else
  #define CONFIG_SYS_TEXT_BASE yyy
  #endif
 
  is more of a maintenance problem than
 
  #define CONFIG_SYS_TEXT_BASE_SPL xxx
  #define CONFIG_SYS_TEXT_BASE yyy
 
  followed by multiple instances of
 
  #ifdef NAND_SPL
  do something with CONFIG_SYS_TEXT_BASE_SPL
  #else
  do something with CONFIG_SYS_TEXT_BASE
  #endif
 
 Assuming that your code really needs to know the start address of the
 image, it should probably do something like this instead:
 
 #ifdef NAND_SPL
 #define CONFIG_SYS_TEXT_BASE xxx
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
 #else
 #define CONFIG_SYS_TEXT_BASE yyy
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
 #endif
 
This doesn't make sense if there is still one autoconfig.mk. The value
for CONFIG_SYS_TEXT_BASE will always be yyy for NAND_SPL.

Haiying



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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Haiying Wang,

In message 1289337782.2168.148.ca...@haiying-laptop you wrote:

  Assuming that your code really needs to know the start address of the
  image, it should probably do something like this instead:
  
  #ifdef NAND_SPL
  #define CONFIG_SYS_TEXT_BASE xxx
  #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
  #else
  #define CONFIG_SYS_TEXT_BASE yyy
  #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
  #endif
  
 This doesn't make sense if there is still one autoconfig.mk. The value
 for CONFIG_SYS_TEXT_BASE will always be yyy for NAND_SPL.

right. Sorry, I copied the wrong lines.

What I meant was this:

#ifdef NAND_SPL
#define CONFIG_SYS_TEXT_BASE_SPL xxx
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE_SPL
#else
#define CONFIG_SYS_TEXT_BASE yyy
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
#endif


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
Q: What do you get when you cross an ethernet with an income statement?
A: A local area networth.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Scott Wood
On Tue, 9 Nov 2010 22:11:41 +0100
Wolfgang Denk w...@denx.de wrote:

 #ifdef NAND_SPL
 #define CONFIG_SYS_TEXT_BASE_SPL xxx
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE_SPL
 #else
 #define CONFIG_SYS_TEXT_BASE yyy
 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
 #endif
 
 followed by multiple instances of
 
 do something with CONFIG_SYS_MONITOR_BASE

What, semantically, is the difference between the CONFIG_SYS_TEXT_BASE
and CONFIG_SYS_MONITOR_BASE?  Just that one is used from linker
scripts/makefiles and the other from C/assembly code (and if you get
it wrong, you may silently get the wrong value instead of a linker
error)?

Isn't the whole point of a special CONFIG_ namespace that gets
exported to autoconf.mk so that the same symbol could be defined once,
possibly based on ifdefs in the board config file, and used for both?

 CONFIG_SYS_TEXT_BASE is a symbos primarily intended for the linker
 call, i. e. for Makefile context.  This is a pretty special situation,
 that does not apply to normal CONFIG_* settings.

It does apply to normal CONFIG_ settings if we ever want to use them in
a makefile, such as to decide which files to pull in.  These 4K NAND
SPLs are small and simple enough that we generally don't do that now,
but I believe Haiying ran into this when trying to create a larger
middle stage that runs out of SRAM.

I suppose we could have no sharing of makefile fragments with that
stage, and rely on the final U-boot's settings going into config.mk
-- as long as we don't need to make the file conditional in the
middle-stage makefile except in cases where it always matches the final
stage config.  Not pretty.

  Are you going to insist that we rip out all the other CONFIG_ symbols
  that are conditional on NAND_SPL (but happen to not be referred to in
  makefiles -- is that really the meaningful semantic difference here)?
  CONFIG_SYS_HRCW_HIGH versus CONFIG_SYS_HRCW_HIGH_SPL?
  CONFIG_DEFAULT_IMMR versus CONFIG_DEFAULT_IMMR_SPL?
 
 Why should I?  None of these are needed anywhere in the Makefiles, are
 they?

No, which is why they didn't break anything -- but why does that
matter, if your argument is that they semantically should be separate
symbols and that the ifdef is the problem?

If your argument is that providing a separate autoconf.mk is a pain[1],
and you'd rather hack around it with a separate symbol in the one case
where it currently matters, I can understand that -- though that leaves
pain lurking for the larger middle stage, as noted above.

I don't see from a conceptual level, though, why these images should be
sharing an autoconf.mk.

-Scott

[1] How much of a pain is it?  It's already a separate make invocation,
so pulling the new set of symbols into make shouldn't be a problem, as
long as they symbols aren't exported.

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


Re: [U-Boot] nand spl build with wrong CONFIG_SYS_TEXT_BASE

2010-11-09 Thread Wolfgang Denk
Dear Scott Wood,

In message 20101109155225.183a3...@udp111988uds.am.freescale.net you wrote:

 What, semantically, is the difference between the CONFIG_SYS_TEXT_BASE
 and CONFIG_SYS_MONITOR_BASE?  Just that one is used from linker

Nothing.

 scripts/makefiles and the other from C/assembly code (and if you get
 it wrong, you may silently get the wrong value instead of a linker
 error)?

You are absolutely right. This is the reason why I object against
redefining CONFIG_SYS_TEXT_BASE and suggest to use a separate
CONFIG_SYS_TEXT_BASE_SPL instead.

 Isn't the whole point of a special CONFIG_ namespace that gets
 exported to autoconf.mk so that the same symbol could be defined once,
 possibly based on ifdefs in the board config file, and used for both?

Correct.

  CONFIG_SYS_TEXT_BASE is a symbos primarily intended for the linker
  call, i. e. for Makefile context.  This is a pretty special situation,
  that does not apply to normal CONFIG_* settings.
 
 It does apply to normal CONFIG_ settings if we ever want to use them in
 a makefile, such as to decide which files to pull in.  These 4K NAND
 SPLs are small and simple enough that we generally don't do that now,
 but I believe Haiying ran into this when trying to create a larger
 middle stage that runs out of SRAM.
 
 I suppose we could have no sharing of makefile fragments with that
 stage, and rely on the final U-boot's settings going into config.mk
 -- as long as we don't need to make the file conditional in the
 middle-stage makefile except in cases where it always matches the final
 stage config.  Not pretty.

Full agreement.

Assume you would accept to use a separate CONFIG_SYS_TEXT_BASE_SPL -
which of the problems you listed would remain?

 No, which is why they didn't break anything -- but why does that
 matter, if your argument is that they semantically should be separate
 symbols and that the ifdef is the problem?

It seems you are in fighting mood today.  I ain't.  You try to turn
my own arguments against me.  I'm not willing to play such a game.

 If your argument is that providing a separate autoconf.mk is a pain[1],
 and you'd rather hack around it with a separate symbol in the one case
 where it currently matters, I can understand that -- though that leaves
 pain lurking for the larger middle stage, as noted above.

Maybe you could be so kind and elucidate why you think that

1) using separate variable names for separate purposes is hacking
   around?

2) changing make variable settings on the fly during a single make run 
   would be a clean solution?  I see a lot of potential problems with
   that.

 I don't see from a conceptual level, though, why these images should be
 sharing an autoconf.mk.

To provide a consistent and debuggable build environment?  I have zero
interest in debugging the Makefiles for such a build for example on a
SMP system which attempts to run these steps in parallel.  Oh, of
course we must not do that, we must serialize everything?

You will need really good arguments to convince me that switching the
build environment on the fly is conceptually clean or a clever thing
to do.


 [1] How much of a pain is it?  It's already a separate make invocation,
 so pulling the new set of symbols into make shouldn't be a problem, as
 long as they symbols aren't exported.

It will be a pain to debug if there are any problems.  What we have
now is already complex enough.  If you want to improve the code then
pelase help making it simpler.  Please do not case make it more
complex.

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
If something is different, it's either better or worse,  and  usually
both.- Larry Wall
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] env_mmc: fix compile warning

2010-11-09 Thread Mike Frysinger
On Tuesday, November 09, 2010 10:18:42 Lei Wen wrote:
 Hi Mike,

please dont top post

 I am sorry for that...
 Here is the warning:
 env_mmc.c: In function 'saveenv':
 env_mmc.c:109: warning: implicit declaration of function 'hexport'

please resend your patch with an updated changelog
-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] RFC: Aligning arch initialisation sequences

2010-11-09 Thread Mike Frysinger
On Sunday, November 07, 2010 05:06:26 Graeme Russ wrote:
 Should all architectures strive to look as much like one another as
 possible? Should we accept that maybe this particular issue be thrown in
 the too hard basket?

imo, we should strive to have these things in one common place and not just 
have the different files look the sam
-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] env_mmc: fix compile warning

2010-11-09 Thread Lei Wen
Hi Mike,

Please review this refined patch.

From a7c694f84bec6b0db26ece4c77d06585be5a6755 Mon Sep 17 00:00:00 2001
From: Lei Wen lei...@marvell.com
Date: Wed, 10 Nov 2010 07:44:03 +0800
Subject: [PATCH] env_mmc: fix compile warning

hexport would complain implicit declaration, if we don't add the
include file.

env_mmc.c: In function 'saveenv':
env_mmc.c:109: warning: implicit declaration of function 'hexport'

Signed-off-by: Lei Wen lei...@marvell.com
---
 common/env_mmc.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/common/env_mmc.c b/common/env_mmc.c
index 3d7fceb..7c9392c 100644
--- a/common/env_mmc.c
+++ b/common/env_mmc.c
@@ -29,6 +29,7 @@
 #include linux/stddef.h
 #include malloc.h
 #include mmc.h
+#include search.h
 #include errno.h

 /* references to names in env_common.c */
-- 
1.7.0.4

Best regards,
Lei


0001-env_mmc-fix-compile-warning.patch
Description: Binary data
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] env_mmc: fix compile warning

2010-11-09 Thread Mike Frysinger
On Tuesday, November 09, 2010 18:39:23 Lei Wen wrote:
 Hi Mike,
 
 Please review this refined patch.

thanks, this looks much better

not that ive ever used env_mmc, so i cant comment on correctness of 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


Re: [U-Boot] [PATCH V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Eric Cooper
I have been periodically rebasing my patches for the Seagate DockStar
on master.  But ever since the elf_reloc changes were merged, I have
been unable to get a working build.  First I saw symptoms similar to
what Alexander Holler reported (failing during NAND initialization due
to incorrect BSS relocation), but the latest arm926ejs ld script
patches did not fix it.  The system would hang here:

U-Boot 2010.12-rc1 (Nov 09 2010 - 17:52:38)
Seagate FreeAgent DockStar

SoC:   Kirkwood 88F6281_A0
DRAM:  128 MiB
NAND:  

This was built with the CodeSourcery 2010q1 toolchain.  I also
included Alexander's patch to double-check the relocation, and no
error message gets printed.

Today, I decided to try out Sebastien Carlier's patch to change to
partial linking, and to my surprise it now works.

I have the two ELF images in case anyone can suggest what I should
look for to see why one is working and the other isn't.  But I don't
know much about interpreting readelf or objdump output.

Also, I'd like to resubmit the latest version of the DockStar patch to
the list.  Should I base it on the partial-linking patch, or on master
(knowing that it may not produce a working build in this case)?

-- 
Eric Cooper e c c @ c m u . e d u
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Commit ecee9... (Program net device MAC addresses after initializing) breakage

2010-11-09 Thread Mike Frysinger
On Saturday, November 06, 2010 18:13:08 Graeme Russ wrote:
 I finally got a few spare hours to do some U-Boot hacking and to my dismay
 found the build for my board (eNET) had broken. It builds OK, but crashed
 during Ethernet initialisation. I tried winding back to a last known good
 commit without much luck.
 
 I realised I had upgraded to Ubuntu 10.10 lately, and thought maybe a
 tool-chain change was the culprit (was running gcc-4.4.1 and binutils 2.19
 from source, now running Ubuntu gcc 4.4.5 and Binutils 2.20)
 
 But, I think that commit ecee9324d73555e744593f3e0d387bec4c566f55 may be
 'not quite right'. My board uses the rtl8139 driver, and the following
 patch gets my board booting again:

 Just before this code we see that dev is malloc'd:
 
 dev = (struct eth_device *)malloc(sizeof *dev);
 
 So there is no guarantee that dev is NULL'd.

rtl8139 is broken.  it should be clearing its memory.

someone posted a whole bunch of patches to memset() net drivers ...

 I saw discussion a little while ago regarding implementing a version of
 malloc that returns cleared memory - did this gain any traction?

i dont think anyone posted a patch.  it would make sense though to generalize 
the zalloc() code since some places are already doing 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


Re: [U-Boot] [PATCH] Switch from library archives to partial linking

2010-11-09 Thread Mike Frysinger
On Sunday, November 07, 2010 10:11:14 Sebastien Carlier wrote:
 On 11/07/2010 03:16 PM, Peter Tyser wrote:
  I'm guessing lots of boards will have this same issue.  I imagine its
  due to include/config_cmd_defaults.h, so maybe if you fix the issue in
  that one place all the compile issues will go away.
 
 The generic fix is to include the following lines somewhere at the end
 of the config.h generated in the mkconfig script:
 
 #ifndef CONFIG_CMD_NET
 # undef CONFIG_CMD_NFS
 #endif
 
 These lines should probable be put in a new header file; would
 config_checks.h be an ok name for it?  I suppose there might be other
 cases where a module (that is included by default) needs to be excluded
 when one of its dependencies is disabled.

i dont like this sort of magc undoing of defaults.  update the board configs 
instead to undef NFS.
-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] Switch from archive libraries to partial linking

2010-11-09 Thread Mike Frysinger
On Monday, November 08, 2010 17:04:32 Sebastien Carlier wrote:
 This commit changes all Makefiles to use partial linking (ld -r) instead of
 creating library archives, which forces all symbols to participate in
 linking, allowing non-weak symbols to override weak symbols as intended. 
 This approach is also used by Linux, from which the gmake function
 cmd_link_o_target (added at the end of config.mk and used in all
 Makefiles) is inspired.

wish we could integrate this into one place already.  all these Makefile's 
duplicating targets sucks a lot.  but guess that could be a future change.

the config.mk looks weird:
+cmd_link_o_target = $(if $(strip $1),\
+  $(LD) -r -o $@ $1 ,\
+  rm -f $@; $(AR) rcs $@ )

why do you need the rm/ar ?

  post/board/lwmon/Makefile |2 +-
  post/board/lwmon5/Makefile|2 +-
  post/board/netta/Makefile |2 +-
  post/board/pdm360ng/Makefile  |2 +-
  post/cpu/mpc83xx/Makefile |2 +-
  post/cpu/mpc8xx/Makefile  |2 +-
  post/cpu/ppc4xx/Makefile  |2 +-
  post/drivers/Makefile |2 +-
  post/lib_powerpc/Makefile |2 +-
  post/lib_powerpc/fpu/Makefile |2 +-
  post/rules.mk |2 +-

these look like useless whitespace changes.  a lot of the LIB= changes have 
similar useless changes.  looks like your sed needs a little more smarts to 
retain whitespace:
-e '/^LIB/s:[.]a$:.o:'
-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 V4 1/2] arm926ejs: fix linker file for newer ld support

2010-11-09 Thread Albert ARIBAUD
Le 10/11/2010 00:43, Eric Cooper a écrit :
 I have been periodically rebasing my patches for the Seagate DockStar
 on master.  But ever since the elf_reloc changes were merged, I have
 been unable to get a working build.  First I saw symptoms similar to
 what Alexander Holler reported (failing during NAND initialization due
 to incorrect BSS relocation), but the latest arm926ejs ld script
 patches did not fix it.  The system would hang here:

  U-Boot 2010.12-rc1 (Nov 09 2010 - 17:52:38)
  Seagate FreeAgent DockStar

  SoC:   Kirkwood 88F6281_A0
  DRAM:  128 MiB
  NAND:

 This was built with the CodeSourcery 2010q1 toolchain.  I also
 included Alexander's patch to double-check the relocation, and no
 error message gets printed.

 Today, I decided to try out Sebastien Carlier's patch to change to
 partial linking, and to my surprise it now works.

 I have the two ELF images in case anyone can suggest what I should
 look for to see why one is working and the other isn't.  But I don't
 know much about interpreting readelf or objdump output.

Can you make the ELF images available? I'll do the readlf/objdump 
analysis and feed back on what I find.

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