NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. 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
Contents
Overview[edit]
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[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
Boards[edit]
The following boards are used for development and testing by TI.
- OMAP35x EVM - OMAP35x EVM
- Beagle Board - OMAP3530 Board
mach-omap2[edit]
The base level support for the OMAP3 processors is in the arch/arm/mach-omap2 directory, currently with support for all OMAP35x processors.
Ethernet[edit]
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[edit]
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[edit]
- The OMAP McBSP driver is in mainline.
- Platform support for Audio on OMAP3EVM has been accepted in l-o git
To Do[edit]
Video Display[edit]
Support for the OMAP3 "Dual Output 3-Layer Display Processor" is provided through the DSS2 library.
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- 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[edit]
- 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[edit]
The OMAP3 "Camera ISP Image Capture Hardware" is supported by the ISP driver.
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- 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[edit]
- 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[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- 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[edit]
- Community alignment and follow-up on the Resizer driver interface to the user application.
USB Host (Mentor)[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- 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[edit]
- Support for idle off mode.
- Support for CPPI4.1 DMA used on AM35x, DA8xx.
USB Gadget (Mentor)[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- Gadget drivers for MSC and CDC/RNDIS have been tested
To Do[edit]
USB OTG (Mentor)[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- HNP and SRP feature have been validated.
- Migrate from custom patch to start session.
To Do[edit]
USB EHCI[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- MSC, HID (via a HS hub), Video capture, Audio record and play are functional on linux-omap tree.
To Do[edit]
- Support for Suspend/resume and complete OFF mode support
NAND/OneNAND[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- Micron Nand, samsung OneNand? support based on community driver(linux-omap)
To Do[edit]
- Support DMA mode
- Support for MLC NAND (BCH SW error correction)
SPI[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- linux-omap includes support for McSPI? 1 Tested with Touchscreen driver on OMAP3EVM?
To Do[edit]
MMC/SD[edit]
Devices | OMAP35xx | Mainline |
---|---|---|
Status |
Status[edit]
- High Capacity cards
- High Speed cards
- SD 1/4 bit modes
- MMC 1 bit mode
To Do[edit]
- MMC 8-bit mode
Power Management[edit]
Details on power management can be found at [1]