power_mode(power、clock的3d、vcp、vpp 进行auto、manual、close的切换)
zx_params.c用一个16位的bits zx_pwm_mode表示:
bitmap:pg_manual pg_auto cg_manual cg_auto
0 vpp vcp gfx|0 vpp vcp gfx|0 vpp vcp gfx |0 vpp vcp gfx
查看:cat zx_info/power_mode
更改:1、echo bitmaps //前缀字符
例子:echo 0x61 > zx_info/power_mode
2、格式化 echo gating_type engine state > zx_info/pg_cg_gating_mode
0 power:
0( 3d) 0( close)
1( vcp) 1( auto)
2( vpp) 2( manual)
1 clock:
0( 3d) 0( close)
1( vcp) 1( auto)
2( vpp) 2( manual)
only support:
1.pg close - cg close
2.pg close - cg auto
3.pg manual - cg auto
4.pg manual - cg manual
例子:想要将pg 的 3d gating关掉: echo 0 0 0 > zx_info/pg_cg_gating_mode
全部关闭: echo 0 > zx_info/power_mode
警告:推荐用方式1更改,用方式2必须保证任何时刻的状态都属于受支持的四种状态,否则就会hang。
pwm_wait_count (设置调节的idle时间)
查看:cat zx_info/pwm_wait_count
更改:1、将cat输出的第一行更改,然后回写
例子:将pg_vpp改为195 echo pg_3d:20,cg_3d:200,pg_vcp:20,cg_vcp:200,pg_vpp:195,cg_vpp:200
...
2、格式化 echo gating_type engine hex-value(~):16进制
0 power_wait:
0( 3d) 10~200
1( vcp) 10~200
2( vpp) 10~200
1 clock_wait:
0( 3d) 10~200
1( vcp) 10~200
2( vpp) 10~200
例子:将pg_vpp改为180: echo 0 2 180 > zx_info/pwm_wait_count
dvfs_mode
查看:cat zx_info/dvfs_mode
更改:同part1
例子:
1、bitmap dvfs force dvfs auto
echo 0 vpp vcp gfx | 0 vpp vcp gfx
echo 0x10
2、 For change value,you can directly return the 8-bitmap or format echo:
engine mode
0( 3d) 0( close)
1( vcp) 1( auto)
2( vpp) 2( manual)
切换3d dvfs到force/manual: echo 0 2 > zx_info/dvfs_mode
dvfs_control_params
查看:cat zx_info/dvfs_control_params
更改:同part2 pwm_wait_count
例子:gfx_dvfs_checksize:0,gfx_dvfs_h_threshold:0,gfx_dvfs_l_threshold:0,vcp0_dvfs_checksize:0,vcp0_dvfs_h_threshold:0,vcp0_dvfs_l_threshold:0,vcp1_dvfs_checksize:0,vcp1_dvfs_h_threshold:0,vcp1_dvfs_l_threshold:0,vpp_dvfs_checksize:0,vpp_dvfs_h_threshold:0,vpp_dvfs_l_threshold:0
For change value, you can directly return the above line or format echo:
engine dvfs_params hex-value(~):16进制
0 3d:
0( checksize) 0~0xffffffff
1( h_threshold) 0~0xffffffff
2( l_threshold) 0~0xffffffff
1 vcp0:
0( checksize) 0~0xffffffff
1( h_threshold) 0~0xffffffff
2( l_threshold) 0~0xffffffff
2 vcp1:
0( checksize) 0~0xffffffff
1( h_threshold) 0~0xffffffff
2( l_threshold) 0~0xffffffff
3 vpp:
0( checksize) 0~0xffffffff
1( h_threshold) 0~0xffffffff
2( l_threshold) 0~0xffffffff
dvfs_clk_voltage tips:调电压、频率要在dvfs manual模式下 输入电压=实际电压*1000
查看:cat zx_info/dvfs_clk_voltage
更改:parameter engine range(~):10进制
c clock(MHz):
0( 3d) 200 ~ 625
1( vcp0) 200 ~ 625
2( vcp1) 200 ~ 625
3( vpp) 200 ~ 625
v vlotage(mV):
0( 3d) (0.800 ~ 1.520)*1000
1( vcp0) (0.800 ~ 1.520)*1000
2( vcp1) (0.800 ~ 1.520)*1000
3( vpp) (0.800 ~ 1.520)*1000
例子:调电压 echo v 0 845 > zx_info/dvfs_clk_voltage
dvfs_level
查看:cat zx_info/dvfs_level
nopower
you can input one of [balance, nopower, performance]
更改:echo [balance, nopower, performance] > zx_info/dvfs_level