mtk GPIO口
1. lk部分
lk部分GPIO相关代码在mediatek/platform/mt6582/lk/mt_gpio.c中,在lk中需要使用GPIO相关操作函数的话需要包含mediatek/platform/mt6582/lk/include/platform/mt_gpio.h,例如:
- #if defined(BUILD_LK)
- #include <platform/mt_gpio.h>
- #endif
2. Linux kernel部分
而Linux kernel部分GPIO相关代码主要有mediatek/kernel/drivers/gpio/mt_gpio_core.c、mediatek/platform/mt6582/kernel/drivers/gpio/mt_gpio_base.c,mt_gpio_base.c中相关代码主要是操作GPIO口相关寄存器的,同硬件平台相关,而mt_gpio_core.c是给外部调用的,在它里面的操作函数中最终调用的是mt_gpio_base.c中相关函数,例如mt_set_gpio_dir()最终调用的是mt_gpio_base.c中的mt_set_gpio_dir_base。如果是kernel中需要使用GPIO口相关操作函数同样需要包含头文件mt_gpio.h,这个头文件在mediatek/kernel/include/mach目录中,例如:
- #if defined(BUILD_KERNEL)
- #include <mach/mt_gpio.h>
- #endif
3. GPIO相关操作函数
- int mt_set_gpio_dir(unsigned long pin, unsigned long dir);
- int mt_get_gpio_dir(unsigned long pin);
- int mt_set_gpio_pull_enable(unsigned long pin, unsigned long enable);
- int mt_get_gpio_pull_enable(unsigned long pin);
- int mt_set_gpio_pull_select(unsigned long pin, unsigned long select);
- int mt_get_gpio_pull_select(unsigned long pin);
- int mt_set_gpio_out(unsigned long pin, unsigned long output);
- int mt_get_gpio_in(unsigned long pin);
- int mt_set_gpio_mode(unsigned long pin, unsigned long mode);
- int mt_get_gpio_mode(unsigned long pin);
mtk GPIO口的更多相关文章
- STM32f10xxx 之 GPIO口配置
背景 配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了 ...
- android gpio口控制
android gpio口控制 GPIO口控制方式是在jni层控制的方式实现高低电平输出,类似linux的控制句柄方式,在linux系统下将每个设备看作一个文件,android系统是基于linux内 ...
- Silicon C8051F340之GPIO口配置与使用
一.背景: 很久前用过C8051,现在有相关需求需要重新使用C8051,然后发现一年前开发的相关经验都忘得 基本上差不多了.连最基本的GPIO口配置还得重新来看手册,所以有此文,做个记录,以备下次快速 ...
- linux驱动初探之杂项设备(控制两个GPIO口)
关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...
- 基于boa服务器的web控制mini2440的GPIO口
win7 系统 虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...
- STM32的GPIO口的输出开漏输出和推挽输出
本文来自cairang45的博客,讲述了STM32的GPIO口的输出开漏输出和推挽输出, 作者博客:http://blog.ednchina.com/cairang45 本文来自: 高校自动化网(Ww ...
- ARM Cortex M3系列GPIO口介绍(工作方式探讨)
一.Cortex M3的GPIO口特性 在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图 从图中可以看出 ...
- STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用
STM32单片机在Keil5下仿真的问题解决及GPIO口初始化.使用 最近看了视频,里面有仿真,可以清楚看到GPIO口的数据变化,也想尝试下,DUG时却出现*** error 65: access v ...
- 51单片机GPIO口模拟串口通信
51单片机GPIO口模拟串口通信 标签: bytetimer终端存储 2011-08-03 11:06 6387人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: 深入C语言(20) 作者同 ...
随机推荐
- zeppelin之连接mysql
上面的一篇文章,对于zeppelin的使用,只是我们对于数据存储在文件中,每一次对于当我们连接数据库的时候都会有问题,今天刚好 把这个问题解决今天我们刚好来介绍如何使用zeppelin来与数据进行连接 ...
- Flume是什么
分布式流式实时收集日志文件系统,便于实时在线的流式计算,常配合 Storm 和 spark streming 使用. Flume is a distributed分布式的, reliable可靠的, ...
- Best Practices in JavaScript
Some items you should konw : Graceful degradation : ensuring that your web pages still work without ...
- P2344 奶牛抗议
P2344 奶牛抗议 题目背景 Generic Cow Protests, 2011 Feb 题目描述 约翰家的N 头奶牛正在排队游行抗议.一些奶牛情绪激动,约翰测算下来,排在第i 位的奶牛的理智度为 ...
- HA集群中namenode连接不上journalnode,导致namenode启动不了
查看日志发现一下的错误: 2018-10-08 15:29:26,373 FATAL org.apache.hadoop.hdfs.server.namenode.FSEditLog: Error: ...
- 为什么i=i++后,i的值不变(深入解析)
在Java中,运行以下代码: int i=10; i=i++; System.out.println(i); 得到的结果仍然为10,为什么呢?理论上,运算的过程不应该是i首先把10取出来,赋值给i,然 ...
- AD RMS总结
AD RMS 认识篇 AD RMS(Active Directory Right Mangement Servic)活动目录权限服务. 首先我通过了解AD RMS的用途去深入学习AD RMS.在过去用 ...
- 哪些工具能有效管理Azure Active Directory?
[TechTarget中国原创] 管理Azure Active Directory有四种常见的工具:Azure Web门户.Azure PowerShell.Azure命令行接口和Azure Mana ...
- 【Balanced Binary Tree】cpp
题目: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bin ...
- 六 APPIUM Android 定位方式
文本转自:http://www.cnblogs.com/sundalian/p/5629500.html APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 An ...