[U-Boot] [RFC][PATCH v2] bootm: Add sub commands

2008-09-23 Thread Kumar Gala
This version:
* cleans ups issues pointed out by Jerry
* adds a state machine to the command processing
* adds bd_t and cmdline process on linux for ppc

If this looks good I'll go ahead and clean it up for the other arches and OSes.

- k

Posting this again for discussion.  The two features I'm interested in
enabling are:

* Having the ability to modify the device tree before its passed to
 the kernel but after 'fdt boardsetup'

* Ability to do all setup but not actually jumping to the kernel.
 (This is useful as a way to setup the memory image [kernel, ramdisk,
  fdt, etc] for a different cpu than the boot one)

Having bootm sub-commands allows both of these as we can break up
the sequeunce of steps that are part of the bootm process.

---
 common/cmd_bootm.c |  150 +-
 include/image.h|   20 -
 lib_ppc/bootm.c|  262 ++--
 3 files changed, 338 insertions(+), 94 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 19257bb..1de11c2 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -34,6 +34,7 @@
 #include bzlib.h
 #include environment.h
 #include lmb.h
+#include linux/ctype.h
 #include asm/byteorder.h
 
 #if defined(CONFIG_CMD_USB)
@@ -273,7 +274,7 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int 
argc, char *argv[])
}
 
images.os.start = (ulong)os_hdr;
-   images.valid = 1;
+   images.state = BOOTM_STATE_START;
 
return 0;
 }
@@ -376,6 +377,121 @@ static int bootm_load_os(image_info_t os, ulong 
*load_end, int boot_progress)
return 0;
 }
 
+int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+   int ret = 0;
+   int state;
+
+   /* start */
+   if (argv[1][0] == 's') {
+   argc--;
+   argv++;
+   return bootm_start(cmdtp, flag, argc, argv);
+   }
+   /* loados */
+   else if (argv[1][0] == 'l') {
+   state = BOOTM_STATE_LOADOS;
+   }
+   /* ramdisk relocate */
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   else if (argv[1][0] == 'r') {
+   state = BOOTM_STATE_RAMDISK;
+   }
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   /* fdt relocate */
+   else if (argv[1][0] == 'f') {
+   state = BOOTM_STATE_FDT;
+   }
+#endif
+   /* bd_t setup */
+   else if (argv[1][0] == 'b') {
+   state = BOOTM_STATE_OS_BD_T;
+   }
+   /* cmdline setup */
+   else if (argv[1][0] == 'c') {
+   state = BOOTM_STATE_OS_CMDLINE;
+   }
+   /* prep os */
+   else if (argv[1][0] == 'p') {
+   state = BOOTM_STATE_OS_PREP;
+   }
+   /* go */
+   else if (argv[1][0] == 'g') {
+   state = BOOTM_STATE_OS_GO;
+   }
+   /* Unrecognized command */
+   else {
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   if (images.state = state) {
+   printf (Trying to execute a command out of order\n);
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   images.state |= state;
+
+   switch (state) {
+   ulong load_end;
+   case BOOTM_STATE_START:
+   /* should never occur */
+   break;
+   case BOOTM_STATE_LOADOS:
+   ret = bootm_load_os(images.os, load_end, 0);
+   if (ret)
+   return ret;
+
+   lmb_reserve(images.lmb, images.os.load,
+   (load_end - images.os.load));
+   break;
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   case BOOTM_STATE_RAMDISK:
+   {
+   ulong rd_len = images.rd_end - images.rd_start;
+   char str[17];
+
+   ret = boot_ramdisk_high(images.lmb, images.rd_start,
+   rd_len, images.initrd_start, 
images.initrd_end);
+   if (ret)
+   return ret;
+
+   sprintf(str, %lx, images.initrd_start);
+   setenv(initrd_start, str);
+   sprintf(str, %lx, images.initrd_end);
+   setenv(initrd_end, str);
+   }
+   break;
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   case BOOTM_STATE_FDT:
+   {
+   ulong bootmap_base = getenv_bootm_low();
+   ret = boot_relocate_fdt(images.lmb, bootmap_base,
+   images.ft_addr, images.ft_len);
+   break;
+   }
+#endif
+   case BOOTM_STATE_OS_CMDLINE:
+   do_bootm_linux(BOOTM_STATE_OS_CMDLINE, argc, argv, 
images);
+  

Re: [U-Boot] [PATCH] ppc4xx: Canyonlands: Remove unnecessary FDT warning upon DTB fixup

2008-09-23 Thread Stefan Roese
Hi Wolfgang,

On Monday 22 September 2008, Wolfgang Denk wrote:
  Depending on the configuration jumper SATA SELECT, U-Boot disabled
  either one PCIe node or the SATA node in the device tree blob. This
  patch removes the unnecessary and even confusing warning, when the node
  is not found at all.
 
  Signed-off-by: Stefan Roese [EMAIL PROTECTED]
  ---
   board/amcc/canyonlands/canyonlands.c |   16 
   1 files changed, 4 insertions(+), 12 deletions(-)

 Applied, thanks.

 Hope it's OK that I pulled this directly.

Sure. Thanks.

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: [EMAIL PROTECTED]
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] pci: Divided pci code of the powerpc

2008-09-23 Thread Stefan Roese
On Monday 22 September 2008, Andrew Dyer wrote:
  I did a simple check.
 
  Only powerpc and i386 and sh seem to use PCI.
  If powerpc does not have a problem, would you commit it?
 
  Do I have your go (or at least no veto) to apply this patch?

 (forgot to reply all on this, already sent to the O.P.)

 I think this is going to break some boards/archs.  From the top
 of the u-boot tree, if you do

 find . -type f -exec grep pci_register_hose {} /dev/null \;

 it shows all the source files that are registering a PCI bus.  A quick
 look shows there are MIPS, ARM, x86 in that list at least, that aren't
 addressed by this change.

That's correct. This patch moves the original defines to the PPC specific 
header and introduces new defines in the SH specific header. All other ARCH's 
will not compile anymore when they try to include PCI support.

So, NAK from me. An acceptable patch would be to move the original defines at 
least to all ARCH's already using PCI.

BTW: I fail to see what's really PPC specific about the pci code in question. 
Nobuhiro, could you please elaborate what's the problem here?

Thanks.

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: [EMAIL PROTECTED]
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] pci: Divided pci code of the powerpc

2008-09-23 Thread Stefan Roese
On Tuesday 23 September 2008, Andy Fleming wrote:
  I did a simple check.
 
  Only powerpc and i386 and sh seem to use PCI.
  If powerpc does not have a problem, would you commit it?
 
  Do I have your go (or at least no veto) to apply this patch?

 If some of that code is powerpc-only, maybe we should move the code
 out of pci.c, too?  pci_hose_phys_to_bus() appears to be...
 board/eltec/bab7xx/pci.c only, actually.

That doesn't seem to be correct. In include/pci.h:

#define pci_phys_to_bus(dev, addr, flags) \
pci_hose_phys_to_bus(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags))

and later:

#define pci_phys_to_mem(dev, addr)  pci_phys_to_bus((dev), (addr), 
PCI_REGION_MEM)
#define pci_phys_to_io(dev, addr)   pci_phys_to_bus((dev), (addr), 
PCI_REGION_IO)

So calling pci_phys_to_mem() or pci_phys_to_io() leads to a
pci_hose_phys_to_bus() call in the end.


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: [EMAIL PROTECTED]
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Yuri Tikhonov

 Set the MQ Read Passing  MCIF Cycle limits to the recommended by AMCC
values. This fixes the occasional 440SPe hard locking issues when the 440SPe's
dedicated DMA engines are used (e.g. by the h/w accelerated RAID driver).

 Previously the appropriate initialization had been made in Linux, by the
ppc440spe ADMA driver, which is wrong because modifying the MQ configuration
registers after normal operation has begun is not supported and could
have unpredictable results.

Signed-off-by: Yuri Tikhonov [EMAIL PROTECTED]
---
 cpu/ppc4xx/44x_spd_ddr2.c  |   10 ++
 include/asm-ppc/ppc4xx-sdram.h |5 +
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/cpu/ppc4xx/44x_spd_ddr2.c b/cpu/ppc4xx/44x_spd_ddr2.c
index f1d7684..995d5fe 100644
--- a/cpu/ppc4xx/44x_spd_ddr2.c
+++ b/cpu/ppc4xx/44x_spd_ddr2.c
@@ -2261,10 +2261,12 @@ static void program_memory_queue(unsigned long 
*dimm_populated,
/*
 * Set optimal value for Memory Queue HB/LL Configuration registers
 */
-   mtdcr(SDRAM_CONF1HB, mfdcr(SDRAM_CONF1HB) | SDRAM_CONF1HB_AAFR |
- SDRAM_CONF1HB_RPEN | SDRAM_CONF1HB_RFTE);
-   mtdcr(SDRAM_CONF1LL, mfdcr(SDRAM_CONF1LL) | SDRAM_CONF1LL_AAFR |
- SDRAM_CONF1LL_RPEN | SDRAM_CONF1LL_RFTE);
+   mtdcr(SDRAM_CONF1HB, (mfdcr(SDRAM_CONF1HB)  ~SDRAM_CONF1HB_MASK) |
+ SDRAM_CONF1HB_AAFR | SDRAM_CONF1HB_RPEN | SDRAM_CONF1HB_RFTE |
+ SDRAM_CONF1HB_RPLM | SDRAM_CONF1HB_WRCL);
+   mtdcr(SDRAM_CONF1LL, (mfdcr(SDRAM_CONF1LL)  ~SDRAM_CONF1LL_MASK) |
+ SDRAM_CONF1LL_AAFR | SDRAM_CONF1LL_RPEN | SDRAM_CONF1LL_RFTE |
+ SDRAM_CONF1LL_RPLM);
mtdcr(SDRAM_CONFPATHB, mfdcr(SDRAM_CONFPATHB) | SDRAM_CONFPATHB_TPEN);
 #endif
 }
diff --git a/include/asm-ppc/ppc4xx-sdram.h b/include/asm-ppc/ppc4xx-sdram.h
index 8efa557..98faced 100644
--- a/include/asm-ppc/ppc4xx-sdram.h
+++ b/include/asm-ppc/ppc4xx-sdram.h
@@ -272,8 +272,11 @@
 #define SDRAM_CONF1HB_PRPD 0x0008  /* PLB Read pipeline Disable - 
Bit 12 */
 #define SDRAM_CONF1HB_PWPD 0x0004  /* PLB Write pipeline Disable - 
Bit 13 */
 #define SDRAM_CONF1HB_PRW  0x0002  /* PLB Read Wait - Bit 14 */
