Disable ttyTCU0 on Orin NX JP5.1.2

Hi, I want to disable the ttyTCU0 UART debug console on Orin NX using JP5.1.2

I want to also disable the login and debug console.
We still get the debug messages before the kernel is loaded.

We want to dedicate /tty/TCU0 for other communication / acting just as other UARTs like ttyTHS1.

Please assist.
Thanks

Hi san1998,

Are you using the devkit or custom board for Orin NX?

It seems you want to disable debug UART port (UART2) and use it as normal UART.
Sorry that it is not supported and hasn’t verified from us.
Some customers have tried to perform the similar behavior as this on Xavier NX but the UART communication is unstable. The TCU(Tegra Combined UART) is also implemented in different firmware to output the serial console log during different boot up stages. If there’s not debug UART, it would be hard to debug the issue so that we won’t suggest disabling the debug UART.

@KevinFFF

We are using a custom board for Orin.

I tried removing the console=ttyTCU0,115200 from the command line of p3767.conf.common and flashing.

Also removed the below from the device tree:

bootargs = "console=ttyTCU0,115200";

Also:

sudo systemctl stop 
serial-getty@ttyTCU0.service
sudo systemctl disable serial-getty@ttyTCU0.service
sudo systemctl mask serial-getty@ttyTCU0.service
sudo reboot

ttyTCU0 still acts as a debug uart . What can be a workaround for this?

It should also be removed from MB1/MB2/UEFI/BPMP firmware and some of them are not public.
I think you could only disable the debug UART after kernel.
Please check what messages do you get after boot into kernel.

@KevinFFF

After disabling the debug UART after kernel , i get these messages after booting into kernel.


[2024-03-07 17:43:08] ESC   to enter Setup.
[2024-03-07 17:43:08] F11   to enter Boot Manager Menu.
[2024-03-07 17:43:08] Enter to continue boot.
[2024-03-07 17:43:08] **  WARNING: Test Key is used.  **
[2024-03-07 17:43:09] 
                      [2024-03-07 17:43:09] L4TLauncher: Attempting Direct Boot
[2024-03-07 17:43:13] EFI stub: Booting Linux Kernel...
[2024-03-07 17:43:13] EFI stub: Using DTB from configuration table
[2024-03-07 17:43:13] EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
[2024-03-07 17:43:13] EFI stub: Exiting boot services and installing virtual address map...
[2024-03-07 17:43:14] ��I/TC: Secondary CPU 1 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 1 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 2 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 2 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 3 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 3 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 4 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 4 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 5 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 5 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 6 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 6 switching to normal world boot
[2024-03-07 17:43:14] I/TC: Secondary CPU 7 initializing
[2024-03-07 17:43:14] I/TC: Secondary CPU 7 switching to normal world boot
[2024-03-07 17:43:17] ��debugfs initialized
[2024-03-07 17:43:18] ��I/TC: Reserved shared memory is disabled
[2024-03-07 17:43:18] I/TC: Dynamic shared memory is enabled
[2024-03-07 17:43:18] I/TC: Normal World virtualization support is disabled
[2024-03-07 17:43:18] I/TC: Asynchronous notifications are disabled
[2024-03-07 17:43:24] ��WARNING: clock_disable: clk_power_ungate on gated domain 35 for gpc1clk
[2024-03-07 17:43:34] ��
[2024-03-07 17:43:34] Ubuntu 20.04.6 LTS user-desktop ttyTCU0

@KevinFFF

Is there a straight forward way to remove this from MB1/MB2/UEFI/BPMP firmware ?

I have the uefi source code.

This use case(removing combined UART) has not been verified from us and we don’t suggest for this.

For UEFI, it is determined by device node in dtb.
You should remove them in each firmware manually and there’re some firmware not public to be modified.

It seems you’ve removed the serial console log in kernel.
You can just use it to connect your UART device after boot up.

@KevinFFF

Yes for now i have disabled it.

Just to confirm, can we expect any kind of support on this? that is - disabling ttyTCU0 as debug UART and using it as a normal UART before kernel.

Sorry that we don’t support for this use case since some firmware is not public to be modified.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.