You're welcome! Going to go through your (smart) questions, one by one here
Nvidia may eventually push their full set of T239 drivers into the mainline kernel, I don't know. Right now, the one thing that refers to T239 in the mainline kernel is almost definitely because the T234 driver was
already in the mainline kernel, and a change was needed for T239 to work. Either Nvidia could maintain a separate Orin/Drake driver internally, then manually clean out the Drake code every time Orin needed a bug fix, or they could push the thing up once and forget about it.
Probably because Drake hasn't been released and it's internals are still corporate secrets. At some point last year, Orin and Drake development was separated, likely so they would be ready to release one but not the other. Most of the stuff we can glean about Drake from the Linux data is from the "scars" of that separation
Gonna get into the weeds a bit, bear with me?
So the Linux kernel changes internals all the time. If you make a change to, say, the virtual memory subsystem, it might require drivers to be updated to support the new version. The SOP in Linux world, then, is for hardware manufacturers (Nvidia) to push their drivers into the shared Linux kernel. That way, instead of every hardware manufacturer having to move whenever Linux changes, the developer who made the virtual memory system goes and updates all the drivers, which is usually a standard copy and paste job. That means that you can take your hardware, install a new version of Linux on it, and not worry about it working or waiting on the hardware company.
The Jetson TX1 board is designed for users to futz with the operating system, and the chip is going to be in lots of products and places where custom OSes or constant security patches are mandated.
The Shield TV is just a black box. Nvidia provides the operating system themselves, often with lots of closed source components they might not legally be allowed to distribute. The Linux kernel inside that OS will only get updated when and Nvidia developer good and wants to do so, and it only ever needs to support the hardware that Nvidia sticks in there.
In this case, while Nvidia might want to chose to mainline a Shield driver, there are also good reasons not too, and either way it is a low priority. It's the exact opposite for a chip that goes in a development board - mainline driver support makes their life easier and is a high priority.
It might. Or it might simply be timing.
It could be. Nvidia definitely supports NVN development on Linux. I'm not sure why, but it is definitely possible that the Linux support is a side effect of some devkit and/or software arrangement for developers.
Nvidia's drivers all kind of look like each other because they've gone out of their way to deeply streamline their driver dev process. They made Linux drivers because they wanted Linux drivers.
Yes.
Sure, though it is
extremely thin. Basically a single reference to T239.
Documentation of NVIDIA chip/hardware interfaces. Contribute to NVIDIA/open-gpu-doc development by creating an account on GitHub.
github.com
There are a couple other sources of public, official, T239 information. One is the Linux 4 Tegra source code, which is published with Git history, which is nice because you can actually rewind the code back to the date that T239/T234 development split and see (old but complete) T239 drivers. That's where a lot of the data I've churned up comes from. You can also look into the Open Source GPU driver, which refers to "T239D" which is a naming convention Nvidia uses when they need to send out the open source driver with a reference to a chip they haven't released yet,and want to keep the data internal.