Re: [U-Boot] [PATCH] M28EVK: Fix build if CONFIG_CMD_NAND not selected

2012-01-11 Thread Stefano Babic
On 01/01/2012 05:28, Marek Vasut wrote:
 Signed-off-by: Marek Vasut marek.va...@gmail.com
 Cc: Wolfgang Denk w...@denx.de
 Cc: Stefano Babic sba...@denx.de
 ---
  include/configs/m28evk.h |4 +++-
  1 files changed, 3 insertions(+), 1 deletions(-)
 

Applied to u-boot-imx, thanks.

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] mx28: fix clearing of IRQs in power init

2012-01-11 Thread Stefano Babic
On 09/01/2012 21:22, Zach Sadecki wrote:
 There are 2 locations in the power init code for the mx28 where IRQs are not 
 being cleared because incorrect methods to clear those bits were being used.  
 This was causing my board to get stuck waiting for POWER_CTRL_VDD5V_DROOP_IRQ 
 to clear.  Using the correct method to clear the IRQs fixes it.
 
 Signed-off-by: Zach Sadecki z...@itwatchdogs.com
 Cc: Wolfgang Denk w...@denx.de
 Cc: Stefano Babic sba...@denx.de
 ---

Applied to u-boot-imx, thanks.

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 1/3] m28evk: Remove CONFIG_NET_MULTI option

2012-01-11 Thread Stefano Babic
On 10/01/2012 21:00, Fabio Estevam wrote:
 On Tue, Jan 10, 2012 at 5:57 PM, Marek Vasut marek.va...@gmail.com wrote:
 
 Acked-by: Marek Vasut marek.va...@gmail.com

 Though you should drop it from all other board files (hint: git grep
 CONFIG_NET_MULTI)
 
 Ok, will submit a patch for removing it from other board files.
 

Maybe it is worth to have a single patch dropping CONFIG_NET_MULTI from
all boards instead of single patches - I assume that the patchs's length
remains under the ML limit.

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 v3 3/3] config: Remove Blackfin CONFIG_DEPRECATED_SILENT_LINUX_CONSOLE

2012-01-11 Thread Wolfgang Denk
Dear Doug,

In message CAD=FV=Ui2Zww2bGT+QSjTg=k0v9bggsaxshrtsxoqypba9x...@mail.gmail.com 
you wrote:
 
 ...I'm still awaiting Wolfgang's suggestion for which of the following
 he'd like me to submit instead of this series:
 
 1. A stripped down version of the change to use malloc with the caveat
 that it's up to the user not to overrun any hardcoded limits in the
 kernel (I'm pretty sure that the kernel already has code to
 truncate--at least on most platforms).
 
 2. A version of the change to add a platform-specific
 COMMAND_LINE_SIZE to u-boot (keeping in sync with the kernel) with a
 fix in u-boot to never buffer overrun (changing behavior to truncate).

I have to admit that I have no clear opinion here yet.

The existing code is from a time when all architectures had a pretty
low limit on the command line size - IIRC even PPC had only 256 bytes
by then, hard coded.

I think we have two options:

1) Try not to exceed any limits imposed by the Linux kernel.
   Advantage: we can catch situations where the user overflows the
   limits and print an error message (IIRC this needs to be
   added), so the user gets aware of the pronlem.
   Disadvantage: we need to add architecture specific definitions for
   the command line size, and keep these in sync with any
   related changes to the Linux kernel.  We know in advance
   that this will not work really well.

2) We just make sure not to overwrite array bounds in U-Boot, and
   allow passing arbitrary sized buffers to the Linux kernel.
   Advantage: the code in U-Boot can be simple and clean
   Disadvantage: the resulting behaviour is not exactly user-friendly,
   as a silent truncation in the Linux kernel is probably hard
   to spot.

Hm...

I agree that the old code needs fixing.  I think it would be nice if
we could adapt U-Boot behaviour, but I fear that actually it cannot
work at all, as we don't know which Linux kernel version the user will
use, and what their limits might be.

So in the end 2) is probably the most sensible approach here.

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 100% MATTER  PRODUCT:  In  the  Unlikely  Event  That  This
Merchandise  Should  Contact  Antimatter  in Any Form, a Catastrophic
Explosion Will Result.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] imx: mx6q: add aipstz init for off platform periph

2012-01-11 Thread Stefano Babic
On 10/01/2012 11:52, Jason Liu wrote:
 Init peripheral access control register of AIPSTZ OPACRx:
 
 Buffer Writes(BW):  0 - not bufferable,
 Supervisor Protect(SP): 0 - not require supervisor privilege level for 
 accesses.
 Write Protect(WP):  0 - allows write accesses.
 Trusted Protect(TP):0 - allows unstrusted master
 
 Signed-off-by: Jason Liu jason@linaro.org
 Cc: Stefano Babic sba...@denx.de
 ---

Applied to u-boot-imx, thanks.

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 v4] i.mx: i.mx6q: add the initial support for i.mx6q Sabre Lite board

2012-01-11 Thread Stefano Babic
On 09/01/2012 08:04, Dirk Behme wrote:
 Hi Stefano,
 
 On 29.12.2011 17:34, Dirk Behme wrote:
 From: Jason Liu jason@linaro.org

 Add the initial support for Freescale i.MX6Q Sabre Lite board

 Signed-off-by: Dirk Behme dirk.be...@de.bosch.com
 Signed-off-by: Jason Liu jason@linaro.org
 CC: Eric Nelson eric.nel...@boundarydevices.com
 ---
 V4: Rebase board_mmc_getcd() against
 http://patchwork.ozlabs.org/patch/132398/
 This does mean that this patch needs that patch to be applied.
 
 The 'Change board_mmc_getcd() function prototype' patch is applied now:
 
 http://git.denx.de/?p=u-boot/u-boot-mmc.git;a=shortlog;h=refs/heads/master
 
 Can we go on and apply this patch [1] then, too?

Yes, now it is possible to merge your patch !

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 v4] i.mx: i.mx6q: add the initial support for i.mx6q Sabre Lite board

2012-01-11 Thread Stefano Babic
On 29/12/2011 17:34, Dirk Behme wrote:
 From: Jason Liu jason@linaro.org
 
 Add the initial support for Freescale i.MX6Q Sabre Lite board
 
 Signed-off-by: Dirk Behme dirk.be...@de.bosch.com
 Signed-off-by: Jason Liu jason@linaro.org
 CC: Eric Nelson eric.nel...@boundarydevices.com
 ---

Applied to u-boot-imx, thanks.

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 2/2 V2] Changes to move hawkboard to the new spl infrastructure.

2012-01-11 Thread Christian Riesch
Hello Sughosh,
I reviewed your patch and I agree with Heiko's comments. I am looking
forward to v3 :-)
Regards, Christian

On Wed, Jan 11, 2012 at 8:53 AM, Sughosh Ganu urwithsugh...@gmail.com wrote:
 hi Heiko,

 On Wed Jan 11, 2012 at 07:52:02AM +0100, Heiko Schocher wrote:
 Hello Sughosh,

 Sughosh Ganu wrote:
  This patch moves hawkboard to the new spl infrastructure from the
  older nand_spl one.
 
  Removed the hawkboard_nand_config build option -- The spl code now
  gets compiled with hawkboard_config, after building the main u-boot
  image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard
  to reflect the same.
 
  Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com
  Cc: Heiko Schocher h...@denx.de
  Cc: Christian Riesch christian.rie...@omicron.at
  Cc: Sudhakar Rajashekhara sudhakar@ti.com
  Cc: Tom Rini tr...@ti.com
  ---
 
 [...]
  diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
  b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
  index a532f8a..a4778b8 100644
  --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
  +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
  @@ -32,6 +32,7 @@
   #include asm/arch/emif_defs.h
   #include asm/arch/pll_defs.h
 
  +#if !defined(CONFIG_MACH_DAVINCI_HAWK)

 Please no board specific defines.

  Ok, will replace with the arch specific define that you suggest.


   void da850_waitloop(unsigned long loopcnt)
   {
      unsigned long   i;
  @@ -235,6 +236,7 @@ int da850_ddr_setup(void)
 
      return 0;
   }
  +#endif /* CONFIG_MACH_DAVINCI_HAWK */
 
   __attribute__((weak))
   void board_gpio_init(void)
  @@ -242,10 +244,6 @@ void board_gpio_init(void)
      return;
   }
 
  -/* pinmux_resource[] vector is defined in the board specific file */
  -extern const struct pinmux_resource pinmuxes[];
  -extern const int pinmuxes_size;
  -
   int arch_cpu_init(void)
   {
      /* Unlock kick registers */
  @@ -259,6 +257,7 @@ int arch_cpu_init(void)
      if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size))
              return 1;
 
  +#if defined(CONFIG_MACH_DAVINCI_DA850_EVM)

 here too. I propose here a CONFIG_SYS_DA850_PLL_INIT ...

  Ok.


      /* PLL setup */
      da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM);
      da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM);
  @@ -275,6 +274,12 @@ int arch_cpu_init(void)
   #endif
 
      lpsc_on(CONFIG_SYS_DA850_LPSC_UART);
  +
  +   da850_ddr_setup();

 and around the ddr_setup a CONFIG_SYS_DA850_DDR_INIT ...

  +#elif defined(CONFIG_MACH_DAVINCI_HAWK)
  +   da8xx_configure_lpsc_items(lpsc, lpsc_size);
  +#endif

 and we should use da8xx_configure_lpsc_items() for all da850 boards.

  Ok.


 This patch breaks current enbw_cmc board compile

 [hs@pollux u-boot]$ ./MAKEALL enbw_cmc
 Configuring for enbw_cmc board...
 enbw_cmc.c:52:35: error: static declaration of 'lpsc' follows non-static 
 declaration
 /work/hs/u-boot/include/asm/arch/da850_lowlevel.h:33:35: note: previous 
 declaration of 'lpsc' was here
 make[1]: *** [enbw_cmc.o] Fehler 1
 make: *** [board/enbw/enbw_cmc/libenbw_cmc.o] Fehler 2
 arm-linux-gnueabi-size: './u-boot': No such file

  Oops, sorry about that.

 snip

 diff --git a/include/configs/enbw_cmc.h b/include/configs/enbw_cmc.h
 index c427dc7..804846d 100644
 --- a/include/configs/enbw_cmc.h
 +++ b/include/configs/enbw_cmc.h
 @@ -48,6 +48,8 @@
  #define CONFIG_SKIP_LOWLEVEL_INIT
  #define CONFIG_DA850_LOWLEVEL
  #define CONFIG_ARCH_CPU_INIT
 +#define CONFIG_SYS_DA850_PLL_INIT
 +#define CONFIG_SYS_DA850_DDR_INIT

  I think we'll need to add this for da850evm.h too.

  #define CONFIG_DA8XX_GPIO
  #define CONFIG_HOSTNAME              enbw_cmc
  #define CONFIG_DISPLAY_CPUINFO
 --
 1.7.7.4

 [...]
  diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
  index a21d448..8e3a4d2 100644
  --- a/include/configs/cam_enc_4xx.h
  +++ b/include/configs/cam_enc_4xx.h
  @@ -205,6 +205,7 @@
 
   /* Defines for SPL */
   #define CONFIG_SPL
  +#define CONFIG_DM365_SPL

 Why we need this define?

  Yeah, missed out cleaning these defines that i had used in V1. Will
  clean up in next version for all the cases.

 -sughosh
 ___
 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] arm, davinci: Add support for the Calimain board from OMICRON electronics

2012-01-11 Thread Christian Riesch
Hello Heiko,

On Wed, Jan 11, 2012 at 8:21 AM, Heiko Schocher h...@denx.de wrote:
 Hello Christian,

 Christian Riesch wrote:
 This patch adds support for the Calimain board from
 OMICRON electronics GmbH. The board features a Texas Instruments AM1808
 SoC, 128 MB DDR2 memory, and 64 MB NOR flash memory connected to CS2 and
 CS3.

 Signed-off-by: Christian Riesch christian.rie...@omicron.at
[]
 Please look at my comment to the patch from Sughosh here:

 http://lists.denx.de/pipermail/u-boot/2012-January/115312.html

 da8xx_configure_lpsc_items() should used in
 arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c

 so you can remove this here ... Maybe you can have a look
 at this patch too?

Yes, I'll wait for v3 of Sughosh's patch and then resubmit.
Regards, Christian
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH V13 02/14] devkit8000: add config for spl command

2012-01-11 Thread Stefano Babic
From: Simon Schwarz simonschwarz...@googlemail.com

This adds some configs for devkit8000 to use the new spl command

Signed-off-by: Simon Schwarz simonschwarz...@gmail.com
CC: Tom Rini tom.r...@gmail.com
CC: Stefano Babic sba...@denx.de
CC: Wolfgang Denk w...@denx.de
---
V13: subject devki8000 must be devkit8000 (A. Biessmann)

V10 changes:
This is new in V10 was split from other patch

 include/configs/devkit8000.h |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index 758326b..d3ca0dd 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -356,4 +356,12 @@
 #define CONFIG_SYS_SPL_MALLOC_START0x80208000
 #define CONFIG_SYS_SPL_MALLOC_SIZE 0x10/* 1 MB */
 
+/* SPL OS boot options */
+#define CONFIG_CMD_SPL
+#define CONFIG_CMD_SPL_WRITE_SIZE   0x400 /* 1024 byte */
+#define CONFIG_CMD_SPL_NAND_OFS (CONFIG_SYS_NAND_SPL_KERNEL_OFFS+\
+   0x40)
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x28
+#define CONFIG_SYS_SPL_ARGS_ADDR(PHYS_SDRAM_1 + 0x100)
+
 #endif /* __CONFIG_H */
-- 
1.7.5.4

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


[U-Boot] [PATCH V13 04/14] devkit8000/spl: init GPMC for dm9000 in SPL

2012-01-11 Thread Stefano Babic
From: Simon Schwarz simonschwarz...@googlemail.com

Linux crashes if the GPMC isn't configured for the dm9000.

Signed-off-by: Simon Schwarz simonschwarz...@gmail.com
Signed-off-by: Stefano Babic sba...@denx.de
CC: Tom Rini tom.r...@gmail.com
CC: Stefano Babic sba...@denx.de
CC: Wolfgang Denk w...@denx.de
---
V2 changes:
nothing

V3 changes:
nothing

V4 changes:
noting

V5 changes:
nothing

V6 changes:
nothing

V7 changes:
FIX multiline comment style
(http://article.gmane.org/gmane.comp.boot-loaders.u-boot/113500)

V8 changes:
REBASE on u-boot

V9 changes:
nothing

V10 changes:
use enable_gpmc_cs_config to config the GPMC for dm9000

V13: Rebased on u-boot-ti (Simon Schwarz)

 arch/arm/include/asm/omap_common.h  |2 ++
 board/timll/devkit8000/devkit8000.c |   19 +++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/omap_common.h 
b/arch/arm/include/asm/omap_common.h
index 1ec651b..62200e5 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -87,6 +87,8 @@ u32 omap_boot_mode(void);
 /* SPL common function s*/
 void spl_parse_image_header(const struct image_header *header);
 void omap_rev_string(char *omap_rev_string);
+int spl_uboot_key(void);
+void spl_board_prepare_for_linux(void);
 
 /* NAND SPL functions */
 void spl_nand_load_image(void);
diff --git a/board/timll/devkit8000/devkit8000.c 
b/board/timll/devkit8000/devkit8000.c
index 10f189e..dded697 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -73,6 +73,13 @@ int board_init(void)
return 0;
 }
 
+/* Configure GPMC registers for DM9000 */
+static void gpmc_dm9000_config(void)
+{
+   enable_gpmc_cs_config(gpmc_net_config, gpmc_cfg-cs[6],
+   CONFIG_DM9000_BASE, GPMC_SIZE_16M);
+}
+
 /*
  * Routine: misc_init_r
  * Description: Configure board specific parts
@@ -144,6 +151,18 @@ int board_eth_init(bd_t *bis)
 }
 #endif
 
+#ifdef CONFIG_SPL_OS_BOOT
+/*
+ * Do board specific preperation before SPL
+ * Linux boot
+ */
+void spl_board_prepare_for_linux(void)
+{
+   gpmc_dm9000_config();
+}
+
+#endif
+
 /*
  * Routine: get_board_mem_timings
  * Description: If we use SPL then there is no x-loader nor config header
-- 
1.7.5.4

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


Re: [U-Boot] [PATCH 2/2 V2] Changes to move hawkboard to the new spl infrastructure.

2012-01-11 Thread Christian Riesch
Hello Heiko, Sughosh,

On Wed, Jan 11, 2012 at 7:52 AM, Heiko Schocher h...@denx.de wrote:
 please remove the da8xx_configure_lpsc_items() in board_gpio_init()
 in the ./board/enbw/enbw_cmc/enbw_cmc.c() file, and also move ...
 before I write here a lot of text, here the patch, based on yours,
 please add it to your patch, and add my

 Signed-off-by: Heiko Schocher h...@denx.de

 and tested on the enbw_cmc board, so:
 Tested-by: Heiko Schocher h...@denx.de

 to your patch, here the patch:

 diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
 b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 index a4778b8..a404916 100644
 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
[]
 -       lpsc_on(CONFIG_SYS_DA850_LPSC_UART);

Now we can also remove CONFIG_SYS_DA850_LPSC_UART from
include/configs/da850evm.h and include/configs/enbw_cmc.h.

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


Re: [U-Boot] [PATCH 2/2 V2] Changes to move hawkboard to the new spl infrastructure.

2012-01-11 Thread Heiko Schocher
Hello Christian,

Christian Riesch wrote:
 Hello Heiko, Sughosh,
 
 On Wed, Jan 11, 2012 at 7:52 AM, Heiko Schocher h...@denx.de wrote:
 please remove the da8xx_configure_lpsc_items() in board_gpio_init()
 in the ./board/enbw/enbw_cmc/enbw_cmc.c() file, and also move ...
 before I write here a lot of text, here the patch, based on yours,
 please add it to your patch, and add my

 Signed-off-by: Heiko Schocher h...@denx.de

 and tested on the enbw_cmc board, so:
 Tested-by: Heiko Schocher h...@denx.de

 to your patch, here the patch:

 diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
 b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 index a4778b8..a404916 100644
 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 []
 -   lpsc_on(CONFIG_SYS_DA850_LPSC_UART);
 
 Now we can also remove CONFIG_SYS_DA850_LPSC_UART from
 include/configs/da850evm.h and include/configs/enbw_cmc.h.

correct. Good catch!

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


Re: [U-Boot] [PATCH v3 3/3] ARMV7: Exynos4: Add support for TRATS board

2012-01-11 Thread Minkyu Kang
On 11 January 2012 13:00, Kim, Heungjun riverful@samsung.com wrote:
 Hi Minkyu Kang,


 On 2012년 01월 11일 11:35, Minkyu Kang wrote:

 Dear HeungJun, Kim,

 On 10 January 2012 18:00, HeungJun, Kimriverful@samsung.com  wrote:

 This patch adds support for Samsung TRATS board

 Signed-off-by: HeungJun, Kimriverful@samsung.com
 Signed-off-by: Kyungmin Parkkyungmin.p...@samsung.com
 ---
  MAINTAINERS                       |    4 +
  board/samsung/trats/Makefile      |   43 ++
  board/samsung/trats/trats.c       |  349 
  board/samsung/trats/trats_setup.h |  814
 +
  boards.cfg                        |    1 +
  include/configs/trats.h           |  216 ++
  6 files changed, 1427 insertions(+), 0 deletions(-)
  create mode 100644 board/samsung/trats/Makefile
  create mode 100644 board/samsung/trats/trats.c
  create mode 100644 board/samsung/trats/trats_setup.h
  create mode 100644 include/configs/trats.h

 diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c
 new file mode 100644
 index 000..9070df5
 --- /dev/null
 +++ b/board/samsung/trats/trats.c
 +void lowlevel_init(void)
 +{
 +       s5p_set_cpu_id();               /* For using Exynos's structures
 */
 +
 +       watchdog_disable();
 +
 +       clock_init();
 +       power_init();
 +}

One more...
I think.. we need to set GPIOs for UART select.
Please check old lowlevel_init function.

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] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option

2012-01-11 Thread Dirk Behme

On 10.01.2012 18:28, Fabio Estevam wrote:

Andy,

Any comment about this patch?

Without this patch we get corrupted SD cards after trying to store env
vars on several i.MX boards.


As this seems to hurt more and more i.MX guys, could we somehow get this 
applied asap (if there are no comments any more)?


Many thanks

Dirk


On Thu, Dec 29, 2011 at 9:54 AM, Fabio Estevam feste...@gmail.com wrote:

Kumar/Andy,

On Thu, Dec 29, 2011 at 7:47 AM, Stefano Babic sba...@denx.de wrote:

On 20/12/2011 17:33, Fabio Estevam wrote:

Since commit 97039ab98 (env_mmc: Allow board code to override the environment 
address)
mmc_get_env_addr is a weak-aliased function in common/env_mmc.c

The mmc_get_env_addr implementation that exists at
board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards,
but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC 
defined.

Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use
the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could 
activate
this config option on their board file.

This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards.

Signed-off-by: Fabio Estevam fabio.este...@freescale.com

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

Are you guys OK with this?

Regards,

Fabio Estevam

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


