以下电子书来始于宋宝华《Linux设备驱动开发解读:基于最新的Linux》第19章《Linux电源管理系统构架和驱动》本章导读Linux在消费电子领域的应用已然铺天盖地,而对于消费电子产品而言linux服务器配置与管理红旗linux下载,节电是一个重要的议程。本章将介绍Linux设备树(DeviceTree)的起源、结构和由于设备树而导致的驱动和BSP变更。。~、CPUIdle、CPU热拔插以及底层的基础设施Regulator、OPP以及电源管理的调试工具PowerTop。toRAM的过程以及设备驱动怎样提供对SuspendtoRAM的支持。suspend。本章是相对《Linux设备驱动开发解读(第2版)》全新的一章内容,也是Linux设备驱动工程师必备的知识体系。第十九章Linux电源管理系统构架和驱动Linux电源管理十分复杂,牵涉到系统级的待机、频率电流变换、系统空闲时的处理以及每位设备驱动对于系统待机的支持和每位设备的运行时电源管理,可以说和系统中的每位设备驱动都息息相关。对于消费电子产品来说,电源管理相当重要。因而,这部份工作常常在开发周期中抢占相当大的比重,。大体可以归纳为如下几类:QoSlinux设备驱动开发详解基于最新4.0内核,它会作用于CPUIdle的具体策略toRAM/Disk的一系纳入口函数、SDRAM自刷新的入口(运行时)动态电源管理,依据使用情况动态开关设备、稳压器、频率/电流表(OPP模块完成)支撑,各驱动子系统都可能用到用户空间基础设施CPUPowerManagerCPUIdleCPUhotplugCPUDVFS(CPUFreq)OPPechosysfsPowerApplicationsclkregulator设备系统级suspend/resumeRuntimesuspend/resume设备DVFS(Devfreq)SoC平台级电源操作callbacksPMQoSLinux电源管理系统构架CPUFreq子系统坐落drivers/cpufreq目录,负责进行运行过程中CPU频度和电流的动态调整linux设备驱动开发详解基于最新4.0内核,即DVFS(DynamicVoltageFrequencyScaling,动态电流频度调整)。
运行时进行CPU电流和频度调整的缘由是:CMOS电路中的帧率与电流的平方成反比、与频度成反比(),因而增加电流和频度可增加帧率。CPUFreq的核心层坐落drivers/cpufreq/,它为各个SoC的CPUFreq驱动的实现提供了一套统一的插口,并实现了一套notifier的机制,可以在CPUFreq的policy和频度改变的时侯向其他模块发出通知。另外,在CPU运行频度发生变化的时侯,内核的loops_per_jiffy常数也会发生相应变化。SoC的CPUFreq驱动实现具体的每位SoC的CPUFreq驱动实例只须要实现电流、频率表,以及从硬件层面完成这种变化。CPUFreq核心层提供了如下API供SoC注册自身的CPUFreq驱动:intcpufreq_register_driver(structcpufreq_driver*driver_data);其参数为一个cpufreq_driver结构体表针,实际上,cpufreq_driver封装了一个具体的SoC的CPUFreq驱动的主体,。cpufreq_driver结构体1structcpufreq_driver{2structmodule*owner;3charname[CPUFREQ_NAME_LEN
《Linux设备驱动开发解读:基于最新的Linux4.0内核》19.Linux电源管理系统构架和驱动.来自淘豆网转载请注明出处.