0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GIC驅(qū)動設(shè)備信息添加

麥辣雞腿堡 ? 來源:LoyenWang ? 作者:LoyenWang ? 2023-09-28 15:03 ? 次閱讀

設(shè)備信息添加

ARM平臺的設(shè)備信息,都是通過Device Tree設(shè)備樹來添加,設(shè)備樹信息放置在arch/arm64/boot/dts/下

下圖就是一個中斷控制器的設(shè)備樹信息:

圖片

compatible字段:用于與具體的驅(qū)動來進(jìn)行匹配,比如圖片中arm, gic-400,可以根據(jù)這個名字去匹配對應(yīng)的驅(qū)動程序;

interrupt-cells字段:用于指定編碼一個中斷源所需要的單元個數(shù),這個值為3。比如在外設(shè)在設(shè)備樹中添加中斷信號時,通常能看到類似interrupts= 《0 234》;的信息,第一個單元0,表示的是中斷類型(1:PPI,0:SPI),第二個單元23表示的是中斷號,第三個單元4表示的是中斷觸發(fā)的類型;

reg字段:描述中斷控制器的地址信息以及地址范圍,比如圖片中分別制定了GIC Distributor(GICD)和GIC CPUInterface(GICC)的地址信息;

interrupt-controller字段:表示該設(shè)備是一個中斷控制器,外設(shè)可以連接在該中斷控制器上;

關(guān)于設(shè)備數(shù)的各個字段含義,詳細(xì)可以參考Documentation/devicetree/bindings下的對應(yīng)信息;

設(shè)備樹的信息,是怎么添加到系統(tǒng)中的呢?DeviceTree最終會編譯成dtb文件,并通過Uboot傳遞給內(nèi)核,在內(nèi)核啟動后會將dtb文件解析成device_node結(jié)構(gòu)。關(guān)于設(shè)備樹的相關(guān)知識,本文先不展開,后續(xù)再找機(jī)會補(bǔ)充。來一張圖,先簡要介紹下關(guān)鍵路徑:

圖片

設(shè)備樹的節(jié)點(diǎn)信息,最終會變成device_node結(jié)構(gòu),在內(nèi)存中維持一個樹狀結(jié)構(gòu);

設(shè)備與驅(qū)動,會根據(jù)compatible字段進(jìn)行匹配;

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5054

    文章

    18917

    瀏覽量

    301032
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1814

    瀏覽量

    85064
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11182

    瀏覽量

    208538
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4423

    瀏覽量

    70466
