GPIO pin multiplexing

Hello, I am checking if it is possible to change the functionality of the pins QSPI_1_CLK, QSPI_1_CS#, QSPI_1_IO0, QSPI_1_IO1, QSPI_1_IO2, QSPI_1_IO3, QSPI_1_CS2#, QSPI_1_DQS on the Verdin iMX8MP QL board with the Dhalia board. According to the pinout designer, it shows that it is possible, but the DTS I created shows an error when trying to compile the file and generate the DTO.

verdin-imx8mp-qspi-to-gpio.dts (1.2 KB)

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help with configuring the QSPI pins as GPIO! However, to provide you with the most accurate guidance for your specific setup, could you let me know which OS and version you are running on your device?

You can get this information by running the tdx-info command on your device. For more details on this tool, please see: https://developer.toradex.com/software/development-resources/tdx-info/

Once I know your OS version, I can help you troubleshoot the DTS compilation error and provide specific guidance for converting the QSPI pins to GPIO functionality on your Verdin iMX8M Plus with the Dahlia carrier board.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Unfortunately, you didn’t include the error messages you encountered during compilation, but I can assume the issue is related to the mux macros you used:

fragment@1 {
        target = <&iomuxc>;
        __overlay__ {
            pinctrl_gpio_qspi: qspi-gpio-pins {
                fsl,pins = <
                    MX8MP_NAND_ALE__GPIO3_IO00    0x1c4
                    MX8MP_NAND_CE0_B__GPIO3_IO01  0x1c4
                    MX8MP_NAND_DATA00__GPIO3_IO06 0x1c4
                    MX8MP_NAND_DATA01__GPIO3_IO07 0x1c4
                    MX8MP_NAND_DATA02__GPIO3_IO08 0x1c4
                    MX8MP_NAND_DATA03__GPIO3_IO09 0x1c4
                    MX8MP_NAND_READY_B__GPIO3_IO14 0x1c4
                    MX8MP_NAND_DQS__GPIO3_IO15    0x1c4
                >;
            };
        };

The macros you used contain an extra underscore before GPIO3, which causes the compiler to reject them

My bad, the error message I receive is:
Error: verdin-imx8mp-qspi-to-gpio.dts:19.21-22 syntax error
FATAL ERROR: Unable to parse input tree
But even changing that underscore, the error still appears.

Those numbers are meaningless without knowing the exact line and word in your DTS that they refer to