IMX6 SPI

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6 SPI

1,746 Views
kiruthikavarada
Contributor III

My pin mux setting for SPI is

ecspi1 {

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

        cs-gpios = <&gpio2 30 0>;

        bus-number = <1>;

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_ecspi1_1>;

        status = "okay";

        spidev@0 {

               compatible = "spidev";

               spi-max-frequency = <20000000>;

               reg = <0>;

        };

  pinctrl_ecspi1_1: ecspi1grp-1 {

                        fsl,pins = <

                                MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1

                                MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1

                                MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1

                                MX6QDL_PAD_EIM_EB2__GPIO2_IO30  0x80000000

                        >;

                };

I am using the SPI master driver provided by freescale.I also enabled User mode SPI driver support.

IMX6 is master and another micro controller is slave.

I am sending data from IMX6 master to slave with user mode spi driver support.

No clock is seen ( IMX_SPI1_SCLK) Is there any change in pinmux setting or spi master driver required??

I am using kernel version 3.10

0 Kudos
2 Replies

685 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

Make sure that any other node is using the MX6QDL_PAD_EIM_D16 pad.

if there is some other node using it disable it.

Best Regards,

Alejandro

0 Kudos

685 Views
alejandrolozan1
NXP Employee
NXP Employee

If you check the dts for the sabreauto they disable the i2c3 due to a pin conflict

&ecspi1 {

        pinctrl-assert-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;

        status = "okay";

};

&flexcan2 {

        /* max7310_c on i2c3 is gone */

        status = "disabled";

};

&i2c3 {

        /* pin conflict with ecspi1 */

        status = "disabled";

};

0 Kudos