Sebastian Reichel

Motorola Droid 4 - Automated Tests

I would like being able to test patches on the Droid 4 without having to carry a development phone around all the time. Testing on my day-to-day phone is not a good idea, since that means being offline during the tests. A simple solution would be to do the testing remotely, which should also allow doing automated tests for KernelCI. Unfortunatley doing this on a phone is a bit harder than on an average development board due to the hardware design. Read more →

Motorola Droid 4 - Camera Info

Multiple people asked camera related questions during my talk as FOSDEM (and after it). I did some basic reverse engineering, so let me share what I know. The Droid 4 works with a OMAP4430, which has a imaging subsystem (ISS). It is documented quite well in the datasheet and there is a Linux kernel driver available in staging (omap4iss), which was written by Laurent Pinchart (thanks!). This module provides two MIPI CSI-2 interfaces to connect camera sensors. Read more →

FOSDEM 2018

I gave a talk at FOSDEM about the current mainline kernel support for the Droid 4 and its open issues. If you follow this blog you probably already know the information I presented and I’m not a good presenter (sorry!). If you are interested anyways, you can find the recording and my slides on the following here: Slides Video Recording (mp4) Video Recording (WebM/VP9) Video Recording (Youtube) – Sebastian Read more →

Motorola Droid 4 - August Update

It has been some time since my last post about the Droid 4. 4.13 will most likely be released next week, so let’s have a look at newly added features related to the Droid 4: crypto acceleration for AES and 3DES support for ISL29030 (proximity and ambient light sensor) USB phy support battery monitoring support bluetooth Unfortunately the list for 4.14 will be a lot shorter (or even empty), since most other submissions are still in review (or need work). Read more →

Motorola Droid 4 - Update

The 4.12 merge window will most likely close on Sunday, so its a good time to check the Droid 4 status matrix. This merge window lots of changes were queued: New drivers: real time clock (RTC), power button, analogue digital converter (ADC), battery charger, LEDs (RGB, capslock status, android buttons) DTS additions: LCD (no driver yet), HDMI, Keyboard/LCD backlight (no driver yet), Touchscreen, Temperature sensor, Accelerometer, Compass, Regulators, RTC, Power button, ADC, USB PHY (no driver yet), Battery charger, LEDs, Keyboard, Poweroff, USB configuration for modems Read more →

Motorola Droid 4 - WL1285 and GPS

Today I had another look at GPS for Droid 4. In theory it has 3 different chips, that have GPS receivers: WL1285C, MDM6600, WG3LTE. The Cyanogenmod changelog for the Droid 4 contains a hint, that WL1285C’s GPS module is the one actually used: Don't hold st_wakelock until BT/GPS is used for the first time Also the stock kernel contains a driver for GPS from WiLink. WiLink based chips come with either SPI or SDIO connection for WLAN and a shared UART for Bluetooth (BT), FM radio, GPS and NFC. Read more →

Motorola Droid 4 - Update

Some time has gone by since my last post, so lets have a look what changed for Droid 4: I prepared a CPCAP LED driver I published updated patches for the N950 display (also used for D4) Milo Kim published TI LMU backlight driver supporting D4’s LM3532 Tony published a CPCAP ADC driver Tony published a simple CPCAP battery charer driver Tony published CPCAP usb phy Tony published Motorola MDM6600 patch for qmi_wwan Tony published lots of droid 4 DTS patches adding Touchscreen LCD backlight GPIO poweroff Temperature sensor HDMI support (incl. Read more →

Motorola Droid 4 - Modem

Today I had a first look at the modems of the Droid 4. Conclusion Modem 1 (2G/3G): Name: MDM 6600 USB ID: 22b8:2a70 Drivers: bpwake - wakeup ttyO0 via gpio mdm6600_ctrl - modem gpio control via sysfs mdm6600_modem - usb-serial driver (unused?) qcusbnet - qmi driver, mainline provides alternative ts27010mux - 3GPP 27.010 mux ldisc for ttyO0 Modem 2 (4G) Name: W3GLTE USB ID: 22b8:4267 Drivers: wrigley_ctrl - modem gpio control via sysfs oob-wake - usb wakeup via gpio cdc-ether - usb network device Both modems require a GPIO control driver for powering them up/down. Read more →

Motorola Droid 4 - RTC driver

With Debian up & running I had a look at what needs to be done in the mainline kernel. Tony is working on the ADC parts, which are required for the battery/charger work and mentioned he will have a look at USB. He also mentioned, that somebody with spare cycles could take care of CPCAP’s rtc & watchdog. I had a look at Motorola’s vendor kernel and as far as I can see CPCAP does not come with a watchdog (unlike twl4030/twl6040). Read more →

Motorola Droid 4 - Debian

In the last post I rooted the Droid 4 and installed LineageOS with SafeStrap as bootloader. Today I took care of getting the mainline kernel running and preparing a rootfs. After some communication with Tony I got the kexec stuff running (at the end the problem was my compiler generating binaries not suitable for Android). Instead of getting a compiler toolchain for Android I decided to rewrite the binary into a shellscript, so that no compiler is required. Read more →