[U-Boot] CONFIG_SYS_SDRAM_BASE error

2011-06-27 Thread Benoit PRIGENT


Hi,

I try compiling u-boot for Iomega iConnect using these files:
http://patchwork.openwrt.org/patch/299/

But I got this error:

board.c: In function â__dram_init_banksizeâ:
board.c:233: error: âCONFIG_SYS_SDRAM_BASEâ undeclared (first use in this 
function)
board.c:233: error: (Each undeclared identifier is reported only once
board.c:233: error: for each function it appears in.)
board.c: In function âboard_init_fâ:
board.c:279: error: âCONFIG_SYS_INIT_SP_ADDRâ undeclared (first use in this 
function)
board.c:312: error: âCONFIG_SYS_SDRAM_BASEâ undeclared (first use in this 
function)
make[1]: *** [board.o] Error 1

I found this thread, it seems to be a solution, but I don't know how to do:
http://www.mail-archive.com/u-boot@lists.denx.de/msg36109.html

Please could you help me?

Regards,
Ben




Suivez l'actualité de l'émission X Factor : les photos des primes et les news 
sont sur Voila



Suivez l'actualité de l'émission X Factor : les photos des primes et les news 
sont sur Voila http://people.voila.fr/evenementiel/X-factor/
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] 85XX: Fix pin muxing for second USB controller

2011-06-27 Thread Felix Radensky
On P1022/P1013 second USB controller is muxed with second
Ethernet controller. The current code to enable second USB
fails to properly clear pinmux bits used by ethernet. As a
result, Linux freezes when this controller is used. This
patch fixes the problem.

Signed-off-by: Felix Radensky fe...@embedded-sol.com
---
 arch/powerpc/include/asm/immap_85xx.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/include/asm/immap_85xx.h 
