OMAP3 GIT Linux Kernel
From Texas Instruments Embedded Processors Wiki
Contents |
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.
- OMAP35x EVM - OMAP35x EVM
- Beagle Board - OMAP3530 Board
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
- DSS2 library supports most of the features required.(enables fbdev/v4l2 implementation on top) - maintained at http://www.bat.org/~tomba/git/linux-omap-dss.git
- DSS2 + Fbdev patches posted to the community (L-O, Fbdev) with no major review comments. Need to post to lkml and from there it should go to the main-line(needs to be refreshed)
- OMAP3EVM support patch submitted to the L-O with no review comments. It should be accepted once DSS2 goes through.
- Updated V4L2 driver on top of Latest (Posted to Community) DSS2, can be accessible at http://arago-project.org/git/people/?p=vaibhav/ti-psp-omap-video.git;a=shortlog;h=refs/heads/ti_display. Planning to post after DSS2 acceptance.
- Features supported on Tomi's DSS2
- Uses new regulator framework
- Support for all the planes (GFX, Video1and Video2) over Fbdev
- Frame-Buffer Driver: rotation, mirroring, panning, wait_for_vsync, blanking
- Dynamic switching of output
- Displays/interfaces: DVI, LCD, RFBI, DSI
- Power management support: context save/restore mechanism.
- Features supported in V4L2 driver based on DSS2
- Basic streaming working on LCD, DVI and TV.
- Support for various pixel formats like YUV, UYVY, RGB32, RGB24, RGB565, etc
- Support for Alpha blending.
- Support for Color keying both source and destination.
- Support for rotation.
- Support for cropping.
- 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]
Comments
Might want to add a gitweb link: http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary
