How can we disable debug console on jetson xavier

We would like to use the Signals UART3_TX and UART3_RX as a serial interface. We were able to disable the debug console on this interface in the device tree so that there is no more output from the kernel. The problem is that we still get debug messages before the kernel is loaded. Can anyone show us the necessary steps to disable any output on this interface for the Jetson AGX Xavier? We are using JetPack 4.2.2 and JetPack 4.3.
Thank you.

Kind regards

Hi sevm89,

Could you past what log do you receive? I guess that is the cboot/MB1/bpmp.

Hi WayneWWW

Here the Log File:
boot.log (27.9 KB)

We also think that it is cboot/mb1/bpmp log. How can we disable or redirect these messages?

in the file tegra194-mb1-bct-misc-l4t.cfg
Set the below flags as follows:

enable_combined_uart = 0;
spe_uart_instance = 0xff;

If we change the flags as you suggested, the system still has output on uart3 and it also gets stuck in the boot process. Here the log:
boot.log (6.0 KB)

Kind regards

Not sure, but you may try this.

Sadly that is not helping.
Any other suggestions?

hello sevm89,

could you please update the misc_config file to disable debug messages.
for example,

debug.enable_log = 0

you may need to flash the whole image for updating that.

Hi JerryChang

There is nowhere inside the JetPack Folder a File with the name tegra194-mb1-bct-misc-galen-int-p2888-0000-p2822-1000.cfg . We tried adding it to the File bootloader/t186ref/BCT/tegra194-mb1-bct-misc-l4t.cfg, but then we get an error “Invalid token debug.enable_log”. Also when we search inside the JetPack Folder, the token “debug.enable_log” can not be found anywhere.

hello sevm89,

please have another try with below configuration.


+enable_log = 0;

Same outcome as before, “Invalid token enable_log” while flashing.

hello sevm89,

since we only release C-Boot Sources for r32.4.2.

could you please try to disable uart-message for MB2/cboot as following, which only error message appear.

diff --git a/include/lib/tegrabl_debug.h b/include/lib/tegrabl_debug.h
index 40bb064..4c6fa6e 100644
--- a/include/lib/tegrabl_debug.h
+++ b/include/lib/tegrabl_debug.h
@@ -95,9 +95,9 @@ typedef uint32_t tegrabl_loglevel_t;

        #if defined(CONFIG_DEBUG_LOGLEVEL)
-               #define TEGRABL_CURRENT_LOGLEVEL        TEGRABL_LOG_INFO

        #define tegrabl_log_printf(level, fmt, ...)                             \
diff --git a/lib/debug/tegrabl_debug.c b/lib/debug/tegrabl_debug.c
index 6ef9e46..b7655b0 100644
--- a/lib/debug/tegrabl_debug.c
+++ b/lib/debug/tegrabl_debug.c
@@ -36,10 +36,11 @@ static char msg[CONFIG_DEBUG_PRINT_LENGTH];
 static struct tegrabl_console *hdev;

-uint32_t tegrabl_debug_loglevel = TEGRABL_LOG_INFO;
+uint32_t tegrabl_debug_loglevel = TEGRABL_LOG_ERROR;

 void tegrabl_debug_set_loglevel(tegrabl_loglevel_t level)
+       level = TEGRABL_LOG_ERROR;
        tegrabl_debug_loglevel = level;
diff --git a/lib/linuxboot/cmdline.c b/lib/linuxboot/cmdline.c
index 496ffc4..6ed96a8 100644
--- a/lib/linuxboot/cmdline.c
+++ b/lib/linuxboot/cmdline.c
@@ -123,7 +123,7 @@ static int tegrabl_linuxboot_add_earlycon(char *cmdline, int len, char *param, v
                                ret_val = -1;
                                goto fail;
-                       ret_val = tegrabl_snprintf(cmdline, len, "%s=tegra_comb_uart,mmio32,0x%08x ", param, mbox_addr);
+//                     ret_val = tegrabl_snprintf(cmdline, len, "%s=tegra_comb_uart,mmio32,0x%08x ", param, mbox_addr);

Hi JerryChang

We will try to do the modification in cboot and check if it works. But if there is an easier way to reach our goal, let us know. We would prefer not to build a customized bootloader.