b/arch/powerpc/include/asm/immap_85xx.h
index f85cee2..267a940 100644
--- a/arch/powerpc/include/asm/immap_85xx.h
+++ b/arch/powerpc/include/asm/immap_85xx.h
@@ -2017,7 +2017,7 @@ typedef struct ccsr_gur {
 #define MPC85xx_PMUXCR2_PLL_LKDT_EXPOSE0x1000
 #endif
 #if defined(CONFIG_P1013) || defined(CONFIG_P1022)
-#define MPC85xx_PMUXCR2_ETSECUSB_MASK  0x001f1000
+#define MPC85xx_PMUXCR2_ETSECUSB_MASK  0x001f8000
 #define MPC85xx_PMUXCR2_USB0x0015
 #endif
u8  res6[8];
-- 
1.7.4.4

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


Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet reset sequence for Rev.G board

2011-06-27 Thread Igor Grinberg
On 06/27/11 08:06, Premi, Sanjeev wrote:

 -Original Message-
 From: Premi, Sanjeev 
 Sent: Thursday, June 23, 2011 4:48 PM
 To: Premi, Sanjeev; Igor Grinberg
 Cc: Govindarajan, Sriramakrishnan; u-boot@lists.denx.de
 Subject: RE: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
 reset sequence for Rev.G board

 -Original Message-
 From: u-boot-boun...@lists.denx.de 
 [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Premi, Sanjeev
 Sent: Thursday, June 23, 2011 4:43 PM
 To: Igor Grinberg
 Cc: Govindarajan, Sriramakrishnan; u-boot@lists.denx.de
 Subject: Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
 reset sequence for Rev.G board

 -Original Message-
 From: Igor Grinberg [mailto:grinb...@compulab.co.il] 
 Sent: Thursday, June 23, 2011 2:38 PM
 To: Premi, Sanjeev
 Cc: u-boot@lists.denx.de; Govindarajan, Sriramakrishnan
 Subject: Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
 reset sequence for Rev.G board

 Hi Sanjeev,

 On 06/22/11 22:24, Sanjeev Premi wrote:
 From: Sriramakrishnan s...@ti.com

 The GPIO pin used for resetting the external LAN chip has
 changed for Rev.G board.

 Signed-off-by: Sriramakrishnan s...@ti.com
 Signed-off-by: Sanjeev Premi pr...@ti.com
 ---
  board/ti/evm/evm.c |   27 ++-
  1 files changed, 18 insertions(+), 9 deletions(-)

 [snip]...[snip]

 + /* Send a pulse on the GPIO pin */
 + writel(pin, gpio_base-setdataout);
   udelay(1);
 - writel(GPIO0, gpio3_base-cleardataout);
 + writel(pin, gpio_base-cleardataout);
   udelay(1);
 - writel(GPIO0, gpio3_base-setdataout);
 + writel(pin, gpio_base-setdataout);
 Why keep messing with the gpio registers?
 Why not use gpio framework?
 Though it is omap specific, but it will be much cleaner then 
 the above.
 [sp] I guess the intent was to keep code similar. But yes,
  gpio framework can be used.

 [sp] Sorry, mail went earlier than I wanted :(

  The only issue is that I couln't see gpio framework for omap.
  Let me dig further...

 [sp] Implementing GPIO for OMAP would be a long task. It should be
  done for long term; but is it necessary pre-condition for the
  patch?

There is no need to implement GPIO for OMAP. It is already there,
you just need to use it instead of writing directly to the GPIO registers.
You can find all the implementation in: arch/arm/cpu/armv7/omap3/gpio.c
and the header is: arch/arm/include/asm/arch-omap3/gpio.h

All you need is to include the header, request the appropriate gpio,
send the pulse and maybe (if you don't need it anymore) free that gpio.
This is not hard or long at all.



-- 
Regards,
Igor.

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


[U-Boot] [PATCH] smc911x MII made available

2011-06-27 Thread helmut . raiger
From: Helmut Raiger helmut.rai...@hale.at

The driver already had the MII functions, but they have not been
registered using miiphy_register().
---
 drivers/net/smc911x.c |   24 
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index aeafeba..8753588 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -235,6 +235,25 @@ static int smc911x_rx(struct eth_device *dev)
return 0;
 }
 
+#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
+/* wrapper for smc911x_miiphy_read */
+static int mii_phy_read(char *devname, u8 phy, u8 reg, u16 *val)
+{
+   struct eth_device *dev = eth_get_dev_by_name(devname);
+   if (dev)
+   return smc911x_miiphy_read(dev, phy, reg, val);
+   return -1;
+}
+/* wrapper for smc911x_miiphy_write */
+static int mii_phy_write(char *devname, u8 phy, u8 reg, u16 val)
+{
+   struct eth_device *dev = eth_get_dev_by_name(devname);
+   if (dev)
+   return smc911x_miiphy_write(dev, phy, reg, val);
+   return -1;
+}
+#endif
+
 int smc911x_initialize(u8 dev_num, int base_addr)
 {
unsigned long addrl, addrh;
@@ -273,5 +292,10 @@ int smc911x_initialize(u8 dev_num, int base_addr)
sprintf(dev-name, %s-%hu, DRIVERNAME, dev_num);
 
eth_register(dev);
+
+#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
+   miiphy_register(dev-name, mii_phy_read, mii_phy_write);
+#endif
+
return 1;
 }
-- 
1.7.4.4



--
Scanned by MailScanner.

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Ilya Yanok
Hi Aneesh,

On 27.06.2011 08:29, Aneesh V wrote:
 I wonder why do we need this whole spl thing in the first place (well,
 surely I know what they are used for but why do we need a separate entity
 for this)? Isn't it just the same U-Boot in, well, very special
 configuration
 (minimal set of drivers, no shell, etc)? Why do we need a whole shadow
 tree
 at spl/ instead of just providing the _configuration_?

 Am I missing something?
 
 The reason is that the regular U-Boot is not configurable enough to
 build the extremely small images that should fit in internal RAM. The
 last time I attempted, I ended up getting an ~60KB image for
 OMAP4(that too without any of the hardware initialization I am adding
 in my SPL work).

Yes, surely I understand that currently U-Boot is not configurable
enough to meet hard SPL constraints. But why don't we add the required
configuration options instead of implementing the SPL thing separately?
Again, maybe I'm missing something but it looks like not very difficult
task to add the required configuration options and this approach seems
to be more straight to me...

 Aneesh, what's the state of your patches? I'm especially interrested in
 OMAP3 (AM3517) support. Maybe I will be able to help you.
 
 I should be able to send out an updated revision of my series once we
 finalize on the new framework for SPL.
 
 BTW, John Rigby had sent out a series sometime back for OMAP3 NAND SPL.
 That can be integrated with my work and we will get an SPL that
 supports both MMC and NAND. I guess Simon Schwarz is also doing some
 work lately on OMAP3.

Thanks for the pointers, I will take a look.

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


[U-Boot] [PATCH 0/2] ORIGEN Board Support

2011-06-27 Thread Chander Kashyap
Adds support for ORIGEN board with MMC Booting.

Chander Kashyap (2):
  ARMV7: Add support for Samsung ORIGEN board
  ORIGEN: Add MMC SPL support

 MAINTAINERS   |1 +
 board/samsung/origen/Makefile |   46 ++
 board/samsung/origen/lowlevel_init.S  |  468 +
 board/samsung/origen/mem_setup.S  |  392 +
 board/samsung/origen/origen.c |  103 +
 boards.cfg|1 +
 include/configs/origen.h  |  167 
 mmc_spl/board/samsung/origen/Makefile |  105 +
 mmc_spl/board/samsung/origen/mmc_boot.c   |   75 
 mmc_spl/board/samsung/origen/tools/mkv310_image.c |  139 ++
 mmc_spl/board/samsung/origen/u-boot.lds   |   86 
 11 files changed, 1583 insertions(+), 0 deletions(-)
 create mode 100644 board/samsung/origen/Makefile
 create mode 100644 board/samsung/origen/lowlevel_init.S
 create mode 100644 board/samsung/origen/mem_setup.S
 create mode 100644 board/samsung/origen/origen.c
 create mode 100644 include/configs/origen.h
 create mode 100644 mmc_spl/board/samsung/origen/Makefile
 create mode 100644 mmc_spl/board/samsung/origen/mmc_boot.c
 create mode 100644 mmc_spl/board/samsung/origen/tools/mkv310_image.c
 create mode 100644 mmc_spl/board/samsung/origen/u-boot.lds

-- 
1.7.4.1

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


[U-Boot] [PATCH 1/2] ARMV7: Add support for Samsung ORIGEN board

2011-06-27 Thread Chander Kashyap
Origen board is based upon S5PV310 SoC which is similiar to
S5PC210 SoC.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
 MAINTAINERS  |1 +
 board/samsung/origen/Makefile|   46 
 board/samsung/origen/lowlevel_init.S |  468 ++
 board/samsung/origen/mem_setup.S |  392 
 board/samsung/origen/origen.c|  103 
 boards.cfg   |1 +
 include/configs/origen.h |  167 
 7 files changed, 1178 insertions(+), 0 deletions(-)
 create mode 100644 board/samsung/origen/Makefile
 create mode 100644 board/samsung/origen/lowlevel_init.S
 create mode 100644 board/samsung/origen/mem_setup.S
 create mode 100644 board/samsung/origen/origen.c
 create mode 100644 include/configs/origen.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 30c327b..c233f82 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -707,6 +707,7 @@ Minkyu Kang mk7.k...@samsung.com
 Chander Kashyap k.chan...@samsung.com
 
SMDKV310ARM ARMV7 (S5PC210 SoC)
+   origen  ARM ARMV7 (S5PC210 SoC)
 
 Frederik Kriewitz frede...@kriewitz.eu
 
diff --git a/board/samsung/origen/Makefile b/board/samsung/origen/Makefile
new file mode 100644
index 000..65eff91
--- /dev/null
+++ b/board/samsung/origen/Makefile
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2011 Samsung Electronics
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+SOBJS  := mem_setup.o
+SOBJS  += lowlevel_init.o
+COBJS  += origen.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS) $(SOBJS))
+
+all:$(obj).depend $(LIB)
+
+$(LIB):$(OBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS)
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/samsung/origen/lowlevel_init.S 
b/board/samsung/origen/lowlevel_init.S
new file mode 100644
index 000..cbb3c45
--- /dev/null
+++ b/board/samsung/origen/lowlevel_init.S
@@ -0,0 +1,468 @@
+/*
+ * Lowlevel setup for ORIGEN board based on S5PV310
+ *
+ * Copyright (C) 2011 Samsung Electronics
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include config.h
+#include version.h
+#include asm/arch/cpu.h
+
+/*
+ * Register usages:
+ *
+ * r5 has zero always
+ * r7 has GPIO part1 base 0x1140
+ * r6 has GPIO part2 base 0x1100
+ */
+
+#define MEM_DLLl_ON
+
+_TEXT_BASE:
+   .word   CONFIG_SYS_TEXT_BASE
+
+   .globl lowlevel_init
+lowlevel_init:
+   push{lr}
+
+   /* r5 has always zero */
+   mov r5, #0
+   ldr r7, =S5PC210_GPIO_PART1_BASE
+   ldr r6, =S5PC210_GPIO_PART2_BASE
+
+   /* check reset status  */
+   ldr r0, =(S5PC210_POWER_BASE + 0x804)   @ INFORM1
+   ldr r1, [r0]
+
+   /* AFTR wakeup reset */
+   ldr r2, =S5P_CHECK_DIDLE
+   cmp r1, r2
+   beq exit_wakeup
+
+   /* Sleep wakeup reset */
+   ldr r2, =S5P_CHECK_SLEEP
+   cmp r1, r2
+   beq wakeup_reset
+
+   /*
+* If U-boot is already running in ram, no need to relocate U-Boot.
+* Memory controller must be configured before relocating U-Boot
+* in ram.
+*/
+  

[U-Boot] [PATCH 2/2] ORIGEN: Add MMC SPL support

2011-06-27 Thread Chander Kashyap
Adds mmc boot support.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
 mmc_spl/board/samsung/origen/Makefile |  105 
 mmc_spl/board/samsung/origen/mmc_boot.c   |   75 +++
 mmc_spl/board/samsung/origen/tools/mkv310_image.c |  139 +
 mmc_spl/board/samsung/origen/u-boot.lds   |   86 +
 4 files changed, 405 insertions(+), 0 deletions(-)
 create mode 100644 mmc_spl/board/samsung/origen/Makefile
 create mode 100644 mmc_spl/board/samsung/origen/mmc_boot.c
 create mode 100644 mmc_spl/board/samsung/origen/tools/mkv310_image.c
 create mode 100644 mmc_spl/board/samsung/origen/u-boot.lds

diff --git a/mmc_spl/board/samsung/origen/Makefile 
b/mmc_spl/board/samsung/origen/Makefile
new file mode 100644
index 000..7b62684
--- /dev/null
+++ b/mmc_spl/board/samsung/origen/Makefile
@@ -0,0 +1,105 @@
+#
+# (C) Copyright 2006-2007
+# Stefan Roese, DENX Software Engineering, s...@denx.de.
+#
+# (C) Copyright 2008
+# Guennadi Liakhovetki, DENX Software Engineering, l...@denx.de
+#
+# (C) Copyright 2011
+# Chander Kashyap, Samsung Electronics, k.chan...@samsung.com
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+CONFIG_MMC_SPL = y
+
+include $(TOPDIR)/config.mk
+
+LDSCRIPT= $(TOPDIR)/mmc_spl/board/$(BOARDDIR)/u-boot.lds
+LDFLAGS= -Bstatic -T $(mmcobj)u-boot.lds -Ttext 
$(CONFIG_SYS_TEXT_BASE) $(PLATFORM_LDFLAGS)
+AFLAGS += -DCONFIG_MMC_SPL
+CFLAGS += -DCONFIG_MMC_SPL
+CFLAGS += -DCONFIG_PRELOADER
+
+SOBJS  = start.o mem_setup.o lowlevel_init.o
+COBJS  = mmc_boot.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(SOBJS) $(COBJS))
+__OBJS := $(SOBJS) $(COBJS)
+LNDIR  := $(OBJTREE)/mmc_spl/board/$(BOARDDIR)
+
+mmcobj := $(OBJTREE)/mmc_spl/
+
+
+MKV310_MMC_SPL_EXEC = mkv310_mmc_spl_exec
+MMC_SPL_BIN = u-boot-mmc-spl.bin
+
+ALL = $(mmcobj)u-boot-spl $(mmcobj)u-boot-spl.bin $(mmcobj)$(MMC_SPL_BIN)
+
+all:$(obj).depend $(ALL)
+
+$(mmcobj)$(MMC_SPL_BIN):  $(mmcobj)u-boot-spl.bin tools/$(MKV310_MMC_SPL_EXEC)
+   ./tools/$(MKV310_MMC_SPL_EXEC) $(mmcobj)u-boot-spl.bin 
$(mmcobj)$(MMC_SPL_BIN)
+   rm -f tools/$(MKV310_MMC_SPL_EXEC)
+
+tools/$(MKV310_MMC_SPL_EXEC): tools/mkv310_image.c
+   $(HOSTCC) tools/mkv310_image.c -o tools/$(MKV310_MMC_SPL_EXEC)
+
+$(mmcobj)u-boot-spl.bin:   $(mmcobj)u-boot-spl
+   $(OBJCOPY) ${OBJCFLAGS} -O binary $ $@
+
+$(mmcobj)u-boot-spl:   $(OBJS) $(mmcobj)u-boot.lds
+   cd $(LNDIR)  $(LD) $(LDFLAGS) $(__OBJS) \
+   -Map $(mmcobj)u-boot-spl.map \
+   -o $(mmcobj)u-boot-spl
+
+$(mmcobj)u-boot.lds: $(LDSCRIPT)
+   $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - $^ $@
+
+# create symbolic links for common files
+
+# from cpu directory
+start.S:
+   @rm -f $@
+   @ln -s $(TOPDIR)/arch/arm/cpu/armv7/start.S $@
+
+# from board directory
+mem_setup.S:
+   @rm -f $@
+   @ln -s $(TOPDIR)/board/samsung/origen/mem_setup.S $@
+
+lowlevel_init.S:
+   @rm -f $@
+   @ln -s $(TOPDIR)/board/samsung/origen/lowlevel_init.S $@
+
+#
+
+$(obj)%.o: %.S
+   $(CC) $(AFLAGS) -c -o $@ $
+
+$(obj)%.o: %.c
+   $(CC) $(CFLAGS) -c -o $@ $
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/mmc_spl/board/samsung/origen/mmc_boot.c 
b/mmc_spl/board/samsung/origen/mmc_boot.c
new file mode 100644
index 000..459d27d
--- /dev/null
+++ b/mmc_spl/board/samsung/origen/mmc_boot.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2011 Samsung Electronics
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Simon Schwarz
Hi,

 You mentioned that /spl can not be used for source files. Isn't there a
 way to workaround this problem?
Why should we have source files in a SPL directory? I would prefer to
have spl specific sources right where the rest ist - maybe marked with
something like _spl or excluded by some #define-test. If we have a SPL
specific directory we have to copy most of the tree (arch/cpu etc.)
which in my eyes is totally unnecessary if we don't do the symlinking
stuff...

 Also, I agree with Scott's opinion that re-compiling some files while
 re-using the binary of some other files won't be a good idea. In this
 case, CONFIG_PRELOADER will be honored in some files but not in other
 files. That will be a source of confusion for developers.
I also see this as the biggest problem with reusing the object-files.
It will add more complexity than a simple re-run with different flags
like suggested by Daniel.

 BTW, John Rigby had sent out a series sometime back for OMAP3 NAND SPL.
 That can be integrated with my work and we will get an SPL that
 supports both MMC and NAND. I guess Simon Schwarz is also doing some
 work lately on OMAP3.
I am working on OMAP3 (on devkit8000). If this discussion comes to a
conclusion soon I would prefer sending the patches with the new SPL
format.

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Aneesh V
Hi Ilya,

On Monday 27 June 2011 01:54 PM, Ilya Yanok wrote:
 Hi Aneesh,

 On 27.06.2011 08:29, Aneesh V wrote:
 I wonder why do we need this whole spl thing in the first place (well,
 surely I know what they are used for but why do we need a separate entity
 for this)? Isn't it just the same U-Boot in, well, very special
 configuration
 (minimal set of drivers, no shell, etc)? Why do we need a whole shadow
 tree
 at spl/ instead of just providing the _configuration_?

 Am I missing something?

 The reason is that the regular U-Boot is not configurable enough to
 build the extremely small images that should fit in internal RAM. The
 last time I attempted, I ended up getting an ~60KB image for
 OMAP4(that too without any of the hardware initialization I am adding
 in my SPL work).

 Yes, surely I understand that currently U-Boot is not configurable
 enough to meet hard SPL constraints. But why don't we add the required
 configuration options instead of implementing the SPL thing separately?
 Again, maybe I'm missing something but it looks like not very difficult
 task to add the required configuration options and this approach seems
 to be more straight to me...


I agree. SPL, as I understand, was an easy workaround for this problem.
But if we are spending a lot of time on SPL framework, we may rather
solve the real problem(Oh no, I am not volunteering:-)) Honestly,
I have no idea how much effort that will be.

Actually, I had raised this point sometime back. But that was more in
favor of keeping SPL the way it is now and not adding anymore
complexity.

http://news.gmane.org/find-root.php?group=gmane.comp.boot-loaders.u-bootarticle=100550

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Aneesh,

In message 4e0804dc.8090...@ti.com you wrote:

  +spl:  $(TIMESTAMP_FILE) $(VERSION_FILE) depend
  +  $(MAKE) -C spl/ all
  +
 $(obj)mmc_spl/u-boot-mmc-spl.bin:   mmc_spl
 
  The mmc_spl/ is suppoed to be moved into spl/, isn't it?
 
 This patch was intended only as a prototype for the new directory
 structure. I didn't bother to touch the existing stuff.

I see.

  --- /dev/null
  +++ b/spl/Makefile
  @@ -0,0 +1,94 @@
  +#
  +# (C) Copyright 2011 Daniel Schwierzeck, 
  daniel.schwierz...@googlemail.com.
 
  Really???
 
 I copied Daniel's Makefile and started from there.

I guess the only real part that was left from the old file is the GPL
header...

  As Mike mentioned, we can eventually directly include the OBJSs here
  and omit the building of libraries?
 
 I can't seem to find a mail from Mike on this thread. Did I miss any
 mail?

I can find it either.  I don't know what I had in mind then.

 Do you mean re-using equivalent libraries from the normal U-Boot
 without re-compiling them?

There are actually two different topics here:

- The first is how to link all the objects in the spl/ tree together.
  As I understand, you proposal was to link all objects in each of the
  subdirectories into a library, and then link all the libraries
  together.

  Instead of doing this, we could as well just maintain a list of
  objects and then link all these together directly, without creating
  libraries first.

- The other topic is if to build new object files, and where.  At the
  moment we have two situations:

  * Some files are built with special options such that unneeded code
gets commented out using respecive #ifdef's / #ifndef's.  We can
probably get rid of (most of ?) these #ifdef's / #ifndef's when
properly using -ffunction-sections / --gc-sections

Why should we then recompile the code?

  * Some files (start.S) really need different code.  Here the
questions is more how and where to recompile using proper options.
I would be glad if we could get rid of the symlinking.  Maybe we
can add respective build rules to the original Makefiles (see also
proposal by Ilya,
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102033 ),
eventually just using a different suffix, say .splo instead of
.o?

  allow for vendor directories (where BOARDDIR = $(VENDOR)/$(BOARD)).
 
 I didn't want to make the directory structure any longer than required.
 But I can add this if required.

It will be needed.

  Hm... can we try to do without the symlinks?
 
 Well. I think it's difficult. Most of my hardware initialization such
 as clock init, SDRAM init etc need to know under what context it
 is getting executed. The context can be:
 1. SPL
 2. Regular U-Boot executing from NOR flash
 3. Regular U-Boot executing from SDRAM
 etc.

Agreed - we need another, independent set of object files.  But cannot
we create these in the existent source tree?

 If you want to do away with symlinks, I would propose going with
 Daniel's approach. This uses /spl as a remote building directory, but
 do not create any symlinks.

Yes, this is an improvement over the current situation - but Ilya's
question is a good one: why do we need the pl/ subtree in the first
place?


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
You shouldn't make my toaster angry. - Household security explained
in Johnny Quest
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Ilya,

In message loom.20110627t010402-...@post.gmane.org you wrote:
 
 I wonder why do we need this whole spl thing in the first place (well,
 surely I know what they are used for but why do we need a separate entity
 for this)? Isn't it just the same U-Boot in, well, very special configuration
 (minimal set of drivers, no shell, etc)? Why do we need a whole shadow tree
 at spl/ instead of just providing the _configuration_?

Good point.  Eventually we can  just add additional build rules for
new object files (say, .splo instead of .o) ?

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
Have you lived in this village all your life?No, not yet.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Aneesh,

