2011-07-23 222 views
2

我需要爲我的 芯片組中的少數控制器編寫我自己的驅動程序。我使用SDK開發SoC,它不提供「linux i2c compatible」驅動程序。它具有簡單的字符驅動程序爲i2c。我想 使用一些標準的i2c RTC驅動程序。I2C linux驅動程序

  • 我想我需要將文件添加到/總線文件夾, 實現標準接口。就這樣。這個文件應該是 與i2c-core和i2c-dev合作?

  • 哪個驅動程序是最好的基礎?我有〜9 32位寄存器 來處理。從第一眼看i2c-ibm_iic.c對我來說相當於 友善。

I2C是針對該SoC的SPI和USB-gadget驅動程序之前的預熱。 你知道嗎,對於這樣的任務可能是原始的男性/小時估計嗎?

我會欣賞任何提示。

BR 巴特洛梅耶Grzeskowiak

回答

3

企業的首要任務是找到,如果你或許IC驅動器已經在Linux內核中或通過第三方實現。您可能會發現您需要的驅動程序已經實施。嘗試詢問您的SoC供應商是否可以告訴哪個公司生產I2C宏單元,因爲您正在尋找替代驅動程序。同樣,您可能會發現您需要的驅動程序已經存在。

你正在尋找正確的地方。該文件應該進入總線,並應實現並註冊驅動程序接口。您還需要註冊一個平臺設備,以便內核將像往常一樣連接驅動程序設備對。其他SoC有很多這樣的例子,如果你沒有。我不認爲你會發現你需要與i2c-core和i2c-dev進行交互。

我會尋找一個小文件大小和最近修改的驅動程序,如果我不得不選擇一個作爲基準。

SPI將花費與I2C相同的工作量。 USB小工具可能會更多 - 其他兩項任務所需的工作量要多少倍,這取決於需要多少實施工作。我不願意將任何一個數字放在任何一個任務上。如果幸運的話,不是所有功能都需要(例如,您是否在意低功耗待機?),並且您可能會偷工減料。