設(shè)備信息添加
ARM平臺(tái)的設(shè)備信息,都是通過Device Tree設(shè)備樹來添加,設(shè)備樹信息放置在arch/arm64/boot/dts/下
下圖就是一個(gè)中斷控制器的設(shè)備樹信息:
compatible字段:用于與具體的驅(qū)動(dòng)來進(jìn)行匹配,比如圖片中arm, gic-400,可以根據(jù)這個(gè)名字去匹配對(duì)應(yīng)的驅(qū)動(dòng)程序;
interrupt-cells字段:用于指定編碼一個(gè)中斷源所需要的單元個(gè)數(shù),這個(gè)值為3。比如在外設(shè)在設(shè)備樹中添加中斷信號(hào)時(shí),通常能看到類似interrupts= 《0 234》;的信息,第一個(gè)單元0,表示的是中斷類型(1:PPI,0:SPI),第二個(gè)單元23表示的是中斷號(hào),第三個(gè)單元4表示的是中斷觸發(fā)的類型;
reg字段:描述中斷控制器的地址信息以及地址范圍,比如圖片中分別制定了GIC Distributor(GICD)和GIC CPUInterface(GICC)的地址信息;
interrupt-controller字段:表示該設(shè)備是一個(gè)中斷控制器,外設(shè)可以連接在該中斷控制器上;
關(guān)于設(shè)備數(shù)的各個(gè)字段含義,詳細(xì)可以參考Documentation/devicetree/bindings下的對(duì)應(yīng)信息;
設(shè)備樹的信息,是怎么添加到系統(tǒng)中的呢?DeviceTree最終會(huì)編譯成dtb文件,并通過Uboot傳遞給內(nèi)核,在內(nèi)核啟動(dòng)后會(huì)將dtb文件解析成device_node結(jié)構(gòu)。關(guān)于設(shè)備樹的相關(guān)知識(shí),本文先不展開,后續(xù)再找機(jī)會(huì)補(bǔ)充。來一張圖,先簡要介紹下關(guān)鍵路徑:
設(shè)備樹的節(jié)點(diǎn)信息,最終會(huì)變成device_node結(jié)構(gòu),在內(nèi)存中維持一個(gè)樹狀結(jié)構(gòu);
設(shè)備與驅(qū)動(dòng),會(huì)根據(jù)compatible字段進(jìn)行匹配;
-
嵌入式
+關(guān)注
關(guān)注
5148文章
19634瀏覽量
316863 -
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1914瀏覽量
86819 -
Linux
+關(guān)注
關(guān)注
87文章
11507瀏覽量
213493 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4662瀏覽量
71686
發(fā)布評(píng)論請(qǐng)先 登錄
linux查看設(shè)備信息和驅(qū)動(dòng)安裝信息 精選資料分享
設(shè)備樹中GIC中斷控制器節(jié)點(diǎn)
ARM GIC(二)之中斷術(shù)語的定義
如何添加NandFlash驅(qū)動(dòng)
uclinux添加設(shè)備驅(qū)動(dòng)的完整過程
ARM-Linux-IIC設(shè)備的添加與驅(qū)動(dòng)實(shí)現(xiàn)

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

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

GIC是什么意思 GIC硬件原理

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

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

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

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

gic和ARM Core的連接

評(píng)論