NX respawn CBOOT log to ttyTHS1

Is there a way to respawn the CBOOT log (log at bootup) on another UART ? Right now, I modified tegra194-p3668-all-p3509-0000.dts to have:

bootargs = “console=ttyTHS1,115200 fbcon=map:0”

The closest post I saw on the subject is: NX change console to other uart

What I see is that the cboot log is still only on ttyTCH0 (the default), and I only see the prompt on ttyTSH1 (as well as ttyTCH0).

On the NX, I have:

dmesg | grep THS
[ 0.000000] Kernel command line: console=ttyTHS1,115200 fbcon=map:0 pci=noaer video=tegrafb no_console_suspend=1 earlycon=tegra_comb_uart,mmio3
[ 2.722298] 3100000.serial: ttyTHS0 at MMIO 0x3100000 (irq = 47, base_baud = 0) is a TEGRA_UART
[ 2.729698] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 48, base_baud = 0) is a TEGRA_UART
[ 2.737870] 3140000.serial: ttyTHS4 at MMIO 0x3140000 (irq = 49, base_baud = 0) is a TEGRA_UART

Not sure if there is anything I should update on the pinmux or another file


you may refer to this topic, https://forums.developer.nvidia.com/t/232547/6/

Thank you. I have tried what you suggested. Now on ttyTSH1 I see

welcome to lk
calling constructors
initializing heap
creating bootstrap completion thread
top of bootstrap2()
initializing platform
bpmp: platform_init
tag is 57f8a77779f848bf2ecf21dabee5645f
tag_show initialized
dt initialized
mail initialized
chipid initialized
fuse initialized
sku initialized
speedo initialized
ec_get_ec_list: found 45 ecs
ec initialized
ec_mrq initialized
vmon_populate_monitors: found 3 monitors
vmon initialized
adc initialized
fmon_populate_monitors: found 73 monitors
fmon initialized
fmon_mrq initialized
reset initialized
nvhs initialized
uartb has invalid initial rate (1828571)
391 clocks registered
clk_mrq_init: mrq handler registered
clk initialized
nvlink initialized
io_dpd initialized
io_dpd initialized
thermal initialized
i2c5 controller initialized
initialized i2c mrq handling
i2c initialized
regulator initialized
avfs_clk_platform_init: bad clk id in clock@cluster1_avfs
avfs_clk_platform initialized
soctherm initialized
aotag initialized
powergate initialized
dvs initialized
pm initialized
pg_late initialized
strap initialized
tag initialized
emc initialized
clk_dt initialized
avfs_ccplex_platform initialized
tj_max: dt node not found
tj_init initialized
uphy_mrq_init: mrq handler registered
uphy_dt initialized
uphy initialized
safereg_init: period 80 ms
ec_late initialized
mrq initialized
WARNING: no registered clock for FMON_NAFLL_CLUSTER1 (id 281)
fmon_post initialized
clk_set_parent failed for clk can1, parent pll_aon (-22)
clk_set_parent failed for clk can2, parent pll_aon (-22)
clk_set_parent failed for clk dmic5, parent pll_aon (-22)
clk_set_parent failed for clk i2c2, parent pll_aon (-22)
clk_set_parent failed for clk i2c8, parent pll_aon (-22)
clk_set_parent failed for clk spi2, parent pll_aon (-22)
clk_set_parent failed for clk pwm4, parent pll_aon (-22)
clk_dt_late initialized
machine_check initialized
pm_post initialized
dbells initialized
avfs_clk_platform_post initialized
dmce initialized
cvc initialized
ccplex_avfs_hw_init: nafll_cluster0: not monitored
ccplex_avfs_hw_init: nafll_cluster2: not monitored
ccplex_avfs_hw_init: nafll_cluster3: not monitored
avfs_clk_mach_post initialized
regulator_post initialized
rm initialized
sc7_diag initialized
thermal_test initialized
serial_late initialized
clk_post initialized
clk_dt_post initialized
mc_reg initialized
pg_post initialized
dyn_modules initialized
sku_debugfs initialized
speedo_debugfs initialized
adc_debugfs initialized
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
clk_debugfs initialized
emc_debugfs initialized
dvs_debugfs initialized
fmon_debugfs_init_one: no clock debugfs node to attach FMON_NAFLL_CLUSTER1
fmon_debugfs initialized
vmon_debugfs initialized
pg_debugfs initialized
profile_fs initialized
debugfs_cons initialized
mail_fs initialized
profile initialized
cvc_debugfs initialized
dmce_debugfs initialized
ec_debugfs initialized
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_debugfs initialized
soctherm_debug initialized
gr_reader initialized
mods initialized
dt_fs initialized
debugfs_mrq initialized
debug_mrq initialized
debug_safereg initialized
initializing target
calling apps_init()
starting app shell
entering main console loop
] WARNING: at platform/drivers/pg/pg-cv-t194.c:73
WARNING: at platform/drivers/pg/pg-cv-t194.c:73
WARNING: at platform/drivers/pg/pg-cv-t194.c:73
WARNING: at platform/drivers/pg/pg-cv-t194.c:

Then the login… But when I enter the login, I get “command not found”.

On ttyTCH0, I still get the cboot. Not sure what I am getting actually on ttyTSH1. At the beginning it says “Welcome to lk” and on ttyTCH0 it says "Welcome to Cboot"3 So, is it not possible to get Cboot on ttyTSH1 ?


hello andre.girard,

may I know what’s the actual use-case to respawn the CBOOT logs.
all the logs were sending to UART2 (i.e. Debug UART), it is reserve for kernel debug purpose.

Hello Jerry,

We are connecting another board to the NX and won’t have access to the ttyTCU0 UART port once all boards are integrated together in our systems. But we will have access to the NX via the other board connected to it, with ttyTHS1. So in case something is wrong at bootup with the NX, we would like to have access to cboot from that other UART, ttyTHS1, for troubleshooting.

hello andre.girard,

it’s not supported for changing the CBoot logs output to another UART.

Thanks Jerry,

I understand you cannot redirect the CBoot logs, but what about any boot log at startup, in case something goes wrong at bootup ? The type of logs you could retrieve by doing a dmesg in the terminal. Thanks.

don’t you may follow this topic, https://forums.developer.nvidia.com/t/232547/6/ to change output logs from TCU0 to ttyS2 for UART-C?

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