Re: [U-Boot] [PATCH v2 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs

2012-01-11 Thread Minkyu Kang
Dear Chander Kashyap,

On 9 January 2012 15:40, Chander Kashyap chander.kash...@linaro.org wrote:
 Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of
 SoCs. This patch adds the support for Exynos5.

 Signed-off-by: Chander Kashyap chander.kash...@linaro.org
 ---
 Changes for v2:
        - This patch was part of EXYNOS: Add SMDK5250 board support
        - Now it is seprated as SoC support.

  arch/arm/cpu/armv7/exynos/clock.c        |  209 +++-
  arch/arm/include/asm/arch-exynos/clock.h |  326 
 ++
  arch/arm/include/asm/arch-exynos/cpu.h   |   53 -
  arch/arm/include/asm/arch-exynos/gpio.h  |   32 +++
  4 files changed, 605 insertions(+), 15 deletions(-)

 diff --git a/arch/arm/include/asm/arch-exynos/cpu.h 
 b/arch/arm/include/asm/arch-exynos/cpu.h
 index 6d97b99..fd050b1 100644
 --- a/arch/arm/include/asm/arch-exynos/cpu.h
 +++ b/arch/arm/include/asm/arch-exynos/cpu.h
 @@ -22,6 +22,8 @@
  #ifndef _EXYNOS4_CPU_H
  #define _EXYNOS4_CPU_H

 +#define DEVICE_NOT_AVAILABLE           0
 +
  #define EXYNOS4_ADDR_BASE              0x1000

  /* EXYNOS4 */
 @@ -46,7 +48,31 @@
  #define EXYNOS4_ADC_BASE               0x1391
  #define EXYNOS4_PWMTIMER_BASE          0x139D
  #define EXYNOS4_MODEM_BASE             0x13A0
 -#define EXYNOS4_USBPHY_CONTROL          0x10020704
 +#define EXYNOS4_USBPHY_CONTROL         0x10020704
 +
 +/* EXYNOS5 */
 +#define EXYNOS5_PRO_ID                 0x1000
 +#define EXYNOS5_CLOCK_BASE             0x1001
 +#define EXYNOS5_POWER_BASE             0x1004
 +#define EXYNOS5_SWRESET                        0x10040400
 +#define EXYNOS5_SYSREG_BASE            0x1005
 +#define EXYNOS5_WATCHDOG_BASE          0x101D
 +#define EXYNOS5_GPIO_PART1_BASE                0x1140

just one part?
According to your patch, exynos5 support 20 banks of gpio right?
I think it's too small.
Please check.

 +#define EXYNOS5_MMC_BASE               0x1220
 +#define EXYNOS5_SROMC_BASE             0x1225
 +#define EXYNOS5_USBOTG_BASE            0x1248
 +#define EXYNOS5_USBPHY_BASE            0x1248
 +#define EXYNOS5_UART_BASE              0x12C0
 +#define EXYNOS5_PWMTIMER_BASE          0x12DD
 +#define EXYNOS5_DMC_CTRL_BASE          0x10DD
 +#define EXYNOS5_PHY0_CTRL_BASE         0x10C0
 +#define EXYNOS5_PHY1_CTRL_BASE         0x10C1

What are PHY0 and PHY1?

 +#define EXYNOS5_FIMD_BASE              0x1440

And please sort this list.

 +
 +#define EXYNOS5_ADC_BASE               DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_GPIO_PART2_BASE                DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_GPIO_PART3_BASE                DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_MODEM_BASE             DEVICE_NOT_AVAILABLE

  #ifndef __ASSEMBLY__
  #include asm/io.h
 @@ -59,9 +85,22 @@ static inline int s5p_get_cpu_rev(void)
        return s5p_cpu_rev;
  }

 +#define IS_SAMSUNG_TYPE(type, id)                      \
 +static inline int cpu_is_##type(void)                  \
 +{                                                      \
 +       return s5p_cpu_id == id ? 1 : 0;                \
 +}
 +
 +IS_SAMSUNG_TYPE(exynos4, 0xc210)
 +IS_SAMSUNG_TYPE(exynos5, 0xc520)
 +
  static inline void s5p_set_cpu_id(void)
  {
 -       s5p_cpu_id = readl(EXYNOS4_PRO_ID);
 +       if (cpu_is_exynos5())
 +               s5p_cpu_id = readl(EXYNOS5_PRO_ID);
 +       else
 +               s5p_cpu_id = readl(EXYNOS4_PRO_ID);

Hm.. this is right but,
Since base addresses are same, just do s5p_cpu_id = readl(EXYNOS4_PRO_ID);

 +
        s5p_cpu_id = (0xC000 | ((s5p_cpu_id  0x00FFF000)  12));

        /*
 @@ -76,19 +115,13 @@ static inline void s5p_set_cpu_id(void)
        }
  }

 -#define IS_SAMSUNG_TYPE(type, id)                      \
 -static inline int cpu_is_##type(void)                  \
 -{                                                      \
 -       return s5p_cpu_id == id ? 1 : 0;                \
 -}
 -
 -IS_SAMSUNG_TYPE(exynos4, 0xc210)

So.. no need to move.

 -
  #define SAMSUNG_BASE(device, base)                             \
  static inline unsigned int samsung_get_base_##device(void)     \
  {                                                              \
        if (cpu_is_exynos4())                                   \
                return EXYNOS4_##base;                          \
 +       else if (cpu_is_exynos5())                              \
 +               return EXYNOS5_##base;                          \
        else                                                    \
                return 0;                                       \
  }
 diff --git a/arch/arm/include/asm/arch-exynos/gpio.h 
 b/arch/arm/include/asm/arch-exynos/gpio.h
 index 9863a12..a5a09ec 100644
 --- a/arch/arm/include/asm/arch-exynos/gpio.h
 +++ b/arch/arm/include/asm/arch-exynos/gpio.h
 @@ -75,6 +75,29 @@ struct exynos4_gpio_part2 {
        struct s5p_gpio_bank x3;
  };

 +struct exynos5_gpio_part1 {
 +       struct 

Re: [U-Boot] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option

2012-01-11 Thread Stefano Babic
On 11/01/2012 10:53, Dirk Behme wrote:

 As this seems to hurt more and more i.MX guys, could we somehow get this
 applied asap (if there are no comments any more)?

The issue hurts i.MX, but the patch modifies some PowerPC boards. I
would like to get the ACK from PowerPC guys before merging into u-boot-imx.

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 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
   The current implementation invalidates the cache instead of flushing
   it. This causes problems on platforms where the spl/u-boot is already
   loaded to the RAM, with caches enabled by a first stage bootloader.
  
  What platforms are affected?
 
   It is causing a problem on the hawkboard, where the spl is loaded
   directly to the RAM by a rom bootloader. We did not see this earlier
   since cpu_init_crit was not getting called due to
   CONFIG_SKIP_LOWLEVEL_INIT.
 
 -sughosh

I see ... why don't you directly load U-Boot to DRAM then ?

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


Re: [U-Boot] [PATCH v2 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs

2012-01-11 Thread Chander Kashyap
Dear Minkyu Kang,

On 11 January 2012 15:41, Minkyu Kang proms...@gmail.com wrote:
 Dear Chander Kashyap,

 On 9 January 2012 15:40, Chander Kashyap chander.kash...@linaro.org wrote:
 Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of
 SoCs. This patch adds the support for Exynos5.

 Signed-off-by: Chander Kashyap chander.kash...@linaro.org
 ---
 Changes for v2:
        - This patch was part of EXYNOS: Add SMDK5250 board support
        - Now it is seprated as SoC support.

  arch/arm/cpu/armv7/exynos/clock.c        |  209 +++-
  arch/arm/include/asm/arch-exynos/clock.h |  326 
 ++
  arch/arm/include/asm/arch-exynos/cpu.h   |   53 -
  arch/arm/include/asm/arch-exynos/gpio.h  |   32 +++
  4 files changed, 605 insertions(+), 15 deletions(-)

 diff --git a/arch/arm/include/asm/arch-exynos/cpu.h 
 b/arch/arm/include/asm/arch-exynos/cpu.h
 index 6d97b99..fd050b1 100644
 --- a/arch/arm/include/asm/arch-exynos/cpu.h
 +++ b/arch/arm/include/asm/arch-exynos/cpu.h
 @@ -22,6 +22,8 @@
  #ifndef _EXYNOS4_CPU_H
  #define _EXYNOS4_CPU_H

 +#define DEVICE_NOT_AVAILABLE           0
 +
  #define EXYNOS4_ADDR_BASE              0x1000

  /* EXYNOS4 */
 @@ -46,7 +48,31 @@
  #define EXYNOS4_ADC_BASE               0x1391
  #define EXYNOS4_PWMTIMER_BASE          0x139D
  #define EXYNOS4_MODEM_BASE             0x13A0
 -#define EXYNOS4_USBPHY_CONTROL          0x10020704
 +#define EXYNOS4_USBPHY_CONTROL         0x10020704
 +
 +/* EXYNOS5 */
 +#define EXYNOS5_PRO_ID                 0x1000
 +#define EXYNOS5_CLOCK_BASE             0x1001
 +#define EXYNOS5_POWER_BASE             0x1004
 +#define EXYNOS5_SWRESET                        0x10040400
 +#define EXYNOS5_SYSREG_BASE            0x1005
 +#define EXYNOS5_WATCHDOG_BASE          0x101D
 +#define EXYNOS5_GPIO_PART1_BASE                0x1140

 just one part?
 According to your patch, exynos5 support 20 banks of gpio right?
 I think it's too small.
 Please check.
Yes this list is not complete. Only uart, srom and mmc gpio are listed.
I will Populate the list.

 +#define EXYNOS5_MMC_BASE               0x1220
 +#define EXYNOS5_SROMC_BASE             0x1225
 +#define EXYNOS5_USBOTG_BASE            0x1248
 +#define EXYNOS5_USBPHY_BASE            0x1248
 +#define EXYNOS5_UART_BASE              0x12C0
 +#define EXYNOS5_PWMTIMER_BASE          0x12DD
 +#define EXYNOS5_DMC_CTRL_BASE          0x10DD
 +#define EXYNOS5_PHY0_CTRL_BASE         0x10C0
 +#define EXYNOS5_PHY1_CTRL_BASE         0x10C1

 What are PHY0 and PHY1?
there are two DMC PHY control registers

 +#define EXYNOS5_FIMD_BASE              0x1440

 And please sort this list.
Ok

 +
 +#define EXYNOS5_ADC_BASE               DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_GPIO_PART2_BASE                DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_GPIO_PART3_BASE                DEVICE_NOT_AVAILABLE
 +#define EXYNOS5_MODEM_BASE             DEVICE_NOT_AVAILABLE

  #ifndef __ASSEMBLY__
  #include asm/io.h
 @@ -59,9 +85,22 @@ static inline int s5p_get_cpu_rev(void)
        return s5p_cpu_rev;
  }

 +#define IS_SAMSUNG_TYPE(type, id)                      \
 +static inline int cpu_is_##type(void)                  \
 +{                                                      \
 +       return s5p_cpu_id == id ? 1 : 0;                \
 +}
 +
 +IS_SAMSUNG_TYPE(exynos4, 0xc210)
 +IS_SAMSUNG_TYPE(exynos5, 0xc520)
 +
  static inline void s5p_set_cpu_id(void)
  {
 -       s5p_cpu_id = readl(EXYNOS4_PRO_ID);
 +       if (cpu_is_exynos5())
 +               s5p_cpu_id = readl(EXYNOS5_PRO_ID);
 +       else
 +               s5p_cpu_id = readl(EXYNOS4_PRO_ID);

 Hm.. this is right but,
 Since base addresses are same, just do s5p_cpu_id = readl(EXYNOS4_PRO_ID);
ok

 +
        s5p_cpu_id = (0xC000 | ((s5p_cpu_id  0x00FFF000)  12));

        /*
 @@ -76,19 +115,13 @@ static inline void s5p_set_cpu_id(void)
        }
  }

 -#define IS_SAMSUNG_TYPE(type, id)                      \
 -static inline int cpu_is_##type(void)                  \
 -{                                                      \
 -       return s5p_cpu_id == id ? 1 : 0;                \
 -}
 -
 -IS_SAMSUNG_TYPE(exynos4, 0xc210)

 So.. no need to move.
I got it

 -
  #define SAMSUNG_BASE(device, base)                             \
  static inline unsigned int samsung_get_base_##device(void)     \
  {                                                              \
        if (cpu_is_exynos4())                                   \
                return EXYNOS4_##base;                          \
 +       else if (cpu_is_exynos5())                              \
 +               return EXYNOS5_##base;                          \
        else                                                    \
                return 0;                                       \
  }
 diff --git a/arch/arm/include/asm/arch-exynos/gpio.h 
 b/arch/arm/include/asm/arch-exynos/gpio.h
 index 

Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Marek Vasut
 Hi Marek,
 
 Thanks for you review.
 
 On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote:
  From: Govindraj.R govindraj.r...@ti.com
  
  Clean up added ehci-omap.c and make it generic for re-use across
  soc having same ehci ip block. Also pass the modes to be configured
  and configure the ports accordingly. All usb layers are not cache
  aligned till then keep cache off for usb ops as ehci will use
  internally dma for all usb ops.
  
  * Add a generic common header ehci-omap.h having common ip block
data and reg shifts.
  * Rename and modify ehci-omap3 to ehci.h retain only conflicting
sysc reg shifts remove others and move to common header file.
  
  Don't reimplement the ulpi stuff ... there's already some ulpi stuff in
  uboot that needs fixing, so fix it and use it.
 
 I am not implementing any ulpi stuff I am just configuring OMAP on
 soc usb host controller (ehci). All the configuration stuff
 is OMAP specific things which are done in ehci-omap.c file
 
 stuffs done are like soft-reset, port mode to be used and putting
 port in no -idle mode(omap specific pm implementation) etc.
 

This stuff:

+/* ULPI */
+#define ULPI_SET(a)(a + 1)
+#define ULPI_CLR(a)(a + 2)
+#define ULPI_FUNC_CTRL 0x04
+#define ULPI_FUNC_CTRL_RESET   (1  5)

is just accidentally conforming to ULPI spec?

M

btw. somewhere in the patch is one more asterisk at the end of line:
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com*

[...]

  + /* perform TLL soft reset, and wait until reset is complete */
  + writel(OMAP_USBTLL_SYSCONFIG_SOFTRESET, usbtll-sysc);
  +
  + /* Wait for TLL reset to complete */
  + while (!(readl(usbtll-syss)  OMAP_USBTLL_SYSSTATUS_RESETDONE))
  
  Add timeout, fix globally
 
 Sorry I didn't get you here.
 
 The function uses a timeout value init and then same init
 value to used to poll for CONFIG_SYS_HZ time for reset to be
 done else prints timeout failure.

Ah sorry, I didn't notice. OK.
 
  + if (get_timer(init)  CONFIG_SYS_HZ) {
  + debug(OMAP EHCI error: timeout resetting TLL\n);
  + return -EL3RST;
  + }
  +
 
 [...]
 
  + /* setup ULPI bypass and burst configurations */
  + reg |= (OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN |
  + OMAP_UHH_HOSTCONFIG_INCR8_BURST_EN |
  + OMAP_UHH_HOSTCONFIG_INCR16_BURST_EN);
  + reg = ~OMAP_UHH_HOSTCONFIG_INCRX_ALIGN_EN;
  
  clrsetbits_le32 ?
 
 yes can be used.

Use where applicable
 
 --
 Thanks,
 Govindraj.R
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Govindraj
On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote:
 Hi Marek,

 Thanks for you review.

 On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote:
  From: Govindraj.R govindraj.r...@ti.com
 
  Clean up added ehci-omap.c and make it generic for re-use across
  soc having same ehci ip block. Also pass the modes to be configured
  and configure the ports accordingly. All usb layers are not cache
  aligned till then keep cache off for usb ops as ehci will use
  internally dma for all usb ops.
 
  * Add a generic common header ehci-omap.h having common ip block
    data and reg shifts.
  * Rename and modify ehci-omap3 to ehci.h retain only conflicting
    sysc reg shifts remove others and move to common header file.
 
  Don't reimplement the ulpi stuff ... there's already some ulpi stuff in
  uboot that needs fixing, so fix it and use it.

 I am not implementing any ulpi stuff I am just configuring OMAP on
 soc usb host controller (ehci). All the configuration stuff
 is OMAP specific things which are done in ehci-omap.c file

 stuffs done are like soft-reset, port mode to be used and putting
 port in no -idle mode(omap specific pm implementation) etc.


 This stuff:

 +/* ULPI */
 +#define ULPI_SET(a)                                    (a + 1)
 +#define ULPI_CLR(a)                                    (a + 2)
 +#define ULPI_FUNC_CTRL                                 0x04
 +#define ULPI_FUNC_CTRL_RESET                           (1  5)

 is just accidentally conforming to ULPI spec?


These are for configuring INSNREG05_ULPI reg in EHCI reg map
of omap while configuring in ulpi-phy mode.

looking into struct ulpi_regs {..}
then it doesn't map this configuration.

btw,
IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip
for communication.

 M

 btw. somewhere in the patch is one more asterisk at the end of line:

Will check that

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


Re: [U-Boot] [PATCH v7] net: ll_temac: Add LL TEMAC driver to u-boot

2012-01-11 Thread Michal Simek

Stephan Linz wrote:
Am Donnerstag, den 05.01.2012, 20:19 +0100 schrieb Wolfgang Denk: 

Dear Stephan Linz,

In message 1325783490.7827.45.camel@keto you wrote:

Michals latest Microblaze platform patches will enable this driver for
board/xilinx/microblaze-generic and we know about a success story on a
propietary Virtex5 FX board (ppc440) -- tested by Ricardo Ribalda.

-- snip --

 So I'll rework the driver and

present a new v8 patch as soon as possible.

OK.  Please submit it only if it comes with code that references the
driver.


Hi Wolfgang,

I understand your opinions to stick together all the different code
fragments. Unfortunately, this driver will be used by systems with
synthesized hardware (FPGA SoftCPU systems). The target board (hardware
around the FPGA) will be fixed but the content (CPU, controller, busses,
interfacess, addresses, ...) will be variable and not fixed. That's why
we use a so named microblaze-generic board configuration controlled by
the header xparameters.h in board directory. The default content of
xparameters.h is really only basic and enables not nearly half of all
possibilities. For example the default configuration in xparameters.h
will enable the Xilinx EMAC-Lite driver (with XILINX_EMACLITE_BASEADDR)
but do nothing to enable the Xilinx AXI-EMAC driver (with
XILINX_AXIEMAC_BASEADDR) -- it makes no sense to enable both at the same
time.


Every fpga system is different that's why I have created microblaze-generic 
board
and BSP generator to generate xparameters.h and config.mk for specific 
configurations.
Make no sense to create new board for every configuration.

The same arguments is valid for xilinx ppc405/ppc440 systems where I am still
don't like that there are avnet boards and maybe others.



I'll provide the same way for the Xilinx LL_TEMAC driver as for the
Xilinx AXI-EMAC driver. I prepare the microblaze-generic board code to
support all potential Ethernet drivers but leave out the specific usage.
You are right when you say that there is no code that refere to the new
driver code -- there are also no configuration for this. And yes we
adapt/change the xparameters.h out of mainline tree to enable the driver
code -- but I think, that is not really a out of tree port.

But what would be the best implementation for unspecified targets here?

@Michal: Is there anybody who use the current default configuration from
microblaze-generic/xparameters.h on a real FPGA system design? If not we
could expand xparameters.h with a fantasy configuration to enable all
potential drivers used on a Microblaze system. So we have a reference to
driver code and can test the rebuild again and again with a simple 'make
microblaze-generic'. What do you mean?


It is the same situation as is for axi-emac and even emaclite.
xparamters.h/config.mk are for any old platform which none uses it.

IMHO Stephan suggestion could work - enable all drivers in xparameters.h
and enable code compilation.
I can also extend my testing system to compile u-boot with ll_temac and
test it on qemu every day.

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Sughosh Ganu
On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote:
  On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
The current implementation invalidates the cache instead of flushing
it. This causes problems on platforms where the spl/u-boot is already
loaded to the RAM, with caches enabled by a first stage bootloader.
   
   What platforms are affected?
  
It is causing a problem on the hawkboard, where the spl is loaded
directly to the RAM by a rom bootloader. We did not see this earlier
since cpu_init_crit was not getting called due to
CONFIG_SKIP_LOWLEVEL_INIT.
  
  -sughosh
 
 I see ... why don't you directly load U-Boot to DRAM then ?

  The rom bootloader(rbl) uses a different ecc layout from the one
  used by the davinci nand driver(u-boot and linux). Using rbl to load
  the u-boot to dram would mean that i have to use the TI's external
  flashing utility every time i upgrade u-boot. Also, i would not be
  able to flash u-boot from the kernel.

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


Re: [U-Boot] [PATCH] net/eth.c: fix eth_write_hwaddr() to use dev-enetaddr as fall back

2012-01-11 Thread Dirk Behme

On 17.08.2011 08:22, Simon Glass wrote:

On Tue, Aug 16, 2011 at 10:33 PM, Eric Miao eric.m...@linaro.org wrote:

Ignore the return value of eth_getenv_enetaddr_by_index(), and if it
fails, fall back to use dev-enetaddr, which could be filled up by
the ethernet device driver.

Actually, this is the original behavior, and was later changed by
commit 48506a2cde2458fa1f8c5993afc98e5a4617e1d3.

Signed-off-by: Eric Miao eric.m...@linaro.org


Hi Eric,

I found this in u-boot-usb although the commit hash I saw was 7616e7850.


---
 net/eth.c |3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/eth.c b/net/eth.c
index a34fe59..c4fbe11 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -195,8 +195,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char 
*base_name,
   unsigned char env_enetaddr[6];
   int ret = 0;

-   if (!eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr))
-   return -1;
+   eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr);

   if (memcmp(env_enetaddr, \0\0\0\0\0\0, 6)) {
   if (memcmp(dev-enetaddr, \0\0\0\0\0\0, 6) 


Acked-by: Simon Glass s...@chromium.org


Ping.

Anybody likes to apply this? Or any new comments?

Many thanks and best regards

Dirk

P.S.: I add Wolfgang as he seems to have done the last commits to net/eth.c.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote:
   On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
 The current implementation invalidates the cache instead of
 flushing it. This causes problems on platforms where the
 spl/u-boot is already loaded to the RAM, with caches enabled by a
 first stage bootloader.

What platforms are affected?

 It is causing a problem on the hawkboard, where the spl is loaded
 directly to the RAM by a rom bootloader. We did not see this earlier
 since cpu_init_crit was not getting called due to
 CONFIG_SKIP_LOWLEVEL_INIT.
   
   -sughosh
  
  I see ... why don't you directly load U-Boot to DRAM then ?
 
   The rom bootloader(rbl) uses a different ecc layout from the one
   used by the davinci nand driver(u-boot and linux).

Can't you just tell the driver to use the correct ecc layout when flashing then?

   Using rbl to load
   the u-boot to dram would mean that i have to use the TI's external
   flashing utility every time i upgrade u-boot.

Not really, just adjust the NAND driver to handle this special case.

   Also, i would not be
   able to flash u-boot from the kernel.

I think it's possible though, right?

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


Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Marek Vasut
 On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote:
  Hi Marek,
  
  Thanks for you review.
  
  On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com wrote:
   From: Govindraj.R govindraj.r...@ti.com
   
   Clean up added ehci-omap.c and make it generic for re-use across
   soc having same ehci ip block. Also pass the modes to be configured
   and configure the ports accordingly. All usb layers are not cache
   aligned till then keep cache off for usb ops as ehci will use
   internally dma for all usb ops.
   
   * Add a generic common header ehci-omap.h having common ip block
 data and reg shifts.
   * Rename and modify ehci-omap3 to ehci.h retain only conflicting
 sysc reg shifts remove others and move to common header file.
   
   Don't reimplement the ulpi stuff ... there's already some ulpi stuff
   in uboot that needs fixing, so fix it and use it.
  
  I am not implementing any ulpi stuff I am just configuring OMAP on
  soc usb host controller (ehci). All the configuration stuff
  is OMAP specific things which are done in ehci-omap.c file
  
  stuffs done are like soft-reset, port mode to be used and putting
  port in no -idle mode(omap specific pm implementation) etc.
  
  This stuff:
  
  +/* ULPI */
  +#define ULPI_SET(a)(a + 1)
  +#define ULPI_CLR(a)(a + 2)
  +#define ULPI_FUNC_CTRL 0x04
  +#define ULPI_FUNC_CTRL_RESET   (1  5)
  
  is just accidentally conforming to ULPI spec?
 
 These are for configuring INSNREG05_ULPI reg in EHCI reg map
 of omap while configuring in ulpi-phy mode.
 
 looking into struct ulpi_regs {..}
 then it doesn't map this configuration.

Can you point me to some documentation about this please? It's not that I don't 
trust you, I'd rather prefer to avoid unnecessary duplication.

 
 btw,
 IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip
 for communication.
 
  M
 
  btw. somewhere in the patch is one more asterisk at the end of line:
 Will check that

It was on the line I pointed out 
 
 --
 Thanks,
 Govindraj.R
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Fabio Estevam
CONFIG_NET_MULTI is not used anymore, so remove it from board files.

Cc: Marek Vasut marek.va...@gmail.com
Cc: Stefano Babic sba...@denx.de
Cc: Kumar Gala kumar.g...@freescale.com
Cc: Sandeep Paulraj s-paul...@ti.com
Signed-off-by: Fabio Estevam fabio.este...@freescale.com
---
 include/configs/P1010RDB.h |5 -
 include/configs/PM826.h|2 --
 include/configs/PM828.h|2 --
 include/configs/cam_enc_4xx.h  |1 -
 include/configs/coreboot.h |6 --
 include/configs/da850_am18xxevm.h  |1 -
 include/configs/ecovec.h   |1 -
 include/configs/efikamx.h  |1 -
 include/configs/enbw_cmc.h |1 -
 include/configs/ethernut5.h|1 -
 include/configs/flea3.h|1 -
 include/configs/m28evk.h   |1 -
 include/configs/omap3_evm_common.h |1 -
 include/configs/omap3_mvblx.h  |1 -
 include/configs/p1_p2_rdb_pc.h |7 ---
 include/configs/tam3517-common.h   |1 -
 16 files changed, 0 insertions(+), 33 deletions(-)

diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index af4609f..a9251b4 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -518,11 +518,6 @@ extern unsigned long get_sdram_size(void);
 #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0
 #endif
 
-#if defined(CONFIG_TSEC_ENET)
-#ifndef CONFIG_NET_MULTI
-#define CONFIG_NET_MULTI
-#endif
-
 #define CONFIG_MII /* MII PHY management */
 #define CONFIG_MII_DEFAULT_TSEC1   /* Allow unregistered phys */
 #define CONFIG_TSEC1   1
diff --git a/include/configs/PM826.h b/include/configs/PM826.h
index f4f9305..cde0fd6 100644
--- a/include/configs/PM826.h
+++ b/include/configs/PM826.h
@@ -100,11 +100,9 @@
  *
  * if CONFIG_ETHER_ON_SCC is selected, then
  *   - CONFIG_ETHER_INDEX must be set to the channel number (1-4)
- *   - CONFIG_NET_MULTI must not be defined
  *
  * if CONFIG_ETHER_ON_FCC is selected, then
  *   - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected
- *   - CONFIG_NET_MULTI must be defined
  *
  * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
  * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset.
diff --git a/include/configs/PM828.h b/include/configs/PM828.h
index 28666d6..74ced5a 100644
--- a/include/configs/PM828.h
+++ b/include/configs/PM828.h
@@ -100,11 +100,9 @@
  *
  * if CONFIG_ETHER_ON_SCC is selected, then
  *   - CONFIG_ETHER_INDEX must be set to the channel number (1-4)
- *   - CONFIG_NET_MULTI must not be defined
  *
  * if CONFIG_ETHER_ON_FCC is selected, then
  *   - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected
- *   - CONFIG_NET_MULTI must be defined
  *
  * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
  * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset.
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index a21d448..50a967c 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -68,7 +68,6 @@
 #define CONFIG_BOOTP_DNS2
 #define CONFIG_BOOTP_SEND_HOSTNAME
 #define CONFIG_NET_RETRY_COUNT 10
-#define CONFIG_NET_MULTI
 #define CONFIG_CMD_MII
 #define CONFIG_SYS_DCACHE_OFF
 #define CONFIG_RESET_PHY_R
diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h
index 348a25b..2c65d74 100644
--- a/include/configs/coreboot.h
+++ b/include/configs/coreboot.h
@@ -216,10 +216,4 @@
  */
 #define CONFIG_PCI
 
-/*---
- * Network device support
- */
-#define CONFIG_NET_MULTI
-
-
 #endif /* __CONFIG_H */
diff --git a/include/configs/da850_am18xxevm.h 
b/include/configs/da850_am18xxevm.h
index 9b7bf1e..6fb3920 100644
--- a/include/configs/da850_am18xxevm.h
+++ b/include/configs/da850_am18xxevm.h
@@ -125,7 +125,6 @@
 #define CONFIG_BOOTP_DNS2
 #define CONFIG_BOOTP_SEND_HOSTNAME
 #define CONFIG_NET_RETRY_COUNT 10
-#define CONFIG_NET_MULTI
 #endif
 
 #ifdef CONFIG_USE_NOR
diff --git a/include/configs/ecovec.h b/include/configs/ecovec.h
index 2e2a9a7..4549a4c 100644
--- a/include/configs/ecovec.h
+++ b/include/configs/ecovec.h
@@ -88,7 +88,6 @@
 #define CONFIG_SH_I2C_BASE10xA475
 
 /* Ether */
-#define CONFIG_NET_MULTI 1
 #define CONFIG_SH_ETHER 1
 #define CONFIG_SH_ETHER_USE_PORT (0)
 #define CONFIG_SH_ETHER_PHY_ADDR (0x1f)
diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h
index 522487b..e2f0f74 100644
--- a/include/configs/efikamx.h
+++ b/include/configs/efikamx.h
@@ -206,7 +206,6 @@
 /* USB NET */
 #ifdef CONFIG_CMD_NET
 #defineCONFIG_USB_ETHER_ASIX
-#defineCONFIG_NET_MULTI
 #defineCONFIG_CMD_PING
 #defineCONFIG_CMD_DHCP
 #endif
diff --git a/include/configs/enbw_cmc.h b/include/configs/enbw_cmc.h
index c427dc7..5c14379 100644
--- a/include/configs/enbw_cmc.h
+++ b/include/configs/enbw_cmc.h
@@ -146,7 

Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Marek Vasut
 CONFIG_NET_MULTI is not used anymore, so remove it from board files.
 
 Cc: Marek Vasut marek.va...@gmail.com
 Cc: Stefano Babic sba...@denx.de
 Cc: Kumar Gala kumar.g...@freescale.com
 Cc: Sandeep Paulraj s-paul...@ti.com
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com

Acked-by: Marek Vasut marek.va...@gmail.com

For efikamx:

Tested-by: Marek Vasut marek.va...@gmail.com

 ---
  include/configs/P1010RDB.h |5 -
  include/configs/PM826.h|2 --
  include/configs/PM828.h|2 --
  include/configs/cam_enc_4xx.h  |1 -
  include/configs/coreboot.h |6 --
  include/configs/da850_am18xxevm.h  |1 -
  include/configs/ecovec.h   |1 -
  include/configs/efikamx.h  |1 -
  include/configs/enbw_cmc.h |1 -
  include/configs/ethernut5.h|1 -
  include/configs/flea3.h|1 -
  include/configs/m28evk.h   |1 -
  include/configs/omap3_evm_common.h |1 -
  include/configs/omap3_mvblx.h  |1 -
  include/configs/p1_p2_rdb_pc.h |7 ---
  include/configs/tam3517-common.h   |1 -
  16 files changed, 0 insertions(+), 33 deletions(-)
 
 diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
 index af4609f..a9251b4 100644
 --- a/include/configs/P1010RDB.h
 +++ b/include/configs/P1010RDB.h
 @@ -518,11 +518,6 @@ extern unsigned long get_sdram_size(void);
  #define CONFIG_SF_DEFAULT_MODE   SPI_MODE_0
  #endif
 
 -#if defined(CONFIG_TSEC_ENET)
 -#ifndef CONFIG_NET_MULTI
 -#define CONFIG_NET_MULTI
 -#endif
 -
  #define CONFIG_MII   /* MII PHY management */
  #define CONFIG_MII_DEFAULT_TSEC  1   /* Allow unregistered phys */
  #define CONFIG_TSEC1 1
 diff --git a/include/configs/PM826.h b/include/configs/PM826.h
 index f4f9305..cde0fd6 100644
 --- a/include/configs/PM826.h
 +++ b/include/configs/PM826.h
 @@ -100,11 +100,9 @@
   *
   * if CONFIG_ETHER_ON_SCC is selected, then
   *   - CONFIG_ETHER_INDEX must be set to the channel number (1-4)
 - *   - CONFIG_NET_MULTI must not be defined
   *
   * if CONFIG_ETHER_ON_FCC is selected, then
   *   - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected
 - *   - CONFIG_NET_MULTI must be defined
   *
   * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must
 be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be
 unset. diff --git a/include/configs/PM828.h b/include/configs/PM828.h
 index 28666d6..74ced5a 100644
 --- a/include/configs/PM828.h
 +++ b/include/configs/PM828.h
 @@ -100,11 +100,9 @@
   *
   * if CONFIG_ETHER_ON_SCC is selected, then
   *   - CONFIG_ETHER_INDEX must be set to the channel number (1-4)
 - *   - CONFIG_NET_MULTI must not be defined
   *
   * if CONFIG_ETHER_ON_FCC is selected, then
   *   - one or more CONFIG_ETHER_ON_FCCx (x=1,2,3) must also be selected
 - *   - CONFIG_NET_MULTI must be defined
   *
   * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must
 be * defined elsewhere (as for the console), or CONFIG_CMD_NET must be
 unset. diff --git a/include/configs/cam_enc_4xx.h
 b/include/configs/cam_enc_4xx.h index a21d448..50a967c 100644
 --- a/include/configs/cam_enc_4xx.h
 +++ b/include/configs/cam_enc_4xx.h
 @@ -68,7 +68,6 @@
  #define CONFIG_BOOTP_DNS2
  #define CONFIG_BOOTP_SEND_HOSTNAME
  #define CONFIG_NET_RETRY_COUNT   10
 -#define CONFIG_NET_MULTI
  #define CONFIG_CMD_MII
  #define CONFIG_SYS_DCACHE_OFF
  #define CONFIG_RESET_PHY_R
 diff --git a/include/configs/coreboot.h b/include/configs/coreboot.h
 index 348a25b..2c65d74 100644
 --- a/include/configs/coreboot.h
 +++ b/include/configs/coreboot.h
 @@ -216,10 +216,4 @@
   */
  #define CONFIG_PCI
 
 -/*---
 - * Network device support
 - */
 -#define CONFIG_NET_MULTI
 -
 -
  #endif   /* __CONFIG_H */
 diff --git a/include/configs/da850_am18xxevm.h
 b/include/configs/da850_am18xxevm.h index 9b7bf1e..6fb3920 100644
 --- a/include/configs/da850_am18xxevm.h
 +++ b/include/configs/da850_am18xxevm.h
 @@ -125,7 +125,6 @@
  #define CONFIG_BOOTP_DNS2
  #define CONFIG_BOOTP_SEND_HOSTNAME
  #define CONFIG_NET_RETRY_COUNT   10
 -#define CONFIG_NET_MULTI
  #endif
 
  #ifdef CONFIG_USE_NOR
 diff --git a/include/configs/ecovec.h b/include/configs/ecovec.h
 index 2e2a9a7..4549a4c 100644
 --- a/include/configs/ecovec.h
 +++ b/include/configs/ecovec.h
 @@ -88,7 +88,6 @@
  #define CONFIG_SH_I2C_BASE1  0xA475
 
  /* Ether */
 -#define CONFIG_NET_MULTI 1
  #define CONFIG_SH_ETHER 1
  #define CONFIG_SH_ETHER_USE_PORT (0)
  #define CONFIG_SH_ETHER_PHY_ADDR (0x1f)
 diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h
 index 522487b..e2f0f74 100644
 --- a/include/configs/efikamx.h
 +++ b/include/configs/efikamx.h
 @@ -206,7 +206,6 @@
  /* USB NET */
  #ifdef   CONFIG_CMD_NET
  #define  CONFIG_USB_ETHER_ASIX
 -#define  CONFIG_NET_MULTI

Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Govindraj
On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote:
 On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com wrote:
  Hi Marek,
 
  Thanks for you review.
 
  On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com 
  wrote:
   From: Govindraj.R govindraj.r...@ti.com
  
   Clean up added ehci-omap.c and make it generic for re-use across
   soc having same ehci ip block. Also pass the modes to be configured
   and configure the ports accordingly. All usb layers are not cache
   aligned till then keep cache off for usb ops as ehci will use
   internally dma for all usb ops.
  
   * Add a generic common header ehci-omap.h having common ip block
     data and reg shifts.
   * Rename and modify ehci-omap3 to ehci.h retain only conflicting
     sysc reg shifts remove others and move to common header file.
  
   Don't reimplement the ulpi stuff ... there's already some ulpi stuff
   in uboot that needs fixing, so fix it and use it.
 
  I am not implementing any ulpi stuff I am just configuring OMAP on
  soc usb host controller (ehci). All the configuration stuff
  is OMAP specific things which are done in ehci-omap.c file
 
  stuffs done are like soft-reset, port mode to be used and putting
  port in no -idle mode(omap specific pm implementation) etc.
 
  This stuff:
 
  +/* ULPI */
  +#define ULPI_SET(a)                                    (a + 1)
  +#define ULPI_CLR(a)                                    (a + 2)
  +#define ULPI_FUNC_CTRL                                 0x04
  +#define ULPI_FUNC_CTRL_RESET                           (1  5)
 
  is just accidentally conforming to ULPI spec?

 These are for configuring INSNREG05_ULPI reg in EHCI reg map
 of omap while configuring in ulpi-phy mode.

 looking into struct ulpi_regs {..}
 then it doesn't map this configuration.

 Can you point me to some documentation about this please? It's not that I 
 don't
 trust you, I'd rather prefer to avoid unnecessary duplication.


Yes that would be fine.

You can download the omap4460 public trm from here:

http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip

Go to chapter 23.11.6.6.1 EHCI Register Summary
(page number 5171 and 5186/87)

click INSNREG05_ULPI

this for configuring in ulpi mode for external ulpi phy.
reference
chapter 23.11.4.1 refer to Figure 23-252. HS USB Host Controller Architecture
(page number 5096)


 btw,
 IIUC that ulpi_regs struct is for otg transceiver that uses a ulpi phy chip
 for communication.

  M

  btw. somewhere in the patch is one more asterisk at the end of line:
 Will check that

 It was on the line I pointed out

okay, got it.

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Sughosh Ganu
On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote:
  On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote:
On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
  The current implementation invalidates the cache instead of
  flushing it. This causes problems on platforms where the
  spl/u-boot is already loaded to the RAM, with caches enabled by a
  first stage bootloader.
 
 What platforms are affected?
 
  It is causing a problem on the hawkboard, where the spl is loaded
  directly to the RAM by a rom bootloader. We did not see this earlier
  since cpu_init_crit was not getting called due to
  CONFIG_SKIP_LOWLEVEL_INIT.

-sughosh
   
   I see ... why don't you directly load U-Boot to DRAM then ?
  
The rom bootloader(rbl) uses a different ecc layout from the one
used by the davinci nand driver(u-boot and linux).
 
 Can't you just tell the driver to use the correct ecc layout when
 flashing then?

  Changing the ecc layout for a single board, hmm not sure. Using a
  spl instead does me no harm whatsoever -- I don't need to update the
  spl frequently in any case, and then can use the nand driver as is.

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


Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Heiko Schocher
Hello Fabio,

Fabio Estevam wrote:
 CONFIG_NET_MULTI is not used anymore, so remove it from board files.
 
 Cc: Marek Vasut marek.va...@gmail.com
 Cc: Stefano Babic sba...@denx.de
 Cc: Kumar Gala kumar.g...@freescale.com
 Cc: Sandeep Paulraj s-paul...@ti.com
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com
 ---
  include/configs/P1010RDB.h |5 -
  include/configs/PM826.h|2 --
  include/configs/PM828.h|2 --
  include/configs/cam_enc_4xx.h  |1 -
  include/configs/coreboot.h |6 --
  include/configs/da850_am18xxevm.h  |1 -
  include/configs/ecovec.h   |1 -
  include/configs/efikamx.h  |1 -
  include/configs/enbw_cmc.h |1 -
  include/configs/ethernut5.h|1 -
  include/configs/flea3.h|1 -
  include/configs/m28evk.h   |1 -
  include/configs/omap3_evm_common.h |1 -
  include/configs/omap3_mvblx.h  |1 -
  include/configs/p1_p2_rdb_pc.h |7 ---
  include/configs/tam3517-common.h   |1 -
  16 files changed, 0 insertions(+), 33 deletions(-)

Acked-by: Heiko Schocher h...@denx.de

Tested on the enbw_cmc and cam_enc_4xx board, so:

Tested-by: Heiko Schocher h...@denx.de

Thanks!

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote:
   On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote:
 On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
   The current implementation invalidates the cache instead of
   flushing it. This causes problems on platforms where the
   spl/u-boot is already loaded to the RAM, with caches enabled by
   a first stage bootloader.
  
  What platforms are affected?
  
   It is causing a problem on the hawkboard, where the spl is loaded
   directly to the RAM by a rom bootloader. We did not see this
   earlier since cpu_init_crit was not getting called due to
   CONFIG_SKIP_LOWLEVEL_INIT.
 
 -sughosh

I see ... why don't you directly load U-Boot to DRAM then ?

 The rom bootloader(rbl) uses a different ecc layout from the one
 used by the davinci nand driver(u-boot and linux).
  
  Can't you just tell the driver to use the correct ecc layout when
  flashing then?
 
   Changing the ecc layout for a single board, hmm not sure. Using a
   spl instead does me no harm whatsoever -- I don't need to update the
   spl frequently in any case, and then can use the nand driver as is.

And how do you replace the SPL?

Either way, I think the correct approach is to allow the driver to handle the 
SPL update too.

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
  On Wed Jan 11, 2012 at 01:42:38PM +0100, Marek Vasut wrote:
On Wed Jan 11, 2012 at 11:47:27AM +0100, Marek Vasut wrote:
  On Tue Jan 10, 2012 at 09:07:58PM +0100, Marek Vasut wrote:
The current implementation invalidates the cache instead of
flushing it. This causes problems on platforms where the
spl/u-boot is already loaded to the RAM, with caches enabled
by a first stage bootloader.
   
   What platforms are affected?
   
It is causing a problem on the hawkboard, where the spl is
loaded directly to the RAM by a rom bootloader. We did not see
this earlier since cpu_init_crit was not getting called due to
CONFIG_SKIP_LOWLEVEL_INIT.
  
  -sughosh
 
 I see ... why don't you directly load U-Boot to DRAM then ?
 
  The rom bootloader(rbl) uses a different ecc layout from the one
  used by the davinci nand driver(u-boot and linux).
   
   Can't you just tell the driver to use the correct ecc layout when
   flashing then?
   
Changing the ecc layout for a single board, hmm not sure. Using a
spl instead does me no harm whatsoever -- I don't need to update the
spl frequently in any case, and then can use the nand driver as is.
 
 And how do you replace the SPL?
 
 Either way, I think the correct approach is to allow the driver to handle
 the SPL update too.

Or rather -- to be able to load u-boot directly. It seems to be more correct 
solution. The SPL you're using is just a workaround and also you need to TI 
flasher to replace it, right ?
 
 M
 
  -sughosh
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 0/4] Add SMDK5250 board support

2012-01-11 Thread Chander Kashyap
This patchset add support for Samsung's SMDK5250 board based on
EXYNOS5250 based SoC. It also adds support for MMC SPL booting.

The porting is done by Samsung engineers at HQ in System LSI Team.
I am contributing in upstreaming the code for the board.

Based upon discussions following patches are dropped in this version:
Exynos: Add CONFIG_EXYNOS4 Macro to EXYNOS4 based boards
Exynos: Clock.c: Replace exynos4 prefix with exynos

SMDK5250: enable device tree support is squashed with
EXYNOS: Add SMDK5250 board support

Chander Kashyap (4):
  Exynos: Clock.c: Use CONFIG_SYS_CLK_FREQ macro
  ARM: EXYNOS: Add support for Exynos5 based SoCs
  EXYNOS: Add SMDK5250 board support
  EXYNOS: SMDK5250: Add MMC SPL support

 MAINTAINERS   |1 +
 arch/arm/cpu/armv7/exynos/clock.c |  215 +-
 arch/arm/include/asm/arch-exynos/clock.h  |  326 ++
 arch/arm/include/asm/arch-exynos/cpu.h|   35 ++-
 arch/arm/include/asm/arch-exynos/gpio.h   |  101 -
 board/samsung/smdk5250/Makefile   |   64 +++
 board/samsung/smdk5250/lowlevel_init.S|  528 ++
 board/samsung/smdk5250/mem_setup.S|  600 +
 board/samsung/smdk5250/mmc_boot.c |   58 +++
 board/samsung/smdk5250/smdk5250.c |  125 +
 board/samsung/smdk5250/smdk5250_setup.h   |  589 
 board/samsung/smdk5250/tools/mkexynos_image.c |  117 +
 boards.cfg|1 +
 include/configs/s5pc210_universal.h   |1 +
 include/configs/smdk5250.h|  188 
 15 files changed, 2931 insertions(+), 18 deletions(-)
 create mode 100644 board/samsung/smdk5250/Makefile
 create mode 100644 board/samsung/smdk5250/lowlevel_init.S
 create mode 100644 board/samsung/smdk5250/mem_setup.S
 create mode 100644 board/samsung/smdk5250/mmc_boot.c
 create mode 100644 board/samsung/smdk5250/smdk5250.c
 create mode 100644 board/samsung/smdk5250/smdk5250_setup.h
 create mode 100644 board/samsung/smdk5250/tools/mkexynos_image.c
 create mode 100644 include/configs/smdk5250.h

-- 
1.7.5.4

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


[U-Boot] [PATCH v3 1/4] Exynos: Clock.c: Use CONFIG_SYS_CLK_FREQ macro

2012-01-11 Thread Chander Kashyap
CONFIG_SYS_CLK_FREQ_C210 macro giving notion of S5PC2XX (Exynos4)
architecture. Replace CONFIG_SYS_CLK_FREQ_C210 with CONFIG_SYS_CLK_FREQ
to make it generic for exynos architecture.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
Changes for v2:
- None
Changes for v3:
- None

 arch/arm/cpu/armv7/exynos/clock.c   |6 +-
 include/configs/s5pc210_universal.h |1 +
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/arm/cpu/armv7/exynos/clock.c 
b/arch/arm/cpu/armv7/exynos/clock.c
index 0c199cd..4d92c53 100644
--- a/arch/arm/cpu/armv7/exynos/clock.c
+++ b/arch/arm/cpu/armv7/exynos/clock.c
@@ -26,10 +26,6 @@
 #include asm/arch/clock.h
 #include asm/arch/clk.h
 
-#ifndef CONFIG_SYS_CLK_FREQ_C210
-#define CONFIG_SYS_CLK_FREQ_C210   2400
-#endif
-
 /* exynos4: return pll clock frequency */
 static unsigned long exynos4_get_pll_clk(int pllreg)
 {
@@ -76,7 +72,7 @@ static unsigned long exynos4_get_pll_clk(int pllreg)
/* SDIV [2:0] */
s = r  0x7;
 
-   freq = CONFIG_SYS_CLK_FREQ_C210;
+   freq = CONFIG_SYS_CLK_FREQ;
 
if (pllreg == EPLL) {
k = k  0x;
diff --git a/include/configs/s5pc210_universal.h 
b/include/configs/s5pc210_universal.h
index be000cb..8286680 100644
--- a/include/configs/s5pc210_universal.h
+++ b/include/configs/s5pc210_universal.h
@@ -49,6 +49,7 @@
 
 /* input clock of PLL: Universal has 24MHz input clock at EXYNOS4210 */
 #define CONFIG_SYS_CLK_FREQ_C210   2400
+#define CONFIG_SYS_CLK_FREQCONFIG_SYS_CLK_FREQ_C210
 
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_CMDLINE_TAG
-- 
1.7.5.4

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


[U-Boot] [PATCH v3 2/4] ARM: EXYNOS: Add support for Exynos5 based SoCs

2012-01-11 Thread Chander Kashyap
Samsung's ARM Cortex-A15 based SoCs are known as Exynos5 series of
SoCs. This patch adds the support for Exynos5.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
Changes for v2:
- This patch was part of EXYNOS: Add SMDK5250 board support
- Now it is seprated as SoC support.
Changes for v333:
- Populated complete exynos5 gpio structures

 arch/arm/cpu/armv7/exynos/clock.c|  209 +++-
 arch/arm/include/asm/arch-exynos/clock.h |  326 ++
 arch/arm/include/asm/arch-exynos/cpu.h   |   35 +++-
 arch/arm/include/asm/arch-exynos/gpio.h  |  101 +-
 4 files changed, 658 insertions(+), 13 deletions(-)

diff --git a/arch/arm/cpu/armv7/exynos/clock.c 
b/arch/arm/cpu/armv7/exynos/clock.c
index 4d92c53..02f64bb 100644
--- a/arch/arm/cpu/armv7/exynos/clock.c
+++ b/arch/arm/cpu/armv7/exynos/clock.c
@@ -92,6 +92,72 @@ static unsigned long exynos4_get_pll_clk(int pllreg)
return fout;
 }
 
+/* exynos5: return pll clock frequency */
+static unsigned long exynos5_get_pll_clk(int pllreg)
+{
+   struct exynos5_clock *clk =
+   (struct exynos5_clock *)samsung_get_base_clock();
+   unsigned long r, m, p, s, k = 0, mask, fout;
+   unsigned int freq;
+
+   switch (pllreg) {
+   case APLL:
+   r = readl(clk-apll_con0);
+   break;
+   case MPLL:
+   r = readl(clk-mpll_con0);
+   break;
+   case EPLL:
+   r = readl(clk-epll_con0);
+   k = readl(clk-epll_con1);
+   break;
+   case VPLL:
+   r = readl(clk-vpll_con0);
+   k = readl(clk-vpll_con1);
+   break;
+   default:
+   printf(Unsupported PLL (%d)\n, pllreg);
+   return 0;
+   }
+
+   /*
+* APLL_CON: MIDV [25:16]
+* MPLL_CON: MIDV [25:16]
+* EPLL_CON: MIDV [24:16]
+* VPLL_CON: MIDV [24:16]
+*/
+   if (pllreg == APLL || pllreg == MPLL)
+   mask = 0x3ff;
+   else
+   mask = 0x1ff;
+
+   m = (r  16)  mask;
+
+   /* PDIV [13:8] */
+   p = (r  8)  0x3f;
+   /* SDIV [2:0] */
+   s = r  0x7;
+
+   freq = CONFIG_SYS_CLK_FREQ;
+
+   if (pllreg == EPLL) {
+   k = k  0x;
+   /* FOUT = (MDIV + K / 65536) * FIN / (PDIV * 2^SDIV) */
+   fout = (m + k / 65536) * (freq / (p * (1  s)));
+   } else if (pllreg == VPLL) {
+   k = k  0xfff;
+   /* FOUT = (MDIV + K / 1024) * FIN / (PDIV * 2^SDIV) */
+   fout = (m + k / 1024) * (freq / (p * (1  s)));
+   } else {
+   if (s  1)
+   s = 1;
+   /* FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1)) */
+   fout = m * (freq / (p * (1  (s - 1;
+   }
+
+   return fout;
+}
+
 /* exynos4: return ARM clock frequency */
 static unsigned long exynos4_get_arm_clk(void)
 {
@@ -114,6 +180,28 @@ static unsigned long exynos4_get_arm_clk(void)
return armclk;
 }
 
+/* exynos5: return ARM clock frequency */
+static unsigned long exynos5_get_arm_clk(void)
+{
+   struct exynos5_clock *clk =
+   (struct exynos5_clock *)samsung_get_base_clock();
+   unsigned long div;
+   unsigned long armclk;
+   unsigned int arm_ratio;
+   unsigned int arm2_ratio;
+
+   div = readl(clk-div_cpu0);
+
+   /* ARM_RATIO: [2:0], ARM2_RATIO: [30:28] */
+   arm_ratio = (div  0)  0x7;
+   arm2_ratio = (div  28)  0x7;
+
+   armclk = get_pll_clk(APLL) / (arm_ratio + 1);
+   armclk /= (arm2_ratio + 1);
+
+   return armclk;
+}
+
 /* exynos4: return pwm clock frequency */
 static unsigned long exynos4_get_pwm_clk(void)
 {
@@ -157,6 +245,28 @@ static unsigned long exynos4_get_pwm_clk(void)
return pclk;
 }
 
+/* exynos5: return pwm clock frequency */
+static unsigned long exynos5_get_pwm_clk(void)
+{
+   struct exynos5_clock *clk =
+   (struct exynos5_clock *)samsung_get_base_clock();
+   unsigned long pclk, sclk;
+   unsigned int sel;
+   unsigned int ratio;
+
+   /*
+* CLK_DIV_PERIC3
+* PWM_RATIO [3:0]
+*/
+   ratio = readl(clk-div_peric3);
+   ratio = ratio  0xf;
+   sclk = get_pll_clk(MPLL);
+
+   pclk = sclk / (ratio + 1);
+
+   return pclk;
+}
+
 /* exynos4: return uart clock frequency */
 static unsigned long exynos4_get_uart_clk(int dev_index)
 {
@@ -204,6 +314,53 @@ static unsigned long exynos4_get_uart_clk(int dev_index)
return uclk;
 }
 
+/* exynos5: return uart clock frequency */
+static unsigned long exynos5_get_uart_clk(int dev_index)
+{
+   struct exynos5_clock *clk =
+   (struct exynos5_clock *)samsung_get_base_clock();
+   unsigned long uclk, sclk;
+   unsigned int sel;
+   unsigned int ratio;
+
+   /*
+* CLK_SRC_PERIC0
+* UART0_SEL [3:0]
+* 

[U-Boot] [PATCH v3 4/4] EXYNOS: SMDK5250: Add MMC SPL support

2012-01-11 Thread Chander Kashyap
This patch adds support for mmc spl booting.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
Changes for v2:
- None
Changes for v3:
- None

 board/samsung/smdk5250/Makefile   |   16 
 board/samsung/smdk5250/mmc_boot.c |   58 
 board/samsung/smdk5250/tools/mkexynos_image.c |  117 +
 include/configs/smdk5250.h|3 +
 4 files changed, 194 insertions(+), 0 deletions(-)
 create mode 100644 board/samsung/smdk5250/mmc_boot.c
 create mode 100644 board/samsung/smdk5250/tools/mkexynos_image.c

diff --git a/board/samsung/smdk5250/Makefile b/board/samsung/smdk5250/Makefile
index a26f896..0e8c05a 100644
--- a/board/samsung/smdk5250/Makefile
+++ b/board/samsung/smdk5250/Makefile
@@ -26,18 +26,34 @@ LIB = $(obj)lib$(BOARD).o
 
 SOBJS  := lowlevel_init.o
 SOBJS  += mem_setup.o
+
+ifndef CONFIG_SPL_BUILD
 COBJS  += smdk5250.o
+endif
+
+ifdef CONFIG_SPL_BUILD
+COBJS  += mmc_boot.o
+endif
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS) $(SOBJS))
 
 ALL:=   $(obj).depend $(LIB)
 
+ifdef CONFIG_SPL_BUILD
+ALL+= $(OBJTREE)/tools/mk$(BOARD)spl
+endif
+
 all:   $(ALL)
 
 $(LIB):$(OBJS)
$(call cmd_link_o_target, $(OBJS))
 
+ifdef CONFIG_SPL_BUILD
+$(OBJTREE)/tools/mk$(BOARD)spl:tools/mkexynos_image.c
+   $(HOSTCC) tools/mkexynos_image.c -o $(OBJTREE)/tools/mk$(BOARD)spl
+endif
+
 #
 
 # defines $(obj).depend target
diff --git a/board/samsung/smdk5250/mmc_boot.c 
b/board/samsung/smdk5250/mmc_boot.c
new file mode 100644
index 000..669c1a3
--- /dev/null
+++ b/board/samsung/smdk5250/mmc_boot.c
@@ -0,0 +1,58 @@
+/*
+ * 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
+ */
+
+#includecommon.h
+#includeconfig.h
+
+/*
+* Copy U-boot from mmc to RAM:
+* COPY_BL2_FNPTR_ADDR: Address in iRAM, which Contains
+* Pointer to API (Data transfer from mmc to ram)
+*/
+void copy_uboot_to_ram(void)
+{
+   u32 (*copy_bl2)(u32, u32, u32) = (void *) *(u32 *)COPY_BL2_FNPTR_ADDR;
+
+   copy_bl2(BL2_START_OFFSET, BL2_SIZE_BLOC_COUNT, CONFIG_SYS_TEXT_BASE);
+}
+
+void board_init_f(unsigned long bootflag)
+{
+   __attribute__((noreturn)) void (*uboot)(void);
+   copy_uboot_to_ram();
+
+   /* Jump to U-Boot image */
+   uboot = (void *)CONFIG_SYS_TEXT_BASE;
+   (*uboot)();
+   /* Never returns Here */
+}
+
+/* Place Holders */
+void board_init_r(gd_t *id, ulong dest_addr)
+{
+   /* Function attribute is no-return */
+   /* This Function never executes */
+   while (1)
+   ;
+}
+
+void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3) {}
diff --git a/board/samsung/smdk5250/tools/mkexynos_image.c 
b/board/samsung/smdk5250/tools/mkexynos_image.c
new file mode 100644
index 000..e2b7805
--- /dev/null
+++ b/board/samsung/smdk5250/tools/mkexynos_image.c
@@ -0,0 +1,117 @@
+/*
+ * 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 stdio.h
+#include stdlib.h
+#include unistd.h
+#include fcntl.h
+#include errno.h
+#include string.h
+#include sys/stat.h
+
+#define CHECKSUM_OFFSET(14*1024-4)
+#define BUFSIZE(16*1024)
+#define FILE_PERM  (S_IRUSR | S_IWUSR | S_IRGRP \
+   | S_IWGRP | 

[U-Boot] [PATCH v3 3/4] EXYNOS: Add SMDK5250 board support

2012-01-11 Thread Chander Kashyap
SMDK5250 board is based on Samsungs EXYNOS5250 SoC.

Signed-off-by: Chander Kashyap chander.kash...@linaro.org
---
Changes for v2:
- This patch is bifurcated into borad support and SoC support
- Fixed typo: s/EEYNOS/EXYNOS
- Squashed patch SMDK5250: enable device tree support in this.
Changes for v3:
- None

 MAINTAINERS |1 +
 board/samsung/smdk5250/Makefile |   48 +++
 board/samsung/smdk5250/lowlevel_init.S  |  528 +++
 board/samsung/smdk5250/mem_setup.S  |  600 +++
 board/samsung/smdk5250/smdk5250.c   |  125 +++
 board/samsung/smdk5250/smdk5250_setup.h |  589 ++
 boards.cfg  |1 +
 include/configs/smdk5250.h  |  185 ++
 8 files changed, 2077 insertions(+), 0 deletions(-)
 create mode 100644 board/samsung/smdk5250/Makefile
 create mode 100644 board/samsung/smdk5250/lowlevel_init.S
 create mode 100644 board/samsung/smdk5250/mem_setup.S
 create mode 100644 board/samsung/smdk5250/smdk5250.c
 create mode 100644 board/samsung/smdk5250/smdk5250_setup.h
 create mode 100644 include/configs/smdk5250.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bf12b5..f62b03e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -705,6 +705,7 @@ Chander Kashyap k.chan...@samsung.com
 
origen  ARM ARMV7 (EXYNOS4210 SoC)
SMDKV310ARM ARMV7 (EXYNOS4210 SoC)
+   SMDK5250ARM ARMV7 (EXYNOS5250 SoC)
 
 Torsten Koschorrek koschor...@synertronixx.de
scb9328 ARM920T (i.MXL)
diff --git a/board/samsung/smdk5250/Makefile b/board/samsung/smdk5250/Makefile
new file mode 100644
index 000..a26f896
--- /dev/null
+++ b/board/samsung/smdk5250/Makefile
@@ -0,0 +1,48 @@
+#
+# 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  := lowlevel_init.o
+SOBJS  += mem_setup.o
+COBJS  += smdk5250.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS) $(SOBJS))
+
+ALL:=   $(obj).depend $(LIB)
+
+all:   $(ALL)
+
+$(LIB):$(OBJS)
+   $(call cmd_link_o_target, $(OBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/samsung/smdk5250/lowlevel_init.S 
b/board/samsung/smdk5250/lowlevel_init.S
new file mode 100644
index 000..ecf1d69
--- /dev/null
+++ b/board/samsung/smdk5250/lowlevel_init.S
@@ -0,0 +1,528 @@
+/*
+ * Lowlevel setup for SMDK5250 board based on S5PC520
+ *
+ * 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
+#include smdk5250_setup.h
+
+/*
+ * Register usages:
+ *
+ * r5 has zero always
+ * r7 has GPIO part1 base 0x1140
+ */
+_TEXT_BASE:
+   .word   CONFIG_SYS_TEXT_BASE
+
+   .globl lowlevel_init
+lowlevel_init:
+
+   /* use iROM stack in bl2 */
+   ldr sp, =0x0205
+
+   push {lr}
+
+   /* r5 has always zero */
+   mov r5, #0
+   ldr r7, =EXYNOS5_GPIO_PART1_BASE
+
+   /* check reset status */
+   ldr r0, =(EXYNOS5_POWER_BASE + 

[U-Boot] [PATCH V3] mmc: access mxcmmc from mx31 boards

2012-01-11 Thread Helmut Raiger
This is a resend of these patches
   http://patchwork.ozlabs.org/patch/122139/like this one
   http://patchwork.ozlabs.org/patch/122176/board support (including 
gfx)

They are rebased to the current master and the board support only adds MMC
as opposed to the original patch that added some gfx support as-well.
The actual mmc patch was not changed since V2.



--
Scanned by MailScanner.

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


[U-Boot] [PATCH 2/2] tt01: add MMC support

2012-01-11 Thread Helmut Raiger
board_mmc_init() initializes the pins of SDHC1 and
turns on V_MMC1 of the PMIC. Config adds support for EXT2
and FAT.

Signed-off-by: Helmut Raiger helmut.rai...@hale.at
---
 board/hale/tt01/tt01.c |   32 ++--
 include/configs/tt01.h |   12 
 2 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/board/hale/tt01/tt01.c b/board/hale/tt01/tt01.c
index 2995c8f..4b6e770 100644
--- a/board/hale/tt01/tt01.c
+++ b/board/hale/tt01/tt01.c
@@ -175,8 +175,6 @@ int board_init(void)
 
 int board_late_init(void)
 {
-   pmic_init();
-
 #ifdef CONFIG_HW_WATCHDOG
mxc_hw_watchdog_enable();
 #endif
@@ -190,6 +188,36 @@ int checkboard(void)
return 0;
 }
 
+#ifdef CONFIG_MXC_MMC
+int board_mmc_init(bd_t *bis)
+{
+   u32 val;
+   struct pmic *p;
+
+   /*
+   * this is the first driver to use the pmic, so call
+   * pmic_init() here. board_late_init() is too late for
+   * the MMC driver.
+   */
+   pmic_init();
+   p = get_pmic();
+
+   /* configure pins for SDHC1 only */
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_CLK, MUX_CTL_FUNC));
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_CMD, MUX_CTL_FUNC));
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA0, MUX_CTL_FUNC));
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA1, MUX_CTL_FUNC));
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA2, MUX_CTL_FUNC));
+   mx31_gpio_mux(IOMUX_MODE(MUX_CTL_SD1_DATA3, MUX_CTL_FUNC));
+
+   /* turn on power V_MMC1, bit 18 is the VMMC1 enable */
+   if (pmic_reg_read(p, 33, val)  0)
+   pmic_reg_write(p, 33, val | 0x04);
+
+   return mxc_mmc_init(bis);
+}
+#endif
+
 int board_eth_init(bd_t *bis)
 {
int rc = 0;
diff --git a/include/configs/tt01.h b/include/configs/tt01.h
index a553712..6846816 100644
--- a/include/configs/tt01.h
+++ b/include/configs/tt01.h
@@ -180,6 +180,11 @@
 #define CONFIG_SMC911X_BASE(CS4_BASE+0x20)
 #define CONFIG_SMC911X_16_BIT
 
+/* mmc driver */
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MXC_MMC
+#define CONFIG_MXC_MCI_REGS_BASE   SDHC1_BASE_ADDR
 /*
  * Command definition
  */
@@ -229,6 +234,13 @@
 
 #define CONFIG_CMDLINE_EDITING
 
+/* MMC boot support */
+#define CONFIG_CMD_MMC
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+
 #define CONFIG_NAND_MXC
 #define CONFIG_SYS_MAX_NAND_DEVICE 1
 #define CONFIG_SYS_NAND_MAX_CHIPS  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


[U-Boot] [PATCH 1/2] mmc: access mxcmmc from mx31 boards

2012-01-11 Thread Helmut Raiger
This patch modifies mxcmmc.c to be used
not only by i.MX27 but also by i.MX31 boards.
Both use the same SD controller, but have different
clock set-ups.
The i.MX27 imx_get_XXXclock functions are made static to
generic.c and a public mxc_get_clock() function
is provided.  Pins, base address and prototypes for
an i.MX31 specific board_init_mmc() are provided.
Some of the i.MX27 clock getters are unused and marked
as such to avoid warnings (./MAKEALL -s mx27), but
the code was left in for future use.

Signed-off-by: Helmut Raiger helmut.rai...@hale.at
---

 V3:
  - rebased to current master
  - added support in TT-01 board code for it (see other patch)
 V2: 
  - uses mxc_get_clock() instead of old imx_get_XXX functions
  - moved mx27 stuff to mxc_get_clock() aswell

 arch/arm/cpu/arm1136/mx31/generic.c|1 +
 arch/arm/cpu/arm926ejs/mx27/generic.c  |   35 ---
 arch/arm/include/asm/arch-mx27/clock.h |   22 +++--
 arch/arm/include/asm/arch-mx31/clock.h |3 +-
 arch/arm/include/asm/arch-mx31/imx-regs.h  |   11 
 arch/arm/include/asm/arch-mx31/sys_proto.h |2 +-
 drivers/mmc/mxcmmc.c   |8 ++
 7 files changed, 53 insertions(+), 29 deletions(-)

diff --git a/arch/arm/cpu/arm1136/mx31/generic.c 
b/arch/arm/cpu/arm1136/mx31/generic.c
index f458281..d60afc9 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -101,6 +101,7 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
case MXC_IPG_PERCLK:
case MXC_CSPI_CLK:
case MXC_UART_CLK:
+   case MXC_ESDHC_CLK:
return mx31_get_ipg_clk();
case MXC_IPU_CLK:
return mx31_get_hsp_clk();
diff --git a/arch/arm/cpu/arm926ejs/mx27/generic.c 
b/arch/arm/cpu/arm926ejs/mx27/generic.c
index 222a8e9..8964a75 100644
--- a/arch/arm/cpu/arm926ejs/mx27/generic.c
+++ b/arch/arm/cpu/arm926ejs/mx27/generic.c
@@ -23,6 +23,7 @@
 #include netdev.h
 #include asm/io.h
 #include asm/arch/imx-regs.h
+#include asm/arch/clock.h
 #ifdef CONFIG_MXC_MMC
 #include asm/arch/mxcmmc.h
 #endif
@@ -34,7 +35,7 @@
  *  f = 2 * f_ref * 
  *pd + 1
  */
-unsigned int imx_decode_pll(unsigned int pll, unsigned int f_ref)
+static unsigned int imx_decode_pll(unsigned int pll, unsigned int f_ref)
 {
unsigned int mfi = (pll  10)  0xf;
unsigned int mfn = pll  0x3ff;
@@ -64,7 +65,7 @@ static ulong clk_in_26m(void)
}
 }
 
