<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1226" name=GENERATOR></HEAD>
<BODY>
<DIV>hi,</DIV>
<DIV> This is out of reach of our support , and we have to turn to
our R&D for help.</DIV>
<DIV>and thus, you may post this to our BBS: bbs.hhcn.com</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>BR</DIV>
<DIV>HHPPC support</DIV>
<DIV><FONT face=宋体 size=2>======== 2005-06-17 16:07:00 您在来信中写道:
========</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2>
<TABLE width="100%">
<TBODY>
<TR>
<TD width="100%">
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT size=2>Hi All:</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> I used
</FONT><FONT size=3>HY57641620 * 2 total all 16M SDRAM at my MPC852T
board, now i want to </FONT></DIV>
<DIV>used HY57V281620ET-H * 2 or AMIC A43L3616-6 * 2 total
all 32M SDRAM, but i don't know</DIV>
<DIV>how to setting UPM to control it, i need help.If you used
another 32M SDRAM solution,</DIV>
<DIV>please tell me, thanks.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>#define _NOT_USED_
0xFFFFFFFF<BR><BR>const uint sdram_table[] = /* for
HY57641620 * 2 16M SDRAM
*/<BR>{<BR> /* Single Read.
(offset 0x0-0x4 in UPM RAM)
*/<BR> /* Precharge and
MRS(offset 0x5-0x7 in UPM RAM)
*/<BR> 0x1F07FC04, 0xEEAEFC04,
0x11ADFC04, 0xEFBBBC00,<BR>
0x1FF77C47, 0x1FF77C35, 0xEFEABC34,
0x1FB57C35,<BR><BR> /* Burst
Read. (offset 0x8-0xf in UPM RAM)
*/<BR> 0x1F07FC04, 0xEEAEFC04,
0x10ADFC04, 0xF0AFFC00,<BR>
0xF0AFFC00, 0xF1AFFC00, 0xEFBBBC00,
0x1FF77C47,<BR> _NOT_USED_,
_NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR> _NOT_USED_,
_NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR><BR> /* Single
Write. (offset 0x18-0x1F in UPM RAM)
*/<BR> 0x1F27FC04, 0xEEAEBC00,
0x01B93C04, 0x1FF77C47,<BR>
_NOT_USED_, _NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR><BR> /* Burst
Write. (offset 20-2F in UPM RAM)
*/<BR> 0x1F07FC04, 0xEEAEBC00,
0x10AD7C00, 0xF0AFFC00,<BR>
0xF0AFFC00, 0xE1BBBC04, 0x1FF77C47,
_NOT_USED_,<BR> _NOT_USED_,
_NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR> _NOT_USED_,
_NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR><BR> /* Refresh
timer expired (offset 30-3B in UPM RAM)
*/<BR> 0x1FF5FC84, 0xFFFFFC04,
0xFFFFFC04, 0xFFFFFC04,<BR>
0xFFFFFC84, 0xFFFFFC07, 0xffffffff,
_NOT_USED_,<BR> _NOT_USED_,
_NOT_USED_, _NOT_USED_,
_NOT_USED_,<BR><BR> /*
Exception. (offset 3c-3f in UPM RAM)
*/<BR> 0x7FFFFC07, _NOT_USED_,
_NOT_USED_, _NOT_USED_<BR>};</DIV>
<DIV> </DIV>
<DIV><FONT size=2>long int initdram(int
board_type)<BR>{<BR> volatile immap_t
*immap = (immap_t *)CFG_IMMR;<BR> volatile memctl8xx_t *memctl =
&immap->im_memctl;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> upmconfig(UPMA, (uint *)sdram_table,
sizeof(sdram_table)/sizeof(uint));<BR>
<BR> memctl->memc_mptpr = 0x0400;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> /*<BR> * Configure the refresh
(mostly). This needs to be<BR> * based upon processor clock
speed and optimized to provide<BR> * the highest level of
performance. For multiple banks,<BR> * this time has to be
divided by the number of banks.<BR> * Although it is not clear
anywhere, it appears the<BR> * refresh steps through the chip
selects for this UPM<BR> * on each refresh cycle.<BR> * We
have to be careful changing<BR> * UPM registers after we ask it to
run these commands.<BR> */</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> memctl->memc_mamr =
0xD0904114;<BR> memctl->memc_mar =
0x00000088;<BR> udelay(200);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> memctl->memc_mcr =
0x80004105; /* precharge
*/<BR> udelay(200);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> memctl->memc_mamr =
0xD0904114;<BR> memctl->memc_mcr =
0x80004830; /* refresh
*/<BR> udelay(200);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> memctl->memc_mamr =
0xD0904114;<BR> memctl->memc_mcr = 0x80004106;
<BR> udelay(200);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> memctl->memc_or2 =
0xFE000A00;<BR> memctl->memc_br2 = 0x00000081;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2> return (32 * 1024 *1024);<BR>} /* end of
initdram */<BR></FONT><BR> </DIV>
<DIV> </DIV></BLOCKQUOTE></TD></TR></TBODY></TABLE></FONT></DIV>
<DIV>
<P><FONT face=宋体 size=2>= = = = = = = = = = = = = = = = = = = = = = </FONT></P>
<DIV> </DIV>
<DIV><FONT face=宋体 size=2> HHPPC Support</FONT></DIV>
<DIV><FONT face=宋体 size=2><FONT face=宋体 size=2> </FONT><A
href="mailto:hhppc-support@hhcn.com">hhppc-support@hhcn.com</A></FONT></DIV>
<DIV><FONT face=宋体 size=2> </FONT></DIV>
<DIV> </DIV></DIV></BODY></HTML>