Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志R329如何在平台修改uboot阶段CPU频率?

    其它全志芯片讨论区
    r329 r328 r818 faq 技术支持
    2
    2
    1751
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 9 last edited by q1215200171

      在启动优化过程,有一个优化项是提高uboot阶段CPU运行频率,CPU默认配置启动频率为1G,提高CPU频率确实可以提升开机速度,但是在提升CPU频率的时候,需要同步提升 VDD-CPU 的电压,该电压配置需要与芯片的 VF 表一致。

      下面以 R818 evb2 方案为例,介绍如何在uboot节点提升 CPU 频率。

      • 查看平台的 vf 表,R818当前的 vf 表在内核的dts中有配置,详细的配置参考内核dts的 cpu_opp_l_table 配置即可。R818 1.5G时,VDD-CPU需要配置为1.18V,得到该信息之后,uboot中将配置为该频率启动。

      • 方案的 sys_config.fex 中,boot_clock 为uboot阶段CPU频率,当前我们需要以1.5G频率启动,则修改为 boot_clock = 1512。

      • 同步修改 VDD-CPU 电压,R818 evb2 方案中,DCDCA输出连接到VDD-CPU,所以需要在uboot阶段,将DCDCA的电压修改为1.18V。配置为 dcdca_vol = 1001180。

      • 由于evb2方案没有BMU,uboot中的方案配置需要去掉BMU的配置,将需要修改uboot中,平台defconfig中的配置。

      上述总的修改如下:

      fc0883e8aba945c28a4554e6d5461216.jfif

      32e61aa8493b44179f2c1ba39964b1b5.jfif

      补丁如下:

      // 方案sys_config.fex 中的修改
      diff --git a/configs/evb2/sys_config.fex b/configs/evb2/sys_config.fex
      index 8c99868..f86464e 100644
      --- a/configs/evb2/sys_config.fex
      +++ b/configs/evb2/sys_config.fex
      @@ -20,7 +20,7 @@ debug_mode  = 8
       ;power_mode    = axp_type,   0:axp81X, 1:dummy, 2:axp806, 3:axp2202, 4:axp858
       ;----------------------------------------------------------------------------------
       [target]
      -boot_clock     = 1008
      +boot_clock     = 1512
       storage_type    = 2
       advert_enable   = 0
       burn_key        = 1
      @@ -38,6 +38,7 @@ power_mode            = 2
       ;dldo1_vol                                                     ---set dldo1 voltage,mV,500-3500,100mV/step
       ;----------------------------------------------------------------------------------
       [power_sply]
      +dcdca_vol = 1001180
      
       [card_boot]
       logical_start   = 40960
      
      // uboot 中,平台defconfig的修改
      diff --git a/configs/sun50iw10p1_tina_defconfig b/configs/sun50iw10p1_tina_defconfig
      index 581e4b84a6..bc42673f67 100644
      --- a/configs/sun50iw10p1_tina_defconfig
      +++ b/configs/sun50iw10p1_tina_defconfig
      @@ -39,7 +39,7 @@ CONFIG_R_I2C0_ENABLE=y
       CONFIG_SUNXI_POWER=y
      
       CONFIG_SUNXI_PMU=y
      -CONFIG_SUNXI_BMU=y
      +#CONFIG_SUNXI_BMU=y
       CONFIG_AXP81X_POWER=y
       CONFIG_AXP81X_SUNXI_I2C_SLAVE=0x34
       CONFIG_AXP858_POWER=y
      

      在修改完成之后,uboot的启动log将可以看到下面的信息:

      [00.794]dcdca_vol = 1180, onoff=1
      [00.802]CPU=1512 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=400Mhz
      

      启动log中有上述信息则修改成功。

      其他的平台、方案、频率如何修改?

      其他的平台、方案、频率修改都是类似的,只要确定期望uboot启动的CPU频率之后,确认在该频点下,VDD-CPU需要的电压,然后通过原理图确认VDD-CPU是由哪一路DCDC供电的,而后修改sys_config.fex中的boot_clock和power_sply的配置即可。而uboot中的修改,根据实际使用方案,配置PMU和BMU即可,如果发现uboot中的电压没有配置正确,则在uboot中搜索”power_sply“字段信息,查看代码解析"/soc/power_sply"逻辑后修改即可。

      G 1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • G
        Orange LV 5 @q1215200171 last edited by

        @q1215200171
        这样修改后,发现cpu电压对了,但是CPU的启动频率还是没变,是哪里有问题???

        1 Reply Last reply Reply Quote Share 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策