Error occurs when interfacing another Octal memory with FlexSPI

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Error occurs when interfacing another Octal memory with FlexSPI

Jump to solution
1,550 Views
priyank_bhatt
Contributor III

Hello,

We are using a custom board based on iMX8QXPMEK. We are using Yocto Zeus with BSP L5.4.24-2.1.0.
In this board, we have provided support for connecting two memories on the flexSPI interface similar to the below diagram from the reference manual,

priyank_bhatt_0-1602051331766.png

In our dts file, we have added another node inside &flexspi0 as follows

 

ram0: abc@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <1>;
compatible = "my-driver";
spi-max-frequency = <60000000>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
};

 

But when the board boot-up, it shows the below error msgs

[ 1.296063] imx8qxp-pinctrl scu:pinctrl: pin IMX8QXP_QSPI0B_SCLK already requested by scu:pinctrl; cannot claim for 5d120000.spi
[ 1.307656] imx8qxp-pinctrl scu:pinctrl: pin-165 (5d120000.spi) status -22
[ 1.314553] imx8qxp-pinctrl scu:pinctrl: could not request pin 165 (IMX8QXP_QSPI0B_SCLK) from group flexspi0grp on device scu:pinctrl
[ 1.326661] nxp-fspi 5d120000.spi: Error applying setting, reverse things back
[ 1.333925] nxp-fspi: probe of 5d120000.spi failed with error -22

We are not even using IMX8QXP_QSPI0B_SCLK pins in our HW connections. Still getting these errors.
The error remains even if the flash0: mt35xu512aba@0 node is disabled.

Kindly help to resolve the issue.

Thank you.

0 Kudos
1 Solution
1,474 Views
priyank_bhatt
Contributor III

We have removed multiple pinmuxing in the DTS file.
Also we have created a driver and changed compatible field appropriately. Theses changes resolved the issue.

Thank you.

View solution in original post

0 Kudos
4 Replies
1,475 Views
priyank_bhatt
Contributor III

We have removed multiple pinmuxing in the DTS file.
Also we have created a driver and changed compatible field appropriately. Theses changes resolved the issue.

Thank you.

0 Kudos
1,543 Views
igorpadykov
NXP Employee
NXP Employee

Hi priyank_bhatt

 

regarding "could not request pin 165 IMX8QXP_QSPI0B_SCLK" error one can

recheck dts/dtsi files if that pin included twice and rebuild image from scratch.

Just for test one can compile i.MX8QXP MEK dts, where this pin is used :

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8qxp-mek....

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8x-mek.dt...

 

Best regards
igor

0 Kudos
1,538 Views
priyank_bhatt
Contributor III

Hi @igorpadykov,

Thank you for a quick reply.

By removing the unnecessary pin muxing I was able to resolve this issue. But I am still not able to communicate to the Octal RAM connected to the flexSPI interface.

Can you confirm that the node I added in the device tree(refer to original query) file is correct for the HW design(refer to original query) we used on the custom board? I mean will this node trigger the QSPI0A_SS1_B chip select pin connected to the Octal RAM?

 

Thank you.

0 Kudos
1,532 Views
igorpadykov
NXP Employee
NXP Employee

one can check if this part is present in struct spi_nor_ids[]

https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/mtd/spi-nor/spi-nor.c?h=imx_5.4.47...

 

Best regards
igor

0 Kudos