Re: [U-Boot] at91: fix a USB problem for AT91SAM9261

2009-05-03 Thread Remy Bohmer
Hi,

 In that case the description is wrong. It states:
  the USB support for all AT91SAM9261 based boards doesn't work.
 Look at the word 'ALL', that mislead me here...
 ok I've not tick on the all

 why not replace with
 the USB support for all AT91SAM9261 based boards will only work if the PLLB
 will be configured by a precedent bootloader.

OK

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


Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 14:41 Sat 02 May , Prafulla Wadaskar wrote:
 Thanks Jean for your review... 
 
   diff --git a/cpu/arm926ejs/kirkwood/kwcore.c 
   b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index 
   000..9eaaab6
   --- /dev/null
   +++ b/cpu/arm926ejs/kirkwood/kwcore.c
  please cpu.c
 Okay I will rename it
 
 */
   -#ifndef CONFIG_SKIP_LOWLEVEL_INIT
   +#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined 
   +(CONFIG_ARCH_LOWLEVEL_INIT)
  NACK
  
  if you skip the lowlevel init you also skip the arch lowlevel_init
 I got it already, I have encapsulated similar condition at caller function so 
 that even though only ARCH_LOWLEVEL_INIT is define it will not skip it.
 
  
  if it's permannent arch init please use arch_cpu_init
 Is it really lowlevel init, needs to be called before stack/dram init, so 
 please let it be arch_lowlevel_init.
 I am trying to keep minimal code under arch_lowlevel_init (only few assembly 
 lines) rest I am moving to arch_cpu_init under lib_arm/board.c
the arch_cpu_init is the first init in c
and I want the current design clear
If you choice to skip the lowlevel_init you will skip all lowlevel_init
with no exception as I've in mind to regroup all start.S

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


Re: [U-Boot] [PATCH v4] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 14:32 Sat 02 May , Prafulla Wadaskar wrote:
 Thanks Jean...
 
   +
   +#include common.h
   +#include ../drivers/net/phy/mv88e61xx.h
  Ben I not sure it's clean
  any better idea?
   +#include netdev.h
   +#include mv88f6281gtw_ge.h
   +
 
   index 000..9695f3f
   --- /dev/null
   +++ b/board/Marvell/mv88f6281gtw_ge/u-boot.lds
  please move to cpu/arm/kirkwood/
 I tried it, If we move it to Kirkwood there is build error, how do we invoke 
 it for the build?
 currently it provides boot from DRAM since doimage (utility to convert 
 u-boot.bin to flashable bin) is outside. I think this is board specific and 
 each board will have different configuration, for ex. Board with boot from 
 NAND will have different info
3 thinks

1) to boot from DRAM you normaly do not need to change it
for nand maybe but it will be normaly the same for all kirkwood

2) do you update your arch confif.mk
cat cpu/arm926ejs/kirwood/config.mk
LDSCRIPT := $(SRCTREE)/cpu/arm926ejs/kirwood/u-boot.lds

3) I'm in favor as Mike to have the tool to build the final flashable bin
in the tree as done for the blackfin with a new target and a new extention
as .kwd (or any other)

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


[U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Remy Bohmer
Some boards do not have SROM support for the DM9000 network adapter.
Instead of listing these board names in the driver code, make this
option configurable from the board config file.

It also removes a build warning for the at91sam9261ek board:
'dm9000x.c:545: warning: 'read_srom_word' defined but not used'

And it repaires the trizepsiv board build which was broken around the
same routines

Signed-off-by: Remy Bohmer li...@bohmer.net
---
 board/trizepsiv/eeprom.c|   14 +++---
 drivers/net/dm9000x.c   |   16 
 include/configs/at91sam9261ek.h |1 +
 include/dm9000.h|   11 +++
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 include/dm9000.h

diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c
index 63f1c6c..9fa7aef 100644
--- a/board/trizepsiv/eeprom.c
+++ b/board/trizepsiv/eeprom.c
@@ -23,17 +23,17 @@
 
 #include common.h
 #include command.h
-
-extern u16 read_srom_word(int);
-extern void write_srom_word(int offset, u16 val);
+#include dm9000.h
 
 static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char 
*argv[]) {
-   int i;
+   unsigned int i;
+   u8 data[2];
 
for (i=0; i  0x40; i++) {
if (!(i % 0x10))
-   printf(\n%08lx:, i);
-   printf( %04x, read_srom_word(i));
+   printf(\n%08x:, i);
+   dm9000_read_srom_word(i, data);
+   printf( %02x%02x, data[1], data[0]);
}
printf (\n);
return (0);
@@ -54,7 +54,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int 
flag, int argc, char *
cmd_usage(cmdtp);
return 1;
}
-   write_srom_word(offset, value);
+   dm9000_write_srom_word(offset, value);
return (0);
 }
 
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index 8ca2bf7..934d991 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -53,7 +53,7 @@ v1.2   03/18/2003   Weilun Huang 
weilun_hu...@davicom.com.tw:
  notes (i.e. double reset)
- some minor code cleanups
These changes are tested with DM9000{A,EP,E} together
-   with a 200MHz Atmel AT91SAM92161 core
+   with a 200MHz Atmel AT91SAM9261 core
 
 TODO: external MII is not functional, only internal at the moment.
 */
@@ -62,6 +62,7 @@ TODO: external MII is not functional, only internal at the 
moment.
 #include command.h
 #include net.h
 #include asm/io.h
+#include dm9000.h
 
 #include dm9000x.h
 
@@ -113,7 +114,6 @@ void eth_halt(void);
 static int dm9000_probe(void);
 static u16 phy_read(int);
 static void phy_write(int, u16);
-static void read_srom_word(int, u8 *);
 static u8 DM9000_ior(int);
 static void DM9000_iow(int reg, u8 value);
 
@@ -347,9 +347,9 @@ eth_init(bd_t * bd)
 
/* Set Node address */
if (!eth_getenv_enetaddr(ethaddr, enetaddr)) {
-#if !defined(CONFIG_AT91SAM9261EK)
+#if !defined(CONFIG_DM9000_NO_SROM_AVAIL)
for (i = 0; i  3; i++)
-   read_srom_word(i, enetaddr + 2 * i);
+   dm9000_read_srom_word(i, enetaddr + 2 * i);
eth_setenv_enetaddr(ethaddr, enetaddr);
 #endif
}
@@ -541,7 +541,8 @@ eth_rx(void)
 /*
   Read a word data from SROM
 */
-static void read_srom_word(int offset, u8 *to)
+#if !defined(CONFIG_DM9000_NO_SROM_AVAIL)
+void dm9000_read_srom_word(int offset, u8 *to)
 {
DM9000_iow(DM9000_EPAR, offset);
DM9000_iow(DM9000_EPCR, 0x4);
@@ -551,8 +552,7 @@ static void read_srom_word(int offset, u8 *to)
to[1] = DM9000_ior(DM9000_EPDRH);
 }
 
-void
-write_srom_word(int offset, u16 val)
+void dm9000_write_srom_word(int offset, u16 val)
 {
DM9000_iow(DM9000_EPAR, offset);
DM9000_iow(DM9000_EPDRH, ((val  8)  0xff));
@@ -561,7 +561,7 @@ write_srom_word(int offset, u16 val)
udelay(8000);
DM9000_iow(DM9000_EPCR, 0);
 }
-
+#endif
 
 /*
Read a byte from I/O port
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index fdaa71c..c30674f 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -137,6 +137,7 @@
 #define DM9000_IO  CONFIG_DM9000_BASE
 #define DM9000_DATA(CONFIG_DM9000_BASE + 4)
 #define CONFIG_DM9000_USE_16BIT1
+#define CONFIG_DM9000_NO_SROM_AVAIL 1
 #define CONFIG_NET_RETRY_COUNT 20
 #define CONFIG_RESET_PHY_R 1
 
diff --git a/include/dm9000.h b/include/dm9000.h
new file mode 100644
index 000..d59919b
--- /dev/null
+++ b/include/dm9000.h
@@ -0,0 +1,11 @@
+
+#ifndef __DM9000_H__
+#define __DM9000_H__
+
+/**  function prototypes **/
+#if !defined(CONFIG_DM9000_NO_SROM_AVAIL)
+void dm9000_write_srom_word(int offset, u16 val);
+void 

Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 11:26 Sun 03 May , Remy Bohmer wrote:
 Some boards do not have SROM support for the DM9000 network adapter.
 Instead of listing these board names in the driver code, make this
 option configurable from the board config file.
 
 It also removes a build warning for the at91sam9261ek board:
 'dm9000x.c:545: warning: 'read_srom_word' defined but not used'
 
 And it repaires the trizepsiv board build which was broken around the
 same routines
please put Stelian in Cc
 
 Signed-off-by: Remy Bohmer li...@bohmer.net
 ---
  board/trizepsiv/eeprom.c|   14 +++---
  drivers/net/dm9000x.c   |   16 
  include/configs/at91sam9261ek.h |1 +
  include/dm9000.h|   11 +++
  4 files changed, 27 insertions(+), 15 deletions(-)
  create mode 100644 include/dm9000.h
 
 diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c
 index 63f1c6c..9fa7aef 100644
 --- a/board/trizepsiv/eeprom.c
 +++ b/board/trizepsiv/eeprom.c
 @@ -23,17 +23,17 @@
  
  #include common.h
  #include command.h
 -

  
 @@ -347,9 +347,9 @@ eth_init(bd_t * bd)
  
   /* Set Node address */
   if (!eth_getenv_enetaddr(ethaddr, enetaddr)) {
 -#if !defined(CONFIG_AT91SAM9261EK)
 +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL)
