ESCPI1-SPIDEV0-CLK_CS_MOSI_MISO pin voltage issue "Linux 3.14.52"

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

ESCPI1-SPIDEV0-CLK_CS_MOSI_MISO pin voltage issue "Linux 3.14.52"

4,843件の閲覧回数
vis
Contributor I

Hi IMx Friends,

I was trying to interface a transceiver module to the imx6 dual lite using the SPI protocol.

Here with the Pin mux Details:

From IOMUX Tool :

pastedImage_0.png

From my  imxqdl_my.dtsi file :

&ecspi1 {

        fsl,spi-num-chipselects = <1>;

        cs-gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>;

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_ecspi1>;

        status = "okay";

        spidev@0 {

               compatible = "spidev";

               spi-max-frequency = <100000>;

               reg = <0>;

        };

};

pinctrl_ecspi1: ecspi1grp {

                        fsl,pins = <

                                MX6QDL_PAD_CSI0_DAT6__ECSPI1_MISO       0x100b1

                                MX6QDL_PAD_CSI0_DAT5__ECSPI1_MOSI       0x100b1

                                MX6QDL_PAD_CSI0_DAT4__ECSPI1_SCLK       0x100b1

                                /*MX6QDL_PAD_CSI0_DAT7__ECSPI1_SS0      0x100b1*/

                                MX6QDL_PAD_CSI0_DAT7__GPIO5_IO25        0x000b1

                        >;

                };

Note: The imx6dl works at 3.3volt and the transceiver works at 1.8 volts.

With the above setting when i run my SPI test application, here are the probe results of the SPI_MOSI , SPI_MISO, SPI_CLK , SPI_CS as attached below .

The problem is :

ECSPI_SS0 chip select never pulls down( its stays at 1.8 volts as shown in the attached SPI_CS figure) when the IMx6 assert the MOSI and MISO lines.

I only see my data of ECSPI_MOSI from imx6 to transceiver coming as shown in the SPI_MOSI figure.

I only see ECSPI_MISO line goes from 0 to 0.2 volt .

I only See ECSPI_SCLK clock only comes when i run the application that to the amplitude of the signal goes up to 0.4 volts .

Can anyone please guide me how to make my SPI Communication block working between iMx6dl to transceiver  and drive the SPI pins?

Thanks,

Vishal

ラベル(3)
0 件の賞賛
返信
2 返答(返信)

4,355件の閲覧回数
sharddhabhalera
Contributor I

Hello,

I have a similar situation as of Vishal.

Could you please post a bit detailed solution or something like a step by step process on how to use spi?

I am using a eeprom to test spi.

On command  "dmesg | grep -spi" i get ,

         spi_imx  2008000.ecspi : probes

         spi_imx : probe of 2018000.ecspi failed with error -22

         spidev spi 0.0 : setup unsupported mode bits 20

         spidev spi 0.0 : setup unsupported mode bits 20

         spidev spi 0.0 : setup unsupported mode bits 20

on command modprobe spidev i do not get any return not even an error

my dtsi file is as follows :

&ecspi1 {

        fsl,spi-num-chipselects = <0>;

        cs-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_ecspi1>;

        status = "okay";

 

        spidev@0 {

               compatible = "spidev";

               spi-max-frequency = <20000000>;

               reg = <0>;

        };

}

Can anyone please guide me on what might be wrong or how to approach on debugging the spi problem.

Best Regards,

Shraddha

0 件の賞賛
返信

4,355件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Vishal

for i.MX6DL it is necessary to use level shifter when peripheral chip is 1.8V

and processor gpio is powered with 3.3V. I am afraid there are no other options

and this can not be configured with software.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信