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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构