h1. GTA04 Kernel This page documents the various tried to get a working kernel for the GTA04 with ICS userspace. Notes: * The GTA04 is an AM37x OMAP board like the BeagleBoard XM. The other BeagleBoard models use another OMAP3 SoC. * "AM37x category":http://processors.wiki.ti.com/index.php/Category:AM37x on TI wiki Resources: * Neil Brown's "gta04 kernel tree":http://git.neil.brown.name/git?p=gta04.git includes 3.2, 3.3, 3.4 and 3.5 kernels * AOSP's "common kernel tree":https://android.googlesource.com/kernel/common/ includes 3.0 3.3 and 3.4 kernels h2. Rowboat kernel 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":https://gitorious.org/rowboat/kernel/commits/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, power button won't start it after poweroff | | GPS | Missing | | WiFi/Bluetooth | Missing | | LCD | OK | | Graphics (fb) | OK, fast | | Touch screen | OK | | Backlight | Missing | | Sensors | Missing | | Audio | Missing | | Headset | Missing | | USB | OK, automatic OTG host/device, issue at suspend | | microSD | OK | | Buttons | Missing | | LEDs | Missing | | Battery | Missing | h2. Omapzoom kernel Omapzoom (where TI pushes code for Android) has an "omap3 kernel":http://omapzoom.org/?p=kernel/omap.git;a=commit;h=refs/heads/p-android-omap3-3.0 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. h2. AOSP's 3.4 common kernel merged with Neil Brown's 3.4 gta04 kernel 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). h2. Kernels on Gitorious/Replicant: The "repository is here,":https://gitorious.org/replicant/kernel_goldelico_gta04 * the replicant-4.0+3.7+WIP branch contains the kernel 3.7 for the gta04(which comes from "neil brown's git":http://git.neil.brown.name/git?p=gta04.git;a=summary (git://neil.brown.name/gta04.git) probably at the 3.7-gta04 branch with adb forward-ported to it on top. The others android features comes from the mainline 3.7 kernel. * the replicant-4.0+3.7+WIP branch contains the experimental/android-3.8 branch of the "AOSP common kernel":https://android.googlesource.com/kernel/common/ with on top, the result of the rebase of the mainline branch of "neil brown's git":http://git.neil.brown.name/git?p=gta04.git;a=summary on top of 3.7 (which was also pushed in neil-rebase-3.7 branch for historic purposes), which is forward ported to 3.8 h3. Issues Both branches seem to make trebuchet freeze, on the system log there is:
I/WindowManager( 191): Input event dispatching timed out sending to Keyguard