Re: [U-Boot] MPC5200: possible to reserve embedded flash sectors ?

2010-03-15 Thread André Schwarz
Wolfgang,

...
  This is because all boards used the same script anyway, so there was
  no use in keeping multiple copies of the same file. But please note
  that nothing prevents you to use a local, customized linker script.
  All you need to do is set it's name in you config.mk (add a line
  LDSCRIPT=your name).

Created the board dir and added this line to config.mk:

LDSCRIPT := $(SRCTREE)/board/matrix-vision/mvsmr/u-boot.lds

which results in failure during make :

s...@swa-m460:~/u-boot.git$ CROSS_COMPILE=ppc_6xx- ARCH=powerpc make
for dir in tools examples/standalone examples/api
cpu/mpc5xxx /home/swa/u-boot.git/board/matrix-vision/mvsmr/ ; do \
make -C $dir _depend ; done
make[1]: Entering directory `/home/swa/u-boot.git/tools'
make[1]: Nothing to be done for `_depend'.
...
make[1]: Leaving directory `/home/swa/u-boot.git/cpu/mpc5xxx'
make: *** /home/swa/u-boot.git/board/matrix-vision/mvsmr/: No such file
or directory.  Stop.
make: *** [depend] Error 2

At first glance I thought there's a make target missing.
But looking at other boards doing the same thing showed no difference.

Using LDSCRIPT := $(SRCTREE)/cpu/mpc5xxx/u-boot-customlayout.lds
withing config.mk compiles cleanly and results in working U-Boot.

What am I missing ?

 
 excellent - that's what I've been looking for.
 At first glance I'd expected custom linker scripts to be refused ...
 
  
   Since I want to submit the board files as soon as the merge window will
   open I'm asking for a reasonable way to implement this in current
   U-Boot.
  
  Use a customized linker script.
 
 will do - thanks for the help.
 


Regards,
André


MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, 
Hans-Joachim Reich
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] Marvell GuruPlug Board Support

2010-03-15 Thread Siddarth Gore
GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot

Reference: http://plugcomputer.org

This patch is for GuruPlug Plus, but it supports Standard version
as well.

Signed-off-by: Siddarth Gore go...@marvell.com
---
 MAINTAINERS |4 +
 MAKEALL |1 +
 Makefile|3 +
 board/Marvell/guruplug/Makefile |   51 +
 board/Marvell/guruplug/config.mk|   28 +
 board/Marvell/guruplug/guruplug.c   |  167 +
 board/Marvell/guruplug/guruplug.h   |   39 +++
 board/Marvell/guruplug/kwbimage.cfg |  162 
 include/configs/guruplug.h  |  199 +++
 9 files changed, 654 insertions(+), 0 deletions(-)
 create mode 100644 board/Marvell/guruplug/Makefile
 create mode 100644 board/Marvell/guruplug/config.mk
 create mode 100644 board/Marvell/guruplug/guruplug.c
 create mode 100644 board/Marvell/guruplug/guruplug.h
 create mode 100644 board/Marvell/guruplug/kwbimage.cfg
 create mode 100644 include/configs/guruplug.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 80057ce..f102cd8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -765,6 +765,10 @@ Prafulla Wadaskar prafu...@marvell.com
rd6281a ARM926EJS (Kirkwood SoC)
sheevaplug  ARM926EJS (Kirkwood SoC)
 
+Siddarth Gore go...@marvell.com
+
+   guruplugARM926EJS (Kirkwood SoC)
+
 Richard Woodruff r-woodru...@ti.com
 
omap2420h4  ARM1136EJS
diff --git a/MAKEALL b/MAKEALL
index beacb5f..b15c2d1 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -562,6 +562,7 @@ LIST_ARM9= \
edb9312 \
edb9315 \
edb9315a\
+   guruplug\
imx27lite   \
lpd7a400\
mv88f6281gtw_ge \
diff --git a/Makefile b/Makefile
index d801e25..30d5968 100644
--- a/Makefile
+++ b/Makefile
@@ -2952,6 +2952,9 @@ davinci_dm365evm_config : unconfig
 davinci_dm6467evm_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci
 
+guruplug_config: unconfig
+   @$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
+
 imx27lite_config:  unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27
 
diff --git a/board/Marvell/guruplug/Makefile b/board/Marvell/guruplug/Makefile
new file mode 100644
index 000..99748a7
--- /dev/null
+++ b/board/Marvell/guruplug/Makefile
@@ -0,0 +1,51 @@
+#
+# (C) Copyright 2009
+# Marvell Semiconductor www.marvell.com
+# Written-by: Siddarth Gore go...@marvell.com
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).a
+
+COBJS  := guruplug.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+
+clean:
+   rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak .depend
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/Marvell/guruplug/config.mk b/board/Marvell/guruplug/config.mk
new file mode 100644
index 000..e183477
--- /dev/null
+++ b/board/Marvell/guruplug/config.mk
@@ -0,0 +1,28 @@
+#
+# (C) Copyright 2009
+# Marvell Semiconductor www.marvell.com
+# Written-by: Siddarth Gore go...@marvell.com
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# 

[U-Boot] i2c pull request (next)

2010-03-15 Thread Heiko Schocher
Hello Wolfgang,

please pull for next branch the following changes for i2c:

The following changes since commit a143441472e1e422b0ff36ec4c99e36dd0f0358b:
  Detlev Zundel (1):
mpc5xxx: Remove all references to MGT5100

are available in the git repository at:

  git://git.denx.de/u-boot-i2c.git next

Frans Meulenbroeks (5):
  cmd_i2c.c: reduced subaddress length to 3 bytes
  cmd_bootm.c: made subcommand array static
  cmd_i2c.c: reworked subcommand handling
  cmd_i2c.c: sorted commands alphabetically
  cmd_i2c.c: added i2c read to memory function

 common/cmd_bootm.c |2 +-
 common/cmd_i2c.c   |  158 +--
 2 files changed, 115 insertions(+), 45 deletions(-)

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] Marvell GuruPlug Board Support

2010-03-15 Thread Prafulla Wadaskar
 

 -Original Message-
 From: Siddarth Gore [mailto:go...@marvell.com] 
 Sent: Monday, March 15, 2010 4:36 PM
 To: u-boot@lists.denx.de
 Cc: Prafulla Wadaskar; Siddarth Gore
 Subject: [PATCH] Marvell GuruPlug Board Support
 
 GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
 GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
 
 Reference: http://plugcomputer.org

Hi Siddarth

http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
Will be better reference to explain this board

 
 This patch is for GuruPlug Plus, but it supports Standard version
 as well.
 
 Signed-off-by: Siddarth Gore go...@marvell.com
 ---
  MAINTAINERS |4 +
  MAKEALL |1 +
  Makefile|3 +
  board/Marvell/guruplug/Makefile |   51 +
  board/Marvell/guruplug/config.mk|   28 +
  board/Marvell/guruplug/guruplug.c   |  167 
 +
  board/Marvell/guruplug/guruplug.h   |   39 +++
  board/Marvell/guruplug/kwbimage.cfg |  162 
 
  include/configs/guruplug.h  |  199 
 +++
  9 files changed, 654 insertions(+), 0 deletions(-)
  create mode 100644 board/Marvell/guruplug/Makefile
  create mode 100644 board/Marvell/guruplug/config.mk
  create mode 100644 board/Marvell/guruplug/guruplug.c
  create mode 100644 board/Marvell/guruplug/guruplug.h
  create mode 100644 board/Marvell/guruplug/kwbimage.cfg
  create mode 100644 include/configs/guruplug.h
 
...snip...
 +++ b/board/Marvell/guruplug/guruplug.c
 @@ -0,0 +1,167 @@
 +/*
 + * (C) Copyright 2009
 + * Marvell Semiconductor www.marvell.com
 + * Written-by: Siddarth Gore go...@marvell.com
 + *
 + * See file CREDITS for list of people who contributed to this
 + * project.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 + * MA 02110-1301 USA
 + */
 +
 +#include common.h
 +#include miiphy.h
 +#include asm/arch/kirkwood.h
 +#include asm/arch/mpp.h
 +#include guruplug.h
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +int board_init(void)
 +{
 + /*
 +  * default gpio configuration
 +  * There are maximum 64 gpios controlled through 2 sets 
 of registers
 +  * the  below configuration configures mainly initial LED status
 +  */
 + kw_config_gpio(GURUPLUG_OE_VAL_LOW,
 + GURUPLUG_OE_VAL_HIGH,
 + GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);
 +
 + /* Multi-Purpose Pins Functionality configuration */

It will be good if you comment out for the MPPs that you are configuring

 + u32 kwmpp_config[] = {
 + MPP0_NF_IO2,
 + MPP1_NF_IO3,
 + MPP2_NF_IO4,
 + MPP3_NF_IO5,
 + MPP4_NF_IO6,
 + MPP5_NF_IO7,
 + MPP6_SYSRST_OUTn,
 + MPP7_GPO,
 + MPP8_TW_SDA,
 + MPP9_TW_SCK,
 + MPP10_UART0_TXD,
 + MPP11_UART0_RXD,
 + MPP12_SD_CLK,
 + MPP13_SD_CMD,
 + MPP14_SD_D0,
 + MPP15_SD_D1,
 + MPP16_SD_D2,
 + MPP17_SD_D3,
 + MPP18_NF_IO0,
 + MPP19_NF_IO1,
 + MPP20_GE1_0,
 + MPP21_GE1_1,
 + MPP22_GE1_2,
 + MPP23_GE1_3,
 + MPP24_GE1_4,
 + MPP25_GE1_5,
 + MPP26_GE1_6,
 + MPP27_GE1_7,
 + MPP28_GE1_8,
 + MPP29_GE1_9,
 + MPP30_GE1_10,
 + MPP31_GE1_11,
 + MPP32_GE1_12,
 + MPP33_GE1_13,
 + MPP34_GE1_14,
 + MPP35_GE1_15,
 + MPP36_GPIO,
 + MPP37_GPIO,
 + MPP38_GPIO,
 + MPP39_GPIO,
 + MPP40_TDM_SPI_SCK,
 + MPP41_TDM_SPI_MISO,
 + MPP42_TDM_SPI_MOSI,
 + MPP43_GPIO,
 + MPP44_GPIO,
 + MPP45_GPIO,
 + MPP46_GPIO,
 + MPP47_GPIO,
 + MPP48_GPIO,
 + MPP49_GPIO,
 + 0
 + };
 + kirkwood_mpp_conf(kwmpp_config);
 +

..snip...
 +++ b/board/Marvell/guruplug/guruplug.h
 @@ -0,0 +1,39 @@
 +/*
 + * (C) Copyright 2009
 + * Marvell Semiconductor www.marvell.com
 + * Written-by: Siddarth Gore go...@marvell.com
 + *
 + * See file 

[U-Boot] [PATCH] ppc4xx fix unstable 440EPX boostrap options

2010-03-15 Thread Rupjyoti Sarmah
440EPx fixed bootstrap options A, B, D, and E sets PLL FWDVA to a value = 1.
This results in the PLLOUTB being greater than the CPU clock frequency
resulting unstable 440EPx operation resulting in various software hang
conditions.

Signed-off-by: Rupjyoti Sarmah rsar...@appliedmicro.com
Acked-by : Victor Gallardo vgalla...@appliedmicro.com
---
 cpu/ppc4xx/cpu_init.c |   65 +
 include/ppc440.h  |6 
 2 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/cpu/ppc4xx/cpu_init.c b/cpu/ppc4xx/cpu_init.c
index ccd9993..8a6e545 100644
--- a/cpu/ppc4xx/cpu_init.c
+++ b/cpu/ppc4xx/cpu_init.c
@@ -111,17 +111,72 @@ void reconfigure_pll(u32 new_cpu_freq)
mtcpr(CPR0_SPCID, reg);
reset_needed = 1;
}
+   }
+
+   /* Get current value of FWDVA.*/
+   mfcpr(CPR0_PLLD, reg);
+   temp = (reg  PLLD_FWDVA_MASK)  16;
 
-   /* Set reload inhibit so configuration will persist across
-* processor resets */
+   /*
+* Check to see if FWDVA has been set to value of 1. if it has we must
+* modify it.
+*/
+   if (temp == 1) {
+   mfcpr(CPR0_PLLD, reg);
+   /* Get current value of fbdv.  */
+   temp = (reg  PLLD_FBDV_MASK)  24;
+   fbdv = temp ? temp : 32;
+   /* Get current value of lfbdv. */
+   temp = (reg  PLLD_LFBDV_MASK);
+   lfbdv = temp ? temp : 64;
+   /*
+* Load register that contains current boot strapping option.
+*/
+   mfcpr(CPR0_ICFG, reg);
+   /* Shift strapping option into low 3 bits.*/
+   reg = (reg  28);
+
+   if ((reg == BOOT_STRAP_OPTION_A) || (reg == 
BOOT_STRAP_OPTION_B) ||
+   (reg == BOOT_STRAP_OPTION_D) || (reg == 
BOOT_STRAP_OPTION_E)) {
+   /*
+* Get current value of FWDVA. Assign current FWDVA to
+* new FWDVB.
+*/
+   mfcpr(CPR0_PLLD, reg);
+   target_fwdvb = (reg  PLLD_FWDVA_MASK)  16;
+   fwdvb = target_fwdvb ? target_fwdvb : 8;
+   /*
+* Get current value of FWDVB. Assign current FWDVB to
+* new FWDVA.
+*/
+   target_fwdva = (reg  PLLD_FWDVB_MASK)  8;
+   fwdva = target_fwdva ? target_fwdva : 16;
+   /*
+* Update CPR0_PLLD with switched FWDVA and FWDVB.
+*/
+   reg = ~(PLLD_FWDVA_MASK | PLLD_FWDVB_MASK |
+   PLLD_FBDV_MASK | PLLD_LFBDV_MASK);
+   reg |= ((fwdva == 16 ? 0 : fwdva)  16) |
+   ((fwdvb == 8 ? 0 : fwdvb)  8) |
+   ((fbdv == 32 ? 0 : fbdv)  24) |
+   (lfbdv == 64 ? 0 : lfbdv);
+   mtcpr(CPR0_PLLD, reg);
+   /* Acknowledge that a reset is required. */
+   reset_needed = 1;
+   }
+   }
+
+   if (reset_needed) {
+   /*
+* Set reload inhibit so configuration will persist across
+* processor resets
+*/
mfcpr(CPR0_ICFG, reg);
reg = ~CPR0_ICFG_RLI_MASK;
reg |= 1  31;
mtcpr(CPR0_ICFG, reg);
-   }
 
-   /* Reset processor if configuration changed */
-   if (reset_needed) {
+   /* Reset processor if configuration changed */
__asm__ __volatile__ (sync; isync);
mtspr(SPRN_DBCR0, 0x2000);
}
diff --git a/include/ppc440.h b/include/ppc440.h
index e60fa13..4182944 100644
--- a/include/ppc440.h
+++ b/include/ppc440.h
@@ -68,6 +68,12 @@
 #define CPR0_SPCID 0x0120
 #define CPR0_ICFG  0x0140
 
+/* 440EPX boot strap options */
+#define BOOT_STRAP_OPTION_A  0x
+#define BOOT_STRAP_OPTION_B  0x0001
+#define BOOT_STRAP_OPTION_D  0x0003
+#define BOOT_STRAP_OPTION_E  0x0004
+
 /* 440gx sdr register definations */
 #define SDR0_SDSTP00x0020  /* */
 #define SDR0_SDSTP10x0021  /* */
-- 
1.5.6.3

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


[U-Boot] [PATCH] video: cfb_console.c: add support for RLE8 bitmaps

2010-03-15 Thread Anatolij Gustschin
Allow displaying 8-bit RLE BMP images.

Signed-off-by: Anatolij Gustschin ag...@denx.de
---
 README  |6 ++
 drivers/video/cfb_console.c |  200 ++-
 2 files changed, 204 insertions(+), 2 deletions(-)

diff --git a/README b/README
index 1158e24..f469bd3 100644
--- a/README
+++ b/README
@@ -1133,6 +1133,12 @@ The following options need to be configured:
images, gzipped BMP images can be displayed via the
splashscreen support or the bmp command.
 
+- Run length encoded BMP image (RLE8) support: CONFIG_VIDEO_BMP_RLE8
+
+   If this option is set, 8-bit RLE compressed BMP images
+   can be displayed via the splashscreen support or the
+   bmp command.
+
 - Compression support:
CONFIG_BZIP2
 
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 49f0a2e..d1f47c9 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -803,8 +803,193 @@ static void inline fill_555rgb_pswap(uchar *fb, int x,
 #endif
 
 /*
+ * RLE8 bitmap support
+ */
+
+#ifdef CONFIG_VIDEO_BMP_RLE8
+/* Pre-calculated color table entry */
+struct palette {
+   union {
+   unsigned short  w;  /* word */
+   unsigned intdw; /* double word */
+   } ce; /* color entry */
+};
+
+/*
+ * Helper to draw encoded/unencoded run.
+ */
+static void draw_bitmap (uchar **fb, uchar *bm, struct palette *p,
+int cnt, int enc)
+{
+   ulong addr = (ulong)*fb;
+   int *off;
+   int enc_off = 1;
+   int i;
+
+   /*
+* Setup offset of the color index in the bitmap.
+* Color index of encoded run is at offset 1.
+*/
+   off = enc ? enc_off : i;
+
+   switch (VIDEO_DATA_FORMAT) {
+   case GDF__8BIT_INDEX:
+   for (i = 0; i  cnt; i++)
+   *(unsigned char *)addr++ = bm[*off];
+   break;
+   case GDF_15BIT_555RGB:
+   case GDF_16BIT_565RGB:
+   /* differences handled while pre-calculating palette */
+   for (i = 0; i  cnt; i++) {
+   *(unsigned short *)addr = p[bm[*off]].ce.w;
+   addr += 2;
+   }
+   break;
+   case GDF_32BIT_X888RGB:
+   for (i = 0; i  cnt; i++) {
+   *(unsigned long *)addr = p[bm[*off]].ce.dw;
+   addr += 4;
+   }
+   break;
+   }
+   *fb = (uchar *)addr; /* return modified address */
+}
+
+static int display_rle8_bitmap (bmp_image_t *img, int xoff, int yoff,
+   int width, int height)
+{
+   unsigned char *bm;
+   unsigned char *fbp;
+   unsigned int cnt, runlen;
+   int decode = 1;
+   int x, y, bpp, i, ncolors;
+   struct palette p[256];
+   bmp_color_table_entry_t cte;
+   int green_shift, red_off;
+
+   x = 0;
+   y = __le32_to_cpu(img-header.height) - 1;
+   ncolors = __le32_to_cpu(img-header.colors_used);
+   bpp = VIDEO_PIXEL_SIZE;
+   fbp = (unsigned char *)((unsigned int)video_fb_address +
+   (((y + yoff) * VIDEO_COLS) + xoff) * bpp);
+
+   bm = (uchar *)img + __le32_to_cpu(img-header.data_offset);
+
+   /* pre-calculate and setup palette */
+   switch (VIDEO_DATA_FORMAT) {
+   case GDF__8BIT_INDEX:
+   for (i = 0; i  ncolors; i++) {
+   cte = img-color_table[i];
+   video_set_lut (i, cte.red, cte.green, cte.blue);
+   }
+   break;
+   case GDF_15BIT_555RGB:
+   case GDF_16BIT_565RGB:
+   if (VIDEO_DATA_FORMAT == GDF_15BIT_555RGB) {
+   green_shift = 3;
+   red_off = 10;
+   } else {
+   green_shift = 2;
+   red_off = 11;
+   }
+   for (i = 0; i  ncolors; i++) {
+   cte = img-color_table[i];
+   p[i].ce.w = SWAP16((unsigned short)
+  (((cte.red  3)  red_off) |
+   ((cte.green  green_shift)  5) |
+   cte.blue  3));
+   }
+   break;
+   case GDF_32BIT_X888RGB:
+   for (i = 0; i  ncolors; i++) {
+   cte = img-color_table[i];
+   p[i].ce.dw = SWAP32((cte.red  16) | (cte.green  8) |
+cte.blue);
+   }
+   break;
+   default:
+   printf(RLE Bitmap unsupported in video mode 0x%x\n,
+   VIDEO_DATA_FORMAT);
+   return -1;
+   }
+
+   while (decode) {
+   switch (bm[0]) {
+   case 0:
+   switch 

Re: [U-Boot] [PATCH] Marvell GuruPlug Board Support

2010-03-15 Thread Siddarth Gore
On Mon, 2010-03-15 at 05:13 -0700, Prafulla Wadaskar wrote:
 
  -Original Message-
  From: Siddarth Gore [mailto:go...@marvell.com]
  Sent: Monday, March 15, 2010 4:36 PM
  To: u-boot@lists.denx.de
  Cc: Prafulla Wadaskar; Siddarth Gore
  Subject: [PATCH] Marvell GuruPlug Board Support
 
  GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
  GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
 
  Reference: http://plugcomputer.org
 
 Hi Siddarth
 
Hi Prafulla

 http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
 Will be better reference to explain this board
 
i thought this link might stop working after some time so wanted to give
a more permanent link. i will add both.

 
  This patch is for GuruPlug Plus, but it supports Standard version
  as well.
 
  Signed-off-by: Siddarth Gore go...@marvell.com
  ---
   MAINTAINERS |4 +
   MAKEALL |1 +
   Makefile|3 +
   board/Marvell/guruplug/Makefile |   51 +
   board/Marvell/guruplug/config.mk|   28 +
   board/Marvell/guruplug/guruplug.c   |  167
  +
   board/Marvell/guruplug/guruplug.h   |   39 +++
   board/Marvell/guruplug/kwbimage.cfg |  162
  
   include/configs/guruplug.h  |  199
  +++
   9 files changed, 654 insertions(+), 0 deletions(-)
   create mode 100644 board/Marvell/guruplug/Makefile
   create mode 100644 board/Marvell/guruplug/config.mk
   create mode 100644 board/Marvell/guruplug/guruplug.c
   create mode 100644 board/Marvell/guruplug/guruplug.h
   create mode 100644 board/Marvell/guruplug/kwbimage.cfg
   create mode 100644 include/configs/guruplug.h
 
 ...snip...
  +++ b/board/Marvell/guruplug/guruplug.c
  @@ -0,0 +1,167 @@
  +/*
  + * (C) Copyright 2009
  + * Marvell Semiconductor www.marvell.com
  + * Written-by: Siddarth Gore go...@marvell.com
  + *
  + * See file CREDITS for list of people who contributed to this
  + * project.
  + *
  + * This program is free software; you can redistribute it and/or
  + * modify it under the terms of the GNU General Public License as
  + * published by the Free Software Foundation; either version 2 of
  + * the License, or (at your option) any later version.
  + *
  + * This program is distributed in the hope that it will be useful,
  + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  + * GNU General Public License for more details.
  + *
  + * You should have received a copy of the GNU General Public License
  + * along with this program; if not, write to the Free Software
  + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  + * MA 02110-1301 USA
  + */
  +
  +#include common.h
  +#include miiphy.h
  +#include asm/arch/kirkwood.h
  +#include asm/arch/mpp.h
  +#include guruplug.h
  +
  +DECLARE_GLOBAL_DATA_PTR;
  +
  +int board_init(void)
  +{
  + /*
  +  * default gpio configuration
  +  * There are maximum 64 gpios controlled through 2 sets
  of registers
  +  * the  below configuration configures mainly initial LED status
  +  */
  + kw_config_gpio(GURUPLUG_OE_VAL_LOW,
  + GURUPLUG_OE_VAL_HIGH,
  + GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);
  +
  + /* Multi-Purpose Pins Functionality configuration */
 
 It will be good if you comment out for the MPPs that you are configuring
 
done

  + u32 kwmpp_config[] = {
  + MPP0_NF_IO2,
  + MPP1_NF_IO3,
  + MPP2_NF_IO4,
  + MPP3_NF_IO5,
  + MPP4_NF_IO6,
  + MPP5_NF_IO7,
  + MPP6_SYSRST_OUTn,
  + MPP7_GPO,
  + MPP8_TW_SDA,
  + MPP9_TW_SCK,
  + MPP10_UART0_TXD,
  + MPP11_UART0_RXD,
  + MPP12_SD_CLK,
  + MPP13_SD_CMD,
  + MPP14_SD_D0,
  + MPP15_SD_D1,
  + MPP16_SD_D2,
  + MPP17_SD_D3,
  + MPP18_NF_IO0,
  + MPP19_NF_IO1,
  + MPP20_GE1_0,
  + MPP21_GE1_1,
  + MPP22_GE1_2,
  + MPP23_GE1_3,
  + MPP24_GE1_4,
  + MPP25_GE1_5,
  + MPP26_GE1_6,
  + MPP27_GE1_7,
  + MPP28_GE1_8,
  + MPP29_GE1_9,
  + MPP30_GE1_10,
  + MPP31_GE1_11,
  + MPP32_GE1_12,
  + MPP33_GE1_13,
  + MPP34_GE1_14,
  + MPP35_GE1_15,
  + MPP36_GPIO,
  + MPP37_GPIO,
  + MPP38_GPIO,
  + MPP39_GPIO,
  + MPP40_TDM_SPI_SCK,
  + MPP41_TDM_SPI_MISO,
  + MPP42_TDM_SPI_MOSI,
  + MPP43_GPIO,
  + MPP44_GPIO,
  + MPP45_GPIO,
  + MPP46_GPIO,
  + MPP47_GPIO,
  + 

[U-Boot] [PATCH] Marvell GuruPlug Board Support

2010-03-15 Thread Siddarth Gore
GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot

References:
http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
http://plugcomputer.org

This patch is for GuruPlug Plus, but it supports Standard version
as well.

Signed-off-by: Siddarth Gore go...@marvell.com
---
 MAINTAINERS |4 +
 MAKEALL |1 +
 Makefile|3 +
 board/Marvell/guruplug/Makefile |   51 +
 board/Marvell/guruplug/config.mk|   28 +
 board/Marvell/guruplug/guruplug.c   |  167 +
 board/Marvell/guruplug/guruplug.h   |   39 +++
 board/Marvell/guruplug/kwbimage.cfg |  162 
 include/configs/guruplug.h  |  199 +++
 9 files changed, 654 insertions(+), 0 deletions(-)
 create mode 100644 board/Marvell/guruplug/Makefile
 create mode 100644 board/Marvell/guruplug/config.mk
 create mode 100644 board/Marvell/guruplug/guruplug.c
 create mode 100644 board/Marvell/guruplug/guruplug.h
 create mode 100644 board/Marvell/guruplug/kwbimage.cfg
 create mode 100644 include/configs/guruplug.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 80057ce..f102cd8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -765,6 +765,10 @@ Prafulla Wadaskar prafu...@marvell.com
rd6281a ARM926EJS (Kirkwood SoC)
sheevaplug  ARM926EJS (Kirkwood SoC)
 
+Siddarth Gore go...@marvell.com
+
+   guruplugARM926EJS (Kirkwood SoC)
+
 Richard Woodruff r-woodru...@ti.com
 
omap2420h4  ARM1136EJS
diff --git a/MAKEALL b/MAKEALL
index beacb5f..b15c2d1 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -562,6 +562,7 @@ LIST_ARM9= \
edb9312 \
edb9315 \
edb9315a\
+   guruplug\
imx27lite   \
lpd7a400\
mv88f6281gtw_ge \
diff --git a/Makefile b/Makefile
index d801e25..30d5968 100644
--- a/Makefile
+++ b/Makefile
@@ -2952,6 +2952,9 @@ davinci_dm365evm_config : unconfig
 davinci_dm6467evm_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci
 
+guruplug_config: unconfig
+   @$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
+
 imx27lite_config:  unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27
 
diff --git a/board/Marvell/guruplug/Makefile b/board/Marvell/guruplug/Makefile
new file mode 100644
index 000..99748a7
--- /dev/null
+++ b/board/Marvell/guruplug/Makefile
@@ -0,0 +1,51 @@
+#
+# (C) Copyright 2009
+# Marvell Semiconductor www.marvell.com
+# Written-by: Siddarth Gore go...@marvell.com
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).a
+
+COBJS  := guruplug.o
+
+SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS   := $(addprefix $(obj),$(COBJS))
+SOBJS  := $(addprefix $(obj),$(SOBJS))
+
+$(LIB):$(obj).depend $(OBJS) $(SOBJS)
+   $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+
+clean:
+   rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+   rm -f $(LIB) core *.bak .depend
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/Marvell/guruplug/config.mk b/board/Marvell/guruplug/config.mk
new file mode 100644
index 000..e183477
--- /dev/null
+++ b/board/Marvell/guruplug/config.mk
@@ -0,0 +1,28 @@
+#
+# (C) Copyright 2009
+# Marvell Semiconductor www.marvell.com
+# Written-by: Siddarth Gore go...@marvell.com
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY 

Re: [U-Boot] net: Kirkwood_egiga.c: fixed build warnings

2010-03-15 Thread Wolfgang Denk
Dear Prafulla Wadaskar,

In message f766e4f80769bd478052fb6533fa745d1876ad2...@sc-vexch4.marvell.com 
you wrote:
 
 Below patch is not integrated in latest u-boot
 http://lists.denx.de/pipermail/u-boot/2010-March/068201.html
 
 Can you pls kindly make it part of your pull request for next?

If this patch is fixing build warnings (= errors), then it shallnot go
to next, but into master.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
There are two kinds of people, those who do the work  and  those  who
take  the  credit.  Try  to  be  in  the  first  group; there is less
competition there.- Indira Gandhi
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] mpc5xxx: Remove all references to MGT5100

2010-03-15 Thread Detlev Zundel
Hi Wolfgang,

 Dear Detlev Zundel,

 In message 1268384472-30152-1-git-send-email-...@denx.de you wrote:
 We do not support a processor that never reached a real customer.
 
 Signed-off-by: Detlev Zundel d...@denx.de

[...]

 Actually this fixes a build warnings in the current code (Total5100
 board) so I'm tempted to pull this in now.

 Well, guess we should give the board maintainers a few days to
 respond - and maybe explicit notice, to the extend possible.

Actually I do not believe that thre removed code has had a lot of
testing lately, so I would also be inclined to pull the change in before
fixing anything which will be removed in a few weeks anyway.

Cheers
  Detlev

-- 
A statistician can have his head in an oven and his feet in ice, and
he will say that on the average he feels fine.
--
DENX Software Engineering GmbH,  MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: d...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] Use of deprecated CONFIG_CMD_AUTOSCRIPT

2010-03-15 Thread Wolfgang Denk

Hello,

the following boards maintained by you stioll reference the deprecated
(and non-existing) CONFIG_CMD_AUTOSCRIPT.  Please submit clean-up
patches to extinguish all references to AUTOSCR:

at91sam9m10g45ek
meesc
mv88f6281gtw_ge
openrd_base
otc570
pm9261
pm9263
rd6281a
sheevaplug


Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Hi there! This is just a note from me, to you, to tell you, the  per-
son  reading this note, that I can't think up any more famous quotes,
jokes, nor bizarre stories, so you may as well go home.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] Marvell GuruPlug Board Support

2010-03-15 Thread Wolfgang Denk
Dear Siddarth Gore,

In message 1268660568-23022-1-git-send-email-go...@marvell.com you wrote:
...
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 80057ce..f102cd8 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -765,6 +765,10 @@ Prafulla Wadaskar prafu...@marvell.com
   rd6281a ARM926EJS (Kirkwood SoC)
   sheevaplug  ARM926EJS (Kirkwood SoC)
  
 +Siddarth Gore go...@marvell.com
 +
 + guruplugARM926EJS (Kirkwood SoC)
 +
  Richard Woodruff r-woodru...@ti.com

Please keep list of maintainers sorted by last name.

 --- /dev/null
 +++ b/board/Marvell/guruplug/config.mk
 @@ -0,0 +1,28 @@
...
 +TEXT_BASE = 0x0060
 +
 +# Kirkwood Boot Image configuration file

Please don't add such trailers. Move the description upto the start of
the file - if you really think you need one. It's probably better just
to drop this.

 +KWD_CONFIG = $(SRCTREE)/board/$(BOARDDIR)/kwbimage.cfg
 diff --git a/board/Marvell/guruplug/guruplug.c 
 b/board/Marvell/guruplug/guruplug.c
 new file mode 100644
 index 000..ba47ca1
 --- /dev/null
 +++ b/board/Marvell/guruplug/guruplug.c
 @@ -0,0 +1,167 @@
 +/*
 + * (C) Copyright 2009
 + * Marvell Semiconductor www.marvell.com
 + * Written-by: Siddarth Gore go...@marvell.com
 + *
 + * See file CREDITS for list of people who contributed to this
 + * project.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 + * MA 02110-1301 USA
 + */
 +
 +#include common.h
 +#include miiphy.h
 +#include asm/arch/kirkwood.h
 +#include asm/arch/mpp.h
 +#include guruplug.h
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +int board_init(void)
 +{
 + /*
 +  * default gpio configuration
 +  * There are maximum 64 gpios controlled through 2 sets of registers
 +  * the  below configuration configures mainly initial LED status
 +  */
 + kw_config_gpio(GURUPLUG_OE_VAL_LOW,
 + GURUPLUG_OE_VAL_HIGH,
 + GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);
 +
 + /* Multi-Purpose Pins Functionality configuration */
 + u32 kwmpp_config[] = {
 + MPP0_NF_IO2,
 + MPP1_NF_IO3,
 + MPP2_NF_IO4,
 + MPP3_NF_IO5,
 + MPP4_NF_IO6,
 + MPP5_NF_IO7,
 + MPP6_SYSRST_OUTn,
 + MPP7_GPO,   /* GPIO_RST */
 + MPP8_TW_SDA,
 + MPP9_TW_SCK,
 + MPP10_UART0_TXD,
 + MPP11_UART0_RXD,
 + MPP12_SD_CLK,
 + MPP13_SD_CMD,
 + MPP14_SD_D0,
 + MPP15_SD_D1,
 + MPP16_SD_D2,
 + MPP17_SD_D3,
 + MPP18_NF_IO0,
 + MPP19_NF_IO1,
 + MPP20_GE1_0,
 + MPP21_GE1_1,
 + MPP22_GE1_2,
 + MPP23_GE1_3,
 + MPP24_GE1_4,
 + MPP25_GE1_5,
 + MPP26_GE1_6,
 + MPP27_GE1_7,
 + MPP28_GE1_8,
 + MPP29_GE1_9,
 + MPP30_GE1_10,
 + MPP31_GE1_11,
 + MPP32_GE1_12,
 + MPP33_GE1_13,
 + MPP34_GE1_14,
 + MPP35_GE1_15,
 + MPP36_GPIO,
 + MPP37_GPIO,
 + MPP38_GPIO,
 + MPP39_GPIO,
 + MPP40_TDM_SPI_SCK,
 + MPP41_TDM_SPI_MISO,
 + MPP42_TDM_SPI_MOSI,
 + MPP43_GPIO,
 + MPP44_GPIO,
 + MPP45_GPIO,
 + MPP46_GPIO, /* M_RLED */
 + MPP47_GPIO, /* M_GLED */
 + MPP48_GPIO, /* B_RLED */
 + MPP49_GPIO, /* B_GLED */
 + 0
 + };
 + kirkwood_mpp_conf(kwmpp_config);
 +
 + /*
 +  * arch number of board
 +  */
 + gd-bd-bi_arch_number = MACH_TYPE_GURUPLUG;
 +
 + /* adress of boot parameters */
 + gd-bd-bi_boot_params = kw_sdram_bar(0) + 0x100;
 +
 + return 0;
 +}
 +
 +int dram_init(void)
 +{
 + int i;
 +
 + for (i = 0; i  CONFIG_NR_DRAM_BANKS; i++) {
 + gd-bd-bi_dram[i].start = kw_sdram_bar(i);
 + gd-bd-bi_dram[i].size = kw_sdram_bs(i);
 + }
 + return 0;
 +}
 +
 +#ifdef CONFIG_RESET_PHY_R
 +void mv_phy_88e1121_init(char *name)
 +{
 + u16 reg;
 + u16 devadr;
 +
 + if (miiphy_set_current_dev(name))
 + return;
 +
 + /* command to read PHY dev address */
 + if 

Re: [U-Boot] [PATCH] Marvell GuruPlug Board Support

2010-03-15 Thread Wolfgang Denk
Dear Siddarth Gore,

In message 1268660568-23022-1-git-send-email-go...@marvell.com you wrote:
 GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
 GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
 
 References:
 http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
 http://plugcomputer.org
 
 This patch is for GuruPlug Plus, but it supports Standard version
 as well.

And please: when resubmitting a (modified) patch, then mark it as such
by using [PATCH v2] etc. in the subject, and add a description of
the changes (compared to the previous version(s) of the patch) below
the --- line.

Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
If you believe that feeling bad or worrying long enough will change a
past or future event, then you are residing on another planet with  a
different reality system.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] mpc5xxx: Remove all references to MGT5100

2010-03-15 Thread Wolfgang Denk
Dear Detlev Zundel,

In message m2bpep60ag@ohwell.denx.de you wrote:
 
  Well, guess we should give the board maintainers a few days to
  respond - and maybe explicit notice, to the extend possible.
 
 Actually I do not believe that thre removed code has had a lot of
 testing lately, so I would also be inclined to pull the change in before
 fixing anything which will be removed in a few weeks anyway.

Agreed. But there is the (slight) chance that the removal of the
MGT5100 support might cause some (accidential) breakage to some of
the affected boards, so I think it is only fair to give the
respective board maintainere a heads-up and a short grace period.

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
Nobody trips over mountains. It is the small pebble that  causes  you
to  stumble.  Pass all the pebbles in your path and you will find you
have crossed the mountain.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] TI: Davinci: NAND Driver Cleanup

2010-03-15 Thread Scott Wood
On Sun, Mar 14, 2010 at 05:14:31PM -0400, s-paul...@ti.com wrote:
 - emif_regs-AB1CR = acfg1; /* CS2 */
 + __raw_writel(acfg1, emif_regs-AB1CR); /* CS2 */

Configuring for davinci_schmoogie board...
davinci_nand.c: In function ‘nand_flash_init’:
davinci_nand.c:586: error: ‘struct davinci_emif_regs’ has no member named 
‘AB1CR’
make[1]: *** [davinci_nand.o] Error 1
make: *** [drivers/mtd/nand/libnand.a] Error 2

Should be lowercase?

Also, any particular reason to use the raw version of the accessors?

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


[U-Boot] Environment and SPI drivers

2010-03-15 Thread Albin Tonnerre
Hello,

The SPI framework provided by u-boot (spi_setup_slave, spi_xfer and the like)
cannot currently be used to read the environment from SPI devices. The reason is
that all the drivers implement spi_setup_slave using malloc(), and malloc()
cannot be used when env_init is called - this happens before mem_alloc_init.

I'm wondering what would be a proper fix for this. I don't think it is OK to say
'drivers reading the environment should not use the SPI framework', as those
drivers might be used to do others things - that would make the SPI framework
unsuitable for (e.g.) any SPI EEPROM. The only sane alternative I can see is
that we introduce spi_setup_slave_$whatever, which would work the same way as
spi_setup_slave, with the difference that it should be given caller-allocated
storage, so that we avoid the use for malloc().

Thoughts ?

Regards,
-- 
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com

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


[U-Boot] at91sam9g45ekes SDHC/MMC

2010-03-15 Thread Henry Súcart
Hi,

I've been trying to get an SD card working with an at91sam9g45ek-es board. I
read a couple of threads in the archive and ended up doing this:

I applied these patches:

http://lists.denx.de/pipermail/u-boot/2009-August/059595.html
http://lists.denx.de/pipermail/u-boot/2009-September/060053.html
http://lists.denx.de/pipermail/u-boot/2009-September/060243.html

Added these #define's to include/configs/at91sam9m10g45ek.h:

#define CONFIG_CMD_EXT2   1
#define CONFIG_CMD_FAT 1
#define CONFIG_CMD_MMC   1
#define CONFIG_MMC1
#define CONFIG_ATMEL_MCI  1

Finally, I added this to the board init function:

#ifdef CONFIG_ATMEL_MCI
at91_mci0_hw_init(0, 4);
#endif

When I try it out this is what I get:
U-Boot mmc init 0
mmc: clock 15 too low; setting CLKDIV to 255
mmc: command 1 failed (status: 0x0c100025)
No MMC card found

Am I doing something wrong? Any help is appreciated,

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


Re: [U-Boot] Environment and SPI drivers

2010-03-15 Thread Wolfgang Denk
Dear Albin Tonnerre,

In message 20100315192914.ga14...@pc-ran3241 you wrote:
 
 The SPI framework provided by u-boot (spi_setup_slave, spi_xfer and the like)
 cannot currently be used to read the environment from SPI devices. The reason 
 is

This depends on what sort of SPI devices you are talking about. Do you
have plain simple EEPROM in mind, or things like SPI flash, or
eventually MMC/SDCard?  These are pretty different thinngs...

 I'm wondering what would be a proper fix for this. I don't think it is OK to 
 say
 'drivers reading the environment should not use the SPI framework', as those
 drivers might be used to do others things - that would make the SPI framework
 unsuitable for (e.g.) any SPI EEPROM. The only sane alternative I can see is
 that we introduce spi_setup_slave_$whatever, which would work the same way as
 spi_setup_slave, with the difference that it should be given caller-allocated
 storage, so that we avoid the use for malloc().

If you are talking about SPI EEPROM, then just enable EEPROM support
and environment in EEPROM, and set CONFIG_SPI. The EEPROM framework in
common/cmd_eeprom.c includes support for SPI EEPROM (this actually
predates the SPI framework).

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
No man knows what true happiness is until he gets married.  By  then,
of course, its too late.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] at91sam9g45ekes SDHC/MMC

2010-03-15 Thread Henry Súcart
Hi Albin,

First of all thanks for the quick reply.

I tried out what you said about adding #define CONFIG_AT91_MCI1 to the board
config file but although that did got rid of the mmc: command 1 failed
(status: 0x0c100025) error it still doesn't see the SD card. After doing
some debugging it seems like the statement:

if (aresp[0]  (R1_ILLEGAL_COMMAND | R1_APP_CMD)) != R1_APP_CMD)
 return -ENODEV;

in mmc_acmd() is being executed, which is causing my problem. Any
suggestions?

Thanks,
Henry

On Mon, Mar 15, 2010 at 4:10 PM, Albin Tonnerre 
albin.tonne...@free-electrons.com wrote:

 On Mon, 15 Mar 2010 15:51 -0400, Henry Súcart wrote :
  Hi,

 Hi Henry,

  I've been trying to get an SD card working with an at91sam9g45ek-es
 board. I
  read a couple of threads in the archive and ended up doing this:
 
  I applied these patches:
 
  http://lists.denx.de/pipermail/u-boot/2009-August/059595.html
  http://lists.denx.de/pipermail/u-boot/2009-September/060053.html
  http://lists.denx.de/pipermail/u-boot/2009-September/060243.html
 
  Added these #define's to include/configs/at91sam9m10g45ek.h:
 
  #define CONFIG_CMD_EXT2   1
  #define CONFIG_CMD_FAT 1
  #define CONFIG_CMD_MMC   1
  #define CONFIG_MMC1
  #define CONFIG_ATMEL_MCI  1
 
  Finally, I added this to the board init function:
 
  #ifdef CONFIG_ATMEL_MCI
  at91_mci0_hw_init(0, 4);
  #endif
 
  When I try it out this is what I get:
  U-Boot mmc init 0
  mmc: clock 15 too low; setting CLKDIV to 255
  mmc: command 1 failed (status: 0x0c100025)
  No MMC card found
 
  Am I doing something wrong? Any help is appreciated,

 Maybe you're not. The at91sam9m10g45 has 2 MMC ports, and the atmel_mci
 driver
 only uses one, defined using MMCI_BASE. Now if you look at the end of the
 third
 patch:

 diff --git a/include/asm-arm/arch-at91/memory-map.h
 b/include/asm-arm/arch-at91/memory-map.h
 index f605f37..de0aba7 100644
 --- a/include/asm-arm/arch-at91/memory-map.h
 +++ b/include/asm-arm/arch-at91/memory-map.h
 @@ -32,4 +32,10 @@
  #define USART3_BASE (AT91_BASE_SYS + AT91_DBGU)
  #define SPI0_BASE  AT91_BASE_SPI

 +#ifndef CONFIG_AT91_MCI1
 +#define MMCI_BASE AT91_BASE_MCI0
 +#else
 +#define MMCI_BASE AT91_BASE_MCI1
 +#endif
 +

 So maybe the issue is that it's trying to read on the wrong port. Could you
 try
 to add #define CONFIG_AT91_MCI1 in your board config, recompile and see if
 that
 works better?

 Thanks,
 --
 Albin Tonnerre, Free Electrons
 Kernel, drivers and embedded Linux development,
 consulting, training and support.
 http://free-electrons.com

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


Re: [U-Boot] at91sam9g45ekes SDHC/MMC

2010-03-15 Thread Albin Tonnerre
On Mon, 15 Mar 2010 17:40 -0400, Henry Súcart wrote :
 Hi Albin,
 
 First of all thanks for the quick reply.

You're welcome.

 I tried out what you said about adding #define CONFIG_AT91_MCI1 to the board
 config file but although that did got rid of the mmc: command 1 failed
 (status: 0x0c100025) error

Great. At least know we know it's actually reading the card :)

 it still doesn't see the SD card. After doing
 some debugging it seems like the statement:
 
 if (aresp[0]  (R1_ILLEGAL_COMMAND | R1_APP_CMD)) != R1_APP_CMD)
  return -ENODEV;
 
 in mmc_acmd() is being executed, which is causing my problem. Any
 suggestions?

Not on the top of my head - I have to admit I haven't played with the MMC
support for quite some time. Would you mind providing me the exact command you
typed and the ouput you got when trying with the fixed u-boot? That might
help.

Regards,
-- 
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot