天天看點

linux I2C驅動

概述

linux I2C體系結構由三部分組成

①I2C核心:提供I2C總線驅動和裝置驅動的注冊、登出方法

②I2C總線驅動:主要包括兩個資料結構,擴充卡I2c_adapter(包括algorithm結構體指針)、和algorithm資料結構(最終I2C的通信是由algorithm結構控制發送與接受資料)

③I2C裝置驅動:是對I2C硬體體系結構中裝置端的實作,兩個資料結構,分别是I2c_driver(包括I2C的依附、脫離、探測、移除、關閉、恢複、讀寫資料。。。)對應一對通信方法、I2c_cilent(包括I2C硬體的晶片位址,裝置名稱、等,其中該結構體包括擴充卡I2c_adapter,和I2c_driver指針,這樣就可以直接通路了)該結構體對應實在的硬體

以上涉及的結構體不進行分析了,可以參考宋寶華《linux裝置驅動開發》第二版的第一十五章,有詳細的介紹。

繼續閱讀