CM-T3730: Android

From Compulab Mediawiki
Revision as of 09:05, 14 March 2013 by Grinberg (talk | contribs) (Keypad)
Jump to: navigation, search

Introduction

The Android Demo filesystem image for CM-T3730 is based on Rowboat Android 4.1.2 Jelly Bean support for TI's AM37x platform. The CompuLab Android Demo package for CM-T3730 includes ready to run Demo Android filesystem image and Linux kernel based on 2.6.37 version.

The Android Demo image for CM-T3730 includes following software components:

  • Android Jelly Bean 4.1.2 release from Google
  • Android Linux Kernel v2.6.37
  • SGX OpenGL ES Driver & Libraries DDK v1.10
  • Built-in Applications and Demos
    • Browser, Calculator, Clock, Contacts, Music, Search, File Manager, etc.
  • Peripherals drivers
    • MMC/SD, UART, Ethernet, Matrix Keypad, LCD, Touchscreen, etc.

The Getting started with Android on CM-T3730 page provides a brief introduction on how to install and boot the Android Demo image. This article describes package structure and peripheral device options specific to the CM-T3730.

Package contents

version.txt

The contents of the version.txt identifies the package version.

images

  • uImage-cm-t3730.bin - ready to run Linux kernel image binary for CM-T3730
  • Android-image-cm-t3730.tar.bz2 - Android root file system archive

development

The development directory contains a collection of patches with support for CM-T3730. The directory structure preserves the Rowboat Android Source tree structure. It contains patches for several Android sub-projects including Linux kernel.

  • build - contains a collection of patches that determine build specification for CM-T3730
  • device/compulab/cm_t3730 - contains a collection of patches that introduce CM-T3730 support
  • hardware - contains hardware specific patches
    • devmem2 - provides devmem2 utility
    • ti - TI platform specific patches
      • omap3 - patches for CM-T3730 audio
      • sgx - patches for Graphics SDK
  • kernel - contains a collection of patches for Linux kernel with support for CM-T3730 peripherals
  • system/core - patches that provide additional system functionality

kernel

  • uImage-2.6.37-cm-t3730-1.bin - ready to run Linux kernel 2.6.37-cm-t3730-1 for CM-T3730 can be used with either Android or Linux root filesystem
  • linux-2.6.37-cm-t3730-1.config - Linux kernel 2.6.37-cm-t3730-1 configuration file
  • linux-2.6.37-cm-t3730-1.patch - patch vs. rowboat-jb-am37x-4.1.2 tag with support for CM-T3730 peripherals
  • patches - ordered collection of patches, that form the single patch above (linux-2.6.37-cm-t3730-1.patch)

utilities

The utilities directory contains miscellaneous utilities useful for development

  • eeprom-util - CompuLab EEPROM utility for reading information found inside the EEPROM on CompuLab boards

Keypad

The matrix keypad is supplied with the CM-T3730 Evaluation Kit. Connect the keypad to the SB-T35 base-board (connector P10) via 20-pin flat cable supplied with the evaluation kit.

Kernel Keypad Configuration

The default Linux Kernel keypad configuration is defined in the CM-T3530/CM-T3730 board file kernel/arch/arm/mach-omap2/board-cm-t35.c as follows:

static uint32_t cm_t35_keymap[] = {
	KEY(0, 0, KEY_A),	KEY(0, 1, KEY_B),	KEY(0, 2, KEY_LEFT),
	KEY(1, 0, KEY_UP),	KEY(1, 1, KEY_ENTER),	KEY(1, 2, KEY_DOWN),
	KEY(2, 0, KEY_RIGHT),	KEY(2, 1, KEY_C),	KEY(2, 2, KEY_D),
};

The keypad is supported by the TWL4030 Keypad driver kernel/drivers/input/keyboard/twl4030_keypad.c.

Android Keypad Configuration

The default Android keypad configuration is determined by the Android Key layout file /system/usr/keylayout/TWL4030_Keypad.kl. This file is responsible for mapping Linux key and axis codes to Android key and axis codes and specifying associated policy flags. The TWL4030_Keypad.kl for CM-T3730 looks as follows:

# CM-T3730 TWL4030 KEYPAD keylayout
key 30    BACK               WAKE_DROPPED
key 48    HOME               WAKE
key 46    MENU               WAKE_DROPPED
key 32    SEARCH             WAKE
key 28    POWER              WAKE

See also