MTK平台驱动学习
文章平均质量分 76
stoic163
转载先进,学习验证,总结分享!
展开
-
总结——驱动模块Makefile解析
ifeq ($(KERNELRELEASE),) KERNELDIR ?= /home/linux/linux-2.6.22.6 PWD := $(shell pwd) modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules mo原创 2017-06-30 17:33:23 · 367 阅读 · 0 评论 -
Android设备间USB传输(OTG)
1. USB概述 为了统一电脑和外围设备的接口标准,方便用户使用以及端口扩展,Intel和USB-IF组织于1994年开始开发一个通用总线标准-- USB(Universal Serial Bus),并在1995年发布USB1.0标准、2000年发展到USB2.0标准、目前已经更新到了USB3.0标准;另外,USB组织也在2004年提出了Wireless USB (无线USB)标转载 2017-06-28 16:12:15 · 3020 阅读 · 0 评论 -
USB学习笔记——OTG功能
USB OTG的工作原理 OTG补充规范对USB 2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。OTG有两种设备类型:两用OTG设备(Dualrole device)和外设式OTG设备(Peripheralonly OTG device) 。两用OTG设备完全符合USB 2.0规范,同时,他还要提供有限的主机能力和一个MiniAB插座、支持主机流通协议(Ho转载 2017-06-24 10:24:33 · 2243 阅读 · 0 评论 -
USB学习笔记--基本介绍
1.1 USB的拓扑结构USB是一种主从结构的系统,主机叫做host,从机叫做device。通常所说的主机具有一个或者多个USB主控制器(host controller)和根集线器(root hub),主控制器主要负责数据处理,而根集线器则提供一个连接主控制器与设备之间的接口和通路。另外,还有一种特殊的USB设备——USB集线器(USB hub),它可以对原有的USB口进行原创 2017-06-23 16:31:38 · 4225 阅读 · 0 评论 -
I2C总线协议详解
1.1 I2C总线知识1.1.1 I2C总线物理拓扑结构 I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2 I2C总线特征转载 2017-06-16 16:12:26 · 6870 阅读 · 1 评论 -
I2C总线信号时序总结
I2C总线信号时序总结总线空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 启动信号 在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。转载 2017-06-16 11:41:44 · 584 阅读 · 0 评论 -
I2C总线简单总结
1.概述I2C是一种两线接口,I2C只用两条双向的线,一条Serial Data Line(SDA),另一条Serial Clock(SCL).SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发)SDA:双向门,与其它任意数量的OD与OC门成“线与”关系。2.输出级每个I2C总线器件内部的SDA、SCL引脚电路结构都是一样的,引原创 2017-06-16 11:28:32 · 4698 阅读 · 1 评论 -
Android8.1关机充电动画位置
1.定义屏幕分辨率以取图片的目录地方:vendor/mediatek/proprietary/bootable/bootloader/lk/project/xxx.mk中:BOOT_LOGO := hd720同事图片资源的文件目录在:vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo下面有很多各种分辨率的图片原始文件,并且在log...原创 2018-05-26 15:45:39 · 4346 阅读 · 0 评论 -
MTK MT6739平台的thermal高温充电机制调整
MTK平台的thermal机制是一种高温保护主板机制。主要用于手机在充电过程中,温度太高对手机主板造成损坏。thermal主要由thermal配置文件和thermal的驱动代码进行控制。从一个充电温度高电流降到0的bug开始讲解:首先从log中看到:<6>[34586.470707] (2)[16839:3ATHREAD]GC5025_camera_sensor[feature_co...原创 2018-06-07 18:04:29 · 9793 阅读 · 0 评论 -
LTF散热框架软件实现_结合MTK6797平台
一. LTF热管理框架简介 LTF(Linux Thermal Framework),主要位于BSP kernel模块,LTF抽象出两种类型的设备,热区设备TZD[Thermal Zone Device] 和冷却设备[Cooling Device]。热区设备主要负责获取和上报从热传感器读取的转换温度值[单位毫摄氏度]。冷却设备通过开关某一个特定的处理函数,来给绑定的热区设备组件降温。一个热区设备最...转载 2018-06-07 18:11:15 · 1960 阅读 · 0 评论 -
MTK USB软件框架
MTKUSB软件框架及其MassStorage Class规范学习总结目录一 MTKUSB支持功能设备二 USB软件体系结构介绍2.1代码目录2.2软件架构2.3主要数据结构,函数,宏,变量三MS功能设备分析3.1 MS概述3.2 MS功能模块组成3.3 MS时序图以及消息流程3.4MS数据传输转载 2017-08-18 16:54:41 · 3440 阅读 · 0 评论 -
MTK平台编译userdebug版本开启串口log方法
1.在lk中,进入目录:vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c在这个文件中,找到以下ifdef USER_BUILD位置(有两处),进行修改:#ifdef USER_BUILDsprintf(cmdline,"%s%s",cmdline," printk.disable_uar原创 2017-09-13 15:15:14 · 3131 阅读 · 0 评论 -
Linux Platform Device and Driver
从Linux2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。linux中大部分的设备驱动,都可以使用这套机制,设备用Platform_device表示,驱动用Platform_driver进行注册。Linux platform driver机制和传统的device driver机制(通过driver_register函数进行注...转载 2017-06-28 16:29:57 · 341 阅读 · 0 评论 -
MTK串口的使用
软件准备。1.vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\gnsz6757_66_n\cust_bldr.mak CFG_UART_LOG :=UART2 我们硬件一般有两个UART口,这里配置要和硬件配置一样。 编译ENG版本pl 下到手机就可以。 如果是user版本,默认跑到k原创 2017-06-16 11:46:51 · 2760 阅读 · 0 评论 -
手机充电原理分析及问题总结
(1)充电流程介绍:当充电器插入时,亦即为PMIC充电模块提供了Vcharge电压,这时会产生一个充电中断信号到CPU,通知CPU现在已经进入充电状态。CPU开始启动如下模块:1,ADC采样,主要是采集Vchrg,Vbat及从MOSFET漏极输出的电压,可以算出充电电压和充电电流;2,发消息给MMI层,让它显示充电状态及一些采样数据;3,检测电池电压有没有超过保护电压及电池转载 2017-06-02 17:52:47 · 1581 阅读 · 2 评论 -
MTK Android Driver :battery
6.PM 充电6.1 配置文件位置:CUSTOM_KERNEL_BATTERY= batterymediatek\custom\\kernel\battery\battery\cust_battery.hmediatek\custom\\kernel\battery\battery\custom_fuel_gauge.h 6.2充电常用参数修改:..\mediatek\转载 2017-06-02 17:51:01 · 715 阅读 · 0 评论 -
MT6589充电模块浅析
1. 原理图:VBUS:USB正极VCDT:充电电压检测脚ISENSE:充电电流检测电阻的正极BATSNS:充电电流检测电阻的负极BAT:电池正极引脚BAT_ON:电池NTC(热敏电阻)引脚2.软件架构3.充电电流、电压的计算通过读取PMIC的寄存器直接可读到VBAT、VISENSE、VCharger、Vbat_temp转载 2017-05-23 17:30:42 · 1137 阅读 · 0 评论 -
MTK65XX平台充电调试总结
摘要:调试电池的充放电管理,首先需要深入了解锂电池的电池原理和特点,充放电特性以及基本的电池安全问题。然后需要对MTK的电池管理驱动程序有深入的了解,理解电池充放电算法的基本原理。在此基础上,对充放电导致的问题进行调试优化。 一、 锂电池工作原理和特性1.工作原理:锂离子电池以碳素材料为负极,以含锂的化合物作正极。它主要依靠锂离子在正极和负极之原创 2017-05-23 10:25:12 · 1391 阅读 · 0 评论 -
MTK平台下Battery驱动分析及充电流程
转自:http://blog.csdn.NET/baidu_34021173/article/details/51105223主要涉及代码:Kernel:kernel-3.10\drivers\power\mediatek\kernel-3.10\drivers\misc\mediatek\mach\mt6580\\power\MTK Bat转载 2017-05-20 16:16:55 · 2765 阅读 · 0 评论 -
Android 电池系统
一、电池系统结构 Android中的电池使用方式主要有三种:AC、USB、Battery 等不同的模式。在应用程序层次,通常包括了电池状态显示的功能。因此从 Android 系统的软件方面(包括驱动程序和用户空间内容)需要在一定程度上获得电池的状态,电池系统主要负责电池信息统计、显示。电池系统的架构如下所示:自下而上, Android 的电池系统分成以下转载 2016-11-16 14:55:58 · 1052 阅读 · 0 评论 -
platform设备驱动全透析
1.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不是问转载 2017-06-28 16:30:52 · 363 阅读 · 0 评论 -
MTK Fuel Gauge算法分析
Battery 架构简析 MTK 平台 Battery 软件架构基本如上图所示。具体过程: 硬件 ADC 读取 Battery 的各路信息:包括温度,电压等。MTK 开发的电量算法分析得到的数据。Kernel 层将电量信息通过写文件节点的方式更新,并通过 UEVENT 通知上层。上层 Service 开启 UEVENT LISTENER,监听到 UEVENT 后,读...转载 2018-06-28 19:03:15 · 1313 阅读 · 0 评论