摘要: 电量计节点中有capacity_level 节点,这个是反应当前电池电流高低水平的参数。 分为critical low full normal 一般是由fg的芯片来判断,通过IIC读取,具体判断可参考: case POWER_SUPPLY_PROP_CAPACITY_LEVEL: if (batte 阅读全文
posted @ 2017-11-09 15:53 HelloAtom 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 我在网上看到了一点神奇的代码,用来计算一个数字末尾连续零的个数。 刚好我在优化一个I2C读写函数(只写入I2C特定bit),觉得这个很有用。经过尝试,确实没问题。 下面我隆重介绍一下: Count the consecutive zero bits (trailing) on the right w 阅读全文
posted @ 2017-09-30 17:45 HelloAtom 阅读(322) 评论(0) 推荐(0) 编辑
摘要: Thermal Engine Thermal 相关的东西主要在Vendor/qcom/proprietary/thermal-engine 目录下: thermal-engine.conf 文件可以用来配置高低温时CPU的工作模式、充电电流等相关操作。 也可通过修改ss-data.c thermal 阅读全文
posted @ 2017-09-26 18:48 HelloAtom 阅读(2548) 评论(0) 推荐(0) 编辑
摘要: USB 接口探测分类 SDP (Standand Downstream Port) 标准下行接口 标准USB都支持的接口 这种端口的D+和D 线上具有15kΩ下拉电阻。限流值如上讨论:挂起时为2.5mA,连接时为100mA,连接并配置 为较高功率时为500mA。 CDP (Charging Down 阅读全文
posted @ 2017-09-21 10:59 HelloAtom 阅读(1334) 评论(0) 推荐(0) 编辑
摘要: 高通平台8916/8917 对于第三方Fuel Gauge,跳变多是因为IC内部算法的问题,这样我们可以通过驱动来规避。 例如:usb在位时,要阻止电量的向下跳变。 当电量越级跳变时,要在驱动中能检测到。 问题情形:1.电量跳变到50%或偏差过大2.电池ID脚接地3.温度脚来判断电池是否在位 推测原 阅读全文
posted @ 2017-04-28 10:53 HelloAtom 阅读(2034) 评论(0) 推荐(0) 编辑
摘要: poll机制分析 韦东山 2009.12.10 所有的系统调用,基于都可以在它的名字前加上“sys_”前缀,这就是它在内核中对应的函数。比如系统调用open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_poll。 一、内核框架 阅读全文
posted @ 2017-01-09 21:16 HelloAtom 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 【参考】韦东山 教学笔记 1. 原子操作原子操作指的是在执行过程中不会被别的代码路径所中断的操作。常用原子操作函数举例:atomic_t v = ATOMIC_INIT(0); //定义原子变量v并初始化为0atomic_read(atomic_t *v); //返回原子变量的值void atomi 阅读全文
posted @ 2017-01-09 21:13 HelloAtom 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 【参考】韦东山 教学笔记 为了使设备支持异步通知机制,驱动程序中涉及以下3项工作:1. 支持F_SETOWN命令,能在这个控制命令处理中设置filp->f_owner为对应进程ID。 不过此项工作已由内核完成,设备驱动无须处理。2. 支持F_SETFL命令的处理,每当FASYNC标志改变时,驱动程序 阅读全文
posted @ 2017-01-09 21:12 HelloAtom 阅读(174) 评论(0) 推荐(0) 编辑
摘要: ubuntu下如何修改(安装)arm linux gcc编译器 将gcc解压到根目录 查看原来的环境变量 得到: 修改新的环境变量:(仅本次登陆用新的gcc) 注:/work/tools/gcc 3.4.5 glibc 2.3.6/bin 是gcc 3.4.5 glibc 2.3.6版的目录 /us 阅读全文
posted @ 2016-12-21 14:59 HelloAtom 阅读(608) 评论(0) 推荐(0) 编辑
摘要: *************************************************************************** 问题:客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机无法识别介质的更改。如果可能,请在断开连接之前从客 阅读全文
posted @ 2016-12-20 21:19 HelloAtom 阅读(410) 评论(0) 推荐(0) 编辑