CONFIG_DM9000_NO_SROM will be shorter and the same
   for (i = 0; i  3; i++)
 - read_srom_word(i, enetaddr + 2 * i);
 + dm9000_read_srom_word(i, enetaddr + 2 * i);
   eth_setenv_enetaddr(ethaddr, enetaddr);
  #endif


  
 diff --git a/include/dm9000.h b/include/dm9000.h
 new file mode 100644
 index 000..d59919b
 --- /dev/null
 +++ b/include/dm9000.h
Ben what do you think to do as usb have a dir to store all net header
include/net/

 @@ -0,0 +1,11 @@
Copyrigth?
 +
 +#ifndef __DM9000_H__
 +#define __DM9000_H__

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


Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Remy Bohmer
Hello,

2009/5/3 Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com:
 On 11:26 Sun 03 May     , Remy Bohmer wrote:
 Some boards do not have SROM support for the DM9000 network adapter.
 Instead of listing these board names in the driver code, make this
 option configurable from the board config file.

 It also removes a build warning for the at91sam9261ek board:
 'dm9000x.c:545: warning: 'read_srom_word' defined but not used'

 And it repaires the trizepsiv board build which was broken around the
 same routines
 please put Stelian in Cc

Done!

 Signed-off-by: Remy Bohmer li...@bohmer.net
 ---
  board/trizepsiv/eeprom.c        |   14 +++---
  drivers/net/dm9000x.c           |   16 
  include/configs/at91sam9261ek.h |    1 +
  include/dm9000.h                |   11 +++
  4 files changed, 27 insertions(+), 15 deletions(-)
  create mode 100644 include/dm9000.h

 diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c
 index 63f1c6c..9fa7aef 100644
 --- a/board/trizepsiv/eeprom.c
 +++ b/board/trizepsiv/eeprom.c
 @@ -23,17 +23,17 @@

  #include common.h
  #include command.h
 -


 @@ -347,9 +347,9 @@ eth_init(bd_t * bd)

       /* Set Node address */
       if (!eth_getenv_enetaddr(ethaddr, enetaddr)) {
 -#if !defined(CONFIG_AT91SAM9261EK)
 +#if !defined(CONFIG_DM9000_NO_SROM_AVAIL)
 CONFIG_DM9000_NO_SROM will be shorter and the same

OK

               for (i = 0; i  3; i++)
 -                     read_srom_word(i, enetaddr + 2 * i);
 +                     dm9000_read_srom_word(i, enetaddr + 2 * i);
               eth_setenv_enetaddr(ethaddr, enetaddr);
  #endif



 diff --git a/include/dm9000.h b/include/dm9000.h
 new file mode 100644
 index 000..d59919b
 --- /dev/null
 +++ b/include/dm9000.h
 Ben what do you think to do as usb have a dir to store all net header
 include/net/

I have chosen the same location as the dm9161.h, other similar headers
are there as well.
If it has to be changed, I suggest making it a separate patch.

 @@ -0,0 +1,11 @@
 Copyrigth?
OK.

 +
 +#ifndef __DM9000_H__
 +#define __DM9000_H__

 Best Regards,
 J.

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


[U-Boot] [PATCH 1/1] V2 Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Remy Bohmer
V2: reworked comments from Jean-Christophe PLAGNIOL-VILLARD

Some boards do not have SROM support for the DM9000 network adapter.
Instead of listing these board names in the driver code, make this
option configurable from the board config file.

It also removes a build warning for the at91sam9261ek board:
'dm9000x.c:545: warning: 'read_srom_word' defined but not used'

And it repaires the trizepsiv board build which was broken around the
same routines

Signed-off-by: Remy Bohmer li...@bohmer.net
---
 board/trizepsiv/eeprom.c|   14 +++---
 drivers/net/dm9000x.c   |   16 
 include/configs/at91sam9261ek.h |1 +
 include/dm9000.h|   20 
 4 files changed, 36 insertions(+), 15 deletions(-)
 create mode 100644 include/dm9000.h

diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c
index 63f1c6c..9fa7aef 100644
--- a/board/trizepsiv/eeprom.c
+++ b/board/trizepsiv/eeprom.c
@@ -23,17 +23,17 @@
 
 #include common.h
 #include command.h
-
-extern u16 read_srom_word(int);
-extern void write_srom_word(int offset, u16 val);
+#include dm9000.h
 
 static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char 
*argv[]) {
-   int i;
+   unsigned int i;
+   u8 data[2];
 
for (i=0; i  0x40; i++) {
if (!(i % 0x10))
-   printf(\n%08lx:, i);
-   printf( %04x, read_srom_word(i));
+   printf(\n%08x:, i);
+   dm9000_read_srom_word(i, data);
+   printf( %02x%02x, data[1], data[0]);
}
printf (\n);
return (0);
@@ -54,7 +54,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int 
flag, int argc, char *
cmd_usage(cmdtp);
return 1;
}
-   write_srom_word(offset, value);
+   dm9000_write_srom_word(offset, value);
return (0);
 }
 
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index 8ca2bf7..f139435 100644
--- a/drivers/net/dm9000x.c
+++ b/drivers/net/dm9000x.c
@@ -53,7 +53,7 @@ v1.2   03/18/2003   Weilun Huang 
weilun_hu...@davicom.com.tw:
  notes (i.e. double reset)
- some minor code cleanups
These changes are tested with DM9000{A,EP,E} together
-   with a 200MHz Atmel AT91SAM92161 core
+   with a 200MHz Atmel AT91SAM9261 core
 
 TODO: external MII is not functional, only internal at the moment.
 */
@@ -62,6 +62,7 @@ TODO: external MII is not functional, only internal at the 
moment.
 #include command.h
 #include net.h
 #include asm/io.h
+#include dm9000.h
 
 #include dm9000x.h
 
@@ -113,7 +114,6 @@ void eth_halt(void);
 static int dm9000_probe(void);
 static u16 phy_read(int);
 static void phy_write(int, u16);
-static void read_srom_word(int, u8 *);
 static u8 DM9000_ior(int);
 static void DM9000_iow(int reg, u8 value);
 
@@ -347,9 +347,9 @@ eth_init(bd_t * bd)
 
/* Set Node address */
if (!eth_getenv_enetaddr(ethaddr, enetaddr)) {
-#if !defined(CONFIG_AT91SAM9261EK)
+#if !defined(CONFIG_DM9000_NO_SROM)
for (i = 0; i  3; i++)
-   read_srom_word(i, enetaddr + 2 * i);
+   dm9000_read_srom_word(i, enetaddr + 2 * i);
eth_setenv_enetaddr(ethaddr, enetaddr);
 #endif
}
@@ -541,7 +541,8 @@ eth_rx(void)
 /*
   Read a word data from SROM
 */
-static void read_srom_word(int offset, u8 *to)
+#if !defined(CONFIG_DM9000_NO_SROM)
+void dm9000_read_srom_word(int offset, u8 *to)
 {
DM9000_iow(DM9000_EPAR, offset);
DM9000_iow(DM9000_EPCR, 0x4);
@@ -551,8 +552,7 @@ static void read_srom_word(int offset, u8 *to)
to[1] = DM9000_ior(DM9000_EPDRH);
 }
 
-void
-write_srom_word(int offset, u16 val)
+void dm9000_write_srom_word(int offset, u16 val)
 {
DM9000_iow(DM9000_EPAR, offset);
DM9000_iow(DM9000_EPDRH, ((val  8)  0xff));
@@ -561,7 +561,7 @@ write_srom_word(int offset, u16 val)
udelay(8000);
DM9000_iow(DM9000_EPCR, 0);
 }
