摘要:
内核版本:3.9.5SPI核心层(平台无关)SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位于drivers/spi/spi.c中: 1 static int __init spi_init(vo... 阅读全文
摘要:
内核版本:3.9.5spi_masterstruct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. 1 /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num则记录了这个总线号*/... 阅读全文
摘要:
内核版本:3.9.5SPI子系统概述:一个SPI主控制器对应一条SPI总线,当然在系统中有唯一的总线编号.SPI总线上有两类设备:其一是主控端,通常作为SOC系统的一个子模块出现,很多嵌入式MPU中都常常包含SPI模块;其二是受控端,例如一些SPI接口的Flash,传感器等等;主控端是SPI总线的控... 阅读全文
摘要:
内核版本:3.9.5Linux中SPI驱动有俩个部分组成:controller驱动,直接和底层硬件打交道,protocol驱动,针对特定的设备,也是我们要做的.这里只考虑SPI protocol驱动在主线内核中有一个通用的字符型驱动范例spidev.本文不讨论spidev,而是探讨如何编写一个自定义... 阅读全文