A Generic Linux CPUFreq Driver for ARM SoCs


  • Lei Zhou
  • Qiang Lv
  • Shengchao Guo




Linux CPUFreq subsystem provides a framework for implementing Dynamic Voltage and Frequency Scaling (DVFS) to prolong batter life of mobile devices. Instead of creating hardware specific CPUFreq driver for every single ARM System on Chip (SoC) from different vendors, this paper presents the design and implementation of a generic CPUFreq driver. Managing the hardware specific clock and voltage details via Linux Common Clock Framework and Regulator subsystem, the driver can scale CPU frequency and voltage in a generic way, and thus should work for the majority of the ARM SoCs today. Freescale i.MX6 Quad was taken as the target hardware to develop and test the driver. A measurement on the hardware reports 37% CPU power saving in a typical video playback application. The feedback from Linux community tells that the driver works for OMAP and Calxeda processors as well, and hence the driver was merged into Linux 3.7 release as a generic CPUFreq driver for ARM SoCs.




How to Cite

Zhou, L., Lv, Q., & Guo, S. (2013). A Generic Linux CPUFreq Driver for ARM SoCs. International Journal of Online and Biomedical Engineering (iJOE), 9(S6), pp. 29–32. https://doi.org/10.3991/ijoe.v9iS6.2797



Special Focus Papers