In message 4e080733.2030...@ti.com you wrote:
 
  I wonder why do we need this whole spl thing in the first place (well,
  surely I know what they are used for but why do we need a separate entity
  for this)? Isn't it just the same U-Boot in, well, very special 
  configuration
  (minimal set of drivers, no shell, etc)? Why do we need a whole shadow tree
  at spl/ instead of just providing the _configuration_?
 
  Am I missing something?
 
 The reason is that the regular U-Boot is not configurable enough to
 build the extremely small images that should fit in internal RAM. The
 last time I attempted, I ended up getting an ~60KB image for
 OMAP4(that too without any of the hardware initialization I am adding
 in my SPL work).

This statement does not make much sense to me.  If we can do it in the
spl/ directory, we should be able to do it in any other directory as
well.  The worst to happen is that we have to keep two setsof object
files separated, but chosing a different suffix should be sufficient.


 BTW, John Rigby had sent out a series sometime back for OMAP3 NAND SPL.

Yes, but AFAIR he never followed up to the requested changes.

 That can be integrated with my work and we will get an SPL that
 supports both MMC and NAND. I guess Simon Schwarz is also doing some
 work lately on OMAP3.

OK, so we have all the more reason to do this thorougly now.

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
Applying computer technology is simply finding the  right  wrench  to
pound in the correct screw.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] promo

2011-06-27 Thread PROMO


Your Email Id has won 1,000,000.00 GBP in the British MICROSOFT Promo 2011. 
send your

Names.
Address.
Sex.
Age.
Tel.
Occupation.

to our claims department: carl_rob...@hotmail.com

Thank you for your full corporation.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet reset sequence for Rev.G board

