Hello,
I encoutered an issue related to the FLEXSPI BUS of the i.MX8QXP SoC (driver drivers / spi / spi-nxp-fspi.c of kernel 5.4.70). According to the documentation the driver can be configured as follows:
Required SPI slave node properties:
- reg : There are two buses (A and B) with two chip selects each.
This encodes to which bus and CS the flash is connected:
- <0>: Bus A, CS 0
- <1>: Bus A, CS 1
- <2>: Bus B, CS 0
- <3>: Bus B, CS 1
The Pinmux in dts is the follow:
pinctrl_flexspi0: flexspi0grp {
fsl,pins = <
IMX8QXP_QSPI0A_SCLK_LSIO_QSPI0A_SCLK 0x06000021
IMX8QXP_QSPI0A_SS0_B_LSIO_QSPI0A_SS0_B 0x06000021
IMX8QXP_QSPI0A_DATA0_LSIO_QSPI0A_DATA0 0x06000021
IMX8QXP_QSPI0A_DATA1_LSIO_QSPI0A_DATA1 0x06000021
IMX8QXP_QSPI0A_DATA2_LSIO_QSPI0A_DATA2 0x06000021
IMX8QXP_QSPI0A_DATA3_LSIO_QSPI0A_DATA3 0x06000021
IMX8QXP_QSPI0B_SCLK_LSIO_QSPI0B_SCLK 0x06000021
IMX8QXP_QSPI0B_SS0_B_LSIO_QSPI0B_SS0_B 0x06000021
IMX8QXP_QSPI0B_SS1_B_LSIO_QSPI0B_SS1_B 0x06000021
IMX8QXP_QSPI0B_DATA0_LSIO_QSPI0B_DATA0 0x06000021
IMX8QXP_QSPI0B_DATA1_LSIO_QSPI0B_DATA1 0x06000021
IMX8QXP_QSPI0B_DATA2_LSIO_QSPI0B_DATA2 0x06000021
IMX8QXP_QSPI0B_DATA3_LSIO_QSPI0B_DATA3 0x06000021
>;
};
The interface is configured in the following way:
&flexspi0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexspi0>;
status = "okay";
flash_b_0: flash_b-mx2@2 {
compatible = "macronix,mx25u6435f", "jedec,spi-nor";
reg = <2>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <25000000>;
status = "okay";
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
};
};
As described, this eeprom should be recognized by BUS FLEXSPI B in Chip Select 0. But what happens is that we see Chip Select and Clock working correctly but no data comes out of the SoC in any of the 4 lines: DATA0, DATA1, DATA2, DATA3. I don't know if it's a known problem or I'm doing something wrong. Thanks for the support.
Best Regards
Hi Jimmy,
I want to use the eeprom at kernel level, not for boot.
I met this issue at kernel level.
Thank you for your answer.
Hi Jimmy,
main issue is that there are not DATA signals coming out from i.MX8QX QSPIB, same eeprom is installed in QSPIA and it is correctly recognized from the driver.
Hi Jimmy,
I try it but i doesn't work, the DATA PINs doesn't exchange data.
I try IMX8QXP_QSPI0B_DATA0_LSIO_QSPI0B_DATA0 muxed as GPIO and it works as expected, so physical connection is ok.