Hi Giorgio,
there are many thins that should be checked:
1. Enable SPI Driver by going to Device Drivers --> SPI Support and seting '*' to SPI device Driver, save changes and then exit.

Then make zImage and please note that you must not make imx_v7_defconfig after you enabled spidev in menuconfig because .config may be lost.
2. Check in your .dtsi file that adress-cells and size-cells are set on the ecspiX node
&ecspi1 {
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio5 17 0>;
pinctrl-0 = <&pinctrl_ecspi1>;
pinctrl-names = "default";
status = "disabled";
spidev0: spi@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spidev";
reg = <0>;
spi-max-frequency = <2000000>;
};
};
3. Verify that ecspiX is enabled in the .dts file (althoug you may enable ir in .dtsi the side effect is that all configurations will enable this feature)
&ecspi1 {
status = "okay";
};
4. Verify that the pins you are using for SPI are not being repeated or used by other funtion in the device tree. In other words disable all other configs for
MX6QDL_PAD_KEY_COL1__xxx_xxx
MX6QDL_PAD_KEY_ROW0__xxx_xxx
MX6QDL_PAD_KEY_COL0__xxx_xxx
MX6QDL_PAD_KEY_ROW1__xxx_xxx
5. Once the i.MX boots you must see spidev0.0 listed under /dev, if you dont please rebuild zImage as indicated in step 1.
6. You can make a simple test with the command echo "hello" > /dev/spidev0.0 and you must see in oscilloscope the signals of the transfer.
7. If the problem persists you should double check hardware.
Regards,
Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------