-
+#endif
 
 /*
Read a byte from I/O port
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index fdaa71c..9621b7c 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -137,6 +137,7 @@
 #define DM9000_IO  CONFIG_DM9000_BASE
 #define DM9000_DATA(CONFIG_DM9000_BASE + 4)
 #define CONFIG_DM9000_USE_16BIT1
+#define CONFIG_DM9000_NO_SROM  1
 #define CONFIG_NET_RETRY_COUNT 20
 #define CONFIG_RESET_PHY_R 1
 
diff --git a/include/dm9000.h b/include/dm9000.h
new file mode 100644
index 000..76f9bfd
--- /dev/null
+++ b/include/dm9000.h
@@ -0,0 +1,20 @@
+/*
+ * NOTE:DAVICOM DM9000 ethernet driver interface
+ *
+ * Authors: Remy Bohmer li...@bohmer.net
+ *
+ *  This program is free software; you can 

Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
  --- /dev/null
  +++ b/include/dm9000.h
  Ben what do you think to do as usb have a dir to store all net header
  include/net/
 
 I have chosen the same location as the dm9161.h, other similar headers
 are there as well.
 If it has to be changed, I suggest making it a separate patch.
sure

I've in mind this

include/{ = net}/at91rm9200_net.h
include/{ = net}/bcm5221.h
include/{ = net}/dm9161.h
include/{ = net}/dp83848.h
include/{ = net}/lxt971a.h
include/{ = net}/mii_phy.h
include/{ = net}/miiphy.h
include/{ = net}/ns7520_eth.h
include/{ = net}/ns9750_eth.h
include/{ = net}/ppc4xx_enet.h
include/{ = net}/tsec.h

or

include/{ = net}/at91rm9200_net.h
include/{ = net}/ns7520_eth.h
include/{ = net}/ns9750_eth.h
include/{ = net}/ppc4xx_enet.h
include/{ = net}/tsec.h
include/{ = net/phy}/bcm5221.h
include/{ = net/phy}/dm9161.h
include/{ = net/phy}/dp83848.h
include/{ = net/phy}/lxt971a.h
include/{ = net/phy}/mii_phy.h
include/{ = net/phy}/miiphy.h

and maybe
include/{ = net}/netdev.h

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


Re: [U-Boot] [PATCH 1/1] arm: clean sizes.h

2009-05-03 Thread Wolfgang Denk
Dear Jean-Christophe,

in message 20090502215903.894e78342...@gemini.denx.de I wrote:
 
  Actually For ARM we ask us tp use it so to simplify the import from linux
  this helper are also imported
 
 I don't know who we is, but you don;t have my ACK for this, and as
 long as it's not even correct youwill not get it.
 
 #define SZ_1K   0x0400
 #define SZ_4K   0x1000
 #define SZ_8K   0x2000
   
   Please keep in mind that K, M, and G are non-standard prefixes,
   and it is not clear if they refer to  decimal  or  binary  multiples.
   This makes their use in the code a PITA.

Situation is even worse, if you check existing U-Boot code; for
example:

include/asm-arm/sizes.h:

#define SZ_1K   0x0400
#define SZ_4K   0x1000
#define SZ_8K   0x2000
#define SZ_16K  0x4000
#define SZ_64K  0x0001
#define SZ_128K 0x0002
#define SZ_256K 0x0004
#define SZ_512K 0x0008
 
#define SZ_1M   0x0010
#define SZ_2M   0x0020
#define SZ_4M   0x0040
#define SZ_8M   0x0080
#define SZ_16M  0x0100
#define SZ_32M  0x0200
#define SZ_64M  0x0400
#define SZ_128M 0x0800
#define SZ_256M 0x1000

board/amcc/taishan/init.S,
board/amcc/yosemite/init.S,
board/pcs440ep/init.S,
board/prodrive/alpr/init.S,
board/prodrive/p3p440/init.S and many more:

#define SZ_1K   0x
#define SZ_4K   0x0010
#define SZ_16K  0x0020
#define SZ_64K  0x0030
#define SZ_256K 0x0040
#define SZ_1M   0x0050
#define SZ_8M   0x0060
#define SZ_16M  0x0070
#define SZ_256M 0x0090

So what is the easy to read and understand ``helper'' SZ_1M ?
Is it 1,000,000 or 1,048,576 or ist it eventually just 80 ?

These defines are no ``helpers'', they are Faux Ami, and we should
start to expunge this crap as soon as possible.

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 message was made from 100% recycled electrons. 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support

2009-05-03 Thread Prafulla Wadaskar
 

 -Original Message-
 From: Jean-Christophe PLAGNIOL-VILLARD [mailto:plagn...@jcrosoft.com] 
 Sent: Sunday, May 03, 2009 2:02 PM
 To: Prafulla Wadaskar
 Cc: u-boot@lists.denx.de; Ashish Karkare; Prabhanjan Sarnaik; 
 Ronen Shitrit
 Subject: Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
 
 On 14:41 Sat 02 May , Prafulla Wadaskar wrote:
  Thanks Jean for your review... 
  
diff --git a/cpu/arm926ejs/kirkwood/kwcore.c 
b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index
000..9eaaab6
--- /dev/null
+++ b/cpu/arm926ejs/kirkwood/kwcore.c
   please cpu.c
  Okay I will rename it
  
  */
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined
+(CONFIG_ARCH_LOWLEVEL_INIT)
   NACK
   
   if you skip the lowlevel init you also skip the arch lowlevel_init
  I got it already, I have encapsulated similar condition at 
 caller function so that even though only ARCH_LOWLEVEL_INIT 
 is define it will not skip it.
  
   
   if it's permannent arch init please use arch_cpu_init
  Is it really lowlevel init, needs to be called before 
 stack/dram init, so please let it be arch_lowlevel_init.
  I am trying to keep minimal code under arch_lowlevel_init (only few 
  assembly lines) rest I am moving to arch_cpu_init under 
  lib_arm/board.c
 the arch_cpu_init is the first init in c and I want the 
 current design clear If you choice to skip the lowlevel_init 
 you will skip all lowlevel_init with no exception as I've in 
 mind to regroup all start.S
In this caseI think
Let's have arch_cpu_init (c function call) to take care of Soc Specific init and
Let's use lowlevel_init instead of arch_lowlevel_init for any configuration 
before stack init.
arch_lowlevel_init should be assembly code similar to lowlevel_init and is 
invoking should be similar

In case of kirkwood specially in some board version if we use Kirkwood without 
internal BootROM we need to configure DRAM before setting stack in DRAM, this 
should be done in lowlevel_init.S i.e. lowlevel_init or arch_lowlevel_init jump

What do you think? Or what is in your mind about regroup start.S?
 
Regards..
Prafulla . .

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


[U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
actually the console API use the following naming convention

---Extract---
typedef struct device_t;

intdevice_register (device_t * dev);
intdevices_init (void);
intdevice_deregister(char *devname);
struct list_head* device_get_list(void);
device_t* device_get_by_name(char* name);
device_t* device_clone(device_t *dev);
---

which is not console dependent and is confusing
instead of using device_XX

we now switch to console_XX and console_device_t

this will also allow to add later a generic device mecanism
in order to have multi generic device support and driver instance

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com
---
 board/MAI/AmigaOneG3SE/ps2kbd.c   |6 +-
 board/MAI/AmigaOneG3SE/video.c|6 +-
 board/ads5121/ads5121_diu.c   |2 +-
 board/bf527-ezkit/video.c |6 +-
 board/bf533-stamp/video.c |6 +-
 board/bf548-ezkit/video.c |6 +-
 board/bmw/bmw.c   |2 +-
 board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c |2 +-
 board/mpl/common/common_util.c|4 +-
 board/mpl/common/isa.c|2 +-
 board/mpl/common/kbd.c|6 +-
 board/mpl/pati/pati.c |6 +-
 board/netphone/phone_console.c|6 +-
 board/rbc823/kbd.c|6 +-
 board/trab/vfd.c  |2 +-
 common/cmd_console.c  |6 +-
 common/cmd_log.c  |6 +-
 common/cmd_terminal.c |6 +-
 common/console.c  |   32 +++---
 common/devices.c  |   42 
 common/iomux.c|   14 ++--
 common/lcd.c  |6 +-
 common/serial.c   |8 +-
 common/usb_kbd.c  |   12 +-
 cpu/blackfin/jtag-console.c   |6 +-
 cpu/mpc8xx/lcd.c  |2 +-
 cpu/mpc8xx/video.c|6 +-
 cpu/pxa/pxafb.c   |2 +-
 drivers/input/keyboard.c  |6 +-
 drivers/mtd/ubi/build.c   |2 +-
 drivers/mtd/ubi/vmt.c |4 +-
 drivers/net/netconsole.c  |6 +-
 drivers/serial/arm_dcc.c  |6 +-
 drivers/serial/usbtty.c   |6 +-
 drivers/usb/musb/musb_hcd.c   |4 +-
 drivers/usb/musb/musb_hcd.h   |2 +-
 drivers/video/cfb_console.c   |8 +-
 include/configs/AmigaOneG3SE.h|2 +-
 include/configs/MIP405.h  |2 +-
 include/configs/MPC8610HPCD.h |2 +-
 include/configs/MPC8641HPCN.h |2 +-
 include/configs/PIP405.h  |2 +-
 include/configs/VCMA9.h   |2 +-
 include/configs/gr_ep2s60.h   |2 +-
 include/configs/mp2usb.h  |2 +-
 include/console.h |  101 +++-
 include/devices.h |  126 -
 include/iomux.h   |6 +-
 include/serial.h  |2 +-
 lib_arm/board.c   |4 +-
 lib_avr32/board.c |4 +-
 lib_blackfin/board.c  |4 +-
 lib_i386/board.c  |4 +-
 lib_i386/video.c  |   10 +-
 lib_m68k/board.c  |4 +-
 lib_mips/board.c  |4 +-
 lib_nios/board.c  |4 +-
 lib_nios2/board.c |4 +-
 lib_ppc/board.c   |4 +-
 lib_sh/board.c|4 +-
 lib_sparc/board.c |4 +-
 61 files changed, 264 insertions(+), 301 deletions(-)
 delete mode 100644 include/devices.h

diff --git a/board/MAI/AmigaOneG3SE/ps2kbd.c b/board/MAI/AmigaOneG3SE/ps2kbd.c
index a297005..404d9da 100644
--- a/board/MAI/AmigaOneG3SE/ps2kbd.c
+++ b/board/MAI/AmigaOneG3SE/ps2kbd.c
@@ -34,7 +34,7 @@
  */
 #include common.h
 #include asm/processor.h
-#include devices.h
+#include console.h
 #include ps2kbd.h
 
 
@@ -226,7 +226,7 @@ int overwrite_console (void)
 int drv_isa_kbd_init (void)
 {
int error;
-   device_t kbddev ;
+   console_device_t kbddev ;
char *stdinname  = getenv (stdin);
 
if(isa_kbd_init() == -1)
@@ -239,7 +239,7 @@ int drv_isa_kbd_init (void)
kbddev.getc = kbd_getc ;
kbddev.tstc = kbd_testc ;
 
-   error = device_register 

Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Prafulla Wadaskar

   + * 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 ../drivers/net/phy/mv88e61xx.h
 
 If this header is meant to be public it should be in 
 include.  Sorry I didn't catch that earlier.
 snip
This header has some public and some driver specific information
Only a configuration structure in this file is needed here,
I can put it in netdev.h but I didn't find such implementation there.
How about creating a new header file for phy/switch?

 
   +/*
   + * Ethernet Driver configuration
   + */
   +#ifdef CONFIG_CMD_NET
   +#define CONFIG_NETCONSOLE  /* include NetConsole 
 support   */
   +#define CONFIG_NET_MULTI   /* specify more that 
 one ports available */
   +#defineCONFIG_MII  /* expose smi 
 ove miiphy interface */
   +#define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe 
 Controller Driver */
 
 This EGIGA driver hasn't been accepted yet.  In fact, I think 
 you've only sent one spin.  It needs to be in before this board... 
You are correct,
I am ready with the latest spin, but it has close dependency with kirkwood SoC 
layer, once this gets through I had a plan to release egiga driver patch. BTW 
code builds cleanly without egiga driver so I do not want to remove this :-) 
since it will be required afterward once kirkwood_egiga driver gets in.
Any suggestion welcomed ???

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


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Magnus Lilja
Hi Jean-Christophe,

2009/5/3 Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com:
 diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
 index f4b01a9..9b94ddc 100644
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
 @@ -291,7 +291,7 @@ static int ubi_sysfs_init(struct ubi_device *ubi)
        ubi-dev.devt = ubi-cdev.dev;
        ubi-dev.class = ubi_class;
        sprintf(ubi-dev.bus_id[0], UBI_NAME_STR%d, ubi-ubi_num);
 -       err = device_register(ubi-dev);
 +       err = console_register(ubi-dev);

I'm not that familiar with device_*() in U-boot, but it surprised me
to see the above change which is in the UBI layer and should not have
anything to do with consoles. Also the above code is within a #ifdef
UBI_LINUX block and is not used in U-boot.

 diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c
 index 061da64..2b6b137 100644
 --- a/drivers/mtd/ubi/vmt.c
 +++ b/drivers/mtd/ubi/vmt.c
 @@ -337,7 +337,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct 
 ubi_mkvol_req *req)
        vol-dev.class = ubi_class;

        sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id);
 -       err = device_register(vol-dev);
 +       err = console_register(vol-dev);
        if (err) {
                ubi_err(cannot register device);
                goto out_gluebi;
 @@ -646,7 +646,7 @@ int ubi_add_volume(struct ubi_device *ubi, struct 
 ubi_volume *vol)
        vol-dev.devt = dev;
        vol-dev.class = ubi_class;
        sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id);
 -       err = device_register(vol-dev);
 +       err = console_register(vol-dev);

