目录

1、关于

2、命名法

2.1 Regulator

2.2 PMIC

2.3 Consumer

2.4 Power Domain

2.5 Constraints

3、Design

3.1 Consumer driver interface

3.2 Regulator driver interface

3.3 Machine interface

3.4 Userspace ABI


1、关于

此框架旨在提供一个标准内核接口来控制电压和电流调节器。

其目的是允许系统动态控制调节器功率输出,以节省电力和延长电池寿命。这适用于voltage regulators(电压输出可控)和current sinks(电流限制可控)。

2、命名法

使用的一些术语:

2.1 Regulator

为其他设备供电的电子设备。大多数调节器可以使能和禁用其输出,而有些调节器可以控制其输出电压和/或电流。

Input Voltage -> Regulator -> Output Voltage

2.2 PMIC

电源管理IC。包含许多调节器并通常包含其他子系统的IC。

2.3 Consumer

由调节器供电的电子设备。消费者可分为两类:

Static: consumer不会更改其电源电压或电流限制。它只需要启用或禁用power supply。其电源电压由hardware, bootloader, firmware or kernel board initialisation code来设置。

Dynamic: consumer需要更改其电源电压或电流限制,以满足操作要求。

2.4 Power Domain

由调节器、开关的输出功率或另一个电源域提供输入功率的电子电路。

电源调节器可能在开关后面。即:

Regulator -+-> Switch-1 -+-> Switch-2 --> [Consumer A]
           |             |
           |             +-> [Consumer B], [Consumer C]
           |
           +-> [Consumer D], [Consumer E]

这是一个稳压器和三个电源域:

  • Domain 1: Switch-1, Consumers D & E.
  • Domain 2: Switch-2, Consumers B & C.
  • Domain 3: Consumer A.

这代表了一种“供应”关系:

Domain-1 –> Domain-2 –> Domain-3.

电源域可能具有由其他调节器供电的调节器。例如:

Regulator-1 -+-> Regulator-2 -+-> [Consumer A]
             |
             +-> [Consumer B]

这为我们提供了两个调节器和两个电源域:

  • Domain 1: Regulator-2, Consumer B.
  • Domain 2: Consumer A.

以及“供应”关系:

Domain-1 –> Domain-2

2.5 Constraints

约束用于定义性能和硬件保护的功率级别。约束存在于三个级别:

Regulator Level:这由稳压器硬件操作参数定义,并在稳压器数据表中规定。

  • voltage output is in the range 800mV -> 3500mV.
  • regulator current output limit is 20mA @ 5V but is 10mA @ 10V.

Power Domain Level:这在软件中由内核级主板初始化代码定义。它用于将功率域约束到特定的功率范围。

  • Domain-1 voltage is 3300mV
  • Domain-2 voltage is 1400mV -> 1600mV
  • Domain-3 current limit is 0mA -> 20mA.

Consumer Level:这由consumer driver动态设置电压或电流限制级别定义。

例如,消费类背光驱动器要求电流从5mA增加到10mA,以增加LCD照明。这将通过以下级别:-

Consumer: 需要提高LCD亮度。查找并请求亮度表中的下一个当前mA值(the consumer driver could be used on several different personalities based upon the same reference device).

Power Domain: 是此域和系统状态(例如电池电量、USB电源)的域操作限制内的新电流限制 (e.g. battery power, USB power)

Regulator Domains: 是输入/输出电压稳压器工作参数内的新电流限制。如果调节器请求通过了所有约束测试,则应用新的调节器值。

3、Design

该框架设计并针对基于SoC的设备,但也可能与非SoC设备相关,并分为以下四类接口:-

3.1 Consumer driver interface

这使用了一个与内核时钟接口类似的API,因为consumer drivers可以get和put a regulator(就像他们可以使用时钟atm一样),并获取/设置电压、电流限制、模式、启用和禁用。这应允许consumers完全控制其电源电压和电流限制。如果不使用,这也会编译出来,以便驱动程序可以在没有基于调节器的电源控制的系统中重复使用。

3.2 Regulator driver interface​​​​​​​

这允许regulator drivers注册其调节器并向内核提供操作。它还具有一个notifier call chain,用于将监管器事件传播到客户端。

3.3 Machine interface​​​​​​​

此接口适用于机器特定代码,允许为每个调节器创建电压/电流域(带约束)。它可以提供调节器约束,防止设备因错误的客户端驱动程序引起的过压或过电流而损坏。它还允许创建一个调节器树,其中一些调节器由其他调节器提供(类似于时钟树)。

3.4 Userspace ABI

用户空间ABI。

该框架还通过sysfs将大量有用的电压/电流/操作模式数据导出到用户空间。这可用于帮助监控设备功耗和状态。

请参阅kernel文档/ABI/testing/sysfs-class-regulator

