内核msleep()耗时过多优化

高通低端平台启动时间发现有个地方耗时达2.5s,Linux内核版本3.18,具体是msm camera driver里使用了如下code:for(i=0;i<128;i++) { do_something(); msleep(delay); do_something(); }增加log,delay是1ms,从log看实际延时多达20ms,整个循环下...阅读全文

内核如何获取音量键按下的状态

高通平台一般会把音量下键绑在PMIC RESIN上,这样除了长按电源键重启外,还可以按音量下键重启。先从内核文档(Kernel3.18)了解下RESIN:Qualcomm QPNP power-onThe qpnp-power-on is a driver which supports the power-on(PON)peripheral on Qualcomm PMI...阅读全文

TF卡不能检卡问题排查

bring up阶段SD始终不能检卡,我觉得软件配置应该没问题,硬件是外包的,硬件答复这套设计其他厂商也在用没问题。SD一个卡槽,SIM一个卡槽,高通平台,Linux内核版本3.18。先看下内核文档关于检卡的描述:Card detection:If no property below is supplied, host native card detect is used...阅读全文

内核MMC传输流程Overview

最近看了下mmc读写,起由是Vendor发来eMMC固件升级要求,说如果使用了CMD18 + CMD12,就要升级,因为不知道OEM使用情况,建议都升级。我们来确认下内核的情况, 内核版本3.18,高通平台。#define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */ #define MMC...阅读全文

如何用DXP2004生成制板加工文件

首次尝试画板,用DXP2004做个了简单的转接板,最后环节就是给工厂加工,一般给的是Gerber文件,来看下如何生成。选中PcbDoc文件,然后选择菜单栏File > Fabrication Outputs > Gerber Files后会弹出安装窗口,主要修改Layers:Plot Layers下拉选择Used On,其他默认;选中PcbDoc文件,然后选择...阅读全文