Again a bit surprised to find anything about consoles in the UBI code.
In contrast to my earlier comment, this code seems to be compiled
(i.e. it's not within #ifdef UBI_LINUX).
I'm guessing you did a global search/replace for
device_register=console_register?

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


[U-Boot] U-boot snapshot for commit dfc91c33957c95da34e3888dc87912d5c15a7603

2009-05-03 Thread alfred steele
All,
How do i get a snapshot of commit
dfc91c33957c95da34e3888dc87912d5c15a7603  from the GIT web. I tried
clicking on tree after putting the commit no in the text box but the
commit tarball i got wasn't the one i intended to.

Thanks for your help
-Alfred.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] ARM DaVinci: Reset with watchdog enabled

2009-05-03 Thread Thomas Lange
Once the Davinci watchdog has been enabled, the timeout
value cannot be changed. If the timeout in use is long,
it can take a long time for card to reset. By writing
an invalid service key, we can trigger an immediate reset.

Signed-off-by: Thomas Lange tho...@corelatus.se
---
 cpu/arm926ejs/davinci/reset.S |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/cpu/arm926ejs/davinci/reset.S b/cpu/arm926ejs/davinci/reset.S
index a687d44..ba0a7c3 100644
--- a/cpu/arm926ejs/davinci/reset.S
+++ b/cpu/arm926ejs/davinci/reset.S
@@ -50,6 +50,10 @@ reset_cpu:
str r1, [r0]
ldr r1, WDTCR_VAL2
str r1, [r0]
+   /* Write an invalid value to the WDKEY field to trigger
+* an immediate watchdog reset */
+   mov r1, $0x4000
+   str r1, [r0]
nop
nop
nop
-- 
1.5.6.5

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


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 19:54 Sun 03 May , Magnus Lilja wrote:
 Hi Jean-Christophe,
  diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c
  index 061da64..2b6b137 100644
  --- a/drivers/mtd/ubi/vmt.c
  +++ b/drivers/mtd/ubi/vmt.c
  @@ -337,7 +337,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct 
  ubi_mkvol_req *req)
         vol-dev.class = ubi_class;
 
         sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id);
  -       err = device_register(vol-dev);
  +       err = console_register(vol-dev);
         if (err) {
                 ubi_err(cannot register device);
                 goto out_gluebi;
  @@ -646,7 +646,7 @@ int ubi_add_volume(struct ubi_device *ubi, struct 
  ubi_volume *vol)
         vol-dev.devt = dev;
         vol-dev.class = ubi_class;
         sprintf(vol-dev.bus_id[0], %s_%d, ubi-ubi_name, vol-vol_id);
  -       err = device_register(vol-dev);
  +       err = console_register(vol-dev);
 
 Again a bit surprised to find anything about consoles in the UBI code.
 In contrast to my earlier comment, this code seems to be compiled
 (i.e. it's not within #ifdef UBI_LINUX).
 I'm guessing you did a global search/replace for
 device_register=console_register?
yes
I've use script to generate the patch for the RFC

For ubi the device_register is replace via macro by 0

this will not been touch by the final patch

and fully check before

btw this is one of the confusing point of the current implementation

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


[U-Boot] [PATCH] ARM DaVinci: EMIF settings

2009-05-03 Thread Thomas Lange
NAND module should not modify EMIF registers unrelated to CS2
that is used for NAND, i.e. do not modify EWAIT config register
or registers for other Chip Selects.

Without this patch, EMIF configurations made in board_init()
will be invalidated.

Signed-off-by: Thomas Lange tho...@corelatus.se
---
 drivers/mtd/nand/davinci_nand.c |   12 +++-
 1 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index a974667..8ef18b8 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -386,9 +386,6 @@ static int nand_davinci_waitfunc(struct mtd_info *mtd, 
struct nand_chip *this)
 static void nand_flash_init(void)
 {
u_int32_t   acfg1 = 0x3ffc;
-   u_int32_t   acfg2 = 0x3ffc;
-   u_int32_t   acfg3 = 0x3ffc;
-   u_int32_t   acfg4 = 0x3ffc;
emifregsemif_regs;

/*--*
@@ -413,12 +410,9 @@ static void nand_flash_init(void)

emif_regs = (emifregs)DAVINCI_ASYNC_EMIF_CNTRL_BASE;

-   emif_regs-AWCCR |= 0x1000;
-   emif_regs-AB1CR = acfg1;   /* 0x08244128 */;
-   emif_regs-AB2CR = acfg2;
-   emif_regs-AB3CR = acfg3;
-   emif_regs-AB4CR = acfg4;
-   emif_regs-NANDFCR = 0x0101;
+   emif_regs-AB1CR = acfg1; /* CS2 */
+
+   emif_regs-NANDFCR = 0x0101; /* NAND flash on CS2 */
 }

 int board_nand_init(struct nand_chip *nand)
-- 
1.5.6.5

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


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 1241371349-2140-1-git-send-email-plagn...@jcrosoft.com you wrote:
 actually the console API use the following naming convention
 
 ---Extract---
 typedef struct device_t;
 
 intdevice_register (device_t * dev);
 intdevices_init (void);
 intdevice_deregister(char *devname);
 struct list_head* device_get_list(void);
 device_t* device_get_by_name(char* name);
 device_t* device_clone(device_t *dev);
 ---
 
 which is not console dependent and is confusing
 instead of using device_XX
 
 we now switch to console_XX and console_device_t

Please be careful. console is a name (or prefex) that is already
taken, and there are other (globally visible) identifiers, so con-
fusion might become a problem - see for example overwrite_console(),
console_changed(), console_buffer[], get_console_port(),
console_init_f(), env-var console_nr, consoles[], next_cons_choice(),
console_assign(), console, console_init(), console_dev,
default_serial_console, cur_console, console_chan, ... etc. etc.

Also, we have common/console.c with lots of console_* names.

Actually there is even a direct name  conflict  -  console_init()  is
already  in  use  (in board/netphone/phone_console.c), and your patch
fails to resolve this conflict.

All together: NAK.


Maybe stdio would be a better choice than console 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
Democracy is mob rule, but with income taxes.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] U-boot snapshot for commit dfc91c33957c95da34e3888dc87912d5c15a7603

2009-05-03 Thread Wolfgang Denk
Dear alfred steele,

In message 528f13590905031057q43549224h1cf1e214f20bb...@mail.gmail.com you 
wrote:

 How do i get a snapshot of commit
 dfc91c33957c95da34e3888dc87912d5c15a7603  from the GIT web. I tried

The best way of course is to use git clone and then git checkout.

 clicking on tree after putting the commit no in the text box but the
 commit tarball i got wasn't the one i intended to.

If you insist on using the gitweb interface, then you just have to
click on the link titled snapshot (on the right side).

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
It is surely a great calamity for  a  human  being  to  have  no  ob-
sessions.- Robert Bly
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090503180519.gx25...@game.jcrosoft.org you wrote:

 I've use script to generate the patch for the RFC

Hmm... you should have looked at the results before posting, it seems.

 btw this is one of the confusing point of the current implementation

Well, see my previous message - your suggested patch solves confusion
here and creates new confusion there, and I'd have hard times if I was
to decide which was better.  This needs more caerful preparation.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
You speak of courage. Obviously you do not know the  difference  bet-
ween  courage and foolhardiness. Always it is the brave ones who die,
the soldiers.
-- Kor, the Klingon Commander, Errand of Mercy,
   stardate 3201.7
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 20:41 Sun 03 May , Wolfgang Denk wrote:
 Dear Jean-Christophe PLAGNIOL-VILLARD,
 
 In message 1241371349-2140-1-git-send-email-plagn...@jcrosoft.com you wrote:
  actually the console API use the following naming convention
  
  ---Extract---
  typedef struct device_t;
  
  intdevice_register (device_t * dev);
  intdevices_init (void);
  intdevice_deregister(char *devname);
  struct list_head* device_get_list(void);
  device_t* device_get_by_name(char* name);
  device_t* device_clone(device_t *dev);
  ---
  
  which is not console dependent and is confusing
  instead of using device_XX
  
  we now switch to console_XX and console_device_t
 
 Please be careful. console is a name (or prefex) that is already
 taken, and there are other (globally visible) identifiers, so con-
 fusion might become a problem - see for example overwrite_console(),
 console_changed(), console_buffer[], get_console_port(),
 console_init_f(), env-var console_nr, consoles[], next_cons_choice(),
 console_assign(), console, console_init(), console_dev,
 default_serial_console, cur_console, console_chan, ... etc. etc.
 
 Also, we have common/console.c with lots of console_* names.
 
 Actually there is even a direct name  conflict  -  console_init()  is
 already  in  use  (in board/netphone/phone_console.c), and your patch
 fails to resolve this conflict.
it does, it's call consoles_init()
 
 
 Maybe stdio would be a better choice than console here?
why not

I'll wait other comment before write the true patch

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


[U-Boot] [PATCH v2 0/3] MX31: NAND boot for phyCORE and PDK boards.

2009-05-03 Thread Magnus Lilja
Hi all,

I have now updated the i.MX31 NAND boot patches. It applies to the -next
tree (aka v2009.06-rc1) as of now.

I've taken care of most of the comments/questions that were sent to
Maxim Artamonov when he posted his latest (last?) patch. The comments
received on my parts has been taken care of as well.

Some general comments:
* phyCORE support has not been updated. I don't have such a board to
test on.
* The code has been tested on real hardware an boots Linux from 
ethernet.
* There are infinite loops on nand_boot_mx31.c and looking at other
nand_spl boards, they're there as well. If something goes wrong 
that early in the boot process there's really not a lot to do and
remember that the NAND_SPL code has to fit in 2048 bytes.

Regards, Magnus

Magnus Lilja (3):
  MX31: Add NAND SPL for i.MX31.
  MX31: Add basic support for Freescale i.MX31 PDK board.
  MX31: Add NAND SPL boot support to i.MX31 PDK board.

 MAKEALL |2 +
 Makefile|   12 ++-
 board/freescale/mx31pdk/Makefile|   53 +++
 board/freescale/mx31pdk/config.mk   |5 +
 board/freescale/mx31pdk/lowlevel_init.S |  123 +++
 board/freescale/mx31pdk/mx31pdk.c   |   76 +
 board/freescale/mx31pdk/u-boot-nand.lds |   33 
 board/freescale/mx31pdk/u-boot.lds  |   59 +++
 cpu/arm1136/start.S |   29 ++--
 include/asm-arm/arch-mx31/mx31-regs.h   |   92 +++
 include/configs/mx31pdk.h   |  175 +
 nand_spl/board/freescale/mx31pdk/Makefile   |   54 +++
 nand_spl/board/freescale/mx31pdk/config.mk  |5 +
 nand_spl/board/freescale/mx31pdk/u-boot.lds |   36 +
 nand_spl/nand_boot_mx31.c   |  223 +++
 15 files changed, 965 insertions(+), 12 deletions(-)
 create mode 100644 board/freescale/mx31pdk/Makefile
 create mode 100644 board/freescale/mx31pdk/config.mk
 create mode 100644 board/freescale/mx31pdk/lowlevel_init.S
 create mode 100644 board/freescale/mx31pdk/mx31pdk.c
 create mode 100644 board/freescale/mx31pdk/u-boot-nand.lds
 create mode 100644 board/freescale/mx31pdk/u-boot.lds
 create mode 100644 include/configs/mx31pdk.h
 create mode 100644 nand_spl/board/freescale/mx31pdk/Makefile
 create mode 100644 nand_spl/board/freescale/mx31pdk/config.mk
 create mode 100644 nand_spl/board/freescale/mx31pdk/u-boot.lds
 create mode 100644 nand_spl/nand_boot_mx31.c

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


[U-Boot] [PATCH v2 1/3] MX31: Add NAND SPL for i.MX31.

2009-05-03 Thread Magnus Lilja
This patch adds the NAND SPL framework needed to boot i.MX31 boards
from NAND.

The patch is based on the work by Maxim Artamonov
scn1874 at yandex.ru  (which was signed-off-by him).

Signed-off-by: Magnus Lilja lilja.mag...@gmail.com
---
 cpu/arm1136/start.S   |   29 +++--
 include/asm-arm/arch-mx31/mx31-regs.h |   90 +
 nand_spl/nand_boot_mx31.c |  223 +
 3 files changed, 331 insertions(+), 11 deletions(-)
 create mode 100644 nand_spl/nand_boot_mx31.c

diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S
index e622338..9bbbaf1 100644
--- a/cpu/arm1136/start.S
+++ b/cpu/arm1136/start.S
@@ -1,6 +1,9 @@
 /*
  *  armboot - Startup Code for OMP2420/ARM1136 CPU-core
  *
+ *
+ *  Copyright (c) 2008 Maxim Artamonov, scn1874 at yandex.ru
+ *
  *  Copyright (c) 2004 Texas Instruments r-woodru...@ti.com
  *
  *  Copyright (c) 2001 Marius Gröger m...@sysgo.de
@@ -32,7 +35,7 @@
 #include version.h
 .globl _start
 _start: b  reset
-#ifdef CONFIG_ONENAND_IPL
+#if defined(CONFIG_ONENAND_IPL) || defined(CONFIG_NAND_SPL)
ldr pc, _hang
ldr pc, _hang
ldr pc, _hang
@@ -156,9 +159,9 @@ relocate:   /* relocate U-Boot to 
RAM   */
adr r0, _start  /* r0 - current position of code   */
ldr r1, _TEXT_BASE  /* test if we run from flash or RAM */
cmp r0, r1  /* don't reloc during debug */
-#ifndef CONFIG_ONENAND_IPL
+#if !defined(CONFIG_ONENAND_IPL)  !defined(CONFIG_NAND_SPL)
beq stack_setup
-#endif /* CONFIG_ONENAND_IPL */
+#endif /* !CONFIG_ONENAND_IPL  !CONFIG_NAND_SPL*/
 
ldr r2, _armboot_start
ldr r3, _bss_start
@@ -175,7 +178,7 @@ copy_loop:
/* Set up the stack */
 stack_setup:
ldr r0, _TEXT_BASE  /* upper 128 KiB: relocated uboot   */
-#ifdef CONFIG_ONENAND_IPL
+#if defined(CONFIG_ONENAND_IPL) || defined (CONFIG_NAND_SPL)
sub sp, r0, #128/* leave 32 words for abort-stack   */
 #else
sub r0, r0, #CONFIG_SYS_MALLOC_LEN /* malloc area   
*/
@@ -184,14 +187,14 @@ stack_setup:
sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ)
 #endif
sub sp, r0, #12 /* leave 3 words for abort-stack*/
-#endif /* CONFIG_ONENAND_IPL */
+#endif /* CONFIG_ONENAND_IPL || CONFIG_NAND_SPL*/
 
 clear_bss:
ldr r0, _bss_start  /* find start of bss segment*/
ldr r1, _bss_end/* stop here*/
mov r2, #0x /* clear*/
 
-#ifndef CONFIG_ONENAND_IPL
+#if !defined(CONFIG_ONENAND_IPL)  !defined(CONFIG_NAND_SPL)
 clbss_l:strr2, [r0]/* clear loop...*/
add r0, r0, #4
cmp r0, r1
@@ -200,12 +203,15 @@ clbss_l:str   r2, [r0]/* clear 
loop...*/
 
ldr pc, _start_armboot
 
+#ifdef CONFIG_NAND_SPL
+_start_armboot: .word nand_boot
+#else
 #ifdef CONFIG_ONENAND_IPL
 _start_armboot: .word start_oneboot
 #else
 _start_armboot: .word start_armboot
-#endif
-
+#endif /* CONFIG_ONENAND_IPL */
+#endif /* CONFIG_NAND_SPL */
 
 /*
  *
@@ -244,7 +250,7 @@ cpu_init_crit:
mov lr, ip  /* restore link */
mov pc, lr  /* back to my caller */
 
-#ifndef CONFIG_ONENAND_IPL
+#if !defined(CONFIG_ONENAND_IPL)  !defined(CONFIG_NAND_SPL)
 /*
  *
  *
@@ -357,12 +363,12 @@ cpu_init_crit:
.macro get_fiq_stack@ setup FIQ stack
ldr sp, FIQ_STACK_START
.endm
-#endif /* CONFIG_ONENAND_IPL */
+#endif /* !CONFIG_ONENAND_IPL  !CONFIG_NAND_SPL*/
 
 /*
  * exception handlers
  */
-#ifdef CONFIG_ONENAND_IPL
+#if defined(CONFIG_ONENAND_IPL) || defined(CONFIG_NAND_SPL)
.align  5
 do_hang:
ldr sp, _TEXT_BASE  /* use 32 words about stack */
@@ -436,3 +442,4 @@ arm1136_cache_flush:
mcr p15, 0, r1, c7, c5, 0   @ invalidate I cache
mov pc, lr  @ back to caller
 #endif /* CONFIG_ONENAND_IPL */
+
diff --git a/include/asm-arm/arch-mx31/mx31-regs.h 
b/include/asm-arm/arch-mx31/mx31-regs.h
index a8a05c8..3d811d7 100644
--- a/include/asm-arm/arch-mx31/mx31-regs.h
+++ b/include/asm-arm/arch-mx31/mx31-regs.h
@@ -194,4 +194,94 @@
 #define CS5_BASE   0xB600
 #define PCMCIA_MEM_BASE0xC000
 
+/*
+ * NAND controller
+ */
+#define NFC_BASE_ADDR  0xB800
+
+/*
+ * Addresses for NFC registers
+ */
+#define NFC_BUF_SIZE   (NFC_BASE_ADDR + 0xE00)
+#define NFC_BUF_ADDR   (NFC_BASE_ADDR + 0xE04)
+#define 

