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 1 Release Notes
Contents
- 1 DaVinci PSP 03.01 Phase 1 Release (Build r20)
- 1.1 Introduction
- 1.2 Release Components
- 1.3 Download DaVinci PSP 03.01 Components
- 1.4 DaVinci PSP 03.01 Build in the Arago OE environment
- 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 Known Issues
- 1.14 Performance - DM365 EVM
- 1.15 Performance - DM355 EVM
- 1.16 Versioning
- 1.17 Technical Support and Product Updates
DaVinci PSP 03.01 Phase 1 Release (Build r20)[edit]
Release Notes
August 27, 2009
Introduction[edit]
This is the DaVinci PSP 03.01 Phase 1 release (Build r20). 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.31-rc5. 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 1 release package contains following components:
The components have been compiled under Arago Build Environment (OE based) using the CodeSourcery GNU Toolchain for ARM Processors: 2007q3-51 version
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>
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
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.31-rc5
- 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 - Only on DM355
- Audio (ALSA ASoC based) driver with AIC33 audio codec support - Only on DM355
- Video drivers
- VPFE capture - V4L2 driver
- DM355 and DM365 CCDC
- VPBE display - fbdev (basic features - NTSC/PAL) - Only on DM355
- 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]
- VPBE display drivers (fbdev + v4l2) for DM365
- VPBE display driver - V4L2 on DM355
- USB on DM365
- Audio on DM365
- Previewer/Resizer 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.
Known Issues[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
- Workaround: None
- NAND (JFFS2) on DM365: Intemittent kernel failure is observed during NAND read/write test
- Workaround: None
- Audio: Gstreamer fails with a lot of underruns with audio. The same configuration using arecord/aplay does not give any underrun with audio
- Workaround: None
- GPIO: 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 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 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: 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
- Workaround: USB driver in OTG mode 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 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 ISO: Video class does not work; Video camera gets enumerated but the camera capture does not work. It gives an error about STREAM_ON ioctl. The video camera does not get enumerated properly, when plugged in, after unit has booted up.
- Workaround: None
- USB ISO: Audio class does not work
- Workaround: None
- NAND ECC test failed when using uImage built from Arago; but it pass when using uImage built on the cloned kernel.
- Workaround: If the kernel is built standalone (not within Arago environment), ECC correction works fine
- 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
- NAND: After lots of write/read, read operation becomes slow and 'ls' becomes really slow even after umount and reboot.
- Workaround: None
- NAND: First nand read in uboot return failed message; but the second nand read in uboot works fine
- Workaround: Always do a partial nand read first and then do the full nand read
- U-Boot: There is a limitation in the length of the uboot environment variables.
- Workaround: The lengthy values can be split into multiple variables and then these variables can be merged
- DM9000 Ethernet: 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
Performance - DM365 EVM[edit]
Drivers | Performance | Notes |
---|---|---|
CDC-TCP | NRY | NRY |
RNDIS-TCP | NRY | NRY |
Ethernet | 60.8 Mbits/sec | When window size is 212KB |
USB-MSC EXT3 Write | NRY | |
USB-MSC EXT3 Read | NRY | |
USB-MSC VFAT Write | NRY | |
USB-MSC VFAT Read | NRY | |
USB-MSC EXT2 Write | NRY | |
USB-MSC EXT2 Read | NRY | |
SD EXT2 Write | 4.25 MB/S | Using Sandisk 2G card |
SD EXT2 Read | 8.90 MB/S | Using Sandisk 2G card |
SDHC EXT2 Write | 9.76 MB/S | Using Sandisk 8G card |
SDHC EXT2 Read | 10.7 MB/S | Using Sandisk 8G card |
NAND 2k JFFS2 Write | 0.85 MB/S | |
NAND 2k JFFS2 Read | 8.51 MB/S | |
NAND Raw Write | 4.2 MB/S | Using mtd_test module |
NAND Raw Read | 4.9 MB/S | Using mtd_test module |
I2C Write | 256.4 Kbits/S | |
I2C Read | 306.25 Kbits/S | |
SPI Write | 498.50 Kbits/S | |
SPI Read | NRY | |
V4L2 Capture-NTSC 60Hz | 30.03 fps | |
Fbdev Display-NTSC 60Hz | NRY |
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 1 release (Build r20).
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.