
kernel-driver-spi
文章平均质量分 88
kernel-driver-spi
kunkliu
good good study
展开
-
spi-gpio+mcp2510驱动移植
不啰嗦,上设备树代码:spi { compatible = "spi-gpio"; #address-cells = <0x1>; //ranges; #size-cells = <0>; gpio-sck =...转载 2020-03-20 11:21:32 · 913 阅读 · 0 评论 -
SPI Bit-banging方法的实现
前言SPI(Serial Peripheral Interface)是一种应用广泛的通信总线,通常微处理器上会集成SPI模块以支持该通信协议,输出正确的信号的时序,并保证时序间同步,实现与外部SPI设备正常通信。当需要使用微处理器上SPI模块,但发现引脚被占用时,那么可以通过SPI Bit-banging这个方法,通过GPIO端口模拟SPI接口引脚(CS、MOSI、MISO、CLK)上的时序信...转载 2020-03-20 11:15:35 · 1512 阅读 · 0 评论 -
Linux SPI框架(上)
转载地址:http://blog.youkuaiyun.com/vanbreaker/article/details/7733476水平有限,描述不当之处还请指出,转载请注明出处http://blog.youkuaiyun.com/vanbreaker/article/details/7733476 Linux的SPI子系统采用主机驱动和外设驱动分离的思想,首先主机SPI控制器是一种平台设备,因此转载 2017-10-10 11:55:44 · 361 阅读 · 0 评论 -
Linux SPI框架(下)
水平有限,描述不当之处还请之处,转载请注明出处http://blog.youkuaiyun.com/vanbreaker/article/details/7737833 本节以spidev设备驱动为例,来阐述SPI数据传输的过程。spidev是内核中一个通用的设备驱动,我们注册的从设备都可以使用该驱动,只需在注册时将从设备的modalias字段设置为”spidev”,这样才能和spidev驱动匹配转载 2017-09-13 14:35:08 · 501 阅读 · 0 评论 -
Linux spi驱动框架之执行流程
转载地址:http://blog.youkuaiyun.com/chenliang0224/article/details/72617253一. 驱动注册流程1. static int nuc970_spi1_probe(struct platform_device *pdev)2. err = spi_bitbang_start(&hw->bitbang);3. INIT_WORK(&bit转载 2017-09-28 14:45:50 · 543 阅读 · 0 评论 -
Linux spi驱动框架之执行流程-nuc970-att7022
转载地址:http://blog.youkuaiyun.com/chenliang0224/article/details/51236499Linux spi驱动架构由三部分构成:SPI核心层、SPI控制器驱动层、和SPI设备驱动程序。 1.SPI核心层: SPI核心层是Linux的SPI核心部分,提供了核心数据结构的定义、SPI控制器驱动和设备驱动的注册、注销管理转载 2017-09-28 14:18:36 · 1486 阅读 · 0 评论 -
Linux spi驱动分析----SPI设备驱动(W25Q32BV)
转载地址:http://blog.chinaunix.net/uid-25445243-id-4026974.html一、W25Q32BV芯片简介 W25X是一系列SPI接口Flash芯片的简称,它采用SPI接口和CPU通信,本文使用的W25Q32BV容量为32M,具体特性如下:1.1、基本特性 该芯片最大支持104MHz转载 2017-09-28 10:50:30 · 3119 阅读 · 0 评论 -
linux下的SPI模块驱动使用
转载地址:http://blog.sina.com.cn/s/blog_9542cec30102w332.html由于linux的驱动都有很好的框架性,但是对刚开始学习的人来说,在不太懂框架的基础之下学习是很麻烦的事,网上很多都把这个框架给完整性分析了一下,但是具体怎么要能用,也没有怎么说,这里我总结一下。1、驱动分为平台驱动、控制器驱动、设备驱动、设备。2、拿到一转载 2017-09-28 10:18:49 · 1135 阅读 · 0 评论 -
Linux SPI总线设备驱动模型详解
转载地址:http://blog.youkuaiyun.com/u014106791/article/details/52301671随着技术不断进步,系统的拓扑结构越来越复杂,对热插拔、跨平台移植性的要求越来越高,早期的内核难以满足这些要求,从linux2.6内核开始,引入了总线设备驱动模型。其实在linux2.4总线的概念就已经提出来了,直到2.6版本的内核才运用。Linux系统中有很多条总线,如转载 2017-09-28 09:48:02 · 470 阅读 · 0 评论 -
Linux SPI框架(中)
转载地址:http://blog.youkuaiyun.com/vanbreaker/article/details/7734150水平有限,描述不当之处还请指出,转载请注明出处http://blog.youkuaiyun.com/vanbreaker/article/details/7734150 上节介绍了SPI子系统中的一些重要数据结构和SPI子系统初始化的第一步,也就是注册SPI总转载 2017-10-10 11:58:19 · 356 阅读 · 0 评论 -
Linux系统自带SPI接口驱动自测
转载地址:http://blog.youkuaiyun.com/yaolanshu_june/article/details/52152790本文主要验证linux-imx_share\Documentation\spi目录下spidev_test.c的测试例程,能否正常控制SPI接口。一.开发环境分析虚拟机导入的Ubuntu内核版本ARM内核版本:ARM的CP转载 2017-10-10 11:51:07 · 2295 阅读 · 0 评论 -
Linux下SPI从设备驱动的编写
转载地址:http://blog.youkuaiyun.com/chinazhangzhong123/article/details/51686267 SPI(Serial Peripheral Interface) 是一个同步的四线制串行线,用于连接微控制器和传感器、存储器及外围设备。三条信号线持有时钟信号(SCLK,经常在10MHz左右)和并行数据线带有“主出,从进(MOSI)”或是“转载 2017-09-28 10:36:30 · 2204 阅读 · 0 评论 -
Linux spi 设备驱动
转载地址:http://blog.youkuaiyun.com/liangzhenliang/article/details/466291551、概览spi子系统中分为spi控制器驱动和spi设备驱动。前面已经讲述了spi控制器驱动。下面讲述一下spi设备驱动。所谓的spi设备驱动,就是挂在spi总线上形形色色的芯片驱动。它可能是一个Flash芯片,一个声音编解码芯片,也可能是一个网卡芯片。这转载 2017-09-28 10:42:27 · 1024 阅读 · 0 评论 -
和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程
转载地址:http://blog.youkuaiyun.com/eastmoon502136/article/details/7921846对于SPI的一些结构体都有所了解之后呢,那么再去瞧瞧SPI的那些长见的操作的函数了。首先看一下本人画的比较挫的数据流了,仅供参考,如有不对,不吝赐教 接下来看看各个函数吧还是: SPI write [html]转载 2017-10-12 13:17:43 · 376 阅读 · 0 评论 -
SPI四种模式区别
转载地址:http://blog.youkuaiyun.com/yihui8/article/details/54316888SPI四种模式区别 spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode)Mode 0 CPOL=0, CPHA=0 Mode 1 CPOL=0, CPHA=1Mode 2 CPOL=1转载 2017-10-17 09:36:32 · 5916 阅读 · 0 评论 -
SPI四种工作模式时序图
转载地址:http://blog.youkuaiyun.com/guomutian911/article/details/728130671.SPI总线简介 SPI(serial peripheral interface,串行外围设备接口)总线技术是Motorola公司推出的一种同步串行接口。它用于CPU与各种外围器件进行全双工、同步串行通讯。它只需四条线就可以完成MCU与各种外围器件的通讯转载 2017-10-17 09:37:45 · 6237 阅读 · 0 评论 -
imx6 Linux Kernl添加spidev的设备节点
装载地址:https://blog.youkuaiyun.com/wxxgoodjob/article/details/76572346一、spidev介绍如果在内核中配置spidev,会在/dev目录下产生设备节点,通过此节点可以操作挂载在该SPI总线上的设备。用户空间通过该节点可以访问内核空间。二、配置spidev设备步骤在i.MX6,Kernel 4.1.15上配置spidev的支持。1、配置dts支持...转载 2018-05-23 14:59:28 · 1456 阅读 · 0 评论 -
单片机IO口模拟SPI四种模式的程序
转载地址:https://blog.youkuaiyun.com/zyboy2000/article/details/11861329#include "iom8535v.h"#define _CPOL 1#define _CPHA 0#define SCK_IO DDRA|=0X01#define MOSI_IO DDRA|=0X02#define MISO_IO D...转载 2018-06-08 17:05:05 · 2451 阅读 · 1 评论 -
am335x 添加SPI&测试
转载地址:https://blog.youkuaiyun.com/WXXGoodJob/article/details/805835661. make ARCH=arm menuconfig 配置2. 配置设备树arch/arm/boot/dts/am335x-evm.dts:...... mcspi0_pins: mcspi0_pins { pin...转载 2019-03-13 16:55:38 · 1514 阅读 · 0 评论 -
spi驱动框架全面分析,从master驱动到设备驱动
转载地址:http://blog.youkuaiyun.com/lizuobin2/article/details/51735963内核版本:linux2.6.32.2 硬件资源:s3c2440参考: 韦东山SPI视频教程内容概括: 1、I2C 驱动框架回顾 2、SPI 框架简单介绍 3、master 驱动框架 3.1 驱动侧转载 2017-09-27 14:15:36 · 285 阅读 · 0 评论 -
Linux系统自带spi驱动加载及应用程序编写方法详解
转载地址:http://blog.youkuaiyun.com/borntox/article/details/51871480硬件平台:飞思卡尔IMX6,内核版本:kernel3.0.35Linux系统中,和I2C一样,SPI也有系统自带的设备驱动程序,位于源码目录下drivers/spi/spidev.c,以下为驱动的移植和对应应用程序编写方法驱动代码移植要将此转载 2017-09-21 13:47:55 · 8273 阅读 · 0 评论 -
LINUX驱动之SPI子系统之六spi_driver的注册和挂载流程
原文地址:http://fpcfjf.blog.163.com/blog/static/55469793201292991952106/歇了个周末,养了下精神,今天接着说上回没说完的事儿。 既然主机控制器,设备都准备好,那么下来,自然是驱动要出场了,而且他不但要出场,还要和另外两个勾搭上,才能一起干活。先看代码:spidev.c中: 1. static int __init spidev_i转载 2017-09-15 11:17:31 · 3556 阅读 · 0 评论 -
LINUX驱动之SPI子系统之五spi_device的创建流程
原文地址:http://fpcfjf.blog.163.com/blog/static/55469793201292593727739/上回已经讲到了,scan_boardinfo调用spi_new_device来创建新的SPI设备, 1. struct spi_device spi_new_device(struct spi_master *master, 2.转载 2017-09-15 11:01:10 · 4211 阅读 · 0 评论 -
Linux中SPI子系统图解和mini2440下的SPI驱动移植
原文地址:http://www.linuxidc.com/Linux/2012-08/68401.htm1.SPI子系统框图详解:SPI总线上有两类设备:一类是主控端,通常作为SOC系统的一个子模块出现,比如很多嵌入式MPU中都常常包含SPI模块。一类是受控端,例如一些SPI接口的Flash、传感器等等。主控端是SPI总线的控制者,通过使用SPI协议主动发起SPI总线上的会话。而受转载 2017-09-15 10:32:11 · 361 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
原文地址:http://blog.youkuaiyun.com/DroidPhone/article/details/24663659我们知道,SPI数据传输可以有两种方式:同步方式和异步方式。所谓同步方式是指数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的函数后,直到数据传输完成,函数才会返回。而异步方式则正好相反,数据传输的发起者无需等待传输的结束,数据传输期间还可以转载 2017-09-15 10:22:06 · 280 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之三:SPI控制器驱动
原文地址:http://blog.youkuaiyun.com/DroidPhone/article/details/24353293通过第一篇文章,我们已经知道,整个SPI驱动架构可以分为协议驱动、通用接口层和控制器驱动三大部分。其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能:1. 申请必要的硬件资源,例如中断,DMA通道,DMA内存缓冲区等等;2.转载 2017-09-15 10:17:30 · 320 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之二:SPI通用接口层
原文地址:http://blog.youkuaiyun.com/DroidPhone/article/details/23932447通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了相应的数据结构,这些数据结构一部分是SPI设备、SPI协议驱动和SPI控制器的数转载 2017-09-13 17:29:33 · 255 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之一:系统概述
原文地址:http://blog.youkuaiyun.com/droidphone/article/details/23367051/SPI是”Serial Peripheral Interface” 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器、传感器、存储设备,SPI设备分为主设备和从设备两种,用于通信和控制的四根线分别是:CS 片选信号SCK 时钟信号MISO 主设备的数据输入转载 2017-09-13 17:17:13 · 235 阅读 · 0 评论 -
linux设备模型之spi子系统
原文地址:http://www.cnblogs.com/gdt-a20/archive/2011/05/22/2291983.html===============================本文系本站原创,欢迎转载!转载请注明出处:http://www.cnblogs.com/gdt-a20=============================== 相比于前面介绍的i2c子系转载 2017-09-13 15:04:08 · 617 阅读 · 0 评论 -
LINUX驱动之SPI子系统之四spi_master的注册流程
原文地址:http://fpcfjf.blog.163.com/blog/static/5546979320129249855818/ 平台设备的驱动,设备和总线的变量基本都直接静态变量或提前注册。比如目前的NAND, NAND的DEVICE是在mach-MINI2440.c中调用的dev_nand.c中的定义的 struct platform_device s3c_device_nan转载 2017-09-15 11:36:28 · 1335 阅读 · 0 评论 -
LINUX驱动之SPI子系统之三基本的调用流程
原文地址:http://fpcfjf.blog.163.com/blog/static/5546979320129249420884/这里有一处说明,因为SPI用的是spi_device这个设备结构,其中与platform_device不同的是没有.resource这个成员,所以就不用再考虑它了。它通过在s3c24xx_spi_probe函数里: res = platform_get_resour转载 2017-09-15 11:43:04 · 580 阅读 · 0 评论 -
SPI子系统分析之一:框架
转载地址:http://www.cnblogs.com/jason-lu/p/3164634.html内核版本:3.9.5SPI子系统概述:一个SPI主控制器对应一条SPI总线,当然在系统中有唯一的总线编号.SPI总线上有两类设备:其一是主控端,通常作为SOC系统的一个子模块出现,很多嵌入式MPU中都常常包含SPI模块;其二是受控端,例如一些SPI接口的Flash,传感器等转载 2017-09-20 18:21:56 · 426 阅读 · 0 评论 -
SPI子系统分析之二:数据结构
转载地址:http://www.cnblogs.com/jason-lu/p/3164901.html内核版本:3.9.5spi_masterstruct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. 1 /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num转载 2017-09-20 18:20:42 · 413 阅读 · 0 评论 -
SPI子系统分析之三:驱动模块
转载地址:http://www.cnblogs.com/jason-lu/p/3164949.html内核版本:3.9.5SPI核心层(平台无关)SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位于drivers/spi/spi.c中: 1 static int __init转载 2017-09-20 18:01:04 · 260 阅读 · 0 评论 -
SPI子系统分析之四:驱动模块
转载地址:http://www.cnblogs.com/jason-lu/p/3165327.html内核版本:3.9.5SPI控制器层(平台相关)上一节讲了SPI核心层的注册和匹配函数,它是平台无关的.正是在核心层抽象了SPI控制器层的相同部分然后提供了统一的API给SPI设备层来使用.我们这一节就能看到,一个SPI控制器以platform_device的形式注册进内核,并且调用spi_r转载 2017-09-20 17:45:19 · 537 阅读 · 0 评论 -
spi bitbang实现原理分析
转载地址:http://blog.chinaunix.net/uid-24345573-id-2982664.html最近研究spi的bit bang,学自网络,不敢独享,特做此文档。此文档是关于SPI的,读者对象为对linux 驱动如SPI作为platform有一定基础的programer。个人只见,难免有误,欢迎大家批评指正。此文档基于linux2.6.32内核转载 2017-09-20 17:36:47 · 1771 阅读 · 0 评论 -
LINUX驱动之SPI子系统之一概述
原文地址:http://fpcfjf.blog.163.com/blog/static/55469793201291184923309/Spi子系统的访问可以有两种方式,一种是使用SPI控制器,第二种方法是使用GPIO模拟SPI的时序,但这种方法有一个很大的缺点,即时序的模拟需要耗费大量的时间,形成访问的瓶颈,造成效率不高。这两种方法对应的主要文件在内核的drivers/spi/spi_s3c24x转载 2017-09-15 12:55:05 · 445 阅读 · 0 评论 -
LINUX驱动之SPI子系统之二SPI的基本数据结构1
原文地址:http://fpcfjf.blog.163.com/blog/static/55469793201291582350752/ 谈到驱动的基本数据结构,通过以前的平台驱动学习可以猜测出,SPI也得有以下几种数据结构: Spi_master,spi_driver,spi_device,bus_type,class,spi_board_info,spi_message,spi_trans转载 2017-09-15 12:51:54 · 430 阅读 · 0 评论 -
LINUX驱动之SPI子系统之二SPI的基本数据结构2
原文地址:http://fpcfjf.blog.163.com/blog/static/5546979320129188402596/ 今天接着讲余下的几个数据结构,主要讲spi_board_info,spi_message,spi_transfer,先看它们的定义: 1. struct spi_board_info { 2. char modalias[32]; /转载 2017-09-15 12:45:02 · 579 阅读 · 0 评论 -
Linux SPI驱动框架剖析
转载地址:http://blog.youkuaiyun.com/kunkliu/article/details/72983590Linux SPI驱动框架剖析http://www.cnblogs.com/lubiao/p/4806146.html(说明:我的开发平台是TQ210,处理器是cotex-A8架构的s5pv210,Linux内核版本:linux-3.10.46。)一、SPI(Serial Per转载 2017-09-13 13:45:38 · 1938 阅读 · 0 评论