当前位置: 首页 > news >正文

【rk3506】解决cpufreq目录不存在问题

问题描述

最近和应用同事联调,反馈日志里一直报这两个错,记录一下完整排查过程。:

open/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:No such file ordirectory(2)open/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:No such file ordirectory(2)

排查步骤

1、先看内核配置,是不是没开 cpufreq?

第一反应先去核对内核配置,毕竟这种 sysfs 节点的问题,大概率是配置没开。检查了.config文件,这几个关键配置都已经是开启状态:

CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_ARM_ROCKCHIP_CPUFREQ=y

配置没问题,那说明不是 “没开驱动” 这么简单,得往下挖。

2、设备树才是关键!RK3506 的 DVFS 链路

查了下 Rockchip 的文档才反应过来,RK3506 的 CPU 动态调频调压(DVFS)是有完整链路依赖的,不是开了配置就完事。
整个链路是这样的:
vdd_arm(PWM调压) → pwm0_4ch_0(PWM控制器通道) → rm_io21_pwm0_ch0(引脚复用配置)

这三个环节是环环相扣的,只要缺了一环,内核就没法建立 “CPU 频率 ↔ 核心电压” 的映射,没法调压,自然也就没法启用 cpufreq 驱动,最后就表现为/sys/devices/system/cpu/cpu0/cpufreq这个目录直接不生成。

翻了下设备树,原厂 demo 的设备树里是完整配置了这部分的:

vdd_arm:vdd-arm{compatible="pwm-regulator";pwms=<&pwm0_4ch_0050001>;regulator-name="vdd_arm";regulator-min-microvolt=<710000>;regulator-max-microvolt=<1207000>;regulator-init-microvolt=<1011000>;regulator-always-on;regulator-boot-on;regulator-settling-time-up-us=<250>;pwm-supply=<&vcc_sys>;};&pwm0_4ch_0{pinctrl-names="active";pinctrl-0=<&rm_io21_pwm0_ch0>;status="okay";};rm_io21{/omit-if-no-ref/rm_io21_pwm0_ch0:rm-io21-pwm0-ch0{rockchip,pins=<0RK_PC545&pcfg_pull_none_drv_level_1>;};};

排查发现,我们基于原厂rk3506 demo板设计的原理图上是不支持CPU 动态调频调压。

3、排查到根因:硬件设计不支持 DVFS

拿着设备树去核对我们自己的原理图,才发现问题:我们基于原厂 demo 板做的硬件设计,压根就没接 PWM 调压电路,不支持 CPU 动态调频调压。
也就是说,设备树里的这部分配置,在我们的硬件上是不成立的,内核没法正常初始化 cpufreq 驱动,才会出现 sysfs 节点不存在的问题。

http://www.cnnetsun.cn/news/3352653.html

相关文章:

  • Unity 2D游戏高效寻路:导航网格配置与优化全攻略
  • STL中vector的使用
  • 斯坦福大学:让AI学会“记笔记“,竟能让小模型打败顶级大模型?
  • 国自然初稿、未发表数据别再随意上传给AI!阿里封禁事件给所有科研人的3条红线
  • 如何用win-acme解决Windows服务器SSL证书自动化难题:完整实践指南
  • Ruby JSON库高级用法:自定义类型序列化与反序列化终极指南
  • 微信接口开发的三大通信机制全解析
  • pdf-inspector字体编码处理:CID字体、ToUnicode映射与字符解码终极指南
  • pdf-inspector Python绑定使用指南:在Python项目中集成PDF处理功能
  • 小程序 毕设项目:基于位置的共享雨伞租赁与点位查询小程序设计 便民共享雨伞租借计费管理系统 (源码+文档,讲解、调试运行,定制等)
  • 小程序 毕设项目:校园闲置物品回收与交易服务系统的设计与实现 基于 SpringBoot 的校园二手交易信息管理系统的设计与实现 (源码+文档,讲解、调试运行,定制等)
  • AI Agent 面试题 664:Prompt注入的自动化检测和实时拦截方案
  • 如何通过AMD Quark工具链优化dbrx-base-FP8-KV模型:完整指南与性能提升技巧
  • 百元打造智能四轴飞行器:ESP-Drone开源无人机终极指南
  • Qwopus3.6-27B-Coder-bf16提示词工程:提升代码生成质量的10个专业技巧
  • PCSX2完全指南:免费开源PS2模拟器终极配置教程
  • ChatGPT无法使用?不是网络问题!2024Q2全球节点失效地图+3个高可用备用API路由(含Token自动轮转Python工具)
  • 物流企业物流调度和单据处理,推荐哪款Agent?企业级智能体选型深度测评与落地指南
  • 【DeepSeek企业级提示词库】:含127个经生产环境验证的工业级prompt,仅限本周开放下载
  • gpt-oss-120b-w-mxfp4-a-fp8-kv-fp8-fp8attn-no_lmhead_router模型推理性能优化实战
  • 2026年开题报告生成神器:10分钟完成高质量开题报告加开题PPT
  • Phi-4推理增强模型量化完全指南:从BF16到W4A16的完整转换流程
  • 从0开始学AI模型部署:用mlx-optiq打造专属NVIDIA-Nemotron-3-Nano-4B本地服务
  • AMD Ryzen AI混合优化实践:Qwen2.5_3B_Instruct_rai_1.7.1_npu_4K的完整部署方案
  • 深入理解Cosmos-AnomalyGen-PCB-2B架构:从掩码编码器到扩散模型的完整指南
  • AnyFlow-Wan2.1-T2V-1.3B-Diffusers核心技术解析:流图蒸馏如何实现任意步长生成
  • 2026年软件工程毕业生学习数据分析的价值
  • AMD Ryzen AI生态全景:Qwen-2.5_1.5B_Instruct_rai_1.7.1_npu_4K的定位与应用场景
  • 计算机小程序毕设实战-基于 SpringBoot 的校园心理危机预防干预小程序的设计与实现 高校学生心理健康数据监测与疏导系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 一站式掌握material-ui-chip-input属性配置:提升表单交互体验的完整指南