<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>Hello 
all.</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>I am currently 
trying to use u-boot to boot from NAND flash as opposed to NOR flash. 
</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>We have both on our 
board, but would rather just use NAND and depopulate the 
NOR.</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2>Questions:</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>There seems to be 
only one complete setup that includes a bootloader and full support for NAND 
booting, which is the AMCC/Sequoia board.&nbsp; Though my board is very similar, 
we are using the PPC440EP and not the PPC440EPX, with the latter having internal 
RAM. </FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>Has anyone booted 
u-boot from NAND by using the external RAM?</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>Excerpt from 
u-boot/cpu/ppc4xx/start.S starting at line 389:</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007></SPAN><SPAN class=309303619-28112007><FONT 
face=Arial size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>#if 
defined(CONFIG_NAND_SPL)</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>&nbsp;/*<BR>&nbsp; * 
Enable internal SRAM<BR>&nbsp; */</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2>&nbsp;lis&nbsp;r2,0x7fff<BR>&nbsp;ori&nbsp;r2,r2,0xffff<BR>&nbsp;mfdcr&nbsp;r1,isram0_dpc<BR>&nbsp;and&nbsp;r1,r1,r2&nbsp;&nbsp;/* 
Disable parity check 
*/<BR>&nbsp;mtdcr&nbsp;isram0_dpc,r1<BR>&nbsp;mfdcr&nbsp;r1,isram0_pmeg<BR>&nbsp;and&nbsp;r1,r1,r2&nbsp;&nbsp;/* 
Disable pwr mgmt */<BR>&nbsp;mtdcr&nbsp;isram0_pmeg,r1</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>&nbsp;/*<BR>&nbsp; * 
Copy SPL from cache into internal SRAM<BR>&nbsp; 
*/<BR>&nbsp;li&nbsp;r4,(CFG_NAND_BOOT_SPL_SIZE &gt;&gt; 2) - 
1<BR>&nbsp;mtctr&nbsp;r4<BR>&nbsp;lis&nbsp;r2,CFG_NAND_BOOT_SPL_SRC@h<BR>&nbsp;ori&nbsp;r2,r2,CFG_NAND_BOOT_SPL_SRC@l<BR>&nbsp;lis&nbsp;r3,CFG_NAND_BOOT_SPL_DST@h<BR>&nbsp;ori&nbsp;r3,r3,CFG_NAND_BOOT_SPL_DST@l</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2>spl_loop:&nbsp;<BR>&nbsp;lwzu&nbsp;r4,4(r2)<BR>&nbsp;stwu&nbsp;r4,4(r3)<BR>&nbsp;bdnz&nbsp;spl_loop</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>&nbsp;/*<BR>&nbsp; * 
Jump to code in RAM<BR>&nbsp; */</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007></SPAN><SPAN class=309303619-28112007><FONT 
face=Arial size=2>.... etc</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>Based on this 
snippet of code, it seems to imply that the secondary program loader (NAND_SPL) 
can only be used if you have internal memory. If&nbsp;this is the case, I don't 
understand why there isn't an additional clause something 
like:</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>#if 
defined(CONFIG_NAND_SPL &amp;&amp; (CONFIG_440EPX) || 
defined(CONFIG_440GRX)))</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial size=2>Any information on 
booting from NAND is greatly appreciated.</FONT></SPAN></DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=309303619-28112007><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV></BODY></HTML>