QSPI on Colibri imx7d

Trying to configure qspi on Colibri imx7d (NAND)
I include the imx7d-sdb-qspi.dtsi to imx7d-colibri-eval-v3.dts which should declare the pinctrl.
But while booting the kernel i get :

imx7d-pinctrl 30330000.iomuxc: no fsl,pins and pins property in node /soc/aips-bus@30000000/iomuxc@30330000/qspi1
[ 1.638236] imx7d-pinctrl 30330000.iomuxc: invalid function qspi1 in map table
[ 1.645530] fsl-quadspi: probe of 30bb0000.spi failed with error -22

The aips-bus address is the aips1 address not the aips3

Onn the module filesystem /sys/firmware/devicetree/base/soc/aips-bus@30800000/spi@30bb0000 exists and the aips address is aips3 - which should be correct.

Can anybody help - what am i missing ?

Hello @BDSKPEF,

May I know which version of BSP you are using?

Hi,
its BSP5, but kernel and dtb are compiled from git clone toradex_5.4-2.3.x-imx7

Additional info - dumping the sys/firmware/devicetree/base with dtc :

iomuxc@30330000 {

qspi1 {
qspi1grp_1 {
fsl,pins = <
0x34 0x2a4 0x00 0x02 0x00 0x51
0x38 0x2a8 0x00 0x02 0x00 0x51
0x3c 0x2ac 0x00 0x02 0x00 0x51
0x40 0x2b0 0x00 0x02 0x00 0x51
0x48 0x2b8 0x00 0x02 0x00 0x51
0x4c 0x2bc 0x00 0x02 0x00 0x51>;
phandle = <0x67>;
}; };

comparing to imx7d-pinfunc.h the numbers look correct

Looks like imx7d-sdb-qspi.dtsi is outdated or something, extra qspi1{} block, try commenting it out

&iomuxc {
	/*qspi1 {*/
		pinctrl_qspi1_1: qspi1grp_1 {
			fsl,pins = <
				MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 0x51
				MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 0x51
				MX7D_PAD_EPDC_DATA02__QSPI_A_DATA2 0x51
				MX7D_PAD_EPDC_DATA03__QSPI_A_DATA3 0x51
				MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK 0x51
				MX7D_PAD_EPDC_DATA06__QSPI_A_SS0_B 0x51
			>;
		};
/*	};*/
};

I tried that - unfortunately there is no detection of QSPI at all.
dmesg has no mention of even trying and i cant see any new entries in /dev

I don’t mind QSPI detection. I meant this:

What messages do you see now?

no errors, just
[ 0.061933] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[ 0.062704] imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver

CONFIG_MTD_SPI_NOR seems being disabled in kernel config.

That did the difference - Thank you !

  • my mistake, was looking too much for a fast way to verify the qspi on our carrier board :slight_smile: