[发明专利]一种针对S3C2440的SPI控制器驱动实现方法在审
申请号: | 201711374040.2 | 申请日: | 2017-12-19 |
公开(公告)号: | CN107992297A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 王鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 济南诚智商标专利事务所有限公司37105 | 代理人: | 李修杰 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 s3c2440 spi 控制器 驱动 实现 方法 | ||
技术领域
本发明涉及存储驱动设计领域,特别是一种针对S3C2440的SPI控制器驱动实现方法。
背景技术
Linux系统中的SPI、IIC和USB等子系统都利用了典型的主机驱动与外设驱动分离的思想,主机端只负责产生总线上的传输波形,外设端只通过标准的API让主机端以适当的波形访问自身,其中涉及4个软件模块:
1.主机端驱动。根据具体的SPI、IIC和USB等控制器的硬件手册,操作具体的SPI、IIC和USB等控制器,产生总线的各种波形。
2.连接主机和外设的纽带。外设不直接调用主机端的驱动来产生波形,而是调一个标准的API。由这个标准的API把这个波形的传输请求间接“转发”给了具体的主机端驱动。
3.外设端的驱动。外设接在SPI、IIC和USB这样的总线上,但是它们本身可以是触摸屏、网卡、声卡或者任意一种类型的设备。在相关的i2c_driver、spi_driver、usb_driver这种xxx_driver的probe()函数中去注册它具体的类型,当这些外设要求SPI、IIC和USB等去访问它的时候,它调用“连接主机和外设的纽带”模块的标准API。
4.板级逻辑。板级逻辑用来描述主机和外设是如何互联的,它相当于一个“路由表”。
Linux通过上述设计方法,将杂乱且不友好的代码变成了4个轻量级的模块,每个模块各得其所。
而对于现有的S3C2440设备,其驱动采用主机驱动与外设驱动集中的方式,可维护性差。
发明内容
本发明的目的是提供一种针对S3C2440的SPI控制器驱动实现方法,旨在解决当前现有的S3C2440设备,其驱动采用主机驱动与外设驱动集中的方式,可维护性差的问题,实现设备驱动的简化,提高可维护性。
为达到上述技术目的,本发明提供了一种针对S3C2440的SPI控制器驱动实现方法,包括以下步骤:
S101、SPI主机控制器初始化;
S102、封装setup函数;
S103、封装transfer函数。
优选地,所述SPI控制器驱动用spi_master结构体来描述,所述spi_master结构体成员包括主机控制器的序号、片选数量、SPI模式、时钟设置函数以及数据传输函数。
优选地,所述SPI主机控制器初始化具体包括:
S201、调用platform_device_alloc、platform_device_add申请添加到系统;
S202、申请、实例化spi控制器抽象spi_master;
S203、将数据信息存入s3c_spi_info;
S204、通过s3c2440_spi_controller_init完成spi控制器的硬件初始化;
S205、调用request_irq注册spi控制器的中断函数;
S206、调用spi_register_master将初始化好的spi_master注册进内核。
优选地,所述s3c_spi_info为本地私有封装,包括寄存器地址、完成量。
优选地,所述setup函数包括spi mode以及clock rate的设置。
优选地,所述封装setup函数具体包括:
获取分配的设备数据,并设置传输模式spi mode,根据传输模式spi mode,设置时钟极性CPOL以及时钟相位CPHA。
优选地,所述封装transfer函数具体为:
S301、选中芯片;
S302、传输数据;
S303、取消片选。
优选地,所述传输数据包括:
在发送第一个spi_transfer之前调用setup函数,从spi_message中逐个取出spi_transfer,并对spi_transfer进行处理,如果该spi_transfer的speed_hz或bits_per_word不是0,则调用setup来设置;发送spi_transfer,进入休眠,当spi_transfer发送完毕后由中断例程唤醒;接收spi_transfer,如果该spi_transfer的cs_change为1,则取消片选;唤醒等待spi_message传输结束的进程。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711374040.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种齿轮生产质量检测系统
- 下一篇:铁路钢轨探伤系统