完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
视壮科技商显主板RK3288在uboot电量计驱动分析
1、uboot添加电量计fg驱动: 修改u-bootdriverspowerfuel_gaugefg_cw201x.c #define COMPAT_ROCKCHIP_CW201X "cw2013" 宏定义COMPAT_ROCKCHIP_CW201X 必须与内核的dts里面的节点一致,如下: CW2015@62 { compatible = "cw2013"; status = "okay"; 2、uboot修改系统正常启动的电压门限宏定义,低于这个电压,禁止uboot启动内核,并关机。 u-bootincludeconfigsrk32plat.h #define CONFIG_SYSTEM_ON_VOL_THRESD 7500 //7500表示7.5V,如果不接外部电源,电池电压低于7.5V时,系统不能启动。 3、添加低电压图片: 1)拷贝u-boottoolsresource_toolresourcesimagesbattery_fail.bmp到kernel根目录下。 2)修改kernelarcharmMakefile,将battery_fail.bmp编译进固件 LOGO := $(notdir $(wildcard $(srctree)/logo.bmp)) $(notdir $(wildcard $(srctree)/battery_fail.bmp)) 3)修改uboot/board/rockchip/common/rkboot/fastboot.c static void board_fbt_low_power_off(void) { if (is_power_low()) { if (!is_charging()) { FBTERR("low power, shutting down...n"); #ifdef CONFIG_LCD #ifdef CONFIG_RK_FB //TODO: show warning logo. - show_resource_image("image/battery_fail.bmp"); + show_resource_image("battery_fail.bmp"); 4、uboot电压计算 uboot/drivers/power/fuel_gauge/fg_cw201x.c cw_get_vol() { - voltage = value16_1 * 305; - return voltage/1000; //与内核fg驱动计算公式一致。 + voltage_jason = (value16_1 * 312 / 1024)*2; + return voltage_jason; } uboot计算出来的电压要比kernel计算出来的电压高0.3V左右。板子一上电uboot就计算电压,所以电压值会偏高一点。 uboot电量百分比的计算公式依赖于电压,所以要注意电量百分比的计算。 |
|
相关推荐
|
|
PD诱骗取电芯片_PD_Sink端芯片之XSP05实战应用电路
1924 浏览 1 评论
BLDC、PMSM电机智能栅极驱动芯片之TMC6140知识分享
720 浏览 0 评论
国产电源芯片DP4054 软硬件兼容TP4054 规格书资料
1233 浏览 0 评论
2833 浏览 3 评论
1304 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 05:30 , Processed in 0.698898 second(s), Total 51, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号