I am using the source L4T-BSP-src to build the kernel and device tree. As I can see the device drivers and modules for Jetson Tegra are outside the Linux source tree, which might be a good idea to maintain the software for this h/w.
I also notice that some similar code for these drivers also exist inside the upstream Linux source tree under driver// across almost all drivers. Based on the “git log” info, some of the tegra related source files inside the linux source tree have been updating from time to time. And some .c and .h files event contain a lot of duplicated code as those in the outside of the source tree.
ie. nvidia/drivers/clocksource/tegra186_timer.c (in Nvidia’s outside of source tree) vs drivers/clocksource/timer-tegra186.c (Linux kernel v6.0). Both defined some similar macros and structures and functions. And the latter was committed to upstream in Jul 2022.
$ git log --oneline timer-tegra186.c
07385a6055a8 clocksource/drivers/timer-tegra186: Add support for Tegra234 SoC
42cee19a9f83 clocksource: Add Tegra186 timers support
I my question is : Is Nvidia moving the Tegra drivers from outside to inside the update linux source ?
If I just want to use the upstream v6.0 kernel to build the kernel Image, drivers and dtb and install these new bits on my Jetson Tegra, what else I need to do so the machine can boot ? (or, use the existing dtb which came along with Tegra)
Thanks!