[U-Boot] [PATCH v2 2/3] MX31: Add basic support for Freescale i.MX31 PDK board.

2009-05-03 Thread Magnus Lilja
Add support for Freescale's i.MX31 PDK board (a.k.a. 3 stack board).

This patch assumes that some other program performs the actual
NAND boot.

Signed-off-by: Magnus Lilja lilja.mag...@gmail.com
---
 MAKEALL |1 +
 Makefile|3 +
 board/freescale/mx31pdk/Makefile|   53 ++
 board/freescale/mx31pdk/config.mk   |1 +
 board/freescale/mx31pdk/lowlevel_init.S |   30 ++
 board/freescale/mx31pdk/mx31pdk.c   |   76 ++
 board/freescale/mx31pdk/u-boot.lds  |   59 +++
 include/asm-arm/arch-mx31/mx31-regs.h   |2 +
 include/configs/mx31pdk.h   |  162 +++
 9 files changed, 387 insertions(+), 0 deletions(-)
 create mode 100644 board/freescale/mx31pdk/Makefile
 create mode 100644 board/freescale/mx31pdk/config.mk
 create mode 100644 board/freescale/mx31pdk/lowlevel_init.S
 create mode 100644 board/freescale/mx31pdk/mx31pdk.c
 create mode 100644 board/freescale/mx31pdk/u-boot.lds
 create mode 100644 include/configs/mx31pdk.h

diff --git a/MAKEALL b/MAKEALL
index f13c81a..aaa6dea 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -548,6 +548,7 @@ LIST_ARM11=\
imx31_phycore   \
imx31_phycore_eet   \
mx31ads \
+   mx31pdk \
qong\
smdk6400\
 
diff --git a/Makefile b/Makefile
index 137c88f..99ebcc5 100644
--- a/Makefile
+++ b/Makefile
@@ -3084,6 +3084,9 @@ imx31_phycore_config  : unconfig
 mx31ads_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31
 
+mx31pdk_config : unconfig
+   @$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk freescale mx31
+
 omap2420h4_config  : unconfig
@$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx
 
diff --git a/board/freescale/mx31pdk/Makefile b/board/freescale/mx31pdk/Makefile
new file mode 100644
index 000..b64cec8
--- /dev/null
+++ b/board/freescale/mx31pdk/Makefile
@@ -0,0 +1,53 @@
+#
+# (C) Copyright 2008 Magnus Lilja lilja.mag...@gmail.com
+#
+# (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., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB= $(obj)lib$(BOARD).a
+
+COBJS  := mx31pdk.o
+SOBJS  := lowlevel_init.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 $(obj).depend
+
+#
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#
diff --git a/board/freescale/mx31pdk/config.mk 
b/board/freescale/mx31pdk/config.mk
new file mode 100644
index 000..d34dc02
--- /dev/null
+++ b/board/freescale/mx31pdk/config.mk
@@ -0,0 +1 @@
+TEXT_BASE = 0x87f0
diff --git a/board/freescale/mx31pdk/lowlevel_init.S 
b/board/freescale/mx31pdk/lowlevel_init.S
new file mode 100644
index 000..ec5eedb
--- /dev/null
+++ b/board/freescale/mx31pdk/lowlevel_init.S
@@ -0,0 +1,30 @@
+/*
+ * (C) Copyright 2008 Magnus Lilja lilja.mag...@gmail.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, 

[U-Boot] [PATCH v2 3/3] MX31: Add NAND SPL boot support to i.MX31 PDK board.

2009-05-03 Thread Magnus Lilja
Signed-off-by: Magnus Lilja lilja.mag...@gmail.com
---
 MAKEALL |3 +-
 Makefile|9 ++-
 board/freescale/mx31pdk/config.mk   |4 +
 board/freescale/mx31pdk/lowlevel_init.S |   93 +++
 board/freescale/mx31pdk/u-boot-nand.lds |   33 ++
 include/configs/mx31pdk.h   |   19 +-
 nand_spl/board/freescale/mx31pdk/Makefile   |   54 +++
 nand_spl/board/freescale/mx31pdk/config.mk  |5 ++
 nand_spl/board/freescale/mx31pdk/u-boot.lds |   36 ++
 9 files changed, 251 insertions(+), 5 deletions(-)
 create mode 100644 board/freescale/mx31pdk/u-boot-nand.lds
 create mode 100644 nand_spl/board/freescale/mx31pdk/Makefile
 create mode 100644 nand_spl/board/freescale/mx31pdk/config.mk
 create mode 100644 nand_spl/board/freescale/mx31pdk/u-boot.lds

diff --git a/MAKEALL b/MAKEALL
index aaa6dea..615acbb 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -548,7 +548,8 @@ LIST_ARM11=\
imx31_phycore   \
imx31_phycore_eet   \
mx31ads \
-   mx31pdk \
+   mx31pdk \
+   mx31pdk_nand\
qong\
smdk6400\
 
diff --git a/Makefile b/Makefile
index 99ebcc5..c377313 100644
--- a/Makefile
+++ b/Makefile
@@ -369,7 +369,7 @@ $(LDSCRIPT):depend
 $(NAND_SPL):   $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
 
-$(U_BOOT_NAND):$(NAND_SPL) $(obj)u-boot.bin
+$(U_BOOT_NAND):$(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin  
$(obj)u-boot-nand.bin
 
 $(ONENAND_IPL):$(TIMESTAMP_FILE) $(VERSION_FILE) 
$(obj)include/autoconf.mk
@@ -3087,6 +3087,13 @@ mx31ads_config   : unconfig
 mx31pdk_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm1136 mx31pdk freescale mx31
 
+mx31pdk_nand_config: unconfig
+   @mkdir -p $(obj)include $(obj)board/freescale/mx31pdk
+   @mkdir -p $(obj)nand_spl/board/freescale/mx31pdk
+   @echo #define CONFIG_NAND_U_BOOT  $(obj)include/config.h
+   @$(MKCONFIG) -n $@ -a mx31pdk arm arm1136 mx31pdk freescale mx31
+   @echo CONFIG_NAND_U_BOOT = y  $(obj)include/config.mk
+
 omap2420h4_config  : unconfig
@$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx
 
diff --git a/board/freescale/mx31pdk/config.mk 
b/board/freescale/mx31pdk/config.mk
index d34dc02..dcaa09f 100644
--- a/board/freescale/mx31pdk/config.mk
+++ b/board/freescale/mx31pdk/config.mk
@@ -1 +1,5 @@
+ifdef CONFIG_NAND_SPL
+TEXT_BASE = 0x87ec
+else
 TEXT_BASE = 0x87f0
+endif
diff --git a/board/freescale/mx31pdk/lowlevel_init.S 
b/board/freescale/mx31pdk/lowlevel_init.S
index ec5eedb..602eb53 100644
--- a/board/freescale/mx31pdk/lowlevel_init.S
+++ b/board/freescale/mx31pdk/lowlevel_init.S
@@ -26,5 +26,98 @@
 
 .globl lowlevel_init
 
+#ifdef CONFIG_NAND_SPL
+#include asm/arch/mx31-regs.h
+
+.macro REG reg, val
+   ldr r2, =\reg
+   ldr r3, =\val
+   str r3, [r2]
+.endm
+
+.macro REG8 reg, val
+   ldr r2, =\reg
+   ldr r3, =\val
+   strbr3, [r2]
+.endm
+
+.macro DELAY loops
+   ldr r2, =\loops
+1:
+   subsr2, r2, #1
+   nop
+   bcs 1b
+.endm
+
+.globl lowlevel_init
+lowlevel_init:
+   /* Also setup the Peripheral Port Remap register inside the core */
+   ldr r0, =ARM_PPMRR  /* start from AIPS 2GB region */
+   mcr p15, 0, r0, c15, c2, 4
+
+   REG IPU_CONF, IPU_CONF_DI_EN
+   REG CCM_CCMR, 0x074B0BF5
+
+   DELAY   0x4
+
+   REG CCM_CCMR, 0x074B0BF5 | CCMR_MPE
+   REG CCM_CCMR, (0x074B0BF5 | CCMR_MPE)  ~CCMR_MDS
+
+   /* Set up clock to 532MHz */
+   REG CCM_PDR0, 0xFF871D58
+   REG CCM_MPCTL, 0x0033280C
+
+   REG CCM_SPCTL, PLL_PD(1) | PLL_MFD(4) | PLL_MFI(12) | PLL_MFN(1)
+
+   /* Set up CPLD on CS5 */
+   REG CSCR_U(5), 0xD843
+   REG CSCR_L(5), 0x22252521
+   REG CSCR_A(5), 0x0A00
+
+   /* Set up MX31 DDR Memory Controller */
+   REG 0x43FAC26C, 0 /* SDCLK */
+   REG 0x43FAC270, 0 /* CAS */
+   REG 0x43FAC274, 0 /* RAS */
+   REG 0x43FAC27C, 0x1000 /* CS2   CSD0) */
+   REG 0x43FAC284, 0 /* DQM3 */
+   REG 0x43FAC288, 0 /* DQM2, DQM1, DQM0, SD31-SD0, A25-A0, MA10   
0x288..0x2DC) */
+   REG 0x43FAC28C, 0
+   REG 0x43FAC290, 0
+   REG 0x43FAC294, 0
+   REG 0x43FAC298, 0
+   REG 0x43FAC29C, 0
+   REG 0x43FAC2A0, 0
+   REG 0x43FAC2A4, 0
+   REG 0x43FAC2A8, 0
+   REG 0x43FAC2AC, 0
+   REG 0x43FAC2B0, 0
+   REG 0x43FAC2B4, 0
+   REG 

Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090503184226.gy25...@game.jcrosoft.org you wrote:

   we now switch to console_XX and console_device_t
