User Tools

Site Tools


SoC (System on a Chip)

There is the perpetual endeavor of making the Linux kernel work on possibly any piece of hardware available. A part of this work takes place inside of projects like OpenWrt, but also inside of the companies that design, manufacture or vend the hardware respectively products based upon it. More or less of this work sooner or later ends gets mainlined, i.e. the code becomes part of the mainline Linux kernel.

Whereas of today we take it for granted to have wireless functionality as a convenience everywhere around us, in the beginning, it was a royal PITA. The IEEE 802.11 family of standards fired the imagination of what could be realized with it, BUT the available drivers for the Linux kernel were poorly written, lacked features or were non-existent. This is actually still true for some of the wireless hardware sold on the market. No matter how fantastic or potent it may be, its Linux drivers don't offer much.

From its foundation on OpenWrt has been focusing on CPE hardware such as routers or NAS, and much dedication was invested to support IEEE 802.11 as extensively as possible. Given that the initial hardware, the Linksys WRT54G, was sold about 400,000 times in the first months, it is safe to assume that the work done by the OpenWrt project had an impact.


Most SoC manufacturers license a (soft or hard) IP core for a certain CPU design from a licensor like MIPS or ARM, then combine this with other (self-developed or licensed) (soft or hard) IP cores for DSP-, wireless-, VoIP-, Sound-, Switch-, etc-functionality and commission the manufacturing of Chips at some semiconductor foundry. These Chips, SoCs, are acquired by different manufacturers of Routers. The latter design PCBs for whatever purpose and solder the purchased chips (SoC, RAM, Flash) onto them.

Company CPU IP for Mixed-signal integrated circuit
Intruction set license for own IP wired optical wireless
MIPS ARM Power Architecture other Ethernet DSL DOCSIS ? 802.11 WiMAX LTE
Broadcom MIPS32, MIPS64 ARMv6, ARMv7, ARMv8
Marvell (Intel) ARMv5 (XScale, Sheeva), ARMv6, ARMv7
Qualcomm (Atheros, ZyDAS) MIPS32 ARMv5, ARMv6, ARMv7 Ubicom32, Ubicom64
MediaTek (Ralink) MIPS32 ARMv5, ARMv6, ARMv7
Lantiq (Infineon, Texas Instruments) MIPS32
Samsung ARMv4, ARMv5, ARMv6, ARMv7
Texas Instuments ARMv5, ARMv6, ARMv7 TMS320
Ikanos (Conexant, Analog Devices) MIPS32, Lexra ARMv5, ARMv6
Realtek Lexra, MIPS32
Intel (Digital Equipment Corporation) (Texas Instruments) ARMv4 (StrongARM), ARMv5 (XScale), ARMv6 x86, x86-64, IA-64
AMD MIPS32, MIPS64 ARMv8? x86, x86-64
Apple ARMv7
Cavium Networks MIPS32, MIPS64 ARMv4
Vitesse Semiconductor
Applied Micro Circuits Corporation ARMv8
Maxim Integrated
Freescale Semiconductor ARMv5, ARMv6, ARMv7 Motorola 68000
Allwinner Technology ARMv5, ARMv7
Renesas Electronics MIPS64 ARMv7 SuperH ,M32R
Sony MIPS?
Toshiba MIPS?

Examples of devices with an exotic SoC

Linux support

Now that we have an overview over the companies that own/license semiconductor IP, let's have a look of the available support of their products in the mainline Linux kernel or in the OpenWrt Linux kernel. We don't much care about the Android Linux kernel or about heavily modified (and outdated) Linux kernels.


For mainlined Linux kernel-drivers for the


Each different OpenWrt platform represents a set of hardware that share certain common features, such as being part of the same family of SoCs. Depending on the semiconductor company that designs the SoC, a SoC-family can consist entirely of IP blocks that are all well-supported, maybe already mainlined. But it can also contain IP blocks, for that only raggedly written, feature-poor code exists, that would never be mainlined. Or IP blocks that are completely unsupported by the Linux kernel.

Qualcomm Atheros


Qualcomm Atheros AR5xxx boards (Atheros brand)


Qualcomm Atheros AR7xxx, AR9xxx and QCA9xxx boards

Lantiq / Infineon


Infineon/ADMtek ADM5120


Infineon WildPass ADM8668


XWAY, XRX200 SoCs with ADSL2+ and VDLS2 support in OpenWrt.


Ralink rt288x/rt305x/rt3883 Wireless Single Chip AP/Router SoCs



Broadcom 47xx boards


Broadcom 6338/6345/6348/6358/6361/6362/6368/6816 SoC. Working with no driver for the on-board DSL/VoIP on 6338/6348/6358


Still no support for these SoCs.

brcm2708 (= Raspberry Pi)

  • OpenWrt support is WIP
  • no, there are NO FOSS Linux drivers for the GPU. There is merely an open source wrapper for the closed source GPU driver


ARM-based bcm53xx and ARM-based bcm47xx SoCs:


Conexant/Ikanos Solos-W



Marvell MV88F518x/MV88F528x


Marvell MV88F61xx/MV88F62xx


Marvell Armada XP/370



Only 2 known devices (supported). Devolo dLAN USB Extender



Freescale MPC52xx


Freescale MPC83xx


Freescale MPC8xx



Freescale i.MX23 series


Freescale i.MX6 series

Oxford / PLXTECH / Avago


Oxford Semi OX82x / PLXTECH NAS782x

doc/hardware/soc.txt · Last modified: 2015/08/14 19:07 by tmomas