Hi
I got the result of the below.
SPI stack is alive but not working.
SW: rel_imx_5.4.47_2.2.0
HW: imx8mm EVK Board,
The below is Imx8mm-evk.dts
&ecspi2 {
#address-cells = <1>;
#size-cells = <0>;
fsl,spi-num-chipselects = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>;
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
status = "okay";
spidev@0 {
reg = <0>;
compatible = "spidev";
spi-max-frequency = <500000>; //<100000>;
};
};
pinctrl_ecspi2: ecspi2grp {
fsl,pins = <
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 //0x175 //0x00001916 //0x11
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 //0x175 //00000116 //0x11
MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 //0x175 // 00000116 //0x1
>;
};
pinctrl_ecspi2_cs: ecspi2cs {
fsl,pins = <
MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x40000
>;
}
- Spi node : created “spidev1.0” in “/dev” folder
- Loopback : Connect SDI & SDO directly , pin 19 & 21 of EXP CN(attached)
- Refet to EXP CN Page 13, “SPF-31407_C2 EVK-BASE Board Circuit .pdf”
- Test : $ ./spidev_test -v -D /dev/spidev1.0 (the result is attached)
- The value of CLK, DSO, & SS ports never changed.
root@imx8mmevk:/run/media/mmcblk1p3# ./spidev_test -v -D /dev/spidev1.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D |......@.........................|
RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................................|
Refer to result “dmesg | grep spi”
root@imx8mmevk:/run/media/mmcblk1p3# dmesg | grep spi
[ 1.354391] spi_imx 30830000.spi: registered master spi1
[ 1.354503] spi spi1.0: spi_imx_setup: mode 1, 8 bpw, 1000000 hz
[ 1.354512] spi spi1.0: setup mode 1, 8 bits/w, 1000000 Hz max --> 0
[ 1.354772] spi_imx 30830000.spi: registered child spi1.0
[ 1.354778] spi_imx 30830000.spi: probed
[ 1.359164] imx8mm-pinctrl 30330000.pinctrl: pin MX8MM_IOMUXC_NAND_ALE already requested by 30830000.spi; cannot claim for 30bb0000.spi
[ 1.371350] imx8mm-pinctrl 30330000.pinctrl: pin-61 (30bb0000.spi) status -22
[ 1.378498] imx8mm-pinctrl 30330000.pinctrl: could not request pin 61 (MX8MM_IOMUXC_NAND_ALE) from group flexspi0grp on device 30330000.pinctrl
[ 1.391459] nxp-fspi 30bb0000.spi: Error applying setting, reverse things back
[ 1.398697] nxp-fspi: probe of 30bb0000.spi failed with error -22
[ 51.841387] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 1000000 hz
[ 51.841399] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[ 51.841403] spidev spi1.0: spi mode 0
[ 51.841413] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 1000000 hz
[ 51.841423] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[ 51.841426] spidev spi1.0: 8 bits per word
[ 51.841436] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 500000 hz
[ 51.841442] spidev spi1.0: setup mode 0, 8 bits/w, 500000 Hz max --> 0
[ 51.841699] spi_imx 30830000.spi: mx51_ecspi_clkdiv: fin: 50000000, fspi: 500000, post: 3, pre: 12
[ 75.901686] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 1000000 hz
[ 75.901699] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[ 75.901704] spidev spi1.0: spi mode 0
[ 75.901713] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 1000000 hz
[ 75.901722] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0
[ 75.901726] spidev spi1.0: 8 bits per word
[ 75.901735] spidev spi1.0: spi_imx_setup: mode 0, 8 bpw, 500000 hz
[ 75.901741] spidev spi1.0: setup mode 0, 8 bits/w, 500000 Hz max --> 0
[ 75.902104] spi_imx 30830000.spi: mx51_ecspi_clkdiv: fin: 50000000, fspi: 500000, post: 3, pre: 12
[ 149