---^^

  Actually there is even a direct name  conflict  -  console_init()  is
  already  in  use  (in board/netphone/phone_console.c), and your patch
  fails to resolve this conflict.
 it does, it's call consoles_init()

Then your comment (see above) and the code disagree.

  Maybe stdio would be a better choice than console here?
 why not

Hm... actually checking the code tells that stdio is already taken,
too - see show_stdio_dev(), stdio_devices[], stdio_names[].

But at least thesere are only few identifiers, so this could be delt
with.

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
Where there's no emotion, there's no motive for violence.
-- Spock, Dagger of the Mind, stardate 2715.1
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support

2009-05-03 Thread Wolfgang Denk
Dear Prafulla Wadaskar,

In message 73173d32e9439e4abb5151606c3e19e201cd5cf...@sc-vexch1.marvell.com 
you wrote:
  
 In case of kirkwood specially in some board version if we use Kirkwood 
 without internal BootROM we need to configure DRAM before setting stack in 
 DRAM, this should be done in lowlevel_init.S i.e. lowlevel_init or 
 arch_lowlevel_init jump

This may be what many ARM systems are currently doing, but actually it
is not what I'd like to see.

Normally DRAM should only be initialized right before relocation to
RAM, i. e. relatively late in the boot sequence, and definitely by C
code (at a time, when you have printf() and friends for debugging).

Also, normally the actual RAM size should be auto-detected using  the
utilities  provided  by  common/memsize.c,  etc.  [Also,  flash sizes
should be auto-detected.]

If you don't have any on-chip memory on your  system,  or  any  other
SRAM  etc.  that  could  be  used for initial data or stack, then the
standard method is to lock (parts of) D-Cache and use this as RAM.


It would be great if such standard procedures would find their way
into U-Boot on ARM, too.


[Note that I wrote I'd like to see, and normally, and should. I
did not say must - I'm a realist, and I know that ARM still  has  a
long way to go to fully recover from the ARMBoot heritage.]

Thanks in advance.

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
Deliver yesterday, code today, think tomorrow.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v4] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Wolfgang Denk
Dear Jean-Christophe PLAGNIOL-VILLARD,

In message 20090503083923.gs25...@game.jcrosoft.org you wrote:

 3) I'm in favor as Mike to have the tool to build the final flashable bin
 in the tree as done for the blackfin with a new target and a new extention
 as .kwd (or any other)

You know my opinion about this; it has not changed.

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
Technology is dominated by those who manage what they do  not  under-
stand.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARM DaVinci:Adding DM365 Support

2009-05-03 Thread Wolfgang Denk
Dear Ben Warren,

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

   Wolfgang could help us on this?
 
  You mean like that:
 
  http://git.denx.de/?p=u-boot.git;a=shortlog;h=refs/heads/next
 
  ?
 
 I'm sorry, I looked before sending this e-mail, but must have been looking
 in the wrong place.  Of course this is exactly what we need and I apologize
 for the noise.

You have not been looking at the wrong place. I created the branch
upon your request. Maybe my words to inform you about this were ill
chosen. Sorry.

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
Unix: Some say the learning curve is steep,  but  you  only  have  to
climb it once.  - Karl Lehenbauer
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH] console/device: rework function naming

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 22:05 Sun 03 May , Wolfgang Denk wrote:
 Dear Jean-Christophe PLAGNIOL-VILLARD,
 
 In message 20090503184226.gy25...@game.jcrosoft.org you wrote:
 
we now switch to console_XX and console_device_t
 ---^^
 
   Actually there is even a direct name  conflict  -  console_init()  is
   already  in  use  (in board/netphone/phone_console.c), and your patch
   fails to resolve this conflict.
  it does, it's call consoles_init()
 
 Then your comment (see above) and the code disagree.
 
   Maybe stdio would be a better choice than console here?
  why not
 
 Hm... actually checking the code tells that stdio is already taken,
 too - see show_stdio_dev(), stdio_devices[], stdio_names[].
btw we could stop to export the table

for show_stdio_dev it's just a copy of the common/console.c
ligne 604

so we can merge it

 
 But at least thesere are only few identifiers, so this could be delt
 with.
so no problem

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


Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support

2009-05-03 Thread Jean-Christophe PLAGNIOL-VILLARD
On 10:16 Sun 03 May , Prafulla Wadaskar wrote:
  
 
  -Original Message-
  From: Jean-Christophe PLAGNIOL-VILLARD [mailto:plagn...@jcrosoft.com] 
  Sent: Sunday, May 03, 2009 2:02 PM
  To: Prafulla Wadaskar
  Cc: u-boot@lists.denx.de; Ashish Karkare; Prabhanjan Sarnaik; 
  Ronen Shitrit
  Subject: Re: [U-Boot] [PATCH v4] Marvell Kirkwood family SOC support
  
  On 14:41 Sat 02 May , Prafulla Wadaskar wrote:
   Thanks Jean for your review... 
   
 diff --git a/cpu/arm926ejs/kirkwood/kwcore.c 
 b/cpu/arm926ejs/kirkwood/kwcore.c new file mode 100644 index
 000..9eaaab6
 --- /dev/null
 +++ b/cpu/arm926ejs/kirkwood/kwcore.c
please cpu.c
   Okay I will rename it
   
   */
 -#ifndef CONFIG_SKIP_LOWLEVEL_INIT
 +#if !defined (CONFIG_SKIP_LOWLEVEL_INIT) || defined
 +(CONFIG_ARCH_LOWLEVEL_INIT)
NACK

if you skip the lowlevel init you also skip the arch lowlevel_init
   I got it already, I have encapsulated similar condition at 
  caller function so that even though only ARCH_LOWLEVEL_INIT 
  is define it will not skip it.
   

if it's permannent arch init please use arch_cpu_init
   Is it really lowlevel init, needs to be called before 
  stack/dram init, so please let it be arch_lowlevel_init.
   I am trying to keep minimal code under arch_lowlevel_init (only few 
   assembly lines) rest I am moving to arch_cpu_init under 
   lib_arm/board.c
  the arch_cpu_init is the first init in c and I want the 
  current design clear If you choice to skip the lowlevel_init 
  you will skip all lowlevel_init with no exception as I've in 
  mind to regroup all start.S
 In this caseI think
 Let's have arch_cpu_init (c function call) to take care of Soc Specific init 
 and
 Let's use lowlevel_init instead of arch_lowlevel_init for any configuration 
 before stack init.
 arch_lowlevel_init should be assembly code similar to lowlevel_init and is 
 invoking should be similar
 
 In case of kirkwood specially in some board version if we use Kirkwood 
 without internal BootROM we need
 to configure DRAM before setting stack in DRAM, this should be done in 
 lowlevel_init.S i.e.
 lowlevel_init or arch_lowlevel_init jump
sure but in this case you will have to init everythink
as done for ofther ARCH at91 in norflash boot, ixp, pxa etc...

if the dram init is common of the arch the arch_lowlevel_init is the right
place, it's board specific lowlevel_init is.

please also note I'm preparing 2 new patch
that will introduce
board_pre_lowlevel_init and
arch_pre_lowlevel_init
with the board that use it (already mainline)

 What do you think? Or what is in your mind about regroup start.S?
For the start.S I'll take care of this
actually nearly all arm share the same start.S
and normaly the lowlevel_init is always the same
wiht just few specific thinks which will be care
by some few callback

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


Re: [U-Boot] [PATCH 1/1] V2 Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Stelian Pop
On Sun, May 03, 2009 at 12:11:40PM +0200, Remy Bohmer wrote:

 Some boards do not have SROM support for the DM9000 network adapter.
 Instead of listing these board names in the driver code, make this
 option configurable from the board config file.
 
 It also removes a build warning for the at91sam9261ek board:
 'dm9000x.c:545: warning: 'read_srom_word' defined but not used'
 
 And it repaires the trizepsiv board build which was broken around the
 same routines
 
 Signed-off-by: Remy Bohmer li...@bohmer.net

FWIW:
Signed-off-by: Stelian Pop stel...@popies.net

Thanks,

-- 
Stelian Pop stel...@popies.net
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-05-03 Thread Stephen Irons
Does this help at all: at any rate, it is a bit of the history of the 
u-boot code:

http://lists.denx.de/pipermail/u-boot/2008-August/039679.html

Stephen Irons


David Brownell wrote:
 I was looking at the DaVinci NAND support in current U-Boot
 code (i.e. 2009.03 plus patches merged since that release),
 and am puzzled by the above-named config option.

 Before I submit a patch to remove it from U-Boot GIT (nothing
 there enables it, and it will nastify 4-bit support), I thought
 I'd see if anyone knows exactly what software it was trying to
 emulate.  Differences from the current NAND driver in GIT:

  - Matches MVL 4.0 (2.6.10) and 5.0 (2.6.18) drivers in handling
