高通
文章平均质量分 84
Eliot_shao
年轻人有先见之明。。。。。
展开
-
Linux电源管理-Runtime PM
前言1. 什么是Runtime PM?Runtime PM (Runtime Power Management)翻译过来就是运行时电源管理。主要的作用是: 每个设备处理好自己的电源管理,在不需要工作时进入低功耗状态。也就是"各人自扫门前雪"。2. 为什么需要Runtime PM?system suspend需要很长时间完成,其中还可能出现失败。比如freeze t...转载 2019-11-18 08:59:58 · 1327 阅读 · 0 评论 -
基于PM8916 MPP创建一个Linux led子系统
基于PM8916 MPP创建一个Linuxled子系统首先,从kernel文件系统层面上创建sys文件系统节点/sys/class/leds/button-backlight/brightness的方法,是基于kernel部分驱动kernel/drivers/leds/leds-gpio.c创建的,其中dts中每一个子节点都对应一个Gpio的led,都会生成一个以label名称为目录的led类原创 2017-03-06 19:23:27 · 3475 阅读 · 0 评论 -
高通LK阶段使用模拟i2c--附i2c子协议smbus-protocol
在调试mipi转换芯片的时候总是需要使用i2c对其进行初始化,kernel阶段好办,一般高通平台提供较为完整的i2c操作方法,只需要配置一下i2c地址就可以建立相应的i2c设备。但是lk阶段就不尽人意了。比如在此案例中,msm8937平台的lk阶段并没有配置i2c接口,只好使用模拟i2c一劳永逸。遂,写了一个简单的模拟i2c读写接口,代码如下,仅供参考学习。已测试可以使用。另外附录i2原创 2017-05-15 19:52:28 · 2565 阅读 · 1 评论 -
Android 7.1 竖屏转横屏全过程实现-基于高通平台
背景:调试使用一款800x1280分辨率的屏,客户希望横屏使用(1280x800),且没有旋转过程,看起来就是横屏显示一样。修改主要涉及几个方面,第一是LK阶段的图片,第二是开机动画的显示(/system/bin/bootanimation),第三是最终进入系统后的显示,且所有的显示过程无缝连接。涉及的库文件:/system/lib64/libsurfaceflinger.so/s原创 2017-04-25 19:39:33 · 13497 阅读 · 5 评论 -
高通Android平台-应用空间操作framebuffer dump LCD总结
高通Android平台 dump LCD总结转载请注明出处,谢谢!项目终于到一个比较奇葩的客户,希望可以中断Android系统界面,显示发送过来的图片。想在高通msm8937平台,720x1280 HD 显示屏上dump点东西,原创 2017-07-10 17:21:56 · 3451 阅读 · 0 评论 -
使用pinctrl子系统实现引脚功能动态切换
使用pinctrl子系统实现动态切换引脚功能 设备dts (msm8909-pinctrl.dtsi)&soc { tlmm_pinmux:pinctrl@1000000 { compatible= "qcom,msm-tlmm-8916"; reg= ;原创 2017-07-11 10:41:17 · 4738 阅读 · 0 评论 -
android 双触摸屏(touchscreen)实现--kernel driver
背景本文主要实现一个Android系统,调试两个相同的TP设备,使用同一个TP的驱动。最终实现结果,两个TP都可以控制Android,正常报点。实现过程:硬件连接介绍:软件实现:在dtsi文件添加两个TP设备(名字不一样):LA.UM.5.6\kernel\msm-3.18\arch\arm\boot\dts\qcom\msm8937-pmi8937...原创 2020-07-28 17:04:58 · 6848 阅读 · 4 评论 -
高通功耗问题分析手段
高通官方提供了一篇文档extensive_power_debug_guide_(simplified_chinese功耗调试).pdf 用来分析中断功耗问题。本文结合该文档简单的总结了AP端功耗问题分析手段。首先是官方功耗分析流程图:注意几个关键的名词:Modem 调制解调器芯片RPM Resource Power Manager是高通MSM平台另外加的原创 2017-06-14 10:45:03 · 6414 阅读 · 0 评论 -
sn65dsi86 mipi2edp 调试
物联网产品越来越多,很多用的平台上android,上android的平台多数都是mipi的接口,所以需要使用其它接口的屏,比如说edp,hdmi,lvds,rgb等都会用到转接芯片。这里写篇调试mipi2edp的文章,给大家参考。本文简述SN65DSI86 MIPI® DSI to eDP™ Bridge调试记录。1、调试使用的硬件环境为高通msm8937平台,双dsi原创 2017-09-29 14:13:31 · 5572 阅读 · 14 评论 -
高通设置LDO电压
高通平台如何设置LDO电压,以LDO17为例,默认给屏供电,设置为2.85V现在设置为3.3V。修改的rpm和sbl部分代码,修改LDO17电压为3.3V 。修改如下:(1)、--- a/RPM.BF.2.2/rpm_proc/core/systemdrivers/pmic/config/msm8937/pm_config_target.c+++ b原创 2017-09-22 11:11:57 · 6867 阅读 · 2 评论 -
调整android输出分辨率,适配更大分辨率的屏
有时我们希望实现在大分辨率的屏上显示小分辨率的android界面。实际代码修改如下:--- a/kernel/msm-3.18/drivers/video/msm/mdss/mdss_fb.c+++ b/kernel/msm-3.18/drivers/video/msm/mdss/mdss_fb.c@@ -2501,8 +2501,8 @@ static int mdss_fb原创 2017-10-25 10:18:59 · 8650 阅读 · 1 评论 -
LCM休眠唤醒闪白屏问题调试记录
现象:出问题的是xxx项目使用的是芯片为ili9488,模组为KGM1182B0-1C Model的LCM,在休眠唤醒的时候容易闪白屏,然后恢复正常使用。修改kernel/drivers/video/msm/mdss/mdss_dsi_panel.c 中,延时背光点亮的时间:唤醒闪白屏的问题得到有效的解决,但是机器在使用过程中又出现了新的问题:休眠唤醒的原创 2017-02-25 11:01:50 · 6187 阅读 · 1 评论 -
高通Android平台下关于display部分的几个关键问题
显示部分的几个问题这几天通过实际测试澄清了一下,主要是下图中各个模块的使用状况以及HAL层几个模块的调用流程。以问题的方式描述如下:0. SurfaceFlinger主要功能 SurfaceFlinger只是负责merge Surface的控制,如计算出两个Surface重叠的区域,至于Surface需要显示的内容,则通过Skia、OpenGL和pixflinger来计算。转载 2017-02-23 12:58:09 · 1339 阅读 · 2 评论 -
LCD 调试问题总结
LCD点不亮——无法正确完成初始化: LCD点不亮问题的原因有很多,但出现这个问题后,首先应该判断LCD是否正确完成初始化。最简单的判断方法就是测量LCM的FPC上的电容两端电压。(具体的值可以和模组供应商沟通) 如果经过上一步,检测出没有正确完成初始化,接下来首先和模组、IC一起确认初始化代码是否有问题。 确认好代码以后还是点不亮,说明转载 2016-09-24 16:34:27 · 5966 阅读 · 0 评论 -
Qcom LK阶段如何使用ADC介绍
摘要本文叙述了在高通平台LK阶段读取mpp2引脚电平的实现过程,附上实现代码。主要实现过程包括配置引脚功能,读取引脚电压。需要特别注意配置mpp2通道和AIN route的选择。需要修改的文件:bootable\bootloader\lk\app\aboot\aboot.cPm8x41_adc.c (dev\pmic\pm8x41)Pm8x41_ad原创 2016-09-24 15:26:48 · 3863 阅读 · 2 评论 -
Qcom android L ro.sf.lcd_density属性修改
Qcom android L ro.sf.lcd_density属性修改在kernel里面kernel/drivers/video/fbsysfs.c会导出数据/sys/class/graphics/fb0/virtual_size在Y:\LA.BR.1.2.4-05310-8x16.0\device\qcom\common\init\init_msm891原创 2016-09-26 17:51:01 · 15265 阅读 · 1 评论 -
Qcom LK阶段如何使用I2C介绍
下面是Qcom LK阶段使用I2C的代码:#include #include static struct qup_i2c_dev *i2c_dev;i2c_dev = qup_blsp_i2c_init(BLSP_ID_1, QUP_ID_1, 100000, 19200000);static int qrd_lcd_i2c_read(uint8_t addr){原创 2016-09-27 15:46:02 · 3214 阅读 · 0 评论 -
自定义OTA升级包(差分包,增量包,增量更新)
OTA是Over-the-Air的简写,空中下载技术的意思,OTA升级包,就是一种可以使用网络或者SD卡给手机进行升级的一种文件包,相当于给系统打补丁的一种方法,其原理是通过recovery升级的功能进行实现的。Recovery提供的功能如下,使用apply update from sdcard功能即可升级OTA包。这种升级方式也可以通过adbroot/adb remount/adb push指令原创 2016-11-08 19:57:25 · 24805 阅读 · 1 评论 -
高通msm8916 LK阶段配置使用i2c5
背景:在调试SLM753某客户项目LCM时,客户使用LVDS的LCM,而msm8916只有一个mipi的接口,所以就是用到了mipi-2-lvds转换芯片:icn6202。这颗芯片需要使用I2C进行配置LVDS屏的时钟和分辨率等信息,以至于LVDS屏可以正常显示。Kernel阶段i2c比较容易使用,只需在dts中配置一个i2c设备即可以使用对应的i2c接口进行数据传输,但是LK阶段的代码就显得原创 2016-11-26 15:19:50 · 5578 阅读 · 1 评论 -
高通8916 PMIC休眠关闭LDO 解决LCM极化问题
案例:在调试qcom msm8916 + PM8916平台的时候,遇到一个bug,LCM休眠时候,vdd引脚电压没有拉低,电压还是2.85V,造成1920X1200nt51021b 京东方8寸LCM调试的时候经常因为系统休眠或者不断重启,LCM极化,造成闪屏,或者不能正常显示的问题。调试经过:通过查看原理图发现,vdd使用了LDO17作为电源,LDO17在系统休眠的时候没有关闭。在原创 2016-11-21 18:55:27 · 11373 阅读 · 1 评论 -
高通使用/system/bin/r读取msm8916的gpio配置
高通使用/system/bin/r读取msm8916的gpio配置作者:Eliot shao 2016年12月22日使用文档:80-NK807-2X msm8916 software interface for oems.pdf参考网页文档:http://wenku.baidu.com/link?url=2u78OI8f8sSWyFSHKwmgZgmMJ原创 2016-12-23 10:33:58 · 6050 阅读 · 2 评论 -
经典boost手机背光电路调试分析
项目中普遍使用的背光电路,是通过pwm控制。Pwm占空比越大,背光亮度越大,pwm占空比越小,背光亮度越小。典型的使用背光芯片为6脚的boost升压芯片。以Silergy Corporation矽力杰半导体SY7203为例,如下图:Vin范围:2.8 to 30V20kHz~1MHz wide dimming frequency range forEN/PWM pin 。原创 2017-01-09 17:30:10 · 11779 阅读 · 0 评论 -
msm8916 MDP(mobile display processor) 简介
硬件上面,Msm8916只有一个mipi-dsi接口用于连接LCM,由MDP(mobile display processor)进行管理,大概硬件结构图如下:mdp提供图片格式转换,旋转,overlay(overlay技术)等功能,dsi提供传输数据。注意:overlay主要为了满足多界面叠加的需求,可理解为pipe,MDP支持3个overlay pipe。原创 2017-01-18 17:26:38 · 5661 阅读 · 0 评论 -
MIPI-DSI 三种 Video Mode 理解
D- PHY的物理层支持HS(High Speed)和LP(Low Power)两种工作模式HS模式:低压查分信号 功耗大 高速率(80M -1Gbps) 信号幅值(100mv-300mv)LP模式:单端信号 功耗小,速率低(在高速模式下,通道状态是差分的0或1,定义P比N高时定义为1,P比N低时定义为0,此时线上典型电压为差分200mv在LP模式下,只用lane0原创 2016-09-08 19:31:56 · 94558 阅读 · 14 评论