您的位置:首页 > 其它

mt6572 gpio驱动笔记

2015-11-12 14:24 176 查看

1.DCT工具:

GPIO后varname表示该IO有被作为其他功能调用

2.仅作输入引脚

GPIO67~86

3.开机模式下查看GPIO状态

在adb shell环境下输入一下命令:

cd /sys/devices/virtual/misc/mtgpio


4.用户空间调用gpio

/******ZHANGLEI************/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/mtgpio.h>  //ioctl cmd
int fd = open("/dev/mtgpio", O_RDWR);
if (fd < 0) {
SXLOGE("Open file /dev/mtgpio failed!\n");
return -1;
}
ioctl(fd,GPIO_IOCTMODE0,89);
ioctl(fd,GPIO_IOCTDIROUT,89);
ioctl(fd,GPIO_IOCSDATALOW,89);
close(fd);

/******ZHANGLEI************/


5.

关机后充电指示灯亮:

\172.21.1.173\share\zhanglei\SIM5000_GIT\MT6572\ap_base\alps\mediatek\external\ipod\ipodmain.cpp

中mian函数中ipod_chgcontrol后添加:

/******ZHANGLEI************/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/mtgpio.h>
int fd = open("/dev/mtgpio", O_RDWR);
if (fd < 0) {
SXLOGE("Open file /dev/mtgpio failed!\n");
return -1;
}
ioctl(fd,GPIO_IOCTMODE0,89);
ioctl(fd,GPIO_IOCTDIROUT,89);
ioctl(fd,GPIO_IOCSDATALOW,89);
close(fd);

/******ZHANGLEI************/


充电过程中开机时指示灯任然亮的解决方法:

\\172.21.1.173\share\zhanglei\SIM5000_GIT\MT6572\ap_base\alps\mediatek\external\ipod\ipodcommon.cpp


中status_cb函数中case EVENT_EXIT_IPOD:后添加:

/******ZHANGLEI************/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/mtgpio.h>
int fd = open("/dev/mtgpio", O_RDWR);
if (fd < 0) {
SXLOGE("Open file /dev/mtgpio failed!\n");
return -1;
}
ioctl(fd,GPIO_IOCTMODE0,89);
ioctl(fd,GPIO_IOCTDIROUT,89);
ioctl(fd,GPIO_IOCSDATAHIGH,89);
close(fd);

/******ZHANGLEI************/


GPIO用户空间ioctl命令头文件:

<linux/mtgpio.h>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: