LINUX設備驅動之SPI總線驅動分析

這裏寫圖片描述

1.內核SPI主要結構

這裏寫圖片描述

2.SPI驅動框架

2.1枚舉過程

driver/spi/spi.c
這裏寫圖片描述

2.2數據收發過程

spi_write
spi_message_init();
初始化一個spi_message/一個不可打斷的SPI傳輸過程:CS=0,傳數據,cs=1/
/一個spi_message由多個spi_transfer組成/
spi_message_add_tail(&t, &m);/spi_transfer是spi上傳輸的單方向一個或者多個字節/
spi_sync(spi, &m);//啓動傳輸並等待完成

2.3spi_driver如何調用spi_controller

spi_sync
__spi_sync
spi_async_locked
__spi_async
master->transfer(spi, message);
wait_for_completion

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章