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...")
 
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.
!      !! Tegra20 !! Tegra30 !! Tegra114 !! Tegra124
+
* 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.
| I2C || Y      || Y      || Y        || Y
+
 
|-
+
The following mainline kernel releases introduced support for Tegra SoCs:
| SPI || Y      || Y      || Y        || Y
+
* Tegra20 has been upstream for many years.
|-
+
* Tegra30 support was added in v3.3.
| USB || Y      || Y      || Y        || Y
+
* Tegra114 support was added in v3.9.
|-
+
* Tegra124 support was added in v3.13.
| RGB || Y      || Y      ||          || n/a
+
 
|-
+
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.
| DSI  ||        ||        || Y        ||
+
 
|-
+
Features that already work are:
| HDMI || Y      || Y      || Y        ||
+
 
|-
+
* It boots!
| PCIe || Y      || Y      || n/a      ||
+
* Serial console.
|}
+
* CPU hotplug.
 +
* CPU frequency scaling (basic, for Tegra20 only).
 +
* I2C master.
 +
* Regulators, PMICs, RTCs.
 +
* SPI.
 +
* SD/eMMC.
 +
* USB Host.
 +
* Display controller (not all I/O interfaces on all SoCs; see below):
 +
** RGB/LVDS for Tegra20/30 (for LCD panel support).
 +
** DSI for Tegra114 (for LCD panel support).
 +
** eDP for Tegra124 (for LCD panel support).
 +
** HDMI for Tegra20/30/114/124.
 +
* PCIe (Tegra20/30).
 +
 
 +
A probably-incomplete list of features that are not yet implemented is:
 +
 
 +
* Kepler GPU support via Nouvea (work in progress).
 +
* Advanced (high-speed) transfer modes for SD and eMMC. IO voltage scaling.
 +
* PCIe on Tegra124.
 +
* USB device mode and OTG.
 +
* 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).
 +
* Thermal management.
 +
* USB bus power saving.
 +
* I2C slave support. The Toshiba AC100 NVEC driver could be generalized to provide this.
 +
* SPI slave support?

Revision as of 11:39, 14 May 2014

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:

  • It boots!
  • Serial console.
  • CPU hotplug.
  • CPU frequency scaling (basic, for Tegra20 only).
  • I2C master.
  • Regulators, PMICs, RTCs.
  • SPI.
  • SD/eMMC.
  • USB Host.
  • Display controller (not all I/O interfaces on all SoCs; see below):
    • RGB/LVDS for Tegra20/30 (for LCD panel support).
    • DSI for Tegra114 (for LCD panel support).
    • eDP for Tegra124 (for LCD panel support).
    • HDMI for Tegra20/30/114/124.
  • PCIe (Tegra20/30).

A probably-incomplete list of features that are not yet implemented is:

  • Kepler GPU support via Nouvea (work in progress).
  • Advanced (high-speed) transfer modes for SD and eMMC. IO voltage scaling.
  • PCIe on Tegra124.
  • USB device mode and OTG.
  • 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).
  • Thermal management.
  • USB bus power saving.
  • I2C slave support. The Toshiba AC100 NVEC driver could be generalized to provide this.
  • SPI slave support?