下冰雹 · 2021年12月28日

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

请问全志R329如何在平台修改uboot阶段CPU频率?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2021年12月29日
本回答来源全志R329如何在平台修改uboot阶段CPU频率?

在启动优化过程,有一个优化项是提高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中的配置。

上述总的修改如下:

image.png
image.png

补丁如下:


// 方案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"逻辑后修改即可。

你的回答
关注数
1
收藏数
0
浏览数
2759
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息