[发明专利]一种基于gt9系列芯片的驱动实现方法及系统在审
申请号: | 201810280700.9 | 申请日: | 2018-04-02 |
公开(公告)号: | CN108549611A | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | 王鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 驱动程序 芯片 外设 芯片设计 驱动 主机驱动程序 兼容性 研发 | ||
本发明涉及芯片设计技术领域,提供一种基于gt9系列芯片的驱动实现方法及系统,方法包括:在I2C adapter的DTS node中添加外设的DTS描述;当添加完成所述DTS描述后,生成所述外设的驱动程序,所述外设的驱动程序主机驱动程序分离,从而实现对所有gt9系列芯片的驱动,减少各个gt9系列芯片设计一种对应的驱动程序所带来的增加研发成本,解决了各个芯片之间驱动程序兼容性较差的问题。
技术领域
本发明属于芯片设计技术领域,尤其涉及一种基于gt9系列芯片的驱动实现方法及系统。
背景技术
I2C协议是嵌入式系统中广泛使用的一类通信协议,主要用于CPU和各种外设之间的低速数据通信。Linux kernel使用I2C framework抽象、管理相应的资源,并以各种形式,向各类使用者提供API。Linux的I2C体系结构分为3个组成部分,具体是:
(1)I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即Algorithm)上层的与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。
(2)I2C总线驱动:I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部;
I2C总线驱动主要包含I2C适配器数据结构i2c_adapter、I2C适配器的Algorithm数据结构i2c_algorithm和控制I2C适配器产生通信信号的函数;
经由I2C总线驱动的代码,可以控制I2C适配器以主控方式产生开始位、停止位、读写周期,以及以从设备方式被读写、产生ACK等。
(3)I2C设备驱动:I2C设备驱动(也称为客户驱动)是对I2C硬件系统结构中设备端的实现,设备一般挂接在受CPU控制的I2C适配器上,通过I2C适配器与CPU交换数据;
I2C设备驱动主要包含数据结构i2c_driver和i2c_client,需要根据具体设备实现其中的成员函数。
目前,gt9系列芯片包含有若干种类型的芯片,每一类型的芯片均需要配置一对应的驱动程序,但是该gt9系列的芯片类型有若干,从而增加了芯片研发难度,而且不同类型的芯片之间兼容性较差。
发明内容
本发明的目的在于提供一种基于gt9系列芯片的驱动实现方法,旨在解决现有技术中的问题。
本发明是这样实现的,一种基于gt9系列芯片的驱动实现方法,所述方法包括下述步骤:
在I2C adapter的DTS node中添加外设的DTS描述;
当添加完成所述DTS描述后,生成所述外设的驱动程序,所述外设的驱动程序主机驱动程序分离。
作为一种改进的方案,所述在I2C adapter的DTS node中添加外设的DTS描述的步骤具体包括下述步骤:
根据硬件的连接方式,确定外设所从属的I2C adapter;
在所述I2C adapter的DTS node中,添加外设的DTS描述。
作为一种改进的方案,所述当添加完成所述DTS描述后,生成所述外设的驱动程序的步骤具体包括下述步骤:
定义一个struct i2c_driver类型的变量,所述变量包含一个与DTS中的“compatible”字段相同的of_match_table字段以及一个probe接口;
调用module_i2c_driver接口,同时将调用的所述module_i2c_driver接口注册到I2C core中。
作为一种改进的方案,所述方法还包括下述步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810280700.9/2.html,转载请声明来源钻瓜专利网。