FAQ_全志平台Tina3.0.7 RXXX cowbell方案启动时cpufreq报错且无法生成cpufreq节点

2024-02-02 15:01:41 浏览数 (2)

FAQ_全志平台Tina3.0.7 RXXX cowbell方案启动时cpufreq报错且无法生成cpufreq节点

【软件版本】Tina 3.0.7 cowbell方案

【现象】

启动时报错:

代码语言:javascript复制
[ 3.434693] sunxi_cpufreq_init: only one opp_table
[ 3.440182] [cpu_freq] ERR: DEBUG: get cpu 0 device
[ 3.445719] [cpu_freq] ERR: Unable to get regulator
[ 3.451307] ------------[ cut here ]------------
[ 3.456530] WARNING: CPU: 0 PID: 1 at drivers/base/power/opp/of.c:357 _of_add_opp_table_v2 0x94/0x3b4
[ 3.466908] Modules linked in:
[ 3.470360] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.118 #1
[ 3.477110] Hardware name: sun8iw18
[ 3.481054] [<c0016ac0>] (unwind_backtrace) from [<c0012df0>] (show_stack 0x10/0x14)
[ 3.489770] [<c0012df0>] (show_stack) from [<c01bb2e8>] (dump_stack 0x7c/0x98)
[ 3.497902] [<c01bb2e8>] (dump_stack) from [<c001f9a8>] (__warn 0xd8/0xf8)
[ 3.505638] [<c001f9a8>] (__warn) from [<c001fa6c>] (warn_slowpath_null 0x1c/0x24)
[ 3.514156] [<c001fa6c>] (warn_slowpath_null) from [<c02313e4>] (_of_add_opp_table_v2 0x94/0x3b4)
[ 3.524142] [<c02313e4>] (_of_add_opp_table_v2) from [<c0231bac>] (dev_pm_opp_of_cpumask_add_table_by_soc_bin 0x80/0xc0)
[ 3.536378] [<c0231bac>] (dev_pm_opp_of_cpumask_add_table_by_soc_bin) from [<c030847c>] (sunxi_cpufreq_init 0x154/0x3bc)
[ 3.548616] [<c030847c>] (sunxi_cpufreq_init) from [<c0304ca4>] (cpufreq_online 0x160/0x604)
[ 3.558112] [<c0304ca4>] (cpufreq_online) from [<c03051ac>] (cpufreq_add_dev 0x54/0x7c)
[ 3.567121] [<c03051ac>] (cpufreq_add_dev) from [<c022148c>] (subsys_interface_register 0xbc/0xc8)
[ 3.577204] [<c022148c>] (subsys_interface_register) from [<c030421c>] (cpufreq_register_driver 0x114/0x1f0)
[ 3.588266] [<c030421c>] (cpufreq_register_driver) from [<c0635c94>] (sunxi_cpufreq_initcall 0x20/0x44)
[ 3.598836] [<c0635c94>] (sunxi_cpufreq_initcall) from [<c0009b00>] (do_one_initcall 0x140/0x174)
[ 3.608822] [<c0009b00>] (do_one_initcall) from [<c061ade4>] (kernel_init_freeable 0x18c/0x1d4)
[ 3.618613] [<c061ade4>] (kernel_init_freeable) from [<c04c4840>] (kernel_init 0x8/0xec)
[ 3.627719] [<c04c4840>] (kernel_init) from [<c000edf0>] (ret_from_fork 0x14/0x24)
[ 3.636285] ---[ end trace 242be0e306f7b58c ]---
[ 3.641493] of: dev_pm_opp_of_cpumask_add_table_by_soc_bin: couldn't find opp table for cpu:0, -2
[ 3.651527] [cpu_freq] ERR: Failed to add opp table
[ 3.657192] sunxi_cpufreq_init: only one opp_table
[ 3.662601] [cpu_freq] ERR: DEBUG: get cpu 1 device
[ 3.668118] [cpu_freq] ERR: Unable to get regulator
[ 3.673677] ------------[ cut here ]------------
[ 3.678888] WARNING: CPU: 1 PID: 1 at drivers/base/power/opp/of.c:357 _of_add_opp_table_v2 0x94/0x3b4
[ 3.689264] Modules linked in:
[ 3.692715] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.9.118 #1
[ 3.700832] Hardware name: sun8iw18
[ 3.704766] [<c0016ac0>] (unwind_backtrace) from [<c0012df0>] (show_stack 0x10/0x14)
[ 3.713484] [<c0012df0>] (show_stack) from [<c01bb2e8>] (dump_stack 0x7c/0x98)
[ 3.721614] [<c01bb2e8>] (dump_stack) from [<c001f9a8>] (__warn 0xd8/0xf8)
[ 3.729350] [<c001f9a8>] (__warn) from [<c001fa6c>] (warn_slowpath_null 0x1c/0x24)
[ 3.737869] [<c001fa6c>] (warn_slowpath_null) from [<c02313e4>] (_of_add_opp_table_v2 0x94/0x3b4)
[ 3.747854] [<c02313e4>] (_of_add_opp_table_v2) from [<c0231bac>] (dev_pm_opp_of_cpumask_add_table_by_soc_bin 0x80/0xc0)
[ 3.760087] [<c0231bac>] (dev_pm_opp_of_cpumask_add_table_by_soc_bin) from [<c030847c>] (sunxi_cpufreq_init 0x154/0x3bc)
[ 3.772323] [<c030847c>] (sunxi_cpufreq_init) from [<c0304ca4>] (cpufreq_online 0x160/0x604)
[ 3.781820] [<c0304ca4>] (cpufreq_online) from [<c03051ac>] (cpufreq_add_dev 0x54/0x7c)
[ 3.790828] [<c03051ac>] (cpufreq_add_dev) from [<c022148c>] (subsys_interface_register 0xbc/0xc8)
[ 3.800911] [<c022148c>] (subsys_interface_register) from [<c030421c>] (cpufreq_register_driver 0x114/0x1f0)
[ 3.811969] [<c030421c>] (cpufreq_register_driver) from [<c0635c94>] (sunxi_cpufreq_initcall 0x20/0x44)
[ 3.822537] [<c0635c94>] (sunxi_cpufreq_initcall) from [<c0009b00>] (do_one_initcall 0x140/0x174)
[ 3.832524] [<c0009b00>] (do_one_initcall) from [<c061ade4>] (kernel_init_freeable 0x18c/0x1d4)
[ 3.842315] [<c061ade4>] (kernel_init_freeable) from [<c04c4840>] (kernel_init 0x8/0xec)
[ 3.851422] [<c04c4840>] (kernel_init) from [<c000edf0>] (ret_from_fork 0x14/0x24)
[ 3.859959] ---[ end trace 242be0e306f7b58d ]---
[ 3.865160] of: dev_pm_opp_of_cpumask_add_table_by_soc_bin: couldn't find opp table for cpu:1, -2
[ 3.875153] [cpu_freq] ERR: Failed to add opp table
[ 3.881096] cpuidle: enable-method property 'psci' found operations
[ 3.888606] cpuidle: enable-method property 'psci' found operation

