On the custom board of our product, we have an ARM MCU which communicate with the TX2, the MCU connects to the ttyTHS0 (UART0) of the TX2. When they are connected, the TX2 stops at the boot stage (displaying NVIDIA logo). If we disconnect them by removing the cable between the MCU and the UART0 of the TX2, the TX2 can boot successfully.
The Jetpack is 4.2.2, L4T revision is R32.
Can you give me advice on this?
please check TX2 Product Design Guide, and please refer to [Chapter-13.3 UART].
UART0 is default configure as debug header, please refer to Topic 60088 to disable that.
An additional note for you…
Whenever a serial device (see “
ls -l /dev/ttyS* /dev/ttyTHS*” is available for any use the user/group owner will be “root”/“dialout”. When that changes it implies something else is using it, and for the case of user/group “root”/“tty”, then you can expect this to be the serial console. Serial console is programmed to halt and wait if you hit a keystroke in early boot.
The guide and other source will tell you that in Linux you can disable the software using the serial console with “
sudo systemctl disable nvgetty.service”. However, U-Boot and other bootloader stages are completely independent software. You would also need to look up the directions for disabling this in U-Boot (in combination with disabling nvgetty.service in Linux).