-ulong imx_get_mpllclk(void)
+static ulong imx_get_mpllclk(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
ulong cscr = readl(pll-cscr);
@@ -78,7 +79,7 @@ ulong imx_get_mpllclk(void)
return imx_decode_pll(readl(pll-mpctl0), fref);
 }
 
-ulong imx_get_armclk(void)
+static ulong imx_get_armclk(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
ulong cscr = readl(pll-cscr);
@@ -93,7 +94,7 @@ ulong imx_get_armclk(void)
return lldiv(fref, div);
 }
 
-ulong imx_get_ahbclk(void)
+static ulong imx_get_ahbclk(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
ulong cscr = readl(pll-cscr);
@@ -105,7 +106,7 @@ ulong imx_get_ahbclk(void)
return lldiv(fref * 2, 3 * div);
 }
 
-ulong imx_get_spllclk(void)
+static __attribute__((unused)) ulong imx_get_spllclk(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
ulong cscr = readl(pll-cscr);
@@ -124,34 +125,50 @@ static ulong imx_decode_perclk(ulong div)
return lldiv((imx_get_mpllclk() * 2), (div * 3));
 }
 
-ulong imx_get_perclk1(void)
+static ulong imx_get_perclk1(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
 
return imx_decode_perclk((readl(pll-pcdr1)  0x3f) + 1);
 }
 
-ulong imx_get_perclk2(void)
+static ulong imx_get_perclk2(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
 
return imx_decode_perclk(((readl(pll-pcdr1)  8)  0x3f) + 1);
 }
 
-ulong imx_get_perclk3(void)
+static __attribute__((unused)) ulong imx_get_perclk3(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
 
return imx_decode_perclk(((readl(pll-pcdr1)  16)  0x3f) + 1);
 }
 
-ulong imx_get_perclk4(void)
+static __attribute__((unused)) ulong imx_get_perclk4(void)
 {
struct pll_regs *pll = (struct pll_regs *)IMX_PLL_BASE;
 
return imx_decode_perclk(((readl(pll-pcdr1)  24)  0x3f) + 1);
 }
 
+unsigned int mxc_get_clock(enum mxc_clock clk)
+{
+   switch (clk) {
+   case MXC_ARM_CLK:
+   return imx_get_armclk();
+   case MXC_UART_CLK:
+   return imx_get_perclk1();
+   case MXC_FEC_CLK:
+   return imx_get_ahbclk();
+   case MXC_ESDHC_CLK:
+   return imx_get_perclk2();
+   }
+   return -1;
+}
+
+
 #if defined(CONFIG_DISPLAY_CPUINFO)
 int print_cpuinfo (void)
 {
diff --git 

Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Stefano Babic
On 11/01/2012 13:47, Fabio Estevam wrote:
 CONFIG_NET_MULTI is not used anymore, so remove it from board files.
 
 Cc: Marek Vasut marek.va...@gmail.com
 Cc: Stefano Babic sba...@denx.de
 Cc: Kumar Gala kumar.g...@freescale.com
 Cc: Sandeep Paulraj s-paul...@ti.com
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com
 ---
  include/configs/P1010RDB.h |5 -
  include/configs/PM826.h|2 --
  include/configs/PM828.h|2 --
  include/configs/cam_enc_4xx.h  |1 -
  include/configs/coreboot.h |6 --
  include/configs/da850_am18xxevm.h  |1 -
  include/configs/ecovec.h   |1 -
  include/configs/efikamx.h  |1 -
  include/configs/enbw_cmc.h |1 -
  include/configs/ethernut5.h|1 -
  include/configs/flea3.h|1 -
  include/configs/m28evk.h   |1 -
  include/configs/omap3_evm_common.h |1 -
  include/configs/omap3_mvblx.h  |1 -
  include/configs/p1_p2_rdb_pc.h |7 ---
  include/configs/tam3517-common.h   |1 -
  16 files changed, 0 insertions(+), 33 deletions(-)
 

Acked-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 v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Govindraj
On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote:
 On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote:
  On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com 
  wrote:
   Hi Marek,
  
   Thanks for you review.
  
   On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut marek.va...@gmail.com
 wrote:
From: Govindraj.R govindraj.r...@ti.com
   
Clean up added ehci-omap.c and make it generic for re-use across
soc having same ehci ip block. Also pass the modes to be
configured and configure the ports accordingly. All usb layers
are not cache aligned till then keep cache off for usb ops as
ehci will use internally dma for all usb ops.
   
* Add a generic common header ehci-omap.h having common ip block
  data and reg shifts.
* Rename and modify ehci-omap3 to ehci.h retain only conflicting
  sysc reg shifts remove others and move to common header file.
   
Don't reimplement the ulpi stuff ... there's already some ulpi
stuff in uboot that needs fixing, so fix it and use it.
  
   I am not implementing any ulpi stuff I am just configuring OMAP on
   soc usb host controller (ehci). All the configuration stuff
   is OMAP specific things which are done in ehci-omap.c file
  
   stuffs done are like soft-reset, port mode to be used and putting
   port in no -idle mode(omap specific pm implementation) etc.
  
   This stuff:
  
   +/* ULPI */
   +#define ULPI_SET(a)                                    (a + 1)
   +#define ULPI_CLR(a)                                    (a + 2)
   +#define ULPI_FUNC_CTRL                                 0x04
   +#define ULPI_FUNC_CTRL_RESET                           (1  5)
  
   is just accidentally conforming to ULPI spec?
 
  These are for configuring INSNREG05_ULPI reg in EHCI reg map
  of omap while configuring in ulpi-phy mode.
 
  looking into struct ulpi_regs {..}
  then it doesn't map this configuration.
 
  Can you point me to some documentation about this please? It's not that I
  don't trust you, I'd rather prefer to avoid unnecessary duplication.

 Yes that would be fine.

 You can download the omap4460 public trm from here:

 http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip

 Go to chapter 23.11.6.6.1 EHCI Register Summary
 (page number 5171 and 5186/87)

 Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for that
 purpose, the struct ulpi_regs is fitting ok.

 Actually ... can you check the ulpi_read and ulpi_write stuff that's already 
 in
 u-boot and explain why they can not be used with this port?


echi-omap.c is no where writing to those registers
and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map

reg map in 23.11.6.3 used only for a external ulpi-phy communication.
and debug purpose(to view vid, pid etc) and to hack external phy
configuration through ulpi commands
from omap - usb host controller point of view only needs
INSNREG05_ULPI reg in EHCI reg configuration
rest on soc host controller takes care of it.

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


Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Kumar Gala

On Jan 11, 2012, at 6:47 AM, Fabio Estevam wrote:

 CONFIG_NET_MULTI is not used anymore, so remove it from board files.
 
 Cc: Marek Vasut marek.va...@gmail.com
 Cc: Stefano Babic sba...@denx.de
 Cc: Kumar Gala kumar.g...@freescale.com
 Cc: Sandeep Paulraj s-paul...@ti.com
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com
 ---
 include/configs/P1010RDB.h |5 -
 include/configs/PM826.h|2 --
 include/configs/PM828.h|2 --
 include/configs/cam_enc_4xx.h  |1 -
 include/configs/coreboot.h |6 --
 include/configs/da850_am18xxevm.h  |1 -
 include/configs/ecovec.h   |1 -
 include/configs/efikamx.h  |1 -
 include/configs/enbw_cmc.h |1 -
 include/configs/ethernut5.h|1 -
 include/configs/flea3.h|1 -
 include/configs/m28evk.h   |1 -
 include/configs/omap3_evm_common.h |1 -
 include/configs/omap3_mvblx.h  |1 -
 include/configs/p1_p2_rdb_pc.h |7 ---
 include/configs/tam3517-common.h   |1 -
 16 files changed, 0 insertions(+), 33 deletions(-)

Acked-by: Kumar Gala ga...@kernel.crashing.org

For P1010RDB  p1_p2_rdb_pc.h

- k

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


Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Marek Vasut
 On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote:
  On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote:
   On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com 
wrote:
Hi Marek,

Thanks for you review.

On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut
marek.va...@gmail.com
  
  wrote:
 From: Govindraj.R govindraj.r...@ti.com
 
 Clean up added ehci-omap.c and make it generic for re-use
 across soc having same ehci ip block. Also pass the modes to
 be configured and configure the ports accordingly. All usb
 layers are not cache aligned till then keep cache off for usb
 ops as ehci will use internally dma for all usb ops.
 
 * Add a generic common header ehci-omap.h having common ip
 block data and reg shifts.
 * Rename and modify ehci-omap3 to ehci.h retain only
 conflicting sysc reg shifts remove others and move to common
 header file.
 
 Don't reimplement the ulpi stuff ... there's already some ulpi
 stuff in uboot that needs fixing, so fix it and use it.

I am not implementing any ulpi stuff I am just configuring OMAP on
soc usb host controller (ehci). All the configuration stuff
is OMAP specific things which are done in ehci-omap.c file

stuffs done are like soft-reset, port mode to be used and putting
port in no -idle mode(omap specific pm implementation) etc.

This stuff:

+/* ULPI */
+#define ULPI_SET(a)(a + 1)
+#define ULPI_CLR(a)(a + 2)
+#define ULPI_FUNC_CTRL 0x04
+#define ULPI_FUNC_CTRL_RESET   (1  5)

is just accidentally conforming to ULPI spec?
   
   These are for configuring INSNREG05_ULPI reg in EHCI reg map
   of omap while configuring in ulpi-phy mode.
   
   looking into struct ulpi_regs {..}
   then it doesn't map this configuration.
   
   Can you point me to some documentation about this please? It's not
   that I don't trust you, I'd rather prefer to avoid unnecessary
   duplication.
  
  Yes that would be fine.
  
  You can download the omap4460 public trm from here:
  
  http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip
  
  Go to chapter 23.11.6.6.1 EHCI Register Summary
  (page number 5171 and 5186/87)
  
  Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for
  that purpose, the struct ulpi_regs is fitting ok.
  
  Actually ... can you check the ulpi_read and ulpi_write stuff that's
  already in u-boot and explain why they can not be used with this port?
 
 echi-omap.c is no where writing to those registers
 and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map
 
 reg map in 23.11.6.3 used only for a external ulpi-phy communication.
 and debug purpose(to view vid, pid etc) and to hack external phy
 configuration through ulpi commands
 from omap - usb host controller point of view only needs
 INSNREG05_ULPI reg in EHCI reg configuration
 rest on soc host controller takes care of it.

Can someone else comment on this? I think I don't understand well (as I'm not 
OMAP guy).

M
 
 --
 Thanks,
 Govindraj.R
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 2/2 V3] Changes to move hawkboard to the new spl infrastructure.

2012-01-11 Thread Sughosh Ganu
This patch moves hawkboard to the new spl infrastructure from the
older nand_spl one.

Removed the hawkboard_nand_config build option -- The spl code now
gets compiled with hawkboard_config, after building the main u-boot
image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard
to reflect the same.

Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com
Signed-off-by: Heiko Schocher h...@denx.de
Cc: Heiko Schocher h...@denx.de
Cc: Christian Riesch christian.rie...@omicron.at
Cc: Sudhakar Rajashekhara sudhakar@ti.com
Cc: Tom Rini tr...@ti.com
---

Changes since V2
* Made changes to fix build break on enbw_cmc board.
* Replaced defines used for conditionally compiling code in
  da850_lowlevel.c to the ones suggested by Heiko.
* Removed unwanted defines from the config files which were added in
  V1.

Changes since V1
* Use a common file instead of board specific files for spl,
based on review comments from Christian and Heiko.

 arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c|   23 ++--
 arch/arm/cpu/arm926ejs/davinci/spl.c   |4 +-
 arch/arm/include/asm/arch-davinci/da850_lowlevel.h |9 +
 board/davinci/da8xxevm/da850evm.c  |4 +-
 board/davinci/da8xxevm/hawkboard.c |   23 +++
 board/davinci/da8xxevm/hawkboard_nand_spl.c|  115 ---
 .../{u-boot-spl.lds = u-boot-spl-da850evm.lds}|0
 .../davinci/da8xxevm/u-boot-spl-hawk.lds   |   22 ++-
 board/enbw/enbw_cmc/enbw_cmc.c |   13 +--
 boards.cfg |1 -
 doc/README.hawkboard   |   43 +++---
 include/configs/da850evm.h |5 +-
 include/configs/enbw_cmc.h |2 +
 include/configs/hawkboard.h|   23 +++-
 nand_spl/board/davinci/da8xxevm/Makefile   |  155 
 15 files changed, 111 insertions(+), 331 deletions(-)
 delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c
 rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} 
(100%)
 rename nand_spl/board/davinci/da8xxevm/u-boot.lds = 
board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%)
 delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile

diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
index a532f8a..a404916 100644
--- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
+++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
@@ -32,6 +32,7 @@
 #include asm/arch/emif_defs.h
 #include asm/arch/pll_defs.h
 
+#if defined(CONFIG_SYS_DA850_DDR_INIT)
 void da850_waitloop(unsigned long loopcnt)
 {
unsigned long   i;
@@ -235,6 +236,7 @@ int da850_ddr_setup(void)
 
return 0;
 }
+#endif /* CONFIG_SYS_DA850_DDR_INIT */
 
 __attribute__((weak))
 void board_gpio_init(void)
@@ -242,10 +244,6 @@ void board_gpio_init(void)
return;
 }
 
-/* pinmux_resource[] vector is defined in the board specific file */
-extern const struct pinmux_resource pinmuxes[];
-extern const int pinmuxes_size;
-
 int arch_cpu_init(void)
 {
/* Unlock kick registers */
@@ -259,13 +257,11 @@ int arch_cpu_init(void)
if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size))
return 1;
 
+#if defined(CONFIG_SYS_DA850_PLL_INIT)
/* PLL setup */
da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM);
da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM);
-
-   /* GPIO setup */
-   board_gpio_init();
-
+#endif
/* setup CSn config */
 #if defined(CONFIG_SYS_DA850_CS2CFG)
writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr);
@@ -274,7 +270,15 @@ int arch_cpu_init(void)
writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr);
 #endif
 
-   lpsc_on(CONFIG_SYS_DA850_LPSC_UART);
+   da8xx_configure_lpsc_items(lpsc, lpsc_size);
+#if defined(CONFIG_SYS_DA850_DDR_INIT)
+   da850_ddr_setup();
+#endif
+
+   /* GPIO setup */
+   board_gpio_init();
+
+
NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1),
CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);
 
@@ -286,6 +290,5 @@ int arch_cpu_init(void)
DAVINCI_UART_PWREMU_MGMT_UTRST),
   davinci_uart2_ctrl_regs-pwremu_mgmt);
 
-   da850_ddr_setup();
return 0;
 }
diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c 
b/arch/arm/cpu/arm926ejs/davinci/spl.c
index f475f9b..74632e5 100644
--- a/arch/arm/cpu/arm926ejs/davinci/spl.c
+++ b/arch/arm/cpu/arm926ejs/davinci/spl.c
@@ -74,12 +74,12 @@ void board_init_f(ulong dummy)
 
 void board_init_r(gd_t *id, ulong dummy)
 {
-#ifdef CONFIG_SOC_DM365
+#ifdef CONFIG_SPL_NAND_LOAD
nand_init();
puts(Nand boot...\n);
nand_boot();
 #endif
-#ifdef CONFIG_SOC_DA8XX
+#ifdef CONFIG_SPL_SPI_LOAD
mem_malloc_init(CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_LEN,

[U-Boot] u-boot-imx on Freescale MX28EVK

2012-01-11 Thread Matthias Fuchs
Hi Fabio,

can you confirm that the current u-boot-imx tree runs fine
on the MX28EVK? I tried it but the debug console stays dead.

This is what I did:

1) make mx28evk
2) make u-boot.sb
3) ./tools/mxsboot sd u-boot.sb u-boot-sd.sb
4) prepare an SD card as described in doc/README.m28 (only one partition
of type 53)
5) dd u-boot-sd.sb to above partition
6) install SD and press power button

BTW: Did you ever try Freescales sd_loader to download u-boot
into RAM?

FYI: There also seems to be a Linux version of the USB loader
(http://svn.rockbox.org/viewvc.cgi/trunk/utils/imxtools/).

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Sughosh Ganu
On Wed Jan 11, 2012 at 02:52:44PM +0100, Marek Vasut wrote:

 Changing the ecc layout for a single board, hmm not sure. Using a
 spl instead does me no harm whatsoever -- I don't need to update the
 spl frequently in any case, and then can use the nand driver as is.
  
  And how do you replace the SPL?
  
  Either way, I think the correct approach is to allow the driver to handle
  the SPL update too.
 
 Or rather -- to be able to load u-boot directly. It seems to be more correct 
 solution. The SPL you're using is just a workaround and also you need to TI 
 flasher to replace it, right ?

  Yes, using the spl is a workaround, and like i mentioned in my
  previous mail, i thought having the spl was not a problem on the
  hawkboard. I had thought putting a new oob layout in the common
  davinci nand driver for a single board to be not a clean fix
  either. More so, given the fact that we don't have any control over
  rbl -- so if rbl changes it's layout for any subsequent board, we'd
  have to add that as well to the nand driver, and both in u-boot as
  well as the kernel.

  I guess the cleanest solution would have been for the rbl to have
  used the same layout as the one used by u-boot and linux.

  Btw, can you please review this change, that this patch
  fixes. ACK/NAK?

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 On Wed Jan 11, 2012 at 02:52:44PM +0100, Marek Vasut wrote:
  Changing the ecc layout for a single board, hmm not sure. Using a
  spl instead does me no harm whatsoever -- I don't need to update
  the spl frequently in any case, and then can use the nand driver
  as is.
   
   And how do you replace the SPL?
   
   Either way, I think the correct approach is to allow the driver to
   handle the SPL update too.
  
  Or rather -- to be able to load u-boot directly. It seems to be more
  correct solution. The SPL you're using is just a workaround and also you
  need to TI flasher to replace it, right ?
 
   Yes, using the spl is a workaround, and like i mentioned in my
   previous mail, i thought having the spl was not a problem on the
   hawkboard. I had thought putting a new oob layout in the common
   davinci nand driver for a single board to be not a clean fix
   either.

Then just allow the driver to be passed different OOB layout and make the 
current one a default

   More so, given the fact that we don't have any control over
   rbl -- so if rbl changes it's layout for any subsequent board, we'd
   have to add that as well to the nand driver, and both in u-boot as
   well as the kernel.
 
   I guess the cleanest solution would have been for the rbl to have
   used the same layout as the one used by u-boot and linux.

Yep, why not do that then?

 
   Btw, can you please review this change, that this patch
   fixes. ACK/NAK?

I'll think about it. It's ok, but it piles one workaround on top of another 
one, 
I don't like that approach.

M

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


Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Igor Grinberg
Hi Guys,

On 01/11/12 16:34, Marek Vasut wrote:
 On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote:
 On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com wrote:
 On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com 
 wrote:
 Hi Marek,

 Thanks for you review.

 On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut
 marek.va...@gmail.com

 wrote:
 From: Govindraj.R govindraj.r...@ti.com

 Clean up added ehci-omap.c and make it generic for re-use
 across soc having same ehci ip block. Also pass the modes to
 be configured and configure the ports accordingly. All usb
 layers are not cache aligned till then keep cache off for usb
 ops as ehci will use internally dma for all usb ops.

 * Add a generic common header ehci-omap.h having common ip
 block data and reg shifts.
 * Rename and modify ehci-omap3 to ehci.h retain only
 conflicting sysc reg shifts remove others and move to common
 header file.

 Don't reimplement the ulpi stuff ... there's already some ulpi
 stuff in uboot that needs fixing, so fix it and use it.

 I am not implementing any ulpi stuff I am just configuring OMAP on
 soc usb host controller (ehci). All the configuration stuff
 is OMAP specific things which are done in ehci-omap.c file

 stuffs done are like soft-reset, port mode to be used and putting
 port in no -idle mode(omap specific pm implementation) etc.

 This stuff:

 +/* ULPI */
 +#define ULPI_SET(a)(a + 1)
 +#define ULPI_CLR(a)(a + 2)
 +#define ULPI_FUNC_CTRL 0x04
 +#define ULPI_FUNC_CTRL_RESET   (1  5)

 is just accidentally conforming to ULPI spec?

 These are for configuring INSNREG05_ULPI reg in EHCI reg map
 of omap while configuring in ulpi-phy mode.

 looking into struct ulpi_regs {..}
 then it doesn't map this configuration.

 Can you point me to some documentation about this please? It's not
 that I don't trust you, I'd rather prefer to avoid unnecessary
 duplication.

 Yes that would be fine.

 You can download the omap4460 public trm from here:

 http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip

 Go to chapter 23.11.6.6.1 EHCI Register Summary
 (page number 5171 and 5186/87)

 Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And for
 that purpose, the struct ulpi_regs is fitting ok.

 Actually ... can you check the ulpi_read and ulpi_write stuff that's
 already in u-boot and explain why they can not be used with this port?

 echi-omap.c is no where writing to those registers
 and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg map

 reg map in 23.11.6.3 used only for a external ulpi-phy communication.
 and debug purpose(to view vid, pid etc) and to hack external phy
 configuration through ulpi commands
 from omap - usb host controller point of view only needs
 INSNREG05_ULPI reg in EHCI reg configuration
 rest on soc host controller takes care of it.
 
 Can someone else comment on this? I think I don't understand well (as I'm not 
 OMAP guy).

Well, it is on my list, actually,
but I will be able to get to it only in a couple of days.
(I'm really busy right now).


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


[U-Boot] Help needed on Colibri T20 - Iris Board

2012-01-11 Thread Stéphane Carvalho
We are 2 engineering students from Fribourg, Switzerland working on a
embedded systems project.

The fact is that we're looking to setup U-Boot on a Colibri Iris Board
using the Colibri T20 module with NVIDIA Tegra 2 processor.

Since the Iris board is a relatively new board, it is difficult for us to
find information about it.

We managed to install a recent uboot on the board but it is not very
efficient. The major problem is that we aren't able to run the
*saveenv*command in order to save the environnement. Does anyone have
any ideas
about the problem? Or patches to recommend us?

We don't have much experience in embedded systems so a little help from you
would be much appreciated.

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


Re: [U-Boot] [RFC] [PATCH] DaVinci/i2c: allow multiple buses

2012-01-11 Thread Jérôme Carretero
On Wed, 11 Jan 2012 07:52:41 +0100
Heiko Schocher h...@denx.de wrote:

 Yes, that is the actual (not really nice) state to implement the
 multibus feature for i2c. The better way would be to go this way:
 
 http://git.denx.de/?p=u-boot/u-boot-i2c.git;a=shortlog;h=refs/heads/multibus_v2_2012
 
 but this branch is not up to date, some test on at last powerpc
 and arm architectures should be done, and there are a lof of
 checkpatch errors in this branch (any help is welcome ;-) ... so there
 is some work to do, before this can go to mainline ...

Thanks for the pointer.
I'll parse that code and do some testing on ARM (DaVinci).

Regards,

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


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Sughosh Ganu
On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote:

More so, given the fact that we don't have any control over
rbl -- so if rbl changes it's layout for any subsequent board, we'd
have to add that as well to the nand driver, and both in u-boot as
well as the kernel.
  
I guess the cleanest solution would have been for the rbl to have
used the same layout as the one used by u-boot and linux.
 
 Yep, why not do that then?

  Because rbl is a proprietary bootloader from TI.

  
Btw, can you please review this change, that this patch
fixes. ACK/NAK?
 
 I'll think about it. It's ok, but it piles one workaround on top of another 
 one, 
 I don't like that approach.

  Flushing the data cache before disabling it is not a workaround,
  it's a fix. The current code is invalidating the cache instead of
  flushing it.

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


Re: [U-Boot] u-boot-imx on Freescale MX28EVK

2012-01-11 Thread Fabio Estevam
Hi Matthias,

On Wed, Jan 11, 2012 at 12:41 PM, Matthias Fuchs matthias.fu...@esd.eu wrote:
 Hi Fabio,

 can you confirm that the current u-boot-imx tree runs fine
 on the MX28EVK? I tried it but the debug console stays dead.

Yes, it works fine.

 This is what I did:

 1) make mx28evk

I think you meant  mx28evk_config

 2) make u-boot.sb
 3) ./tools/mxsboot sd u-boot.sb u-boot-sd.sb
 4) prepare an SD card as described in doc/README.m28 (only one partition
 of type 53)
 5) dd u-boot-sd.sb to above partition
 6) install SD and press power button

On my board I don't have to press the power button in order to get the
console output.

Please check your MX28EVK settings:

- Boot Mode Select: 1 0 0 1

- JTAG PSWITCH RESET: To the left (reset enabled)

- Battery Source: Down

- Wall 5V: Up

- VDD 5V: To the left (off)

- Hold Button: Down (off)

Also, I have only tested this on a MX28EVK rev.D board.


 BTW: Did you ever try Freescales sd_loader to download u-boot
 into RAM?

 FYI: There also seems to be a Linux version of the USB loader
 (http://svn.rockbox.org/viewvc.cgi/trunk/utils/imxtools/).

I haven't tried this yet.

Regards,

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


Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms

2012-01-11 Thread Andreas Müller
On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org 
wrote:
 I got this to work with two changes:
 
 * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC
 20, since get_timer does operate on msec in the current meta-ti
 BeagleBoard-xM
 
 * The patch below, which is what I think fixes the real problem (that
 PSTATE.CMDI is still lit up when the function is entered).
 
 diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
 index c38b9e6..62b659a 100644
 --- a/drivers/mmc/omap_hsmmc.c
 +++ b/drivers/mmc/omap_hsmmc.c
 @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct
 mmc_cmd *cmd,
 ulong start;
 
 start = get_timer(0);
 -   while ((readl(mmc_base-pstate)  DATI_MASK) == DATI_CMDDIS) {
 +#define CMDI_MASK  (0x1  0)
 +   while ((readl(mmc_base-pstate)  (DATI_MASK | CMDI_MASK))) {
 if (get_timer(0) - start  MAX_RETRY_MS) {
 printf(%s: timedout waiting for cmddis!\n,
 __func__); return TIMEOUT;
 
 Peter
I tested this with success and I think this is the correct solution. 
Peter: can you send a proper patch for this?

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


Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms

2012-01-11 Thread Tom Rini
On Wed, Jan 11, 2012 at 8:31 AM, Andreas Müller schnitzelt...@gmx.de wrote:
 On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org
 wrote:
 I got this to work with two changes:

 * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC
 20, since get_timer does operate on msec in the current meta-ti
 BeagleBoard-xM

 * The patch below, which is what I think fixes the real problem (that
 PSTATE.CMDI is still lit up when the function is entered).

 diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
 index c38b9e6..62b659a 100644
 --- a/drivers/mmc/omap_hsmmc.c
 +++ b/drivers/mmc/omap_hsmmc.c
 @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct
 mmc_cmd *cmd,
         ulong start;

         start = get_timer(0);
 -       while ((readl(mmc_base-pstate)  DATI_MASK) == DATI_CMDDIS) {
 +#define CMDI_MASK                      (0x1  0)
 +       while ((readl(mmc_base-pstate)  (DATI_MASK | CMDI_MASK))) {
                 if (get_timer(0) - start  MAX_RETRY_MS) {
                         printf(%s: timedout waiting for cmddis!\n,
 __func__); return TIMEOUT;

 Peter
 I tested this with success and I think this is the correct solution.
 Peter: can you send a proper patch for this?

I ordered the same card Peter sees failure on and it arrived
yesterday.  I'm formatting it now and will see if I can duplicate the
problem here today.

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


Re: [U-Boot] [PATCH] omap: mmc: Raise timeout value to 20ms

2012-01-11 Thread Peter Bigot
On Wed, Jan 11, 2012 at 9:31 AM, Andreas Müller schnitzelt...@gmx.de wrote:
 On Wednesday, January 04, 2012 01:22:29 AM Peter Bigot bigotp at acm.org
 wrote:
 I got this to work with two changes:

 * s/MMC_TIMEOUT_USEC/MMC_TIMEOUT_MSEC/g and define MMC_TIMEOUT_MSEC
 20, since get_timer does operate on msec in the current meta-ti
 BeagleBoard-xM

 * The patch below, which is what I think fixes the real problem (that
 PSTATE.CMDI is still lit up when the function is entered).

 diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
 index c38b9e6..62b659a 100644
 --- a/drivers/mmc/omap_hsmmc.c
 +++ b/drivers/mmc/omap_hsmmc.c
 @@ -198,7 +198,8 @@ static int mmc_send_cmd(struct mmc *mmc, struct
 mmc_cmd *cmd,
         ulong start;

         start = get_timer(0);
 -       while ((readl(mmc_base-pstate)  DATI_MASK) == DATI_CMDDIS) {
 +#define CMDI_MASK                      (0x1  0)
 +       while ((readl(mmc_base-pstate)  (DATI_MASK | CMDI_MASK))) {
                 if (get_timer(0) - start  MAX_RETRY_MS) {
                         printf(%s: timedout waiting for cmddis!\n,
 __func__); return TIMEOUT;

 Peter
 I tested this with success and I think this is the correct solution.
 Peter: can you send a proper patch for this?

I'm hoping Tom replicates the problem, but if not, I think the fix is
still necessary: it seems obviously wrong that the delay waits for
data inhibit to clear but not for command inhibit to clear.  In my
situation I really was seeing DATI_MASK clear but CMDI_MASK set after
the loop.

Since the fix requires adding the CMDI_MASK to one or more header
files (it's not defined there at this time), and probably a review of
all other references to base-pstate to see if they have the same
issue, I'd prefer to leave it to Tom or other real maintainers.

Peter


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


Re: [U-Boot] [PATCH v4 0/5] Added SPL support

2012-01-11 Thread Tom Rini
On 01/09/2012 11:38 PM, Chandan Nath wrote:
 This patch series is submitted to add support for MMC/SD along
 with SPL support. Also, fixed incorrect register offset of
 ddr and timer registers.
 
 The patches have been compile tested and run on AM335X EVM.
 
 The patches depends on previous patch series which was submitted
 for supporting AM33xx platform.
 
 The patches are applies on uboot master branch.

As Thomas Weber notes, this now runs on Beaglebone too so in the future
please make sure to test with both platforms.  Thanks.  And this looks
good to me so I'm just now waiting for any further comments before
putting this into u-boot-ti.

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


Re: [U-Boot] [PATCH v7] net: ll_temac: Add LL TEMAC driver to u-boot

2012-01-11 Thread Wolfgang Denk
Dear Stephan Linz,

In message 1325956366.18981.47.camel@keto you wrote:

 I'll provide the same way for the Xilinx LL_TEMAC driver as for the
 Xilinx AXI-EMAC driver. I prepare the microblaze-generic board code to
 support all potential Ethernet drivers but leave out the specific usage.
 You are right when you say that there is no code that refere to the new
 driver code -- there are also no configuration for this. And yes we
 adapt/change the xparameters.h out of mainline tree to enable the driver
 code -- but I think, that is not really a out of tree port.
 
 But what would be the best implementation for unspecified targets here?

The question is actually a very simple one here: is there any board
configuration in mainline that will actually compile and link against
this driver?  If yes, then everything is fine.  If not, we would not
even know if there were gross syntax errors in that code, and we would
never notce when changes to other parts break compatibility with it.

This is why I will not add any code that is not used in mainline -
out-of-tree users don't help a bit.

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 human mind ordinarily operates at only ten percent of its capaci-
ty - the rest is overhead for the operating system.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/2 V3] Changes to move hawkboard to the new spl infrastructure.

2012-01-11 Thread Christian Riesch
Hello Sughosh,
I did a quick test on the da850evm with the SPL for booting from SPI
and it worked. I have a few comments below.

On Wed, Jan 11, 2012 at 3:37 PM, Sughosh Ganu urwithsugh...@gmail.com wrote:
 This patch moves hawkboard to the new spl infrastructure from the
 older nand_spl one.

 Removed the hawkboard_nand_config build option -- The spl code now
 gets compiled with hawkboard_config, after building the main u-boot
 image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard
 to reflect the same.

 Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com
 Signed-off-by: Heiko Schocher h...@denx.de
 Cc: Heiko Schocher h...@denx.de
 Cc: Christian Riesch christian.rie...@omicron.at
 Cc: Sudhakar Rajashekhara sudhakar@ti.com
 Cc: Tom Rini tr...@ti.com
 ---

 Changes since V2
 * Made changes to fix build break on enbw_cmc board.
 * Replaced defines used for conditionally compiling code in
  da850_lowlevel.c to the ones suggested by Heiko.
 * Removed unwanted defines from the config files which were added in
  V1.

 Changes since V1
 * Use a common file instead of board specific files for spl,
 based on review comments from Christian and Heiko.

  arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c    |   23 ++--
  arch/arm/cpu/arm926ejs/davinci/spl.c               |    4 +-
  arch/arm/include/asm/arch-davinci/da850_lowlevel.h |    9 +
  board/davinci/da8xxevm/da850evm.c                  |    4 +-
  board/davinci/da8xxevm/hawkboard.c                 |   23 +++
  board/davinci/da8xxevm/hawkboard_nand_spl.c        |  115 ---
  .../{u-boot-spl.lds = u-boot-spl-da850evm.lds}    |    0
  .../davinci/da8xxevm/u-boot-spl-hawk.lds           |   22 ++-
  board/enbw/enbw_cmc/enbw_cmc.c                     |   13 +--
  boards.cfg                                         |    1 -
  doc/README.hawkboard                               |   43 +++---
  include/configs/da850evm.h                         |    5 +-
  include/configs/enbw_cmc.h                         |    2 +
  include/configs/hawkboard.h                        |   23 +++-
  nand_spl/board/davinci/da8xxevm/Makefile           |  155 
 
  15 files changed, 111 insertions(+), 331 deletions(-)
  delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c
  rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} 
 (100%)
  rename nand_spl/board/davinci/da8xxevm/u-boot.lds = 
 board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%)
  delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile

 diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
 b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 index a532f8a..a404916 100644
 --- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 +++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
 @@ -32,6 +32,7 @@
  #include asm/arch/emif_defs.h
  #include asm/arch/pll_defs.h

 +#if defined(CONFIG_SYS_DA850_DDR_INIT)

When CONFIG_SYS_DA850_DDR_INIT is not defined, you also remove the PLL
initialization functions with this ifdef. I think this is not very
beautiful since there is a separate CONFIG_SYS_DA850_PLL_INIT. Please
put #if defined(CONFIG_SYS_DA850_DDR_INIT) only around DDR
initialization functions and #if defined(CONFIG_SYS_DA850_PLL_INIT)
around the PLL init functions instead.

  void da850_waitloop(unsigned long loopcnt)
  {
        unsigned long   i;
 @@ -235,6 +236,7 @@ int da850_ddr_setup(void)

        return 0;
  }
 +#endif /* CONFIG_SYS_DA850_DDR_INIT */

  __attribute__((weak))
  void board_gpio_init(void)
 @@ -242,10 +244,6 @@ void board_gpio_init(void)
        return;
  }

 -/* pinmux_resource[] vector is defined in the board specific file */
 -extern const struct pinmux_resource pinmuxes[];
 -extern const int pinmuxes_size;
 -
  int arch_cpu_init(void)
  {
        /* Unlock kick registers */
 @@ -259,13 +257,11 @@ int arch_cpu_init(void)
        if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size))
                return 1;

 +#if defined(CONFIG_SYS_DA850_PLL_INIT)
        /* PLL setup */
        da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM);
        da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM);
 -
 -       /* GPIO setup */
 -       board_gpio_init();
 -
 +#endif
        /* setup CSn config */
  #if defined(CONFIG_SYS_DA850_CS2CFG)
        writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr);
 @@ -274,7 +270,15 @@ int arch_cpu_init(void)
        writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr);
  #endif

 -       lpsc_on(CONFIG_SYS_DA850_LPSC_UART);
 +       da8xx_configure_lpsc_items(lpsc, lpsc_size);
 +#if defined(CONFIG_SYS_DA850_DDR_INIT)
 +       da850_ddr_setup();
 +#endif
 +
 +       /* GPIO setup */
 +       board_gpio_init();
 +
 +
        NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1),
                        CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);

 @@ -286,6 +290,5 @@ int arch_cpu_init(void)
                DAVINCI_UART_PWREMU_MGMT_UTRST),
               