且无法生成cpufreq节点

【原因】

获取dts中的vf表异常

【解决方法】

代码语言:javascript复制
tina/lichee/linux-4.9/arch/arm/boot/dts$ git diff .
diff --git a/arch/arm/boot/dts/sun8iw18p1.dtsi b/arch/arm/boot/dts/sun8iw18p1.dtsi
index 923b3c4..ec1df87 100644
--- a/arch/arm/boot/dts/sun8iw18p1.dtsi
    b/arch/arm/boot/dts/sun8iw18p1.dtsi
@@ -145,8  145,27 @@
                opp_table_count = <1>;
 
                cpu_opp_l_table0: opp_l_table0 {
                         /* compatible = "operating-points-v2"; */
                         compatible = "allwinner,opp_l_table0";
                         opp_count = <2>; 
                         opp-shared;
               
                         opp00 {
                                 opp-hz = /bits/ 64 <720000000>;
                                 opp-microvolt = <820000>;
                                 axi-bus-divide-ratio = <3>; 
                                 clock-latency-ns = <2000000>;
                         };   
               
                         opp01 {
                                 opp-hz = /bits/ 64 <1008000000>;
                                 opp-microvolt = <900000>;
                                 axi-bus-divide-ratio = <3>; 
                                 clock-latency-ns = <2000000>;
                         };   
                 };   
 
 
-               };
        };

0 人点赞