
Linux SPI子系统
文章平均质量分 65
风雨兼程8023
这个作者很懒,什么都没留下…
展开
-
dw ssi(spi)驱动调试
dwc ssi (spi) 调试原创 2022-02-23 16:48:57 · 9529 阅读 · 5 评论 -
Linux内核4.14版本——SPI框架(7)——spidev.c分析
xx原创 2022-02-08 10:54:30 · 2285 阅读 · 0 评论 -
Linux内核4.14版本——SPI框架(6)——spi驱动编写
目录1. dts2. 驱动这个就和具体设备相关了,这里贴一个demo。1. dtsuspi0: usi3spi@f0d89000 { compatible = "tsm,tsm-spi"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 29 4>; reg = <0x0 0xf0d89000 0x0 0x1000>; #address-cells =原创 2022-02-08 10:54:00 · 1676 阅读 · 0 评论 -
Linux内核4.14版本——SPI框架(5)——spi device相关
目录1. spi_add_device1.1 spi_dev_set_name(设置bus id)1.2spi_setup(参数的一些默认设置和检查)2. spi_alloc_device1. spi_add_deviceint spi_add_device(struct spi_device *spi){ ..... /* Chipselects are numbered 0..max; validate. */ if (spi->chip_select >.原创 2022-02-08 10:53:32 · 1901 阅读 · 0 评论 -
Linux内核4.14版本——SPI框架(4)——spi传输以及master需要设置的字段
目录1. spi_sync1.1 __spi_validate(参数message检查)1.2 transfer选择1.2.1ctlr->transfer == spi_queued_transfer(没有定义ctlr->transfer,同步传输)1.2.2spi_async_locked(定义ctlr->transfer)(异步传输)1.3 等待传输完成2. ctrl要实现的一些函数字段2.1 如果设置ctlr->transfer则其不用设置,..原创 2022-02-08 10:41:16 · 4004 阅读 · 1 评论 -
Linux内核4.14版本——SPI框架(3)——master相关
目录1. spi_master的编写流程2.spi_alloc_master3.devm_spi_register_controller3.1of_spi_register_master3.2bus_num的申请3.3 初始化其他一些字段3.4spi_controller_initialize_queue3.5spi_match_controller_to_boardinfo3.5.1spi_match_controller_to_boardinfo3....原创 2022-02-08 10:40:18 · 2498 阅读 · 0 评论 -
Linux内核4.14版本——SPI框架(2)——重要的数据结构
目录1. 简介2. struct spi_controller3. struct spi_device4. 传输相关4.1 struct spi_message4.2 struct spi_transfer1. 简介 SPI子系统中有几个重要的结构体,spi_master、spi_message、spi_transfer等,他们之间的关系如图所示,还有一个spi_device结构体。2. struct spi_controller这个结构体比较大,这...原创 2022-02-08 10:39:30 · 2238 阅读 · 0 评论 -
Linux内核4.14版本——SPI框架(1)——概述
SPI框架原创 2022-02-08 10:38:10 · 1007 阅读 · 0 评论 -
SPI总线协议、SPI时序图详解、GPIO模拟SPI
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送...原创 2020-12-21 14:52:22 · 7946 阅读 · 1 评论