2011-06-27 Thread Premi, Sanjeev
 -Original Message-
 From: Igor Grinberg [mailto:grinb...@compulab.co.il] 
 Sent: Monday, June 27, 2011 12:17 PM
 To: Premi, Sanjeev
 Cc: Govindarajan, Sriramakrishnan; u-boot@lists.denx.de
 Subject: Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
 reset sequence for Rev.G board
 
 On 06/27/11 08:06, Premi, Sanjeev wrote:
 
  -Original Message-
  From: Premi, Sanjeev 
  Sent: Thursday, June 23, 2011 4:48 PM
  To: Premi, Sanjeev; Igor Grinberg
  Cc: Govindarajan, Sriramakrishnan; u-boot@lists.denx.de
  Subject: RE: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
  reset sequence for Rev.G board
 
  -Original Message-
  From: u-boot-boun...@lists.denx.de 
  [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Premi, Sanjeev
  Sent: Thursday, June 23, 2011 4:43 PM
  To: Igor Grinberg
  Cc: Govindarajan, Sriramakrishnan; u-boot@lists.denx.de
  Subject: Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
  reset sequence for Rev.G board
 
  -Original Message-
  From: Igor Grinberg [mailto:grinb...@compulab.co.il] 
  Sent: Thursday, June 23, 2011 2:38 PM
  To: Premi, Sanjeev
  Cc: u-boot@lists.denx.de; Govindarajan, Sriramakrishnan
  Subject: Re: [U-Boot] [PATCH 2/3] omap3evm: Update ethernet 
  reset sequence for Rev.G board
 
  Hi Sanjeev,
 
  On 06/22/11 22:24, Sanjeev Premi wrote:
  From: Sriramakrishnan s...@ti.com
 
  The GPIO pin used for resetting the external LAN chip has
  changed for Rev.G board.
 
  Signed-off-by: Sriramakrishnan s...@ti.com
  Signed-off-by: Sanjeev Premi pr...@ti.com
  ---
   board/ti/evm/evm.c |   27 ++-
   1 files changed, 18 insertions(+), 9 deletions(-)
 
  [snip]...[snip]
 
  +   /* Send a pulse on the GPIO pin */
  +   writel(pin, gpio_base-setdataout);
  udelay(1);
  -   writel(GPIO0, gpio3_base-cleardataout);
  +   writel(pin, gpio_base-cleardataout);
  udelay(1);
  -   writel(GPIO0, gpio3_base-setdataout);
  +   writel(pin, gpio_base-setdataout);
  Why keep messing with the gpio registers?
  Why not use gpio framework?
  Though it is omap specific, but it will be much cleaner then 
  the above.
  [sp] I guess the intent was to keep code similar. But yes,
   gpio framework can be used.
 
  [sp] Sorry, mail went earlier than I wanted :(
 
   The only issue is that I couln't see gpio framework for omap.
   Let me dig further...
 
  [sp] Implementing GPIO for OMAP would be a long task. It should be
   done for long term; but is it necessary pre-condition for the
   patch?
 
 There is no need to implement GPIO for OMAP. It is already there,
 you just need to use it instead of writing directly to the 
 GPIO registers.
 You can find all the implementation in: 
 arch/arm/cpu/armv7/omap3/gpio.c
 and the header is: arch/arm/include/asm/arch-omap3/gpio.h

[sp] No wonder, I couldn't find it in drivers/gpio.
 (Didn't occur that it could be in ARCH specific dir)

 Will rebase and send an updated patch soon.

~sanjeev

 
 All you need is to include the header, request the appropriate gpio,
 send the pulse and maybe (if you don't need it anymore) free 
 that gpio.
 This is not hard or long at all.
 
 
 
 -- 
 Regards,
 Igor.
 
 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Email;uk.claims.department2...@live.com

2011-06-27 Thread Majumdar, Saurindranath


You have been selected for a cash prize of £800,000.Contact with the below 
information for claim./Name/Tell/Occupation/Address/Age/via 
Email;uk.claims.department2...@live.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Daniel Schwierzeck
Hi,

On Mon, Jun 27, 2011 at 11:27 AM, Wolfgang Denk w...@denx.de wrote:
 Dear Ilya,

 In message loom.20110627t010402-...@post.gmane.org you wrote:

 I wonder why do we need this whole spl thing in the first place (well,
 surely I know what they are used for but why do we need a separate entity
 for this)? Isn't it just the same U-Boot in, well, very special configuration
 (minimal set of drivers, no shell, etc)? Why do we need a whole shadow tree
 at spl/ instead of just providing the _configuration_?

I guess that is because the discussion started with several
directories (nand_spl, mmc_spl etc.)
which should be merged into a single spl directory.


 Good point.  Eventually we can  just add additional build rules for
 new object files (say, .splo instead of .o) ?

I agree this approach seems to be the best one.
But then we have to create SPL-specific libraries too, right?
(e.g. lib$(ARCH).splo, lib$(CPU).splo)


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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Aneesh V
Dear Wolfgang,

On Monday 27 June 2011 02:57 PM, Wolfgang Denk wrote:
 Dear Aneesh,

 In message4e0804dc.8090...@ti.com  you wrote:

 +spl:  $(TIMESTAMP_FILE) $(VERSION_FILE) depend
 +  $(MAKE) -C spl/ all
 +
 $(obj)mmc_spl/u-boot-mmc-spl.bin:  mmc_spl

 The mmc_spl/ is suppoed to be moved into spl/, isn't it?

 This patch was intended only as a prototype for the new directory
 structure. I didn't bother to touch the existing stuff.

 I see.

 --- /dev/null
 +++ b/spl/Makefile
 @@ -0,0 +1,94 @@
 +#
 +# (C) Copyright 2011 Daniel Schwierzeck, 
 daniel.schwierz...@googlemail.com.

 Really???

 I copied Daniel's Makefile and started from there.

 I guess the only real part that was left from the old file is the GPL
 header...

 As Mike mentioned, we can eventually directly include the OBJSs here
 and omit the building of libraries?

 I can't seem to find a mail from Mike on this thread. Did I miss any
 mail?

 I can find it either.  I don't know what I had in mind then.

 Do you mean re-using equivalent libraries from the normal U-Boot
 without re-compiling them?

 There are actually two different topics here:

 - The first is how to link all the objects in the spl/ tree together.
As I understand, you proposal was to link all objects in each of the
subdirectories into a library, and then link all the libraries
together.

Instead of doing this, we could as well just maintain a list of
objects and then link all these together directly, without creating
libraries first.


Is this like a make variable that keeps accumulating objects
from sub-directories? If so, is that through a *.mk at each level and
including all these *.mk at the top level Makefile. Or is there some 
other idea?

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


[U-Boot] [PATCHv2] omap3evm: Update ethernet reset sequence for Rev.G board

2011-06-27 Thread Sanjeev Premi
From: Sriramakrishnan s...@ti.com

The GPIO pin used for resetting the external LAN chip has
changed for Rev.G board.

The patch uses generic gpio API instead of direct access
to corresponding registers.

Signed-off-by: Sriramakrishnan s...@ti.com
Signed-off-by: Sanjeev Premi pr...@ti.com
---

 Changes since v1:
 * Use of gpio API instead of direct register access.

 Tested basic ethernet operations - dhcp and tftpboot - on the
 OMAP3EVM Rev G to load kernel and ramdisk images.

 board/ti/evm/evm.c |   35 ++-
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index 8f9f141..2c95fae 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -33,10 +33,14 @@
 #include asm/arch/mem.h
 #include asm/arch/mux.h
 #include asm/arch/sys_proto.h
+#include asm/arch/gpio.h
 #include i2c.h
 #include asm/mach-types.h
 #include evm.h
 
+#define OMAP3EVM_GPIO_ETH_RST_GEN1 64
+#define OMAP3EVM_GPIO_ETH_RST_GEN2 7
+
 DECLARE_GLOBAL_DATA_PTR;
 
 static u32 omap3_evm_version;
@@ -181,17 +185,30 @@ static void setup_net_chip(void)
  */
 static void reset_net_chip(void)
 {
-   struct gpio *gpio3_base = (struct gpio *)OMAP34XX_GPIO3_BASE;
-
-   /* Make GPIO 64 as output pin */
-   writel(readl(gpio3_base-oe)  ~(GPIO0), gpio3_base-oe);
-
-   /* Now send a pulse on the GPIO pin */
-   writel(GPIO0, gpio3_base-setdataout);
+   int ret;
+   int rst_gpio;
+
+   if (get_omap3_evm_rev() == OMAP3EVM_BOARD_GEN_1) {
+   rst_gpio = OMAP3EVM_GPIO_ETH_RST_GEN1;
+   } else {
+   rst_gpio = OMAP3EVM_GPIO_ETH_RST_GEN2;
+   }
+
+   ret = omap_request_gpio(rst_gpio);
+   if (ret  0) {
+   printf(Unable to get GPIO %d\n, rst_gpio);
+   return ;
+   }
+
+   /* Configure as output */
+   omap_set_gpio_direction(rst_gpio, 0);
+
+   /* Send a pulse on the GPIO pin */
+   omap_set_gpio_dataout(rst_gpio, 1);
udelay(1);
-   writel(GPIO0, gpio3_base-cleardataout);
+   omap_set_gpio_dataout(rst_gpio, 0);
udelay(1);
-   writel(GPIO0, gpio3_base-setdataout);
+   omap_set_gpio_dataout(rst_gpio, 1);
 }
 
 int board_eth_init(bd_t *bis)
-- 
1.7.2.2

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Scott Wood
On Mon, 27 Jun 2011 11:27:31 +0200
Wolfgang Denk w...@denx.de wrote:

 Dear Ilya,
 
 In message loom.20110627t010402-...@post.gmane.org you wrote:
  
  I wonder why do we need this whole spl thing in the first place (well,
  surely I know what they are used for but why do we need a separate entity
  for this)? Isn't it just the same U-Boot in, well, very special 
  configuration
  (minimal set of drivers, no shell, etc)? Why do we need a whole shadow tree
  at spl/ instead of just providing the _configuration_?
 
 Good point.  Eventually we can  just add additional build rules for
 new object files (say, .splo instead of .o) ?

No need for new extensions -- we should be able to use the target
directory to influence rule selection.

-Scott

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Scott Wood
On Mon, 27 Jun 2011 11:36:33 +0200
Wolfgang Denk w...@denx.de wrote:

 Dear Aneesh,
 
 In message 4e080733.2030...@ti.com you wrote:
  
   I wonder why do we need this whole spl thing in the first place (well,
   surely I know what they are used for but why do we need a separate entity
   for this)? Isn't it just the same U-Boot in, well, very special 
   configuration
   (minimal set of drivers, no shell, etc)? Why do we need a whole shadow 
   tree
   at spl/ instead of just providing the _configuration_?
  
   Am I missing something?
  
  The reason is that the regular U-Boot is not configurable enough to
  build the extremely small images that should fit in internal RAM. The
  last time I attempted, I ended up getting an ~60KB image for
  OMAP4(that too without any of the hardware initialization I am adding
  in my SPL work).
 
 This statement does not make much sense to me.  If we can do it in the
 spl/ directory, we should be able to do it in any other directory as
 well.  The worst to happen is that we have to keep two setsof object
 files separated, but chosing a different suffix should be sufficient.

We do it in the spl/ directory by bypassing the normal makefile
config system, specifying a board-and-spl-specific list of objects instead.

It could of course be done with the standard config system, but it will
require that every bit of code in U-Boot be enabled only with a particular
config option -- no always on code.  This would be a good thing anyway,
but it will take some work to do it cleanly.  A first step would probably
be a global finegrained/small flag that configs use to opt into the
new system, but eventually all bits of functionality should have
appropriate individual config symbols.

-Scott

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


Re: [U-Boot] [PATCH] smc911x MII made available

2011-06-27 Thread Mike Frysinger
On Monday, June 27, 2011 03:22:03 helmut.rai...@hale.at wrote:
 From: Helmut Raiger helmut.rai...@hale.at
 
 The driver already had the MII functions, but they have not been
 registered using miiphy_register().

missing signed-off-by tag

 +static int mii_phy_read(char *devname, u8 phy, u8 reg, u16 *val)

this name is already in common name space in mii_phy.h.  all driver funcs 
really should be prefixed anyways.  so perhaps:
smc911x_mii_phy_read
-mike


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


[U-Boot] [PATCH] powerpc/mpc85xx: Display a warning for unsupported DDR data rates

2011-06-27 Thread York Sun
If DDR initialziation uses a speed table and the speed is not matched, print
a warning message instead of silently ignoring.

Signed-off-by: York Sun york...@freescale.com
---
 board/freescale/corenet_ds/ddr.c  |6 ++
 board/freescale/mpc8572ds/ddr.c   |8 
 board/freescale/mpc8641hpcn/ddr.c |5 +
 board/freescale/p2020ds/ddr.c |6 ++
 board/xes/xpedite550x/ddr.c   |6 ++
 5 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/board/freescale/corenet_ds/ddr.c b/board/freescale/corenet_ds/ddr.c
index f2b716d..a184592 100644
--- a/board/freescale/corenet_ds/ddr.c
+++ b/board/freescale/corenet_ds/ddr.c
@@ -192,10 +192,16 @@ void fsl_ddr_board_options(memctl_options_t *popts,
popts-clk_adjust = pbsp-clk_adjust;
popts-wrlvl_start = pbsp-wrlvl_start;
popts-twoT_en = pbsp-force_2T;
+   break;
}
pbsp++;
}
 
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
+
/*
 * Factors to consider for half-strength driver enable:
 *  - number of DIMMs installed
diff --git a/board/freescale/mpc8572ds/ddr.c b/board/freescale/mpc8572ds/ddr.c
index ab471af..adcbd58 100644
--- a/board/freescale/mpc8572ds/ddr.c
+++ b/board/freescale/mpc8572ds/ddr.c
@@ -104,7 +104,6 @@ void fsl_ddr_board_options(memctl_options_t *popts,
u32 num_params;
u32 i;
ulong ddr_freq;
-   int matched = 0;
 
if (!pdimm-n_ranks)
return;
@@ -151,14 +150,15 @@ void fsl_ddr_board_options(memctl_options_t *popts,
popts-cpo_override = pbsp-cpo;
popts-write_data_delay = pbsp-write_data_delay;
popts-twoT_en = pbsp-force_2T;
-   matched = 1;
break;
}
pbsp++;
}
 
-   if (!matched)
-   printf(Warning: board specific timing not found!\n);
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
 
/*
 * Factors to consider for half-strength driver enable:
diff --git a/board/freescale/mpc8641hpcn/ddr.c 
b/board/freescale/mpc8641hpcn/ddr.c
index bd0b299..4f2e853 100644
--- a/board/freescale/mpc8641hpcn/ddr.c
+++ b/board/freescale/mpc8641hpcn/ddr.c
@@ -127,6 +127,11 @@ void fsl_ddr_board_options(memctl_options_t *popts,
}
}
 
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
+
/* 2T timing enable */
popts-twoT_en = 1;
 }
diff --git a/board/freescale/p2020ds/ddr.c b/board/freescale/p2020ds/ddr.c
index 9bf7d2f..926fd19 100644
--- a/board/freescale/p2020ds/ddr.c
+++ b/board/freescale/p2020ds/ddr.c
@@ -83,10 +83,16 @@ void fsl_ddr_board_options(memctl_options_t *popts,
popts-cpo_override = pbsp-cpo;
popts-write_data_delay = pbsp-write_data_delay;
popts-twoT_en = pbsp-force_2T;
+   break;
}
pbsp++;
}
 
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
+
/*
 * Factors to consider for half-strength driver enable:
 *  - number of DIMMs installed
diff --git a/board/xes/xpedite550x/ddr.c b/board/xes/xpedite550x/ddr.c
index 3b6e08b..8031a34 100644
--- a/board/xes/xpedite550x/ddr.c
+++ b/board/xes/xpedite550x/ddr.c
@@ -125,10 +125,16 @@ void fsl_ddr_board_options(memctl_options_t *popts,
popts-clk_adjust = pbsp-clk_adjust;
popts-cpo_override = pbsp-cpo;
popts-twoT_en = 0;
+   break;
}
pbsp++;
}
 
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
+
/*
 * Factors to consider for half-strength driver enable:
 *  - number of DIMMs installed
-- 
1.7.0.4


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


[U-Boot] [PATCH] powerpc/mpc8xxx: fix DDR data width checking

2011-06-27 Thread York Sun
Checking width before setting DDR controller. SPD for DDR1 and DDR2 has data
width and primary sdram width. The latter one has different meaning for DDR3.

Signed-off-by: York Sun york...@freescale.com
---
 arch/powerpc/cpu/mpc8xxx/ddr/options.c |   35 ---
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/options.c 
b/arch/powerpc/cpu/mpc8xxx/ddr/options.c
index 02efe58..bd9c466 100644
--- a/arch/powerpc/cpu/mpc8xxx/ddr/options.c
+++ b/arch/powerpc/cpu/mpc8xxx/ddr/options.c
@@ -423,14 +423,33 @@ unsigned int populate_memctl_options(int 
all_DIMMs_registered,
 * presuming all dimms are similar
 * 0 = 64-bit, 1 = 32-bit, 2 = 16-bit
 */
-   if (pdimm[0].primary_sdram_width == 64)
-   popts-data_bus_width = 0;
-   else if (pdimm[0].primary_sdram_width == 32)
-   popts-data_bus_width = 1;
-   else if (pdimm[0].primary_sdram_width == 16)
-   popts-data_bus_width = 2;
-   else
-   panic(Error: invalid primary sdram width!\n);
+#if defined(CONFIG_FSL_DDR1) || defined(CONFIG_FSL_DDR2)
+   if (pdimm[0].n_ranks != 0) {
+   if ((pdimm[0].data_width = 64)  \
+   (pdimm[0].data_width = 72))
+   popts-data_bus_width = 0;
+   else if ((pdimm[0].data_width = 32) || \
+   (pdimm[0].data_width = 40))
+   popts-data_bus_width = 1;
+   else {
+   panic(Error: data width %u is invalid!\n,
+   pdimm[0].data_width);
+   }
+   }
+#else
+   if (pdimm[0].n_ranks != 0) {
+   if (pdimm[0].primary_sdram_width == 64)
+   popts-data_bus_width = 0;
+   else if (pdimm[0].primary_sdram_width == 32)
+   popts-data_bus_width = 1;
+   else if (pdimm[0].primary_sdram_width == 16)
+   popts-data_bus_width = 2;
+   else {
+   panic(Error: primary sdram width %u is invalid!\n,
+   pdimm[0].primary_sdram_width);
+   }
+   }
+#endif
 
/* Choose burst length. */
 #if defined(CONFIG_FSL_DDR3)
-- 
1.7.0.4


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


[U-Boot] [PATCH] powerpc/corenet_ds: Fix RCW overriding for RDIMM

2011-06-27 Thread York Sun
Allow overriding RCW for all RDIMM, not only quad-rank ones.

Signed-off-by: York Sun york...@freescale.com
---
 board/freescale/corenet_ds/ddr.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/board/freescale/corenet_ds/ddr.c b/board/freescale/corenet_ds/ddr.c
index 98024c7..f2b716d 100644
--- a/board/freescale/corenet_ds/ddr.c
+++ b/board/freescale/corenet_ds/ddr.c
@@ -219,7 +219,7 @@ void fsl_ddr_board_options(memctl_options_t *popts,
popts-ddr_cdr1 = DDR_CDR1_DHC_EN;
 
/* override SPD values. rcw_2 should vary at differnt speed */
-   if (pdimm[0].n_ranks == 4) {
+   if (pdimm[0].registered_dimm == 1) {
popts-rcw_override = 1;
popts-rcw_1 = 0x000a5a00;
if (ddr_freq = 800)
-- 
1.7.0.4


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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Daniel,

In message BANLkTin-s=wznptu8ej7s_gz9hrrv-p...@mail.gmail.com you wrote:
 
  Good point.   Eventually we can   just add additional build rules for
  new object files (say, .splo instead of .o) ?

 I agree this approach seems to be the best one.
 But then we have to create SPL-specific libraries too, right?
 (e.g. lib$(ARCH).splo, lib$(CPU).splo)

Not necessarily.  We might instead just link the object files we
build.

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
This is a test of the Emergency Broadcast System. If this had been an
actual emergency, do you really think we'd stick around to tell you?
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Aneesh V,

In message 4e089a25.4050...@ti.com you wrote:
 
 Instead of doing this, we could as well just maintain a list of
 objects and then link all these together directly, without creating
 libraries first.
 
 Is this like a make variable that keeps accumulating objects
 from sub-directories? If so, is that through a *.mk at each level and
 including all these *.mk at the top level Makefile. Or is there some 
 other idea?

Well, if we do it right and build only such objects we actually need
for the target binary, we might not need any explicit rules at all and
instead just use file globbing to link all objects we find.

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 express preference for a chronological  sequence  of  events  which
precludes a violence.   - Terry Pratchett, _The Dark Side of the Sun_
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Scott Wood,

In message 20110627133435.31cd3...@schlenkerla.am.freescale.net you wrote:

  Good point.  Eventually we can  just add additional build rules for
  new object files (say, .splo instead of .o) ?
 
 No need for new extensions -- we should be able to use the target
 directory to influence rule selection.

But if we do not create a new hierarchy of target directories we will
have the normal and the spl objects in parallel (and I don't want
to delete one when building the other).

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
Karl's version of Parkinson's Law: Work expands to  exceed  the  time
alloted it.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Scott Wood,

In message 20110627134205.021af...@schlenkerla.am.freescale.net you wrote:

  This statement does not make much sense to me.  If we can do it in the
  spl/ directory, we should be able to do it in any other directory as
  well.  The worst to happen is that we have to keep two setsof object
  files separated, but chosing a different suffix should be sufficient.
 
 We do it in the spl/ directory by bypassing the normal makefile
 config system, specifying a board-and-spl-specific list of objects instead.

We can provide such a board-and-spl-specific list of objects for the
spl code in the normal Makefiles as well.

 It could of course be done with the standard config system, but it will
 require that every bit of code in U-Boot be enabled only with a particular
 config option -- no always on code.  This would be a good thing anyway,
 but it will take some work to do it cleanly.  A first step would probably
 be a global finegrained/small flag that configs use to opt into the
 new system, but eventually all bits of functionality should have
 appropriate individual config symbols.

If we do it right, we will only build such objects in spl
configuration that are needed for the spl linking.  So we can start
with this finer control for spl initially, and then (later) extend it
for normal builds as well.

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 way to get rid of a temptation is to yield to it.
- Oscar Wilde
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Scott Wood
On Mon, 27 Jun 2011 22:50:46 +0200
Wolfgang Denk w...@denx.de wrote:

 Dear Scott Wood,
 
 In message 20110627133435.31cd3...@schlenkerla.am.freescale.net you wrote:
 
   Good point.  Eventually we can  just add additional build rules for
   new object files (say, .splo instead of .o) ?
  
  No need for new extensions -- we should be able to use the target
  directory to influence rule selection.
 
 But if we do not create a new hierarchy of target directories we will
 have the normal and the spl objects in parallel (and I don't want
 to delete one when building the other).

What's wrong with creating a new hierarchy of target directories?  It
would be like specifying a different output directory.

-Scott

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Scott Wood,

In message 20110627155535.4217b...@schlenkerla.am.freescale.net you wrote:

  But if we do not create a new hierarchy of target directories we will
  have the normal and the spl objects in parallel (and I don't want
  to delete one when building the other).
 
 What's wrong with creating a new hierarchy of target directories?  It
 would be like specifying a different output directory.

The question came up what we need it for.

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 haven't lost my mind - it's backed up on tape somewhere.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Scott Wood
On Mon, 27 Jun 2011 23:10:33 +0200
Wolfgang Denk w...@denx.de wrote:

 Dear Scott Wood,
 
 In message 20110627155535.4217b...@schlenkerla.am.freescale.net you wrote:
 
   But if we do not create a new hierarchy of target directories we will
   have the normal and the spl objects in parallel (and I don't want
   to delete one when building the other).
  
  What's wrong with creating a new hierarchy of target directories?  It
  would be like specifying a different output directory.
 
 The question came up what we need it for.

Just seems cleaner to me than jamming it into the file extension.  If we're
treating it as a separate build, it should go into a separate place.  It's
not really a different type of file.

-Scott

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Scott Wood,

In message 20110627161803.16783...@schlenkerla.am.freescale.net you wrote:

But if we do not create a new hierarchy of target directories we will
have the normal and the spl objects in parallel (and I don't want
to delete one when building the other).
   
   What's wrong with creating a new hierarchy of target directories?  It
   would be like specifying a different output directory.
  
  The question came up what we need it for.
 
 Just seems cleaner to me than jamming it into the file extension.  If we're
 treating it as a separate build, it should go into a separate place.  It's
 not really a different type of file.

I'm fine with that as well.

Best regards,

Wolfgang Denk

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Graeme Russ
Hi All,

Just thought I'd throw in a left-field idea...

Could we make the loading of U-Boot into a generic multi-stage framework
with each stage bootstrapping the next stage? OK, I know this is how IPL,
SPL etc work already, but I'm thinking something more formal and arch
independent.

I can think of three disctinct phases which are relatively commong across
most arch's (especially NAND Flash arches)

1) An intial page (say 256 bytes for example) which loads a second stage
   into the CPU's cache
2) A second phase running in the CPU cache which initialises SDRAM and
   loads the remainder into main memory (performs relocations etc)
3) A final phase which is U-Boot proper, running at the final target
   address in SDRAM

Now what I'm thinking is that if we formalise these loader stages, we
could actually add a little more flexibility by, say, allowing the final
U-Boot binary to reside on a file-system. And even break the final binary
up into smaller 'run-once-and-discard' chunks. For example, a lot of the
low level init is only ever done once, but it stays in SDRAM as a
permanent piece of the U-Boot image - What if the second stage loader
could instead load an low-level init blob and run it before loading the
final U-Boot blob?

This then opens the door for all sort of options - What if U-Boot commands
were build into stand-alone binary blobs and only loaded when needed. Same
with device drivers

So a lot of what is now build-time configuration could be reduced to
run-time configuration

Just a few wild ideas...

Regards,

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


Re: [U-Boot] [PATCH v4 0/9] armv7: cache maintenance operations

2011-06-27 Thread Minkyu Kang
On 24 June 2011 04:24, Paulraj, Sandeep s-paul...@ti.com wrote:



 Hi All,

 Le 17/06/2011 11:30, Aneesh V a écrit :
  With D-cache and MMU enabled for ARM in u-boot it becomes imperative to
  support a minimal set of cache maintenance operations and necessary
  initializations before enabling MMU.
 
  This series of patches attempt to do the following for armv7:
  * Necessary initialization sequence before enabling MMU that includes
     invalidation of TLB, data caches, branch predictor array etc.
  * Framework for supporting SOC specific outer caches in a generic manner
     (using a structure of function pointers - inspired by the Linux
     implementation)
  * Generic armv7 cache maintenance operations for caches known to the CPU
  * Support for ARM PL310 L2 cache controller used in OMAP4
  * Cleanup of the cleanup_before_linux() function
  * Adapting all armv7 SOCs to use the new framework and removing
     duplicated code

 Sandeep, Minkyu: is the patch series OK with you? If so I'll pull it all
 in ARM and issue a last pull request.

 Amicalement,
 --
 Albert.

 I am fine with it.

 Acked-by: Sandeep Paulraj s-paul...@ti.com


Acked-by: Minkyu Kang mk7.k...@samsung.com

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


Re: [U-Boot] SPL framework re-design

2011-06-27 Thread Wolfgang Denk
Dear Graeme Russ,

In message banlktinapvrprepfnsoypjertu6hzga...@mail.gmail.com you wrote:
 
 I can think of three disctinct phases which are relatively commong across
 most arch's (especially NAND Flash arches)
 
 1) An intial page (say 256 bytes for example) which loads a second stage
