Hi we are using iMX6 sabre sd, yocto based BSP, we have configured the ecspi in this way :
&ecspi5 {
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi5 &pinctrl_spi_cs>;
status = "okay";
spidev0: spi@0 {
compatible="spidev";
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <1000000>; // spi clock can be changed using this property
reg = <0>;
};
ecspi {
pinctrl_ecspi5: ecspi5grp {
fsl,pins = <
MX6QDL_PAD_SD1_DAT0__ECSPI5_MISO 0x100b1
MX6QDL_PAD_SD1_CMD__ECSPI5_MOSI 0x100b1
MX6QDL_PAD_SD1_CLK__ECSPI5_SCLK 0x100b1
>;
};
pinctrl_spi_cs: spi_cs {
fsl,pins = <
MX6QDL_PAD_SD1_DAT1__ECSPI5_SS0 0x80000000 /* SPI5 cs */
>;
};
};
we have interfaced SLIC IC(si3228x) with processor through ecspi5 function, we are using oscilloscope for observation,
while writing on register when we probe MOSI pin it toggles, similarly at the same time SCLK toggles(falling edge) but the signals are triangular instead of square pulses. No change in MISO and CS lines is seen, i.e. CS and MISO are not responding to any signal. Thus no write is taking place. Please suggest any corrections to the above configuration.
Hi Akshat
dts example with ecspi5 can be found on
imx6q-evi.dts\dts\boot\arm\arch - linux-imx - i.MX Linux kernel
Triangular signals may point to hardware issues, short circuit with other
lines or ecspi signals are used somewhere else in dts file or uboot.
Hardware may be checked using baremetal ecspi sdk test (zip can be found on SMP Enable in IMX6 )
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------