+#define SDRAM_CONF1HB_RPLM 0x1000  /* Read Passing Limit 1 - Bits 
16..19 */
 #define SDRAM_CONF1HB_RPEN 0x0800  /* Read Passing Enable - Bit 20 
*/
 #define SDRAM_CONF1HB_RFTE 0x0400  /* Read Flow Through Enable - 
Bit 21 */
+#define SDRAM_CONF1HB_WRCL 0x0080  /* MCIF Cycle Limit 1 - Bits 
22..24 */
+#define SDRAM_CONF1HB_MASK 0xF380  /* RPLM  WRCL mask */
 
 #define SDRAM_ERRSTATHB(SDRAMQ_DCR_BASE+0x7)   /* error status 
HB */
 #define SDRAM_ERRADDUHB(SDRAMQ_DCR_BASE+0x8)   /* error 
address upper 32 HB   */
@@ -284,8 +287,10 @@
 #define SDRAM_CONF1LL_PRPD 0x0008  /* PLB Read pipeline 
Disable - Bit 12 */
 #define SDRAM_CONF1LL_PWPD 0x0004  /* PLB Write pipeline 
Disable - Bit 13 */
 #define SDRAM_CONF1LL_PRW  0x0002  /* PLB Read Wait - Bit 
14 */
+#define SDRAM_CONF1LL_RPLM 0x1000  /* Read Passing Limit 1 
- Bits 16..19 */
 #define SDRAM_CONF1LL_RPEN 0x0800  /* Read Passing Enable 
- Bit 20 */
 #define SDRAM_CONF1LL_RFTE 0x0400  /* Read Flow Through 
Enable - Bit 21 */
+#define SDRAM_CONF1LL_MASK 0xF000  /* RPLM mask */
 
 #define SDRAM_ERRSTATLL(SDRAMQ_DCR_BASE+0xC)   /* error status 
LL */
 #define SDRAM_ERRADDULL(SDRAMQ_DCR_BASE+0xD)   /* error 
address upper 32 LL   */
-- 
1.5.6.1

 Regards, Yuri
-- 
Yuri Tikhonov, Senior Software Engineer
Emcraft Systems, www.emcraft.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Stefan Roese
Hi Yuri,

On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  Set the MQ Read Passing  MCIF Cycle limits to the recommended by AMCC
 values. This fixes the occasional 440SPe hard locking issues when the
 440SPe's dedicated DMA engines are used (e.g. by the h/w accelerated RAID
 driver).

  Previously the appropriate initialization had been made in Linux, by the
 ppc440spe ADMA driver, which is wrong because modifying the MQ
 configuration registers after normal operation has begun is not supported
 and could have unpredictable results.

AMCC just recently updated the 440SP(e) MQ initialization with this patch:

commit 079589bcfb24ba11068460276a3cc9549ab5346f
Author: Prodyut  Hazarika [EMAIL PROTECTED]
Date:   Wed Aug 20 09:38:51 2008 -0700

ppc4xx: Optimize PLB4 Arbiter and Memory Queue settings for PPC440SP/SPe,
PPC405EX and PPC460EX/GT/SX

- Read pipeline depth set to 4 for PPC440SP/SPE, PPC405EX, PPC460EX/GT/SX
  processors
- Moved PLB4 Arbiter register definitions to ppc4xx.h since it is shared
  across processors (405 and 440/460)
- Optimize Memory Queue settings for PPC440SP/SPE and PPC460EX/GT/SX
  processors
- Add register bit definitions for Memory Queue Configuration registers

Signed-off-by: Prodyut Hazarika [EMAIL PROTECTED]
Signed-off-by: Stefan Roese [EMAIL PROTECTED]


I have a bad feeling changing this optimized settings without AMCC's 
specific ACK.

Prodyut, are you ok with Yuri's change?

Thanks.

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: [EMAIL PROTECTED]
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Stefan Roese
On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  BTW, when I said recommended by AMCC in the patch description I
 referred to the following information forwarded to me by Wolfgang
 Denk on Tue Mar 18 2008:

 ---
 Dear Yuri,

 here is some additional (and hopefully helpful) information from AMCC

 regarding the observed hangs on the katmai board:
  If possible, can you please check if you still see the lock up when
  you program MQ as follows:
  set value in HB and if you are using LL also as follows:
  MQ0_CF1H  = 0x80001C80
  MQ0_CF1L  =  0x80001C80
  Additionally, make sure that your PLB settings are:
  PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write)
  PLB1_ACR =  0xDF00 ( 4 deep read and 2 deep write)
  Please let me know if this fixes the issue.
  I also would like to know how you are programming your DMA and how
  is the traffic is pipelined.
  Regards,
  Olga Buchonina
  AMCC PowerPC Applications Engineering

Understood. I just would like to see an ACK from AMCC on this since they just 
updated this MQ init 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: [EMAIL PROTECTED]
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] MPC8555CDS broken on TOT (commit 8fd4166c, ELDK 4.2)

2008-09-23 Thread Bartlomiej Sieka
Hello,

TOT U-Boot (commit 8fd4166c, compiled with ELDK 4.2) for the MPC8555CDS
target is broken with the following symptoms:


[flash the 8fd4166c image and reset the board]

U-Boot 2008.10-rc2-00018-g8fd4166 (Sep 23 2008 - 10:23:59)

CPU:   8555E, Version: 1.1, (0x80790011)
Core:  E500, Version: 2.0, (0x80200020)
Clock Configuration:
CPU: 825 MHz, CCB: 330 MHz,
DDR: 165 MHz (330 MT/s data rate), LBC:  82 MHz
CPM:   330 Mhz
L1:D-cache 32 kB enabled
I-cache 32 kB enabled
Board: CDS Version 0x11, PCI Slot 1
CPU Board Revision 0.0 (0x)
 PCI1: 32 bit, 33 MHz, sync
 PCI2: 32 bit, 66 MHz, sync
I2C:   ready
DRAM:  Initializing
 SDRAM: 64 MB
 DDR: 256 MB


And the output stops here, console is dead. Can't give more details as
to what's going on the board -- don't have a HW debugger available.

After a power-cycle, the board doesn't go as far as the first time after
reset:

U-Boot 2008.10-rc2-00018-g8fd4166 (Sep 23 2008 - 10:23:59)

CPU:   8555E, Version: 1.1, (0x80790011)
Core:  E500, Version: 2.0, (0x80200020)
Clock Configuration:
CPU: 825 MHz, CCB: 330 MHz,
DDR: 165 MHz (330 MT/s data rate), LBC:  82 MHz
CPM:   330 Mhz
L1:D-cache 32 kB enabled
I-cache 32 kB enabled

Subsequent power-cycles result in the same output, i.e., the output dies
after the I-cache 32 kB enabled line.

The U-Boot works fine as of commit 71074abb, but can't do a full
bisection at the moment (can't flash the board easily).

Brief search of the ML archives didn't reveal any such issue reported,
so I'm posting this as a data point, and in the hopes that someone can
take further investigation from here. I'll be happy to provide more
details if needed, and might also be able to test a potential fix.

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


Re: [U-Boot] stability USB memory sticks for the common OHCI USB layer.

2008-09-23 Thread Remy Bohmer
Hello Stelian,

Thanks for the logging. This is useful info.

 usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 
 0x0
 New Device 1
 usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 
 length 0x40
 ERROR:  USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) 
 or did
 not provide a handshake (OUT) (5)

Apparently the 1st access to the device already fails.
Can you please try to set #define CONFIG_LEGACY_USB_INIT_SEQ 1 in
your include/configs/board.h ?
This enables the old way U-boot does the device initialisation. If
this helps I have to check 1 of my patches, which changed this
behaviour to make it compliant to the USB standard.
The legacy implementation of U-boot is just wrong, but it might work.

Kind Regards,

Remy


 ERROR: USB-error: DEVICENOTRESPONDING: Device did not respond to token (IN) 
 or did
 not provide a handshake (OUT) (5)
 usb_new_device: 64 byte descr
 usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 
 0x0
 usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
 0x4
 usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 
 0x0
 set address 2
 usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 
 0x0
 ERROR: submit_control_message: pipesize for pipe 8000 is zero

  USB device not accepting new address (error=8000)
 usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x1 length 
 0x0
 usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
 0x4
 2 USB Device(s) found
   scanning bus for storage devices... 0 Storage Device(s) found
 U-Boot
 --
 Stelian Pop [EMAIL PROTECTED]


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


Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Yuri Tikhonov

 Hello,

 BTW, when I said recommended by AMCC in the patch description I 
referred to the following information forwarded to me by Wolfgang 
Denk on Tue Mar 18 2008: 

---
Dear Yuri,

here is some additional (and hopefully helpful) information from AMCC
regarding the observed hangs on the katmai board:

 If possible, can you please check if you still see the lock up when  
 you program MQ as follows:
 set value in HB and if you are using LL also as follows:
 MQ0_CF1H  = 0x80001C80
 MQ0_CF1L  =  0x80001C80
 Additionally, make sure that your PLB settings are:
 PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write)
 PLB1_ACR =  0xDF00 ( 4 deep read and 2 deep write)
 Please let me know if this fixes the issue.
 I also would like to know how you are programming your DMA and how  
 is the traffic is pipelined.
 Regards,
 Olga Buchonina
 AMCC PowerPC Applications Engineering

Best regards,

Wolfgang Denk
---

On Tuesday, September 23, 2008 you wrote:

 Hi Yuri,

 On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  Set the MQ Read Passing  MCIF Cycle limits to the recommended by AMCC
 values. This fixes the occasional 440SPe hard locking issues when the
 440SPe's dedicated DMA engines are used (e.g. by the h/w accelerated RAID
 driver).

  Previously the appropriate initialization had been made in Linux, by the
 ppc440spe ADMA driver, which is wrong because modifying the MQ
 configuration registers after normal operation has begun is not supported
 and could have unpredictable results.

 AMCC just recently updated the 440SP(e) MQ initialization with this patch:

 commit 079589bcfb24ba11068460276a3cc9549ab5346f
 Author: Prodyut  Hazarika [EMAIL PROTECTED]
 Date:   Wed Aug 20 09:38:51 2008 -0700

 ppc4xx: Optimize PLB4 Arbiter and Memory Queue settings for PPC440SP/SPe,
 PPC405EX and PPC460EX/GT/SX

 - Read pipeline depth set to 4 for PPC440SP/SPE, PPC405EX, PPC460EX/GT/SX
   processors
 - Moved PLB4 Arbiter register definitions to ppc4xx.h since it is shared
   across processors (405 and 440/460)
 - Optimize Memory Queue settings for PPC440SP/SPE and PPC460EX/GT/SX
   processors
 - Add register bit definitions for Memory Queue Configuration registers

 Signed-off-by: Prodyut Hazarika [EMAIL PROTECTED]
 Signed-off-by: Stefan Roese [EMAIL PROTECTED]


 I have a bad feeling changing this optimized settings without AMCC's
 specific ACK.

 Prodyut, are you ok with Yuri's change?

 Thanks.

 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: [EMAIL PROTECTED]
 =



 Regards, Yuri

 --
 Yuri Tikhonov, Senior Software Engineer
 Emcraft Systems, www.emcraft.com

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


