A partial answer…
Depending on driver, for the TX2, you will see “/dev/ttyS0” through “ttyS3”, or “/dev/ttyTHS0” through “ttyTHS3”. The numeric part of this will correspond to a given specific UART even though the “ttyS” or “ttyTHS” differs.
The driver associated with each UART is either the older legacy serial UART driver for those with “ttyS” syntax, and is the newer DMA-capable “Tegra Highspeed” driver for those with “ttyTHS” syntax. Avoid using two different drivers at the same time on a single UART.
For the TX2 “ttyS0” is the serial console on J21. “ttyTHS2” is the serial UART (not console) on J17 (this also happens to route to the camera connector, but in the default the camera does not use this).
The reason the legacy driver is used on serial console is because the bootloader does not have the THS driver available, and by sticking to the legacy driver during transition from bootloader to Linux kernel the UART remains fully functional without any gaps for loading a new driver.
Note: The device tree names a “serial@address” for each UART. Within this the “compatible” node contains a comma-delimited list of which drivers the UART is allowed to use.