NOTE
This page tracks the status of major subsystem support in mainline kernel (Linus Torvalds's tree). This does not indicate status of any TI release which often contains more functionality which may not have been accepted (or even submitted) upstream yet.
Overview[edit]
The Linux support for the DaVinci family of processors is maintained in the linux-davinci GIT tree. Patches are sent upstream from this tree to the mainline (Linus') kernel regularly. This topic describes what is in the DaVinci kernel tree and corresponding status for each device and/or peripheral.
- Location
- GIT - git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci.git
- Web - https://git.kernel.org/cgit/linux/kernel/git/nsekhar/linux-davinci.git
- Old Location
- GIT - git://gitorious.org/linux-davinci/linux-davinci.git
- Web - http://gitorious.org/linux-davinci
- Maintainer
- Sekhar Nori (nsekhar@ti.com)/Kevin Hilman (khilman@ti.com)
- Email List
- Address - davinci-linux-open-source@linux.davincidsp.com
- Info and Archives - http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
- Recommended Compiler Toolchain
- CodeSourcery GNU Toolchain for ARM Processors: 2009q1-203 version - http://www.codesourcery.com/sgpp/lite/arm/portal/release858
- Sample Target Filesystem (used by TI for testing)
- Arago Project (OpenEmbedded-based project) - http://arago-project.org
Conventions[edit]
The sections below cover the major subsystems of the SoCs. A simple color-coding indicates the status, using the following approximate definitions:
- Red - not functional
- Yellow - functional, but incomplete or known bugs
- Green - functional, only minor bugs, if any
- Gray - not applicable
In addition, there is a column labeled "Mainline" which indicates how close the code is to being ready for acceptance in the mainline kernel.
- Red - lots of cleanup needed and/or no one working on it
- Yellow - cleanup needed but somebody is working on it
- Green - either ready to be submitted or already in mainline
The following boards are used for development and testing by TI.
mach-davinci[edit]
The base level support for the DaVinci processors is in the arch/arm/mach-davinci directory, currently with support for DM644x, DM355, and DM6467.
Area
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Boot
|
|
|
|
|
|
|
|
IRQ
|
|
|
|
|
|
|
|
DMA
|
|
|
|
|
|
|
|
Clocks
|
|
|
|
|
|
|
|
GPIO
|
|
|
|
|
|
|
|
Timers
|
|
|
|
|
|
|
|
Ethernet[edit]
Most DaVinci SoCs have an on-chip Ethernet MAC (exceptions are DM355).
DM355 uses the dm9000 driver from the kernel mainline.
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- TI DaVinci EMAC driver is now mainline.
- Support for interrupt pacing is added
Audio is provided through ALSA-SoC using McBSP/McASP drivers and external audio codecs.
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- Platform support for Audio on all EVMs is has been accepted in community
- Audio support for DA830 Audio daughter card needs to be worked on.
Video Display[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
- VPBE display (V4L2) for DM644x is in Mainline.
- VPBE DM355/DM365 device support patches have been submitted to community for acceptance.
- Manju Hadli at TI currently working on this. Please see: http://git.linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
- Please note: Port of LSP 02.10 display drivers to community kernel is available in linux-davinci staging tree on Arago. This is based on encoder manager & display manager architecture (THS8200 not supported).
- Add DT Support for VPIF display & VPBE.
Video Capture[edit]
On DM644x, DM355 and DM365, Video Capture is handled by Video Peripheral Front End (VPFE) and CCDC. CCDC is interfaced with decoders - TVP514x and/or TVP7002 for SD/HD capture. It is also interfaced with Imagers (Camera) for raw capture.
On DM6467 and DA850/OMAP-L138, Video capture is handled by Video Port Interface (VPIF), which interfaces with decoders - TVP514x and TVP7002.
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
- Supports TVP5146 capture on DM6446, DM355, DM365 & DA850/OMAP-L138.
- Supports TVP7002 driver on DM365.
- VPFE: Media Controller based capture driver for DM36x has been accepted for in staging and will be merged Linux for 3.9 release. DM355/DM644x device support will come next.
- VPIF & VPFE drivers have been migrated to videobuf2 usage.
Note: following supported in linux-davinci staging tree on arago-project.org (not submitted to community):-
- Support for capture from TVP7002 on DM365 and DM6467
- Support for capture from MT9T031 on DM355 & DM365
- Support for capture from MT9T031 on DM355 & DM365 (on the fly mode mode)
- Support for capture from TVP7002 on DM365 (on the fly mode)
- Add mt9t031 sensor support for VPIF.
- DT Support for both VPFE and VPIF capture
IPIPE - Previewer/Resizer[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
- IPIPE (Previewer/Resizer) for DM365 is accepted will merge in Linux for 3.9 release. DM355 and DM6446 will follow.
- The current arago linux-davinci supports the fully featured driver with one-shot and on-the-fly mode support using Media Controller framework.
H3A - AEW/AF[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
- H3A - AEW/AF support is submitted to community as RFC.
- Media Controller and event mechanism based support present on linux-davinci staging tree on arago-project.org
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
- Interim patch for VDCE driver on DM6467 is maintained in the linux-davinci staging tree on Arago
- For upstream submission, this driver will require updates based on media controller framework
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
USB Host[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
Status / To Do[edit]
- OHCI and MUSB support need to be added in OMAPL138 board file.
- CPPI4.1 DMA driver needs to be added for OMAPL1x.
- USB patches to support DM365 and DM646x needs to be added.
- CPPI3.0 DMA fine tuning for performance enhancements is pending.
USB Gadget[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
Status / To Do[edit]
- MUSB support need to be added in OMAPL138 board file.
- CPPI4.1 DMA driver needs to be added for OMAPL1x.
- USB patches to support DM365 and DM646x needs to be added.
- CPPI3.0 DMA fine tuning for performance enhancements is pending.
USB OTG[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
Status / To Do[edit]
- MUSB support need to be added in OMAPL138 board file.
- CPPI4.1 DMA driver needs to be added for OMAPL1x.
- USB patches to support DM365 and DM646x needs to be added.
- CPPI3.0 DMA fine tuning for performance enhancements is pending.
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- 4-bit ECC patches accepted into the mtd subsystem
- Patch submitted to mtd list for 4-Bit ECC error correction issue.
- Support for 4K page size NAND devices requires changes to nand_ecclayout structures. Need to bring it up on the linux-mtd list for a generic solution
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- SPI driver accepted into Linus's kernel
- SPI was tested on DM355, DM365 and DM6467 using EEPROMs on the EVMs connected to SPI
- SPI was tested on OMAP-L138 and OMAP-L137 using EEPROMS on the EVMs connected to SPI
PCI Host[edit]
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- Aug03 2009: v2 patch set submitted to DaVinci ML for review
- Submit boot driver
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- Platform support patches for DA830/OMAP-L137 have been merged.
- SDIO patches submitted on the mailing list - require updates based on the comments received
Devices
|
DM644x
|
DM6467
|
DM355
|
DM365
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
|
|
|
- Naming the event queues wrt priority.
- Implementing single tc err handler for all the Transfer controllers.
- Getting the TC err interrupt numbers from platform resources.
- Getting rid of the n_* fields in struct edma_soc_info with the help of EDMA_CCCFG register.
Graphical LCD[edit]
Devices
|
DM368
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
|
- OMAP-L1 FB driver is present in mainline.
Character LCD[edit]
Devices
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
- Patch adding dummy parallel port driver to support this has been rejected in LKML. Need to rework based on review received. Basically means cleaning up the panel.c driver before adding new support.
Devices
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
- RTC patch accepted into Linus's kernel.
Power Management[edit]
CPU Freq[edit]
Devices
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
- CPUFreq support is present in Linus's tree
- Support driver notifications for all affected drivers. LCD and MMC/SD modifications are complete.
CPU Idle[edit]
Devices
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
- CPUIdle support is present in Linus's tree.
Suspend-to-RAM support[edit]
Devices
|
DA850/OMAP-L138
|
DM355
|
DM365
|
Mainline
|
Status
|
|
|
|
|
- Support for DA850/OMAP-L138 is present in Linus's tree
- Support suspend/resume for all drivers. Support Suspend-to-RAM on DM355 and DM365
uPP (Universal Parallel Port)[edit]
Devices
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
- Need to start work on driver development
Devices
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
- SATA patches queued in linux-next. Slated to appear in v3.2 kernel
Devices
|
DA830/OMAP-L137
|
Mainline
|
Status
|
|
|
- Driver available in MV Linux. Need to work on submitting patches to input subsystem mailing list.
Devices
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
- Patches to support APWM on eCAP module submitted to DaVinci mailing list and under review
Devices
|
DA830/OMAP-L137
|
DA850/OMAP-L138
|
Mainline
|
Status
|
|
|
|
- Patches to support PWM control using eHRPWM module submitted to DaVinci mailing list and under review.