Re: [U-Boot] [RFC][PATCH v2] bootm: Add sub commands

2008-09-23 Thread Wolfgang Denk
Dear Kumar Gala,

In message [EMAIL PROTECTED] you wrote:
 This version:
 * cleans ups issues pointed out by Jerry
 * adds a state machine to the command processing
 * adds bd_t and cmdline process on linux for ppc

Thanks a lot.

I'm still missing the possibility to use longer sub-command names, and
code to parse these in a sane way.

 +int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 +{
 + int ret = 0;
 + int state;
 +
 + /* start */
 + if (argv[1][0] == 's') {
 + argc--;
 + argv++;
 + return bootm_start(cmdtp, flag, argc, argv);
 + }
 + /* loados */
 + else if (argv[1][0] == 'l') {
 + state = BOOTM_STATE_LOADOS;
 + }
 + /* ramdisk relocate */
 +#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
 + else if (argv[1][0] == 'r') {
 + state = BOOTM_STATE_RAMDISK;
 + }
 +#endif
 +#ifdef CONFIG_OF_LIBFDT
 + /* fdt relocate */
 + else if (argv[1][0] == 'f') {
 + state = BOOTM_STATE_FDT;
 + }
 +#endif
 + /* bd_t setup */
 + else if (argv[1][0] == 'b') {
 + state = BOOTM_STATE_OS_BD_T;
 + }
 + /* cmdline setup */
 + else if (argv[1][0] == 'c') {
 + state = BOOTM_STATE_OS_CMDLINE;
 + }
 + /* prep os */
 + else if (argv[1][0] == 'p') {
 + state = BOOTM_STATE_OS_PREP;
 + }
 + /* go */
 + else if (argv[1][0] == 'g') {
 + state = BOOTM_STATE_OS_GO;
 + }
 + /* Unrecognized command */
 + else {
 + printf (Usage:\n%s\n, cmdtp-usage);
 + return 1;
 + }

I really wonder why you didn't use a switch statement here?

Anyway, as mentioned before, I do not like to be restrricted  to  one
letter  subcommand  names - we would rather sooner than later come up
with names that nobody can remember.

Maybe we can extend find_cmd() (in  common/command.c)  to  take  an
alternative  command  table  (for  the  sub-commands)  and  reuse the
existing code?

[And then probably do this also for some other commands that take
subcommands..]

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: [EMAIL PROTECTED]
In matters of principle, stand like a rock;  in  matters  of  taste,
swim with the current.- Thomas Jefferson
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] U-Boot on ARM9

2008-09-23 Thread Roman Mashak
Hello.

Thank you for your quick response.

2008/9/22 Hebbar [EMAIL PROTECTED]:
[skip]

 Generally bootloader doesnt use IRQ for running. But if u need to use
 IRQ/FIQ u need to setup stacks for the Same.

Right, because U-Boot is basically needed to initialize hardware and
prepaare it to launch OS on it. IRQ/FIQ may be necessary to run
standalone code within bootlloader ?

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


[U-Boot] PrimeCell Peripherals

2008-09-23 Thread Roman Mashak
Hello all,

the board I'm porting U-Boot on, has several peripheral devices, which
are, according to datasheet, are based on PrimeCell PLxx blocks (for
example, vector interrupt controller is PL190 based; GPIOs are based
on PL061 block and so on). I understand that PrimeCells are IP cores,
which build up a variety of controllers for peripherals.

Therefore I wonder, how well does U-Boot support ARM's PrimeCell
peripherals? Greping sources gave only a couple of hits. I think these
basic controllers like GPIO, interrupt controller etc., which are
widely used on many ARM based platforms (i.e. (AMBA bus-compliant),
but marked in U-Boot sources with different names or so ?

Thanks in advance.

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


[U-Boot] [RFC][PATCH v3] bootm: Add sub commands

2008-09-23 Thread Kumar Gala
* Use explicit command name matches

- k

---
 common/cmd_bootm.c |  150 +-
 include/image.h|   20 -
 lib_ppc/bootm.c|  262 ++--
 3 files changed, 338 insertions(+), 94 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 19257bb..3a20ad2 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -34,6 +34,7 @@
 #include bzlib.h
 #include environment.h
 #include lmb.h
+#include linux/ctype.h
 #include asm/byteorder.h
 
 #if defined(CONFIG_CMD_USB)
@@ -273,7 +274,7 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int 
argc, char *argv[])
}
 
images.os.start = (ulong)os_hdr;
-   images.valid = 1;
+   images.state = BOOTM_STATE_START;
 
return 0;
 }
@@ -376,6 +377,121 @@ static int bootm_load_os(image_info_t os, ulong 
*load_end, int boot_progress)
return 0;
 }
 
