Difference between revisions of "Tegra/Mainline SW/Linux kernel"
< Tegra | Mainline SW
(Add some tested tegra20 mainline features) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 16: | Line 16: | ||
Features that already work are: | Features that already work are: | ||
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | ! Function !! Tegra20 !! Tegra30 !! Tegra114 !! Tegra124 | |
− | + | |- | |
− | + | | It boots! || YES || > v3.3 || > v3.9 || > v3.13 | |
− | + | |- | |
− | + | | Serial console || YES || YES || YES || YES | |
− | + | |- | |
− | + | | CPU hotplug || YES || YES || YES || YES | |
− | + | |- | |
− | + | | CPU frequency scaling || YES || ? || ? || ? | |
− | + | |- | |
− | + | | CPU Thermal sensors || YES || ? || ? || ? | |
− | + | |- | |
− | + | | I2C master || YES || YES || YES || YES | |
+ | |- | ||
+ | | Regulators || YES || YES || YES || YES | ||
+ | |- | ||
+ | | SPI || YES || YES || YES || YES | ||
+ | |- | ||
+ | | SD/eMMC || YES || YES || YES || YES | ||
+ | |- | ||
+ | | USB 2.0 Host || YES || YES || YES || YES | ||
+ | |- | ||
+ | | USB2 Device/OTG || YES || ? || ? || ? | ||
+ | |- | ||
+ | | RGB/LVDS Display || YES || YES || ? || ? | ||
+ | |- | ||
+ | | DSI Display || ? || ? || YES || ? | ||
+ | |- | ||
+ | | eDP Display || ? || ? || ? || YES | ||
+ | |- | ||
+ | | HDMI Display || YES || YES || YES || YES | ||
+ | |- | ||
+ | | PCIe || YES || YES || ? || ? | ||
+ | |- | ||
+ | | I2S Audio || YES || ? || ? || ? | ||
+ | |- | ||
+ | | PWM || YES || ? || ? || ? | ||
+ | |- | ||
+ | | NAND || YES || ? || ? || ? | ||
+ | |} | ||
A probably-incomplete list of features that are not yet implemented is: | A probably-incomplete list of features that are not yet implemented is: | ||
− | * Kepler GPU support via | + | * Kepler GPU support via Nouveau (work in progress). |
* Advanced (high-speed) transfer modes for SD and eMMC. IO voltage scaling. | * Advanced (high-speed) transfer modes for SD and eMMC. IO voltage scaling. | ||
− | * PCIe on Tegra124. | + | * PCIe on Tegra124. Thierry Reding is working on this. |
− | * | + | * USB3 controller. Andrew Bresticker is working on this. |
+ | * SATA. | ||
* SKU awareness (SKU-specific clock and thermal limits). | * SKU awareness (SKU-specific clock and thermal limits). | ||
* POR (Plan Of Record) clocks. | * POR (Plan Of Record) clocks. | ||
Line 43: | Line 71: | ||
* EMC (memory controller) frequency scaling. | * EMC (memory controller) frequency scaling. | ||
* DVFS (Dynamic Voltage and Frequency Scaling). | * DVFS (Dynamic Voltage and Frequency Scaling). | ||
− | * | + | * USB2 bus power saving. |
− | |||
* I2C slave support. The Toshiba AC100 NVEC driver could be generalized to provide this. | * I2C slave support. The Toshiba AC100 NVEC driver could be generalized to provide this. | ||
* SPI slave support? | * SPI slave support? | ||
Line 50: | Line 77: | ||
[[Category:NVIDIA]] | [[Category:NVIDIA]] | ||
[[Category:Tegra]] | [[Category:Tegra]] | ||
+ | [[Category:Linux-kernel]] |
Latest revision as of 06:21, 17 August 2022
NVIDIA Tegra SoCs are well supported by mainline kernels.
Kernel releases may be obtained from:
- https://www.kernel.org/ releases, via download.
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/ releases, via git.
- https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/ absolute latest development code, via git.
The following mainline kernel releases introduced support for Tegra SoCs:
- Tegra20 has been upstream for many years.
- Tegra30 support was added in v3.3.
- Tegra114 support was added in v3.9.
- Tegra124 support was added in v3.13.
The first kernel release to support a given SoC has historically contained extremely minimal support. One or two kernel releases later will typically be the first useful version.
Features that already work are:
Function | Tegra20 | Tegra30 | Tegra114 | Tegra124 |
---|---|---|---|---|
It boots! | YES | > v3.3 | > v3.9 | > v3.13 |
Serial console | YES | YES | YES | YES |
CPU hotplug | YES | YES | YES | YES |
CPU frequency scaling | YES | ? | ? | ? |
CPU Thermal sensors | YES | ? | ? | ? |
I2C master | YES | YES | YES | YES |
Regulators | YES | YES | YES | YES |
SPI | YES | YES | YES | YES |
SD/eMMC | YES | YES | YES | YES |
USB 2.0 Host | YES | YES | YES | YES |
USB2 Device/OTG | YES | ? | ? | ? |
RGB/LVDS Display | YES | YES | ? | ? |
DSI Display | ? | ? | YES | ? |
eDP Display | ? | ? | ? | YES |
HDMI Display | YES | YES | YES | YES |
PCIe | YES | YES | ? | ? |
I2S Audio | YES | ? | ? | ? |
PWM | YES | ? | ? | ? |
NAND | YES | ? | ? | ? |
A probably-incomplete list of features that are not yet implemented is:
- Kepler GPU support via Nouveau (work in progress).
- Advanced (high-speed) transfer modes for SD and eMMC. IO voltage scaling.
- PCIe on Tegra124. Thierry Reding is working on this.
- USB3 controller. Andrew Bresticker is working on this.
- SATA.
- SKU awareness (SKU-specific clock and thermal limits).
- POR (Plan Of Record) clocks.
- cpufreq for SoCs other than Tegra20.
- EMC (memory controller) frequency scaling.
- DVFS (Dynamic Voltage and Frequency Scaling).
- USB2 bus power saving.
- I2C slave support. The Toshiba AC100 NVEC driver could be generalized to provide this.
- SPI slave support?