收藏 人收藏

    評論

    相關(guān)推薦

    linux查看設(shè)備信息驅(qū)動安裝信息 精選資料分享

    lspci是列出所有的硬件信息,包括已經(jīng)安裝了驅(qū)動還是沒有安裝驅(qū)動的硬件設(shè)備,因?yàn)楦鶕?jù)pci規(guī)范,只要改設(shè)備在pci總線上掛著,就可以讀到起
    發(fā)表于 07-23 07:25

    設(shè)備樹中GIC中斷控制器節(jié)點(diǎn)

    文章目錄一、回顧二、設(shè)備樹中GIC中斷控制器節(jié)點(diǎn)三、外設(shè)中斷控制器節(jié)點(diǎn)三、其他設(shè)備使用中斷節(jié)點(diǎn)1、中斷類型四、常用函數(shù)1、request_irq()函數(shù)(1
    發(fā)表于 01-10 07:37

    ARM GIC(二)之中斷術(shù)語的定義

    同一個中斷號。2、寄存器banking對于同一個gic寄存器地址,在不同的情況下,訪問的是不同的寄存器。例如在secure和non-secure狀態(tài)下,訪問同一個gic寄存器,其實(shí)是訪問的不同的gic的寄存器。具體,更多的
    發(fā)表于 04-06 10:15

    如何添加NandFlash驅(qū)動

    這個文檔簡單介紹了如何在 H-FLASHER 中添加NAND FLASH 驅(qū)動。基于這個文檔,用戶可以根據(jù) 自己的實(shí)際需求修改已有的NAND FLASH 驅(qū)動程序,或添加新的NAND
    發(fā)表于 04-01 10:21 ?0次下載

    uclinux添加設(shè)備驅(qū)動的完整過程

    下面以添加一個字符設(shè)備為例,說明添加設(shè)備驅(qū)動的過程.塊設(shè)備與網(wǎng)絡(luò)設(shè)備可以比照處理. 0.原文件放
    發(fā)表于 10-13 15:29 ?67次下載

    ARM-Linux-IIC設(shè)備添加驅(qū)動實(shí)現(xiàn)

    本文分析了ARM-Linux下IIC總線及其設(shè)備驅(qū)動的層次結(jié)構(gòu),指出了IIC設(shè)備添加驅(qū)動實(shí)現(xiàn)的途徑,詳細(xì)闡述了如何采用通用i2c-dev.
    發(fā)表于 06-13 14:37 ?57次下載
    ARM-Linux-IIC<b class='flag-5'>設(shè)備</b>的<b class='flag-5'>添加</b>與<b class='flag-5'>驅(qū)動</b>實(shí)現(xiàn)

    基于GIC的物聯(lián)網(wǎng)的應(yīng)用方案

    本文檔內(nèi)容介紹了基于GIC的物聯(lián)網(wǎng)的應(yīng)用方案,供參閱。
    發(fā)表于 09-18 15:46 ?0次下載
    基于<b class='flag-5'>GIC</b>的物聯(lián)網(wǎng)的應(yīng)用方案

    小電阻器對治理電網(wǎng)GIC的效果分析

    地磁感應(yīng)電流(geomagnetically induced currents,GIC)引起變壓器半波飽和對電力系統(tǒng)的安全運(yùn)行產(chǎn)生不利影響,甚至引發(fā)大面積停電事故。為了有效治理GIC對大規(guī)模電力系統(tǒng)
    發(fā)表于 01-04 17:03 ?7次下載
    小電阻器對治理電網(wǎng)<b class='flag-5'>GIC</b>的效果分析

    GIC是什么意思 GIC硬件原理

    GIC硬件原理 ARM公司提供了一個通用的中斷控制器 GIC(Generic Interrupt Controller) , GIC 的版本包括 V1 ~ V4 ,由于本人使用的SoC中的中斷控制器
    的頭像 發(fā)表于 09-28 14:58 ?1756次閱讀
    <b class='flag-5'>GIC</b>是什么意思 <b class='flag-5'>GIC</b>硬件原理

    GIC驅(qū)動的執(zhí)行流程是什么

    匹配設(shè)備; 在GIC驅(qū)動程序中,使用 IRQCHIP_DECLARE 宏來聲明結(jié)構(gòu)信息,包括 compatible 字段和回調(diào)函數(shù),該宏會將這個結(jié)構(gòu)放置到 __irqchip_of_t
    的頭像 發(fā)表于 09-28 15:09 ?466次閱讀
    <b class='flag-5'>GIC</b><b class='flag-5'>驅(qū)動</b>的執(zhí)行流程是什么

    Linux GIC驅(qū)動數(shù)據(jù)結(jié)構(gòu)分析

    數(shù)據(jù)結(jié)構(gòu)分析 先來張圖: GIC驅(qū)動中,使用 struct gic_chip_data 結(jié)構(gòu)體來描述GIC控制器的信息,整個
    的頭像 發(fā)表于 09-28 15:18 ?513次閱讀
    Linux <b class='flag-5'>GIC</b><b class='flag-5'>驅(qū)動</b>數(shù)據(jù)結(jié)構(gòu)分析

    ARM-Linux-IIC設(shè)備添加驅(qū)動實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《ARM-Linux-IIC設(shè)備添加驅(qū)動實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-24 09:55 ?0次下載
    ARM-Linux-IIC<b class='flag-5'>設(shè)備</b>的<b class='flag-5'>添加</b>與<b class='flag-5'>驅(qū)動</b>實(shí)現(xiàn)

    GIC-600的組件是如何連接的

    為了適應(yīng)大規(guī)模的SoC設(shè)計,GIC-600被設(shè)計成分布式IP。 所謂分布式,GIC-600由幾種組件構(gòu)成,每個組件可以跟其它相關(guān)模塊在物理設(shè)計上擺放在一起,并與其擁有共同的電源域;組件之間通過片上網(wǎng)
    的頭像 發(fā)表于 11-07 17:19 ?633次閱讀
    <b class='flag-5'>GIC</b>-600的組件是如何連接的

    gic和ARM Core的連接

    。用于gic的IRI組件,和cpu interface之間,傳輸信息。 ? ?distributor,redistributor和ITS,統(tǒng)稱為IRI組件(interrupt routing infrastructure)。 ? ?gi
    的頭像 發(fā)表于 11-07 18:07 ?548次閱讀
    <b class='flag-5'>gic</b>和ARM Core的連接

    labview怎么添加設(shè)備驅(qū)動

    添加設(shè)備驅(qū)動是使用LabVIEW進(jìn)行設(shè)備控制和數(shù)據(jù)采集的關(guān)鍵步驟之一。本文將向您介紹如何在LabVIEW中添加設(shè)備驅(qū)動程序。 在開始之前,您
    的頭像 發(fā)表于 01-02 16:10 ?2027次閱讀