into the CPU's cache
 2) A second phase running in the CPU cache which initialises SDRAM and
loads the remainder into main memory (performs relocations etc)
 3) A final phase which is U-Boot proper, running at the final target
address in SDRAM

The thing is that we have many different architectures, and NAND
booting systems are just one configuration out of many.

Depending on your architecture, the initialization of the RAM may be
semi-automatic (with just very few parameters needed), or data-driven
(you have to provide some magic data blob that gets interpreted by
some ROM code), or completely manual (where you have to pay close
attentian to insert the correct N microseconds delay here and there in
your code, as required by the RAM data sheet).

If you look back at the trouble reports from people who ported U-Boot
(and Linux) to their platforms you can see that RAM initialization
problems have always been a major problem area.

This experience, collected over many years, has led to the design we
have now:
http://www.denx.de/wiki/view/U-Boot/DesignPrinciples#6_Keep_it_Debuggable

Having debug output on the console as soon as possible is a pretty
important design goal; if technically possible, we do want to have
debug output long before initializing the RAM.  Unfortunately, this
pulls in a lot of dependencies: bigger parts of the code like printf()
and friends, access to the environment (to read the baudrate settings,
etc.)

 Now what I'm thinking is that if we formalise these loader stages, we
 could actually add a little more flexibility by, say, allowing the final
 U-Boot binary to reside on a file-system. And even break the final binary
 up into smaller 'run-once-and-discard' chunks. For example, a lot of the
 low level init is only ever done once, but it stays in SDRAM as a
 permanent piece of the U-Boot image - What if the second stage loader
 could instead load an low-level init blob and run it before loading the
 final U-Boot blob?

You would most probably lose the capability to have early debug
messages.

 This then opens the door for all sort of options - What if U-Boot commands
 were build into stand-alone binary blobs and only loaded when needed. Same
 with device drivers

Device drivers clearly need a rework.  But I'm not sure if dynamic
loading is as easy as you imagine it - we have a large number of
architectures here, and you need some support (drivers, file system
[or other structured storage space]) to koads objects from external
storage.

 So a lot of what is now build-time configuration could be reduced to
 run-time configuration

It sounds like a nice idea, but I fear there are a lots of devils in
the details.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
A memorandum is written not to inform the reader, but to protect  the
writer.   -- Dean Acheson
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Pull request: u-boot-arm/master

2011-06-27 Thread Albert ARIBAUD
Hi Wolfgang,

The following changes since commit 9623c158f6a5150a21c25026bfba79e7ff7912f5:

   Merge branch 'master' of git://git.denx.de/u-boot-arm (2011-06-23 
15:37:33 +0200)

are available in the git repository at:

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

Aneesh V (9):
   arm: make default implementation of cache_flush() weakly linked
   armv7: cache maintenance operations for armv7
   armv7: rename cache related CONFIG flags
   armv7: integrate cache maintenance support
   arm: minor fixes for cache and mmu handling
   armv7: add PL310 support to u-boot
   armv7: adapt omap4 to the new cache maintenance framework
   armv7: adapt omap3 to the new cache maintenance framework
   armv7: adapt s5pc1xx to the new cache maintenance framework

  README|   11 +
  arch/arm/cpu/arm1136/start.S  |4 +-
  arch/arm/cpu/armv7/Makefile   |2 +-
  arch/arm/cpu/armv7/cache_v7.c |  394 
