18、电源管理入门之Power Domain管理

本文介绍了电源管理中的Power Domain概念,解释了为何需要电源域划分,并详细阐述了电源域的框架、使用方法、provider和consumer的角色。通过设备电源管理的统一接口,讨论了如何在Linux内核中实现电源域的开启和关闭,以及如何在驱动程序中与电源域交互。此外,还探讨了电源域在降低系统开销和优化功耗管理方面的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 框架介绍

2. 如何使用power domain

3. provider

4. Consumer

参考:


SoC中通常有很多IP,按逻辑可以把几个相关功能的IP划为一个电源域。一个电源域内的IP,通常按相同的方式由同一个硬件模块PMIC供电,电压一样并且电源管理例如休眠唤醒一致

为什么有设备电源管理还需要power domain划分?

对每个设备电源管理太细化了,会造成额外的开销。通常几个设备可以一块进行管理更加的方便,例如一个子系统,要么全工作要么全关闭,不会子系统内的某个设备单独工作。这时候为了简化管理工作就需要划分出来一个domain。SOC上众多电源域组成了一个电源域树,他们之间存在着相互的约束关系,子电源域打开前,需要父电源域打开,父电源域下所有子电源域关闭,父电源域才能关闭。

Domain这个词一般在权限管理中经常遇到,用于隔离Domain内共进退

虽然电源域的好处多多,却不是越多越好,因为划分电源域是需要成本的(需要在PMU中使用模拟电路完成,包括金钱成本和空间成本)。因此,大多数系统会根据功能,设置有限的几个电源域,例如:CPU core(1、2、3…);GPU;NAND;DDR;USB;Display;Codec等等

这种设计引出一个问题:存在多个模块共用一个电源域的情况。因而要求在对模块power on/off的时候,考虑power共用的情况:只要一个模块工作,就要power on;直到所有模块停止工作,才能power off

1. 框架介绍

Kernel的PM domain framework(位于drivers/base/power/domain.c中),提供了管理和使用系统power domain的统一方法:

  • 对底层power domain硬件的操作

    • 对power domain hw的开启操作,包括开钟、上电、解复位、解除电源隔离等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ManGo CHEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值