RK3399PRO的字符spi设备驱动

Linux 4.4内核SPI驱动特性:

①默认采用摩托罗拉SPI协议
②支持8位和16位
③软件可编程时钟频率和传输速率高达50MHz
④支持SPI 4中传输模式的配置
⑤每个SPI控制器支持一个到两个片选

1. 首先申请设备号(动态):

int alloc_chrdev_region(dev_t *dev,unsigned baseminor,unsigned count,const char *name);

含义就是申请一个动态主设备号,并申请一系列次设备号。
baseminor为起始次设备号,count为次设备号的数量,name为设备名,会在设备/proc/devices创建同名设备。

实例:
alloc_chrdev_region(&devno, 0,255, "myOled"); // 申请设备号devno,直观看到就是“myOled”会在系统的/proc/devices内显示。
RK3399PRO的字符spi设备驱动_第1张图片   
2.注册设备到系统(没有创建设备):

int cdev_add(struct cdev *p, dev_t dev, unsigned count)

含义为 cdev 结构的指针,起始设备编号,以及设备编号

你可能感兴趣的:(平台硬件驱动)