+int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+   int ret = 0;
+   int state;
+
+   /* start */
+   if (strcmp(argv[1], start) == 0) {
+   argc--;
+   argv++;
+   return bootm_start(cmdtp, flag, argc, argv);
+   }
+   /* loados */
+   else if (strcmp(argv[1], loados) == 0) {  
+   state = BOOTM_STATE_LOADOS;
+   }
+   /* ramdisk relocate */
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   else if (strcmp(argv[1], ramdisk) == 0) { 
+   state = BOOTM_STATE_RAMDISK;
+   }
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   /* fdt relocate */
+   else if (strcmp(argv[1], fdt) == 0) { 
+   state = BOOTM_STATE_FDT;
+   }
+#endif
+   /* bd_t setup */
+   else if (strcmp(argv[1], bdt) == 0) { 
+   state = BOOTM_STATE_OS_BD_T;
+   }
+   /* cmdline setup */
+   else if (strcmp(argv[1], cmdline) == 0) { 
+   state = BOOTM_STATE_OS_CMDLINE;
+   }
+   /* prep os */
+   else if (strcmp(argv[1], prepos) == 0) {  
+   state = BOOTM_STATE_OS_PREP;
+   }
+   /* go */
+   else if (strcmp(argv[1], go) == 0) {  
+   state = BOOTM_STATE_OS_GO;
+   }
+   /* Unrecognized command */
+   else {
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   if (images.state = state) {
+   printf (Trying to execute a command out of order\n);
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   images.state |= state;
+
+   switch (state) {
+   ulong load_end;
+   case BOOTM_STATE_START:
+   /* should never occur */
+   break;
+   case BOOTM_STATE_LOADOS:
+   ret = bootm_load_os(images.os, load_end, 0);
+   if (ret)
+   return ret;
+
+   lmb_reserve(images.lmb, images.os.load,
+   (load_end - images.os.load));
+   break;
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   case BOOTM_STATE_RAMDISK:
+   {
+   ulong rd_len = images.rd_end - images.rd_start;
+   char str[17];
+
+   ret = boot_ramdisk_high(images.lmb, images.rd_start,
+   rd_len, images.initrd_start, 
images.initrd_end);
+   if (ret)
+   return ret;
+
+   sprintf(str, %lx, images.initrd_start);
+   setenv(initrd_start, str);
+   sprintf(str, %lx, images.initrd_end);
+   setenv(initrd_end, str);
+   }
+   break;
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   case BOOTM_STATE_FDT:
+   {
+   ulong bootmap_base = getenv_bootm_low();
+   ret = boot_relocate_fdt(images.lmb, bootmap_base,
+   images.ft_addr, images.ft_len);
+   break;
+   }
+#endif
+   case BOOTM_STATE_OS_CMDLINE:
+   do_bootm_linux(BOOTM_STATE_OS_CMDLINE, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_BD_T:
+   do_bootm_linux(BOOTM_STATE_OS_BD_T, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_PREP:
+   do_bootm_linux(BOOTM_STATE_OS_PREP, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_GO:
+   disable_interrupts();
+   do_bootm_linux(BOOTM_STATE_OS_GO, argc, argv, images);
+   break;
+   }
+
+   return ret;
+}
+
 

Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Olga Buchonina
Yuriy/Stefan-

This is AMCC confirmation about configuration.


Regards,

Olga Buchonina
AMCC PowerPC Applications Engineering


-Original Message-
From: Stefan Roese [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 23, 2008 4:43 AM
To: Yuri Tikhonov
Cc: u-boot@lists.denx.de; Prodyut Hazarika; Olga Buchonina
Subject: Re: [U-Boot] [PATCH] 440spe MQ initialization

On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  BTW, when I said recommended by AMCC in the patch description I 
 referred to the following information forwarded to me by Wolfgang Denk

 on Tue Mar 18 2008:

 ---
 Dear Yuri,

 here is some additional (and hopefully helpful) information from AMCC

 regarding the observed hangs on the katmai board:
  If possible, can you please check if you still see the lock up when 
  you program MQ as follows:
  set value in HB and if you are using LL also as follows:
  MQ0_CF1H  = 0x80001C80
  MQ0_CF1L  =  0x80001C80
  Additionally, make sure that your PLB settings are:
  PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write) PLB1_ACR =  
  0xDF00 ( 4 deep read and 2 deep write) Please let me know if 
  this fixes the issue.
  I also would like to know how you are programming your DMA and how 
  is the traffic is pipelined.
  Regards,
  Olga Buchonina
  AMCC PowerPC Applications Engineering

Understood. I just would like to see an ACK from AMCC on this since they
just updated this MQ init 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: [EMAIL PROTECTED]
=


CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and contains information that is 
confidential and proprietary to Applied Micro Circuits Corporation or its 
subsidiaries. It is to be used solely for the purpose of furthering the 
parties' business relationship. All unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [RFC] exposing finding a command for subcommands

2008-09-23 Thread Kumar Gala
How about something like this for exposing the command table code for
subcommands.  I'll follow this up with an example of usage based on the
bootm subcommand patch

- k

A ---
 common/command.c  |   14 ++
 include/command.h |7 +++
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/common/command.c b/common/command.c
index aca57b2..d8e1495 100644
--- a/common/command.c
+++ b/common/command.c
@@ -341,10 +341,10 @@ cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = {
 /***
  * find command table entry for a command
  */
-cmd_tbl_t *find_cmd (const char *cmd)
+cmd_tbl_t *__find_cmd (const char *cmd, cmd_tbl_t *table, int table_len)
 {
cmd_tbl_t *cmdtp;
-   cmd_tbl_t *cmdtp_temp = __u_boot_cmd_start;/*Init value */
+   cmd_tbl_t *cmdtp_temp = table;  /*Init value */
const char *p;
int len;
int n_found = 0;
@@ -355,8 +355,8 @@ cmd_tbl_t *find_cmd (const char *cmd)
 */
len = ((p = strchr(cmd, '.')) == NULL) ? strlen (cmd) : (p - cmd);

-   for (cmdtp = __u_boot_cmd_start;
-cmdtp != __u_boot_cmd_end;
+   for (cmdtp = table;
+cmdtp != table + table_len;
 cmdtp++) {
if (strncmp (cmd, cmdtp-name, len) == 0) {
if (len == strlen (cmdtp-name))
@@ -373,6 +373,12 @@ cmd_tbl_t *find_cmd (const char *cmd)
return NULL;/* not found or ambiguous command */
 }

+cmd_tbl_t *find_cmd (const char *cmd)
+{
+   int len = __u_boot_cmd_end - __u_boot_cmd_start;
+   return __find_cmd(cmd, __u_boot_cmd_start, len);
+}
+
 #ifdef CONFIG_AUTO_COMPLETE

 int var_complete(int argc, char *argv[], char last_char, int maxv, char 
*cmdv[])
diff --git a/include/command.h b/include/command.h
index f92383d..03d340c 100644
--- a/include/command.h
+++ b/include/command.h
@@ -62,6 +62,7 @@ extern cmd_tbl_t  __u_boot_cmd_end;

 /* common/command.c */
 cmd_tbl_t *find_cmd(const char *cmd);
+cmd_tbl_t *__find_cmd (const char *cmd, cmd_tbl_t *table, int table_len);

 #ifdef CONFIG_AUTO_COMPLETE
 extern void install_auto_complete(void);
@@ -102,11 +103,17 @@ extern int cmd_get_data_size(char* arg, int default_size);
 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
 cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, 
usage, help}

+#define U_BOOT_CMD_INIT(name,maxargs,rep,cmd,usage,help) \
+{#name, maxargs, rep, cmd, usage, help}
+
 #else  /* no long help info */

 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
 cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, 
usage}

+#define U_BOOT_CMD_INIT(name,maxargs,rep,cmd,usage,help) \
+{#name, maxargs, rep, cmd, usage}
+
 #endif /* CFG_LONGHELP */

 #endif /* __COMMAND_H */
-- 
1.5.5.1

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


Re: [U-Boot] [RFC] exposing finding a command for subcommands

2008-09-23 Thread Kumar Gala
Here's an example of how we sould use this.  Obviously the code after the
if (cmd) would change.

- k

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 3a20ad2..64e7571 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -377,10 +377,23 @@ static int bootm_load_os(image_info_t os, ulong 
*load_end, int boot_progress)
return 0;
 }

+cmd_tbl_t cmd_bootm_sub[] = {
+   U_BOOT_CMD_INIT(start, CFG_MAXARGS, 1, BOOTM_STATE_START, , ),
+   U_BOOT_CMD_INIT(loados, CFG_MAXARGS, 1, BOOTM_STATE_LOADOS, , ),
+   U_BOOT_CMD_INIT(ramdisk, CFG_MAXARGS, 1, BOOTM_STATE_RAMDISK, , ),
+};
+
+
 int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
int ret = 0;
int state;
+   cmd_tbl_t *cmd;
+
+   cmd = __find_cmd(argv[1], cmd_bootm_sub[0], ARRAY_SIZE(cmd_bootm_sub));
+
+   if (cmd)
+   printf(%s %d\n, cmd-name, cmd-cmd);

/* start */
if (strcmp(argv[1], start) == 0) {
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Hebbar

Hi,


how well does U-Boot support ARM's PrimeCell peripherals?
What do u mean by support. 

I use U-booot as The Primary Bootloader on arm926ej-s based Board.

By Default U-boot supports few Primecell peripherals drivers like PL0x1
UART. 

I developed few others my self, like pl18x mmc, rtc, gpio.

I recently sent a patch for RTC pl031. 

U too can contribute if u can send patch's for other peripherals.

Regards
Gururaja
-- 
View this message in context: 
http://www.nabble.com/-U-Boot--PrimeCell-Peripherals-tp19627089p19628769.html
Sent from the Uboot - Users mailing list archive at Nabble.com.

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


Re: [U-Boot] [RFC] exposing finding a command for subcommands

2008-09-23 Thread Wolfgang Denk
Dear Kumar Gala,

In message [EMAIL PROTECTED] you wrote:
 How about something like this for exposing the command table code for
 subcommands.  I'll follow this up with an example of usage based on the
 bootm subcommand patch

Looks good to me. Just a question:

 -cmd_tbl_t *find_cmd (const char *cmd)
 +cmd_tbl_t *__find_cmd (const char *cmd, cmd_tbl_t *table, int table_len)

That means we would export __find_cmd() to other functions? We
shouldn't do that - __ names are reserved.

 +#define U_BOOT_CMD_INIT(name,maxargs,rep,cmd,usage,help) \
 +{#name, maxargs, rep, cmd, usage, help}
 +

I think INIT is not a good name here. To me it sounds like a macro
to use just once. How about ENTRY or MKENT or something like this?

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: [EMAIL PROTECTED]
Open the pod bay doors, HAL.- Dave Bowman, 2001
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] mpc83xx: add h/w flash protection to board configs (was Re: erase and saveenv stop working after using fw_setenv)

2008-09-23 Thread Kim Phillips
On Tue, 16 Sep 2008 11:04:50 +0200
Wolfgang Denk [EMAIL PROTECTED] wrote:

 The problem is that  the  MPC8323ERDB  board  has  flash  chips  that
 support  hardware  flash  protection  (locking), but the board config
 file does  not  select  the  CFG_FLASH_PROTECTION  option.  Therefore
 U-Boot  will  not  make  any  attempts  to  lock  or unlock any flash
 sectors.
 
 
 I think two things should be done:
 
 a) Kim, I think it would make sense to  add  CFG_FLASH_PROTECTION  to
all  board  configurations  that use lockable flash chips. I would
even consider this a bug fix and pull it into the upcoming 2008-10
release, if you want.

ok, I'll leave non-fsl boards up to their maintainers though:

From 6074f0f040f2870135af498c16141f6432fb92f9 Mon Sep 17 00:00:00 2001
From: Kim Phillips [EMAIL PROTECTED]
Date: Tue, 23 Sep 2008 09:38:49 -0500
Subject: [PATCH] mpc83xx: add h/w flash protection to board configs

the operating system may leave flash in a h/w locked state after writing.
This allows u-boot to continue to write flash by enabling h/w unlocking
by default.

Signed-off-by: Kim Phillips [EMAIL PROTECTED]
---
 include/configs/MPC8313ERDB.h |1 +
 include/configs/MPC8315ERDB.h |1 +
 include/configs/MPC8323ERDB.h |1 +
 include/configs/MPC832XEMDS.h |1 +
 include/configs/MPC8349EMDS.h |1 +
 include/configs/MPC8349ITX.h  |1 +
 include/configs/MPC8360EMDS.h |1 +
 include/configs/MPC837XEMDS.h |1 +
 include/configs/MPC837XERDB.h |1 +
 9 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 55d7852..b361217 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -174,6 +174,7 @@
 #define CONFIG_FLASH_CFI_DRIVER/* use the CFI driver */
 #define CFG_FLASH_BASE 0xFE00  /* start of FLASH   */
 #define CFG_FLASH_SIZE 8   /* flash size in MB */
+#define CFG_FLASH_PROTECTION   1   /* Use h/w Flash protection. */
 #define CFG_FLASH_EMPTY_INFO   /* display empty sectors */
 #define CFG_FLASH_USE_BUFFER_WRITE /* buffer up multiple bytes */
 
diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h
index 5879a82..83f64c6 100644
--- a/include/configs/MPC8315ERDB.h
+++ b/include/configs/MPC8315ERDB.h
@@ -193,6 +193,7 @@
 
 #define CFG_FLASH_BASE 0xFE00 /* FLASH base address */
 #define CFG_FLASH_SIZE 8 /* FLASH size is 8M */
+#define CFG_FLASH_PROTECTION   1   /* Use h/w Flash protection. */
 
 #define CFG_LBLAWBAR0_PRELIM   CFG_FLASH_BASE /* Window base at flash base */
 #define CFG_LBLAWAR0_PRELIM0x8016 /* 8MB window size */
diff --git a/include/configs/MPC8323ERDB.h b/include/configs/MPC8323ERDB.h
index 977142b..697c5ad 100644
--- a/include/configs/MPC8323ERDB.h
+++ b/include/configs/MPC8323ERDB.h
@@ -181,6 +181,7 @@
 #define CONFIG_FLASH_CFI_DRIVER/* use the CFI driver */
 #define CFG_FLASH_BASE 0xFE00  /* FLASH base address */
 #define CFG_FLASH_SIZE 16  /* FLASH size is 16M */
+#define CFG_FLASH_PROTECTION   1   /* Use h/w Flash protection. */
 
 #define CFG_LBLAWBAR0_PRELIM   CFG_FLASH_BASE  /* Window base at flash base */
 #define CFG_LBLAWAR0_PRELIM0x8018  /* 32MB window size */
diff --git a/include/configs/MPC832XEMDS.h b/include/configs/MPC832XEMDS.h
index 01cf557..9a9b500 100644
--- a/include/configs/MPC832XEMDS.h
+++ b/include/configs/MPC832XEMDS.h
@@ -169,6 +169,7 @@
 #define CONFIG_FLASH_CFI_DRIVER/* use the CFI driver */
 #define CFG_FLASH_BASE 0xFE00  /* FLASH base address */
 #define CFG_FLASH_SIZE 16  /* FLASH size is 16M */
+#define CFG_FLASH_PROTECTION   1   /* Use h/w Flash protection. */
 
 #define CFG_LBLAWBAR0_PRELIM   CFG_FLASH_BASE  /* Window base at flash base */
 #define CFG_LBLAWAR0_PRELIM0x8018  /* 32MB window size */
diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h
index 87f1672..8135254 100644
--- a/include/configs/MPC8349EMDS.h
+++ b/include/configs/MPC8349EMDS.h
@@ -156,6 +156,7 @@
 #define CONFIG_FLASH_CFI_DRIVER/* use the CFI driver */
 #define CFG_FLASH_BASE 0xFE00  /* start of FLASH   */
 #define CFG_FLASH_SIZE 32  /* max flash size in MB */
+#define CFG_FLASH_PROTECTION   1   /* Use h/w Flash protection. */
 /* #define CFG_FLASH_USE_BUFFER_WRITE */
 
 #define CFG_BR0_PRELIM (CFG_FLASH_BASE |   /* flash Base address 
*/ \
diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h
index fa0c0a7..81ea9f8 100644
--- a/include/configs/MPC8349ITX.h
+++ b/include/configs/MPC8349ITX.h
@@ -190,6 +190,7 @@ boards, we say we have two, but don't display a message if 
we find only one. */
 #define CFG_FLASH_BANKS_LIST   {CFG_FLASH_BASE, CFG_FLASH_BASE + 

[U-Boot] [PATCH] Expose command table search for sub-commands

2008-09-23 Thread Kumar Gala
Sub-command can benefit from using the same table and search functions
that top level commands have.  Expose this functionality by refactoring
find_cmd() and introducing find_cmd_tbl() that sub-command processing
can call.

Signed-off-by: Kumar Gala [EMAIL PROTECTED]
---
 common/command.c  |   14 ++
 include/command.h |7 +++
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/common/command.c b/common/command.c
index aca57b2..fc9d79c 100644
--- a/common/command.c
+++ b/common/command.c
@@ -341,10 +341,10 @@ cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = {
 /***
  * find command table entry for a command
  */
-cmd_tbl_t *find_cmd (const char *cmd)
+cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len)
 {
cmd_tbl_t *cmdtp;
-   cmd_tbl_t *cmdtp_temp = __u_boot_cmd_start;/*Init value */
+   cmd_tbl_t *cmdtp_temp = table;  /*Init value */
const char *p;
int len;
int n_found = 0;
@@ -355,8 +355,8 @@ cmd_tbl_t *find_cmd (const char *cmd)
 */
len = ((p = strchr(cmd, '.')) == NULL) ? strlen (cmd) : (p - cmd);
 
-   for (cmdtp = __u_boot_cmd_start;
-cmdtp != __u_boot_cmd_end;
+   for (cmdtp = table;
+cmdtp != table + table_len;
 cmdtp++) {
if (strncmp (cmd, cmdtp-name, len) == 0) {
if (len == strlen (cmdtp-name))
@@ -373,6 +373,12 @@ cmd_tbl_t *find_cmd (const char *cmd)
return NULL;/* not found or ambiguous command */
 }
 
+cmd_tbl_t *find_cmd (const char *cmd)
+{
+   int len = __u_boot_cmd_end - __u_boot_cmd_start;
+   return find_cmd_tbl(cmd, __u_boot_cmd_start, len);
+}
+
 #ifdef CONFIG_AUTO_COMPLETE
 
 int var_complete(int argc, char *argv[], char last_char, int maxv, char 
*cmdv[])
diff --git a/include/command.h b/include/command.h
index f92383d..78feea5 100644
--- a/include/command.h
+++ b/include/command.h
@@ -62,6 +62,7 @@ extern cmd_tbl_t  __u_boot_cmd_end;
 
 /* common/command.c */
 cmd_tbl_t *find_cmd(const char *cmd);
+cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len);
 
 #ifdef CONFIG_AUTO_COMPLETE
 extern void install_auto_complete(void);
@@ -102,11 +103,17 @@ extern int cmd_get_data_size(char* arg, int default_size);
 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
 cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, 
usage, help}
 
+#define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \
+{#name, maxargs, rep, cmd, usage, help}
+
 #else  /* no long help info */
 
 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
 cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, 
usage}
 
+#define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \
+{#name, maxargs, rep, cmd, usage}
+
 #endif /* CFG_LONGHELP */
 
 #endif /* __COMMAND_H */
-- 
1.5.5.1

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


[U-Boot] [RFC][PATCH v4] bootm: Add sub commands

2008-09-23 Thread Kumar Gala
* Use new find_cmd_tbl() to process sub-commands

If this looks good I'll go ahead and clean it up for the other arches and OSes.

---
 common/cmd_bootm.c |  142 -
 include/image.h|   20 -
 lib_ppc/bootm.c|  262 ++--
 3 files changed, 330 insertions(+), 94 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 19257bb..e6dcb7a 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -34,6 +34,7 @@
 #include bzlib.h
 #include environment.h
 #include lmb.h
+#include linux/ctype.h
 #include asm/byteorder.h
 
 #if defined(CONFIG_CMD_USB)
@@ -273,7 +274,7 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int 
argc, char *argv[])
}
 
images.os.start = (ulong)os_hdr;
-   images.valid = 1;
+   images.state = BOOTM_STATE_START;
 
return 0;
 }
@@ -376,6 +377,113 @@ static int bootm_load_os(image_info_t os, ulong 
*load_end, int boot_progress)
return 0;
 }
 
+/* we over load the cmd field with our state machine info instead of a
+ * function pointer */
+cmd_tbl_t cmd_bootm_sub[] = {
+   U_BOOT_CMD_MKENT(start, 0, 1, (void *)BOOTM_STATE_START, , ),
+   U_BOOT_CMD_MKENT(loados, 0, 1, (void *)BOOTM_STATE_LOADOS, , ),
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   U_BOOT_CMD_MKENT(ramdisk, 0, 1, (void *)BOOTM_STATE_RAMDISK, , ),
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   U_BOOT_CMD_MKENT(fdt, 0, 1, (void *)BOOTM_STATE_FDT, , ),
+#endif
+   U_BOOT_CMD_MKENT(bdt, 0, 1, (void *)BOOTM_STATE_OS_BD_T, , ),
+   U_BOOT_CMD_MKENT(cmdline, 0, 1, (void *)BOOTM_STATE_OS_CMDLINE, , ),
+   U_BOOT_CMD_MKENT(prep, 0, 1, (void *)BOOTM_STATE_OS_PREP, , ),
+   U_BOOT_CMD_MKENT(go, 0, 1, (void *)BOOTM_STATE_OS_GO, , ),
+};
+
+int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+   int ret = 0;
+   int state;
+   cmd_tbl_t *c;
+
+   c = find_cmd_tbl(argv[1], cmd_bootm_sub[0], ARRAY_SIZE(cmd_bootm_sub));
+
+   if (c) {
+   state = (int)c-cmd;
+
+   /* treat start special since it resets the state machine */
+   if (state == BOOTM_STATE_START) {
+   argc--;
+   argv++;
+   return bootm_start(cmdtp, flag, argc, argv);
+   }
+   }
+   /* Unrecognized command */
+   else {
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   if (images.state = state) {
+   printf (Trying to execute a command out of order\n);
+   printf (Usage:\n%s\n, cmdtp-usage);
+   return 1;
+   }
+
+   images.state |= state;
+
+   switch (state) {
+   ulong load_end;
+   case BOOTM_STATE_START:
+   /* should never occur */
+   break;
+   case BOOTM_STATE_LOADOS:
+   ret = bootm_load_os(images.os, load_end, 0);
+   if (ret)
+   return ret;
+
+   lmb_reserve(images.lmb, images.os.load,
+   (load_end - images.os.load));
+   break;
+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC)
+   case BOOTM_STATE_RAMDISK:
+   {
+   ulong rd_len = images.rd_end - images.rd_start;
+   char str[17];
+
+   ret = boot_ramdisk_high(images.lmb, images.rd_start,
+   rd_len, images.initrd_start, 
images.initrd_end);
+   if (ret)
+   return ret;
+
+   sprintf(str, %lx, images.initrd_start);
+   setenv(initrd_start, str);
+   sprintf(str, %lx, images.initrd_end);
+   setenv(initrd_end, str);
+   }
+   break;
+#endif
+#ifdef CONFIG_OF_LIBFDT
+   case BOOTM_STATE_FDT:
+   {
+   ulong bootmap_base = getenv_bootm_low();
+   ret = boot_relocate_fdt(images.lmb, bootmap_base,
+   images.ft_addr, images.ft_len);
+   break;
+   }
+#endif
+   case BOOTM_STATE_OS_CMDLINE:
+   do_bootm_linux(BOOTM_STATE_OS_CMDLINE, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_BD_T:
+   do_bootm_linux(BOOTM_STATE_OS_BD_T, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_PREP:
+   do_bootm_linux(BOOTM_STATE_OS_PREP, argc, argv, 
images);
+   break;
+   case BOOTM_STATE_OS_GO:
+   disable_interrupts();
+   

Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Prodyut Hazarika
Hi Stefan/Yuri,
I looked at the changes. 
I had already submitted the changes in an earlier patch. This code to set the 
PLB4 arbiter depth was moved to cpu_init_f function in cpu/ppc4xx/cpu_init.c 
since it is common across many processor families.
 
Please don't do the same thing again in the program_memory_queue function.
 
Thanks,
Prodyut
 



From: Stefan Roese [mailto:[EMAIL PROTECTED]
Sent: Tue 9/23/2008 2:43 AM
To: Yuri Tikhonov
Cc: u-boot@lists.denx.de; Prodyut Hazarika; Olga Buchonina
Subject: Re: [U-Boot] [PATCH] 440spe MQ initialization



On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  BTW, when I said recommended by AMCC in the patch description I
 referred to the following information forwarded to me by Wolfgang
 Denk on Tue Mar 18 2008:

 ---
 Dear Yuri,

 here is some additional (and hopefully helpful) information from AMCC

 regarding the observed hangs on the katmai board:
  If possible, can you please check if you still see the lock up when
  you program MQ as follows:
  set value in HB and if you are using LL also as follows:
  MQ0_CF1H  = 0x80001C80
  MQ0_CF1L  =  0x80001C80
  Additionally, make sure that your PLB settings are:
  PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write)
  PLB1_ACR =  0xDF00 ( 4 deep read and 2 deep write)
  Please let me know if this fixes the issue.
  I also would like to know how you are programming your DMA and how
  is the traffic is pipelined.
  Regards,
  Olga Buchonina
  AMCC PowerPC Applications Engineering

Understood. I just would like to see an ACK from AMCC on this since they just
updated this MQ init 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: [EMAIL PROTECTED]
=


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


Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Yuri Tikhonov

Hello Prodyut,

On Tuesday, September 23, 2008 you wrote:

 Hi Stefan/Yuri,
 I looked at the changes. 
 I had already submitted the changes in an earlier patch. This code
 to set the PLB4 arbiter depth was moved to cpu_init_f function in
 cpu/ppc4xx/cpu_init.c since it is common across many processor families.
  
 Please don't do the same thing again in the program_memory_queue function.

 Well, actually my patch doesn't have a deal with the PLB configuring, 
but with MQ only. So, it's OK here.

 But then another question arises: in Linux, in 
ppc440spe_configure_raid_devices(), beside the other things we do the 
following:

/* Configure PLB as follows:
 * PLB: 0xDF00. This means
 * - Priority level 00 fair priority,
 * - Priority level 01 fair priority,
 * - Priority level 11 fair priority,
 * - High Bus Utilization enabled,
 * - 4 Deep read pipe,
 * - 2 Deep write pipe.
 */
mask = (1  PLB_ACR_PPM0) | (1  PLB_ACR_PPM1) | (1  PLB_ACR_PPM3) |
   (1  PLB_ACR_HBU) | ((3  PLB_ACR_RDP_MSK)  PLB_ACR_RDP) |
   (1  PLB_ACR_WRP);
mtdcr(DCRN_PLB0_ACR, mask);
mtdcr(DCRN_PLB1_ACR, mask);

 Is it OK, or should we remove these strings from the Linux driver, 
assuming U-Boot has already done this ?

 Thanks in advance,
 Yuri


 From: Stefan Roese [mailto:[EMAIL PROTECTED]
 Sent: Tue 9/23/2008 2:43 AM
 To: Yuri Tikhonov
 Cc: u-boot@lists.denx.de; Prodyut Hazarika; Olga Buchonina
 Subject: Re: [U-Boot] [PATCH] 440spe MQ initialization

 On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  BTW, when I said recommended by AMCC in the patch description I
 referred to the following information forwarded to me by Wolfgang
 Denk on Tue Mar 18 2008:

 ---
 Dear Yuri,

 here is some additional (and hopefully helpful) information from AMCC

 regarding the observed hangs on the katmai board:
  If possible, can you please check if you still see the lock up when
  you program MQ as follows:
  set value in HB and if you are using LL also as follows:
  MQ0_CF1H  = 0x80001C80
  MQ0_CF1L  =  0x80001C80
  Additionally, make sure that your PLB settings are:
  PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write)
  PLB1_ACR =  0xDF00 ( 4 deep read and 2 deep write)
  Please let me know if this fixes the issue.
  I also would like to know how you are programming your DMA and how
  is the traffic is pipelined.
  Regards,
  Olga Buchonina
  AMCC PowerPC Applications Engineering

 Understood. I just would like to see an ACK from AMCC on this since they just
 updated this MQ init 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: [EMAIL PROTECTED]
 =


 --
 Yuri Tikhonov, Senior Software Engineer
 Emcraft Systems, www.emcraft.com

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


Re: [U-Boot] [PATCH] 440spe MQ initialization

2008-09-23 Thread Yuri Tikhonov

 Hi Prodyut,

On Tuesday, September 23, 2008 you wrote:

 Hi Yuri,

 Is it OK, or should we remove these strings from the Linux driver,
 assuming U-Boot has already done this ?

 Please go ahead and remove these from the linux driver.

 Thanks for confirmation, will do.

  And I think this driver has not been submitted to the powerpc tree, since I
 still don't see it in Josh's or Linus's tree.

 Yep, for now it's present in the linux-2.6-denx tree only. We are 
about to post this to MLs along with our RAID-6 related changes soon.

 From: Stefan Roese [mailto:[EMAIL PROTECTED]
 Sent: Tue 9/23/2008 2:43 AM
 To: Yuri Tikhonov
 Cc: u-boot@lists.denx.de; Prodyut Hazarika; Olga Buchonina
 Subject: Re: [U-Boot] [PATCH] 440spe MQ initialization

 On Tuesday 23 September 2008, Yuri Tikhonov wrote:
  BTW, when I said recommended by AMCC in the patch description I
 referred to the following information forwarded to me by Wolfgang
 Denk on Tue Mar 18 2008:

 ---
 Dear Yuri,

 here is some additional (and hopefully helpful) information from AMCC

 regarding the observed hangs on the katmai board:
  If possible, can you please check if you still see the lock up when
  you program MQ as follows:
  set value in HB and if you are using LL also as follows:
  MQ0_CF1H  = 0x80001C80
  MQ0_CF1L  =  0x80001C80
  Additionally, make sure that your PLB settings are:
  PLB0_ACR  = 0xDF00 ( 4 deep read and 2 deep write)
  PLB1_ACR =  0xDF00 ( 4 deep read and 2 deep write)
  Please let me know if this fixes the issue.
  I also would like to know how you are programming your DMA and how
  is the traffic is pipelined.
  Regards,
  Olga Buchonina
  AMCC PowerPC Applications Engineering

 Understood. I just would like to see an ACK from AMCC on this since they just
 updated this MQ init 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: [EMAIL PROTECTED]
 =


  --
  Yuri Tikhonov, Senior Software Engineer
  Emcraft Systems, www.emcraft.com




 Regards, Yuri

 --
 Yuri Tikhonov, Senior Software Engineer
 Emcraft Systems, www.emcraft.com

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


Re: [U-Boot] [PATCH] 85xx: Remove setting of *cache-line-size in device trees

2008-09-23 Thread Kumar Gala

On Sep 16, 2008, at 11:36 AM, Kumar Gala wrote:

 ePAPR says if the *cache-block-size is the same as *cache-line-size
 than we don't need the *cache-line-size property.

 Signed-off-by: Kumar Gala [EMAIL PROTECTED]
 ---
 cpu/mpc85xx/fdt.c |3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

Andy, can we look at pushing this into v2008.10

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


[U-Boot] [PATCH] Remove CFG_EEPROM_PAGE* dependencies for temperature sensors

2008-09-23 Thread Peter Tyser
The checks for CFG_EEPROM_PAGE_WRITE_ENABLE and CFG_EEPROM_PAGE_WRITE_BITS
in various temperature sensor drivers are not necessary

Signed-off-by: Peter Tyser [EMAIL PROTECTED]
---
 drivers/hwmon/ds1621.c |5 -
 drivers/hwmon/lm75.c   |6 --
 drivers/hwmon/lm81.c   |6 --
 3 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/drivers/hwmon/ds1621.c b/drivers/hwmon/ds1621.c
index 749aa26..523f8be 100644
--- a/drivers/hwmon/ds1621.c
+++ b/drivers/hwmon/ds1621.c
@@ -26,11 +26,6 @@
  */
 
 #include common.h
-
-#if !defined(CFG_EEPROM_PAGE_WRITE_ENABLE) || \
-   (CFG_EEPROM_PAGE_WRITE_BITS  1)
-# error CFG_EEPROM_PAGE_WRITE_ENABLE must be defined and 
CFG_EEPROM_PAGE_WRITE_BITS must be greater than 1 to use CONFIG_DTT_DS1621
-#endif
 #include i2c.h
 #include dtt.h
 
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 67a18f6..6770cdd 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -26,12 +26,6 @@
  */
 
 #include common.h
-
-#if !defined(CFG_EEPROM_PAGE_WRITE_ENABLE) || \
-   (CFG_EEPROM_PAGE_WRITE_BITS  1)
-# error CFG_EEPROM_PAGE_WRITE_ENABLE must be defined and 
CFG_EEPROM_PAGE_WRITE_BITS must be greater than  1 to use CONFIG_DTT_LM75
-#endif
-
 #include i2c.h
 #include dtt.h
 
diff --git a/drivers/hwmon/lm81.c b/drivers/hwmon/lm81.c
index 9349eb6..668ee9f 100644
--- a/drivers/hwmon/lm81.c
+++ b/drivers/hwmon/lm81.c
@@ -31,12 +31,6 @@
  */
 
 #include common.h
-
-#if !defined(CFG_EEPROM_PAGE_WRITE_ENABLE) || \
-   (CFG_EEPROM_PAGE_WRITE_BITS  1)
-# error CFG_EEPROM_PAGE_WRITE_ENABLE must be defined and 
CFG_EEPROM_PAGE_WRITE_BITS must be greater than  1 to use CONFIG_DTT_LM81
-#endif
-
 #include i2c.h
 #include dtt.h
 
-- 
1.5.4.3

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


[U-Boot] [PATCH] Remove unused CFG_EEPROM_PAGE_WRITE_ENABLE references

2008-09-23 Thread Peter Tyser
Signed-off-by: Peter Tyser [EMAIL PROTECTED]
---
 doc/README.PIP405|8 
 include/configs/APC405.h |1 -
 include/configs/ASH405.h |1 -
 include/configs/B2.h |1 -
 include/configs/CATcenter.h  |1 -
 include/configs/CMS700.h |1 -
 include/configs/CPCI2DP.h|1 -
 include/configs/CPCI405.h|1 -
 include/configs/CPCI4052.h   |1 -
 include/configs/CPCI405AB.h  |1 -
 include/configs/CPCI405DT.h  |1 -
 include/configs/CPCIISER4.h  |1 -
 include/configs/DP405.h  |1 -
 include/configs/DU405.h  |1 -
 include/configs/DU440.h  |1 -
 include/configs/G2000.h  |1 -
 include/configs/HH405.h  |1 -
 include/configs/HUB405.h |1 -
 include/configs/MIP405.h |1 -
 include/configs/MPC8323ERDB.h|1 -
 include/configs/OCRTC.h  |1 -
 include/configs/ORSG.h   |1 -
 include/configs/PCI405.h |1 -
 include/configs/PIP405.h |1 -
 include/configs/PLU405.h |1 -
 include/configs/PMC405.h |1 -
 include/configs/PMC440.h |1 -
 include/configs/PPChameleonEVB.h |1 -
 include/configs/TASREG.h |1 -
 include/configs/TQM8272.h|1 -
 include/configs/TQM834x.h|1 -
 include/configs/TQM85xx.h|1 -
 include/configs/VOH405.h |1 -
 include/configs/VOM405.h |1 -
 include/configs/W7OLMC.h |1 -
 include/configs/W7OLMG.h |1 -
 include/configs/WUH405.h |1 -
 include/configs/XPEDITE1K.h  |1 -
 include/configs/acadia.h |1 -
 include/configs/alpr.h   |1 -
 include/configs/bamboo.h |1 -
 include/configs/canyonlands.h|1 -
 include/configs/ebony.h  |1 -
 include/configs/ep82xxm.h|1 -
 include/configs/hcu4.h   |1 -
 include/configs/hcu5.h   |1 -
 include/configs/hymod.h  |1 -
 include/configs/katmai.h |1 -
 include/configs/luan.h   |1 -
 include/configs/lwmon5.h |1 -
 include/configs/mcu25.h  |1 -
 include/configs/motionpro.h  |1 -
 include/configs/muas3001.h   |1 -
 include/configs/mucmc52.h|2 --
 include/configs/ocotea.h |1 -
 include/configs/p3p440.h |1 -
 include/configs/pcs440ep.h   |1 -
 include/configs/sequoia.h|1 -
 include/configs/socrates.h   |1 -
 include/configs/stxssa.h |1 -
 include/configs/taishan.h|1 -
 include/configs/uc101.h  |2 --
 include/configs/walnut.h |1 -
 include/configs/yosemite.h   |1 -
 include/configs/zeus.h   |1 -
 65 files changed, 0 insertions(+), 74 deletions(-)

diff --git a/doc/README.PIP405 b/doc/README.PIP405
index 610ff21..07756a5 100644
--- a/doc/README.PIP405
+++ b/doc/README.PIP405
@@ -132,14 +132,6 @@ Identify:
 -
 CONFIG_IDENT_STRINGadded to the U_BOOT_VERSION String
 
-
-I2C stuff:
---
-CFG_EEPROM_PAGE_WRITE_ENABLE   enables page write of the I2C EEPROM
-   CFG_EEPROM_PAGE_WRITE_BITS _must_ be
-   defined.
-
-
 Environment / Console:
 --
 
diff --git a/include/configs/APC405.h b/include/configs/APC405.h
index 6ee0a36..cd2b79d 100644
--- a/include/configs/APC405.h
+++ b/include/configs/APC405.h
@@ -315,7 +315,6 @@ extern int flash_banks;
/* 16 byte page write mode using*/
/* last 4 bits of the address */
 #define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
-#define CFG_EEPROM_PAGE_WRITE_ENABLE
 
 /*
  * External Bus Controller (EBC) Setup
diff --git a/include/configs/ASH405.h b/include/configs/ASH405.h
index 85c6a99..6cd0620 100644
--- a/include/configs/ASH405.h
+++ b/include/configs/ASH405.h
@@ -256,7 +256,6 @@
/* 16 byte page write mode using*/
/* last 4 bits of the address   */
 #define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10   /* and takes up to 10 msec */
-#define CFG_EEPROM_PAGE_WRITE_ENABLE
 
 /*
  * Init Memory Controller:
diff --git a/include/configs/B2.h b/include/configs/B2.h
index d6ab1ad..8afd08d 100644
--- a/include/configs/B2.h
+++ b/include/configs/B2.h
@@ -194,7 +194,6 @@
/* 16 byte page write mode using*/
/* last 4 bits of the address   */
 #define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10   /* and takes up to 10 msec */
-#define CFG_EEPROM_PAGE_WRITE_ENABLE
 
 /* Flash banks JFFS2 should use */
 /*
diff --git a/include/configs/CATcenter.h b/include/configs/CATcenter.h
index 1603c9c..b67fe06 100644
--- a/include/configs/CATcenter.h
+++ 

[U-Boot] What's needed for new cpu subdirectory?

2008-09-23 Thread Dirk Behme

For OMAP3 patch [1] I try to move common files currently in cpu/omap3 
to cpu/arm_cortexa8/omap3 as discussed earlier [2].

Moving the files is easy, but how has main Makefile to be configured?

I have

  ls -a cpu/arm_cortexa8/
.  ..  omap3

  ls -a cpu/arm_cortexa8/omap3/
.   board.c  config.mk  interrupts.c Makefile  nand.c   sys_info.c
..  clock.c  cpu.c  lowlevel_init.S  mem.c start.S  syslib.c

and in main Makefile

@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 omap3 evm omap3

This results in

make -C cpu/arm_cortexa8 start.o

which fails as start.S is in cpu/arm_cortexa8/omap3/

Any hint what is necessary to get stuff in cpu/arm_cortexa8/omap3/ 
compiled?

Thanks

Dirk

[1] http://lists.denx.de/pipermail/u-boot/2008-September/040561.html

[2] http://lists.denx.de/pipermail/u-boot/2008-September/040712.html
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] u-boot-v2 for imx27 Board

2008-09-23 Thread Lejin K Joy

Hi,

I was running U-boot-v2 on imx27ads board and it's hanging up on the
terminal after the following display. 


U-Boot 2.0.0-rc5-git (Sep 22 2008 - 23:05:39)

Board: Freescale i.MX27 ADS
-

Also I am using Intel P30 strata flash. When the MTD cfi driver is enabled
in the menuconfig U-boot gives the following message and hangs up.


U-Boot 2.0.0-rc5-git (Sep 22 2008 - 23:05:39)

Board: Freescale i.MX27 ADS
cfi_probe: cfi_flash base: 0xc000 size: 0x0200


Please provide your suggestions.


Thanks,
Lejin


-Original Message-
From: Robert Schwebel [mailto:[EMAIL PROTECTED] 
Sent: Friday, August 22, 2008 12:17 AM
To: Lejin K Joy
Cc: 'Sascha Hauer'; u-boot@lists.denx.de
Subject: Re: [U-Boot] u-boot for imx27 Board

Hi,

On Thu, Aug 21, 2008 at 09:43:53PM +0530, Lejin K Joy wrote:
 Could you kindly suggest me the arm cross compiler's link /name using
 which you have compiled the u-boot. I am using
 obsolete-gcc-3.3.2.tar.bz2 compiler. 

We usually build the MX27 stuff with a generic arm-v4 cross toolchain,
built with OSELAS.Toolchain-1.1.1. You can compile such a toolchain
yourself easily with ptxdist, look here for the details:

http://www.pengutronix.de/oselas/toolchain/index_en.html

rsc
-- 
 Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry
   Handelsregister:  Amtsgericht Hildesheim, HRA 2686
 Hannoversche Str. 2, 31134 Hildesheim, Germany
   Phone: +49-5121-206917-0 |  Fax: +49-5121-206917-9


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


[U-Boot] Uboot-1.2.0 on MPC8360EMDS board

2008-09-23 Thread mike zheng
Hello,

I am having problem when I try to bootup MPC8360EMDS with Uboot1.2.
The following are logs. The board reboot when the uboot tried to run
on the RAM. Any idea on this issue?

Thanks,

Mike


U-Boot 1.2.1 (Sep 23 2008 - 14:35:42) MPC83XX

Clock configuration:
 Coherent System Bus:  264 MHz
 Core: 528 MHz
 QE:   396 MHz
 Local Bus Controller: 264 MHz
 Local Bus: 66 MHz
 DDR:  264 MHz
 DDR Secondary:264 MHz
 SEC:   88 MHz
 I2C1: 264 MHz
 I2C2: 264 MHz
CPU: MPC8360E, Rev: 21 at 528 MHz
Board: Freescale MPC8360EMDS
I2C:   ready
DRAM:
cs0_bnds = 0x000f
cs0_config = 0x8102
DDR:bar=0x
DDR:ar=0x801b
DDR:Module maximum data rate is: 400Mhz
DDR:Effective data rate is: 266Mhz
DDR:The MSB 1 of CAS Latency is: 4
Errata DDR6 (debug_reg=0x002c)
DDR:timing_cfg_1=0x37353321
DDR:timing_cfg_2=0x0800

  DDR DIMM: data bus width is 64 bit with ECC
DDR:sdram_mode=0x0032
DDR:sdram_interval=0x045b0100
DDR:sdram_clk_cntl=0x
  DDRC ECC mode: OFF
DDR:sdram_cfg=0xc200

  SDRAM on Local Bus: 64 MB
  DDR RAM: 256 MB
Top of RAM usable for U-Boot at: 1000
Reserving 205k for U-Boot at: 0ffcc000
Reserving 136k for malloc() at: 0ffaa000
Reserving 76 Bytes for Board Info at: 0ffa9fb4
Reserving 104 Bytes for Global Data at: 0ffa9f4c
Stack Pointer at: 0ffa9f28
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Uboot-1.2.0 on MPC8360EMDS board

2008-09-23 Thread Remi Lefevre
Hi Mike,

I'm very new to Powerpc so take my words with a lot of precautions.

I see two possibilities with your problem:

1. As U-Boot seems to reset after Stack Pointer at: 0ffa9f28, you are
likely to encounter a relocation issue. As I have learnt it the hard
way (I cannot count the number of times my U-Boot hanged there), you may have
misconfigured the SDRAM module. Check other code using the same chips, memory
refresh timers and memory controller registers (SDRAM init sequence is
configured in the initdram() function of your board specific .c file).

http://www.denx.de/wiki/view/DULG/UBootCrashAfterRelocation
http://www.denx.de/wiki/view/DULG/SDRAM

2. If your board always reboots at the same moment, whatever the U-Boot
configuration is, you may have forgot to handle or deactivate your cpu
watchdog. On my mpc8270 board, I can disable them with the CFG_SYPCR
register; on yours, it seems to be with BCSR5[SWEN], but I'm really not
sure (and it seems to be off by default). Also check the CONFIG_WATCHDOG
option in U-Boot. Note that if you have slave cores on your board, you may
also need to handle them.

At last, perhaps try with a current version of U-Boot, you may get more help
with it.

I hope that this could help you. If not, just ignore, I just try to
give back the help I got there.

Good luck,
Rémi

On Tue, Sep 23, 2008 at 10:16 PM, Remi Lefevre [EMAIL PROTECTED] wrote:
 Hi Mike,

 I'm very new to Powerpc so take my words with a lot of precautions.

 I see two possibilities with your problem:

 1. As U-Boot seems to reset after Stack Pointer at: 0ffa9f28, you are
 likely to encounter a relocation issue. As I have learnt it the hard
 way (I cannot count the number of times my U-Boot hanged there), you may have
 misconfigured the SDRAM module. Check other code using the same chips, memory
 refresh timers and memory controller registers (SDRAM init sequence is
 configured in the initdram() function of your board specific .c file).

 http://www.denx.de/wiki/view/DULG/UBootCrashAfterRelocation
 http://www.denx.de/wiki/view/DULG/SDRAM

 2. If your board always reboots at the same moment, whatever the U-Boot
 configuration is, you may have forgot to handle or deactivate your cpu
 watchdog. On my mpc8270 board, I can disable them with the CFG_SYPCR
 register; on yours, it seems to be with BCSR5[SWEN], but I'm really not
 sure (and it seems to be off by default). Also check the CONFIG_WATCHDOG
 option in U-Boot. Note that if you have slave cores on your board, you may
 also need to handle them.

 At last, perhaps try with a current version of U-Boot, you may get more help
 with it.

 I hope that this could help you. If not, just ignore, I just try to
 give back the help I got there.

 Good luck,
 Rémi


 On Tue, Sep 23, 2008 at 8:57 PM, mike zheng [EMAIL PROTECTED] wrote:
 Hello,

 I am having problem when I try to bootup MPC8360EMDS with Uboot1.2.
 The following are logs. The board reboot when the uboot tried to run
 on the RAM. Any idea on this issue?

 Thanks,

 Mike


 U-Boot 1.2.1 (Sep 23 2008 - 14:35:42) MPC83XX

 Clock configuration:
  Coherent System Bus:  264 MHz
  Core: 528 MHz
  QE:   396 MHz
  Local Bus Controller: 264 MHz
  Local Bus: 66 MHz
  DDR:  264 MHz
  DDR Secondary:264 MHz
  SEC:   88 MHz
  I2C1: 264 MHz
  I2C2: 264 MHz
 CPU: MPC8360E, Rev: 21 at 528 MHz
 Board: Freescale MPC8360EMDS
 I2C:   ready
 DRAM:
 cs0_bnds = 0x000f
 cs0_config = 0x8102
 DDR:bar=0x
 DDR:ar=0x801b
 DDR:Module maximum data rate is: 400Mhz
 DDR:Effective data rate is: 266Mhz
 DDR:The MSB 1 of CAS Latency is: 4
 Errata DDR6 (debug_reg=0x002c)
 DDR:timing_cfg_1=0x37353321
 DDR:timing_cfg_2=0x0800

  DDR DIMM: data bus width is 64 bit with ECC
 DDR:sdram_mode=0x0032
 DDR:sdram_interval=0x045b0100
 DDR:sdram_clk_cntl=0x
  DDRC ECC mode: OFF
 DDR:sdram_cfg=0xc200

  SDRAM on Local Bus: 64 MB
  DDR RAM: 256 MB
 Top of RAM usable for U-Boot at: 1000
 Reserving 205k for U-Boot at: 0ffcc000
 Reserving 136k for malloc() at: 0ffaa000
 Reserving 76 Bytes for Board Info at: 0ffa9fb4
 Reserving 104 Bytes for Global Data at: 0ffa9f4c
 Stack Pointer at: 0ffa9f28
 ___
 U-Boot mailing list
 U-Boot@lists.denx.de
 http://lists.denx.de/mailman/listinfo/u-boot


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


Re: [U-Boot] What's needed for new cpu subdirectory?

2008-09-23 Thread Wolfgang Denk
Dear Dirk,

In message [EMAIL PROTECTED] you wrote:
 
 For OMAP3 patch [1] I try to move common files currently in cpu/omap3 
 to cpu/arm_cortexa8/omap3 as discussed earlier [2].

Ummm... if it's common files - shouldn't these go to cpu/arm_cortexa8/
then, and cpu/arm_cortexa8/omap3/ would have only OMAP3 specific
files?

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: [EMAIL PROTECTED]
Randal said it would be tough to do in sed. He didn't say  he  didn't
understand  sed.  Randal  understands sed quite well. Which is why he
uses Perl. :-) - Larry Wall in [EMAIL PROTECTED]
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] Uboot-1.2.0 on MPC8360EMDS board

2008-09-23 Thread Wolfgang Denk
Dear Mike,

In message [EMAIL PROTECTED] you wrote:
 
 I am having problem when I try to bootup MPC8360EMDS with Uboot1.2.
 The following are logs. The board reboot when the uboot tried to run
 on the RAM. Any idea on this issue?
...
 U-Boot 1.2.1 (Sep 23 2008 - 14:35:42) MPC83XX

It's difficult to say anything when ewven the minimal information you
provide is unreliable - the subject says Uboot-1.2.0, later you
write Uboot1.2, and now we see U-Boot 1.2.1. I think you should
know exactly which version you ar running.

In any case: all of these versions are extremely old. Please use
current code instead.

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: [EMAIL PROTECTED]
The X11 source code style is ATROCIOUS and should not be used  as  a
model.   - Doug Gwyn
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Roman Mashak
Hello,

2008/9/23 Hebbar [EMAIL PROTECTED]:
 I use U-booot as The Primary Bootloader on arm926ej-s based Board.

 By Default U-boot supports few Primecell peripherals drivers like PL0x1
 UART.

Right, that's what I've found in the U-Boot sources. How come that
widely used interrupt controllers like PL19x are not supported by
default?

 I developed few others my self, like pl18x mmc, rtc, gpio.

 I recently sent a patch for RTC pl031.
Yes, I saw that patch. Are you planning to send patch for GPIO as well?

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


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Gururaja Hebbar K R
Hi, 

 From: Roman Mashak [mailto:[EMAIL PROTECTED] 
 Subject: Re: [U-Boot] PrimeCell Peripherals

 Right, that's what I've found in the U-Boot sources. How come 
 that widely used interrupt controllers like PL19x are not 
 supported by default?

Thats because Most of the ARM based boards doesnt use Interrupts. Atleast as 
far as i have seen.
IIRC U-boot is a single process bootloader  hence Interrupts are not so much 
supported.
Is there any interrupt related drivers in U-boot for other platforms?

  I recently sent a patch for RTC pl031.
 Yes, I saw that patch. Are you planning to send patch for 
 GPIO as well?

I havent done any Framework kind of a driver for GPIO. For me, it just works 
like a standalone  hence i cannot submit the same.
Later when i get time. I will prepare a GPIO Framework and submit for RFC in ML


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


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Roman Mashak
Hello,

2008/9/23 Gururaja Hebbar K R [EMAIL PROTECTED]:
 Thats because Most of the ARM based boards doesnt use Interrupts. Atleast as 
 far as i have seen.
 IIRC U-boot is a single process bootloader  hence Interrupts are not so much 
 supported.
 Is there any interrupt related drivers in U-boot for other platforms?

In U-Boot source tree there are number of drivers with interrupt
service routines running (for example,
$(U_BOOT)/drivers/net/bcm570x.c) as well as various interrupts related
macros (some of them not used thought), if this is what you mean.
Perhaps these definitions are for future ?

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


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Roman Mashak
To add a bit to my previous message.

2008/9/23 Gururaja Hebbar K R [EMAIL PROTECTED]:
 Thats because Most of the ARM based boards doesnt use Interrupts. Atleast as 
 far as i have seen.

As far as I understood from U-Boot's README, a standalone mode can and
may want to use interrupts -- so it'd reasonable to have interrupts
controllers support, isn't it? Correct me if I'm wrong, just trying to
understand the architecture of U-Boot more deeply.

 IIRC U-boot is a single process bootloader  hence Interrupts are not so much 
 supported.
 Is there any interrupt related drivers in U-boot for other platforms?

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


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Gururaja Hebbar K R
Hi, 

 In U-Boot source tree there are number of drivers with 
 interrupt service routines running (for example,
 $(U_BOOT)/drivers/net/bcm570x.c) as well as various 
 interrupts related macros (some of them not used thought), if 
 this is what you mean.
 Perhaps these definitions are for future ?

At $(U_BOOT)/drivers/net/bcm570x.c files header, it says 

 * Broadcom BCM570x Ethernet Driver for U-Boot.
 * Support 5701, 5702, 5703, and 5704. Single instance driver. 

-- Single Instance Driver. Does this mean it doesn't handle Interrupt. 
Sorry I cannot say more as I don't have any knowledge abt this

Also,

CONFIG_BCM570x is used in $(U_BOOT)/include/configs/BMW.h which is a MPC based 
Board. 

May be MPC uses interrupts for its operation inside U-Boot. 

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


[U-Boot] [PATCH] ppc: Fix typo in include/mpc83xx.h

2008-09-23 Thread Nobuhiro Iwamatsu
Fixed typo from CONIFG_MPC837X to CONFIG_MPC837X

Signed-off-by: Nobuhiro Iwamatsu [EMAIL PROTECTED]
---
 include/mpc83xx.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/mpc83xx.h b/include/mpc83xx.h
index 5d82bb4..7f30d68 100644
--- a/include/mpc83xx.h
+++ b/include/mpc83xx.h
@@ -528,7 +528,7 @@
 #if defined(CONFIG_MPC834X)
 #define HRCWH_ROM_LOC_PCI2 0x0020
 #endif
-#if defined(CONIFG_MPC837X)
+#if defined(CONFIG_MPC837X)
 #define HRCWH_ROM_LOC_ON_CHIP_ROM  0x0030
 #endif
 #define HRCWH_ROM_LOC_LOCAL_8BIT   0x0050
-- 1.5.6.3
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Roman Mashak
Hi,

2008/9/23 Gururaja Hebbar K R [EMAIL PROTECTED]:

 At $(U_BOOT)/drivers/net/bcm570x.c files header, it says

  * Broadcom BCM570x Ethernet Driver for U-Boot.
  * Support 5701, 5702, 5703, and 5704. Single instance driver.

 -- Single Instance Driver. Does this mean it doesn't handle Interrupt.
 Sorry I cannot say more as I don't have any knowledge abt this

 Also,

 CONFIG_BCM570x is used in $(U_BOOT)/include/configs/BMW.h which is a MPC 
 based Board.

 May be MPC uses interrupts for its operation inside U-Boot.

Probably you're right and interrupts related stuff is meanugful on PPC
platform; moreover README says about interrupts mainly in PPC or
PowerPC marked sections.

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


Re: [U-Boot] PrimeCell Peripherals

2008-09-23 Thread Gururaja Hebbar K R
HI, 

 From: Roman Mashak [mailto:[EMAIL PROTECTED] 
 Subject: Re: [U-Boot] PrimeCell Peripherals

 To add a bit to my previous message.
 
 As far as I understood from U-Boot's README, a standalone 
 mode can and may want to use interrupts -- so it'd reasonable 
 to have interrupts controllers support, isn't it? Correct me 
 if I'm wrong, just trying to understand the architecture of 
 U-Boot more deeply.

U-boots readme is general  for all platforms.

Yes, U-boot ARM supports interrupt mode, but generally not used.
Also standalone can use interrupt mode if the u-boot it is running on is 
configured to support irq
i.e., CONFIG_USE_IRQ is defined.

Then the user has to also define a do_irq command to support the same

Kindly look at below file for do_irq function definitions  its usage.

uboot\cpu\arm720t\interrupts.c
uboot\cpu\arm920t\interrupts.c

i havent seen this function definitions for arm926ej-s except 

#ifndef CONFIG_USE_IRQ
void do_irq (struct pt_regs *pt_regs)
{
... 


Regards
Gururaja


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


[U-Boot] {Spam?} We have data for many medical specialties

2008-09-23 Thread Tuttle



Practicing MDs in the United States 

Most medical specialties covered

you can sort by many different fields 

Price for new customers -  $392


!!! If you order by the end of the week you can take all the items below 
for fr ee !!!

++ Dentists

++ Veterinarians

++ Physical Therapists

++ Visiting Nurses  RN's

email to:: [EMAIL PROTECTED]
  
for only this week    Forward email to [EMAIL PROTECTED] to purge you 
from our records

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

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