Re: [U-Boot] [PATCH] configs: Remove CONFIG_NET_MULTI from board files

2012-01-11 Thread Tom Rini
On Wed, Jan 11, 2012 at 5:47 AM, Fabio Estevam feste...@gmail.com wrote:
 CONFIG_NET_MULTI is not used anymore, so remove it from board files.

 Cc: Marek Vasut marek.va...@gmail.com
 Cc: Stefano Babic sba...@denx.de
 Cc: Kumar Gala kumar.g...@freescale.com
 Cc: Sandeep Paulraj s-paul...@ti.com
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com
 ---
  include/configs/P1010RDB.h         |    5 -
  include/configs/PM826.h            |    2 --
  include/configs/PM828.h            |    2 --
  include/configs/cam_enc_4xx.h      |    1 -
  include/configs/coreboot.h         |    6 --
  include/configs/da850_am18xxevm.h  |    1 -
  include/configs/ecovec.h           |    1 -
  include/configs/efikamx.h          |    1 -
  include/configs/enbw_cmc.h         |    1 -
  include/configs/ethernut5.h        |    1 -
  include/configs/flea3.h            |    1 -
  include/configs/m28evk.h           |    1 -
  include/configs/omap3_evm_common.h |    1 -
  include/configs/omap3_mvblx.h      |    1 -
  include/configs/p1_p2_rdb_pc.h     |    7 ---
  include/configs/tam3517-common.h   |    1 -
  16 files changed, 0 insertions(+), 33 deletions(-)

Acked-by: Tom Rini tr...@ti.com

For the TI parts.

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


[U-Boot] [PATCH 2/2 V4] Changes to move hawkboard to the new spl infrastructure

2012-01-11 Thread Sughosh Ganu
This patch moves hawkboard to the new spl infrastructure from the
older nand_spl one.

Removed the hawkboard_nand_config build option -- The spl code now
gets compiled with hawkboard_config, after building the main u-boot
image, using the CONFIG_SPL_TEXT_BASE. Modified the README.hawkboard
to reflect the same.

Signed-off-by: Sughosh Ganu urwithsugh...@gmail.com
Signed-off-by: Heiko Schocher h...@denx.de
Cc: Heiko Schocher h...@denx.de
Cc: Christian Riesch christian.rie...@omicron.at
Cc: Sudhakar Rajashekhara sudhakar@ti.com
Cc: Tom Rini tr...@ti.com
---

Changes since V3
* Removed CONFIG_SYS_DA850_LPSC_UART from enbw_cmc board.
* Restored the point at which da850_ddr_setup is called in
  arch_cpu_init
* Put the pll based functions under CONFIG_SYS_DA850_PLL_INIT

Changes since V2
* Made changes to fix build break on enbw_cmc board.
* Replaced defines used for conditionally compiling code in
  da850_lowlevel.c to the ones suggested by Heiko.
* Removed unwanted defines from the config files which were added in
  V1.

Changes since V1
* Use a common file instead of board specific files for spl,
based on review comments from Christian and Heiko.

 arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c|   24 ++-
 arch/arm/cpu/arm926ejs/davinci/spl.c   |4 +-
 arch/arm/include/asm/arch-davinci/da850_lowlevel.h |9 +
 board/davinci/da8xxevm/da850evm.c  |4 +-
 board/davinci/da8xxevm/hawkboard.c |   23 +++
 board/davinci/da8xxevm/hawkboard_nand_spl.c|  115 ---
 .../{u-boot-spl.lds = u-boot-spl-da850evm.lds}|0
 .../davinci/da8xxevm/u-boot-spl-hawk.lds   |   22 ++-
 board/enbw/enbw_cmc/enbw_cmc.c |   13 +--
 boards.cfg |1 -
 doc/README.hawkboard   |   43 +++---
 include/configs/da850evm.h |5 +-
 include/configs/enbw_cmc.h |4 +-
 include/configs/hawkboard.h|   23 +++-
 nand_spl/board/davinci/da8xxevm/Makefile   |  155 
 15 files changed, 114 insertions(+), 331 deletions(-)
 delete mode 100644 board/davinci/da8xxevm/hawkboard_nand_spl.c
 rename board/davinci/da8xxevm/{u-boot-spl.lds = u-boot-spl-da850evm.lds} 
(100%)
 rename nand_spl/board/davinci/da8xxevm/u-boot.lds = 
board/davinci/da8xxevm/u-boot-spl-hawk.lds (86%)
 delete mode 100644 nand_spl/board/davinci/da8xxevm/Makefile

diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c 
b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
index a532f8a..01bbc4e 100644
--- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
+++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
@@ -32,6 +32,7 @@
 #include asm/arch/emif_defs.h
 #include asm/arch/pll_defs.h
 
+#if defined(CONFIG_SYS_DA850_PLL_INIT)
 void da850_waitloop(unsigned long loopcnt)
 {
unsigned long   i;
@@ -156,7 +157,9 @@ int da850_pll_init(struct davinci_pllc_regs *reg, unsigned 
long pllmult)
 
return 0;
 }
+#endif /* CONFIG_SYS_DA850_PLL_INIT */
 
+#if defined(CONFIG_SYS_DA850_DDR_INIT)
 int da850_ddr_setup(void)
 {
unsigned long   tmp;
@@ -235,6 +238,7 @@ int da850_ddr_setup(void)
 
return 0;
 }
+#endif /* CONFIG_SYS_DA850_DDR_INIT */
 
 __attribute__((weak))
 void board_gpio_init(void)
@@ -242,10 +246,6 @@ void board_gpio_init(void)
return;
 }
 
-/* pinmux_resource[] vector is defined in the board specific file */
-extern const struct pinmux_resource pinmuxes[];
-extern const int pinmuxes_size;
-
 int arch_cpu_init(void)
 {
/* Unlock kick registers */
@@ -259,13 +259,11 @@ int arch_cpu_init(void)
if (davinci_configure_pin_mux_items(pinmuxes, pinmuxes_size))
return 1;
 
+#if defined(CONFIG_SYS_DA850_PLL_INIT)
/* PLL setup */
da850_pll_init(davinci_pllc0_regs, CONFIG_SYS_DA850_PLL0_PLLM);
da850_pll_init(davinci_pllc1_regs, CONFIG_SYS_DA850_PLL1_PLLM);
-
-   /* GPIO setup */
-   board_gpio_init();
-
+#endif
/* setup CSn config */
 #if defined(CONFIG_SYS_DA850_CS2CFG)
writel(CONFIG_SYS_DA850_CS2CFG, davinci_emif_regs-ab1cr);
@@ -274,7 +272,12 @@ int arch_cpu_init(void)
writel(CONFIG_SYS_DA850_CS3CFG, davinci_emif_regs-ab2cr);
 #endif
 
-   lpsc_on(CONFIG_SYS_DA850_LPSC_UART);
+   da8xx_configure_lpsc_items(lpsc, lpsc_size);
+
+   /* GPIO setup */
+   board_gpio_init();
+
+
NS16550_init((NS16550_t)(CONFIG_SYS_NS16550_COM1),
CONFIG_SYS_NS16550_CLK / 16 / CONFIG_BAUDRATE);
 
@@ -286,6 +289,9 @@ int arch_cpu_init(void)
DAVINCI_UART_PWREMU_MGMT_UTRST),
   davinci_uart2_ctrl_regs-pwremu_mgmt);
 
+#if defined(CONFIG_SYS_DA850_DDR_INIT)
da850_ddr_setup();
+#endif
+
return 0;
 }
diff --git a/arch/arm/cpu/arm926ejs/davinci/spl.c 
b/arch/arm/cpu/arm926ejs/davinci/spl.c
index f475f9b..74632e5 100644
--- 

Re: [U-Boot] [PATCH] cmd_source: introduce run_script()

2012-01-11 Thread Michael Walle
On Wed, January 11, 2012 00:40, Mike Frysinger wrote:
 On Tuesday 10 January 2012 18:04:19 Michael Walle wrote:
 --- a/common/cmd_source.c
 +++ b/common/cmd_source.c

 +/*
 + * Run a series of commands, separated by '\n'.
 + * Beware, the contents of script may be modified while it is parsed.
 + */
 +int run_script(char *script)

 const
const? const char *script? script is modified while parsing, see comment
above. I wanted to avoid copying.

 also, we already have run_command and run_command2, and they're both
 in
 common/main.c.  how about naming this source_commands and also putting
 it
 into common/main.c ?
i'm fine with that

-- 
michael

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


Re: [U-Boot] Help needed on Colibri T20 - Iris Board

2012-01-11 Thread Wolfgang Denk
Dear =?ISO-8859-1?Q?St=E9phane_Carvalho?=,

In message cajq7d22dstvskuq3dtsm7oxymatycugx2bz2q2osw2bbcej...@mail.gmail.com 
you wrote:

 We managed to install a recent uboot on the board but it is not very
 efficient. The major problem is that we aren't able to run the
 *saveenv*command in order to save the environnement. Does anyone have
 any ideas
 about the problem? Or patches to recommend us?

It would definitely be helpful if you describe which actual problem
you see?

Is the saveenv command not available at all? Does it reaturn any
error messages? Which exact messages?

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
Make it right before you make it faster.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] u-boot-imx on Freescale MX28EVK

2012-01-11 Thread Wolfgang Denk
Dear Fabio,

In message CAOMZO5C-dUk93S_zptECLKWH=csod3etgvcx5txo5dhusku...@mail.gmail.com 
you wrote:
 
 On my board I don't have to press the power button in order to get the
 console output.
...
 Also, I have only tested this on a MX28EVK rev.D board.

Our Rev. A board also starts only after pressing the power button.

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
Four thousand throats may be cut in one night by a running man.
-- Klingon Soldier, Day of the Dove, stardate unknown
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v2] bootm: Avoid 256-byte overflow in fixup_silent_linux()

2012-01-11 Thread Doug Anderson
This makes fixup_silent_linux() use malloc() to allocate its
working space, meaning that our maximum kernel command line
should only be limited by malloc().  Previously it was silently
overflowing the stack.

Note that nothing about this change increases the kernel's maximum
command line length.  If you have a command line that is 256
bytes it's up to you to make sure that kernel can handle it.

Signed-off-by: Doug Anderson diand...@chromium.org
---
Changes in v2:
- Tried to trim down to just the minimum changes needed with
no extra helper code.

 common/cmd_bootm.c |   38 --
 1 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index d5745b1..9a0c08d 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -1229,9 +1229,13 @@ U_BOOT_CMD(
 /* helper routines */
 /***/
 #ifdef CONFIG_SILENT_CONSOLE
+
+#define CONSOLE_ARG console=
+#define CONSOLE_ARG_LEN (sizeof(CONSOLE_ARG) - 1)
+
 static void fixup_silent_linux(void)
 {
-   char buf[256], *start, *end;
+   char *buf;
char *cmdline = getenv(bootargs);
 
/* Only fix cmdline when requested */
@@ -1239,25 +1243,39 @@ static void fixup_silent_linux(void)
return;
 
debug(before silent fix-up: %s\n, cmdline);
-   if (cmdline) {
-   start = strstr(cmdline, console=);
+   if (cmdline  (cmdline[0] != '\0')) {
+   char *start = strstr(cmdline, CONSOLE_ARG);
+
+   /* Allocate space for maximum possible new command line */
+   buf = malloc(strlen(cmdline) + 1 + CONSOLE_ARG_LEN + 1);
+   if (!buf) {
+   debug(%s: out of memory\n, __func__);
+   return;
+   }
+
if (start) {
-   end = strchr(start, ' ');
-   strncpy(buf, cmdline, (start - cmdline + 8));
+   char *end = strchr(start, ' ');
+   int num_start_bytes = start - cmdline + CONSOLE_ARG_LEN;
+
+   strncpy(buf, cmdline, num_start_bytes);
if (end)
-   strcpy(buf + (start - cmdline + 8), end);
+   strcpy(buf + num_start_bytes, end);
else
-   buf[start - cmdline + 8] = '\0';
+   buf[num_start_bytes] = '\0';
} else {
-   strcpy(buf, cmdline);
-   strcat(buf,  console=);
+   sprintf(buf, %s %s, cmdline, CONSOLE_ARG);
}
} else {
-   strcpy(buf, console=);
+   buf = strdup(CONSOLE_ARG);
+   if (!buf) {
+   debug(%s: strdup failed\n, __func__);
+   return;
+   }
}
 
setenv(bootargs, buf);
debug(after silent fix-up: %s\n, buf);
+   free(buf);
 }
 #endif /* CONFIG_SILENT_CONSOLE */
 
-- 
1.7.3.1

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


Re: [U-Boot] [PATCH v3 3/3] config: Remove Blackfin CONFIG_DEPRECATED_SILENT_LINUX_CONSOLE

2012-01-11 Thread Doug Anderson
Dear Wolfgang,

On Wed, Jan 11, 2012 at 12:11 AM, Wolfgang Denk w...@denx.de wrote:
 I have to admit that I have no clear opinion here yet.

 The existing code is from a time when all architectures had a pretty
 low limit on the command line size - IIRC even PPC had only 256 bytes
 by then, hard coded.

 I think we have two options:

 1) Try not to exceed any limits imposed by the Linux kernel.
   Advantage: we can catch situations where the user overflows the
           limits and print an error message (IIRC this needs to be
           added), so the user gets aware of the pronlem.
   Disadvantage: we need to add architecture specific definitions for
           the command line size, and keep these in sync with any
           related changes to the Linux kernel.  We know in advance
           that this will not work really well.

 2) We just make sure not to overwrite array bounds in U-Boot, and
   allow passing arbitrary sized buffers to the Linux kernel.
   Advantage: the code in U-Boot can be simple and clean
   Disadvantage: the resulting behaviour is not exactly user-friendly,
           as a silent truncation in the Linux kernel is probably hard
           to spot.

 Hm...

 I agree that the old code needs fixing.  I think it would be nice if
 we could adapt U-Boot behaviour, but I fear that actually it cannot
 work at all, as we don't know which Linux kernel version the user will
 use, and what their limits might be.

 So in the end 2) is probably the most sensible approach here.

Thank you for all of your time on this issue.  I have just sent a
patch implementing 2) with as little extra cruft as possible (I hope).
 Let me know if there is anything else you need here.  Thanks!

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


Re: [U-Boot] u-boot-imx on Freescale MX28EVK

2012-01-11 Thread Fabio Estevam
Hi Wolfgang,

On Wed, Jan 11, 2012 at 3:55 PM, Wolfgang Denk w...@denx.de wrote:
 Dear Fabio,

 In message 
 CAOMZO5C-dUk93S_zptECLKWH=csod3etgvcx5txo5dhusku...@mail.gmail.com you 
 wrote:

 On my board I don't have to press the power button in order to get the
 console output.
 ...
 Also, I have only tested this on a MX28EVK rev.D board.

 Our Rev. A board also starts only after pressing the power button.

Does this patch help with this issue?
http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commit;h=1b5f9c2bbef7f61d19feadb48bf9535268425858

Regards,

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


Re: [U-Boot] [PATCH v2 1/4] ehci-omap: Clean up added ehci-omap.c

2012-01-11 Thread Marek Vasut
 Hi Guys,
 
 On 01/11/12 16:34, Marek Vasut wrote:
  On Wed, Jan 11, 2012 at 6:58 PM, Marek Vasut marek.va...@gmail.com wrote:
  On Wed, Jan 11, 2012 at 6:16 PM, Marek Vasut marek.va...@gmail.com 
wrote:
  On Wed, Jan 11, 2012 at 4:22 PM, Marek Vasut marek.va...@gmail.com
  
  wrote:
  Hi Marek,
  
  Thanks for you review.
  
  On Tue, Jan 10, 2012 at 9:37 PM, Marek Vasut
  marek.va...@gmail.com
  
  wrote:
  From: Govindraj.R govindraj.r...@ti.com
  
  Clean up added ehci-omap.c and make it generic for re-use
  across soc having same ehci ip block. Also pass the modes to
  be configured and configure the ports accordingly. All usb
  layers are not cache aligned till then keep cache off for usb
  ops as ehci will use internally dma for all usb ops.
  
  * Add a generic common header ehci-omap.h having common ip
  block data and reg shifts.
  * Rename and modify ehci-omap3 to ehci.h retain only
  conflicting sysc reg shifts remove others and move to common
  header file.
  
  Don't reimplement the ulpi stuff ... there's already some ulpi
  stuff in uboot that needs fixing, so fix it and use it.
  
  I am not implementing any ulpi stuff I am just configuring OMAP on
  soc usb host controller (ehci). All the configuration stuff
  is OMAP specific things which are done in ehci-omap.c file
  
  stuffs done are like soft-reset, port mode to be used and putting
  port in no -idle mode(omap specific pm implementation) etc.
  
  This stuff:
  
  +/* ULPI */
  +#define ULPI_SET(a)(a + 1)
  +#define ULPI_CLR(a)(a + 2)
  +#define ULPI_FUNC_CTRL 0x04
  +#define ULPI_FUNC_CTRL_RESET   (1  5)
  
  is just accidentally conforming to ULPI spec?
  
  These are for configuring INSNREG05_ULPI reg in EHCI reg map
  of omap while configuring in ulpi-phy mode.
  
  looking into struct ulpi_regs {..}
  then it doesn't map this configuration.
  
  Can you point me to some documentation about this please? It's not
  that I don't trust you, I'd rather prefer to avoid unnecessary
  duplication.
  
  Yes that would be fine.
  
  You can download the omap4460 public trm from here:
  
  http://www.ti.com/pdfs/wtbu/OMAP4460_ES.1x_PUBLIC_TRM_vM.zip
  
  Go to chapter 23.11.6.6.1 EHCI Register Summary
  (page number 5171 and 5186/87)
  
  Sure, but the macro above looks more like 23.11.6.3, doesn't it ? And
  for that purpose, the struct ulpi_regs is fitting ok.
  
  Actually ... can you check the ulpi_read and ulpi_write stuff that's
  already in u-boot and explain why they can not be used with this port?
  
  echi-omap.c is no where writing to those registers
  and the macro was used only to configure INSNREG05_ULPI reg in EHCI reg
  map
  
  reg map in 23.11.6.3 used only for a external ulpi-phy communication.
  and debug purpose(to view vid, pid etc) and to hack external phy
  configuration through ulpi commands
  from omap - usb host controller point of view only needs
  INSNREG05_ULPI reg in EHCI reg configuration
  rest on soc host controller takes care of it.
  
  Can someone else comment on this? I think I don't understand well (as I'm
  not OMAP guy).
 
 Well, it is on my list, actually,
 but I will be able to get to it only in a couple of days.
 (I'm really busy right now).

Good, please keep me updated, Igor. Thank you
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote:
 More so, given the fact that we don't have any control over
 rbl -- so if rbl changes it's layout for any subsequent board, we'd
 have to add that as well to the nand driver, and both in u-boot as
 well as the kernel.
 
 I guess the cleanest solution would have been for the rbl to have
 used the same layout as the one used by u-boot and linux.
  
  Yep, why not do that then?
 
   Because rbl is a proprietary bootloader from TI.

Don't we actually have replacement bootloader in uboot already ? You don't need 
xloader with uboot anymore I think.

 
 Btw, can you please review this change, that this patch
 fixes. ACK/NAK?
  
  I'll think about it. It's ok, but it piles one workaround on top of
  another one, I don't like that approach.
 
   Flushing the data cache before disabling it is not a workaround,
   it's a fix. The current code is invalidating the cache instead of
   flushing it.

Ok, but I'd like to see proper solution eventually.
 
 -sughosh
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Help needed on Colibri T20 - Iris Board

2012-01-11 Thread Marek Vasut
 Dear =?ISO-8859-1?Q?St=E9phane_Carvalho?=,
 
 In message CAJq7D22dStVsKUq3DTsM7OXYMATycUgX2bz2Q2OSW2bbceJX-
g...@mail.gmail.com you wrote:
  We managed to install a recent uboot on the board but it is not very
  efficient. The major problem is that we aren't able to run the
  *saveenv*command in order to save the environnement. Does anyone have
  any ideas
  about the problem? Or patches to recommend us?
 
 It would definitely be helpful if you describe which actual problem
 you see?
 
 Is the saveenv command not available at all? Does it reaturn any
 error messages? Which exact messages?

Hi Wolfgang,

they don't have any storage media. They PMed me and I explained to them. 
Anyway, 
I suspect we won't be getting any further here as they decided to use out-of-
tree port (sadly).

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


Re: [U-Boot] [PATCH] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option

2012-01-11 Thread Kumar Gala

On Dec 20, 2011, at 10:33 AM, Fabio Estevam wrote:

 Since commit 97039ab98 (env_mmc: Allow board code to override the environment 
 address)
 mmc_get_env_addr is a weak-aliased function in common/env_mmc.c
 
 The mmc_get_env_addr implementation that exists at
 board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC 
 boards,
 but currently it is being used for all platforms that have 
 CONFIG_ENV_IS_IN_MMC defined.
 
 Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use 
 the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could 
 activate
 this config option on their board file.
 
 This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards.
 
 Signed-off-by: Fabio Estevam fabio.este...@freescale.com
 ---
 board/freescale/common/Makefile|2 +-
 board/freescale/common/sdhc_boot.c |2 ++
 include/configs/MPC8536DS.h|1 +
 include/configs/P1010RDB.h |1 +
 include/configs/P1_P2_RDB.h|1 +
 include/configs/P2020COME.h|1 +
 include/configs/P2020DS.h  |1 +
 include/configs/P2041RDB.h |1 +
 include/configs/corenet_ds.h   |1 +
 include/configs/p1_p2_rdb_pc.h |1 +
 10 files changed, 11 insertions(+), 1 deletions(-)
 
 diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
 index 9077aaf..5f8f7c6 100644
 --- a/board/freescale/common/Makefile
 +++ b/board/freescale/common/Makefile
 @@ -39,7 +39,7 @@ COBJS-$(CONFIG_PQ_MDS_PIB)  += pq-mds-pib.o
 COBJS-$(CONFIG_ID_EEPROM) += sys_eeprom.o
 COBJS-$(CONFIG_FSL_SGMII_RISER)   += sgmii_riser.o
 ifndef CONFIG_RAMBOOT_PBL
 -COBJS-$(CONFIG_ENV_IS_IN_MMC)+= sdhc_boot.o
 +COBJS-$(CONFIG_FSL_FIXED_MMC_LOCATION)   += sdhc_boot.o
 endif
 
 COBJS-$(CONFIG_MPC8541CDS)+= cds_pci_ft.o
 diff --git a/board/freescale/common/sdhc_boot.c 
 b/board/freescale/common/sdhc_boot.c
 index e432318..68c335b 100644
 --- a/board/freescale/common/sdhc_boot.c
 +++ b/board/freescale/common/sdhc_boot.c
 @@ -32,6 +32,7 @@
 #define ESDHC_BOOT_IMAGE_SIZE 0x48
 #define ESDHC_BOOT_IMAGE_ADDR 0x50
 
 +#ifdef CONFIG_FSL_FIXED_MMC_LOCATION

Why is this ifdef needed since we already have it dealt with in the Makefile?

 int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
 {
   u8 *tmp_buf;
 @@ -61,3 +62,4 @@ int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
 
   return 0;
 }
 +#endif
 diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
 index 16db98f..4b5373c 100644
 --- a/include/configs/MPC8536DS.h
 +++ b/include/configs/MPC8536DS.h
 @@ -659,6 +659,7 @@
 #define CONFIG_ENV_SECT_SIZE  0x1
 #elif defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
 +#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE   0x2000
 #define CONFIG_SYS_MMC_ENV_DEV  0
 #else
 diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
 index af4609f..0a22a5c 100644
 --- a/include/configs/P1010RDB.h
 +++ b/include/configs/P1010RDB.h
 @@ -609,6 +609,7 @@ extern unsigned long get_sdram_size(void);
 #if defined(CONFIG_SYS_RAMBOOT)
 #if defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
 +#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_SYS_MMC_ENV_DEV0
 #define CONFIG_ENV_SIZE   0x2000
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
 diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
 index 00fa74d..29f016b 100644
 --- a/include/configs/P1_P2_RDB.h
 +++ b/include/configs/P1_P2_RDB.h
 @@ -519,6 +519,7 @@ extern unsigned long get_board_sys_clk(unsigned long 
 dummy);
   #define CONFIG_ENV_OFFSET   ((512 * 1024) + 
 CONFIG_SYS_NAND_BLOCK_SIZE)
 #elif defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
 +#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE   0x2000
 #define CONFIG_SYS_MMC_ENV_DEV0
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
 diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h
 index cf20d2b..f3d1db0 100644
 --- a/include/configs/P2020COME.h
 +++ b/include/configs/P2020COME.h
 @@ -350,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long 
 dummy);
  */
 #if defined(CONFIG_RAMBOOT_SDCARD)
   #define CONFIG_ENV_IS_IN_MMC1
 + #define CONFIG_FSL_FIXED_MMC_LOCATION
   #define CONFIG_ENV_SIZE 0x2000
   #define CONFIG_SYS_MMC_ENV_DEV  0
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
 diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h
 index 2d9657a..2d9b916 100644
 --- a/include/configs/P2020DS.h
 +++ b/include/configs/P2020DS.h
 @@ -596,6 +596,7 @@
  */
 #if defined(CONFIG_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
 +#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE   0x2000
 #define CONFIG_SYS_MMC_ENV_DEV0
 #elif defined(CONFIG_SPIFLASH)
 diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
 index 

