6AJ.1.1 Release Notes

From OMAPpedia

Revision as of 22:28, 27 August 2013 by Vishalm (Talk | contribs)
Jump to: navigation, search

Contents

Introduction

These Release Notes provide instructions for:

and

Both sets of instructions make use of binary components to enable hardware acceleration for Graphics.


This software release has been developed and verified in the following software and hardware environment.

OS Kernel: Linux® 3.8
Android: Android JellyBean 4.2.2
Toolchain: Andriod linux-x86 toolchain arm-eabi-4.6
Reference hardware platforms: TI DRA7xxx EVM (J6 EVM) - REV D boards and later with Poly Fixed Silicon[1]
Build Host OS: Ubuntu
Daily Build J6 EVM Version: JACINTO6_JB_MR1_DB build 74


Release Features

On top of previous release, following new features are enbaled


NOTE: OPP_HIGH(1.5 GHz) is enabled in this release. if you don't have a poly fixed silicon, make sure to pick up an extra patch in kernel to disable OPP_HIGH.

Refer to "Poly Fix Silicon Identification" for finding out if you have poly fixed silicon or not.

Release Limitations

In this release:


Using the Prebuilt Release Image

The prebuilt release image can be obtained from here.
After you download the binaries, follow the flashing instruction from "Flashing eMMC images" section.


Rebuilding Android from Sources

Build PC setup

You would need a 64bit machine for building Android file system. You must have sudo permissions on the PC for installing packages

The information below on initializing build environment for Android, is taken from official Android page here

The following commands will install the correct packages to your PC:

Ubuntu 10.04

sudo apt-get install git-core flex bison gperf libesd0-dev zip libwxgtk2.6-dev zlib1g-dev build-essential tofrodos x-dev 
sudo apt-get install lib32readline5-dev libstdc++6 lib32z1 lib32z1-dev ia32-libs g++-multilib libx11-dev libncurses5-dev 
sudo apt-get install uboot-mkimage libxml2-utils

Ubuntu 12.04

sudo apt-get install git-core flex bison gperf libesd0-dev zip libwxgtk2.8-dev zlib1g-dev build-essential tofrodos 
sudo apt-get install lib32readline6-dev libstdc++6 lib32z1 lib32z1-dev ia32-libs g++-multilib libx11-dev libncurses5-dev 
sudo apt-get install uboot-mkimage libxml2-utils


http://www.oracle.com/technetwork/java/javase/downloads/index.html

If you are behind proxy/firewall, workaround it using the instructions in [1]

For installing repo make sure you also export https_proxy environment variable.

export https_proxy=<local_site_proxy_server> eg: http://local.proxyserver.com:80
mkdir ~/bin -p
sudo apt-get install curl
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

If you do not have sudo rights to your machine, contact your System Administrator for assistance.

The Kernel and Driver sources are built using the Android linux-x86 toolchain for ARM GNU/Linux version. This tool chain can be obtained when you pull the Android code based on the released manifest that will be given.

Downloading Release Software

Android Filesystem Sources

You can get the Android source for this release by doing:

cd <your work directory>
mkdir -p 6AJ.1.1
cd 6AJ.1.1
export YOUR_PATH=$PWD
mkdir -p mydroid; cd mydroid
export MYDROID=$PWD
repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b 6AJ.x -m RLS_6AJ.1.1.xml
repo sync

TI Hardware Accelerated Graphics Binaries

Accelerated graphics binaries are part of Android file system build now

U-Boot Sources

cd ${YOUR_PATH}
git clone git://git.omapzoom.org/repo/u-boot.git
cd u-boot
git checkout 8251735f86ed04f055fae138a2920c24f3d1f7e4

Kernel & Driver Sources

To clone kernel source from scratch do:

cd ${YOUR_PATH}
mkdir kernel
git clone git://git.omapzoom.org/kernel/omap.git kernel/android-3.8
cd kernel/android-3.8
git checkout dff911633257e1a73ffa86f72dbe093d1dac8b15

Step to get additional patch to disable OPP_HIGH. Needed only if you don't have a poly fixed silicon[1]

 git fetch http://review.omapzoom.org/kernel/omap refs/changes/49/33449/1 && git cherry-pick FETCH_HEAD


Build Instructions

Setting up build environment

From your work directory (6AJ.1.1 folder):

