<!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.2900.3268" name=GENERATOR></HEAD>
<BODY>
<DIV>
<DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008>Hi 
,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=261510015-12032008></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>We are using U-Boot-1.1.3 on a custom 
MPC8349ADS&nbsp;board with 2 PCI buses configured in Host mode.We have 256 MB 
DDR2 in our board.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>We have connected 8 DSPs on PCI bus 
1.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>U-Boot is assigning base address for DSPs from 
0x80000000 to 0x93800000.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>We are able to access any location from 0x80000000 to 
0x0x8FFFFFFF i.e first 256 MB using md command in 
U-BOOT.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>But when i try to access any location starting from 
0x90000000 to 0x93800000(next 256 MB)</SPAN></SPAN></FONT><FONT face=Arial 
size=2><SPAN class=261510015-12032008><SPAN class=435590206-13032008>, 
<STRONG>U-Boot hangs :</STRONG></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG>=&gt;md 0x90000000 
</STRONG></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG>90000000: </STRONG></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>Even though PCI LAWBARs and Outbound window is 
configured for 512 MB starting from 0x80000000.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>I am not able to understand why i am not able to access 
any location starting from 0x90000000.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>Please help me in as i have already wasted too much 
time in debugging this issue.</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>I am also attaching&nbsp;the U-Boot PCI 
settings:</SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG>We are Configuring PCI bus in&nbsp;Host mode 
with following settings:</STRONG></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>/*&nbsp;PCI window setting in 
include/configs/MPC8349ADS.h&nbsp; start&nbsp;*/<BR>#define 
CFG_PCI1_MEM_BASE&nbsp;0x80000000<BR>#define 
CFG_PCI1_MEM_PHYS&nbsp;CFG_PCI1_MEM_BASE<BR>#define 
CFG_PCI1_MEM_SIZE&nbsp;0x20000000&nbsp;/* 512M 
*/</SPAN></SPAN></FONT></DIV><FONT><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT 
face=Arial size=2></FONT><FONT face=Arial size=2></FONT><BR><FONT face=Arial 
size=2>#define CFG_PCI1_IO_BASE&nbsp;0x00000000<BR>#define 
CFG_PCI1_IO_PHYS&nbsp;0xe2000000<BR>#define CFG_PCI1_IO_SIZE&nbsp;0x<SPAN 
class=435590206-13032008>0</SPAN>1000000&nbsp;/* 16M */</FONT></DIV>
<DIV><SPAN class=261510015-12032008><SPAN class=435590206-13032008><FONT 
face=Arial size=2>/*&nbsp;PCI window setting in MPC8349ADS.h&nbsp; 
start&nbsp;*/</FONT></SPAN></SPAN></DIV><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></SPAN></SPAN></FONT></DIV><FONT 
face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG><U>PCI LAWBARas 
setting:</U></STRONG></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG><U></U></STRONG></SPAN></SPAN></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>/* PCI LAWBARs setting in cpu/83xx/pci.c : 
start*/</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;pci_law[0].bar = CFG_PCI1_MEM_PHYS &amp; 
LAWBAR_BAR;&nbsp; /* base: 0x80000000 */<BR>&nbsp;pci_law[0].ar = LAWAR_EN | 
LAWAR_SIZE_1G;</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;pci_law[1].bar = CFG_PCI1_IO_PHYS &amp; 
LAWBAR_BAR;&nbsp; /* base: 0xe2000000 */<BR>&nbsp;pci_law[1].ar = LAWAR_EN | 
LAWAR_SIZE_16M;</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>/* PCI LAWBARs setting in cpu/83xx/pci.c&nbsp; 
:end*/</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG><U>PCI Outbound translation register 
setting:</U></STRONG></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/* PCI1 mem space&nbsp; 
*/<BR>&nbsp;pci_pot[0].potar = (CFG_PCI1_MEM_BASE &gt;&gt; 12) &amp; 
POTAR_TA_MASK;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; /* base: 0x80000000 */<BR>&nbsp;pci_pot[0].pobar = 
(CFG_PCI1_MEM_PHYS &gt;&gt; 12) &amp; 
POBAR_BA_MASK;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp; /* base: 0x80000000 */<BR>&nbsp;pci_pot[0].pocmr = POCMR_EN | 
(<STRONG>POCMR_CM_512M</STRONG> &amp; POCMR_CM_MASK); 
</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/* PCI1 IO space */<BR>&nbsp;pci_pot[1].potar = 
(CFG_PCI1_IO_BASE &gt;&gt; 12) &amp; POTAR_TA_MASK;<BR>&nbsp;pci_pot[1].pobar = 
(CFG_PCI1_IO_PHYS &gt;&gt; 12) &amp; POBAR_BA_MASK;<BR>&nbsp;pci_pot[1].pocmr = 
POCMR_EN | POCMR_IO | (POCMR_CM_16M &amp; 
POCMR_CM_MASK);<BR></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>/*<BR>&nbsp; * Configure PCI Inbound Translation 
Windows<BR>&nbsp; */</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/* we need RAM mapped to PCI space for the 
devices to<BR>&nbsp; * access main memory */<BR>&nbsp;pci_ctrl[0].pitar1 = 
0x0;<BR>&nbsp;pci_ctrl[0].pibar1 = 0x0;<BR>&nbsp;pci_ctrl[0].piebar1 = 
0x0;<BR>&nbsp;pci_ctrl[0].piwar1 = PIWAR_EN | PIWAR_PF | PIWAR_RTT_SNOOP | 
PIWAR_WTT_SNOOP | (__ilog2(gd-&gt;ram_size) - 
1);<BR></SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;hose-&gt;first_busno = 
0;<BR>&nbsp;hose-&gt;last_busno = 0xff;</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><STRONG>&nbsp;/* PCI memory space 
*/<BR>&nbsp;pci_set_region(hose-&gt;regions + 
0,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_MEM_BASE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</STRONG> /* base: 
0x80000000 */<BR><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_MEM_PHYS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_MEM_SIZE,</STRONG>&nbsp;<STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</STRONG>&nbsp; /* Size is 512 MB 
*/<BR><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
PCI_REGION_MEM);</STRONG> </SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/* PCI IO space 
*/<BR>&nbsp;pci_set_region(hose-&gt;regions + 
1,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_IO_BASE,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_IO_PHYS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CFG_PCI1_IO_SIZE,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
PCI_REGION_IO);</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/* System memory space 
*/<BR>&nbsp;pci_set_region(hose-&gt;regions + 
2,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CONFIG_PCI_SYS_MEM_BUS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CONFIG_PCI_SYS_MEM_PHYS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
gd-&gt;ram_size, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
PCI_REGION_MEM | PCI_REGION_MEMORY);</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;hose-&gt;region_count = 
3;</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><BR>&nbsp;pci_setup_indirect(hose,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
(CFG_IMMRBAR+0x8300),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
(CFG_IMMRBAR+0x8304));</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;pci_register_hose(hose);</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>&nbsp;/*<BR>&nbsp; * Write to Command 
register<BR>&nbsp; */<BR>&nbsp;reg16 = 0xff;<BR>&nbsp;dev = 
PCI_BDF(hose-&gt;first_busno, 0, 0);<BR>&nbsp;pci_hose_read_config_word (hose, 
dev, PCI_COMMAND, &amp;reg16);<BR>&nbsp;reg16 |= PCI_COMMAND_SERR | 
PCI_COMMAND_MASTER | 
PCI_COMMAND_MEMORY;<BR>&nbsp;pci_hose_write_config_word(hose, dev, PCI_COMMAND, 
reg16);</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><BR>&nbsp;/*<BR>&nbsp; * Clear non-reserved bits in 
status register.<BR>&nbsp; */<BR>&nbsp;pci_hose_write_config_word(hose, dev, 
PCI_STATUS, 0xffff);<BR>&nbsp;pci_hose_write_config_byte(hose, dev, 
PCI_LATENCY_TIMER, 0x80);<BR>&nbsp;pci_hose_write_config_byte(hose, dev, 
PCI_CACHE_LINE_SIZE, 0x08);</SPAN></SPAN></SPAN></SPAN></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008>#ifdef 
CONFIG_PCI_SCAN_SHOW<BR>&nbsp;printf("PCI:&nbsp;&nbsp; Bus Dev VenId DevId Class 
Int\n");<BR>#endif<BR>&nbsp;/*<BR>&nbsp; * Hose scan.<BR>&nbsp; 
*/<BR>&nbsp;hose-&gt;last_busno = pci_hose_scan(hose);</DIV>
<DIV><BR></DIV></SPAN></SPAN>
<DIV></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008><SPAN 
class=435590206-13032008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008>Thanks &amp; 
Regards,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=261510015-12032008>Vivek 
Trivedi</SPAN></FONT></DIV></BODY></HTML>