i.MX6ULL eCSPI1 Slave mode: MISO does not go high impedance

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX6ULL eCSPI1 Slave mode: MISO does not go high impedance

710 次查看
chris_f
Contributor V

I'm able to use the eCSPI1 module in slave mode but when attaching other slaves to the same bus I'm getting conflict on the MISO line.

I've tried using two different pins for MISO (LCD_DATA23 and CSI_DATA07) but the result is the same. The pins do not go hi-Z when the SS line is deasserted.

I can't find any mention of this problem in errata.

Can someone confirm that the module works correctly in this respect?

标签 (1)
0 项奖励
回复
2 回复数

610 次查看
igorpadykov
NXP Employee
NXP Employee

Hi chris_f

i.MX6ULL pads have not high impedance ability, one can use open drain

ODE bit (Open Drain Enable Field) in IOMUXC_SW_PAD_CTL_PAD_LCD_DATA23

register. Below example pad settings in dts file:

        pinctrl_ecspi1_1: ecspi1grp-1 {
            fsl,pins = <
                MX6UL_PAD_CSI_DATA07__ECSPI1_MISO 0x10b0

linux-imx.git - i.MX Linux Kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

610 次查看
chris_f
Contributor V

Thanks igor but open drain will not help. The MISO pin stays low so will still conflict with other slaves that need to drive high.

Figure 36 of IMX6ULIEC Rev. 2.2, 05/2017 suggests strongly that MISO will go tri-state but does not specify delays.

On every other SPI chip I've used MISO goes tri-state when SS is inactive. Even an Allwinner IC I'm using goes tri-state properly.

I guess I'll have to include a 74AHC1G125 tri-state buffer to fix the problem.

0 项奖励
回复