AnsweredAssumed Answered

Linux 4.9.11 espi4 chip select

Question asked by Alric Fitterer on Sep 17, 2018
Latest reply on Sep 24, 2018 by igorpadykov

Hi All,

In linux-imx 4.9.11, we have allocated 3 gpios for chip selects on espi4, however only cs0 is toggling. Below is the dts configuration. I have also configured these gpios via sysfs and cannot toggle them there either.

In spi.c spi_set_cs I have added a printk statement and the correct gpio value is seen there also (165, 170).

Is there a known issue with the gpios as chip selects for espi4 in this linux version?

This dts configuration work with linux-imx 3.14.28.

 

        pinctrl_ecspi4_cs: ecspi4_cs_grp {
              fsl,pins = <
                    MX6SX_PAD_SD2_DATA2__GPIO6_IO_10    0x80000000    /* cs0, F10 */
                    MX6SX_PAD_SD1_DATA3__GPIO6_IO_5        0x80000000    /* cs1, A14 */
                    MX6SX_PAD_SD2_DATA1__GPIO6_IO_9        0x80000000    /* cs2, F13 */

              >;
        }; //ecspi

 

&ecspi4 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;
    cs-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>, <&gpio6 5 GPIO_ACTIVE_LOW>, <&gpio6 9 GPIO_ACTIVE_LOW>;
    status = "okay";

 

    mram@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "mr25h40", "jedec,spi-nor";
        reg = <0 0x00000000 0x00080000>;
        spi-max-frequency = <40000000>;

 

        partition@0 {
            label = "mram";
            reg = <0x00000000 0x00080000>;
        };
    };

 

    fram@1 {
           #address-cells = <1>;
        #size-cells = <1>;
        compatible = "cy15b104", "jedec,spi-nor";
        spi-max-frequency = <30000000>;
        reg = <1 0x00000000 0x00080000>;

 

        partition@0 {
            label = "fram";
            reg = <0x00000000 0x00080000>;
        };
    };

 

#if (0)
    ethernet-swith8765@2 {
        compatible = "ksz8795";
        reg = <2>;
        spi-max-frequency = <50000000>;
        reset-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };
#endif
};   

 

Alric

Outcomes