LinuxDev 板


LINE

各位版友好 描述一下我的问题 我在driver透过CPU GPIO注册一个IRQ, 当有中断来 会在handling处理 架构是CPU GPIO pin接到CPLD在接到Dev A,B,C的中断 流程是 当CPU收到中断後 再透过CPLD I2C Register去看是哪个Device发的中断 现在我只要收Dev A的中断 Dev B,C设定不发中断 有先Mask掉B,C的中断 但是很奇怪 我在IRQ都没看到有中断发生 手动测试GPIO都会收到中断 但挂上driver就收不到了 我理解为只要CPU收到中断, 应该会就近到handing 然後我在handing判断CPLD哪个Device就好 会跟Multiple device 中断有关系吗? single device 就会收到? 我code大概这样写 gpio_request(gpio_pin) gpio_to_irq(gpio_pin) request_irq(IRQF_TRIGGER_FALLING | IRQF_SHARED) or request_threaded_irq(IRQF_TRIGGER_FALLING | IRQF_SHARED) 系统架构 如下 GPIO_Pin I2C CPU ---- CPLD ---- Dev A ---- Dev B ---- Dev C --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.76.66.208 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1700488569.A.C60.html
1F:推 dces4212: 你说的「手动测试会收到」可以再说详细点吗?没注册irq 11/20 22:58
2F:→ dces4212: 也收得到? 11/20 22:58
3F:→ howard6066: 就是在/sys/class 把gpio开起来 设成input 11/20 23:22
4F:→ howard6066: Dev A发中断 就会变成pull low状态这样 11/20 23:24
5F:→ leolarrel: gpio driver 有在dts 中宣告 #interrupt-controller 吗 11/21 09:37
6F:→ leolarrel: 你可能要先好好研究kernel的irq domain,gpio subsystem 11/21 09:38
7F:→ howard6066: CPU intel的 没有dts, call intel gpio driver 11/21 10:55
8F:→ leolarrel: 那只能往ACPI & 你说的那个intel gpio 的code , 对照 11/21 11:31
9F:→ leolarrel: kernel 的irq doman 的观念下去debug.我手上没code没得 11/21 11:31
10F:→ leolarrel: debug 11/21 11:32
11F:→ leolarrel: 另外,手边没电路图不知道你的设计,也不知道你的intel 11/21 11:34
12F:→ leolarrel: cpu 是哪一颗.一般消费型intel cpu 有自己的中断控制硬 11/21 11:35
13F:→ leolarrel: 体,gpio 我猜那个gpio是不是要接到cpu 的硬体中断控制 11/21 11:35
14F:→ leolarrel: 器那边? 11/21 11:36
15F:→ howard6066: 这位大大谢谢 好不想debug driver… 11/21 12:20
16F:→ howard6066: Cpu是atom c3538, cpu 同一根gpio pin去接其他硬体 11/21 12:23
17F:→ howard6066: call pinctrl-intel.c, 奇怪的是我irq都长出来了 但 11/21 12:25
18F:→ howard6066: 没收到中断 中间init过程 也没有error 11/21 12:25
19F:→ leolarrel: 查了这个cpu , 他应该没错也是走APIC 概念的中断控制器 11/22 09:39
20F:→ leolarrel: 那麽你就要去确定这根GPIO 是否可以设定成"中断触发"模 11/22 09:40
21F:→ leolarrel: 式,或这跟GPIO 是否有纳入APIC 控制器的管辖,因如果连 11/22 09:41
22F:→ leolarrel: APIC 都无法知道某跟硬体pin有发出中断的话,你软体再怎 11/22 09:41
23F:→ leolarrel: 麽神通都没用. 11/22 09:42
24F:→ howard6066: 更新一下 问题解了 bios那边要设定gpio irq 11/22 12:17
25F:→ howard6066: 不过bios不是我负责的 细节不太清楚 11/22 12:18
26F:→ howard6066: 之前都是用arm base的平台 我忘记了uboot dev tree要 11/22 12:19
27F:→ howard6066: 先设定gpio irq相关吗? 不然driver挂起来 会没中断 11/22 12:21
28F:→ leolarrel: uboot 不用,进 kernel 用dts 控管及可 11/22 14:33
29F:→ howard6066: 我看之前用的Nxp ls1046a 在uboot dts有GIC IRQ, gpi 11/22 19:44
30F:→ howard6066: Gpio irq相关定义 11/22 19:44
31F:→ howard6066: 这个是用在uboot而已吗 跟kernel分开来看? 11/22 19:46
32F:→ howard6066: 应该是不会影响到driver? 再次感谢大大 11/22 19:46
33F:→ leolarrel: 这个是用在uboot而已吗 跟kernel分开来看? <-是的 11/23 12:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP