转眼间,从事PMIC驱动开发已将近4年,前后参与两款PMIC芯片研发,一款自研,一款Q公司PMIC,对PMIC有了一定的理解,将其总结归纳,算是这几年工作的收获吧?

读者对象:对PMIC感兴趣的读者,或者从事PMIC驱动开发的同学

目的:一 防止遗忘

二 与大家交流

一 基础概念

PMIC(Power Management IC)又称电源管理IC,是一种特定用途的集成电路,其功能是为主系统作管理电源等工作。PMIC常用于以电池作为电源的装置,例如手机,平板,以及其他嵌入式产品,如智能POS机。

二 组成

PMIC按照功能,可以划分为以下几个部分

1) 输出电源管理(如SMPS,LDO等等)

2) 输入电源管理(如battery charge,coin cell等等)

3) Audio(如codec,模拟电路等等)

4) 用户接口(如Vibrator,LCD bias等等)

5) IC接口(如PON,i2c/spmi等等)

6)housekeeping(如RTC,ADC,XO等等)

7)MPP/GPIO

三 整体驱动框架

PMIC内模块涉及到的Linux驱动框架主要有以下几个:

1 Regulator

2 Power supply

3 RTC

4 PWM

5 GPIO

6 IIO ADC

7 Vibrator

8 Leds

9 PON

从上面可以看出,PMIC内部不同的子模块对应的驱动框架是不同的,每种驱动框架所用到的数据结构和API接口也不同,所以需要分开介绍。

诚邀各位关注此系列文章,我们一起玩转PMIC驱动 ^_^

浅谈Linux PMIC驱动(一)相关推荐

  1. 浅谈Linux PCI设备驱动(二)

    我们在浅谈Linux PCI设备驱动(一)中(以下简称浅谈(一) )介绍了PCI的配置寄存器组,而Linux PCI初始化就是使用了这些寄存器来进行的.后面我们会举个例子来说明Linux PCI设备驱 ...

  2. 浅谈linux - 内核时间的处理

    概述 对于嵌入式开发,经常会遇到一些定时.延时以及周期调度的情况,所以定时器是必不可少的一种资源. 相对于裸机开发,我们使用定时器只需先选择时钟源,然后设置分频系数和计数值,配置好中断后,就可以静静的 ...

  3. 浅谈Linux标准的文件系统(Ext2/Ext3/Ext4)

    Ext 全称Linux extended file system, extfs,即Linux扩展文件系统,Ext2就代表第二代文件扩展系统,Ext3/Ext4以此类推,它们都是Ext2的升级版,只不过 ...

  4. 浅谈linux - 描述硬件的文件设备树

    概述 设备树(device tree),通俗的讲就是将设备描述信息抽象成树的结构.树的主干为系统总线,也就是根节点,根节点下是各种总线控制器,控制器下则是一系列硬件设备节点等. 在Linux2.6中, ...

  5. 浅谈Linux中ldconfig和ldd的用法

    ldd 查看程序依赖库 ldd 作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题. 示例:查看test程序运行所依赖的库: /opt/app/todeav1/te ...

  6. linux中sh+$0,浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    摘抄自:ABS_GUIDE 下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: ...

  7. linux 易语言窗口程序_浅谈Linux入门的基本知识

    浅谈Linux入门的基本知识 图形模式与文字模式的切换方式Linux预设提供了六个命令窗口终端机让我们来登录. 默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1.tty2 - ...

  8. Linux先发送条件变量,浅谈Linux条件变量的使用

    Linux线程同步之间存在多种机制,条件变量是一种类似操作系统里提到的生产者-消费者算法的同步机制,允许线程以无竞争的方式等待特定条件的发生. 示例伪代码: void* Thread1(void){ ...

  9. shell for循环1到100_浅谈Linux下shell 编程的for循环常用的6种结构

    浅谈Linux下shell 编程的for循环常用的6种结构 1. 常用for循环结构 (1) for 变量 in 值1 值2 值3... do 程序块儿 done (2) for 变量 in `命令` ...

  10. Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)

    1.exit()函数 exit(int n)  其实就是直接退出程序, 因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的. 一般在shell下 ...

最新文章

  1. 考研加油!考研的兄弟姐妹们!
  2. DNA sequencing technologies: 2006–2016
  3. 查看Oracle数据库中的,已经连接好的..当前用户状况
  4. vue 解决跨域 调试_Electron-vue解决跨域
  5. 解决修改SQL SERVER 默认1433端口 访问出错的问题;
  6. oracle tsn文件,无法启动OracleOraDB10g_home1TSNListener服务
  7. 远控免杀专题 13----zirikatu免杀
  8. 输油管道问题 测试数据_建立测试时要考虑的数据管道
  9. 干货分享丨从MPG 线程模型,探讨Go语言的并发程序
  10. 【linux】——环境变量
  11. 为什么default package包里面的方法不能被其他包调用
  12. 华中科技大学计算机徐明,华中科技大学2011年本科特优生名单
  13. 使用J-link+J-Flash给STM32芯片烧写序列号
  14. 中兴olt xpon开局及业务配置以及原理
  15. flex布局中的自动占满剩下的内容
  16. python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出
  17. AD域详细介绍和部署
  18. 阿里云服务器CentOS部署Minio服务实现远程访问
  19. cdn的费是多少_通常的cdn收费标准介绍
  20. 电平是啥,大白话理解行吗?

热门文章

  1. 戴尔DELL OEM Win7SP1简体中文旗舰版原版光盘镜像64位
  2. python学习——matplotlib颜色设置适合论文的配色
  3. 超级详细:Docker Commands —— Container Commands !(新手必看必会)
  4. LaTeX中的参考文献——作者年代引用
  5. 波士顿房价预测python_多元线性回归—波士顿房价预测(版本一)
  6. Java写的小游戏贪吃蛇代码
  7. Greedy 贪心算法
  8. Expressive TTS 相关论文阶段性总结
  9. SNF快速开发平台--规则引擎在程序当中如何调用
  10. 谷歌浏览器能打开网页微信_Chrome浏览器打开微信页面-Go语言中文社区