前阵子一个半月摸索,终于从SDK6.0迁移到了SDK7.0,现在使用device-tree的方式。
u-boot初始化了1G的频率,但是根据下列启动信息,内核最终采取了600M的频率。
[ 0.000247] Calibrating delay loop… 663.55 BogoMIPS (lpj=3317760)
。。。。。。。。。。。。。
[ 1.863422] cpufreq_cpu0: Bootloader freq 1000000000Hz no match to table, Using 600000000Hz
命令cat proc/cpuinfo看不到CPU频率。
[root@xxxxx /]# cat proc/cpuinfoprocessor : 0model name : ARMv7 Processor rev 2 (v7l)Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32CPU implementer : 0x41CPU architecture: 7CPU variant : 0x3CPU part : 0xc08CPU revision : 2Hardware : Generic AM33XX (Flattened Device Tree)Revision : 0000Serial : 0000000000000000
Steven Liu1:
你先确认下你使用的片子是否支持1GHz频率,在丝印上后缀是100的,才能跑到1GHz的频率。
其次,供电上面是采用的独立电源解决方案,还是官方推荐的65910/65217?跑在1GHz,供电电压和跑在600MHz不一样的。
如果是我们推荐的方案的话,可以通过调频调压的方式,来使片子运行在1GHz。Linux下面的操作可以参考:
http://processors.wiki.ti.com/index.php/AM335x_Linux_Power_Management_User_Guide
defu luodefu:
回复 Steven Liu1:
同样的硬件,我们用SDK6.0可以跑1G的,,SDK7.0的跑1G话,应该是在device-tree里面配置,但如何设置呢?
Steven Liu1:
回复 defu luodefu:
你是想上来就是跑1GHz吗?
简单的做法,就是在初始化的启动脚本中通过相应的命令设置成为1GHz。相应命令可参考如下:
http://processors.wiki.ti.com/index.php/Linux_Core_Power_Management_User's_Guide#Driver_Usage
如果是想dts的设置的话,可以修改一下这个文件:EZSDK_07_00_00_00/board-support/linux-3.12.10-ti2013.12.01/arch/arm/boot/dts/am33xx.dtsi
尝试把cpus结构体中,下面这个300000改成1000000试试看。
clock-latency = <300000>; /* From omap-cpufreq driver */
ueiia:
回复 Steven Liu1:
同问:我在TI的AM335XEVM板上跑SDK7.0,用的网上下载的镜像,什么都没改动,只有479.23 BogoMIPS,之前同样的EVM板跑TI网上的ANDROID4.1.2的镜像可以达到718.02 BogoMIPS,我应该如何修改内核或者UBOOT?
defu luodefu:
回复 Steven Liu1:
执行 echo 1000000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed,还是600M
根据TI官方的文档,用户是不能修改am33xx.dtsi文件的,只能在用户自己的.dts文件里面重新定义。
但是修改clock-latency = <1000000>; 也没用起到作用。
yongqing wang:
回复 defu luodefu:
配置教程看这里:processors.wiki.ti.com/…/Linux_Core_Power_Management_User's_Guide_(v4.4)