一点点读懂regulator(一)相关推荐

  1. 一点点读懂Thremal(二)

    目录 1.基本术语概念 1.1 trip point 1.2 cooling state 1.3 zone device state 2.Governor实现介绍 3.step_wise govern ...

  2. 什么是内卷?华为内部这篇文章读懂

    来源:互联网坊间八卦(ID:kekesil) 内卷的意思是明明已经靠近边界有个天花板,但却又不断自我激发,繁复化.精致化.概念的含糊其辞是无效讨论和跌入焦虑自我再生产困境的原因之一.判断内卷还是良性竞 ...

  3. 单片机代码怎么读懂_单片机程序员的面试经验

    需要掌握哪些技能 ● 需要了解并使用过几款常见的单片机. ●  需要熟悉常见的硬件接口譬如 UART .SPI .I2C ●  需要了解一些传感器相关的知识,譬如声.光.磁.温.惯性器件 ●  需要能 ...

  4. 一文读懂 Java 工程师学习路线!

    作者 | 三太子敖丙 来源 | 三太子敖丙(ID:NiceOffer) 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们 ...

  5. 看见、读懂、放大,这个运营套路有点意思

    本文是[友盟+]互联网应用数据业务总经理@于晓航,在2018中国产品运营大会的演讲,由人人都是产品经理社区@Daisy 整理编辑. 其实,每个人都会有自己看用户数据的方式. 很多产品经理看用户数据基本 ...

  6. 一文读懂BERT(原理篇)

    一文读懂BERT(原理篇) 2018年的10月11日,Google发布的论文<Pre-training of Deep Bidirectional Transformers for Langua ...

  7. 计算机飞速发展的图片,让PC读懂你的图

    本文转载自CHIP<新电脑>2010年5月号,<科技与未来>专栏将在今后的几期中,陆续介绍微软亚洲研究院的新技术,我们将及时转载,与您分享新技术的精彩. 计算机拥有思想,拥有人 ...

  8. 如果读懂泪水,就懂了人生的真谛

    2019独角兽企业重金招聘Python工程师标准>>> 忽然间,我毫无缘故.不管别人是否知道什么,只想离开.让它成为别人刻意提起也记不起来的过去.逃离这一段幻想和梦境.逃离这一段伤悲 ...

  9. 读懂婴幼儿心理学,不要随便责怪孩子

    读懂婴幼儿心理学,不要随便责怪孩子 一.不知道孩子在0-6岁时存在各种敏感期,把孩子在敏感期的表现当成不乖的行为斥责孩子,违背了孩子的天性,造成他的痛苦,留下心理隐患. 孩子在0-6岁时存在各种各样的 ...

  10. 25张图让你读懂神经网络构架

    [独家]25张图让你读懂神经网络架构 2017-05-21 22:32 由于新的神经网络架构无时无刻不在涌现,想要记录所有的神经网络是很困难的事情.要把所有这些缩略语指代的网络(DCIGN,IiLST ...

最新文章

  1. access四舍五入取整round_轻松办公|你一点儿也不懂“四舍五入”
  2. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例
  3. php类的的属性值,PHP面向对象之旅:类的属性
  4. SIP.conf的常用参数配置
  5. Redis 分布式集群搭建2022版本+密码(linux环境)
  6. 为了实现自己的美好程序人生
  7. 工厂模式(简单工厂模式)快速理解
  8. 原型即对象(以及认识这点的重要性)
  9. xpath下面的xpath_深入研究XPATH查询
  10. linux基础--awk文本分析工具详解
  11. 华硕顽石四代自主扩展内存条图解
  12. 百度api验证码识别
  13. 【回炉重造系列】之Spring AOP简介
  14. 数据文化 | Uber的数据治理
  15. 百万前端之js通过链接生成二维码可以保存下载复制
  16. android 教你如何创建马甲包
  17. c++音乐播放所需要的头文件和库文件
  18. Power BI 关于日期显示格式的那些事儿
  19. 【论文笔记】Mask2Former: Masked-attention Mask Transformer for Universal Image Segmentation
  20. 数据结构-简介和部分算法分析

热门文章

  1. 重点推荐:看乾隆“上书房”求学记,哈哈
  2. day 11 python基础语法学习 ——函数
  3. 状告技术总监,索赔 90 万元,称其拖延研发进度、系统频繁崩溃出错、产品质量存在严重问题...
  4. 计算机excel教程ppt,计算机应用基础教程ppt课件 全套450页.ppt
  5. Elasticsearch7.x搜索实战
  6. 基于Python图书馆座位预约系统设计与实现 开题报告
  7. python bookmark_Python PyQT-网络浏览器|书签
  8. mybatis批量删除 java_Mybatis批量删除数据操作方法
  9. congestion解决方案
  10. Apache RocketMQ源码学习之生产者发送消息