device-tree

    3熱度

    1回答

    我目前正試圖瞭解linux驅動程序如何工作。據我所知,當內核解析設備樹中對應的.compatible字符串時,會調用驅動程序的probe/init函數。然而,在亞利桑那州的SPI驅動它看起來像有不同的成員引用多個兼容的字符串: static const struct spi_device_id arizona_spi_ids[] = { { "wm5102", WM5102 }, { "wm5

    2熱度

    1回答

    我有兩個不同的設備樹源代碼片段。 UART1: [email protected] { device_type = "serial"; compatible = "ns16550"; reg = <0xef600400 8>; virtual-reg = <0xef600400>; clock-frequency =

    3熱度

    2回答

    我看到了一個場景,其中「struct of_device_id」未在驅動程序中定義,但在爲相同設備條目添加的設備樹(dts)文件兼容字符串中。 以下是芯片的示例設備樹條目。 &i2c1 { ... adv7ex: [email protected] { compatible = "adv7ex"; reg = <0x4a>; };

    1熱度

    1回答

    我的工作Linux內核的一個端口上不支持ARM的SoC平臺。不幸的是,在這個SoC上,不同的外設有時會在同一個內存區域共享寄存器或混合寄存器。這是給我的悲傷與似乎不支持不同的設備共享同一組在同一個地址空間混合寄存器或寄存器的概念設備樹規範。我在設備樹上讀過的各種文檔都沒有提出處理這個問題的正確方法。 我的簡單的方法來多個驅動器內指定相同的寄存器區域拋出「不能用於資源請求區域」爲試圖到相同的寄存器區

    2熱度

    1回答

    我正在編寫一個內核模塊,用於在功能上測試ARM + FPGA SOC系統的設備驅動程序內核模塊。我的方法涉及通過查詢設備樹來查找設備驅動程序正在使用哪個中斷。在設備驅動程序本身中,我註冊了使用platform_driver_register的平臺驅動程序,並在.probe函數中傳遞了包含device指針的platform_device*指針。有了這個,我可以撥打of_match_device和ir

    1熱度

    1回答

    我在啓動Linux 3.16.1時遇到問題。我使用at91sam9263_defconfig編譯了來自http://www.kernel.org的源代碼。 我已經在引導選項中添加了扁平設備樹支持。 在此(http://www.slideshare.net/softpapa/devi ... ux-8930303)演示文稿中建議的後續提示可打開/ proc中的支持設備樹,但我沒有在menuconfi

    1熱度

    1回答

    所以我正在學習嵌入式Linux,並有幾個問題,我似乎無法找到答案。 1)編譯時內核是否依賴於dtb/dts文件?我認爲內核只需要知道芯片架構(即arm),並且由引導加載程序(uBoot)加載dtb文件,因此內核只需加載由dtb文件配置的驅動程序。 2)混合與匹配:我的印象是,我可以混合和匹配引導裝載程序,DTB,內核,根文件系統,並給予模塊的任意組合下列 內核下:必須知道哪些芯片它是編譯爲 dtb

    0熱度

    2回答

    我一直在嘗試讀取設備樹中的子節點屬性。 無法找到它,任何人都可以在這裏找到幫助。 我有一個DTS AA{ child 1: { property 1 : XXX property 2 : XXX } child 2 :{ property 1 : XXX property 2 : XXX }

    6熱度

    2回答

    我可以/sys/kernel/debug/pinctrl/44e10800.pinmux/pins偷看,看看我感興趣的針: pin 38 (44e10898.0) 00000037 pinctrl-single 這相當於GPIO[2]4,或P8.10。 我使用的是Fedora 21,內核爲3.17.7-300.fc21.armv7hl。 我想將多路複用器更改爲0x27。換言之,這將配置引腳具有

    -1熱度

    1回答

    / { #address-cells = <1>; #size-cells = <1>; compatible = "ralink,mtk7620a-soc"; cpus { [email protected] { compatible = "mips,mips24KEc"; }; }; chosen { bootargs = "conso