Linux電源管理全局架構(gòu)是什么?
Linux在消費電子領(lǐng)域的應(yīng)用相當(dāng)普遍,而對于消費電子產(chǎn)品,省電是一個重要的議題。下面是電源管理的全局架構(gòu)。
Linux電源管理非常復(fù)雜,牽扯到系統(tǒng)級的待機(jī)、頻率電壓變換、系統(tǒng)空閑時的處理以及每個設(shè)備驅(qū)動對于系統(tǒng)待機(jī)的支持和每個設(shè)備的運行時電源管理,可以說和系統(tǒng)中的每個設(shè)備驅(qū)動都息息相關(guān)。
對于消費電子產(chǎn)品來說,電源管理相當(dāng)重要。因此,這部分工作往往在開發(fā)周期中占據(jù)相當(dāng)大的比重,圖1呈現(xiàn)了Linux內(nèi)核電源管理的整體架構(gòu)。大體可以歸納為如下幾類:
1. CPU在運行時根據(jù)系統(tǒng)負(fù)載進(jìn)行動態(tài)電壓和頻率變換的CPUFreq
2. CPU在系統(tǒng)空閑時根據(jù)空閑的情況進(jìn)行低功耗模式的CPUIdle
3. 多核系統(tǒng)下CPU的熱插拔支持
4. 系統(tǒng)和設(shè)備對于延遲的特別需求而提出申請的PM QoS,它會作用于CPUIdle的具體策略
5. 設(shè)備驅(qū)動針對系統(tǒng)Suspend to RAM/Disk的一系列入口函數(shù)
6. SoC進(jìn)入suspend狀態(tài)、SDRAM自刷新的入口
7. 設(shè)備的runtime(運行時)動態(tài)電源管理,根據(jù)使用情況動態(tài)開關(guān)設(shè)備
8. 底層的時鐘、穩(wěn)壓器、頻率/電壓表(OPP模塊完成)支撐,各驅(qū)動子系統(tǒng)都可能用到
圖1 Linux電源管理系統(tǒng)架構(gòu)