
MTK 驱动
文章平均质量分 76
bobuddy
这个作者很懒,什么都没留下…
展开
-
MTK sensor调试日志
注 epl259x的驱动可以用于 epl2590 MN66213 MN26233TKDN - id = 0x91 MN25713EKDN - id = 0x81 8975 // 4个手势方向 - 4颗sensor排列 2219 // 4个手势方向 als 室内光照下应该为700左右 ps 底噪值应该为700左右 - *#*#3646633#*#* *#*#889988#*#* ->...转载 2021-12-14 16:36:15 · 3950 阅读 · 0 评论 -
MTK平台调试
1.代码的编译部分私有的代码在modem中,参考平台对应的release_note(在vendor下),进行modem的编译和ap部分私有代码的拷贝。编译preloader make pl编译lk make lk编译kernel make bootimage编译dtbo make dtboimage2.工程暗码*#*#3646633#*#*,无相应的测试应用3.调屏用dct工具(vendor/mediatek/proprietary/tools/dct)确认RST...转载 2021-08-16 19:39:21 · 2474 阅读 · 0 评论 -
MTK 开机logo 修改
简单科普1. MTK 的开机logo图片路径在vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo\xxx 目录下2. xxx 定义对应宏 BOOT_LOGO = wxgadevice\mediateksample\型号\ProjectConfig.mk3. vendor\mediatek\proprietary\bootable\bootloader\lk\project\型号.mk修改 BOOT_LOGO 就能去对应的文件转载 2021-08-16 15:32:09 · 3269 阅读 · 0 评论 -
MTK DTS 文件配置
mtk dts文件的配置一、dts学习(注:pin 包括但不属于 gpio) 1.gpio0 node编写方法: gpio0: gpio@0 { pins_cmd_dat { pins = <PINMUX_GPIO0__FUNC_IDDIG>; //模式 slew-rate = <0>;转载 2021-08-16 14:06:08 · 3210 阅读 · 0 评论 -
MTK平台创建Vendor方法(最大化复用代码)
需求分析:实际项目中,我们往往需要在同一个git分支支持多个项目,为此我们需要为不同的项目创建各自的vendor,把项目的差异进行隔离的同时,也能最大化复用代码,保证项目的共性问题可以及时同步到其他的项目中。下面是详细的实现方法:创建vendor:1. ./vendor/mediatek/libs/spm8666p1_64_car2../vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6771/spm86转载 2021-08-13 17:48:16 · 1707 阅读 · 0 评论 -
MTK平台Sensor Bring Up
sensor的img位于scp.img9.1、在成熟的平台Bring Up在已知的平台上驱动并验证一个器件是很常见的工作。因为管脚等基本不需要重新配置。所以只需要按照一般步骤驱动即可。驱动代码位置:vendor/mediatek/proprietary/tinysys/freertos/source/middleware/contexthub/MEMS_Driver/accGyro/生成.o文件位置:out/target/product/****/obj/TINYSYS_OBJ/tiny转载 2021-08-13 11:17:36 · 1714 阅读 · 1 评论 -
MTK Modem编译
附上MTK FAQ:[DESCRIPTION]有些客户反馈modem编译步骤比较复杂,这里对release note里的内容做了一些归纳。编译modem可以先参考如下内容,更多细节可以参考release note。[SOLUTION]Step 1: 配置环境按照release note -->Build Environment Info, 配置编译环境。注意:tool要使用要求的版本,其它版本MTK内部没有测试过,很可能会出现编译报错。Step 2: 编译命令./m .转载 2021-05-15 20:19:14 · 2672 阅读 · 0 评论 -
MTK平台 通过adb shell 修改/显示 GPIO 状态
[DESCRIPTION]通过adb shell 修改/显示 GPIO 状态.[KEYWORD]GPIO[SOLUTION]1. 显示 GPIO 状态:1.1 MT6885之后的格式如下cat /sys/devices/platform/pinctrl/mt_gpioPIN: (MODE)(DIR)(DOUT)(DIN)(DRIVE)(SMT)(IES)(PULL_EN)(PULL_SEL)(R1 R0)例如(kernel-4.14 DRIVE列宽度为2,其他列为1,其...转载 2021-05-07 14:29:48 · 3185 阅读 · 0 评论 -
MTK 平台Camera 驱动架构
记录下 Mtk的Hal3架构笔记,正在进行学习,后续仍会更新一.MtkCam3的代码结构及学习资料mtk online里搜Camera 可以搜到很全面的Mtk Hal3的学习文档,Mtk整理的文档很棒,简单到位!https://online.mediatek.com/QuickStart/2a17666a-9d46-4686-9222-610ec0f087cc下述的代码结构只是列出了mtk平台的camera路径,Android Camera相关路径并未记录APPMTK Cameravend转载 2021-04-23 17:27:45 · 1566 阅读 · 1 评论 -
MTK 平台Camera 驱动架构
android 将系统大致分为应用层、库文件(c/c++ java lib)和硬件抽象层、Linux 内核四层。在底层的内核空间,Camera 的driver 将其驱动起来以后,将硬件驱动的接口交给硬件抽象层,android 上层的Camera 应用程序在android 实时系统中的虚拟机中,加载android 留给Camera 公用的一些库文件,调用硬件抽象层的接口来控制Camera硬件来实现功能。当然,如果是Raw 模式的Camera ,还需要在硬件抽象层调用一些参数来控制Camera ...转载 2021-04-23 15:40:53 · 1718 阅读 · 0 评论 -
mtk驱动camera的调试总结1--原理
关于camera的调试总结主要从原理知识,调试流程及代码流程,调试碰到的问题总结3个方面讲解。camera在手机驱动调试中占了大头,相对比较复杂。主要是他涉及到的原理、代码比较多,名词也比较多。首先咱们先从摄像头的原理开始。可以从MTK官网或普通网站搜索了解即可,我在这结合项目来做个简单的总结。1、下图是camera模组的基本结构。2、CCM的工作原理:物体通过镜头(lens)聚集的光,通过CMOS或CCD集成电路,把光信号转换成电信号,再经过内部图像处理器(ISP)转换成数字图像信号输出到数转载 2021-04-22 14:04:05 · 2983 阅读 · 0 评论 -
Camera的调试总结2--代码流程及移植步骤
1、先梳理下camera的驱动架构,如下是驱动展开后的代码目录简单介绍下几个比较重要的文件:inc->kd_imgsensor.h -----定义sensor id 和sensor namesrc->mt6580->camera_hw->kd_camera_hw.c -----配置camera的上电时序src->mt6580->kd_sensorlist.h------结合对应的sensor id和名字绑定对应的初始化函数src->mt6580-&g转载 2021-04-22 13:58:19 · 2132 阅读 · 0 评论 -
MTK平台GPIO的使用与调试
我们在LINUX外设驱动的开发与调试中,GPIO的正确使用是一门必修课,本文主要描述MTK平台GPIO的使用和调试方法。一,DWS的配置打开dws文件的工具 DrvGen.exe 有新和旧两种,不同平台使用的工具可能不一样,新平台大多使用新的 DrvGen.exe,两种工具只是打开的方式和界面不一样,其实GPIO的配置项两个都大同小异,本文以MT6739平台为例,使用新的DrvGen.exe 工具。路径在:alps\vendor\mediatek\proprietary\scripts\dct下.转载 2021-04-21 17:46:50 · 3171 阅读 · 0 评论 -
MTK LCM移植流程
Android系统开机启动过程及驱动概述:MTK平台的显示驱动分两块,一块在LK代码里面,一块在kernel代码里面;lk的lcm驱动路径在:vendor\mediatek\proprietary\bootable\bootloader\lk\dev\lcm\xxxx_hd720_dsi_vdokernel的lcm驱动路径在:kernel-x.x\drivers\misc\mediatek\lcm\xxxx_hd720_dsi_vdolcm驱动中,最主要的是了解该结构体中的成员函数运行过程:转载 2021-04-20 20:46:31 · 9261 阅读 · 0 评论 -
MTK 平台CTP bring up
MTK 平台CTP bring up记录MTK平台 CTP bring up的过程一、TP的基础原理二、bring up步骤1.找到代码目录;2.需要修改的地方一般为makefile,dts以及config遇到的问题:记录MTK平台 CTP bring up的过程本次 TP bring up的平台是基于MT6761的8766工程,TP的ic为BOE的FT3427,和 国显的GT9293。一、TP的基础原理1.现在主流的屏幕技术都为电容屏,所谓的CTP;CTP从制造工艺也分为几个版本;转载 2021-04-20 20:37:31 · 2042 阅读 · 0 评论 -
MTK CTP移植流程android 8.1
TP启动过程及驱动概述:Mtk Touch driver:驱动包括Mtkplatform 虚拟平台设备驱动、Module touch IC驱动、Inputsubsystem。Mtk platform:设备驱动是mtk为了兼容多个touch IC驱动而设计出来的虚拟驱动,它会去遍历每一个touch IC驱动,直到其中一个初始化成功。Linux input_subsystem:是linux的输入子系统,我们的输入设备都要通过这个子系统进行上报事件以及设置事件的类型。static struct tpd转载 2021-04-20 20:20:52 · 582 阅读 · 2 评论 -
adb操控MTKLogger
以下为结合相关资料整理而来。如何通过adb command去控制MTKLogger 开关DebugLoggerUI (Q0之后更名),设定log路径等等。Q0版本之前:1. 开启/关闭adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start/stop --ei cmd_target 23(start表示开启,stop表示关闭;23可改为1/2/4/16,分别代表MobileLog/ModemLog/转载 2021-04-17 17:13:17 · 2596 阅读 · 0 评论 -
MTK平台安卓Q 10.0 camera驱动移植——sensor
平台MTK676X 安卓:Q/10.01. 添加驱动程序文件将模组厂商提供的驱动程序及调试参数文件拷贝到以下目录.厂商可能会自行客制化,但都是kernel和vendor两处下面,不一定和下面列出的一模一样。两个文件夹需要的文件一般提供的时候就会分开,分别拷入就好。vendor/mediatek/proprietary/custom/kxxx/ hal/imgsensor/gc8034_kxxx_mipi_raw/kernel-4.9 / drivers/misc/mediatek/imgse转载 2021-04-17 16:57:22 · 1353 阅读 · 0 评论 -
MTK andriod 9.0 基本配置文件
CONFIG_FILE PATH projectconfig ${dirname PRODUCTS}/ProjectConfig.mk kconfig ${LINUX_KERNEL_VERSION}/arch/${TARGET_ARCH}/configs/${MTK_TARGET_PROJECT}_defconfig device.mk device/mediatek/${MTK_TARGET_PROJECT}/...原创 2021-04-14 11:04:54 · 608 阅读 · 0 评论 -
指纹调试 mtk(MT6763)- android8.1
一 指纹调试思路,总纲二 硬件原理图三 如何确认是否移植好finger驱动?a)probe函数调试的初始化是否成功,打印信息确认b)查看设备节点是否生成 /dev/sunwave_fp c)SPI通信是否成功,1)确认pin脚初始化是否正确,是否被占用,cs,clk,rst,miso,mosi,eint等,android8.1对应的gpio路径:cat...转载 2021-04-02 10:14:16 · 1725 阅读 · 0 评论 -
MTK6771 Android8.0 REE 指纹代码移植
MTK6771 Android8.0 REE 指纹代码移植环境搭建1,安装Ubuntu 16.04 LTS 版本,按照MT6771_Basic_V1.0.pdf 安装Android O 版本所需的基本编译工具。$ sudo apt-get install openjdk-8-jdk build-essential bc flex g++-multilib libc6-dev lib32ncurses5 lib32ncurses5-dev lib32z1 unzip zip flex bison g转载 2021-04-01 20:53:14 · 1775 阅读 · 0 评论 -
G-sensor的两种使用方式
在系统中G-sensor的两种使用方式<1>中断方式:在此方式中首先会对G-sensor器件设定一个阈(yu)值,器件感知加速度当值大于设定的阈值时器件触发CPU中断,系统得到一次甩动事件,系统将该事件处理为一个消息并将其发送给应用层,应用层得到消息判断任务状态如果有MP3,TV等任务运行及对该任务进行切歌换台等操作,如果无任务则切换墙纸。<2>查询方式:当进入某个需要使用到G-sensor的应用时,应用先打开一个定时器每当定时器超时溢出时便查询一次G-sensor当前状..原创 2021-03-30 16:59:39 · 4298 阅读 · 0 评论 -
MTK android 9.0平台上zigbee_bm023模块的调试
zigbee_bm023模块:默认3.3v供电为: 低电平,复位引脚 为高电平;使用uart1:节点为ttyS1操作节点:3.3v供电引脚:/sys/class/zigbee_bm023_by_elink/zigbee_bm023_by_elink/zigbee_power_gpio_control复位引脚:/sys/class/zigbee_bm023_by_elink/zigbee_bm023_by_elink/zigbee_rst_gpio_control1. 查看如下图,.转载 2021-03-24 16:02:58 · 381 阅读 · 0 评论 -
MTK 9.0平台调试gsensor
MTK 9.0平台调试gsensor ----型号为:stk8baxx1 查看原理图可以知道stk8baxx重力传感器 使用i2c1通道进行通讯,由于该重力传感器是不使用中断模式的进行触发的,所以不需要配置中断引脚。由此可以配置stk8baxx重力传感器的dtsdts文件配置如下:dts文件路径为:\kernel-4.4\arch\arm\boot\dts\aiot8362am3_bsp.dts&gsensor_mtk{ status = "okay";};&i2c...转载 2021-03-23 20:31:19 · 809 阅读 · 0 评论 -
andriod 9.0 -MTK8362 -cht8305温湿度传感器
MTK8362 9.0上调试 型号为cht8305温湿度传感器1 查看原理图以及gpio映射表可以知道 cht8305温湿度传感器 使用i2c1通道进行通讯,3.3v供电引脚为gpio 8 ,中断引脚为gpio13,由此可以配置cht8305温湿度传感器的dts。根据上面的原理图和gpio映射表ALERT—>AB15---->gpio13可以得知,cht8305温湿度传感器中断引脚ALERT对应的引脚是gpio13根据上面的原理图和gpio映射表VCC_3.3v-----转载 2021-03-23 20:02:44 · 1080 阅读 · 1 评论 -
MTK平台关于lcm esd check机制
一、esd check的作用esd意思是静电释放,在手机领域中,都是有静电标准的。静电的危害也是很明显的,在手机使用过程中可能会因为静电原因造成手机屏幕显示异常,触摸屏失灵,严重点还可能造成死机等现象。因此消除静电是一项很重要的工作,有硬件和软件两种措施,这里我们只介绍软件上的处理,即esd check。其实这种方法无法避免esd,只是一种遇到esd时软件上做的一些处理而已。二、esd check的两种方式mtk平台对于lcm的esd check有两种处理方式,分别是读寄存器方式和外部TE方式转载 2021-03-19 11:28:08 · 2342 阅读 · 0 评论 -
MTK 65XX系列通过USB OTG添加Ethernet RJ45有线网卡
最近客户要求使用MTk 6572芯片通过USB OTG添加支持有线网卡,我查遍了钩钩了所有网站,都没有相关论述,查看了MTK给的资料,包括FAQ,只说支持USB OTG键盘鼠标和U盘。怎么办?只有我自己来。但是,按照我对于USB设备机构的理解,只要我们挂在了USB Ethernet的驱动,那么在USB Ethernet插入的时候,应该可以自动匹配到其设备驱动,所以只要我们挂在了USB Ethernet的驱动,那么就应该可以正常工作。首先,就是回顾如果是非MTK平台,我们如何添加Ethernet的支持,当转载 2021-03-15 15:21:00 · 1743 阅读 · 0 评论 -
MTK 9.0平台调试gsensor
MTK 9.0平台调试gsensor ----型号为:stk8baxx1 查看原理图可以知道stk8baxx重力传感器 使用i2c1通道进行通讯,由于该重力传感器是不使用中断模式的进行触发的,所以不需要配置中断引脚。由此可以配置stk8baxx重力传感器的dtsdts文件配置如下:dts文件路径为:\kernel-4.4\arch\arm\boot\dts\aiot8362am3_bsp.dts&gsensor_mtk{ status = "okay";};&i2...转载 2021-03-12 17:59:29 · 804 阅读 · 0 评论 -
MTK DTS文件的配置
mtk dts文件的配置(kernel-3.18 )一、dts学习(注:pin 包括但不属于 gpio) 1.gpio0 node编写方法: gpio0: gpio@0 { pins_cmd_dat { pins = <PINMUX_GPIO0__FUNC_IDDIG>; //模式 slew-rate = <0>;转载 2021-03-01 20:51:45 · 2336 阅读 · 0 评论 -
MTK 平台支持设备树的添加流程
in lkstep 1: 增加dtsi文件 kernel/include/dt-bindings/lcm/xxx.dtsistep 2: 在项目的dts 文件中包含dtsi文件 #include <dt-bindings/lcm/xxx.dtsi>step 3: 在bootable/bootloader/lk/project/<project>.mk 增加DEFINES += MTK_LCM_DEVICE_TREE_SUPPORTCUSTOM_MTK_LCM="xxx"st转载 2021-02-22 20:41:35 · 754 阅读 · 0 评论 -
MTK平台的mt_gpio节点说明
MODE DIR DOUT DIN DRIVE(2bit) SMT IES PULL_EN PULL_SEL R1 R0 当前io功能 0输入1输出 输出值 输入值 驱动能力 使能施密特触发器 输入使能(默认1) 有上拉或下拉 0下拉1上拉 控制上下拉阻值(特定gpio) echo mode 88 3 > mt_gpio echo dir 88 1 > ..转载 2021-01-26 19:39:41 · 471 阅读 · 0 评论 -
MTK平台调试基础
1.代码的编译部分私有的代码在modem中,参考平台对应的release_note(在vendor下),进行modem的编译和ap部分私有代码的拷贝。编译preloader make pl编译lk make lk编译kernel make bootimage编译dtbo make dtboimage2.工程暗码*#*#3646633#*#*,无相应的测试应用3.调屏用dct工具确认RST脚是否配置成LCM_RST,代码里直接控制相应的寄存器,如果配置不对,会导致r...转载 2021-01-26 17:57:39 · 2165 阅读 · 1 评论 -
MTK平台通过adb获取GPIO状态
一、节点位置 在MTK平台,我们可以通过cat节点(mt_gpio)来查看对应的状态。不同的平台,该管脚对应的位置也是不同的,建议直接进入手机目录查看: adb shell find -name "mt_gpio" 我这查看到对应的是:sys/devices/platform/1000b000.pinctrl/mt_gpio然后直接cat这个节点会出现如下的信息: PIN: [MODE] [DIR] [DOUT] [DIN] [PULL_EN] [...转载 2020-07-28 20:57:26 · 1031 阅读 · 0 评论 -
MTK 平台充电开机
MTK平台修改Bootloader源代码,让Android设备一通电就自动开机为什么要一通电就自动开机总所周知,一台Android设备,默认情况下,插上USB供电,都是显示正在充电的电池图标,按住开机键才能开机。如果你手里只有一台手机,按住开机键去开机很容易,如果你手里有1000台手机呢?通常见于微信推广、微信站街、手游工作室、刷单工作室等,往往拥有数百台数千台手机,使用群控和脚本批量控制这些手机做一些interesting的事情。这些工作室往往使用定制的手机,手里握着全套Android源代码,这样可以转载 2020-05-29 17:52:56 · 2845 阅读 · 0 评论 -
MTK 项目工程客制化流程
前言参考 MTK 相关文档步骤增加工程BASE_PROJECT: gr6750_66_a_nNEW_PROJECT: windPLATFORM:COMPANY: ginreen一:cloen preloader:cd vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/cp -r gr6750_66_a_n/ wind/mv wind/gr6750_66_a_n.mk wind/wind.mkse转载 2020-05-29 09:40:08 · 481 阅读 · 0 评论 -
MTK GPIO 新增变量配置
MTK GPIO 新增变量配置主要涉及的文件:1.需要配置preloader ,lk ,kernel vendorGPIO_YuSu.cmp文件增加IO别名:2.需要配置preloader ,lk ,kernel vendor dws配置3.最后具体kernel 代码才可以通过GPIO相关接口调用...转载 2020-05-27 20:33:33 · 279 阅读 · 1 评论 -
MTK modem 编译
MTK modem 编译1.Build modem image (mcu build command) [Modem source]> cd mcu[Modem source]> ./m [Project makefile name] newEx:./m "TK_MD_BASIC(LWCTG_67xx)..mak" new2. Build MD APPS...原创 2020-04-23 14:22:06 · 800 阅读 · 1 评论 -
8321平台修改WIFI_ONLY总结
按照alps\vendor\mediatek\release_note\MT8321\ReleaseNote_for_MT8321_alps-mp-o1.mp2.xlsx文档要求修改第一步完成之后。会出现com.andoid.phone报错,进行GMS测试的时候也会测试中断,修改方法如下:frameworks/base/telephony/java/android/telephony/Se...转载 2020-04-22 16:07:22 · 1200 阅读 · 0 评论 -
MTK平台pwm控制led的亮度
1. 查MTK的Android_Driver_allinoneV1.01.pdf资料,到mediatek\source\kernel\drivers\leds\leds.c 中通过查看static int led_set_pwm(int pwm_num, struct nled_setting* led)函数,根据struct cust_mt65xx_led {char ...转载 2020-04-16 17:41:10 · 1397 阅读 · 0 评论 -
MT6739 GPIO复用为PWM模式
本案使用GPIO27,查资料可知,gpio27可能用作PWM2的输出1.dws设置2.查看背光如何使用PWM,仿照查可得:kernel-4.4\drivers\misc\mediatek\leds\mt6739\mtk_leds.c的mt_led_set_pwm函数就是设置背光pwm的截图如下:3.在驱动再以下代码就可以#include <mt-plat/mtk...转载 2020-04-16 17:27:20 · 1139 阅读 · 0 评论