I followed your instruction but nothing output from THS2.
It seems like THS2 is enabled.
p@p-desktop:~$ dmesg | grep THS
[ 0.940063] 3110000.serial: ttyTHS1 at MMIO 0x3110000 (irq = 33, base_baud = 0) is a TEGRA_UART
[ 0.941255] c280000.serial: ttyTHS2 at MMIO 0xc280000 (irq = 34, base_baud = 0) is a TEGRA_UART
[ 0.942203] 3130000.serial: ttyTHS3 at MMIO 0x3130000 (irq = 35, base_baud = 0) is a TEGRA_UART
2. After I removed “serial” part from Linux_for_Tegra/bootloader/t186ref/tegra186-bpmp-p3636-0001-a00-00.dtb.
BPMP logs are not output now.
Is there anything I can check?
(I’m using TX2 NX with R32.5.1)
If you are speaking of serial console (either disabling or enabling), keep in mind that the specific UART behind “ttyTHS#” (where “#” might be 0, 1, or 2) is the same hardware as the “ttyS#” (with corresponding matching “#”). So for example, “/dev/ttyTHS0” is the same hardware (same UART) as “/dev/ttyS0”. The name being used changes which driver is used (and typically you don’t want to use two drivers at the same time on the same UART).
Once booted to Linux you can use either the legacy (ttyS) driver, or the Tegra High Speed DMA-capable driver (ttyTHS). However, because serial console exists in stages prior to the Linux kernel loading, and because early boot stages have only the legacy driver, expect to use serial console (or disable it) via the legacy driver.
If you are not speaking of serial console, then you are probably correct to use the ttyTHS driver.