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.

Full Text:


International Journal of Online and Biomedical Engineering (iJOE) – eISSN: 2626-8493
Creative Commons License
Scopus logo Clarivate Analyatics ESCI logo IET Inspec logo DOAJ logo DBLP logo EBSCO logo Ulrich's logo Google Scholar logo MAS logo