Difference between revisions of "Tegra/Mainline SW/Linux kernel"
< Tegra | Mainline SW
(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 | + | 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: | |
− | + | ||
− | + | * 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? |
Revision as of 12:39, 14 May 2014
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:
- 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?