MTK代码如何修改gpio的初始状态

时间:2024-03-12 21:39:35

好多年没有看mtk的代码了,mtk的代码在谷歌原生代码的基础上封装修改太厉害了,以往的经验往往不可行了,要养成记录的习惯。

关于MTK代码如何修改gpio的初始状态,记录如下:

首先,MTK代码在开机的时候,会先根据DWS文件的配置去初始化GPIO,但是当跑到lk的时候,有些gpio的状态会再次发生变化。所以如果gpio的状态和你想要的不对的话,请首先确认DWS文件,然后去lk下面看看是否有另外设置。

1、DWS文件修改

kernel、preloader、lk分别都有dws文件和相关工具。分别在kernel和vendor/mediatek/proprietary/bootable/bootloader/目录下find -name *.dws和find -name DrvGen.exe可以看到相关文件的位置。

DWS文件如何修改,这里就不详细介绍了,网上太多相关文章。关于gpio的状态重点关注defmod、上拉使能、pull high、out high。

2、lk相关代码的位置

vendor/mediatek/proprietary/bootable/bootloader/lk/target/sig6737t_66_m0/init.c
工程名不一样的话,路径会有稍微差异,请注意。

MTK代码如何修改gpio的初始状态

相关函数的实际实现位置在

vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6735/mt_gpio.c

这样基本就OK了,祝工作顺利!