NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

OMAP3 GIT Linux Kernel

From Texas Instruments Wiki
Jump to: navigation, search

Overview

The Linux support for the OMAP3 family of processors is maintained in the linux-omap GIT tree.

Location
GIT - git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
Web - http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
Maintainer
Tony Lindgren (tony AT atomide DOT com)
Kevin Hilman (khilman AT deeprootsystems DOT com)
Email List
Address - linux-omap@vger.kernel.org
Info and Archives - http://vger.kernel.org/vger-lists.html#linux-omap
Recommended Compiler Toolchain
CodeSourcery GNU Toolchain for ARM Processors: 2008q1-126 version http://www.codesourcery.com/sgpp/lite/arm/portal/release324
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

Boards

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

mach-omap2

The base level support for the OMAP3 processors is in the arch/arm/mach-omap2 directory, currently with support for all OMAP35x processors.

Ethernet

The current OMAP3 processors do not contain an on-chip Ethernet MAC. The OMAP3530 EVM uses a SMSC 9115 Ethernet controller companion chip interfaced over GPMC. Multiple driver implementations exist in the community for this chip (smc911x/smsc911x) For the OMAP3530 EVM, we use the smsc911x implementation as it supports NAPI, ethtool and performs better under heavy I/O load. This driver is in the kernel mainline.

Devices OMAP35xx Mainline
Status

Audio

Audio is supported through ALSA-SoC using McBSP and external audio codecs. On the OMAP3EVM, the PMIC (TPS65950) hosts the audio Codec. Support for this codec is available in linux-omap tree.

Devices OMAP35xx Mainline
Status

Status

  • The OMAP McBSP driver is in mainline.
  • Platform support for Audio on OMAP3EVM has been accepted in l-o git

To Do

Video Display

Support for the OMAP3 "Dual Output 3-Layer Display Processor" is provided through the DSS2 library.

Devices OMAP35xx Mainline
Status

Status

  1. Uses new regulator framework
  2. Support for all the planes (GFX, Video1and Video2) over Fbdev
  3. Frame-Buffer Driver: rotation, mirroring, panning, wait_for_vsync, blanking
  4. Dynamic switching of output
  5. Displays/interfaces: DVI, LCD, RFBI, DSI
  6. Power management support: context save/restore mechanism.
  • Features supported in V4L2 driver based on DSS2
  1. Basic streaming working on LCD, DVI and TV.
  2. Support for various pixel formats like YUV, UYVY, RGB32, RGB24, RGB565, etc
  3. Support for Alpha blending.
  4. Support for Color keying both source and destination.
  5. Support for rotation.
  6. Support for cropping.
  7. Support for Background color setting.


To Do

  • Submit the V4L2 driver after DSS2 gets accepted.
  • Patch for backlight control on OMAP3EVM
  • V4L2 driver enhancements: Using VRAM for buffer allocation
  • support for new OMAP3EVM

Video Capture

The OMAP3 "Camera ISP Image Capture Hardware" is supported by the ISP driver.

Devices OMAP35xx Mainline
Status

Status

  • No support for Video Capture on linux-omap
  • TVP514x patch posted and accepted in the community, also available in Main-line kernel
  • TVP514x driver migrated to Sub-Device framework.
  • Sakari's tree includes ISP library implementation, sensor driver and Camera Master driver(V4L2?-int framework). Maintained at: http://git.gitorious.org/omap3camera/mainline.git
  • Submitted patch for BT656 support to the community - acceptance gated by ISP library being merged to linux-omap
  • Submitted patch for Daughter Card support to the community - acceptance gated by ISP library being merged to linux-omap
  • Future direction : V4L2?-int,SOC-Cam are deprecated. Need to migrate to sub-devices framework


To Do

  • ISP Library changes(ISP MMU changes) - refresh BT656 support
  • Migration to Sub-device framework - TVP5146 reworked and submitted, follow-up to closure
  • support for new OMAP3EVM

Video Resizer

Devices OMAP35xx Mainline
Status

Status

  • No support for resizer driver on linux-omap
  • Current implementation of Video Resizer uses custom IOCTL and provides CHAR driver interface
  • Discussion initiated with Hans and Mauro (V4L2 Maintainers) to align on interface for resizer driver
  • Posted RFC/Initial code for community review

To Do

  • Community alignment and follow-up on the Resizer driver interface to the user application.

USB Host (Mentor)

Devices OMAP35xx Mainline
Status

Status

  • Almost 35+ patches already been merged in mainline and 3 more are yet to be submitted.
  • MSC, HID, Video capture, Audio record and play are all working fine on mainline tree.
  • Debugfs related patch is already available in mainline.

To Do

  • Support for idle off mode.
  • Support for CPPI4.1 DMA used on AM35x, DA8xx.

USB Gadget (Mentor)

Devices OMAP35xx Mainline
Status

Status

  • Gadget drivers for MSC and CDC/RNDIS have been tested

To Do

USB OTG (Mentor)

Devices OMAP35xx Mainline
Status

Status

  • HNP and SRP feature have been validated.
  • Migrate from custom patch to start session.

To Do

USB EHCI

Devices OMAP35xx Mainline
Status

Status

  • MSC, HID (via a HS hub), Video capture, Audio record and play are functional on linux-omap tree.

To Do

  • Support for Suspend/resume and complete OFF mode support

NAND/OneNAND

Devices OMAP35xx Mainline
Status

Status

  • Micron Nand, samsung OneNand? support based on community driver(linux-omap)

To Do

  • Support DMA mode
  • Support for MLC NAND (BCH SW error correction)

SPI

Devices OMAP35xx Mainline
Status

Status

  • linux-omap includes support for McSPI? 1 Tested with Touchscreen driver on OMAP3EVM?

To Do

MMC/SD

Devices OMAP35xx Mainline
Status

Status

  • High Capacity cards
  • High Speed cards
  • SD 1/4 bit modes
  • MMC 1 bit mode

To Do

  • MMC 8-bit mode

Power Management

Details on power management can be found at [1]