基于Dragonboard 410c的PMIC简介主要从以下几个方面介绍:
一、PM8916芯片介绍
PM8916针对MSM8x16 / MSM8x39和MSM8929芯片组进行了优化。PM8916-1针对MSM8909 / MSM8209 / MSM8208芯片组进行了优化。单充电源 - USB电池线性充电;所有无线产品电路的直流电源;整个芯片组的系统时钟和睡眠时钟源;三合一支持;双向电池/ UICC报警(BUA)用于UICC正常关机;外部稳压器(如外部降压转换器)和WLED调光器的控制。
二、高通充电charger硬件框图介绍
三、PM8916的充电loop分析
充电过程中存在4个闭环控制
"vchg-loop",
"ichg-loop",
"ibat-loop",
"vdd-loop";
任何一个闭环控制最终都会影响到充电电流大小,四个闭环不会同时达到临界值,但是同时会有多个闭环控制在工作,如下图分析
四、PM8916软件架构
五、调试方法
读取PMIC(pm8916)寄存器的值
oot@M939-F400:/sys/kernel/debug/spmi/spmi-0 # echo 150 > count
root@M939-F400:/sys/kernel/debug/spmi/spmi-0 # echo 0x800 > address
root@M939-F400:/sys/kernel/debug/spmi/spmi-0 # cat data > /data/pon.txt
root@M939-F400:/sys/kernel/debug/spmi/spmi-0 # cat data
00800 00 03 03 00 01 01 00 98 80 00 00 00 00 00 00 00
00810 00 03 03 03 00 03 03 00 00 00 00 00 00 00 00 00
00820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00840 0F 07 04 80 0F 07 04 80 0F 07 04 80 0F 07 04 00
00850 0F 07 04 00 0F 03 08 00 00 00 01 80 00 00 00 00
00860 00 00 00 80 00 00 04 80 00 00 04 00 00 00 00 00
00870 0F 00 00 00 02 04 00 00 00 00 00 00 00 00 00 00
00880 FE 00 40 00 00 00 00 00 05 00 20 00 01 00 00 00
00890 00 40 00 00 00 00
//Spmi.c (drivers\spmi)
spmi_dfs_add_controller
debugfs_create_u32("count", DFS_MODE, dir, &ctrl_data->cnt);
debugfs_create_x32("address", DFS_MODE, dir, &ctrl_data->addr);
debugfs_create_file("data", DFS_MODE, dir, ctrl_data,&spmi_dfs_reg_fops);
list_add(&ctrl_data->node, &dbgfs_data.ctrl);
spmi_driver_register
drv->driver.bus = &spmi_bus_type; {spmi_device_match匹配}