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