+
  arch/arm/cpu/armv7/cpu.c  |   50 ++--
  arch/arm/cpu/armv7/omap3/Makefile |1 -
  arch/arm/cpu/armv7/omap3/board.c  |  136 --
  arch/arm/cpu/armv7/omap3/cache.S  |  263 -
  arch/arm/cpu/armv7/omap3/lowlevel_init.S  |   32 ++
  arch/arm/cpu/armv7/omap4/board.c  |   12 +
  arch/arm/cpu/armv7/omap4/lowlevel_init.S  |9 +
  arch/arm/cpu/armv7/s5pc1xx/cache.S|   88 +-
  arch/arm/cpu/armv7/start.S|   18 +-
  arch/arm/include/asm/arch-omap3/omap3.h   |   20 ++
  arch/arm/include/asm/arch-omap3/sys_proto.h   |   10 +-
  arch/arm/include/asm/arch-omap4/sys_proto.h   |2 +-
  arch/arm/include/asm/arch-s5pc1xx/sys_proto.h |3 -
  arch/arm/include/asm/armv7.h  |   67 +
  arch/arm/include/asm/global_data.h|2 +-
  arch/arm/include/asm/pl310.h  |   73 +
  arch/arm/include/asm/utils.h  |   56 
  arch/arm/lib/Makefile |3 +-
  arch/arm/lib/board.c  |8 +-
  arch/arm/lib/cache-cp15.c |   22 +-
  arch/arm/lib/cache-pl310.c|  115 +++
  arch/arm/lib/cache.c  |   20 +-
  board/armltd/integrator/split_by_variant.sh   |8 +-
  common/cmd_bdinfo.c   |2 +-
  include/common.h  |5 +-
  include/configs/B2.h  |3 +-
  include/configs/assabet.h |2 +-
  include/configs/ca9x4_ct_vxp.h|2 +-
  include/configs/cerf250.h |2 +-
  include/configs/cradle.h  |2 +-
  include/configs/csb226.h  |2 +-
  include/configs/dnp1110.h |2 +-
  include/configs/efikamx.h |2 +-
  include/configs/evb4510.h |3 +-
  include/configs/gcplus.h  |2 +-
  include/configs/innokom.h |2 +-
  include/configs/jornada.h |2 +-
  include/configs/lart.h|2 +-
  include/configs/lubbock.h |2 +-
  include/configs/mx51evk.h |2 +-
  include/configs/mx53evk.h |2 +-
  include/configs/omap4_panda.h |8 +-
  include/configs/omap4_sdp4430.h   |8 +-
  include/configs/pleb2.h   |2 +-
  include/configs/pxa255_idp.h  |2 +-
  include/configs/s5pc210_universal.h   |2 +-
  include/configs/shannon.h |2 +-
  include/configs/tegra2-common.h   |2 +-
  include/configs/trizepsiv.h   |2 +-
  include/configs/vision2.h |2 +-
  include/configs/xaeniax.h |2 +-
  include/configs/xm250.h   |2 +-
  include/configs/zylonite.h|2 +-
  57 files changed, 1048 insertions(+), 458 deletions(-)
  create mode 100644 arch/arm/cpu/armv7/cache_v7.c
  delete mode 100644 arch/arm/cpu/armv7/omap3/cache.S
  create mode 100644 arch/arm/include/asm/armv7.h
  create mode 100644 arch/arm/include/asm/pl310.h
  create mode 100644 arch/arm/include/asm/utils.h
  create mode 100644 arch/arm/lib/cache-pl310.c

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


Re: [U-Boot] [PATCH v4 0/9] armv7: cache maintenance operations

2011-06-27 Thread Albert ARIBAUD
Le 17/06/2011 11:30, Aneesh V a écrit :
 With D-cache and MMU enabled for ARM in u-boot it becomes imperative to
 support a minimal set of cache maintenance operations and necessary
 initializations before enabling MMU.

 This series of patches attempt to do the following for armv7:
 * Necessary initialization sequence before enabling MMU that includes
invalidation of TLB, data caches, branch predictor array etc.
 * Framework for supporting SOC specific outer caches in a generic manner
(using a structure of function pointers - inspired by the Linux
implementation)
 * Generic armv7 cache maintenance operations for caches known to the CPU
 * Support for ARM PL310 L2 cache controller used in OMAP4
 * Cleanup of the cleanup_before_linux() function
 * Adapting all armv7 SOCs to use the new framework and removing
duplicated code

 Testing:
 * Extensive testing on OMAP4430SDP and OMAP3430SDP by creating coherency
issues and solving them using the maintenance routines
   - Eg: memfill a region of memory with a known pattern
   - Invalidate the region
   - Read back and compare the region with the original pattern
   - If match fails it means that invalidate is successful
   - Now add a flush call just before the invalidate
   - If match succeeds it means that flush was successful
   - Outer caches were tested with experiments involving making the
 function pointers NULL
 * Kernel booting on OMAP4430SDP and OMAP3430SDP
 Note: v2 has been tested only on OMAP4430SDP

 V2:
 * Pointer based callback mechanism for outer cache operations
changed to a weakly linked functions.
 * Change -march=armv7-a back to armv5
 * Moved utility macros out of armv7.h
 * Added documentation for new CONFIG options.
 * Changed implementation of log2n to not use CLZ instruction as armv4
doesn't support this instruction and newly added Tegra2 uses
-march=armv4
 * Blank line after local variable declarations - fixed globally
 * Explicitly added an empty flush_cache() under
#ifdef CONFIG_SYS_NO_DCACHE
 * Removed the print inside the weakly linked stub function -
__arm_init_before_mmu
 * Fixed signature of flush_cache in cache.c
 * More descriptive commit message for the PL310 support patch
 * C struct for PL310 register accesses
 * Fixed white space issues

 V3:
 * Rebased to latest HEAD of master
 * Added comments on changes done in V2 in individual patch headers. This
was missing in V2

 V4:
 * Removed bit field manipulation macros
 * Renamed CONFIG_SYS_NO_*CACHE flags to CONFIG_SYS_*CACHE_OFF globally

 Aneesh V (9):
arm: make default implementation of cache_flush() weakly linked
armv7: cache maintenance operations for armv7
armv7: rename cache related CONFIG flags
armv7: integrate cache maintenance support
arm: minor fixes for cache and mmu handling
armv7: add PL310 support to u-boot
armv7: adapt omap4 to the new cache maintenance framework
armv7: adapt omap3 to the new cache maintenance framework
armv7: adapt s5pc1xx to the new cache maintenance framework

   README |   11 +
   arch/arm/cpu/arm1136/start.S   |4 +-
   arch/arm/cpu/armv7/Makefile|2 +-
   arch/arm/cpu/armv7/cache_v7.c  |  394 
 
   arch/arm/cpu/armv7/cpu.c   |   50 +--
   arch/arm/cpu/armv7/omap3/Makefile  |1 -
   arch/arm/cpu/armv7/omap3/board.c   |  136 ++-
   arch/arm/cpu/armv7/omap3/cache.S   |  263 -
   arch/arm/cpu/armv7/omap3/lowlevel_init.S   |   32 ++
   arch/arm/cpu/armv7/omap4/board.c   |   12 +
   arch/arm/cpu/armv7/omap4/lowlevel_init.S   |9 +
   arch/arm/cpu/armv7/s5pc1xx/cache.S |   88 +
   arch/arm/cpu/armv7/start.S |   18 +-
   arch/arm/include/asm/arch-omap3/omap3.h|   20 +
   arch/arm/include/asm/arch-omap3/sys_proto.h|   10 +-
   arch/arm/include/asm/arch-omap4/sys_proto.h|2 +-
   arch/arm/include/asm/arch-s5pc1xx/sys_proto.h  |3 -
   arch/arm/include/asm/armv7.h   |   67 
   arch/arm/include/asm/global_data.h |2 +-
   arch/arm/include/asm/pl310.h   |   73 
   .../omap4/lowlevel_init.S =  include/asm/utils.h}  |   51 ++-
   arch/arm/lib/Makefile  |3 +-
   arch/arm/lib/board.c   |8 +-
   arch/arm/lib/cache-cp15.c  |   22 +-
   arch/arm/lib/cache-pl310.c |  115 ++
   arch/arm/lib/cache.c   |   20 +-
   board/armltd/integrator/split_by_variant.sh|8 +-
   common/cmd_bdinfo.c|2 +-
   include/common.h   |5 +-