Forums › Devices › OSD32MP15x › Assistance Needed for Enabling UART7, USART1, and UART8 on OSDMP157F-RED v1.1
Tagged: osdmp157f-red
Hello Sir,
I am seeking assistance with enabling UART7, USART1, and now UART8 on the OSDMP157F-RED board version 1.1. Despite configuring the device tree for these UARTs, they are not appearing under /dev/tty* and also disabled dcmi and camera by virtual kernel then removed from dts files.
Below are the relevant configuration snippets used in my device tree:
USART1 Pin Configuration
The pins are also configured for idle and sleep states to transition safely when the UART is not in use.
UART7 Pin Configuration
This setup ensures UART7 is ready for data communication with proper electrical characteristics.
UART8 Pin Configuration
Idle and sleep pin configurations have also been defined for UART8, ensuring smooth transitions in low-power modes.
Problem:
/dev/tty*
.Questions:
Any help or insights would be highly appreciated.
[ 2.465043] stm32-usart: probe of 40018000.serial failed with error -22
[ 2.471995] stm32-usart: probe of 40019000.serial failed with error -22
[ 2.478636] stm32-usart: probe of 5c000000.serial failed with error -22
i am getting error like this sir
Dinesh,
Seems like the kernel is unable to initialize the UART devices you are trying to setup. https://elixir.bootlin.com/linux/v6.11.11/source/include/uapi/asm-generic/errno-base.h#L26 shows the generic error codes for Linux kernel, here indicating an invalid argument somewhere in the driver probe function of the UART driver for STM32 inside OSD32.
Please review https://wiki.st.com/stm32mpu/wiki/Serial_TTY_device_tree_configuration and https://wiki.st.com/stm32mpu/wiki/Trace_and_debug_scenario_-_UART_issue for a reference to device tree and a good how-to on debugging the issue. May be there is an issue with DMA channel usage, in which case you can disable the use of DMA for the UARTs by following the device tree guide linked above.
Best,
Neeraj
Hi Sir,
Thank you for pointing me to the references and sharing the insights.
I have already reviewed the configurations mentioned in the links, including the device tree and clock settings, as well as the DMA usage for the UARTs. I have tested multiple scenarios, such as disabling the use of DMA for the UARTs and rechecking the clock configurations thoroughly, but unfortunately, I am still unable to get any UART devices initialized.
The kernel continues to show the same error (probe of {40018000.serial} failed with error {-22}), indicating that the issue persists. If you have any further suggestions or specific debugging steps that could help pinpoint the root cause, I would greatly appreciate it.
Best regards,
Dinesh
Dinesh,
Have you checked whether the pinmux is correct? If there are pin conflicts in the device tree(same pin used by different peripherals), that could be an issue. An additional reference is the BRK, which implements UART5, UART7 and UART8: https://github.com/octavosystems/OSD32MP1-BRK-device-tree/tree/kirkstone.
If everything mentioned so far has been verified, please post the device tree you are using as well as the complete “dmesg” output so I can take a look.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields