DaVinci GIT Linux Kernel

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search


  • Image:Google-16x16.png Search for an article here:


Contents

Overview

The Linux support for the DaVinci family of processors is maintained in the linux-davinci GIT tree. Currently, this support is not in the kernel mainline, but it is a high priority to improve the codebase so that the support can move to the mainline. 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/khilman/linux-davinci.git
Web - http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git;a=summary
Maintainer
Kevin Hilman (khilman@deeprootsystems.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-2003 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

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


NOTE
This page tracks the status of major subsystem support in linux-davinci GIT tree and mainline kernel (Linus'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.

Boards

The following boards are used for development and testing by TI.

mach-davinci

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

Status

To Do

Ethernet

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

Status

  1. TI DaVinci EMAC driver is now mainline.

To Do

  1. Add support for interrupt pacing
  2. Support MAC address read on DA850/OMAP-L138 EVM. Requires SPI driver

Audio

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

Status

  1. Platform support for Audio on DA8XX/OMAP-L1XX has been accepted in davinci git.
  2. Patch to fix audio crash on DA8XX has to be pulled in from ASoC tree.
  3. Platform support for Audio on DM365 has been accepted in davinci git. Also the changes to ALSA ASoC driver for DaVinci to support DM365 has also been accepted in the alsa devel list, but not yet merged to Kevin's tree.

To Do

  1. On-chip voice codec support for DM365 - initial patch submitted, requires some rework based on the comments received

Video Display

Devices DM644x DM6467 DM355 DM365 DA850/OMAP-L138 Mainline
Status

Status

Currently following support is available

  • VPIF V4L2 driver

Port of LSP2.10 display drivers to latest GIT kernel is available in linux-davinci staging tree on Arago. This is based on encoder manager & display manager architecture (THS 8200 not supported).

  • VPBE FBDev driver (not supported on DM6467)
  • VPBE V4L2 driver

To Do

  1. Update VPBE display drivers to V4L2 sub-device model and submit them in the upstream
  2. Update VPBE display drivers based on media controller framework
  3. Update VPIF display drivers to support HD timing/resolutions, based on the new timing API proposal

Video Capture

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, 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

Status

  • Supports TVP5146 capture on DM6446,DM355 & DM365.
  • Supports TVP7002 driver

Following supported in Arago tree:-

  • 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)


TO DO

  1. Update VPFE and VPIF capture drivers to support HD timing/resolutions based on the new timing API proposal
  2. Convert CCDC drivers to v4l2 sub device interface so that all the CCDC parameters can be configured directly into the sub device node with out going through video node (requires Media control support in the v4l2 core)
  3. Update drivers based on Bus handling, Buffer pool management and Even handling API proposals
  4. Submit patches for camera capture from mt9t031 sensor
  5. Add sensor driver for MT9P031
  6. Add support for On the fly mode capture through IPIPE and Resizer
  7. Add second video device node for output from Resizer2
  8. Add support for media controller API.

IPIPE - Previewer/Resizer

Devices DM644x DM6467 DM355 DM365 DA850/OMAP-L138 Mainline
Status

Status

  • Support for one shot mode Preview & Resize are available through IPIPE drivers(ported from LSP2.10) on DM355 & DM365 in the linux-davinci staging tree on Arago

TODO

  1. Develop v4l2 drivers for (two video nodes for Resizer-1 and Resizer-2) One shot mode Preview and Resize
  2. Convert Hw modules to sub device interface to allow direct configuration of IP parameters using the sub device node instead of video node
  3. Add support for media control


H3A - AEW/AF

Devices DM644x DM6467 DM355 DM365 DA850/OMAP-L138 Mainline
Status

Status

  • Interim patch for H3A drivers on DM355 & DM365 is maintained in the linux-davinci staging tree on Arago

TODO

  1. Convert the H3A driver to v4l2 sub device based
  2. Add support for statistics available event.

VDCE

Devices DM644x DM6467 DM355 DM365 DA850/OMAP-L138 Mainline
Status

Status

  1. Interim patch for VDCE driver on DM6467 is maintained in the linux-davinci staging tree on Arago

TO DO

  1. For upstream submission, this driver will require updates based on media controller framework

i2c

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

To Do

UART

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

To Do

USB Host

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status / To Do

  1. USB feature specific (and big fixes) patches are maintained in the linux-davinci staging tree on Arago, for upstream submission
  2. DA8XX/OMAP-L1XX needs USB 1.1 (OHCI) support as well. An initial patch supporting this was submitted by Sergei on 4/20/2009, but review was put on hold since basic DA8XX/OMAP-L1XX support was not upstream. The patch needs to be re-submitted now that the DA8XX/OMAP-L1XX support is poised to hit upstream.
  3. USB patches to support DM365 are submitted in the mailing list, but they require updates based on the comments received
  4. Update DaVinci MUSB driver to re-arrange the phy_on/phy_off APIs from the board-setup files

USB Gadget

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status / To Do

  1. USB feature specific (and big fixes) patches are maintained in the linux-davinci staging tree on Arago, for upstream submission

USB OTG

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status / To Do

  1. USB feature specific (and big fixes) patches are maintained in the linux-davinci staging tree on Arago, for upstream submission

NAND

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. 4-bit ECC patches accepted by the mtd subsystem and will make it to upstream (2.6.32)
  2. Submitted v4 of DM646x NAND patch, awaiting upstream acceptance of dependent patch "fix to use mask_ale from pdata" submitted to linux-mtd as well as mmotm.
  3. Patch submitted to mtd list for 4-Bit ECC error correction issue.

TODO

  1. Support for 4K requires changes to nand_ecclayout structures. Need to bring it up on the linux-mtd list for a generic solution


SPI

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. SPI driver accepted into Linus's kernel
  2. SPI was tested on DM355, DM365 and DM6467 using EEPROMs on the EVMs connected to SPI

TODO

  1. Support for OMAP-L1 devices (platform data needs to be added)

PCI Host

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. Aug03 2009: v2 patch set submitted to DaVinci ML for review

TODO

  1. Submit boot driver

MMC/SD

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. Platform support patches for DA830/OMAP-L137 have been merged.

To Do

  1. SDIO patches submitted on the mailing list - require updates based on the comments received

EDMA

Devices DM644x DM6467 DM355 DM365 DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. Naresh has submitted the EDMA support for DM6467 patches to DaVinci List. Kevin has to merge them.

To Do

  1. Naming the event queues wrt priority.
  2. Implementing single tc err handler for all the Transfer controllers.
  3. Getting the TC err interrupt numbers from platform resources.
  4. Getting rid of the n_* fields in struct edma_soc_info with the help of EDMA_CCCFG register.

Graphical LCD

Devices DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. OMAP-L1 FB driver is present in mainline.

TODO

  1. Support for Panning
  2. Support for WAITFORVSYNC

Character LCD

Devices DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. 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.


RTC

Devices DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. RTC patch accepted into Linus's kernel.

To Do

  1. Remove hard coding of RTC driver as non-wakeup-capable

Power Management

CPU Freq

Devices DA850/OMAP-L138 Mainline
Status

Status

  1. CPUFreq support is present in Linus's tree

To Do

  1. Support driver notifications for all affected drivers. LCD and MMC/SD modifications are complete.

CPU Idle

Devices DA850/OMAP-L138 Mainline
Status

Status

  1. CPUIdle support is present in Linus's tree.

Suspend-to-RAM support

Devices DA850/OMAP-L138 DM355 DM365 Mainline
Status

Status

  1. Support for DA850/OMAP-L138 is present in Linus's tree

To Do

  1. Support suspend/resume for all drivers. Support Suspend-to-RAM on DM355 and DM365

uPP (Universal Parallel Port)

Devices DA850/OMAP-L138 Mainline
Status

Status

  1. Need to start work on driver development

SATA

Devices DA850/OMAP-L138 Mainline
Status

Status

  1. AHCI driver in Linux is tied to PCI interface. Need to work with community on ways to decouple them before work can start on this.

eQEP

Devices DA830/OMAP-L137 Mainline
Status

Status

  1. Driver available in MV Linux. Need to work on submitting patches to input subsystem mailing list.

eCAP

Devices DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. Need to work on driver development.

HRPWM

Devices DA830/OMAP-L137 DA850/OMAP-L138 Mainline
Status

Status

  1. Need to work on driver development.

For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article DaVinci GIT Linux Kernel here.
Leave a Comment

Comments

Comments on DaVinci GIT Linux Kernel


Weijiang said ...

Also look forward to dvsdk, dmai for git kernel

--Weijiang 23:57, 2 December 2009 (CST)

Personal tools