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 :

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