裝置樹之I2C和SPI例項

2021-08-17 21:39:27 字數 953 閱讀 4989

clock-frequency i2c匯流排頻率,常用值有100000,400000

i2c具體例項如下圖所示:

圖1
圖2
上圖1描述i2c控制器屬性,比如暫存器屬性,中斷屬性

從中斷屬性可知:

i2c控制器使用spi interrupts方式,中斷號為51,高電平觸發

上圖2描述i2c控制器子結點屬性

num-cs 片選訊號總數,包括內部片選訊號和gpio片選訊號

cs-gpios 該屬性表示使用gpio作為片選訊號

圖3
從上圖3可知:

spi控制器片選訊號總數為4,其中,

cs0,cs1為內部片選訊號

cs2,cs3為gpio片選訊號,使用gpio1_10,gpio1_11作為片選訊號

spi子結點重要屬性

spi-max-frequency spi匯流排頻率

spi-tx-bus-width spi傳送位寬,預設值為1,即使用一根資料線作為mosi,對於qspi匯流排,spi-tx-bus-width = <4>

spi-rx-bus-width spi接收位寬,預設值為1,即使用一根資料線作為miso,對於qspi匯流排,spi-rx-bus-width = <4>

spi-cpol

spi-cpha

spi匯流排支援4種工作模式,spi子結點通過spi-cpol屬性和spi-cpha屬性來進行設定

spi具體例項如下圖所示:

圖4
從上圖4可知:

mcspi控制器連線了2個spi裝置:

phy晶元ks8995m,使用片選訊號cs0,spi匯流排頻率為1mhz

adc晶元max1027,使用片選訊號cs1,spi匯流排頻率為1mhz

i2c裝置驅動

1,i2c 裝置註冊 static struct i2c board info i2c2 devices i2c裝置一般在板級 中註冊 static void msm8916 add i2c deivces void 2,i2c驅動註冊 include static const struct i2c...

linux裝置驅動之I2C

裝置結構體i2c client中addr的低8位表示裝置位址。裝置位址由讀寫位 器件型別和自定義位址組成,第7位是r w位,0表示寫,1表示讀,所以i2c裝置通常有兩個位址,即讀位址和寫位址型別器件由中間4位組成,這是由半導體公司生產的時候就已經固化了。自定義型別由低3位組成。由使用者自己設定,通常...

linux裝置驅動之I2C

裝置結構體i2c client中addr的低8位表示裝置位址。裝置位址由讀寫位 器件型別和自定義位址組成,第7位是r w位,0表示寫,1表示讀,所以i2c裝置通常有兩個位址,即讀位址和寫位址型別器件由中間4位組成,這是由半導體公司生產的時候就已經固化了。自定義型別由低3位組成。由使用者自己設定,通常...