This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378: SPI modules not loading, not showing up under /dev/

Part Number: AM4378

Hi,

I am trying to get SPI master running on a am437x development board. Since all the other pins are being used up somewhere else, I am using spi4. My device tree file looks like this:

&spi4 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&spi4_pins_default>;

	spidev@0 {
		spi-max-frequency = <24000000>;
		reg = <0>;
	};
};

and

	spi4_pins_default: spi4_pins_default {
		pinctrl-single,pins = <
			0x250 ( PIN_INPUT | MUX_MODE0 ) /* (P25) spi4_sclk.spi4_sclk */
			0x254 ( PIN_OUTPUT | MUX_MODE0 ) /* (R24) spi4_d0.spi4_d0 */
			0x258 ( PIN_INPUT | MUX_MODE0 ) /* (P24) spi4_d1.spi4_d1 */
			0x25c ( PIN_OUTPUT | MUX_MODE0 ) /* (N25) spi4_cs0.spi4_cs0 */
		>;
   	};

The .config file has CONFIG_SPI=y, CONFIG_SPI_MASTER=y and CONFIG_SPI_SPIDEV=y . I enabled this all through menuconfig and the dts using the pinmux tool.

However when I boot up the board, I get the following error on my dmesg out:

root@am437x-evm:~# dmesg | grep spi
[    1.156597] spi_master spi1: cannot find modalias for /ocp@44000000/spi@48345000/spidev@0
[    1.164985] spi_master spi1: Failed to create SPI device for /ocp@44000000/spi@48345000/spidev@0
[    1.175722] m25p80 spi0.0: unrecognized JEDEC id bytes: 00, 00, 00

Also there is nothing under /dev/spi* or /sys/class/spidev/.

Where am I going wrong?

Thanks.