About the missing displayâŠis your display purely HDMI? If there is any VGA component, then it isnât possible for automatic configuration to work (youâd have to get lucky with a default mode).
Do you have ssh or serial console access? If so, see what you get from:
sudo -s
cat `find /sys -name 'edid'`
exit
For UART:
You can extract the current running systemâs device tree like this:
dtc -I fs -O dts -o extracted.dts /proc/device-tree
If you were to edit this and turn it back into a binary format useful with flash software it would go something like this after editing the extracted.dts:
dtc -I dts -O dtb -o modified.dtb extracted.dts
Steps used to install the tree depend on what release you are using. You might want to check the official documentation. The specific L4T release will have something for you, but the general document page is here:
https://developer.nvidia.com/embedded/downloads
Some documentation specific to the current L4T release is here:
https://developer.nvidia.com/embedded/linux-tegra
Note that UART drivers for a Jetson have both a regular serial driver available, and also a DMA-capable driver. You will see references in the device tree to which drivers are compatible (literally, the âcompatible =â entry), and the ones with â-uartâ are ordinary drivers, while the DMA-capable ones are â-hsuartâ (High Speed UART). Normally one would access all of the 16450/16550 style UARTs as â/dev/ttyS#â, e.g., the serial console is â/dev/ttyS0â. You will see the HS UART equivalent as well, e.g., the dev board connector J17 is â/dev/ttyTHS2ââŠhad this been used as a regular driver you would access it as â/dev/ttyS2â. You will want to use only the THS# entry if possible. The reason the âttyS0â is used for serial console is to allow for continuity of service when transitioning from bootloader to the Linux kernel (there is no HSUART driver in U-Boot and changing the driver during boot would mean lost console text).
FYI, you can have multiple drivers shown in the âcompatibleâ entry, but it is up to the kernel to pick and use one at a time.
You will find the TRM (Technical Reference Manual is available in the downloads URL I gave above) refers to groups of certain functions as belonging to a single controller. An example is GPIO where a single controller has many GPIO pins. As more GPIO is added, instead of making one bigger GPIO controller, you will get multiple controllers with each controller being an exact duplicate of the otherâŠbut the base address determines which group of GPIO is being looked at (the code to use any controller is identical other than the base address). The UARTs are the same, and the device tree entry to determine which UART you are working with in the tree goes by base address. For example, âserial@3110000â is one UART controller.
Within â/sysâ you will find controllers have many ways of accessing them, but the base address will be useful there. If you knew you were looking for serial controller at 3110000, then this would give you some clues:
sudo find /sys -name '*3110000*'
(fyi, you need sudo to get root permission before you can go to â/sysââŠyou can drop into a root shell with âsudo -sâ, and then later âexitâ the shell)