解决一个2410的u-boot的频率不能改写问题

[复制链接]
 楼主| masashinakayama 发表于 2008-11-4 23:19 | 显示全部楼层 |阅读模式
board/st2410/st2410.c&nbsp;(cp&nbsp;from&nbsp;smdk2410)<br />自作聪明写下<br />#define&nbsp;FCLK_SPEED&nbsp;2<br />#define&nbsp;USB_CLOCK&nbsp;2<br />然在原本的<br />#if&nbsp;FCLK_SPEED==0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Fout&nbsp;=&nbsp;203MHz,&nbsp;Fin&nbsp;=&nbsp;12MHz&nbsp;for&nbsp;Audio&nbsp;*/<br />#define&nbsp;M_MDIV&nbsp;&nbsp;0xC3<br />#define&nbsp;M_PDIV&nbsp;&nbsp;0x4<br />#define&nbsp;M_SDIV&nbsp;&nbsp;0x1<br />#elif&nbsp;FCLK_SPEED==1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Fout&nbsp;=&nbsp;202.8MHz&nbsp;*/<br />#define&nbsp;M_MDIV&nbsp;&nbsp;0xA1<br />#define&nbsp;M_PDIV&nbsp;&nbsp;0x3<br />#define&nbsp;M_SDIV&nbsp;&nbsp;0x1<br />后面添加<br />#elif&nbsp;FCLK_SPEED==2<br />...(设置200M/100M/50M)<br />#endif<br />几句话,试图重新修改MPLL和UPLL频率<br />然后烧录后发现不行,压根没动,示波器测量还是202.8M<br />嘿嘿嘿,<br />哪位高人谁能一眼看出来问题啊?小弟来拜一拜
 楼主| masashinakayama 发表于 2008-11-4 23:24 | 显示全部楼层

顺便帖个计算PLL的程序,满足spec限制的

#include&nbsp;&ltmath.h&gt<br />#define&nbsp;FOUT&nbsp;(200.0)<br /><br />算下来,某些人的参数设置有点小问题<br />main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;float&nbsp;fin=12.0;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;t,i;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;m,p,s;<br />&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;fout,fvco;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(s=0;s&lt4;s++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(p=2;p&lt(64+2);p++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(m=8;m&lt(256+8);m++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;i&lts;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t*=2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;=&nbsp;fin*m/(p*t);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(fabs(FOUT-fout)&lt0.1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fvco=fin*m/p;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(((fin/(25*p))&lt(28.449/m))&&(fin/(10*p))&gt(28.449/m))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((0.7&lt(8.456/sqrt(m)))&&(8.456/sqrt(m))&lt1.8)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((160&lt=fvco)&&(fvco&lt=400))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((20&lt=fout)&&(fout&lt=203))&nbsp;printf&nbsp;(&quot;M=%d&nbsp;P=%d&nbsp;s=%d&nbsp;fout=%8.4f
&quot;,m-8,p-2,s,fout);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br />
 楼主| masashinakayama 发表于 2008-11-4 23:42 | 显示全部楼层

NXP

原来是没把前面的屁股擦干净<br />要make&nbsp;distclean
 楼主| masashinakayama 发表于 2008-11-4 23:45 | 显示全部楼层

搞来搞去,搞得还是smdk2410的东西

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

317

主题

1957

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

317

主题

1957

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部