Enabling UART7 disables USART3 (STM32MP157F-DK2)
Hi!
I've been running an embedded linux (built with Buildroot) on a STM32MP157F-DK2. I need to use both USART3 and UART7 ports to interact with other devices.
I've used it flawlessly with only USART3 enabled in linux's device tree for months. Recently, I've enabled UART7 in the device tree and USART3 suddenly stopped working (always getting a "resource busy" message when writing or reading from it).
Rolling back the UART7 modification fixes the issue every time. No error messages appear during build or on boot.
Here's a sample of the .dtsi file:
&uart4 {
pinctrl-names = "default", "sleep", "idle";
pinctrl-0 = <&uart4_pins_a>;
pinctrl-1 = <&uart4_sleep_pins_a>;
pinctrl-2 = <&uart4_idle_pins_a>;
status = "okay";
};
&uart7 {
pinctrl-names = "default", "sleep", "idle";
pinctrl-0 = <&uart7_pins_c>;
pinctrl-1 = <&uart7_sleep_pins_c>;
pinctrl-2 = <&uart7_idle_pins_c>;
status = "disabled";
};
&usart3 {
pinctrl-names = "default", "sleep", "idle";
pinctrl-0 = <&usart3_pins_c>;
pinctrl-1 = <&usart3_sleep_pins_c>;
pinctrl-2 = <&usart3_idle_pins_c>;
uart-has-rtscts;
status = "okay";
};
This code works when building the project, but changing the &uart7's 'status="disabled"' to 'status="okay"' is what causes the problem.
UART7 ports are part of the Arduino interface, could that be part of the problem?
Thanks!
