Difference between revisions of "Tegra/Mainline SW/Linux kernel"

From eLinux.org
Jump to: navigation, search
(Created page with "NVIDIA Tegra SoCs are well supported on upstream kernels. The following lists features available for the various generations of Tegra. {| border="1" cellspacing="0" cellpaddi...")
 
(Add some tested tegra20 mainline features)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
NVIDIA Tegra SoCs are well supported on upstream kernels. The following lists features available for the various generations of Tegra.
+
NVIDIA Tegra SoCs are well supported by mainline kernels.
  
{| border="1" cellspacing="0" cellpadding="4"
+
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:
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Function !! Tegra20 !! Tegra30 !! Tegra114 !! Tegra124
 +
|-
 +
| It boots! || YES || > v3.3 || > v3.9 || > v3.13
 
|-
 
|-
!      !! Tegra20 !! Tegra30 !! Tegra114 !! Tegra124
+
| Serial console || YES || YES || YES || YES
 
|-
 
|-
| I2C  || Y      || Y      || Y        || Y
+
| CPU hotplug || YES || YES || YES || YES
 
|-
 
|-
| SPI  || Y      || Y      || Y        || Y
+
| CPU frequency scaling || YES || ? || ? || ?
 
|-
 
|-
| USB  || Y      || Y      || Y        || Y
+
| CPU Thermal sensors || YES || ? || ? || ?
 
|-
 
|-
| RGB  || Y      || Y      ||         || n/a
+
| I2C master || YES || YES || YES || YES
 
|-
 
|-
| DSI  ||         ||         || Y        ||
+
| Regulators || YES || YES || YES || YES
 
|-
 
|-
| HDMI || Y      || Y      || Y        ||
+
| SPI || YES || YES || YES || YES
 
|-
 
|-
| PCIe || Y      || Y      || n/a      ||
+
| 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?
 +
 +
[[Category:NVIDIA]]
 +
[[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:

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?