[U-Boot] [PATCH v2] sdhc_boot: Introduce CONFIG_FSL_FIXED_MMC_LOCATION option

2012-01-11 Thread Fabio Estevam
Since commit 97039ab98 (env_mmc: Allow board code to override the environment 
address)
mmc_get_env_addr is a weak-aliased function in common/env_mmc.c

The mmc_get_env_addr implementation that exists at
board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC boards,
but currently it is being used for all platforms that have CONFIG_ENV_IS_IN_MMC 
defined.

Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use 
the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could 
activate
this config option on their board file.

This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards.

Signed-off-by: Fabio Estevam fabio.este...@freescale.com
---
Changes since v1:
- Remove unneeded ifdef from board/freescale/common/sdhc_boot.c
 board/freescale/common/Makefile |2 +-
 include/configs/MPC8536DS.h |1 +
 include/configs/P1010RDB.h  |1 +
 include/configs/P1_P2_RDB.h |1 +
 include/configs/P2020COME.h |1 +
 include/configs/P2020DS.h   |1 +
 include/configs/P2041RDB.h  |1 +
 include/configs/corenet_ds.h|1 +
 include/configs/p1_p2_rdb_pc.h  |1 +
 9 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
index 9077aaf..0b40dc7 100644
--- a/board/freescale/common/Makefile
+++ b/board/freescale/common/Makefile
@@ -39,7 +39,7 @@ COBJS-$(CONFIG_PQ_MDS_PIB)+= pq-mds-pib.o
 COBJS-$(CONFIG_ID_EEPROM)  += sys_eeprom.o
 COBJS-$(CONFIG_FSL_SGMII_RISER)+= sgmii_riser.o
 ifndef CONFIG_RAMBOOT_PBL
-COBJS-$(CONFIG_ENV_IS_IN_MMC)  += sdhc_boot.o
+COBJS-$(CONFIG_FSL_FIXED_MMC_LOCATION) += sdhc_boot.o
 endif
 
 COBJS-$(CONFIG_MPC8541CDS) += cds_pci_ft.o
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 16db98f..c26cb63 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -659,6 +659,7 @@
 #define CONFIG_ENV_SECT_SIZE   0x1
 #elif defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE0x2000
 #define CONFIG_SYS_MMC_ENV_DEV  0
 #else
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index a9251b4..297cc0a 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -604,6 +604,7 @@ extern unsigned long get_sdram_size(void);
 #if defined(CONFIG_SYS_RAMBOOT)
 #if defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_SYS_MMC_ENV_DEV 0
 #define CONFIG_ENV_SIZE0x2000
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index 00fa74d..916b519 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -519,6 +519,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define CONFIG_ENV_OFFSET   ((512 * 1024) + 
CONFIG_SYS_NAND_BLOCK_SIZE)
 #elif defined(CONFIG_RAMBOOT_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE0x2000
 #define CONFIG_SYS_MMC_ENV_DEV 0
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h
index cf20d2b..365322c 100644
--- a/include/configs/P2020COME.h
+++ b/include/configs/P2020COME.h
@@ -350,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
  */
 #if defined(CONFIG_RAMBOOT_SDCARD)
#define CONFIG_ENV_IS_IN_MMC1
+   #define CONFIG_FSL_FIXED_MMC_LOCATION
#define CONFIG_ENV_SIZE 0x2000
#define CONFIG_SYS_MMC_ENV_DEV  0
 #elif defined(CONFIG_RAMBOOT_SPIFLASH)
diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h
index 2d9657a..f0eb029 100644
--- a/include/configs/P2020DS.h
+++ b/include/configs/P2020DS.h
@@ -596,6 +596,7 @@
  */
 #if defined(CONFIG_SDCARD)
 #define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_FSL_FIXED_MMC_LOCATION
 #define CONFIG_ENV_SIZE0x2000
 #define CONFIG_SYS_MMC_ENV_DEV 0
 #elif defined(CONFIG_SPIFLASH)
diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h
index a48055e..da98f8f 100644
--- a/include/configs/P2041RDB.h
+++ b/include/configs/P2041RDB.h
@@ -92,6 +92,7 @@
 #elif defined(CONFIG_SDCARD)
#define CONFIG_SYS_EXTRA_ENV_RELOC
#define CONFIG_ENV_IS_IN_MMC
+   #define CONFIG_FSL_FIXED_MMC_LOCATION
#define CONFIG_SYS_MMC_ENV_DEV  0
#define CONFIG_ENV_SIZE 0x2000
#define CONFIG_ENV_OFFSET   (512 * 1097)
diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h
index 7925b95..77dd0a2 100644
--- a/include/configs/corenet_ds.h
+++ b/include/configs/corenet_ds.h
@@ -88,6 +88,7 @@
 #elif defined(CONFIG_SDCARD)
 #define CONFIG_SYS_EXTRA_ENV_RELOC
 #define CONFIG_ENV_IS_IN_MMC
+#define 

[U-Boot] [PATCH 0/3] devkit3250: add Timll DevKit3250 board initial support

2012-01-11 Thread Vladimir Zapolskiy
This patchset adds generic NXP LPC32XX SoC support and basic support
for Embest/Timll DevKit3250 board, which powered by this SoC.

The patchset is done on top of u-boot/master branch. The general difference
of this resent series from the previous ones is that high speed UART driver
was added into support.

Vladimir Zapolskiy (3):
  arm926ejs: add NXP LPC32x0 cpu series support
  serial: add LPC32X0 high-speed UART devices support
  devkit3250: add Timll DevKit3250 board initial support

 MAINTAINERS   |4 +
 arch/arm/cpu/arm926ejs/lpc32xx/Makefile   |   45 +++
 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c   |  118 +
 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c  |   58 +
 arch/arm/cpu/arm926ejs/lpc32xx/devices.c  |   55 
 arch/arm/cpu/arm926ejs/lpc32xx/timer.c|   94 ++
 arch/arm/include/asm/arch-lpc32xx/clk.h   |  170 +
 arch/arm/include/asm/arch-lpc32xx/config.h|   75 +++
 arch/arm/include/asm/arch-lpc32xx/cpu.h   |   64 +
 arch/arm/include/asm/arch-lpc32xx/emc.h   |   92 +
 arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   25 
 arch/arm/include/asm/arch-lpc32xx/timer.h |   74 +++
 arch/arm/include/asm/arch-lpc32xx/uart.h  |  114 +
 arch/arm/include/asm/arch-lpc32xx/wdt.h   |   51 
 board/timll/devkit3250/Makefile   |   44 +++
 board/timll/devkit3250/devkit3250.c   |   71 ++
 boards.cfg|1 +
 drivers/serial/Makefile   |1 +
 drivers/serial/lpc32xx_hsuart.c   |  119 +
 include/configs/devkit3250.h  |  121 ++
 20 files changed, 1396 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h
 create mode 100644 board/timll/devkit3250/Makefile
 create mode 100644 board/timll/devkit3250/devkit3250.c
 create mode 100644 drivers/serial/lpc32xx_hsuart.c
 create mode 100644 include/configs/devkit3250.h

-- 
1.7.5.4

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


[U-Boot] [PATCH 1/3 v6] arm926ejs: add NXP LPC32x0 cpu series support

2012-01-11 Thread Vladimir Zapolskiy
This change adds initial support for NXP LPC32x0 SoC series.

Signed-off-by: Vladimir Zapolskiy v...@mleia.com
---
Changes from v5 to v6:
* replaced some spaces with tabs in macro declarations
* more rules separating 14-clock and ns16650 UARTs in config.h

Changes from v4 to v5:
* corrected address in GPLv2+ licence header in files

Changes from v3 to v4:
* extended memory controller definitions are introduced
* added print_cpuinfo() function

Changes from v2 to v3:
* checkpatch.pl reports zero errors and warnings

Changes from v1 to v2:
* BIT(n) and SBF(s, v) macro are not used anymore
* removed NS16550 and 14-clock UART definitions from uart.h
* added devices.c file, which contains standard UART preinitialization routine
* added get_serial_clock() function, it returns actual frequency of UART clock
* __udelay() realization is simplified, no need of interrupt handling

 arch/arm/cpu/arm926ejs/lpc32xx/Makefile   |   45 +++
 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c   |  118 +
 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c  |   58 +
 arch/arm/cpu/arm926ejs/lpc32xx/devices.c  |   47 +++
 arch/arm/cpu/arm926ejs/lpc32xx/timer.c|   94 ++
 arch/arm/include/asm/arch-lpc32xx/clk.h   |  170 +
 arch/arm/include/asm/arch-lpc32xx/config.h|   75 +++
 arch/arm/include/asm/arch-lpc32xx/cpu.h   |   64 +
 arch/arm/include/asm/arch-lpc32xx/emc.h   |   92 +
 arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   25 
 arch/arm/include/asm/arch-lpc32xx/timer.h |   74 +++
 arch/arm/include/asm/arch-lpc32xx/uart.h  |   54 
 arch/arm/include/asm/arch-lpc32xx/wdt.h   |   51 
 13 files changed, 967 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c
 create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h
 create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h

diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/Makefile 
b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile
new file mode 100644
index 000..e6222e4
--- /dev/null
+++ b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile
@@ -0,0 +1,45 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+
+include $(TOPDIR)/config.mk
+
+LIB = $(obj)lib$(SOC).o
+
+COBJS   = cpu.o clkpwr.o devices.o timer.o
+
+SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS:= $(addprefix $(obj),$(COBJS) $(SOBJS))
+
+all:$(obj).depend $(LIB)
+
+$(LIB): $(OBJS)
+   $(call cmd_link_o_target, $(OBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c 
b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
new file mode 100644
index 000..103157a
--- /dev/null
+++ b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com
+ *
+ * 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 

[U-Boot] [PATCH 2/3] serial: add LPC32X0 high-speed UART devices support

2012-01-11 Thread Vladimir Zapolskiy
This change adds an implementation of high-speed UART found on NXP
LPC32X0 SoCs. Such UARTs are enumerated as UART1, UART2 and UART7.

Signed-off-by: Vladimir Zapolskiy v...@mleia.com
---
 arch/arm/cpu/arm926ejs/lpc32xx/devices.c |8 ++
 arch/arm/include/asm/arch-lpc32xx/uart.h |   60 +++
 drivers/serial/Makefile  |1 +
 drivers/serial/lpc32xx_hsuart.c  |  119 ++
 4 files changed, 188 insertions(+), 0 deletions(-)
 create mode 100644 drivers/serial/lpc32xx_hsuart.c

diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/devices.c 
b/arch/arm/cpu/arm926ejs/lpc32xx/devices.c
index 7489fb5..df86b4e 100644
--- a/arch/arm/cpu/arm926ejs/lpc32xx/devices.c
+++ b/arch/arm/cpu/arm926ejs/lpc32xx/devices.c
@@ -30,6 +30,14 @@ void lpc32xx_uart_init(unsigned int uart_id)
 {
u32 val;
 
+   if (uart_id  1 || uart_id  7)
+   return;
+
+   /* Disable loopback mode, if it is set by S1L bootloader */
+   val = readl(uart_control-loop);
+   val = ~UART_LOOPBACK(CONFIG_SYS_LPC32XX_UART);
+   writel(val, uart_control-loop);
+
if (uart_id  3 || uart_id  6)
return;
 
diff --git a/arch/arm/include/asm/arch-lpc32xx/uart.h 
b/arch/arm/include/asm/arch-lpc32xx/uart.h
index 3c7e561..cb4853c 100644
--- a/arch/arm/include/asm/arch-lpc32xx/uart.h
+++ b/arch/arm/include/asm/arch-lpc32xx/uart.h
@@ -22,6 +22,66 @@
 
 #include asm/types.h
 
+/* 14-clock UART Registers */
+struct hsuart_t {
+   union {
+   u32 rx; /* Receiver FIFO*/
+   u32 tx; /* Transmitter FIFO */
+   };
+   u32 level;  /* FIFO Level Register  */
+   u32 iir;/* Interrupt ID Register*/
+   u32 ctrl;   /* Control Register */
+   u32 rate;   /* Rate Control Register*/
+};
+
+/* 14-clock UART Receiver FIFO Register bits */
+#define HSUART_RX_BREAK(1  10)
+#define HSUART_RX_ERROR(1  9)
+#define HSUART_RX_EMPTY(1  8)
+#define HSUART_RX_DATA (0xff  0)
+
+/* 14-clock UART Level Register bits */
+#define HSUART_LEVEL_TX(0xff  8)
+#define HSUART_LEVEL_RX(0xff  0)
+
+/* 14-clock UART Interrupt Identification Register bits */
+#define HSUART_IIR_TX_INT_SET  (1  6)
+#define HSUART_IIR_RX_OE   (1  5)
+#define HSUART_IIR_BRK (1  4)
+#define HSUART_IIR_FE  (1  3)
+#define HSUART_IIR_RX_TIMEOUT  (1  2)
+#define HSUART_IIR_RX_TRIG (1  1)
+#define HSUART_IIR_TX  (1  0)
+
+/* 14-clock UART Control Register bits */
+#define HSUART_CTRL_HRTS_INV   (1  21)
+#define HSUART_CTRL_HRTS_TRIG_48   (0x3  19)
+#define HSUART_CTRL_HRTS_TRIG_32   (0x2  19)
+#define HSUART_CTRL_HRTS_TRIG_16   (0x1  19)
+#define HSUART_CTRL_HRTS_TRIG_8(0x0  19)
+#define HSUART_CTRL_HRTS_EN(1  18)
+#define HSUART_CTRL_TMO_16 (0x3  16)
+#define HSUART_CTRL_TMO_8  (0x2  16)
+#define HSUART_CTRL_TMO_4  (0x1  16)
+#define HSUART_CTRL_TMO_DISABLED   (0x0  16)
+#define HSUART_CTRL_HCTS_INV   (1  15)
+#define HSUART_CTRL_HCTS_EN(1  14)
+#define HSUART_CTRL_HSU_OFFSET(n)  ((n)  9)
+#define HSUART_CTRL_HSU_BREAK  (1  8)
+#define HSUART_CTRL_HSU_ERR_INT_EN (1  7)
+#define HSUART_CTRL_HSU_RX_INT_EN  (1  6)
+#define HSUART_CTRL_HSU_TX_INT_EN  (1  5)
+#define HSUART_CTRL_HSU_RX_TRIG_48 (0x5  2)
+#define HSUART_CTRL_HSU_RX_TRIG_32 (0x4  2)
+#define HSUART_CTRL_HSU_RX_TRIG_16 (0x3  2)
+#define HSUART_CTRL_HSU_RX_TRIG_8  (0x2  2)
+#define HSUART_CTRL_HSU_RX_TRIG_4  (0x1  2)
+#define HSUART_CTRL_HSU_RX_TRIG_1  (0x0  2)
+#define HSUART_CTRL_HSU_TX_TRIG_16 (0x3  0)
+#define HSUART_CTRL_HSU_TX_TRIG_8  (0x2  0)
+#define HSUART_CTRL_HSU_TX_TRIG_4  (0x1  0)
+#define HSUART_CTRL_HSU_TX_TRIG_0  (0x0  0)
+
 /* UART Control Registers */
 struct uart_ctrl_t {
u32 ctrl;   /* Control Register */
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 616b857..65d0f23 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -29,6 +29,7 @@ COBJS-$(CONFIG_ALTERA_UART) += altera_uart.o
 COBJS-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
 COBJS-$(CONFIG_ARM_DCC) += arm_dcc.o
 COBJS-$(CONFIG_ATMEL_USART) += atmel_usart.o
+COBJS-$(CONFIG_LPC32XX_HSUART) += lpc32xx_hsuart.o
 COBJS-$(CONFIG_MCFUART) += mcfuart.o
 COBJS-$(CONFIG_NS9750_UART) += ns9750_serial.o
 COBJS-$(CONFIG_OPENCORES_YANU) += opencores_yanu.o
diff --git a/drivers/serial/lpc32xx_hsuart.c b/drivers/serial/lpc32xx_hsuart.c
new file mode 100644
index 000..0663772
--- /dev/null
+++ b/drivers/serial/lpc32xx_hsuart.c
@@ -0,0 +1,119 @@
+/*
+ * Copyright 

[U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board

2012-01-11 Thread Vladimir Zapolskiy
This change adds complete support for Starterkit SK-AT91SAM9/SIM508
board.

Signed-off-by: Vladimir Zapolskiy v...@mleia.com
---
 MAINTAINERS|4 +
 board/starterkit/skat91_sim508/Makefile|   44 ++
 board/starterkit/skat91_sim508/partition.c |   39 +
 board/starterkit/skat91_sim508/skat91_sim508.c |  124 
 boards.cfg |2 +
 include/configs/skat91_sim508.h|  181 
 6 files changed, 394 insertions(+), 0 deletions(-)
 create mode 100644 board/starterkit/skat91_sim508/Makefile
 create mode 100644 board/starterkit/skat91_sim508/partition.c
 create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c
 create mode 100644 include/configs/skat91_sim508.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bf12b5..bcd330a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com
 
hawkboard   ARM926EJS (OMAP-L138)
 
+Vladimir Zapolskiy v...@mleia.com
+
+   skat91_sim508   ARM926EJS (AT91SAM9260 SoC)
+
 -
 
 Unknown / orphaned boards:
diff --git a/board/starterkit/skat91_sim508/Makefile 
b/board/starterkit/skat91_sim508/Makefile
new file mode 100644
index 000..77965f8
--- /dev/null
+++ b/board/starterkit/skat91_sim508/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com
+# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.de
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := skat91_sim508.o partition.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/starterkit/skat91_sim508/partition.c 
b/board/starterkit/skat91_sim508/partition.c
new file mode 100644
index 000..f82046d
--- /dev/null
+++ b/board/starterkit/skat91_sim508/partition.c
@@ -0,0 +1,39 @@
+/*
+ * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#include common.h
+#include config.h
+#include asm/hardware.h
+#include dataflash.h
+
+AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
+
+struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
+   { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 },
+};
+
+/* define the area offsets */
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
+   { 0x, 0x3FFF, FLAG_PROTECT_SET,   0, Bootstrap },
+   { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment },
+   { 0x8000, 0x00037FFF, FLAG_PROTECT_SET,   0, U-Boot },
+   { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel },
+};
diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c 
b/board/starterkit/skat91_sim508/skat91_sim508.c
new file mode 100644
index 000..bcd6a94
--- /dev/null
+++ b/board/starterkit/skat91_sim508/skat91_sim508.c
@@ -0,0 +1,124 @@
+/*
+ * StarterKit SK-AT91SAM9/SIM508 board support
+ *
+ * Copyright 

Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board

2012-01-11 Thread Marek Vasut
 This change adds complete support for Starterkit SK-AT91SAM9/SIM508
 board.
 
 Signed-off-by: Vladimir Zapolskiy v...@mleia.com
 ---
  MAINTAINERS|4 +
  board/starterkit/skat91_sim508/Makefile|   44 ++
  board/starterkit/skat91_sim508/partition.c |   39 +
  board/starterkit/skat91_sim508/skat91_sim508.c |  124 
  boards.cfg |2 +
  include/configs/skat91_sim508.h|  181
  6 files changed, 394 insertions(+), 0
 deletions(-)
  create mode 100644 board/starterkit/skat91_sim508/Makefile
  create mode 100644 board/starterkit/skat91_sim508/partition.c
  create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c
  create mode 100644 include/configs/skat91_sim508.h
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 4bf12b5..bcd330a 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com
 
   hawkboard   ARM926EJS (OMAP-L138)
 
 +Vladimir Zapolskiy v...@mleia.com
 +
 + skat91_sim508   ARM926EJS (AT91SAM9260 SoC)
 +
  -
 
  Unknown / orphaned boards:
 diff --git a/board/starterkit/skat91_sim508/Makefile
 b/board/starterkit/skat91_sim508/Makefile new file mode 100644
 index 000..77965f8
 --- /dev/null
 +++ b/board/starterkit/skat91_sim508/Makefile
 @@ -0,0 +1,44 @@
 +#
 +# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com
 +# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.de
 +#
 +# 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., 51 Franklin Street, Fifth Floor, Boston,
 +# MA  02110-1301, USA.
 +#
 +
 +include $(TOPDIR)/config.mk
 +
 +LIB  = $(obj)lib$(BOARD).o
 +
 +COBJS:= skat91_sim508.o partition.o
 +
 +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 +OBJS := $(addprefix $(obj),$(COBJS))
 +SOBJS:= $(addprefix $(obj),$(SOBJS))
 +
 +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
 + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 +
 +#
 +
 +# defines $(obj).depend target
 +include $(SRCTREE)/rules.mk
 +
 +sinclude $(obj).depend
 +
 +#
 diff --git a/board/starterkit/skat91_sim508/partition.c
 b/board/starterkit/skat91_sim508/partition.c new file mode 100644
 index 000..f82046d
 --- /dev/null
 +++ b/board/starterkit/skat91_sim508/partition.c
 @@ -0,0 +1,39 @@
 +/*
 + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions
 + *
 + * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com
 + *
 + * 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., 51 Franklin Street, Fifth Floor, Boston,
 + * MA 02110-1301, USA.
 + */
 +
 +#include common.h
 +#include config.h
 +#include asm/hardware.h
 +#include dataflash.h
 +
 +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
 +
 +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
 + { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 },
 +};
 +
 +/* define the area offsets */
 +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
 + { 0x, 0x3FFF, FLAG_PROTECT_SET,   0, Bootstrap },
 + { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment },
 + { 0x8000, 0x00037FFF, FLAG_PROTECT_SET,   0, U-Boot },
 + { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel },
 +};
 diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c
 b/board/starterkit/skat91_sim508/skat91_sim508.c new file mode 100644
 index 000..bcd6a94
 --- /dev/null
 +++ 

Re: [U-Boot] [PATCH 1/3 v6] arm926ejs: add NXP LPC32x0 cpu series support

2012-01-11 Thread Marek Vasut
 This change adds initial support for NXP LPC32x0 SoC series.
 
 Signed-off-by: Vladimir Zapolskiy v...@mleia.com
 ---
 Changes from v5 to v6:
 * replaced some spaces with tabs in macro declarations
 * more rules separating 14-clock and ns16650 UARTs in config.h
 
 Changes from v4 to v5:
 * corrected address in GPLv2+ licence header in files
 
 Changes from v3 to v4:
 * extended memory controller definitions are introduced
 * added print_cpuinfo() function
 
 Changes from v2 to v3:
 * checkpatch.pl reports zero errors and warnings
 
 Changes from v1 to v2:
 * BIT(n) and SBF(s, v) macro are not used anymore
 * removed NS16550 and 14-clock UART definitions from uart.h
 * added devices.c file, which contains standard UART preinitialization
 routine * added get_serial_clock() function, it returns actual frequency
 of UART clock * __udelay() realization is simplified, no need of interrupt
 handling
 
  arch/arm/cpu/arm926ejs/lpc32xx/Makefile   |   45 +++
  arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c   |  118 +
  arch/arm/cpu/arm926ejs/lpc32xx/cpu.c  |   58 +
  arch/arm/cpu/arm926ejs/lpc32xx/devices.c  |   47 +++
  arch/arm/cpu/arm926ejs/lpc32xx/timer.c|   94 ++
  arch/arm/include/asm/arch-lpc32xx/clk.h   |  170
 + arch/arm/include/asm/arch-lpc32xx/config.h| 
  75 +++
  arch/arm/include/asm/arch-lpc32xx/cpu.h   |   64 +
  arch/arm/include/asm/arch-lpc32xx/emc.h   |   92 +
  arch/arm/include/asm/arch-lpc32xx/sys_proto.h |   25 
  arch/arm/include/asm/arch-lpc32xx/timer.h |   74 +++
  arch/arm/include/asm/arch-lpc32xx/uart.h  |   54 
  arch/arm/include/asm/arch-lpc32xx/wdt.h   |   51 
  13 files changed, 967 insertions(+), 0 deletions(-)
  create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/Makefile
  create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
  create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/cpu.c
  create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/devices.c
  create mode 100644 arch/arm/cpu/arm926ejs/lpc32xx/timer.c
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/clk.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/config.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/cpu.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/emc.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/sys_proto.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/timer.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/uart.h
  create mode 100644 arch/arm/include/asm/arch-lpc32xx/wdt.h
 
 diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile new file mode 100644
 index 000..e6222e4
 --- /dev/null
 +++ b/arch/arm/cpu/arm926ejs/lpc32xx/Makefile
 @@ -0,0 +1,45 @@
 +#
 +# (C) Copyright 2000-2006
 +# Wolfgang Denk, DENX Software Engineering, w...@denx.de.
 +#
 +# 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., 51 Franklin Street, Fifth Floor, Boston,
 +# MA  02110-1301, USA.
 +#
 +
 +include $(TOPDIR)/config.mk
 +
 +LIB = $(obj)lib$(SOC).o
 +
 +COBJS   = cpu.o clkpwr.o devices.o timer.o
 +
 +SRCS:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
 +OBJS:= $(addprefix $(obj),$(COBJS) $(SOBJS))
 +
 +all:$(obj).depend $(LIB)
 +
 +$(LIB): $(OBJS)
 + $(call cmd_link_o_target, $(OBJS))
 +
 +#
 +
 +# defines $(obj).depend target
 +include $(SRCTREE)/rules.mk
 +
 +sinclude $(obj).depend
 +
 +#
 diff --git a/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c new file mode 100644
 index 000..103157a
 --- /dev/null
 +++ b/arch/arm/cpu/arm926ejs/lpc32xx/clkpwr.c
 @@ -0,0 +1,118 @@
 +/*
 + * Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com
 + *
 + * 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; 

Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support

2012-01-11 Thread Marek Vasut
 This change adds a basic support for Embest/Timll DevKit3250 board,
 NOR and UART are the only supported peripherals for a moment. The board
 doesn't require low-level init, because the initial SDRAM and GPIO
 configuration is performed during kickstart bootloader execution.
 
 Signed-off-by: Vladimir Zapolskiy v...@mleia.com
 ---
 Changes from v2 to v3:
 * updated a relocation address
 * combined a record in maintainers file into the patch
 * use high speed UART2 by default
 
 Changes from v1 to v2:
 * corrected address in GPLv2+ licence header in files
 * removed clean and distclean targets from board makefile
 * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined
 * minor indentation cleanups
 
  MAINTAINERS |4 +
  board/timll/devkit3250/Makefile |   44 +
  board/timll/devkit3250/devkit3250.c |   71 
  boards.cfg  |1 +
  include/configs/devkit3250.h|  121
 +++ 5 files changed, 241 insertions(+), 0
 deletions(-)
  create mode 100644 board/timll/devkit3250/Makefile
  create mode 100644 board/timll/devkit3250/devkit3250.c
  create mode 100644 include/configs/devkit3250.h
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 4bf12b5..68dedae 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -914,6 +914,10 @@ Sughosh Ganu urwithsugh...@gmail.com
 
   hawkboard   ARM926EJS (OMAP-L138)
 
 +Vladimir Zapolskiy v...@mleia.com
 +
 + devkit3250  lpc32xx
 +
  -
 
  Unknown / orphaned boards:
 diff --git a/board/timll/devkit3250/Makefile
 b/board/timll/devkit3250/Makefile new file mode 100644
 index 000..ea7827c
 --- /dev/null
 +++ b/board/timll/devkit3250/Makefile
 @@ -0,0 +1,44 @@
 +#
 +# Copyright (C) 2011 by Vladimir Zapolskiy v...@mleia.com
 +# Copyright (C) 2008, Guennadi Liakhovetski l...@denx.de
 +#
 +# 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., 51 Franklin Street, Fifth Floor, Boston,
 +# MA  02110-1301, USA.
 +#
 +
 +include $(TOPDIR)/config.mk
 +
 +LIB  = $(obj)lib$(BOARD).o
 +
 +COBJS:= devkit3250.o
 +
 +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
 +OBJS := $(addprefix $(obj),$(COBJS))
 +SOBJS:= $(addprefix $(obj),$(SOBJS))
 +
 +$(LIB):  $(obj).depend $(OBJS) $(SOBJS)
 + $(call cmd_link_o_target, $(OBJS) $(SOBJS))
 +
 +#
 +
 +# defines $(obj).depend target
 +include $(SRCTREE)/rules.mk
 +
 +sinclude $(obj).depend
 +
 +#
 diff --git a/board/timll/devkit3250/devkit3250.c
 b/board/timll/devkit3250/devkit3250.c new file mode 100644
 index 000..461012d
 --- /dev/null
 +++ b/board/timll/devkit3250/devkit3250.c
 @@ -0,0 +1,71 @@
 +/*
 + * Embest/Timll DevKit3250 board support
 + *
 + * Copyright (C) 2011 Vladimir Zapolskiy v...@mleia.com
 + *
 + * 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., 51 Franklin Street, Fifth Floor, Boston,
 + * MA 02110-1301, USA.
 + */
 +
 +#include common.h
 +#include asm/arch/sys_proto.h
 +#include asm/arch/cpu.h
 +#include asm/arch/emc.h
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +static struct emc_t *emc = (struct emc_t *)EMC_BASE;
 +
 +int board_early_init_f(void)
 +{
 + lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
 +
 + return 0;
 +}
 +
 +int board_init(void)
 +{
 + /*
 +  * It might be necessary to flush data cache, if U-boot is loaded
 +  * from kickstart bootloader, e.g. from S1L loader
 +  */
 + flush_cache(0, 0);

You're flushing no area here ... also, 

Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board

2012-01-11 Thread Vladimir Zapolskiy

On 11.01.2012 22:53, Marek Vasut wrote:

This change adds complete support for Starterkit SK-AT91SAM9/SIM508
board.

Signed-off-by: Vladimir Zapolskiyv...@mleia.com
---
  MAINTAINERS|4 +
  board/starterkit/skat91_sim508/Makefile|   44 ++
  board/starterkit/skat91_sim508/partition.c |   39 +
  board/starterkit/skat91_sim508/skat91_sim508.c |  124 
  boards.cfg |2 +
  include/configs/skat91_sim508.h|  181
 6 files changed, 394 insertions(+), 0
deletions(-)
  create mode 100644 board/starterkit/skat91_sim508/Makefile
  create mode 100644 board/starterkit/skat91_sim508/partition.c
  create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c
  create mode 100644 include/configs/skat91_sim508.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bf12b5..bcd330a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com

hawkboard   ARM926EJS (OMAP-L138)

+Vladimir Zapolskiyv...@mleia.com
+
+   skat91_sim508   ARM926EJS (AT91SAM9260 SoC)
+
  -

  Unknown / orphaned boards:
diff --git a/board/starterkit/skat91_sim508/Makefile
b/board/starterkit/skat91_sim508/Makefile new file mode 100644
index 000..77965f8
--- /dev/null
+++ b/board/starterkit/skat91_sim508/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com
+# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.de
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := skat91_sim508.o partition.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/starterkit/skat91_sim508/partition.c
b/board/starterkit/skat91_sim508/partition.c new file mode 100644
index 000..f82046d
--- /dev/null
+++ b/board/starterkit/skat91_sim508/partition.c
@@ -0,0 +1,39 @@
+/*
+ * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#includecommon.h
+#includeconfig.h
+#includeasm/hardware.h
+#includedataflash.h
+
+AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
+
+struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
+   { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 },
+};
+
+/* define the area offsets */
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
+   { 0x, 0x3FFF, FLAG_PROTECT_SET,   0, Bootstrap },
+   { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment },
+   { 0x8000, 0x00037FFF, FLAG_PROTECT_SET,   0, U-Boot },
+   { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel },
+};
diff --git a/board/starterkit/skat91_sim508/skat91_sim508.c
b/board/starterkit/skat91_sim508/skat91_sim508.c new file mode 100644
index 000..bcd6a94
--- /dev/null
+++ b/board/starterkit/skat91_sim508/skat91_sim508.c
@@ -0,0 +1,124 @@
+/*
+ * StarterKit 

Re: [U-Boot] [PATCH] skat91: add support for SK-AT91SAM9/SIM508 board

2012-01-11 Thread Marek Vasut
 On 11.01.2012 22:53, Marek Vasut wrote:
  This change adds complete support for Starterkit SK-AT91SAM9/SIM508
  board.
  
  Signed-off-by: Vladimir Zapolskiyv...@mleia.com
  ---
  
MAINTAINERS|4 +
board/starterkit/skat91_sim508/Makefile|   44 ++
board/starterkit/skat91_sim508/partition.c |   39 +
board/starterkit/skat91_sim508/skat91_sim508.c |  124 
boards.cfg |2 +
include/configs/skat91_sim508.h|  181
  
   6 files changed, 394 insertions(+), 0
  deletions(-)
  
create mode 100644 board/starterkit/skat91_sim508/Makefile
create mode 100644 board/starterkit/skat91_sim508/partition.c
create mode 100644 board/starterkit/skat91_sim508/skat91_sim508.c
create mode 100644 include/configs/skat91_sim508.h
  
  diff --git a/MAINTAINERS b/MAINTAINERS
  index 4bf12b5..bcd330a 100644
  --- a/MAINTAINERS
  +++ b/MAINTAINERS
  @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com
  
 hawkboard   ARM926EJS (OMAP-L138)
  
  +Vladimir Zapolskiyv...@mleia.com
  +
  +  skat91_sim508   ARM926EJS (AT91SAM9260 SoC)
  +
  
--
---
  
Unknown / orphaned boards:
  diff --git a/board/starterkit/skat91_sim508/Makefile
  b/board/starterkit/skat91_sim508/Makefile new file mode 100644
  index 000..77965f8
  --- /dev/null
  +++ b/board/starterkit/skat91_sim508/Makefile
  @@ -0,0 +1,44 @@
  +#
  +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com
  +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.de
  +#
  +# 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., 51 Franklin Street, Fifth Floor, Boston,
  +# MA  02110-1301, USA.
  +#
  +
  +include $(TOPDIR)/config.mk
  +
  +LIB   = $(obj)lib$(BOARD).o
  +
  +COBJS := skat91_sim508.o partition.o
  +
  +SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
  +OBJS  := $(addprefix $(obj),$(COBJS))
  +SOBJS := $(addprefix $(obj),$(SOBJS))
  +
  +$(LIB):   $(obj).depend $(OBJS) $(SOBJS)
  +  $(call cmd_link_o_target, $(OBJS) $(SOBJS))
  +
  +###
  ## +
  +# defines $(obj).depend target
  +include $(SRCTREE)/rules.mk
  +
  +sinclude $(obj).depend
  +
  +###
  ## diff --git a/board/starterkit/skat91_sim508/partition.c
  b/board/starterkit/skat91_sim508/partition.c new file mode 100644
  index 000..f82046d
  --- /dev/null
  +++ b/board/starterkit/skat91_sim508/partition.c
  @@ -0,0 +1,39 @@
  +/*
  + * StarterKit SK-AT91SAM9/SIM508 board support, dataflash partitions
  + *
  + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com
  + *
  + * 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., 51 Franklin Street, Fifth Floor, Boston,
  + * MA 02110-1301, USA.
  + */
  +
  +#includecommon.h
  +#includeconfig.h
  +#includeasm/hardware.h
  +#includedataflash.h
  +
  +AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
  +
  +struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
  +  { CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0 },
  +};
  +
  +/* define the area offsets */
  +dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
  +  { 0x, 0x3FFF, FLAG_PROTECT_SET,   0, Bootstrap },
  +  { 0x4000, 0x7FFF, FLAG_PROTECT_CLEAR, 0, Environment },
  +  { 0x8000, 0x00037FFF, FLAG_PROTECT_SET,   0, U-Boot },
  +  { 0x00038000, 0x0041, FLAG_PROTECT_CLEAR, 0, Kernel },
  +};
  diff --git 

Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support