export YOUR_PATH=$PWD
export MYDROID=${YOUR_PATH}/mydroid
export PATH=$PATH:${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/
export CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

Building U-boot sources

Instructions for building x-loader and bootloader

cd ${YOUR_PATH}/u-boot
export CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
export ARCH=arm
make distclean
make dra7xx_evm

Building Kernel

Follow the steps below to build kernel image.

cd ${YOUR_PATH}/kernel/android-3.8
export CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
make ARCH=arm mrproper
make ARCH=arm android_omap_defconfig
make ARCH=arm uImage dtbs

Building Android Filesystem (AFS)

Follow the steps below to build Android file system.

cd $MYDROID
. build/envsetup.sh
lunch 21  #(specific lunch target: full_jacinto6evm-userdebug)
make -j2 clean
make -j2


Preparing Android Image

Rebuild Android Filesystem (AFS) to include kernel

Copy Kernel Image

cd $MYDROID
cp -v ${YOUR_PATH}/kernel/android-3.8/arch/arm/boot/zImage device/ti/jacinto6evm/kernel

Rebuild AFS to generate update images

cd $MYDROID
. build/envsetup.sh
lunch 21  #(specific lunch target: full_jacinto6evm-userdebug)
rm out/target/product/jacinto6evm/*img
rm out/target/product/jacinto6evm/obj/PACKAGING/systemimage_intermediates/system.img
make -j2

Preparing eMMC binaries/images

cd $YOUR_PATH
mkdir emmc_files
cp -v ${MYDROID}/out/target/product/jacinto6evm/*img emmc_files
cp -v ${MYDROID}/device/ti/jacinto6evm/fastboot.sh emmc_files
cp -v ${MYDROID}/out/host/linux-x86/bin/{simg2img,make_ext4fs,mkbootimg,fastboot,adb} emmc_files
cp -v ${YOUR_PATH}/kernel/android-3.8/arch/arm/boot/zImage emmc_files/kernel
cp -v ${YOUR_PATH}/kernel/android-3.8/arch/arm/boot/dts/dra7-evm.dtb emmc_files
cp -v ${YOUR_PATH}/u-boot/MLO emmc_files
cp -v ${YOUR_PATH}/u-boot/u-boot.img emmc_files


Flashing eMMC images

The default setup is to flash MLO and u-boot.img to QSPI and remaining binaries (kernel, dtb file and AFS) to emmc.

DIP Switch settings

Required DIP switch settings: The following DIP switch settings will put the device in preferred booting mode, with first device as SD and second device as QSPI_1.

SYSBOOT [0-15]
OFF ON ON OFF OFF OFF OFF OFF    ON OFF OFF OFF OFF OFF OFF OFF ON

USERCONFIG [SW5]
OFF OFF ON OFF ON OFF OFF OFF OFF OFF

Flashing procedure

Hit any key to stop autoboot:  3
DRA752 EVM # fastboot
 cd $YOUR_PATH/emmc_files
./fastboot.sh







Application notes

Poly Fix Silicon Identification

Locate (D) Date Code information
The Date Code is listed in YYWW format.
Material with date codes of 1327 or later are manufactured with the corrected poly slot reticle
There is a unique 7-character code (YMLLLLS) symbolized on the top of every component
YM in the code corresponds to the Year and Month of assembly
Units with lot trace code of 37LLLLS or later have been manufactured with the corrected poly slot reticle.
The test program revision is programmed as part of the die ID revision register.
Register to read is 0x4AE0C20C and The FT revision is found in bits [15:8]
If the value is 5 or more, it is poly fixed material


QSPI NOR/eMMC partitions

In this release, the xloader and boorloader goes into QSPI and rest of the images go in to eMMC partitions. The table below summarizes the partition info

Partition Info
Partition Name eMMC/QSPI Binary to flash
xloader QSPI MLO
bootloader QSPI u-boot.img
boot eMMC boot.img (zImage + ramdisk.img)
environment eMMC dra7-evm.dtb
system eMMC system.img
data eMMC userdata.img


To update ramdisk.img or kernel zImage, you will have to create boot.img file and flash it. Steps to create boot.img file below

cd $YOUR_PATH/emmc_files
mkbootimg  --kernel <path/to/zImage> --ramdisk <path/to/ramdisk.img> --base 0x80000000 --output boot.img


Note: When you flash QSPI, you cannot update MLO or u-boot.img indvidually, you will have to flash both together as we erase the whole QSPI while flashing

fastboot oem spi
fastboot flash xloader <MLO File>
fastboot flash bootloader <u-boot.img file>


Audio

Below is some information about what input/output connectors in VayuEVM can be used for audio in Android and what type of accessories can be connected.

Input:

Output:

Audio output is always rendered to Headphone and LineOut since VayuEVM doesn’t have headset/headphone detection to dynamically switch between them. There are no speakers installed on the board.

HDMI: audio supports up to 8-channels, but from Android we are only using stereo and 5.1:


Ethernet

Use following commands for enabling Ethernet in Android.

  shell@android:/$ su
  shell@android:/# netcfg eth0 up # to bring up the interface
  shell@android:/# netcfg eth0 dhcp # to get IP address from DHCP server


HDMI

• Mod is needed on RU108 module
• Lines 3B1 and 3B2 need to be shorted for HPD interrupt line to be connected all times
• Lines 4B1 and 4B2 need to be shorted for CEC interrupt line to be connected all times
• Refer to image here for details


SD card boot

SD Card Boot Information

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox