高通平台power_supply 框架下添加第三方充电IC的驱动方法

本文介绍了在高通平台下如何利用power_supply框架添加第三方充电IC的驱动。详细讲解了power_supply框架的功能、软件架构以及工作流程,并阐述了如何编写I2C驱动设备,包括设备树配置、驱动文件编写、电源属性实现和硬件初始化等关键步骤。
摘要由CSDN通过智能技术生成

1.power_supply电源框架介绍

power supply framework在kernel/drivers/power/下。内核抽象出来power supply子系统为驱动提供了统一的框架。

功能包括:

1.抽象PSY设备的共性,向用户空间提供统一的API;

2.为底层PSY驱动的编写,提供简单、统一的方式,同时封装并实现公共逻辑。

power supply class位于drivers/power/目录中,主要由3部分组成(可参考下图的软件架构):

1)power_supply_core,用于抽象核心数据结构、实现公共逻辑。位于drivers/power/power_supply_core.c中。

2)power_supply_sysfs,实现sysfs以及uevent功能。位于drivers/power/power_supply_sysfs.c中。

3)power_supply_leds,基于Linux led class,提供PSY设备状态指示的通用实现。位于drivers/power/power_suppply_leds.c中。

最后,驱动工程师可以基于power supply class,实现具体的PSY drivers,主要处理平台相关、硬件相关的逻辑。这些drivers都位于drivers/power/power_supply目录下。

power_supply的软件架构:

在具体设备文件中在/sys/class/power_supply,具体如下:

 

power_supply 框架工作流程

Linux的设备文件目录中可以在sys/class/下看到power_supply目录;这个power_supply的类是通过power_supply_core.c文件中的power_supply_class_init()中的class_create()函数来进行power_supply类的创建,如下:

  • 19
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值