L23.i3.8 Release Notes

=Introduction= This release has been developed and tested in the following environment. OS Kernel: Linux® 2.6.32. The perferred Poky Environment is poky-purple 3.2; the community may try using latest revisions of Poky against the TI package. Hardware: Zoom3 with TI OMAP3630 IC version: ES1.1 Toolchain: CodeSourcery compiler version 2008q3-72.

=Release Content= The release refers to the source code in git trees and the binary packages are distributed in different projects. The next section on how to build will help pull them into the correct directories to integrate the software system.

Documentation OMAPpedia is an excellent source for details on the various components. There is a project listing in the main page on the various components.

Pre-built binaries from this release can be obtained from PokyL23.i3.8. Please follow the instructions given at the Zoom Flashing Instructions Page.

Other Binary packages

OMX Components & DSP Binaries - L23.i3.8_OMX_DSPBinaries The TI OMX components can be found in one package along with another package which has the DSP binaries. In this OMX package there are poky recipes that are delivered and a subset of these recipes specify clear case paths but with this package all the required source files have been included since the OMX packages will all be loaded in your source directory. This will ignore the clear case information in the recipes and build the components as required. Connectivity Package - TI-wlan-23i3.8.tar.bz2

GIT Comment IDs for this Release
Linux Kernel: "9925e5c0abf878314d98419320325470c9bbd03d" X-Loader: "3cef0d053672743a541cf00448ee81a7bcb6558a" U-Boot: "de352010a1ba26705350d4cbc4d00761c56bae3d" tidspbridge-lib: "31c7e2c95002960fcff2d627102a420e86054faa" tidspbridge-mpusamples: "31c7e2c95002960fcff2d627102a420e86054faa" wilink: "b6ab28bcd861b9cd18832481d1eee83448b4745b"

=Build and Installation Instructions=

Building with Poky and the Release Package

The setup of the Poky build environment with the correct tools will be the first task to get setup and this information is available at the Poky Setup Page

Then pull the Pre-built binaries, TI OMX multimedia components, and all the poky recipes for this release. This can be obtained this active link: L23.i3.8_OMX_DSPBinaries then download the TI-Linux-RLS-23i3.8.tar.bz2 package and TI_DSPbinaries_RLS23.i3.8-3.12-Linux-x86-Install file. Follow the steps below to setup the build environment:

export POKYROOT=${HOME}/L23_community/ mkdir ${POKYROOT} cd ${POKYROOT} tar xvjf ${HOME}/TI-Linux-RLS-23i3.8.tar.bz2 #This creates the ${POKYROOT}/Linux-TI-RLS23i3.8

git clone git://dev.omapzoom.org/pub/scm/integration/pokyomap.git export POKYSRC=${POKYROOT}/pokyomap cd $POKYSRC git checkout --track -b mypoky origin/poky-purple-3.2 git reset --hard L23.I3.8

Follow the steps below to setup the TI code.

