Fairphone 3 - Interview of Bas from FrAndroid

There’s a bigger problem with swapping SoCs: their pin-out. Where in desktop PCs there are several generations of processors using the same socket (eg. Intel LGA 1151, AMD AM4), SoCs can’t do this. The smaller die area means there’s only a limited number of pins available on SoCs, making it:

  • harder to reserve some for future use, because there are none to reserve.
  • harder to reserve pins for specific features across generations of SoCs, because routing overhead on the chip itself as a result of moving IP around can prove prohibitive in terms of timing and power-consumption.

As for the software side of things: few people appreciate the hard work of the Linaro organisation to try and solve this. Qualcomm actually has decent support for most of their hardware upstream (with help from Red Hat), which means that a single Linux kernel can serve multiple SoCs without limitations. Google is playing its part in trying to make the open source software stack play nice with Android. Unfortunately, the big missing piece of the puzzle is an upstream device driver for the “GSM”-modem. For security and competition reasons I suspect Qualcomm is not keen on releasing an open source variant of it. But if they provide a closed-source baseband driver for an upstream kernel, there’s no software limitations that prevent swapping out only the SoC.

10 Likes