博客專欄

EEPW首頁 > 博客 > Linux kernel 使能I2C驅動

Linux kernel 使能I2C驅動

發(fā)布人:電子禪石 時間:2024-02-03 來源:工程師 發(fā)布文章

   記錄一下在kernel中使用設備樹使能I2C驅動并在/dev目錄下顯示i2c-0節(jié)點的方法。


第一步:menuconfig

        在內(nèi)核源碼目錄下,我們先進行圖形化界面配置,使用如下命令:

    make menuconfig

如圖,在路徑Device Drivers > I2C support下,進行I2C的選項選擇。其中第三項:I2C device interface要記得勾選,否則在/dev目錄下不會生成I2C節(jié)點!






1706952508367143.png

設備樹:

 一般使用硬件I2C的時候,原廠會在設備樹的dtsi文件中加入該節(jié)點的信息,但status狀態(tài)是disabled,所以我們需要在所使用的dts文件中使能該節(jié)點。

        原廠寫好的節(jié)點:

image.png

用戶需要自己添加的信息:

image.png

將狀態(tài)status賦值為okay一般就可以結束了。我這里I2C下掛了一個RTC芯片,所以我添加了RTC的節(jié)點。


第三步:編譯、下載、測試

        在kernel啟動log中可以看到有I2C驅動控制器打印的信息

在系統(tǒng)中 ls /dev查看是否存在I2C節(jié)點:
1706952864704097.png

可以看到,i2c-0節(jié)點存在,此時就可以使用open,write,read應用函數(shù)去操作節(jié)點啦。


        關鍵注意點:menuconfig選擇配置項的時候,一定記得要選擇I2C device interface,否則/dev下找不到該節(jié)點!

附加記錄(linux下gpio模擬i2c)

menuconfig:

1706952942912121.png












 設備樹:

image.png

注意使用的gpio有沒有其他其他功能被占用,另外要添加到alise節(jié)點。

gpios兩個引腳的順序:

1706953117150863.png


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: I2C

相關推薦

技術專區(qū)

關閉