NANDx1ECC registers:  0PQR0stu maps to PsQRtu, while the NAND
driver in mainline maps it to ~PQRstu.

  - Custom ECC layouts, not compatible with Linux or RBL/UBL.

  - Does some very broken stuff for large page support.

 The first of those I can understand; someone wrote some odd and
 overly-complex ECC code way back, it worked and then got shipped.
 (Although TI's U-Boot 1.2.0 uses soft ECC, instead...)

 The other two look like they were experimental code that
 should probably not have been merged anywhere...

 - Dave

 ___
 Davinci-linux-open-source mailing list
 davinci-linux-open-sou...@linux.davincidsp.com
 http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
   


===
This email, including any attachments, is only for the intended
addressee.  It is subject to copyright, is confidential and may be
the subject of legal or other privilege, none of which is waived or
lost by reason of this transmission.
If the receiver is not the intended addressee, please accept our
apologies, notify us by return, delete all copies and perform no
other act on the email.
Unfortunately, we cannot warrant that the email has not been
 altered or corrupted during transmission.
===

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


Re: [U-Boot] U-Boot and CONFIG_SYS_DAVINCI_BROKEN_ECC

2009-05-03 Thread David Brownell
On Sunday 03 May 2009, Stephen Irons wrote:
 Does this help at all

Not quite; since when I looked at the MontaVista code,
I didn't see anything like that brokeness.  It's possible
that some old MV kernels had that.  If so, more recent
stuff seems to have been cured.


 at any rate, it is a bit of the history of the  
 u-boot code:
 
 http://lists.denx.de/pipermail/u-boot/2008-August/039679.html



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


Re: [U-Boot] [PATCH 1/1] Add config option for disabling DM9000-SROM support.

2009-05-03 Thread Ben Warren
Hi J-C,

On Sun, May 3, 2009 at 3:21 AM, Jean-Christophe PLAGNIOL-VILLARD 
plagn...@jcrosoft.com wrote:

   --- /dev/null
   +++ b/include/dm9000.h
   Ben what do you think to do as usb have a dir to store all net header
   include/net/
 
  I have chosen the same location as the dm9161.h, other similar headers
  are there as well.
  If it has to be changed, I suggest making it a separate patch.
 sure

 I've in mind this

 include/{ = net}/at91rm9200_net.h
 include/{ = net}/bcm5221.h
 include/{ = net}/dm9161.h
 include/{ = net}/dp83848.h
 include/{ = net}/lxt971a.h
 include/{ = net}/mii_phy.h
 include/{ = net}/miiphy.h
 include/{ = net}/ns7520_eth.h
 include/{ = net}/ns9750_eth.h
 include/{ = net}/ppc4xx_enet.h
 include/{ = net}/tsec.h

 or

 include/{ = net}/at91rm9200_net.h
 include/{ = net}/ns7520_eth.h
 include/{ = net}/ns9750_eth.h
 include/{ = net}/ppc4xx_enet.h
 include/{ = net}/tsec.h
 include/{ = net/phy}/bcm5221.h
 include/{ = net/phy}/dm9161.h
 include/{ = net/phy}/dp83848.h
 include/{ = net/phy}/lxt971a.h
 include/{ = net/phy}/mii_phy.h
 include/{ = net/phy}/miiphy.h

 and maybe
 include/{ = net}/netdev.h

 Best Regards,
 J.


I'm not crazy about this idea - it seems like unnecessary hierarchy when
efforts could be diverted elsewhere.  There are very few net-related public
header files (as you've shown) and browsing through them, there's a lot of
duplication of 802.3-defined PHY stuff and register definitions that are
really private to the drivers themselves.  Ideally we would have very little
in the way of device-specific public functions apart from xxx_initialize().
 I'm OK with having device-specific prototypes and struct definitions in
netdev.h - that's what it was created for in the first place.  As long as
there's no code there (including static inlines) it seems appropriate.

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


Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Ben Warren
Hi Prafulla,

On Sun, May 3, 2009 at 10:27 AM, Prafulla Wadaskar prafu...@marvell.comwrote:


+ * 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 ../drivers/net/phy/mv88e61xx.h
 
  If this header is meant to be public it should be in
  include.  Sorry I didn't catch that earlier.
  snip
 This header has some public and some driver specific information
 Only a configuration structure in this file is needed here,
 I can put it in netdev.h but I didn't find such implementation there.
 How about creating a new header file for phy/switch?

I think it's appropriate to put the struct definition and public prototypes
in netdev.h.  There's a lot of work in progress regarding PHYs, and I may
move the prototypes later, but for now netdev is it.  Unless the
driver-specific stuff will be used in the future by other drivers, we may as
well move it back to the .c file.  I know, I know, I made you create the
header file in the first place :)  Would you believe that some people have
called me indecisive?


 
+/*
+ * Ethernet Driver configuration
+ */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_NETCONSOLE  /* include NetConsole
  support   */
+#define CONFIG_NET_MULTI   /* specify more that
  one ports available */
+#defineCONFIG_MII  /* expose smi
  ove miiphy interface */
+#define CONFIG_KIRKWOOD_EGIGA  /* Enable kirkwood Gbe
  Controller Driver */
 
  This EGIGA driver hasn't been accepted yet.  In fact, I think
  you've only sent one spin.  It needs to be in before this board...
 You are correct,
 I am ready with the latest spin, but it has close dependency with kirkwood
 SoC layer, once this gets through I had a plan to release egiga driver
 patch. BTW code builds cleanly without egiga driver so I do not want to
 remove this :-) since it will be required afterward once kirkwood_egiga
 driver gets in.
 Any suggestion welcomed ???

No, this seems OK.  Like you say, it builds cleanly without.  As long as
they make it into the same release everything should be cool.


 Regards..
 Prafulla . .


Thanks for all your hard work.

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


Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Prafulla Wadaskar
   
  +#include common.h
  +#include ../drivers/net/phy/mv88e61xx.h
   
If this header is meant to be public it should be in
include.  Sorry I didn't catch that earlier.
snip
   
   This header has some public and some driver specific information
   Only a configuration structure in this file is needed here,
   I can put it in netdev.h but I didn't find such 
 implementation there.
   How about creating a new header file for phy/switch?
   
 
 I think it's appropriate to put the struct definition and 
 public prototypes in netdev.h.  There's a lot of work in 
 progress regarding PHYs, and I may move the prototypes later, 
 but for now netdev is it.  Unless the driver-specific stuff 
 will be used in the future by other drivers, we may as well 
 move it back to the .c file.  I know, I know, I made you 
 create the header file in the first place :)
 Would you believe that some people have called me indecisive?
Dear Ben, that's okay,
For evolving projects like u-boot, the positive progress happens in this 
direction only. 
How do we improve if we don't experiment... :-)

Currently there is only switch_init function header in netdev.h I will put a 
struct definition too.
Thus we can remove mv88361xx.h dependency in board specific files

Just let me know - shall I send a delta for this or clean patch v9 for 
MV88E61XX driver?
If I send you clean patch, you may need to revert earlier patch on your branch

Regards..
Prafulla . .

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


Re: [U-Boot] [PATCH v5] Marvell MV88F6281GTW_GE Board support

2009-05-03 Thread Ben Warren
On Sun, May 3, 2009 at 8:45 PM, Prafulla Wadaskar prafu...@marvell.comwrote:


   +#include common.h
   +#include ../drivers/net/phy/mv88e61xx.h

 If this header is meant to be public it should be in
 include.  Sorry I didn't catch that earlier.
 snip
 
This header has some public and some driver specific information
Only a configuration structure in this file is needed here,
I can put it in netdev.h but I didn't find such
  implementation there.
How about creating a new header file for phy/switch?
 
 
  I think it's appropriate to put the struct definition and
  public prototypes in netdev.h.  There's a lot of work in
  progress regarding PHYs, and I may move the prototypes later,
  but for now netdev is it.  Unless the driver-specific stuff
  will be used in the future by other drivers, we may as well
  move it back to the .c file.  I know, I know, I made you
  create the header file in the first place :)
  Would you believe that some people have called me indecisive?
 Dear Ben, that's okay,
 For evolving projects like u-boot, the positive progress happens in this
 direction only.
 How do we improve if we don't experiment... :-)

 Currently there is only switch_init function header in netdev.h I will put
 a struct definition too.
 Thus we can remove mv88361xx.h dependency in board specific files

 Just let me know - shall I send a delta for this or clean patch v9 for
 MV88E61XX driver?
 If I send you clean patch, you may need to revert earlier patch on your
 branch

Either is fine with me, although since a v9 would probably be cleaner.


 Regards..
 Prafulla . .

 

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


Re: [U-Boot] Help!Some memory doesn't work on PPC405Ex based board!

2009-05-03 Thread SunNeo

Stefan and Grant,

 

I have made some progess, Linux can boot normally with 1 GB memory now.
The following is what I did:
1.Chang Maximum low memory size from 0x3000(768M) to 0x2000(512M) and 
enable High Memory support for Linux kernel configuration.
2.Add CONFIG_VERY_BIG_RAM to U-Boot configuration file, or change U-Boot Env. 
variable initrd_high from 0x3000 to 0x2000. This step is to make sure 
Linux can find ramdisk and I don't think it's critical for my issue.


Now, my question is do you think I have found root cause of my issue? I mean 
incorrect setting of Maximum low memory size.

 

Best Regards,

Sun
 
 From: s...@denx.de
 To: u-boot@lists.denx.de
 Subject: Re: [U-Boot] Help!Some memory doesn't work on PPC405Ex based board!
 Date: Thu, 23 Apr 2009 11:55:35 +0200
 CC: sunwx2...@hotmail.com; supp...@amcc.com; gerick...@nuovations.com
 
 On Thursday 23 April 2009, SunNeo wrote:
  Have performed a slow memory post using code in post/drivers/memory.c,
  still no error.
 
 Another idea: Did you also try using DDR autocalibration method A? Standard 
 is 
 method B but A takes a lot longer. (See the Method_A and Method_B algorithm 
 discription in the file cpu/ppc4xx/4xx_ibm_ddr2_autocalib.c). Perhaps this 
 gives some further results.
 
  I found memsize in post/driver/memory.c has a limit of 
  256MB, so I modify it to 1024M.
 
 
  Have tried Linux-2.6.29, same result.
 
 Hmmm. You should perhaps try to debug further where exactly this error is 
 occurring. Via printk's or JTAG debugger. If this error always happens at the 
 same location it could perhaps be located (if it's not a memory problem) in 
 the kernel source code.
 
 Best regards,
 Stefan
 
 =
 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
 =

_
上Windows Live 中国首页,下载最新版Messenger!
http://www.windowslive.cn___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot