YY88 发表于 2017-3-13 21:16:26

请教335xd spi1扩展ADC

335xd的spi1外扩adc7298
修改了board-am335xevm.c 中am335x_spi1_slave_info
{
                .modalias      = "ad7298",
                //.platform_data = ad7298_platform_data,
                .max_speed_hz= 1000000,//1Mbps
                .bus_num       = 2,
                .chip_select   = 0,
                .mode = SPI_MODE_2,//CPOL=1,CPHA=0
      },
然后在menuconfig中配置了spi,以及iio部分的adc7298选项
内核编译之后在/sys/bus/spi/drivers/ad7298/spi2.0中出现了iio:device0,里面是ADC的8个通道in_voltage0_raw-involtage7_raw
与片上TIADC的名称类似。
但是执行cat in_voltage0_raw 返回的值不正确,关键是spi1的sclk和数据均测不到,但是你们的例程spitest是可以测到波形的。
请问,我的步骤对吗?什么原因?spi扩展从设备还需要改动哪些地方?

飞凌-chongzi 发表于 2017-3-14 10:38:36

您好:
      关于SPI扩展ADC需要对底层驱动做修改,建议您查看我们所提供的SPI和AD转换的相关驱动源码,再做修改。

YY88 发表于 2017-3-14 11:02:11

飞凌-chongzi 发表于 2017-3-14 10:38
您好:
      关于SPI扩展ADC需要对底层驱动做修改,建议您查看我们所提供的SPI和AD转换的相关驱动源码, ...


你们提供了spidev.c的驱动,里边提供了read,write及ioctrl接口,这些都是提供应用层用的。
你们的spitest测试程序也是基于这些接口,所以没有问题。

现在与spi1接口的从设备驱动,也就是ad7298的驱动已经有了,还要改动哪儿?我总不能在应用层利用那些接口函数通过spi通信来配置ad7298的寄存器吧?
页: [1]
查看完整版本: 请教335xd spi1扩展ADC