2012-01-11 Thread Vladimir Zapolskiy

On 11.01.2012 22:56, Marek Vasut wrote:

This change adds a basic support for Embest/Timll DevKit3250 board,
NOR and UART are the only supported peripherals for a moment. The board
doesn't require low-level init, because the initial SDRAM and GPIO
configuration is performed during kickstart bootloader execution.

Signed-off-by: Vladimir Zapolskiyv...@mleia.com
---
Changes from v2 to v3:
* updated a relocation address
* combined a record in maintainers file into the patch
* use high speed UART2 by default

Changes from v1 to v2:
* corrected address in GPLv2+ licence header in files
* removed clean and distclean targets from board makefile
* do not set machine id explicitly, if CONFIG_MACH_TYPE is defined
* minor indentation cleanups

  MAINTAINERS |4 +
  board/timll/devkit3250/Makefile |   44 +
  board/timll/devkit3250/devkit3250.c |   71 
  boards.cfg  |1 +
  include/configs/devkit3250.h|  121
+++ 5 files changed, 241 insertions(+), 0
deletions(-)
  create mode 100644 board/timll/devkit3250/Makefile
  create mode 100644 board/timll/devkit3250/devkit3250.c
  create mode 100644 include/configs/devkit3250.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bf12b5..68dedae 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com

hawkboard   ARM926EJS (OMAP-L138)

+Vladimir Zapolskiyv...@mleia.com
+
+   devkit3250  lpc32xx
+
  -

  Unknown / orphaned boards:
diff --git a/board/timll/devkit3250/Makefile
b/board/timll/devkit3250/Makefile new file mode 100644
index 000..ea7827c
--- /dev/null
+++ b/board/timll/devkit3250/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com
+# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.de
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := devkit3250.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/timll/devkit3250/devkit3250.c
b/board/timll/devkit3250/devkit3250.c new file mode 100644
index 000..461012d
--- /dev/null
+++ b/board/timll/devkit3250/devkit3250.c
@@ -0,0 +1,71 @@
+/*
+ * Embest/Timll DevKit3250 board support
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#includecommon.h
+#includeasm/arch/sys_proto.h
+#includeasm/arch/cpu.h
+#includeasm/arch/emc.h
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct emc_t *emc = (struct emc_t *)EMC_BASE;
+
+int board_early_init_f(void)
+{
+   lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+
+   return 0;
+}
+
+int board_init(void)
+{
+   /*
+* It might be necessary to flush data cache, if U-boot is loaded
+* from kickstart bootloader, e.g. from S1L loader
+*/
+   flush_cache(0, 0);


You're flushing no area here ... also, shouldn't this go to CPU init code ?

That's just a complete cache flush, from 

[U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Christian Riesch
Hi,

On Wednesday, January 11, 2012, Marek Vasut marek.va...@gmail.com wrote:
 On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote:
 More so, given the fact that we don't have any control over
 rbl -- so if rbl changes it's layout for any subsequent board, we'd
 have to add that as well to the nand driver, and both in u-boot as
 well as the kernel.
  
 I guess the cleanest solution would have been for the rbl to have
 used the same layout as the one used by u-boot and linux.
 
  Yep, why not do that then?

   Because rbl is a proprietary bootloader from TI.

 Don't we actually have replacement bootloader in uboot already ? You
don't need
 xloader with uboot anymore I think.


RBL ist the ROM bootloader in the SoC, it's not only proprietary but also
in ROM and hence cannot be changed.

RBL executes an AIS script. Sughosh, could you please explain what your AIS
does or how you create it?

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


Re: [U-Boot] Help needed on Colibri T20 - Iris Board

2012-01-11 Thread Simon Glass
Hi Stéphane,

On Wed, Jan 11, 2012 at 1:52 AM, Stéphane Carvalho
carvalho.steph...@gmail.com wrote:
 We are 2 engineering students from Fribourg, Switzerland working on a
 embedded systems project.

 The fact is that we're looking to setup U-Boot on a Colibri Iris Board using
 the Colibri T20 module with NVIDIA Tegra 2 processor.

 Since the Iris board is a relatively new board, it is difficult for us to
 find information about it.

Sorry I don't know anything about that particular board either.


 We managed to install a recent uboot on the board but it is not very
 efficient. The major problem is that we aren't able to run the saveenv
 command in order to save the environnement. Does anyone have any ideas about
 the problem? Or patches to recommend us?

Where is your environment supposed to be stored? If you are booting
from NAND or MMC then you could store it there. There are various
CONFIG_ENV_IS_IN_... variables to define depending on where you want
the environment. The README file lists each of these and explains how
to use them. You also need to define CONFIG_CMD_SAVEENV or perhaps
better #include config_default.h.


 We don't have much experience in embedded systems so a little help from you
 would be much appreciated.

OK, please reply on this thread if you have further questions.


 Thank you in advance

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


Re: [U-Boot] [PATCH 5/7] tegra: Use funcmux for MMC on tamonten

2012-01-11 Thread Simon Glass
On Mon, Jan 9, 2012 at 11:31 PM, Thierry Reding
thierry.red...@avionic-design.de wrote:
 * Simon Glass wrote:
 Use the new funcmux_select() feature to set up the MMC pin mux.

 Signed-off-by: Simon Glass s...@chromium.org

 Tested on Plutux and Medcom.

 Acked-by: Thierry Reding thierry.red...@avionic-design.de
 Tested-by: Thierry Reding thierry.red...@avionic-design.de

Thanks!


 ---
  board/avionic-design/common/tamonten.c |   10 ++
  1 files changed, 2 insertions(+), 8 deletions(-)

 diff --git a/board/avionic-design/common/tamonten.c 
 b/board/avionic-design/common/tamonten.c
 index 97e59fb..c5fd988 100644
 --- a/board/avionic-design/common/tamonten.c
 +++ b/board/avionic-design/common/tamonten.c
 @@ -32,6 +32,7 @@
  #include asm/arch/sys_proto.h
  #include asm/arch/clk_rst.h
  #include asm/arch/clock.h
 +#include asm/arch/funcmux.h
  #include asm/arch/pinmux.h
  #include asm/arch/uart.h
  #include asm/arch/mmc.h
 @@ -63,14 +64,7 @@ int timer_init(void)
   */
  static void pin_mux_mmc(void)
  {
 -     /* SDMMC4: config 3, x8 on 2nd set of pins */
 -     pinmux_set_func(PINGRP_ATB, PMUX_FUNC_SDIO4);
 -     pinmux_set_func(PINGRP_GMA, PMUX_FUNC_SDIO4);
 -     pinmux_set_func(PINGRP_GME, PMUX_FUNC_SDIO4);
 -
 -     pinmux_tristate_disable(PINGRP_ATB);
 -     pinmux_tristate_disable(PINGRP_GMA);
 -     pinmux_tristate_disable(PINGRP_GME);
 +     funcmux_select(PERIPH_ID_SDMMC4, 1, FUNCMUXO_SDMMC_8BIT);
  }
  #endif


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


[U-Boot] bootm not taking dtb

2012-01-11 Thread JR Rivers

I am working with a powerpc embedded system where u-boot seems to be passing in 
a constructed fdt (or one embedded in u-boot) as opposed to one that is either 
passed directly to bootm or as the third image of a multi-file image.

I'm sure sure that the system is NOT using my dtb file because I modified the 
my linux platform file to print out the model and compatible properties of 
root, and they make sense, but are not the values that I pass in with my dtb.

I've tried bootm ${kerneladdr} - ${dtbaddr} for nfs boot, and I've 
constructed a multi-file uImage with kernel:initramfs:dtb.  The behavior is the 
same in all cases.  Is this expected behavior, and if so, is there some way to 
force u-boot to use my dtb file?

Thanks,

JR






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


Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support

2012-01-11 Thread Marek Vasut
 On 11.01.2012 22:56, Marek Vasut wrote:
  This change adds a basic support for Embest/Timll DevKit3250 board,
  NOR and UART are the only supported peripherals for a moment. The board
  doesn't require low-level init, because the initial SDRAM and GPIO
  configuration is performed during kickstart bootloader execution.
  
  Signed-off-by: Vladimir Zapolskiyv...@mleia.com
  ---
  Changes from v2 to v3:
  * updated a relocation address
  * combined a record in maintainers file into the patch
  * use high speed UART2 by default
  
  Changes from v1 to v2:
  * corrected address in GPLv2+ licence header in files
  * removed clean and distclean targets from board makefile
  * do not set machine id explicitly, if CONFIG_MACH_TYPE is defined
  * minor indentation cleanups
  
MAINTAINERS |4 +
board/timll/devkit3250/Makefile |   44 +
board/timll/devkit3250/devkit3250.c |   71 
boards.cfg  |1 +
include/configs/devkit3250.h|  121
  
  +++ 5 files changed, 241 insertions(+),
  0 deletions(-)
  
create mode 100644 board/timll/devkit3250/Makefile
create mode 100644 board/timll/devkit3250/devkit3250.c
create mode 100644 include/configs/devkit3250.h
  
  diff --git a/MAINTAINERS b/MAINTAINERS
  index 4bf12b5..68dedae 100644
  --- a/MAINTAINERS
  +++ b/MAINTAINERS
  @@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com
  
 hawkboard   ARM926EJS (OMAP-L138)
  
  +Vladimir Zapolskiyv...@mleia.com
  +
  +  devkit3250  lpc32xx
  +
  
--
---
  
Unknown / orphaned boards:
  diff --git a/board/timll/devkit3250/Makefile
  b/board/timll/devkit3250/Makefile new file mode 100644
  index 000..ea7827c
  --- /dev/null
  +++ b/board/timll/devkit3250/Makefile
  @@ -0,0 +1,44 @@
  +#
  +# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com
  +# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.de
  +#
  +# 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., 51 Franklin Street, Fifth Floor, Boston,
  +# MA  02110-1301, USA.
  +#
  +
  +include $(TOPDIR)/config.mk
  +
  +LIB   = $(obj)lib$(BOARD).o
  +
  +COBJS := devkit3250.o
  +
  +SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
  +OBJS  := $(addprefix $(obj),$(COBJS))
  +SOBJS := $(addprefix $(obj),$(SOBJS))
  +
  +$(LIB):   $(obj).depend $(OBJS) $(SOBJS)
  +  $(call cmd_link_o_target, $(OBJS) $(SOBJS))
  +
  +###
  ## +
  +# defines $(obj).depend target
  +include $(SRCTREE)/rules.mk
  +
  +sinclude $(obj).depend
  +
  +###
  ## diff --git a/board/timll/devkit3250/devkit3250.c
  b/board/timll/devkit3250/devkit3250.c new file mode 100644
  index 000..461012d
  --- /dev/null
  +++ b/board/timll/devkit3250/devkit3250.c
  @@ -0,0 +1,71 @@
  +/*
  + * Embest/Timll DevKit3250 board support
  + *
  + * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com
  + *
  + * 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., 51 Franklin Street, Fifth Floor, Boston,
  + * MA 02110-1301, USA.
  + */
  +
  +#includecommon.h
  +#includeasm/arch/sys_proto.h
  +#includeasm/arch/cpu.h
  +#includeasm/arch/emc.h
  +
  +DECLARE_GLOBAL_DATA_PTR;
  +
  +static struct emc_t *emc = (struct emc_t *)EMC_BASE;
  +
  +int board_early_init_f(void)
  +{
  +  lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
  +
  +  return 0;
  +}
  +
  +int board_init(void)
  +{
  +  /*
  +   * It might be 

Re: [U-Boot] [PATCH v2 4/4] zipitz2: fix boot issue introduced by PXA low level init rework

2012-01-11 Thread Marek Vasut
 CONFIG_SYS_INIT_SP_ADDR points to RAM, but it's used before
 DRAM controller init. Fix it by setting CONFIG_SYS_INIT_SP_ADDR
 to SRAM
 
 Signed-off-by: Vasily Khoruzhick anars...@gmail.com
 ---
 v2: no changes
 
  include/configs/zipitz2.h |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
 index 1b14cc7..e7895ab 100644
 --- a/include/configs/zipitz2.h
 +++ b/include/configs/zipitz2.h
 @@ -184,7 +184,7 @@ unsigned char zipitz2_spi_read(void);
  #define  CONFIG_SYS_LOAD_ADDRCONFIG_SYS_DRAM_BASE
 
  #define CONFIG_SYS_SDRAM_BASEPHYS_SDRAM_1
 -#define  CONFIG_SYS_INIT_SP_ADDR (GENERATED_GBL_DATA_SIZE + 
PHYS_SDRAM_1 +
 2048) +#defineCONFIG_SYS_INIT_SP_ADDR 0x5c038000

Why do you keep setting the arbitrary location here? Just use 
GENERATED_GBL_DATA_SIZE + PHYS_SRAM + 2048) or something. ... define PHYS_SRAM 
if needed.

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


[U-Boot] [PATCH v2 1/4] PXA: PXA27x Matrix keypad driver

2012-01-11 Thread Vasily Khoruzhick
From: Marek Vasut marek.va...@gmail.com

Signed-off-by: Marek Vasut marek.va...@gmail.com
Signed-off-by: Vasily Khoruzhick anars...@gmail.com
[vasily: adapted Marek's old version for newer u-boot]
---
v2: use struct-based access to regs, minor cleanup

 arch/arm/include/asm/arch-pxa/pxa-regs.h|   52 --
 arch/arm/include/asm/arch-pxa/regs-keypad.h |   84 +
 drivers/input/Makefile  |2 +
 drivers/input/pxa27x-mkp.c  |  245 +++
 4 files changed, 331 insertions(+), 52 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-pxa/regs-keypad.h
 create mode 100644 drivers/input/pxa27x-mkp.c

diff --git a/arch/arm/include/asm/arch-pxa/pxa-regs.h 
b/arch/arm/include/asm/arch-pxa/pxa-regs.h
index b81b42c..d562658 100644
--- a/arch/arm/include/asm/arch-pxa/pxa-regs.h
+++ b/arch/arm/include/asm/arch-pxa/pxa-regs.h
@@ -2567,58 +2567,6 @@ typedef void (*ExcpHndlr) (void) ;
 #define OVL2C1_O2EN(131) /* Enable bit for Overlay 2 */
 #define CCR_CEN(131) /* Enable bit for Cursor */
 
-/* Keypad controller */
-
-#define KPC0x4150 /* Keypad Interface Control register */
-#define KPDK   0x4158 /* Keypad Interface Direct Key register */
-#define KPREC  0x41500010 /* Keypad Intefcace Rotary Encoder register 
*/
-#define KPMK   0x41500018 /* Keypad Intefcace Matrix Key register */
-#define KPAS   0x41500020 /* Keypad Interface Automatic Scan register 
*/
-#define KPASMKP0   0x41500028 /* Keypad Interface Automatic Scan Multiple 
Key Presser register 0 */
-#define KPASMKP1   0x41500030 /* Keypad Interface Automatic Scan Multiple 
Key Presser register 1 */
-#define KPASMKP2   0x41500038 /* Keypad Interface Automatic Scan Multiple 
Key Presser register 2 */
-#define KPASMKP3   0x41500040 /* Keypad Interface Automatic Scan Multiple 
Key Presser register 3 */
-#define KPKDI  0x41500048 /* Keypad Interface Key Debounce Interval 
register */
-
-#define KPC_AS (0x1  30)  /* Automatic Scan bit */
-#define KPC_ASACT  (0x1  29)  /* Automatic Scan on Activity */
-#define KPC_MI (0x1  22)  /* Matrix interrupt bit */
-#define KPC_IMKP   (0x1  21)  /* Ignore Multiple Key Press */
-#define KPC_MS7(0x1  20)  /* Matrix scan line 7 */
-#define KPC_MS6(0x1  19)  /* Matrix scan line 6 */
-#define KPC_MS5(0x1  18)  /* Matrix scan line 5 */
-#define KPC_MS4(0x1  17)  /* Matrix scan line 4 */
-#define KPC_MS3(0x1  16)  /* Matrix scan line 3 */
-#define KPC_MS2(0x1  15)  /* Matrix scan line 2 */
-#define KPC_MS1(0x1  14)  /* Matrix scan line 1 */
-#define KPC_MS0(0x1  13)  /* Matrix scan line 0 */
-#define KPC_ME (0x1  12)  /* Matrix Keypad Enable */
-#define KPC_MIE(0x1  11)  /* Matrix Interrupt Enable */
-#define KPC_DK_DEB_SEL (0x1   9)  /* Direct Key Debounce select */
-#define KPC_DI (0x1   5)  /* Direct key interrupt bit */
-#define KPC_DEE0   (0x1   2)  /* Rotary Encoder 0 Enable */
-#define KPC_DE (0x1   1)  /* Direct Keypad Enable */
-#define KPC_DIE(0x1   0)  /* Direct Keypad interrupt Enable 
*/
-
-#define KPDK_DKP   (0x1  31)
-#define KPDK_DK7   (0x1   7)
-#define KPDK_DK6   (0x1   6)
-#define KPDK_DK5   (0x1   5)
-#define KPDK_DK4   (0x1   4)
-#define KPDK_DK3   (0x1   3)
-#define KPDK_DK2   (0x1   2)
-#define KPDK_DK1   (0x1   1)
-#define KPDK_DK0   (0x1   0)
-
-#define KPREC_OF1  (0x1  31)
-#define kPREC_UF1  (0x1  30)
-#define KPREC_OF0  (0x1  15)
-#define KPREC_UF0  (0x1  14)
-
-#define KPMK_MKP   (0x1  31)
-#define KPAS_SO(0x1  31)
-#define KPASMKPx_SO(0x1  31)
-
 #define GPIO113_BIT(1  17)/* GPIO113 in GPSR, GPCR, bit 17 */
 #define PSLR   0x40F00034
 #define PSTR   0x40F00038  /* Power Manager Standby Configuration Reg 
*/
diff --git a/arch/arm/include/asm/arch-pxa/regs-keypad.h 
b/arch/arm/include/asm/arch-pxa/regs-keypad.h
new file mode 100644
index 000..f13da56
--- /dev/null
+++ b/arch/arm/include/asm/arch-pxa/regs-keypad.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012 Vasily Khoruzhick anars...@gmail.com
+ *
+ * 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 

[U-Boot] [PATCH v2 2/4] zipitz2: enable pxa27x_mkp driver

2012-01-11 Thread Vasily Khoruzhick
Signed-off-by: Vasily Khoruzhick anars...@gmail.com
---
v2: remove usbtty stuff from EXTRA_ENV_SETTINGS

 include/configs/zipitz2.h |   82 ++---
 1 files changed, 77 insertions(+), 5 deletions(-)

diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
index 26204af..75de677 100644
--- a/include/configs/zipitz2.h
+++ b/include/configs/zipitz2.h
@@ -80,6 +80,12 @@
 #defineCONFIG_CMD_MMC
 #defineCONFIG_CMD_SPI
 
+#defineCONFIG_EXTRA_ENV_SETTINGS   
\
+   stdout=lcd\0  \
+   stdin=pxa27x-mkp\0\
+   stderr=lcd\0  \
+   
+#defineCONFIG_KEYBOARD
 /*
  * MMC Card Configuration
  */
@@ -206,15 +212,81 @@ unsigned char zipitz2_spi_read(void);
 #define CONFIG_SYS_FLASH_PROTECTION
 
 /*
+ * Matrix keypad
+ */
+#ifdef CONFIG_KEYBOARD
+#defineCONFIG_PXA27X_MKP
+
+#defineCONFIG_PXA27X_MKP_MKP_COLS  7
+#defineCONFIG_PXA27X_MKP_MKP_ROWS  6
+
+#defineCONFIG_PXA27X_MKP_DEBOUNCE  30
+#defineCONFIG_PXA27X_MKP_DELAY 3
+
+#defineCONFIG_PXA27X_MKP_MOD_SHIFT {5, 3}
+#defineCONFIG_PXA27X_MKP_MOD_ALT   {5, 2}
+#defineCONFIG_PXA27X_MKP_MOD_CTRL  {5, 4}
+
+#defineCONFIG_PXA27X_MKP_KEYMAP\
+   { 1, 1, 'q', 'Q', '1', 0xff },  \
+   { 2, 1, 'i', 'I', '8', 0xff },  \
+   { 3, 1, 'g', 'G', '\', 0xff }, \
+   { 4, 1, 'x', 'X', '/', 0xff },  \
+   { 5, 1, '\r', 0xff, 0xff, 0xff },   \
+   { 6, 1, '-', 0xff, 0xff, 0xff },\
+   \
+   { 1, 2, 'w', 'W', '2', 0xff },  \
+   { 2, 2, 'o', 'O', '9', 0xff },  \
+   { 3, 2, 'h', 'H', '\'', 0xff }, \
+   { 4, 2, 'c', 'C', '+', 0xff },  \
+   \
+   { 1, 3, 'e', 'E', '3', 0xff },  \
+   { 2, 3, 'p', 'P', '0', 0xff },  \
+   { 3, 3, 'j', 'J', '[', 0xff },  \
+   { 4, 3, 'v', 'V', '*', 0xff },  \
+   \
+   { 0, 4, '\e', 0xff, '|', 0xff },\
+   { 1, 4, 'r', 'R', '4', 0xff },  \
+   { 2, 4, 'a', 'A', '$', 0xff },  \
+   { 3, 4, 'k', 'K', ']', 0xff },  \
+   { 4, 4, 'b', 'B', '=', 0xff },  \
+   \
+   { 0, 5, '\t', 0xff, 0xff, 0xff },   \
+   { 1, 5, 't', 'T', '5', 0xff },  \
+   { 2, 5, 's', 'S', '#', 0xff },  \
+   { 3, 5, 'l', 'L', '-', 0xff },  \
+   { 4, 5, 'n', 'N', '_', 0xff },  \
+   { 5, 5, ' ', 0xff, 0xff, 0xff },\
+   \
+   { 1, 6, 'y', 'Y', '6', 0xff },  \
+   { 2, 6, 'd', 'D', '', 0xff },  \
+   { 3, 6, '\b', 0xff, '\\', 0xff },   \
+   { 4, 6, 'm', 'M', '?', 0xff },  \
+   { 5, 6, ',', '(', '', '{' },   \
+   \
+   { 1, 7, 'u', 'U', '7', 0xff },  \
+   { 2, 7, 'f', 'F', '@', 0xff },  \
+   { 3, 7, 'z', 'Z', '!', 0xff },  \
+   { 4, 7, ';', '~', ':', 0xff },  \
+   { 5, 7, '.', ')', '', '}' },   \
+   \
+   { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }
+
+#defineCONFIG_SYS_CONSOLE_ENV_OVERWRITE
+#defineCONFIG_SYS_CONSOLE_IS_IN_ENV
+
+#endif
+
+/*
  * GPIO settings
  */
 #define CONFIG_SYS_GAFR0_L_VAL 0x02000140
-#define CONFIG_SYS_GAFR0_U_VAL 0x59188000
-#define CONFIG_SYS_GAFR1_L_VAL 0x6392
+#define CONFIG_SYS_GAFR0_U_VAL 0x59188005
+#define CONFIG_SYS_GAFR1_L_VAL 0x639420a2
 #define CONFIG_SYS_GAFR1_U_VAL 0xaaa03950
 #define CONFIG_SYS_GAFR2_L_VAL 0x0aaa
 #define CONFIG_SYS_GAFR2_U_VAL 0x29000308
-#define CONFIG_SYS_GAFR3_L_VAL 0x5400
+#define CONFIG_SYS_GAFR3_L_VAL 0x56aa9500
 #define CONFIG_SYS_GAFR3_U_VAL 0x00d5
 #define CONFIG_SYS_GPCR0_VAL   0x
 #define CONFIG_SYS_GPCR1_VAL   0x0020
@@ -222,7 +294,7 @@ unsigned char zipitz2_spi_read(void);
 #define CONFIG_SYS_GPCR3_VAL   0x
 #define CONFIG_SYS_GPDR0_VAL   0xdafcee00
 #define CONFIG_SYS_GPDR1_VAL   0xffa3aaab
-#define CONFIG_SYS_GPDR2_VAL   0x8fe9
+#define CONFIG_SYS_GPDR2_VAL   0x8fe1
 #define CONFIG_SYS_GPDR3_VAL   0x001b1f8a
 #define CONFIG_SYS_GPSR0_VAL   0x06080400
 #define CONFIG_SYS_GPSR1_VAL   0x007f
@@ -234,7 +306,7 @@ unsigned char zipitz2_spi_read(void);
 /*
  * Clock settings
  */
-#define CONFIG_SYS_CKEN0x00511220
+#define CONFIG_SYS_CKEN0x00591220
 #define CONFIG_SYS_CCCR0x0190
 
 /*
-- 
1.7.8.3

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


[U-Boot] [PATCH v2 3/4] zipitz2: use pxa_mmc_gen as MMC driver

2012-01-11 Thread Vasily Khoruzhick
Signed-off-by: Vasily Khoruzhick anars...@gmail.com
---
v2: mmcinfo is necessary to scan card for partitions

 board/zipitz2/zipitz2.c   |8 
 include/configs/zipitz2.h |5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/board/zipitz2/zipitz2.c b/board/zipitz2/zipitz2.c
index b093c2f..4075fb6 100644
--- a/board/zipitz2/zipitz2.c
+++ b/board/zipitz2/zipitz2.c
@@ -79,6 +79,14 @@ void dram_init_banksize(void)
gd-bd-bi_dram[0].size = PHYS_SDRAM_1_SIZE;
 }
 
+#ifdef CONFIG_CMD_MMC
+int board_mmc_init(bd_t *bis)
+{
+   pxa_mmc_register(0);
+   return 0;
+}
+#endif
+
 #ifdef CONFIG_CMD_SPI
 
 struct {
diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
index 75de677..1b14cc7 100644
--- a/include/configs/zipitz2.h
+++ b/include/configs/zipitz2.h
@@ -45,7 +45,7 @@
 #defineCONFIG_ARCH_CPU_INIT
 
 #defineCONFIG_BOOTCOMMAND  
\
-   if mmc init  fatload mmc 0 0xa000 uboot.script ; then   \
+   if mmcinfo  ext2load mmc 0 0xa000 boot/uboot.script ; then  
\
source 0xa000;\
else  \
bootm 0x6;\
@@ -91,7 +91,8 @@
  */
 #ifdef CONFIG_CMD_MMC
 #defineCONFIG_MMC
-#defineCONFIG_PXA_MMC
+#defineCONFIG_GENERIC_MMC
+#defineCONFIG_PXA_MMC_GENERIC
 #defineCONFIG_SYS_MMC_BASE 0xF000
 #defineCONFIG_CMD_FAT
 #define CONFIG_CMD_EXT2
-- 
1.7.8.3

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


[U-Boot] [PATCH v2 4/4] zipitz2: fix boot issue introduced by PXA low level init rework

2012-01-11 Thread Vasily Khoruzhick
CONFIG_SYS_INIT_SP_ADDR points to RAM, but it's used before
DRAM controller init. Fix it by setting CONFIG_SYS_INIT_SP_ADDR
to SRAM

Signed-off-by: Vasily Khoruzhick anars...@gmail.com
---
v2: no changes

 include/configs/zipitz2.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
index 1b14cc7..e7895ab 100644
--- a/include/configs/zipitz2.h
+++ b/include/configs/zipitz2.h
@@ -184,7 +184,7 @@ unsigned char zipitz2_spi_read(void);
 #defineCONFIG_SYS_LOAD_ADDRCONFIG_SYS_DRAM_BASE
 
 #define CONFIG_SYS_SDRAM_BASE  PHYS_SDRAM_1
-#defineCONFIG_SYS_INIT_SP_ADDR (GENERATED_GBL_DATA_SIZE + 
PHYS_SDRAM_1 + 2048)
+#defineCONFIG_SYS_INIT_SP_ADDR 0x5c038000
 
 /*
  * NOR FLASH
-- 
1.7.8.3

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


Re: [U-Boot] [PATCH v2 1/4] PXA: PXA27x Matrix keypad driver

2012-01-11 Thread Marek Vasut
 From: Marek Vasut marek.va...@gmail.com
 
 Signed-off-by: Marek Vasut marek.va...@gmail.com
 Signed-off-by: Vasily Khoruzhick anars...@gmail.com
 [vasily: adapted Marek's old version for newer u-boot]
 ---
 v2: use struct-based access to regs, minor cleanup
 
  arch/arm/include/asm/arch-pxa/pxa-regs.h|   52 --
  arch/arm/include/asm/arch-pxa/regs-keypad.h |   84 +
  drivers/input/Makefile  |2 +
  drivers/input/pxa27x-mkp.c  |  245
 +++ 4 files changed, 331 insertions(+), 52
 deletions(-)
  create mode 100644 arch/arm/include/asm/arch-pxa/regs-keypad.h
  create mode 100644 drivers/input/pxa27x-mkp.c
 
 diff --git a/arch/arm/include/asm/arch-pxa/pxa-regs.h
 b/arch/arm/include/asm/arch-pxa/pxa-regs.h index b81b42c..d562658 100644
 --- a/arch/arm/include/asm/arch-pxa/pxa-regs.h
 +++ b/arch/arm/include/asm/arch-pxa/pxa-regs.h
 @@ -2567,58 +2567,6 @@ typedef void   (*ExcpHndlr) (void) ;
  #define OVL2C1_O2EN  (131) /* Enable bit for Overlay 2 */
  #define CCR_CEN  (131) /* Enable bit for Cursor */
 
 -/* Keypad controller */
 -
 -#define KPC  0x4150 /* Keypad Interface Control register */
 -#define KPDK 0x4158 /* Keypad Interface Direct Key register */
 -#define KPREC0x41500010 /* Keypad Intefcace Rotary Encoder 
register */
 -#define KPMK 0x41500018 /* Keypad Intefcace Matrix Key register */
 -#define KPAS 0x41500020 /* Keypad Interface Automatic Scan register 
*/
 -#define KPASMKP0 0x41500028 /* Keypad Interface Automatic Scan Multiple
 Key Presser register 0 */ -#define KPASMKP1   0x41500030 /* Keypad Interface
 Automatic Scan Multiple Key Presser register 1 */ -#define
 KPASMKP2  0x41500038 /* Keypad Interface Automatic Scan Multiple Key
 Presser register 2 */ -#define KPASMKP3   0x41500040 /* Keypad Interface
 Automatic Scan Multiple Key Presser register 3 */ -#define
 KPKDI 0x41500048 /* Keypad Interface Key Debounce Interval register 
 */ 
-
 -#define KPC_AS   (0x1  30)  /* Automatic Scan bit */
 -#define KPC_ASACT(0x1  29)  /* Automatic Scan on Activity */
 -#define KPC_MI   (0x1  22)  /* Matrix interrupt bit */
 -#define KPC_IMKP (0x1  21)  /* Ignore Multiple Key Press */
 -#define KPC_MS7  (0x1  20)  /* Matrix scan line 7 */
 -#define KPC_MS6  (0x1  19)  /* Matrix scan line 6 */
 -#define KPC_MS5  (0x1  18)  /* Matrix scan line 5 */
 -#define KPC_MS4  (0x1  17)  /* Matrix scan line 4 */
 -#define KPC_MS3  (0x1  16)  /* Matrix scan line 3 */
 -#define KPC_MS2  (0x1  15)  /* Matrix scan line 2 */
 -#define KPC_MS1  (0x1  14)  /* Matrix scan line 1 */
 -#define KPC_MS0  (0x1  13)  /* Matrix scan line 0 */
 -#define KPC_ME   (0x1  12)  /* Matrix Keypad Enable */
 -#define KPC_MIE  (0x1  11)  /* Matrix Interrupt Enable */
 -#define KPC_DK_DEB_SEL   (0x1   9)  /* Direct Key Debounce select */
 -#define KPC_DI   (0x1   5)  /* Direct key interrupt bit */
 -#define KPC_DEE0 (0x1   2)  /* Rotary Encoder 0 Enable */
 -#define KPC_DE   (0x1   1)  /* Direct Keypad Enable */
 -#define KPC_DIE  (0x1   0)  /* Direct Keypad interrupt Enable 
*/
 -
 -#define KPDK_DKP (0x1  31)
 -#define KPDK_DK7 (0x1   7)
 -#define KPDK_DK6 (0x1   6)
 -#define KPDK_DK5 (0x1   5)
 -#define KPDK_DK4 (0x1   4)
 -#define KPDK_DK3 (0x1   3)
 -#define KPDK_DK2 (0x1   2)
 -#define KPDK_DK1 (0x1   1)
 -#define KPDK_DK0 (0x1   0)
 -
 -#define KPREC_OF1(0x1  31)
 -#define kPREC_UF1(0x1  30)
 -#define KPREC_OF0(0x1  15)
 -#define KPREC_UF0(0x1  14)
 -
 -#define KPMK_MKP (0x1  31)
 -#define KPAS_SO  (0x1  31)
 -#define KPASMKPx_SO  (0x1  31)
 -
  #define GPIO113_BIT  (1  17)/* GPIO113 in GPSR, GPCR, bit 17 */
  #define PSLR 0x40F00034
  #define PSTR 0x40F00038  /* Power Manager Standby Configuration Reg 
*/
 diff --git a/arch/arm/include/asm/arch-pxa/regs-keypad.h
 b/arch/arm/include/asm/arch-pxa/regs-keypad.h new file mode 100644
 index 000..f13da56
 --- /dev/null
 +++ b/arch/arm/include/asm/arch-pxa/regs-keypad.h
 @@ -0,0 +1,84 @@
 +/*
 + * Copyright (C) 2012 Vasily Khoruzhick anars...@gmail.com
 + *
 + * 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 

Re: [U-Boot] [PATCH v2 3/4] zipitz2: use pxa_mmc_gen as MMC driver

2012-01-11 Thread Marek Vasut
 Signed-off-by: Vasily Khoruzhick anars...@gmail.com
 ---
 v2: mmcinfo is necessary to scan card for partitions
 
  board/zipitz2/zipitz2.c   |8 
  include/configs/zipitz2.h |5 +++--
  2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/board/zipitz2/zipitz2.c b/board/zipitz2/zipitz2.c
 index b093c2f..4075fb6 100644
 --- a/board/zipitz2/zipitz2.c
 +++ b/board/zipitz2/zipitz2.c
 @@ -79,6 +79,14 @@ void dram_init_banksize(void)
   gd-bd-bi_dram[0].size = PHYS_SDRAM_1_SIZE;
  }
 
 +#ifdef   CONFIG_CMD_MMC
 +int board_mmc_init(bd_t *bis)
 +{
 + pxa_mmc_register(0);
 + return 0;
 +}
 +#endif
 +
  #ifdef   CONFIG_CMD_SPI
 
  struct {
 diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
 index 75de677..1b14cc7 100644
 --- a/include/configs/zipitz2.h
 +++ b/include/configs/zipitz2.h
 @@ -45,7 +45,7 @@
  #define  CONFIG_ARCH_CPU_INIT
 
  #define  CONFIG_BOOTCOMMAND  
\
 - if mmc init  fatload mmc 0 0xa000 uboot.script ; then   \
 + if mmcinfo  ext2load mmc 0 0xa000 boot/uboot.script ; then  

mmcinfo? WHY?!

 \
   source 0xa000;\
   else  \
   bootm 0x6;\
 @@ -91,7 +91,8 @@
   */
  #ifdef   CONFIG_CMD_MMC
  #define  CONFIG_MMC
 -#define  CONFIG_PXA_MMC
 +#define  CONFIG_GENERIC_MMC
 +#define  CONFIG_PXA_MMC_GENERIC
  #define  CONFIG_SYS_MMC_BASE 0xF000
  #define  CONFIG_CMD_FAT
  #define CONFIG_CMD_EXT2
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2 2/4] zipitz2: enable pxa27x_mkp driver

