MT6765中断处理IO口配置流程

2023-10-16 05:08

本文主要是介绍MT6765中断处理IO口配置流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


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口配置流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219229

相关文章

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R