6AM.1.1 Application Notes

Back to 6AM.1.1_Release_Notes

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

Syntax for fastboot flash command is fastboot flash

To update kernel (zImage) alone, flash the zimage partition fastboot flash zimage 

To update ramdisk.img alone, 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  --ramdisk  --ramdisk_offset 0x01f00000 --base 0x80000000 --output boot.img

Note: To update MLO and u-boot.img in SPI, follow commands below. They have to be flashed together.

fastboot oem spi fastboot flash xloader  fastboot flash bootloader 

Re-Building SGX kernel module
Some changes made to kernel defconfig can causes prebuilt SGX kernel modules to not load

Follow the instructions below for rebuilding SGX modules (pvrsrvkm.ko)

cd ${MYDROID}/device/ti/proprietary-open/jacinto6/sgx_src/eurasia_km/eurasiacon/build/linux2/omap_android export KERNELDIR=${YOUR_PATH}/kernel/android-4.4 export ANDROID_ROOT=${MYDROID} export CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- export KERNEL_CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- export ARCH=arm make TARGET_PRODUCT="jacinto6evm" BUILD=release

SGX modules will be present at ${MYDROID}/device/ti/proprietary-open/jacinto6/sgx_src/eurasia_km/eurasiacon/binary2_omap_android_release/target/pvrsrvkm.ko

Push pvrsrvkm.ko file to /system/lib/modules/ location on the target and reboot the board.

Building for custom platform
There are some additional changes needed when building for a custom platform (If your product name is other than jacinto6evm). In the example below we are using an example product name called newproduct. Replace this with your product name.

 Change in Makefile to add your product name (device/ti/proprietary-open project) --- a/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile +++ b/eurasia_km/eurasiacon/build/linux2/omap_android/Makefile @@ -77,7 +77,7 @@ VS_PRODUCT_VERSION                   := 5 SUPPORT_ACTIVE_POWER_MANAGEMENT := 0 endif -ifneq ($(filter jacinto6evm,$(TARGET_DEVICE)),) +ifneq ($(filter jacinto6evm newproduct,$(TARGET_DEVICE)),) SGXCORE                                               := 544 SGX_CORE_REV                          := 116 SGX_FEATURE_MP                        := 1
 * 1) FIXME: Re-enable this ASAP

In the build command above replace TARGET_PRODUCT="newproduct" 

IPC

 * IPC version used in this release is 3.43.00.01
 * IPC package is already included when you download Android source following instructions from release notes. It is in path . You can also clone the IPC git tree individually from
 * Late Attach and Error Recovery
 * http://processors.wiki.ti.com/index.php/Early_Boot_and_Late_Attach
 * http://processors.wiki.ti.com/index.php?title=IPC_Slave_Error_Recovery
 * UIO and misc driver (for avoiding /dev/mem)
 * http://processors.wiki.ti.com/index.php/IPC_GateMP_Support_for_UIO_and_Misc_Driver
 * Benchmarking
 * http://processors.wiki.ti.com/index.php/IPC_BenchMarking
 * IPC Users Guide
 * http://processors.wiki.ti.com/index.php/IPC_Install_Guide_Android
 * http://processors.wiki.ti.com/index.php?title=IPC_Users_Guide

Audio
Note: Android media output and input is on the EVM CPU board, while the JAMR3 output is dedicated for radio.

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

ADB
From this release (Kernel 4.4), ADB is enabled via configFS gadget

USB Dual Role / DRD
This release supports USB dual role / Dynamic role switch for USB.  Software Configuration:   Make sure following configs are enabled in Kernel defconfig</li> CONFIG_USB_OTG=y CONFIG_EXTCON_USB_GPIO=y The USB port you want to use for USB dual role should be marked as "otg" in dts file, example for usb1 below</li> &usb1 { dr_mode = "otg"; }; </ul> Testing Procedure: </li> <ol> The dynamic role switching to "host" or "device" mode is based on usb-id pin when the usb cable (type-A for host, type-B for device) is connected to usb1 or usb2 ports</li> The role switching to "device" or "host" can also be done by writing to dwc3 debugfs nodes</li> echo "device" > /sys/kernel/debug/48890000.dwc3/mode or echo "host" > /sys/kernel/debug/48890000.dwc3/mode </ol> </ul>
 * 1) Ex for USB1 port below, use 488d0000.dwc3 directory for USB2 port

Camera
6AL.1.2_Application_Notes

We use LegacyCamera app to test Camera on Android SDK. Starting from Marshmallow, you have to give explicit permissions to this app for accessign camera hardware. Follow the steps below to enable this app for camera.


 * Go to Settings --> App
 * Click on Camera (Black camera logo)
 * Click on Permissions
 * Grant all permissions

Now you should be able to use LegacyCamera app for camera preview.

Radio

 * Radio package is available only through CDDS, please contact [mailto:lester@ti.com Lester Longley] for more info.

GC320

 * GC320 package is available only through CDDS, please contact TI representative for more info.

WiLink8Q

 * WLAN drivers are now part of kernel and is not built out of tree using compat.
 * More legacy info here -- 6AJ.1.2_Application_Notes

SD Card Boot
6AM_SD_card_boot

All eMMC option
6AJ.1.2_Application_Notes

Single Stage bootloader
To enable the early boot flow, configure the DRA7xx board to boot in QSPI_1 production boot mode by setting the sys_boot dip switches as shown below and reboot the board SYSBOOT [0-15] OFF ON ON OFF ON ON OFF OFF   ON OFF OFF OFF OFF OFF OFF OFF ON

You can stop the single stage boot flow and get to u-boot prompt, if you keep pressing character 'c' on the UART console when powering up the board.

USB Peripheral Boot
This mode is for flashing a fresh new board, which has no MLO or u-boot present on SPI or eMMC (To avoid SD card)

 Build required components</li>  Build usbboot Linux Host binary</li> cd ${YOUR_PATH} git clone git://git.omapzoom.org/repo/omapboot.git cd omapboot git checkout 609ac271d9f89b51c133fd829dc77e8af4e7b67e cd host/tools make Build special SPL for peripheral boot</li> cd ${YOUR_PATH}/u-boot export CROSS_COMPILE=${MYDROID}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- export ARCH=arm make dra7xx_evm_config make menuconfig # Enable "Boot Images" -> "Enable SPL with DFU" make </ul> Steps to use peripheral boot</li>  Disconnect the power supply from the board</li> Change DIP switch as below, this configuration corresponds to the following device boot order: USB</li> SYSBOOT [0-15] OFF OFF OFF OFF ON OFF OFF OFF   ON OFF OFF OFF OFF OFF OFF OFF ON Connect micro USB cable from Linux PC to USB3.0 port on EVM</li> Execute the following command on Linux PC</li> cd $YOUR_PATH/emmc_files sudo ./usbboot-stand-alone -s ./spl/u-boot-spl.bin Power on or reset the board</li> <li>At this point DRA7xx communicates with host machine, u-boot-spl will be transferred into DRA7xx internal memory and ready for DFU usage</li> reading ASIC ID CHIP: 5641 rom minor version: 01 IDEN: 0000000000000000000000000000000000000000 MPKH: 0000000000000000000000000000000000000000000000000000000000000000 CRC0: af96e165 CRC1: 00000000 device is GP sending 2ndstage to target... <li>Execute below commands from Linux PC to transfer u-boot via dfu-util. After executing second command, u-boot will start running immediately, interrupt and stop at u-boot console.</li> sudo dfu-util -l sudo dfu-util -c 1 -i 0 -a 0 -D u-boot.img -R <li>Now the u-boot is transferred via dfu, now u-boot starts executing. Stop at u-boot prompt and change the DIP switch now for regular boot (SD &rArr; QSPI_1)</li> SYSBOOT [0-15] OFF ON ON OFF OFF OFF OFF OFF   ON OFF OFF OFF OFF OFF OFF OFF ON <li>Now you can run the fastboot.sh script or fastboot commands to flash the board</li> </ul> </ul>

AOSP Delta
To find out the delta/patches that TI added on top of Android AOSP, follow the instructions below cd $MYDROID repo forall -p -c 'git log --oneline omap-mirror/marshmallow-mr2-release..omap-mirror/d-marshmallow-mr2-release'
 * This release is based on Marshmallow MR2 version of AOSP (6.0.1)
 * AOSP Branch: marshmallow-mr2-release
 * Corresponding TI Branch: d-marshmallow-mr2-release
 * Once you have the 6AM.1.0 repo downloaded on your PC, use the command below to list out all patches added by TI on top of AOSP projects

Resource Allocation
6AM_Resource_Allocation

Errata Disposition
DRA7xx_Errata_Status