基于龙芯2K1000平台CL1606AD760-8驱动调试总结
历经两周终于将设计的AD采集板驱动起来,并且读取电流值成功,唯不是一个突破!由硬件设计再到驱动,一步步设计改变;到设备树添加驱动并加载,总结主要分为两方面,一个驱动调试和硬件调试。细节如下:
驱动调试步骤:
第一步:添加驱动文件到设备树:
去到spi0底下添加如下代码:
adc7606@2 {compatible = "adi,ad7606-8"; //厂家编号reg = <2>; /* CS2 */spi-max-frequency = <12000000>; /* 12MHZ */spi-cpol;interrupt-parent = <&icu>; ------1.interrupts = <59>; /* used goodix */ --2.irq-gpios = <&pioA 41 GPIO_ACTIVE_LOW>; /* IRQ 41 */ --3.adi,conversion-start-gpios = <&pioA 39 GPIO_ACTIVE_HIGH>; /* select mode39 */reset-gpios = <&pioA 37 GPIO_ACTIVE_HIGH>; /* reset io 37*/};
注:1-3标注的地方,进行调试多次没成功,具体是因为loongson自身IO中断问题,给出的例子如下:(路径:linux-5.10-2k1000-dp-src/drivers/input/touchscreen/goodix.c)
37,39,41 分别是我的复位脚,启动脚和中断脚
第二步:Goodix.c是触摸屏程序,在申请gpio中断时,添加了GPIOD触发
#ifdef CONFIG_MACH_LOONGSON64/* gpiod_to_irq用于gpio中断使能,修正龙芯平台的gpio中断 */gpiod_to_irq(ts->gpiod_int);
#endif
ts->gpiod_int:触摸屏的中断引脚
第三步:文件修改如下:(路径:/linux-5.10-2k1000-dp-src/drivers/iio/adc/ad760.c)
在**static int ad7606_request_gpios(struct ad7606_state *st)**函数中添加中断脚
具体照猫画虎,例子如下:
st->gpio_irq = devm_gpiod_get_optional(dev, "irq",GPIOD_IN);if (IS_ERR(st->gpio_irq))return PTR_ERR(st->gpio_irq);//add
#ifdef CONFIG_MACH_LOONGSON64/* gpiod_to_irq用于gpio中断使能,修正龙芯平台的gpio中断 */gpiod_to_irq(st->gpio_irq);
#endif
st:是ad7606的IO申请的结构体
第四步:修改AD7606头文件
在state结构体声明gpio_irq 中断引脚即可。
struct gpio_desc *gpio_irq;//add adc
第五步:编译,烧录内核即可
术语解析:
icu :原生GPIO的集合,提供中断
pioA : 在设备树文件里有定义,继承了原生GPIO的中断
以上就是基于龙芯2K1000平台的AD采集移植
硬件调试方面:查看AD7606的官方文件:
AD7606芯片文档
其他平台参照官网即可,链接如下:
ADI芯片官方文档
基于龙芯2K1000平台CL1606AD760-8驱动调试总结相关推荐
- 基于龙芯2K1000移植uboot之NAND
基于龙芯2K1000移植uboot之NAND 移植环境 开始移植 利用原生驱动(不成功) 利用PMON驱动移植(成功) 移植环境 CPU:LS2K1000 NAND:MT29F16G08 编译环境:U ...
- 基于龙芯2K1000移植uboot之DDR
基于龙芯2K1000移植uboot之DDR 移植环境 开始移植 额外说明 移植环境 CPU:LS2K1000 DDR:SCB13H8G162BF-13KI 编译环境:Ubuntu16.04+gcc-4 ...
- 基于龙芯 2K1000 的嵌入式 Linux 系统移植和驱动程序设计(二)
第 3 章 嵌入式软件系统移植 本课题中嵌入式系统正常工作的前提是嵌入式软件系统完整且能正常工作, 以便为之后的软件开发提供一个能够正常工作的平台.引导程序 PMON 需要完成 内核引导,嵌入式 Li ...
- 基于龙芯2K1000适配WIFI模块(型号:Intel 8265NGW)
硬件平台:龙芯2K1000 evb开发板 + Intel 8265NGW 开发环境:Ubuntu16.04+gcc-4.9.3-64-gnu 平台环境1:PMON+linux3.10+loongnix ...
- 基于龙芯2K1000的3U CPCI主板
产品图片 技术信息 处理器与系统 CPU 龙芯LS2K1000 内存 板载4片 DDR3内存颗粒,总容量2GB BIOS 龙芯PMON PICMG标准 PICMG 2.0 CompactPCI R3. ...
- 龙芯2h芯片不能进入pmon_一种基于龙芯2H芯片应用的COMe_nano核心板的制作方法
本实用新型涉及工业自动化控制技术领域,尤其是涉及一种基于龙芯 2H芯片应用的COMe_nano核心板. 背景技术: 核心板是将PC的核心功能打包封装的一块电子主板.大多数核心板集成了CPU.存储设备和 ...
- 龙芯2K1000运行linux,龙芯2K1000支持补丁有望在Linux 5.13进入内核
出品 | OSCHINA 文 | 局长 Linux Kernel 的 commit 信息显示,针对龙芯 2K1000 芯片的内核支持有望在 Linux Kernel 5.13 中被合并入主线. 龙芯 ...
- 编译移植龙芯2K1000平台下的qt-5.13
编译移植龙芯2K1000平台下的qt-5.13 本文记录对龙芯2K进行qt5.13.1版本的移植. 本文中对于tslib的安装不做讲解,使用了QT4进行核心板开发的童鞋一般情况下,应该已经安装好了ts ...
- 龙芯2K1000实战开发-项目整体框架介绍
目录 概要 整体架构 技术名词解释 1.DDR3: 2.NAND_FLASH: 3.FPGA: 4.MSATA: 5.VPX: 6.PCie: 7.ETH: 技术细节 小结 概要 本项目主要以龙芯2k ...
最新文章
- SAP MM 移动类型343不开放给业务人员之思考
- Microsoft Office Visio
- lucene 索引优化
- Kuskal/Prim POJ 1789 Truck History
- c# 路径空格---ProcessStartInfo参数问题
- sharepoint 2013基于AD的Form表单登录(三)——选择用户时,屏蔽掉AD。
- Django:ORM基本操作-CRUD,管理器对象objects,----->查询1(all,values,values_list,order_by)
- vmware上的ubuntu与window共享folder(shared folder disabled.)
- 美国佐治亚大学计算机专业,乔治亚大学计算机科学类排名,真是细致的看
- 安卓java摄像机的_在Android系统中调用系统前置摄像头
- 晨会分享 知识点二〇一六年五月二十五日
- PHP+Swoole实现的网页即时聊天通讯工具:PHPWebIM
- 怎么把pdf用abobe转换成html,Adobe Acrobat:把网页转换为PDF
- 只要7步,就能将任何魔方6面还原(留着以后教孩子玩
- 类似igoogle div拖拽 demo
- NYOJ 234 吃土豆(基础dp)
- 技嘉B460M小雕板win2012 R2安装网卡驱动
- 初学JAVA项目(11、Ada银行-3)
- 1276 不浪费原料的汉堡制作方案
- Linux审计以及主机的入侵检测系统HIDS编写