TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168 u-boot下spi读错误

需要在u-boot下配置时钟芯片cdce62005,使用u-boot下的spi读写,能够配置时钟芯片使其输出想要的时钟大小

但是在试图读62005的寄存器时,发现读出来的都是0xffffffff,在spi发出对62005的读命令后,测量8168的MISO

管脚,发现有62005送出的数据,解析后发现正是之前写进去的值,但是用u-boot下的spi读却无法将其读出。打印了

MCSPI_CH(i)CONF寄存器,其中的12-13位也配置成Transmit and receive mode,这是怎么回事?

Eason Wang:

我能不能说,目前你的情况是SPI写操作没问题,读操作出问题?

读的时候,620005似乎返回了之前写入的寄存器值,但是DM8168都识别成了0xFFFFFFFF?

yurmi:

回复 Eason Wang:

是这样的没错。

yurmi:

回复 yurmi:

还有我是SPI_D0作为MOSI,SPI_D1作为MISO,用的是片选1,是,SPI_D1不能作为MISO来读数据吗?

如果我使用SPI_D0作为MISO,SPI_D1作为MOSI,使用片选0,则可以读?是片选1的问题还是SPI_D1

的问题。

Eason Wang:

回复 yurmi:

请问您这是猜测还是说试过了?

对于之前的问题,我的假设是SPI读的时序有一丢丢不对,导致读到的东西错了,可不肯能?

BR,

Eason

yurmi:

回复 Eason Wang:

验证了下把MISO和MOSI的数据线互换之后可以读了,SPI_D0作为MOSI,SPI_D1作为MISO,读失败,(此时读MCSPI_CH(i)CONF值是0x1a1603dc),这时

MCSPI_CH(i)STAT中RXS是可以置位的,但是MCSPI_RX(i)中的数据都是0xff,没有数据刷新。

SPI_D0作为MISO,SPI_D1作为MOSI,可以读,(此时读MCSPI_CH(i)CONF值是0x1a1103dc),

赞(0)
未经允许不得转载:TI中文支持网 » dm8168 u-boot下spi读错误
分享到: 更多 (0)