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

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