Tony Lindgren is currently working on mainline
kernel support for the Motrola Droid 4
(Wikipedia,
GSMArena,
iFixit Teardown).
He documented his work to get serial over USB on the following page:
http://muru.com/linux/d4.
I just got myself a used one via Ebay, since it's a decent upgrade from the
Nokia N9xx phones. It's also quite cheap (30$ in US, 50€ after import to DE
(shipping + customs)). Last but not least there is no newer phone available,
which has a proper hardware keyboard.
SoC | OMAP4430 |
| CPU | 2x ARM Cortex-A9 @ 1.2 GHz |
| GPU | PowerVR SGX540 @ 304 MHz |
Memory | 1024 MB LPDDR2 |
Disk | 16GB internal, µSDHC Slot |
Modem 1 | Quad-Band GSM/UMTS |
Modem 2 | LTE (700MHz, mostly useless in EU) |
The kernel used by Android is available on sourceforge.
It is used together with a custom (non-standard) DT blob. Both sources combined give some information about the HW chips being used inside of the phone.
I compiled a status table below:
Function | Chip | mainline driver |
SoC | OMAP4430 | yes |
- | SDHC | - | yes |
- | SPI | - | yes |
- | UART | - | yes |
- | PWM | - | yes |
- | USB | - | yes |
LCD | DSI-CM Panel | WIP |
Keyboard and Display Backlight | LM3532 | patch |
Touchscreen | MXT224E | yes |
Temperature Sensor | TMP105 | no |
Accelerometer | LIS3DH | yes |
Proximity | ISL29030 | only isl29035 |
Compass | AKM8975 | yes |
PMIC | CPCAP 6556002 | yes |
- | regulator | - | yes |
- | rtc | - | no |
- | battery monitoring | - | no |
- | RGB led | - | no |
- | capslock status led | - | no |
- | android buttons led | - | no |
- | audio | - | no |
Radio | WL1285C | yes |
- | WLAN | - | yes |
- | FM | - | yes |
- | Bluetooth | - | yes, WIP |
- | GPS | - | ? |
Vibrator (via PWM) | - | no |
Keypad (via SoC) | - | patch |
UMTS Modem (via USB & SPI?) | MDM6600 | no |
LTE Modem (via USB) | W3GLTE | no |
Primary Camera | Omnivision OV2B3BA (OV8830) | no |
Secondary Camera | ? | no |
The bootloader is unfortunately locked down, but Cyanogen people got kexec
working. So Android can be used as giant bootloader to load the mainline
kernel via kexec. Details about that can also be found on Tony's Droid4 page.