[Acer Iconia A500] sp3dev:
Hello happy iconia users!

I propose to dedicate this thread to collecting information about iconia hardware (gpio routing, clocks, embedded chips) and then making a page on xda wiki to reflect the changes. The main purpose is to prepare for future kernel developments. Currenty Acer has not released kernel sources (although i have asked in the acer world support - they sent me to russian support and they in turn told me to forget about kernel sources because A500 is not officially released here yet). This has of course brought great disappointment to me and I even thought about disassembling kernel (which I have obviously started doing but didn't want to waste my time on it), but while playing with the device I had a brilliant idea that I've immediately checked - the kernel is built with debugfs.

So, i did a mount -t debugfs none /mnt/usb_storage and got some interesting details from there. Currently I am busy with several other projects so won't be investing time into iconia hacking but will instead just leave the information here in a hope that it will be wikified or at least someone finds it useful. Some chips are identified and marked to indicate their support level by the currently available sources in mainline linux kernel and google tegra tree.

1. GPIO table

GPIOs 0-223, tegra-gpio:
gpio-10 (lvds_shdn ) out hi
gpio-22 (pnl_pwr_enb ) out hi
gpio-23 (KEY_POWER ) in lo irq-215 edge-both
gpio-28 (backlight_enb ) out hi
gpio-67 (KEY_POWER ) in lo irq-259 edge-both
gpio-69 (sdhci2_cd ) in lo irq-261 edge-both
gpio-70 (sdhci3_power ) out hi
gpio-85 (wlan_power ) out lo
gpio-86 (wlan_rst ) out hi
gpio-109 (mpu_akm8975 ) in lo irq-301 edge-rising
gpio-110 (temp_alert ) in hi irq-302 edge-both
gpio-111 (hdmi_hpd ) in lo irq-303 edge-both
gpio-132 (KEY_VOLUMEUP ) in hi irq-324 edge-both
gpio-133 (KEY_VOLUMEDOWN ) in hi irq-325 edge-both
gpio-135 (atmel_maXTouch1386 ) out hi
gpio-136 (sysfs ) in lo irq-328 edge-both
gpio-137 (sysfs ) in lo
gpio-142 (chg_disable ) out lo
gpio-144 (oob irq ) in lo irq-336 level-high wakeup
gpio-151 (mpu_kxtf9 ) in lo irq-343 edge-rising
gpio-155 (sdhci2_power ) out hi
gpio-160 (bcm4329_nshutdown_gp) out lo
gpio-161 (bt_ext_wake ) out lo
gpio-166 (bt_host_wake ) in hi
gpio-171 (ac_present ) in lo irq-363 edge-both
gpio-173 (vibrator ) out lo
gpio-174 (atmel_maXTouch1386_i) in hi irq-366 level-low
gpio-178 (headphone-detect-gpi) in hi irq-370 edge-both
gpio-190 (dock_headphone-detec) in hi irq-382 edge-both
gpio-202 (isl29018 ) in hi irq-394 edge-falling
gpio-203 (sysfs ) out lo
gpio-204 (mpu3050 ) in lo irq-396 edge-rising

GPIOs 224-227, i2c/4-0034, tps6586x, can sleep:
gpio-224 (pcie_vdd ) out hi

here we can see a reference to tps6586x which seems to be a multifunction device acting as a gpio expander with irq support, pwm controller, rtc controller and possibly other functions are provided by it. supported by linux

if the gpio names are not lying, we have an Atmel MaxTouch 1386 which is capable of handling 16 independent presses simultaneously Product brief on the Atmel site. FWIW i have managed to get 8 fingers to get tracked in some app and I'm quite impressed.

some driver exists for asus transformer but further investigation is needed

akm8975 compass chip supported by linux

AD5820 camera actuator supported by linux

ov5650 rear camera supported by linux and tegra media drivers

wm8903 audio codec supported by linux

bcm4329 wifi/bluetooth chip supported by both vanilla linux and separate module sources are also available

Another interesting project might be dumping the bootloader and finding out how it checks the recovery and boot images for security so the first step to running a custom rom on our tablets will be identifying the possibilities of building a kernel with kexec support and possibly installing a second-stage bootloader to load custom kernels but let's wait for the kernel sources first.

Further posts will contain additional information