Hi Team,
I am using QSPI A and QSPI B both. One slave device is connect over QSPI A and one slave device is connected over QSPI B. QSPI A port is working fine and QSPI B port is not working. we are not not able see any data over data line.
pinctrl_flexspi0: flexspi0grp {
fsl,pins = <
MX8MN_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x1c4
MX8MN_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x84
MX8MN_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x84
MX8MN_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x84
MX8MN_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x84
MX8MN_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x84
MX8MN_IOMUXC_NAND_CLE_QSPI_B_SCLK 0x1c4
MX8MN_IOMUXC_NAND_CE2_B_QSPI_B_SS0_B 0x84
MX8MN_IOMUXC_NAND_DATA04_QSPI_B_DATA0 0x84
MX8MN_IOMUXC_NAND_DATA05_QSPI_B_DATA1 0x84
MX8MN_IOMUXC_NAND_DATA06_QSPI_B_DATA2 0x84
MX8MN_IOMUXC_NAND_DATA07_QSPI_B_DATA3 0x84
MX8MN_IOMUXC_NAND_RE_B_QSPI_B_DQS 0x84
>;
};
&flexspi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexspi0>;
status = "okay";
w25Q01jvzeiq: flash@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
spi-max-frequency = <80000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
partition@00000000 {
/* 1M for Uboot */
reg = <0x00000000 0x00200000>;
label = "qspi-uboot";
};
partition@1 {
/* 8M for kernel- zImage */
reg = <0x00200000 0x02000000>;
label = "kernel";
};
partition@2 {
/* 1M for device tree */
reg = <0x02300000 0x00100000>;
label = "dts";
};
partition@3 {
/* 20M for root file system */
reg = <0x02400000 0x01400000>;
label = "rootfs";
};
};
digitiser1: flash@2 {
reg = <2>;
compatible = "jedec,spi-nor";
spi-max-frequency = <10000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
We are using standard SPI nor driver.
Could you please guide us for this issue.
Hi Aldo,
Thanks for your reply. How can we control this pinctrl-0 settings for both QSPI A as well as QSPI B.
pinctrl-0 = <&pinctrl_flexspi0>;
if you have any working device tree example related to QSPI port A as well QSPI port B
Please share with us.
Regards
Ramji Mishra
Hello,
We do not have a sample device tree for this kind of use case, but you may use this one as an example:
https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/arch/arm64/boot/dts/freescale/imx8mm-emcon.dtsi#L...
https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/arch/arm64/boot/dts/freescale/imx8mm-emcon.dtsi#L...
Best regards/Saludos,
Aldo.
Hello,
Please try by separating the pad group for each of the devices, i.e.
pinctrl_flexspi0: flexspi0grp {
fsl,pins = <
MX8MN_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x1c4
MX8MN_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x84
MX8MN_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x84
MX8MN_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x84
MX8MN_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x84
MX8MN_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x84
>;
};
pinctrl_flexspi1: flexspi1grp {
fsl,pins = <
MX8MN_IOMUXC_NAND_CLE_QSPI_B_SCLK 0x1c4
MX8MN_IOMUXC_NAND_CE2_B_QSPI_B_SS0_B 0x84
MX8MN_IOMUXC_NAND_DATA04_QSPI_B_DATA0 0x84
MX8MN_IOMUXC_NAND_DATA05_QSPI_B_DATA1 0x84
MX8MN_IOMUXC_NAND_DATA06_QSPI_B_DATA2 0x84
MX8MN_IOMUXC_NAND_DATA07_QSPI_B_DATA3 0x84
MX8MN_IOMUXC_NAND_RE_B_QSPI_B_DQS 0x84
>;
};
Best regards/Saludos,
Aldo.