2012-01-11 Thread Marek Vasut
 Signed-off-by: Vasily Khoruzhick anars...@gmail.com
 ---

Acked-by: Marek Vasut marek.va...@gmail.com

 v2: remove usbtty stuff from EXTRA_ENV_SETTINGS
 
  include/configs/zipitz2.h |   82
 ++--- 1 files changed, 77
 insertions(+), 5 deletions(-)
 
 diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h
 index 26204af..75de677 100644
 --- a/include/configs/zipitz2.h
 +++ b/include/configs/zipitz2.h
 @@ -80,6 +80,12 @@
  #define  CONFIG_CMD_MMC
  #define  CONFIG_CMD_SPI
 
 +#define  CONFIG_EXTRA_ENV_SETTINGS   
\
 + stdout=lcd\0  \
 + stdin=pxa27x-mkp\0\
 + stderr=lcd\0  \
 + 
 +#define  CONFIG_KEYBOARD
  /*
   * MMC Card Configuration
   */
 @@ -206,15 +212,81 @@ unsigned char zipitz2_spi_read(void);
  #define CONFIG_SYS_FLASH_PROTECTION
 
  /*
 + * Matrix keypad
 + */
 +#ifdef   CONFIG_KEYBOARD
 +#define  CONFIG_PXA27X_MKP
 +
 +#define  CONFIG_PXA27X_MKP_MKP_COLS  7
 +#define  CONFIG_PXA27X_MKP_MKP_ROWS  6
 +
 +#define  CONFIG_PXA27X_MKP_DEBOUNCE  30
 +#define  CONFIG_PXA27X_MKP_DELAY 3
 +
 +#define  CONFIG_PXA27X_MKP_MOD_SHIFT {5, 3}
 +#define  CONFIG_PXA27X_MKP_MOD_ALT   {5, 2}
 +#define  CONFIG_PXA27X_MKP_MOD_CTRL  {5, 4}
 +
 +#define  CONFIG_PXA27X_MKP_KEYMAP\
 + { 1, 1, 'q', 'Q', '1', 0xff },  \
 + { 2, 1, 'i', 'I', '8', 0xff },  \
 + { 3, 1, 'g', 'G', '\', 0xff }, \
 + { 4, 1, 'x', 'X', '/', 0xff },  \
 + { 5, 1, '\r', 0xff, 0xff, 0xff },   \
 + { 6, 1, '-', 0xff, 0xff, 0xff },\
 + \
 + { 1, 2, 'w', 'W', '2', 0xff },  \
 + { 2, 2, 'o', 'O', '9', 0xff },  \
 + { 3, 2, 'h', 'H', '\'', 0xff }, \
 + { 4, 2, 'c', 'C', '+', 0xff },  \
 + \
 + { 1, 3, 'e', 'E', '3', 0xff },  \
 + { 2, 3, 'p', 'P', '0', 0xff },  \
 + { 3, 3, 'j', 'J', '[', 0xff },  \
 + { 4, 3, 'v', 'V', '*', 0xff },  \
 + \
 + { 0, 4, '\e', 0xff, '|', 0xff },\
 + { 1, 4, 'r', 'R', '4', 0xff },  \
 + { 2, 4, 'a', 'A', '$', 0xff },  \
 + { 3, 4, 'k', 'K', ']', 0xff },  \
 + { 4, 4, 'b', 'B', '=', 0xff },  \
 + \
 + { 0, 5, '\t', 0xff, 0xff, 0xff },   \
 + { 1, 5, 't', 'T', '5', 0xff },  \
 + { 2, 5, 's', 'S', '#', 0xff },  \
 + { 3, 5, 'l', 'L', '-', 0xff },  \
 + { 4, 5, 'n', 'N', '_', 0xff },  \
 + { 5, 5, ' ', 0xff, 0xff, 0xff },\
 + \
 + { 1, 6, 'y', 'Y', '6', 0xff },  \
 + { 2, 6, 'd', 'D', '', 0xff },  \
 + { 3, 6, '\b', 0xff, '\\', 0xff },   \
 + { 4, 6, 'm', 'M', '?', 0xff },  \
 + { 5, 6, ',', '(', '', '{' },   \
 + \
 + { 1, 7, 'u', 'U', '7', 0xff },  \
 + { 2, 7, 'f', 'F', '@', 0xff },  \
 + { 3, 7, 'z', 'Z', '!', 0xff },  \
 + { 4, 7, ';', '~', ':', 0xff },  \
 + { 5, 7, '.', ')', '', '}' },   \
 + \
 + { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }
 +
 +#define  CONFIG_SYS_CONSOLE_ENV_OVERWRITE
 +#define  CONFIG_SYS_CONSOLE_IS_IN_ENV
 +
 +#endif
 +
 +/*
   * GPIO settings
   */
  #define CONFIG_SYS_GAFR0_L_VAL   0x02000140
 -#define CONFIG_SYS_GAFR0_U_VAL   0x59188000
 -#define CONFIG_SYS_GAFR1_L_VAL   0x6392
 +#define CONFIG_SYS_GAFR0_U_VAL   0x59188005
 +#define CONFIG_SYS_GAFR1_L_VAL   0x639420a2
  #define CONFIG_SYS_GAFR1_U_VAL   0xaaa03950
  #define CONFIG_SYS_GAFR2_L_VAL   0x0aaa
  #define CONFIG_SYS_GAFR2_U_VAL   0x29000308
 -#define CONFIG_SYS_GAFR3_L_VAL   0x5400
 +#define CONFIG_SYS_GAFR3_L_VAL   0x56aa9500
  #define CONFIG_SYS_GAFR3_U_VAL   0x00d5
  #define CONFIG_SYS_GPCR0_VAL 0x
  #define CONFIG_SYS_GPCR1_VAL 0x0020
 @@ -222,7 +294,7 @@ unsigned char zipitz2_spi_read(void);
  #define CONFIG_SYS_GPCR3_VAL 0x
  #define CONFIG_SYS_GPDR0_VAL 0xdafcee00
  #define CONFIG_SYS_GPDR1_VAL 0xffa3aaab
 -#define CONFIG_SYS_GPDR2_VAL 0x8fe9
 +#define CONFIG_SYS_GPDR2_VAL 0x8fe1
  #define CONFIG_SYS_GPDR3_VAL 0x001b1f8a
  #define CONFIG_SYS_GPSR0_VAL 0x06080400
  #define CONFIG_SYS_GPSR1_VAL 0x007f
 @@ -234,7 +306,7 @@ unsigned char zipitz2_spi_read(void);
  /*
   * Clock settings
   */
 -#define CONFIG_SYS_CKEN  0x00511220
 +#define CONFIG_SYS_CKEN  0x00591220
  #define CONFIG_SYS_CCCR  0x0190
 
  /*
___
U-Boot mailing list
U-Boot@lists.denx.de

Re: [U-Boot] [PATCH 1/2 V2] arm926: Flush the data cache before disabling it.

2012-01-11 Thread Marek Vasut
 Hi,
 
 On Wednesday, January 11, 2012, Marek Vasut marek.va...@gmail.com wrote:
  On Wed Jan 11, 2012 at 04:01:31PM +0100, Marek Vasut wrote:
  More so, given the fact that we don't have any control over
  rbl -- so if rbl changes it's layout for any subsequent board,
  we'd have to add that as well to the nand driver, and both in
  u-boot as well as the kernel.
  
  I guess the cleanest solution would have been for the rbl to have
  used the same layout as the one used by u-boot and linux.
   
   Yep, why not do that then?
   
Because rbl is a proprietary bootloader from TI.
  
  Don't we actually have replacement bootloader in uboot already ? You
 
 don't need
 
  xloader with uboot anymore I think.
 
 RBL ist the ROM bootloader in the SoC, it's not only proprietary but also
 in ROM and hence cannot be changed.
 
 RBL executes an AIS script. Sughosh, could you please explain what your AIS
 does or how you create it?

So basically, this SPL business can be avoided and this all can be done in a 
standard way?

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


[U-Boot] [PATCH] nand_spl: store ecc data on the stack

2012-01-11 Thread Scott Wood
Adapt the following patch from spl to nand_spl:

  Author: Stefano Babic sba...@denx.de
  Date:   Thu Dec 15 10:55:37 2011 +0100

  nand_spl_simple: store ecc data on the stack

  Currently nand_spl_simple puts it's temp data at 0x1 offset in SDRAM
  which is likely to contain already loaded data.
  The patch saves the oob data and the ecc on the stack replacing
  the fixed address in RAM.

  Signed-off-by: Stefano Babic sba...@denx.de
  CC: Ilya Yanok ya...@emcraft.com
  CC: Scott Wood scottw...@freescale.com
  CC: Tom Rini tom.r...@gmail.com
  CC: Simon Schwarz simonschwarz...@googlemail.com
  CC: Wolfgang Denk w...@denx.de
  Signed-off-by: Scott Wood scottw...@freescale.com

While nand_spl is on its way out, in favor of spl, there are still
many boards using it, and conversions are gradual.  This allows us
to get rid of CONFIG_SYS_NAND_ECCSTEPS and CONFIG_SYS_NAND_ECCTOTAL now,
which would otherwise be likely to linger unreferenced after a conversion.

It also eliminates a temporary error in the hawkboard_nand build, since
the spl version of the patch removed ECCSTEPS/TOTAL from hawkboard.h, but
the spl conversion is pending (and may be merged via a different tree).

Signed-off-by: Scott Wood scottw...@freescale.com
---
 include/configs/PMC440.h |2 -
 include/configs/acadia.h |2 -
 include/configs/bamboo.h |2 -
 include/configs/cam_enc_4xx.h|3 --
 include/configs/canyonlands.h|2 -
 include/configs/kilauea.h|2 -
 include/configs/qi_lb60.h|4 ---
 include/configs/sequoia.h|2 -
 include/configs/smdk6400.h   |4 ---
 include/configs/tam3517-common.h |5 
 nand_spl/nand_boot.c |   42 ++---
 11 files changed, 16 insertions(+), 54 deletions(-)

diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index ed47a87..b820954 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -200,9 +200,7 @@
 
 #define CONFIG_SYS_NAND_ECCSIZE256
 #define CONFIG_SYS_NAND_ECCBYTES   3
-#define CONFIG_SYS_NAND_ECCSTEPS   (CONFIG_SYS_NAND_PAGE_SIZE / 
CONFIG_SYS_NAND_ECCSIZE)
 #define CONFIG_SYS_NAND_OOBSIZE16
-#define CONFIG_SYS_NAND_ECCTOTAL   (CONFIG_SYS_NAND_ECCBYTES * 
CONFIG_SYS_NAND_ECCSTEPS)
 #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7}
 #endif
 
diff --git a/include/configs/acadia.h b/include/configs/acadia.h
index 5573dc7..8c447ca 100644
--- a/include/configs/acadia.h
+++ b/include/configs/acadia.h
@@ -185,9 +185,7 @@
 
 #define CONFIG_SYS_NAND_ECCSIZE256
 #define CONFIG_SYS_NAND_ECCBYTES   3
-#define CONFIG_SYS_NAND_ECCSTEPS   (CONFIG_SYS_NAND_PAGE_SIZE / 
CONFIG_SYS_NAND_ECCSIZE)
 #define CONFIG_SYS_NAND_OOBSIZE16
-#define CONFIG_SYS_NAND_ECCTOTAL   (CONFIG_SYS_NAND_ECCBYTES * 
CONFIG_SYS_NAND_ECCSTEPS)
 #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7}
 
 #ifdef CONFIG_ENV_IS_IN_NAND
diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h
index 7b66fc0..506a558 100644
--- a/include/configs/bamboo.h
+++ b/include/configs/bamboo.h
@@ -179,9 +179,7 @@
 
 #define CONFIG_SYS_NAND_ECCSIZE256
 #define CONFIG_SYS_NAND_ECCBYTES   3
-#define CONFIG_SYS_NAND_ECCSTEPS   (CONFIG_SYS_NAND_PAGE_SIZE / 
CONFIG_SYS_NAND_ECCSIZE)
 #define CONFIG_SYS_NAND_OOBSIZE16
-#define CONFIG_SYS_NAND_ECCTOTAL   (CONFIG_SYS_NAND_ECCBYTES * 
CONFIG_SYS_NAND_ECCSTEPS)
 #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7}
 
 #ifdef CONFIG_ENV_IS_IN_NAND
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index 86f74df..5d9672f 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -235,9 +235,6 @@
 #define CONFIG_SYS_NAND_ECCBYTES   10
 #define CONFIG_SYS_NAND_OOBSIZE64
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
-#define CONFIG_SYS_NAND_ECCSTEPS   (CONFIG_SYS_NAND_PAGE_SIZE / \
-CONFIG_SYS_NAND_ECCSIZE)
-#define CONFIG_SYS_NAND_ECCTOTAL   (40)
 
 /*
  * RBL searches from Block n (n = 1..24)
diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
index 8c03582..acb127c 100644
--- a/include/configs/canyonlands.h
+++ b/include/configs/canyonlands.h
@@ -197,9 +197,7 @@
 
 #define CONFIG_SYS_NAND_ECCSIZE256
 #define CONFIG_SYS_NAND_ECCBYTES   3
-#define CONFIG_SYS_NAND_ECCSTEPS   (CONFIG_SYS_NAND_PAGE_SIZE / 
CONFIG_SYS_NAND_ECCSIZE)
 #define CONFIG_SYS_NAND_OOBSIZE64
-#define CONFIG_SYS_NAND_ECCTOTAL   (CONFIG_SYS_NAND_ECCBYTES * 
CONFIG_SYS_NAND_ECCSTEPS)
 #define CONFIG_SYS_NAND_ECCPOS {40, 41, 42, 43, 44, 45, 46, 47, \
 48, 49, 50, 51, 52, 53, 54, 55, \
 56, 57, 58, 59, 60, 61, 62, 63}
diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h
index e66aadf..621dbb8 100644

[U-Boot] [PATCH v2 0/7] tegra: Enhance funcmux to support I2C and MMC

2012-01-11 Thread Simon Glass
This series expands funcmux_select() to support configs other than 0, and
to name each config option.

This permits introduction of I2C and MMC support in the funcmux.

Changes in v2:
- Add enum to select from available funcmux configs
- Remove funcmux_select() option parameter
- Use config enum to select funcmux
- Fix SDMMC4 config 0 to remove unwanted ATB pin group

Simon Glass (7):
  tegra: Adjust funcmux config test to permit expansion
  tegra: Add enum to select from available funcmux configs
  tegra: Add I2C support to funcmux
  tegra: Add SDMMC support to funcmux
  tegra: Use funcmux for MMC on tamonten
  tegra: Use funcmux for MMC on harmony
  tegra: Use funcmux for MMC on seaboard

 arch/arm/cpu/armv7/tegra2/board.c  |2 +-
 arch/arm/cpu/armv7/tegra2/funcmux.c|  139 +---
 arch/arm/include/asm/arch-tegra2/funcmux.h |   30 ++-
 board/avionic-design/common/tamonten.c |   10 +--
 board/nvidia/harmony/harmony.c |   19 +---
 board/nvidia/seaboard/seaboard.c   |   21 +
 6 files changed, 166 insertions(+), 55 deletions(-)

-- 
1.7.3.1

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


Re: [U-Boot] [PATCH 3/3 v3] devkit3250: add Timll DevKit3250 board initial support

2012-01-11 Thread Vladimir Zapolskiy

On 12.01.2012 00:08, Marek Vasut wrote:

On 11.01.2012 22:56, Marek Vasut wrote:

This change adds a basic support for Embest/Timll DevKit3250 board,
NOR and UART are the only supported peripherals for a moment. The board
doesn't require low-level init, because the initial SDRAM and GPIO
configuration is performed during kickstart bootloader execution.

Signed-off-by: Vladimir Zapolskiyv...@mleia.com
---
Changes from v2 to v3:
* updated a relocation address
* combined a record in maintainers file into the patch
* use high speed UART2 by default

Changes from v1 to v2:
* corrected address in GPLv2+ licence header in files
* removed clean and distclean targets from board makefile
* do not set machine id explicitly, if CONFIG_MACH_TYPE is defined
* minor indentation cleanups

   MAINTAINERS |4 +
   board/timll/devkit3250/Makefile |   44 +
   board/timll/devkit3250/devkit3250.c |   71 
   boards.cfg  |1 +
   include/configs/devkit3250.h|  121

+++ 5 files changed, 241 insertions(+),
0 deletions(-)

   create mode 100644 board/timll/devkit3250/Makefile
   create mode 100644 board/timll/devkit3250/devkit3250.c
   create mode 100644 include/configs/devkit3250.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4bf12b5..68dedae 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -914,6 +914,10 @@ Sughosh Ganuurwithsugh...@gmail.com

hawkboard   ARM926EJS (OMAP-L138)

+Vladimir Zapolskiyv...@mleia.com
+
+   devkit3250  lpc32xx
+

   --
   ---

   Unknown / orphaned boards:
diff --git a/board/timll/devkit3250/Makefile
b/board/timll/devkit3250/Makefile new file mode 100644
index 000..ea7827c
--- /dev/null
+++ b/board/timll/devkit3250/Makefile
@@ -0,0 +1,44 @@
+#
+# Copyright (C) 2011 by Vladimir Zapolskiyv...@mleia.com
+# Copyright (C) 2008, Guennadi Liakhovetskil...@denx.de
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).o
+
+COBJS  := devkit3250.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+###
## +
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+###
## diff --git a/board/timll/devkit3250/devkit3250.c
b/board/timll/devkit3250/devkit3250.c new file mode 100644
index 000..461012d
--- /dev/null
+++ b/board/timll/devkit3250/devkit3250.c
@@ -0,0 +1,71 @@
+/*
+ * Embest/Timll DevKit3250 board support
+ *
+ * Copyright (C) 2011 Vladimir Zapolskiyv...@mleia.com
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#includecommon.h
+#includeasm/arch/sys_proto.h
+#includeasm/arch/cpu.h
+#includeasm/arch/emc.h
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static struct emc_t *emc = (struct emc_t *)EMC_BASE;
+
+int board_early_init_f(void)
+{
+   lpc32xx_uart_init(CONFIG_SYS_LPC32XX_UART);
+
+   return 0;
+}
+
+int board_init(void)
+{
+   /*
+* It might be necessary to flush data cache, if U-boot is loaded
+* from kickstart bootloader, e.g. from S1L loader
+*/
+   flush_cache(0, 0);


You're flushing no area here ... also, shouldn't this go to CPU 

  1   2   >