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.
DaVinci PSP 03.01 Phase 2 Release Notes
Contents
- 1 DaVinci PSP 03.01 Phase 2 Release (Build r26)
- 1.1 Introduction
- 1.2 Release Components
- 1.3 DaVinci PSP 03.01 Build in the Arago OE environment
- 1.4 Download DaVinci PSP 03.01 Components
- 1.5 Documentation
- 1.6 What's Supported
- 1.7 What's not supported
- 1.8 Upgrade and Compatibility Information
- 1.9 Host Support
- 1.10 Dependencies
- 1.11 Device Support
- 1.12 Validation Information
- 1.13 Fixed in this release (Phase 2, Build r26)
- 1.14 Known Issues
- 1.15 Performance - DM365 EVM
- 1.16 Performance - DM355 EVM
- 1.17 Versioning
- 1.18 Technical Support and Product Updates
DaVinci PSP 03.01 Phase 2 Release (Build r26)[edit]
Release Notes
October 20, 2009
Introduction[edit]
This is the DaVinci PSP 03.01 Phase 2 release (Build r26). The PSP serves to provide a fundamental software platform for development, deployment and execution of Linux based applications on Texas Instruments DM355 EVM. This abstracts the functionality provided by the hardware. The product forms the basis for all application development on this platform. The Linux Kernel in this release is based on the linux-davinci tree, version 2.6.32-rc1. The U-Boot is based on the u-boot.git denx tree, version 2009.06-rc0. The File system is based on the Arago, version 2009.09.
Release Components[edit]
The DaVinci PSP 03.01 Phase 2 release package contains following components:
The components have been compiled under Arago Build Environment (OE based) using the CodeSourcery GNU Toolchain for ARM Processors: 2009q1-203 version
DaVinci PSP 03.01 Build in the Arago OE environment[edit]
- Download Arago, Arago OE and Arago bitbake tool based on the <release-tag>
- $ mkdir $HOME/oe
- $ cd $HOME/oe
- $ git clone -n git://arago-project.org/git/arago.git
- $ cd arago
- $ git checkout <release-tag or commit-id>
- $ cd $HOME/oe
- $ git clone -n git://arago-project.org/git/arago-oe-dev.git
- $ cd arago-oe-dev
- $ git checkout <release-tag or commit-id>
- $ cd $HOME/oe
- $ git clone -n git://arago-project.org/git/arago-bitbake.git
- $ cd arago-bitbake
- $ git checkout <release-tag or commit-id>
- Follow the instructions to configure OEBASE, SCRATCH and http/git proxies - http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment
- Build Arago base filesystem for dm355-evm or dm365-evm
- $ MACHINE=<machine> bitbake arago-base-image
- Build U-Boot and Arago demo filesystem for dm355-evm or dm365-evm; The Kernel for dm355-evm is automatically built due to the dependency of demo filesystem with the kernel. The Kernel uses the default configuration with all drivers (except Ethernet) built as dynamic modules. The Kernel modules are populated in the demo filesystem
- $ MACHINE=<machine> bitbake board-set arago-demo-image
- Build Kernel image for dm355-evm or dm365-evm, using the default configuration with all drivers built as static
- $ MACHINE=<machine> bitbake linux-davinci-staging-static
- The images will be available under $HOME/oe/arago-deploy folder
You can also download kernel, u-boot and examples in a separate directory to inspect better the code.
Keep in mind that u-boot and kernel (at least for DM365 that I have tested) are compiled using the last two bitbake commands. Remind that these commands download the sources from u-boot and kernel git repositories directly.
Otherwise linux-davinci-examples are very interesting to begin to practise with the EVM.
Download DaVinci PSP 03.01 Components[edit]
- Download DaVinci Kernel component from linux-davinci-staging tree using the <release-tag or commit-id>
- $ git clone -n git://arago-project.org/git/projects/linux-davinci.git
$ cd linux-davinci-staging
$ git checkout <release-tag or commit-id>- Download DaVinci U-Boot component from u-boot-davinci tree using the <release-tag or commit-id>
- $ git://arago-project.org/git/projects/u-boot-davinci.git
$ cd u-boot-davinci
$ git checkout <release-tag or commit-id>- Download DaVinci examples component from linux-davinci-examples tree using the <release-tag or commit-id>
- $ git clone -n git://arago-project.org/git/projects/examples-davinci.git
$ cd linux-davinci-examples
$ git checkout <release-tag or commit-id>
Documentation[edit]
DaVinci PSP 03.01 Linux Installation User Guide provides instructions on how to flash the EVM using Serial Flash or CCS based NAND Writer utilities. This user guide also provides information on the migration path for customers using Montavista Professional Edition 5.0 based LSP releases.
What's Supported[edit]
- Serial Flash (Only on DM355) and CCS based NAND writer utilities
- Primary Bootloader: UBL for NAND
- Secondary Bootloader: U-Boot 2009.06-rc0
- Base Kernel 2.6.32-rc1
- Base-port for DM355/DM365
- Device Drivers
- UART driver
- I2C driver
- GPIO driver
- EDMA driver
- EMAC Ethernet driver (DM365)
- DM9000 Ethernet driver (DM355)
- NAND driver with 4-bit ECC, SLC/MLC, up to 4K page size support
- MMC/SD driver with SDHC and SDIO support
- SPI driver with EEPROM support
- WDT driver
- USB Driver with Host, Device and OTG modes; Supports USB Host/Device Mass Storage Class, USB Hub and HID classes and USB Device CDC and RNDIS classes - New on DM365
- Audio (ALSA ASoC based) driver
- AIC33 audio codec support (DM355)
- AIC3101 audio codec support (DM365)- New
- Keyscan driver (DM365) - New
- Video drivers
- VPFE capture - V4L2 driver
- DM355 and DM365 CCDC
- TVP5146 decoder driver for SD resolutions
- TVP7002 decoder driver for HD resolutions (DM365, 720p and 1080i) - New
- Raw capture support using Micron sensor imager - MT9T031 (only on DM355)
- VPBE display - fbdev (OSD and Video planes, NTSC/PAL and HD on DM365) - New
- VPBE display - V4L2 (Video planes, NTSC/PAL and HD on DM365) - New
- H3A (AF/AEW) drivers (Interim char device based drivers, patches not meant for upstream) - Only on DM355
- IPIPE (Previewer/Resizer) drivers (Interim char device based drivers, patches not meant for upstream) - Only on DM355
What's not supported[edit]
- Audio (ALSA ASoC based) driver with internal voice codec support (DM365)
- RTC driver (DM365)
- Previewer/Resizer drivers on DM365
- H3A drivers on DM365
Upgrade and Compatibility Information[edit]
Refer to the Migration section of DaVinci PSP 03.01 Linux Installation User Guide
Host Support[edit]
This release has been validated on the following host machines:
- Red Hat Enterprise Linux 4 for Code Sourcery toolchain - 2007q3-51 version
- Windows XP SP2 for CCS v3.3 Installation
Dependencies[edit]
The DaVinci PSP release depends on Code Sourcery tool chain and Code Composer Studio (CCS). CCS is needed for initial (or recovery) flashing of UBL and U-Boot (Serial Flash utility is an alternate option without having to use CCS). As long as U-Boot remains functional on the EVM, CCS will not be needed.
Device Support[edit]
This release supports the Texas Instruments DM365 and DM355 SoCs along with the DM365 and DM355 Evaluation Module (EVM).
Validation Information[edit]
This release has passed the system test cycle on the following devices
- ARM running at 296MHz and DDR at 243MHz on DM365 EVMs
- ARM running at 216MHz and DDR at 171MHz on DM355 EVMs.
Fixed in this release (Phase 2, Build r26)[edit]
- NAND ECC on DM365: Only the error bits introduced in first 512byte chunk get corrected and other 512byte chunks of the page do not get corrected; A delay was required before starting the ECC correction
- NAND (JFFS2) on DM365: Intemittent kernel failure is observed during NAND read/write test; The problem is not reproducible after the linux-davinci staging tree was rebased to Kernel version 2.6.32-rc1
- USB OTG: When the USB Host, Slave drivers are built as modules and the driver is configured to be in OTG mode, removing the module gives a kernel panic; The issue is fixed in the musb driver
- USB ISO: Audio class does not work; This was due to setup related issues with USB ISO Audio.
- NAND ECC test failed when using uImage built from Arago; but it pass when using uImage built on the cloned kernel. After moving to 2009q1 CodeSourcery toolchain the issue is not reproducible
- NAND: After lots of write/read, read operation becomes slow and 'ls' becomes really slow even after umount and reboot.
- NAND: First nand read in uboot return failed message; but the second nand read in uboot works fine
- U-Boot: There is a limitation in the length of the uboot environment variables.
Known Issues[edit]
- Audio: DM355: Gstreamer fails with a lot of underruns with audio. The same configuration using arecord/aplay does not give any underrun with audio; Gstreamer works fine on DM365
- Workaround: None
- Audio: DM355: ALSA read failed when sample rate is 96000Hz
- Workaround: None
- Audio: DM365: Default volume for DM365 is low
- Workaround: None
- GPIO: DM355: bank interrupt and non-bank interrupt can not work in the same time. This is a limitation in the driver implementation
- Workaround:If the driver is configured for bank interrupts (default), all GPIOs can be used in the interrupt mode
- Video display - HD: DM365: Contrast quality is bad
- Workaround: None
- Video display - SD: Clarity of the display is poor, especially with the letters/text
- Workaround: None
- Video display tears when running the loopback in user pointer mode
- Workaround: Use the 'fbdev_loopback_nomemcpy' application from the examples. The video tearing issue was the side effect of memcpy in the application
- Video display (fbdev): Cannot switch betwween the formats - NTSC/PAL (at run time, from Linux)
- Workaround: The video formats can be changed from the bootargs in U-Boot
- Video display (fbdev): fbfev display driver fails to allocate coherent memory for 1080I resolution (set via bootargs)
- Workaround: None
- Video raw capture: Micron sensor capture fails when used at a resolution 1080P or more in MMAP mode when video driver is loaded dynamically. Micron sensor capture also fails at maximum resolution in MMAP mode. There is also a kernel crash, when the Micron sensor capture application is run with bufsize set to QXGA resolution
- Workaround: Use the Micron sensor capture in userpointer mode, since maximum resolution with userpointer mode works fine
- Video raw capture: Micron sensor capture cannot achieve the required frames per second (60 fps, for progressive capture), getting only 16 fps. This is found to be limitation with the design of Micron sensor driver
- IPIPE: When built as a module, the IPIPE driver crashes during insmod operation
- Workaround: IPIPE driver can be built in to the kernel as static
- USB OTG: OTG fails the USB-Forum Test suite on both high-speed and full-speed modes
- Workaround: None
- USB ISO: Video class does not work; Video camera does not get enumerated.
- Workaround: None
- USB MSC: The performance with this release is lower than the LSP release (2.10, 2.6.18 based); With this release the Host MSC read performance is 9.4MBps and write is 0.72MBps, while with the LSP 2.10 release Host MSC read performance is 11.4MBps and write is 0.84MBps.
- Workaround: None
- USB Slave: USB Slave MSC Performance under GIT release is lower than 210_lsp
- Workaround: None
- Flash_eraseall option -j is not working; The issue is due to the 4K support. It required a parameter in the mtd-abi structure to be updated which broke the IOCTL flash_eraseall -j option was calling.
- Workaround: None
- 'sync' command or 'umount' command are really slow for first write which results in kernel dump. This seems to be an expected behavior, since the filesystem commands seem to cache the data in RAM before writing to NAND devices
- Workaround: None
- EMAC: DM365: Ethernet performance under GIT release is lower than 210_lsp when using Iperf.
- Workaround: None
- DM9000 Ethernet: DM355: Performance with this release is lower than the LSP release (2.10, 2.6.18 based); With this release the TCP performance is 22.3Mbps while with the LSP 2.10 release the TCP performance is 25.5Mbps.
- Workaround: None
- MMC/SD: DM365: MMC/SD slot 1 (bottom slot on the EVM) has problems. MMC 1G Sandisk card could not be detected and error occurs on SD Kingston 1G card
- Workaround: None
- SPI: DM365: EVM hangs during bootup, when SPI driver operation mode is set to interrupt mode
- Workaround: SPI driver can be configured to polled mode of operation
- SPI: Performance under GIT release is lower than previous release 210_lsp
- Workaround: None
Performance - DM365 EVM[edit]
Drivers | Performance | Notes |
---|---|---|
CDC-TCP | 43.8 Mbits/sec | |
RNDIS-TCP | 38.9 Mbits/sec | |
Ethernet | 60.8 Mbits/sec | When window size is 212KB |
USB-MSC EXT3 Write | 6.78 MBytes/sec | |
USB-MSC EXT3 Read | 14.32 MBytes/sec | |
USB-MSC VFAT Write | 0.77 MBytes/sec | |
USB-MSC VFAT Read | 13.73 MBytes/sec | |
USB-MSC EXT2 Write | 2.47 MBytes/sec | |
USB-MSC EXT2 Read | 14.33 MBytes/sec | |
SD EXT2 Write | 3.70 MBytes/sec | Using Sandisk 2G card |
SD EXT2 Read | 8.50 MBytes/sec | Using Sandisk 2G card |
SDHC VFAT Write | 8.76 MBytes/sec | Using Sandisk 16G card |
SDHC VFAT Read | 11.00 MBytes/sec | Using Sandisk 16G card |
NAND 2k JFFS2 Write | 1.05 MBytes/sec | |
NAND 2k JFFS2 Read | 5.31 MB/S | |
NAND Raw Write | 4.2 MBytes/sec | Using mtd_speedtest module |
NAND Raw Read | 4.9 MBytes/sec | Using mtd_speedtest module |
I2C Write | 256.4 Kbits/sec | |
I2C Read | 306.25 Kbits/sec | |
SPI Write | 11.88 Kbits/sec | |
SPI Read | 498.50 Kbits/sec | |
Audio ALSA Write | 1555427 bits/sec | |
Audio ALSA Read | 1555230 bits/sec | |
EDMA-Async | 312.01 Bytes/usec | Acnt=32767; Bcnt=2; Ccnt=1 |
EDMA-ABsync | 332.60 Bytes/usec | Acnt=32767; Bcnt=2; Ccnt=1 |
V4L2 Capture-NTSC 60Hz | 30.03 fps | |
V4L2 Capture-PAL 50Hz | 25.27 fps | |
V4L2 Capture-720p 60Hz | 60.56 fps | |
V4L2 Capture-1080i 30Hz | 30.29 fps | |
Fbdev Display-NTSC 60Hz | 30.05 fps | |
Fbdev Display-PAL 50Hz | 25.1 fps | |
Fbdev Display-720p 60Hz | 60.25 fps | |
Fbdev Display-1080i 30Hz | NA | |
V4L2 Display-NTSC 60Hz | 30.29 fps | |
V4L2 Display-PAL 50Hz | 25.27 fps | |
V4L2 Display-720p 60Hz | 60.33 fps | |
V4L2 Display-1080i 30Hz | 30.32 fps |
Performance - DM355 EVM[edit]
Drivers | Performance | Notes |
---|---|---|
CDC-TCP | 36.6 Mbits/sec | When window size is 212KB |
RNDIS-TCP | 33.3 Mbits/sec | When window size is 212KB |
Ethernet | 22.3 Mbits/sec | When window size is 212KB |
USB-MSC EXT3 Write | 5.49 MB/S | |
USB-MSC EXT3 Read | 9.76 MB/S | |
USB-MSC VFAT Write | 0.69 MB/S | |
USB-MSC VFAT Read | 9.36 MB/S | |
USB-MSC EXT2 Write | 2.08 MB/S | |
USB-MSC EXT2 Read | 9.73 MB/S | |
SD EXT2 Write | 3.8 MB/S | Using Kingston 2G x120 card |
SD EXT2 Read | 7.6 MB/S | Using Kingston 2G x120 card |
SDHC VFAT Write | 7.6 MB/S | Use Sandisk UltraII 16G card |
SDHC VFAT Read | 10.7 MB/S | Use Sandisk UltraII 16G card |
NAND 2k JFFS2 Write | 1.97 MB/S | Buffersize=1024K; 0.8 when buffersize if 100K and 256K |
NAND 2k JFFS2 Read | 5.9 MB/S | Buffersize=1024K; |
I2C Write | 264.3 Kbits/S | Bus_freq=400KHz; Buffersize=1024 |
I2C Read | 318.75 Kbits/S | Bus_freq=400KHz; Buffersize=1024 |
SPI Write | 11.9 Kbits/S | Buffersize=1024; |
SPI Read | 390.6 Kbits/S | Buffersize=1024; |
V4L2 Capture-NTSC 60Hz | 30.03 fps | |
Fbdev Display-NTSC 60Hz | 30.24 fps |
Versioning[edit]
This is the DaVinci PSP 03.01 Phase 2 release (Build r26).
Technical Support and Product Updates[edit]
For further information or to report any problems, contact http://community.ti.com or http://support.ti.com.
DaVinci Linux Mailing List: http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source.