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/m.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燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP