Hi NVIDIA team,
We are implementing an LCM module on our custom Jetson AGX Thor carrier board using JetPack 7.1.
The LCM module is connected to UART5, and the required UART format is 1200 8N1.
We are seeing two UART5-related behaviors in UEFI.
Issue 1: UEFI Shell activity causes waveform on the UART5 / LCM line
When we type characters in the UEFI Shell, we can observe waveform activity on the UART5 TX line connected to the LCM.
This looks like UART5 may still be affected by UEFI Shell, terminal, or debug-related activity, even though we intend to reserve UART5 only for the LCM module.
Issue 2: UART5 baud rate still appears to be 115200 after configuring 1200 baud
Our LCM requires 1200 8N1, but hardware measurement still shows UART5 output at around 115200 baud.
In UEFI, we tried configuring UART5 to 1200 baud. The configuration appears to be applied from the software side, but the measured waveform still appears to remain at 115200 baud.
We also tried directly sending a test byte from UART5.
Expected result:
UART5 TX outputs the test byte at 1200 baud.
Actual result:
UART5 TX still appears to output at around 115200 baud.
We would like to understand the expected UART5 behavior in Jetson AGX Thor UEFI.
Could you help confirm the recommended direction for the following?
-
If UART5 is intended to be used by a board-specific device such as an LCM, what is the recommended way to keep it separated from UEFI console, terminal, or debug usage?
-
For a low-speed device such as an LCM using 1200 8N1, is there any special UART or clock configuration required in UEFI beyond the normal UART baud-rate setting?
-
Is UART5 expected to support this kind of board-specific UEFI usage on Jetson AGX Thor, or is there a preferred alternative approach for controlling an LCM during UEFI?
Thanks.
Hi morganweng,
UEFI is DTB driven and it will add all enabled UART interfaces for the console.
That’s why you see UART5 is affected by the typing in UEFI shell.
Normally, we will suggest disabling the unused UART interface in UEFI-DTB and keep it enabled in Kernel-DTB.
However, it seems you want to control it in UEFI.
May I know your use case to control LCM in UEFI?
In addition, can you LCM be controlled by SPI or I2C instead?
Hi KevinFFF,
Thanks for the explanation.
Our LCM is already connected to UART5 in the current HW design, and it requires 1200 baud.
We are not limited to controlling the LCM in UEFI. We are just using UEFI as a test environment to check the UART5 behavior before Linux is involved.
The main issue is that UART5 still outputs 115200 baud even after we configure it to 1200 baud.
For SPI or I2C, currently we need to use UART for this LCM design.
Could you help confirm the recommended way to make UART5 actually output 1200 baud on Jetson AGX Thor?
Do we only need to configure the UART baud rate, or is there any other setting that also needs to be changed?
Thanks.
I would suggest disabling UART5 (810c510000.serial) in UEFI-DTB and enabling it in Kernel-DTB to prevent it affected by UEFI boot.
I think you will be able to use it with 1200 8N1 after it boots into Linux kernel.
Hi KevinFFF,
Thanks for the suggestion.
For our use case, we need the LCM to show boot status during the UEFI stage, before Linux kernel boots. So disabling UART5 in UEFI-DTB and only enabling it in Kernel-DTB may not meet our requirement.
We would like to keep UART5 available in UEFI, but prevent it from being used by UEFI console / terminal / debug output, so our board-specific LCM code can use UART5.
Also, we checked the Thor SoC Technical Reference Manual, and the UART baud rate supported range seems to start from 9600 baud. We did not see 1200 baud listed.
Could you help confirm whether 1200 baud is actually unsupported on Thor UART5, or whether the 9600 baud minimum is only the validated/recommended range?
If 1200 baud is not supported in UEFI, is there any suggested workaround for showing LCM boot status before Linux boots?
Thanks.
If UART5 remains enabled in the UEFI DTB, it may still be used for UEFI console output, so it cannot be reserved exclusively for your LCM code during the UEFI stage.
Based on the current documentation and validation results, 9600 baud is the lowest documented rate we found for UART5, and we do not have evidence that 1200 baud is supported in UEFI.
If pre-Linux boot status is required, we recommend using a separate UEFI debug path or display-based status output instead.