rm -rf meta-texasinstruments cp -rp ${POKYROOT}/Linux-TI-RLS23i3.8/meta-texasinstruments/ ${POKYSRC} mkdir ${POKYSRC}/sources cp ${POKYROOT}/Linux-TI-RLS23i3.8/sources/* ${POKYSRC}/sources/

Setting up the TI site and local config files:

cp meta-texasinstruments/conf/misc/local.conf build/conf cp meta-texasinstruments/conf/misc/site.conf build/conf The next step is to run the poky build commands:
 * 1) Edit site.conf, setting SITE_PROXY_HOST and EXTERNAL_CSL_TOOLCHAIN to match your build settings.

Initialize the build environment and then build the OMAP image

source poky-init-build-env bitbake omap-image-sato 2>&1 | tee omap-image-sato.log

Building WLAN package 

To add WLAN in the build download the WLAN package and install this package into your HOME directory WLAN package can be obtained from TI-wlan-23i3.8.tar.bz2.

Untar the package: TI-wlan-23i3.8.tar.bz2

tar -xjvf TI-wlan-23i3.8.tar.bz2 #This creates the ${HOME}/TI-wlan cp -rp ${POKYROOT}/TI-wlan/meta-texasinstruments/ ${POKYSRC} Then you need to run the TI_wilink-firmware-1.2-Linux-x86-Install make sure the file has execution rigths, if not change it with

chmod 755 TI_wilink-firmware-1.2-Linux-x86-Install ./TI_wifilink-1.2-Linux-x86-install #This creates the ${HOME}/TI-wifilink and copy the resulting wilink-firmware-cc+LINUX-WCG-WLAN_RLS_L23-INC3-7.tar.gz to ${POKYSRC}/sources.

cp ${HOME}/TI_wifilink/wilink-firmware/* ${POKYSRC}/sources/ Update the file /meta-texasinstruments/conf/distro/info/distro-features.inc by uncommenting DISTRO_FEATURES += "tiwifi". Then update the recipe /meta-texasinstruments/images/omap-image-sato.bb to uncomment IMAGE_FEATURES += "omap-conn". If you already built your base package before applying WLAN package then execute the following commands:

cd /path/to/pokyomap (path where you poky environment is located) source poky-init-build-env (needed only if you opened a new terminal) cd /path/to/pokyomap/build bitbake -c rebuild wpa-supplicant 2>&1 | tee wpa-supplicant.log

NOTE: this step is specific to L23.I3.8 as far as a wpa-supplicant patch is required for WLAN robustness.

bitbake -c rebuild task-omap-connectivity 2>&1 | tee task-omap-wlan.log bitbake -c rebuild omap-image-sato 2>&1 | tee omap-image-sato2.log Poky filesystem will be available in /build/tmp/deploy/images folder

Possible CAVEATS with the build The kernel package (linux-tiopmap) might have problems cloning the git repository from dev.omapzoom.org via bitbake. The symptom is that the clone command will hang indefinitely. If this occurs, Control-C out of the "bitbake omap-image-sato" command. In the resulting exit output, bitbake will list the command it was running. It will looked something like this:

sh -c export http_proxy=http://proxyserver/; export GIT_CONFIG=/home/x0124169/L23_community/pokyomap/build/tmp/staging/i686-linux/usr/etc/gitconfig;\ export GIT_PROXY_PORT=80; \ export GIT_PROXY_HOST=wwwgate.ti.com; \ export GIT_PROXY_COMMAND=/home/x0124169/L23_community/pokyomap/scripts/poky-git-proxy-command; \ export PATH=/home/x0124169/L23_community/pokyomap/build/tmp/staging/i686-linux/usr/bin/zoom3-none-linux-gnueabi:\ /home/x0124169/L23_community/pokyomap/build/tmp/staging/i686-linux/usr/sbin:\ /home/x0124169/L23_community/pokyomap/build/tmp/staging/i686-linux/usr/bin:\ /home/x0124169/L23_community/pokyomap/build/tmp/cross/armv7a/bin:\ /home/x0124169/L23_community/pokyomap/build/tmp/staging/i686-linux/sbin:\ /home/x0124169/build/cross_compile/arm-2008q3//bin:\ /home/x0124169/L23_community/pokyomap/bitbake/bin/:\ /home/x0124169/L23_community/pokyomap/scripts:\ /opt/bison/bin/:\ /home/x0124169/build/cross_compile/arm-2008q3/bin/:\ /opt/klocwork/bin/:\ /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games;

git clone -n git://dev.omapzoom.org/pub/scm/integration/kernel-omap3.git /home/x0124169/L23_community/pokyomap/sources/git/dev.omapzoom.org.pub.scm.integration.kernel-omap3.git

Your command will look different, based on your environment. Run this full command from the same terminal you were using to generate the imap-image-sato image. The command should properly clone the kernel tree. Once it has completed, reissue the "bitbake omap-image-sato" command. The build will pick up the downloaded tree, and should continue to build normally.

Building commands for one specific component or to rebuild a component
Additional build information has been supplied for information on building specific components and also how to rebuild a component.

To Build a specific component:

Instead of running: $ bitbake poky-image-sato Run: $ bitbake tiopenmax-audiomanager  (Which ever component needs to be built or a specific group of components) Another example: $ bitback tiopenmax-aacdec Commands to Rebuild a component:

bitbake tiopenmax-audiomanager -cclean (Step that does the clean) bitbake tiopenmax-audiomanager         (Step that does the rebuild) bitbake -c rebuild tiopenmax-audiomanager (One step command to rebuild)

Booting the Zoom3 board with the OMAP images

Instructions for Booting the Zoom36x board with the new images are given in the Zoom Flashing Instructions Page.

Installing the DSP binaries to the File System 

Please follow the below instructions to modify the file system by adding the DSP binaries to the file system to make it work.

Select the DSP binaries installation "TI_DSPbinaries_RLS23.i3.8-3.12-Linux-x86-Install" located in the ${POKYROOT}/TI_Community_LO directory. Install them by excepting the licence agreement. This is going to create the folder TI_DSPbinaries_RLS23.i3.8 Move qosdyn_3430.dll64P to file system location ./dspbridge The rest of the binary files need to be moved to ./lib/dsp create the directory with

cd /lib sudo mkdir dsp

And after that just insert the SD card and reboot the board.

Installing the WLAN firmware binary to the File System 

Firmware.bin is required for enabling WLAN functionality, this can be download from the package TI-wlan-23i3.8.tar.bz2.

Download the tarball: TI-wlan-23i3.8.tar.bz2 and unziped with:

tar -xjvf TI-wlan-23i3.8.tar.bz2 #This creates the TI-wlan folder

inside the TI-wlan folder is stored the file TI_wifilink-1.2-Linux-x86-Install

Execute this file by double click or ./TI_wifilink-1.2-Linux-x86-Install. Install them by excepting the licence agreement. #This creates the TI_wifilink folder inside of this folder is wilink-firmware and inside is the firmware.bin file.

Download the file system omap-image-sato-zoom3-20100712230324.rootfs.tar.gz stored in PokyL23.i3.8 in your home directory.

install the File System in your SD card.

cd /media/disk sudo tar -xzvf ~/omap-image-sato-zoom3-20100712230324.rootfs.tar.gz

and copy the WLAN firmware to the file system to make it work.

cd wlan sudo cp ~/TI_wifilink/wilink-firmware/firmware.bin.

Now the File System is ready to start wlan.

SD/MMC Card Bootarg parameters.
In teraterm or minicom insert this bootargs (IP address based on your setup.)

nand unlock nand ecc sw  setenv ipaddr 10.87.224.99 setenv gatewayip 10.87.224.1 setenv serverip 10.87.230.185 setenv ethaddr 08:00:EE:03:7D:C1 setenv video_settings omap_vout_mod.video1_numbuffers=6 omap_vout_mod.vid1_static_vrfb_alloc=y omap_vout_mod.video2_numbuffers=6 omap_vout_mod.vid2_static_vrfb_alloc=y setenv board_settings mem=512M console=ttyS0,115200n8 setenv bootcmd 'mmcinit 0;fatload mmc 0 0x81000000 uImage-zoom3.bin; bootm 0x81000000' setenv bootargs $board_settings noinitrd root=/dev/mmcblk0p2 rw rootdelay=1 init=/sbin/init ip=dhcp $video_settings set bootdelay 2 saveenv boot

= New in this Release =  Kernel based on 2.6.32 BSP  OFF_MODE enabled. [updated in the l23.init script attached within] SR: Introduce Class 1.5. Fixe for SR in OS idle path: When SR Class 1.5 is used; SR should not be enabled/disabled in OS Idle path. OMAP3630 PM: SR1.5 fixes Adding field 'is_volt_reset' to disable smartreflex. Fix SRP generation for B-device. OMAP3 PM: Software workaround for Errata i580 - DPLL3 in Manual Lock mode cannot be used when CORE goes to OSWR or OFF state. OMAP3: PM: Ensure that Efuse NTarget values are used for revision OMAP3630 PM: changes for recent recommendation while enabling/disabling ABB. Changing the calibrated voltage according to system voltage margin. Add timer Support that Recalibration. Add field adjusted_vsel in OPP struct. <li>PADS off mode overdrive feature for 3630. <li>Adding Efuse Support for Ntargets in 3630 ES1.1 <li>Fix for UART PER off Issue Errata. <li>Force Unit Access (FUA) [The target sends data to the media surface and to buffer it through a cache]. <li>Updating Errorgain field of Register VP_CONFIG according to OPP for OMAP 3630. <li>Adding APIs for 'get_opp' such as it uses target voltage to decide OPP. <li>sDMA: clear status on all interrupt lines. <li>dma: fix scope of errata i88 up to 3430ES1.1 <li>UART PER off Issue Errata. <li>Aggressive clock-management for EHCI/OHCI. <li>Usb: musb: fix test mode selection from debugfs. <li>Usb: musb: context save and restore support during OFF mode. <li>Usb: musb: save dynfifo in musb struct. <li>Usb: ehci-omap: add suspend/resume support. </ul> <li>Bridge: <ul> <li>Use GPT7 to handle MMU Fault </ul> <li>Audio/System <ul> <li>LCML optimization to reuse mapped buffers is enhanced with Stop-Restart feature </ul> <li>Image/Video <ul> <li>Issues in video components fixed <li>Video pause/resume is fixed. </ul> </ul>

Note: Instructions to enable on-demand governor omap_version = 3630 -> will boot @600Mhz (opp 50/100 supported) omap_version = 3630800 -> will boot @800Mhz (opp 50/100/Turbo supported) omap_version = 36301000 -> will boot @ 1GHz. (opp 50/100/Turbo/1GH supported) To change governor to on-demand following command will help <tt>echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor</tt>

=Limitations/Known Issues= The release has been validated on Poky-purple 3.2 and the community can try and use the TI content on latest revisions of Poky

Random Issues or Limitations seen with 23.i3.8 <ul>

Due to aggressive clock-management in the EHCI/OHCI drivers, remote-wakeups cannot be detected once the bus is suspended. To work around this, userspace needs to turn on the bus by doing:.<BR> echo on > /sys/bus/usb/devices/usbN/power/level..<BR> where usbN is the bus number for EHCI/OHCI..<BR> Suspend-Resume is not working for Camera module.<BR> Zoom3: MMC Boot - keep getting the message "bridge_recover:1 handle(s) still opened" in the log.<BR> 3630sdp: Aplay - gives "Error - DMA synchronization event drop occurred with device 33".<BR> Status for Audio decoders at Gstreamer level when using ALSA (alsasink plug-in).<BR> Runtime port configuration change show a Kernel error.<BR>

</ul>

=Use Case Test Results=

Instructions on how to execute the tests can be found in the Test Execution User Guide

[edit] Resources OMAPZoom.org and OMAPpedia.org may be good starting places.

IRC Chat - #linux-omap

Googlegroups - OmapZoom

Retrieved from "http://www.omappedia.org/wiki/L23.i3.8_Release_Notes"