RTS pin UARTD Colibri imx8x SODIMM pin 67

I’m using the Colibri imx8x V1.0D. I have UART D configured and want to use SODIMM pin 67 as the RTS. Is there anything else that needs configured in the .dts file aside from the iomux being set to “ADMA.UART1.RTS_B”?

I does not appear the pin 67 changes logic levels when requested.

Thanks

You mention UART D and the iomux setting of ADMA.UART1.RTS_B. I’m not familiar with the mapping, but is UART D mapped to UART1 someway?

Also, is there a “uart-has-rtscts” or “rts-gpios” in the device tree for that uart?

Hi @CEK,

Checking the device tree of imx8x-colibri.dtsi, we can see that you also need to disable pwm2 using the pin you want to change the function. Therefore, the overlay could be something like the following code:

/dts-v1/;
/plugin/;

/ {
	compatible = "toradex,colibri-imx8x";
};

#include <dt-bindings/pinctrl/pads-imx8qxp.h>

&pwm2 {
    status = "disabled";
};

&iomuxc {

	pinctrl-0 = <&pinctrl_hog0>, <&pinctrl_hog1>, <&pinctrl_hog2>,
		    <&pinctrl_ext_io0>, <&pinctrl_lpspi2_cs2>, <&pinctrl_rts_enable>;


	pinctrl_rts_enable: rts_enable_group {
	/* both pins are connected together, reserve the unused CSI_D04 */
		fsl,pins = <
			IMX8QXP_CSI_D04_CI_PI_D06			            0x61		/* SODIMM  67 */
		    IMX8QXP_UART1_RTS_B_ADMA_UART1_RTS_B 			0x60		/* SODIMM  67 */
		>;
	};
};

Here, I disabled the pwm2 and changed the function of the pin you want to use, and added it to the iomuxc node.

Can you check if you did the same with your device tree?

Best Regards,
Hiago.

I have this resolved, my main issue is that under the device tree i inadvertently had “pinctrl-1” instead of “pinctrl-0”.

Thanks for your help!

Hi @CEK,

glad you solved your issue!

Feel free to ask any further questions you might have.

Best Regards,
Hiago.