How to flash modified DTB on DRIVE OS 6.0.10 for UART5 & PPS?

DRIVE OS Version:

  • DRIVE OS: 6.0.10
  • Hardware: Drive AGX Orin (p3710)
  • Host: Docker container 6.0.10.0-0009-build-linux-sdk
  • Linux: Ubuntu 20.04.6 LTS

Issue Description:

Hi,

I am referring to this solved thread about enabling UART5 on the Drive AGX Orin H2 connector:

I have successfully made the two required changes in the Docker SDK container:

  1. tegra234-p3710-0010-linux-gos.dtsi → added serial@3140000 { status = "okay"; }
  2. tegra234-mb1-bct-p3710-0010-a04-auto-dp-gpio-default.dtsi → removed GPIO pins TEGRA234_MAIN_GPIO(Y,5), TEGRA234_MAIN_GPIO(Y,6), TEGRA234_MAIN_GPIO(Y,7), TEGRA234_MAIN_GPIO(Z,0)

My questions:

  1. What is the minimal build command to compile only the Kernel-DTB from the modified .dtsi files without building the entire kernel?
  2. Is it possible to flash with bootburn over SSH/network instead of USB Recovery Mode? The board is running and accessible via SSH.
  3. We want to use a Garmin X18 as a time sensor and connect it via UART5. For the PPS signal we have identified DB9 breakout connector 21 with pin 68 (ORIN_3V3_SENSOR_PPS). Do we also need to activate this pin in the device tree?

Thank you!

Hi @marius.westendorf I had done compiling the dtsi after preprocessing the edited source file with this command on the docker sdk containers (please note for our use we need to enable nvpps device tree):

cpp -nostdinc \
    -I./include \
    -I./include/dt-bindings \
    -I./arch/arm64/boot/dts \
    -I./arch/arm64/boot/dts/nvidia \
    -I./hardware/nvidia/platform/t23x/automotive/kernel-dts \
    -I./hardware/nvidia/platform/t23x/automotive/kernel-dts/p3710 \
    -I./hardware/nvidia/platform/t23x/automotive/kernel-dts/p3710/common \
    -I./hardware/nvidia/platform/t23x/automotive/kernel-dts/common \
    -I./hardware/nvidia/soc/t23x/kernel-include \
    -I./hardware/nvidia/soc/t23x/kernel-dts \
    -I./hardware/nvidia/soc/t23x/kernel-dts/tegra234-soc \
    -I./hardware/nvidia/soc/tegra/kernel-include \
    -I./oss_src/nvidia-oot/include \
    -I./oss_src/nvidia-oot/include/dt-bindings \
    -I./oss_src/nvidia-oot/device-tree/platform/generic-dts/dtsi \
    -I. \
    -undef -D__DTS__ -DLINUX_VERSION=515 -x assembler-with-cpp \
    ./hardware/nvidia/platform/t23x/automotive/kernel-dts/p3710/common/tegra234-p3710-0010-linux-gos.dtsi

and then use the compiler to compile using this command : in the same source directory to give you a new dtb file.

dtc -I dts -O dtb -o /tmp/tegra234-p3710-0010-a01-linux-driveav-gos-NEW.dtb

you can then replace this build with previous shipped dtb in a new flash folder mounted container and flash the orin as usual from minicom:

./flash.py /dev/ttyACM0 p3710