您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何進行RK3288 dts和dtsi介紹,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Device Tree 是一種描述硬件的數據結構,它起源于 OpenFirmware(OF)。在 Linux2.6 中,ARM 架構的板機硬件細節過多地被硬編碼在 arch/arm/plat-xxx 和 arch/arm/mach-xxx,采用 Device Tree 后,許多硬件的細節可以直接透過它傳遞給 Linux,而不再需要在 kernel 中進行大量的冗余編碼。
Device Tree 由一系列被命名的結點(node)和屬性(property)組成,而結點本身可包含子節點。所謂屬性,其實就是成對出現的 name 和 value 。
在 Device Tree 中,可描述的信息包括(原先這些信息大多被硬編碼到 kernel 中):
· CPU的數量和類別
· 內存基地址和大小
· 總線和橋
· 外設連接
· 中斷控制器和中斷使用情況
· GPIO控制器和GPIO使用情況
· Clock控制器和Clock使用情況
它基本上就是畫一棵電路板上(CPU、總線、設備組成)的樹,Bootloader 會將這棵樹傳遞給內核,然后內核可以識別這棵樹,并根據它展開出 Linux 內核中的 platform_device、i2c_client、spi_device等設備,而這些設備用到的內存、IRQ 等資源,也被傳遞給了內核,內核會將這些資源綁定給展開的相應的設備。
.dts 文件是一種 ASCII 文本格式的 Device Tree 描述。基本上,在 ARM Linux 中,一個 .dts 文件對應一個 ARM 的 machine,一般放置在內核的 arch/arm/boot/dts/ 目錄。由于一個 SOC 可能對應多個 machine(一個SOC可以對應多個產品和電路板),勢必這些 .dts 文件需包含許多共同的部分,Linux 內核為了簡化,把 SOC 公用的部分或者多個 machine 共同的部分一般提煉為 .dtsi,類似于C語言的頭文件。其他的 machine 對應的 .dts 就是 include 這個 .dtsi 。
上述就是小編為大家分享的如何進行RK3288 dts和dtsi介紹了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。