1 添加EINT_VAR
alps/vender/mediated/proprietary/scripts/dct/ 目录下文件 YuSu.cmp,EINT_YuSu.cmp, GPIO_YuSu.cmp
添加 IRQ_M300 和GPIO_IRQ_M300_PIN

2 运行
  alps/vender/mediated/proprietary/scripts/dct/DrvGen

分别打开下面三个问题,相同配置:

alps/kernel-4.9/drivers/misc/mediatek/dws/mt6765/k62v1_64_bsp.dws

alps/vendor/mediatek/proprietary/bootable/bootloader/lk/target/k62v1_64_bsp/dct/dct/codegen.dws

alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/k62v1_64_bsp/dct/dct/codegen.dws

在GPIO配置界面设置对应的GPIO为中断模式,mapping到GPIO_IRQ_M300_PIN,在EINT配置界面设置对于的EINT mapping到IRQ_M300

3 配置DTS

(1) 打开mt6765.dts,添加

m300_int: m300_int {
                compatible = "mediatek,irq_m300-eint";
        };
  
 (2) 打开k62v1_64_bsp.dts,添加
  &i2c2{
        m300: m300@30 {
                compatible = "ecp,m300";
                reg = <0x30>;
                status = "okay";
                clock-frequency = <400000>;
                m300,interrupt-gpios = <&pio 111 0>;
                m300,enable-gpios = <&pio 51 0>;
        };
};

4 关键驱动注册:

int irq = 0;
irq_gpio = of_get_named_gpio_flags(np, "m300,interrupt-gpios", 0, &flags);
gpio_request(irq_gpio, "m300 irq gpio");
gpio_direction_input(irq_gpio);
irq  = gpio_to_irq(irq_gpio);
request_threaded_irq(irq,  NULL, m300_irq_handler, 
                        IRQF_TRIGGER_FALLING |IRQF_ONESHOT, "m300_interrupt", (void *)data);

enable_irq(data->irq);//使能中断

MT6765中断处理IO口配置流程相关推荐

  1. MSP430 IO口配置

    本章介绍MSP430IO配置 前言: IO作为单片机的重要组成部分是不可或缺的,也是必须要掌握的,掌握了IO就学会了单片机的基本使用 所有对于430单片机的操作需要紧随用户开发手册和指导手册进行 用户 ...

  2. STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法

    1. 引脚定义 2. 引脚用作普通IO口的条件 注:最新文档中已经删除"在同一时间只有一个引脚能作为输出"也就是三个引脚可以同时作为输出引脚,其他条件未变 3. 代码 void g ...

  3. 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

    在使用模拟IIC的时候,观看别人的程序的时候发现了程序之间的一些不一样的地方 ----------------------------------代码1------------------------ ...

  4. STM32F103C8T6驱动舵机SG90 配置定时器TIM2,TIM3,TIM4的多种重映射模式下的不同IO口

    STM32F103C8T6驱动舵机SG90 配置定时器TIM2,TIM3,TIM4的多种重映射模式下的不同IO口 1.使用到的工具介绍 2.整个简单介绍 3.程序的介绍 1.使用到的工具介绍: kei ...

  5. 1 io口 stm32_从STM32分享各种硬件以及总线之GPIO简介

    今天有网友私信我,问我怎么没有更新文章,我有点惭愧没有能够及时更新文章.因为都没有太多时间准备,所以更新的有点慢,但是我还是决定每天给大家分享一点知识.之前我们讲了STM32的时钟,讲完时钟之后我开始 ...

  6. STM32的IO口有幺蛾子(bug)

    在做最近的项目时,我发现一个这样的问题:对STM32中的IO进行配置(以对B系列下的PB10.PB13配置成输出模式为例),即使在配置参数一样的情况下,这两个IO输出能力还是有很大的差别. 情况一:如 ...

  7. 树莓派+多个微雪电子Serial Expansion HAT扩展板叠加方法(扩展多个IO口、串口)

    微雪电子官方教程仅介绍了单层扩展板配置方法, 因此本文参考官方教程的基础上,进行多个扩展板的叠加配置. 文章目录 一.打开I2C接口 二.安装库 三.生成设备 四.堆叠教程 五.扩展IO口配置 总结 ...

  8. STM32 PB3作为普通IO口的使用方法

    最近在做项目时需要用到PB3作为检测按键检测引脚.该引脚默认低电平,当按键按键按下时电平信号拉高.因此将按键配置为下拉输入.相应始终也打开使能,但是按键按下后,硬件有反应按键按下,但是软件逻辑不能检测 ...

  9. 单片机IO口操作总结

    单片机IO口操作总结 一.单片机IO口概述 二.单片机IO口操作 1.输入口使用 2.输出口使用 三.关于上拉电阻 四.休眠状态下IO口配置 4.1.未使用的IO口 4.2 输入口 一.单片机IO口概 ...

最新文章

  1. Flex Javascript 交互实现代码
  2. 1.Pytorch Basics
  3. asio 异步demo
  4. 已知二叉树先序和中序遍历结果,求后序遍历结果
  5. mysql8和5.7区别_MySQL 8、MySQL 5.7和Percona server for MySQL性能比较
  6. python排序问题_Python简单处理坐标排序问题示例
  7. linux vim命令_提升生产力的20大Linux Vim命令
  8. opengl工具库glfw一 创建窗口
  9. python实现FTP文件上传和下载
  10. s7epaapidll丢失怎么办_s7epaapidll下载
  11. ArcGIS裁剪影像如何保持裁剪完全一致
  12. 阿里云虚拟主机内存占用大问题解决
  13. 计算机多显器设置方法,一个电脑多个显示器怎么设置
  14. linux超级管理员名字修改,linux添加超级管理员用户,修改,删除用户
  15. Android 实现顶层窗口、悬浮窗口
  16. 【从饮水机到名人堂之c语言】操作符详解(1)
  17. thingsboard-部件库开发 之 rpc-部件开发
  18. iOS客户端开启FTP,其他设备访问手机本地文件操作实现
  19. 移动端SEO之用户体验优化提升方法
  20. 程序员如何用技术变现?

热门文章

  1. 用python爬取《龙岭迷窟》评论,看看比同系列鬼吹灯作品以及《盗墓笔记》好在哪里?...
  2. 三个堪称神器,却很少人使用的手机软件
  3. 全球企业研发投入排行榜:苹果第七,华为第五,第一是?
  4. 牛客小白月赛19A:「水」滔天巨浪
  5. 微信H5页面禁用复制链接
  6. Mongodb 安装详解
  7. 面试宝典之高分回答面试题(一)
  8. 作为字节跳动面试官,有些话我不得不说!
  9. linux 增加静态路由命令
  10. AppleScript(7) : 睡眠