(@moderators: Could you please add this post as a comment to my original topic? As I will also need to update the instructions, could you give me write permissions to modify that original topic? Thanks! )
Do you hear that? It is the sound of a Fairphone 1 running Android Lollipop 5.0 and playing music And the best part? It is fully FOSS
I wrote a new kernel driver for the Fairphone 1 audio system using the ALSA SoC platform and paired it in user space with one of the already existing audio HALs for ALSA SoC (for the time being I just modified the audio HAL for the Samsung Galaxy 3 from CyanogenMod 11.0, but I am still studying other options). It was way harder than I initially expected, as the original MediaTek kernel driver turned out to be just a rather thin wrapper for the hardware while most of the logic is done in their proprietary user space binary blobs (and besides not having access to the source code I obviously had no access either to a hardware datasheet), and the original Linux 3.4 kernel lacked several ALSA SoC features that I had to backport too.
But enough with the details; the important thing is that audio playback works now I have not uploaded yet the changes to my repository, because I still have to clean up the code, solve some issues and settle on the audio HAL implementation to adapt, but I will try to do it in the next days; I will update the original instructions when everything is ready.
You may have noticed that I have been talking about audio playback, but not audio capture (recording). Well, as you may suspect that is because I have not implemented audio capture yet There is nothing special about capture, though; I have not implemented it due to a lack of time (reverse-engineering, even a basic one, is very time consuming ), but it would be just a matter of extending the new kernel driver and the audio HAL implementation. However, I do not know when I will be able to do that, as I must focus on other important real life commitments, like finding a job Anyway, I am probably the only person ever that will use this system, so I am not in a hurry