This page documents the various tried to get a working kernel for the GTA04 with ICS userspace.
Notes:The TI porting guide for AM37x devices advices to use the rowboat tree with the rowboat-ics.xml manifest.
The kernel in that tree is branch rowboat-ics-kernel-2.6.37 from the rowboat kernel.
Porting the GTA04 board and drivers to this kernel seems possible, however this is a very old kernel revision.
The gta04 kernel based on rowboat kernel is at: http://git.paulk.fr/gitweb/?p=replicant/kernel-gta04.git;a=shortlog;h=refs/heads/rowboat-gta04
Status matrix:
Component | Status |
Board file | OK (boots normally) |
RS232 | OK |
Modem | Missing |
Power off/reboot | Reboot works, poweroff leaves led on |
GPS | Missing |
WiFi/Bluetooth | Missing |
LCD | OK |
Graphics (fb) | OK, fast |
Touch screen | OK |
Backlight | Missing |
Sensors | Missing |
Audio | Missing |
Headset | Missing |
USB | OK, issue at suspend |
microSD | OK |
Buttons | Missing |
LEDs | Missing |
Battery | Missing |
Omapzoom (where TI pushes code for Android) has an omap3 kernel that should match ICS userspace.
However, when running on the GTA04, serious power management issues caused characters to be dropped on serial after not touching the phone for a couple of seconds as well as IRQ interrupts being dropped, which caused the touchscreen to not work properly. Suspend/resume and earlysuspend works perfectly though. Maybe this kernel wasn't designed for AM37x OMAP3 devices but another kind of OMAP3 SoCs: there is no support for Android Beagleboard.
Merging AOSP's 3.4 common kernel on top of Neil Brown's 3.4 gta04 kernel and adding the Android options to the defconfig resulted in a non-working kernel where input events didn't seem to be reported correctly to userspace (even with an USB mouse, click events seemed dropped).
Both branches seem to make trebuchet freeze, on the system log there is:
I/WindowManager( 191): Input event dispatching timed out sending to Keyguard