在omapl138 arm侧驱动SPI1,通过linux spi_write和spi_write_then_read接口进行读写,spi底层寄存器操作调用官方提供的spi-davinci.c文件,读数据一直为0xff;通过抓取读写时序,发现写8位地址,CLK发出64个脉冲,请问这是什么原因?在哪里可以配置的吗?
时序图见链接:note.youdao.com/noteshare
部分配置代码如下
static struct spi_board_info da850_spi_board_info[] = {
{
.modalias = "sc16is762",
.mode = SPI_MODE_0,
.max_speed_hz = 2000000, .bus_num = 1,
.chip_select = 1,
//.irq = SC16_IRQ_TEP,
},
};
static struct davinci_spi_platform_data da850_spi1_pdata = {
.version = SPI_VERSION_2,
.num_chipselect = 2,
.wdelay = 0x4,
.odd_parity = 0,
.parity_enable = 0,
.wait_enable = 0,
.timer_disable = 0,
.clk_internal = 1,
.cs_hold = 1,
.intr_level = 0,
.poll_mode = 1,
.use_dma = 0,
.c2tdelay = 8,
.t2cdelay = 8,
};
Shine:
请问pinmux管脚复用配置了么?
RP Q:
回复 Shine:
配置了,写数据的时候,SI线能是有数据的,CLK也有就是不正常,明明写8位,为啥CLK有64个脉冲
user6263921:
大佬您好,请教一个关于添加spi设备的问题,我添加过配置代码后,进入系统没有匹配到是什么原因呢,求解答