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 →


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 →

Collabora & Linux Kernel 4.13

Linux kernel v4.13 was released and - like in the v4.12 release - 12 Collabora developers contributed a total of 72 patches. In addition Collabora developers provided 25 Reviewed-by tags and 10 Tested-by tags. Furthermore 83 patches received a Signed-off-by tag from Collabora peoples. Again, general information about the merge window is available by in form of the following articles: part 1 and part 2. Now here is a look at the specific changes made by Collaborans. 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 →


This year the annual European Hacker camping event took place in the Netherlands. I have been there together with 12 fellow people from my hackerspace and we had fun again. This time we came better prepared than at the last German CCC camp (2015), which was a good thing since we had a lot more rain. We had a nice time with a wired dual GBit ethernet internet connection to our village, decent power supply, a big tent with benches and tables for day activities, a few fridges and lots of food. Read more →

Device Tree Overlays

In my local hackerspace I maintain a Raspberry Pi based system with some hardware extensions (mainly I2C devices). It’s running with Debian’s kernel and a patched device tree for the additional hardware components. This is the ideal candidate for DT overlays, so that I can use the DT blob provided by Debian and automatically apply the custom changes in top. With DT overlays from configfs still not being available I thought about giving the U-Boot “fdt apply” command added by Maxime Ripard from Free Electrons a chance. 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 →

I2C kernel driver testing using virtme

The last few days I worked on the MCP23017 kernel driver and wondered about a good method to test my changes in a comfortable way. Fortunately I built myself an i2c-tiny-usb adapter some time ago, which is supported by mainline Linux. Thus any system with USB host support could be used for testing the above chip. My minimal test-setup can be seen in the image below. Basically I supplied 5V, Ground, SCL & SDA from the adapter to MCP23017, connected the low-active reset pin to 5V and the address-selection pins to Ground. Read more →

Hiking West Highland Way

I recently walked the West Highland Way, which is already described extensively on lots of webpages. In contrast to most suggestions I walked in the first April week to avoid scotland’s midges. Also I did not travel from hotel to hotel or even campsite to campsite, but with a backpack providing all resources for approx. 10 days and did wild camping near the trail.

Read more →

I2C on RPi

Back in January I wrote about the Raspberry Pi’s I2C module having problems with a specific I2C feature: clock stretching. The planned workaround was using a NXP SC18IS600, since Cypress CP2120 only comes in a QFN package. I received the chips some time ago and use it since a month for our hackerspace’s access control system. Unfortunately the Linux kernel only came with a driver for NXP SC18IS602, which does the the other direction (I2C -> SPI). Read more →