基于龙芯2K1000平台CL1606&AD760-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芯片官方文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CL2302是一款常用的串行通信芯片,用于通过串口与其他设备进行数据传输。它具有高性能、低功耗、可靠性强等特点,被广泛应用于很多领域。 CL2302驱动是指用来控制和管理CL2302芯片的软件程序。通过安装相应的驱动程序,电脑可以与CL2302芯片进行通信,并实现数据的收发和控制。 安装CL2302驱动的步骤如下: 1. 首先,从官方或可信的网站下载CL2302驱动程序的安装文件,一般为一个压缩包文件。 2. 解压缩压缩包,并打开其中的安装文件。 3. 根据安装向导提示,点击“下一步”进行安装过程。 4. 在安装过程中,会要求选择安装路径、接受用户协议等,根据实际需求进行设置。 5. 点击“完成”完成安装过程,此时CL2302的驱动已经成功安装在电脑中。 安装完成后,我们可以在电脑的设备管理器中找到CL2302串口。如果无法找到,可能需要检查驱动是否正确安装或重启电脑。 使用CL2302驱动时,我们可以通过编程语言如C、C++、Python等,调用相应的函数来实现与CL2302芯片的交互。通过指定不同的参数,我们可以发送数据给其他设备,或者接收其他设备发送过来的数据。这样,我们就可以方便地实现串口通信,并完成特定的任务。 总而言之,CL2302驱动是一款用于管理和控制CL2302芯片的软件程序,通过安装驱动,我们可以在电脑上实现与CL2302芯片的串口通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值