Show pagesourceOld revisionsBacklinksBack to top × Table of Contents SoC (System on a Chip) Companies Examples of devices with an exotic SoC Linux support Platforms Qualcomm Atheros Lantiq / Infineon MediaTek / Ralink Broadcom Hisilicon Ikanos Marvell Moschip Realtek Rockchip Freescale Oxford / PLXTECH / Avago SiFive Allwinner Unsupported SoCs SoC (System on a Chip) The perpetual effort to make the Linux kernel work on any piece of hardware available is ongoing. This work takes place within projects like OpenWrt and also within companies that design, manufacture, or sell hardware and products based on Linux. Much of this work eventually gets mainlined, meaning the code becomes part of the mainline Linux kernel. Today, we take wireless functionality for granted, but in the beginning, it was a real challenge. The IEEE 802.11 family of standards inspired what could be achieved, but the available Linux kernel drivers were poorly written, lacked features, or didn't exist. This is still true for some of the wireless hardware on the market today. No matter how fantastic or powerful a device may be, its Linux drivers offer limited functionality. Since its founding, OpenWrt has focused on customer premise equipment (CPE) hardware such as routers and NAS devices, dedicating much effort to supporting IEEE 802.11 as extensively as possible. Given that the initial hardware, the Linksys WRT54G, sold over 400,000 units in its first months, it's safe to say that the work done by the OpenWrt project has had an impact. Companies 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 GPON 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 Hisilicon ARMv? 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, ARMv8 Renesas Electronics MIPS64 ARMv7 SuperH ,M32R Sony MIPS? ✔ Toshiba MIPS? SiFive RISC-V 2002-04-29: AMD Adopts MIPS Technologies’ 64-BIT Architecture Examples of devices with an exotic SoC Cavium CNS1202: Cisco RVS4000 v2 Mindspeed Comcerto-SoC: ZyXEL NBG5715 Qualcomm Ubicom32: D-Link DIR-657 HD Media Router 1000 Conexant/Ikanos CX94610-11Z: Xavi 7968 Freescale MPC85xx PowerQUICC III P1014@800MHz TP-Link TL-WDR4900 v1, v1.3 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. TODO For mainlined Linux kernel-drivers for the IEEE 802.3 (Ethernet) cf. ? E.g. BCM63xx codebase with GPL'd Ethernet and USB support proves, that sometimes FOSS drivers for Ethernet NICs are not available. IEEE 802.11 cf. Comparison of open-source wireless drivers and http://wireless.kernel.org/en/users/Drivers DSL is a Layer1 protocol; as Layer2 protocol usually ATM is employed. Cf. PPPoEoA vs. PPPoE to PPPoA. Long story short, we require support for ATM in the Linux kernel: /net/atm/Kconfig Documentation/atm.txt For the Lantiq xDSL support cf. soc.lantiq. Any better sources? FOSS support for the Broadcom DSL-IP does not exist. FOSS support for the Ikanos/Conexant DSL-IP does not exist. Platforms 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 ar5xxx Qualcomm Atheros AR5xxx boards (Atheros brand) → soc.qualcomm.ar5xxx ar71xx Qualcomm Atheros AR7xxx, AR9xxx and QCA9xxx boards → soc.qualcomm.ar71xx ipq40xx → soc.qualcomm.ipq40xx ipq806x → soc.qualcomm.ipq806x msm not supported / removed from Linux in March 2015 Lantiq / Infineon adm5120 Infineon/ADMtek ADM5120 → soc.adm5120 adm8668 Infineon WildPass ADM8668 → soc.adm8668 AR7 TNETV1050, TNETD7200, TNETD73XX SoCs with ADSL2+ support. → soc.ar7 Lantiq XWAY, XRX200 SoCs with ADSL2+ and VDLS2 support in OpenWrt. → soc.lantiq MediaTek / Ralink In OpenWrt, all MediaTek/Ralink SoCs are merged under the target ramips, see MediaTek-Ralink ramips soc.mediatek Broadcom brcm47xx Broadcom 47xx boards → soc.broadcom.bcm47xx bcm63xx Broadcom 6338, 6345, 6348, 6358, 6361, 6368, 63168 among other SoCs. Working with no driver for the on-board DSL/VoIP → soc.broadcom.bcm63xx bcm33xx Minimal support for some of these SoCs. → soc.broadcom.bcm33xx 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 bcm53xx ARM-based bcm53xx and ARM-based bcm47xx SoCs: → soc.broadcom.bcm53xx Hisilicon hi35xx → soc.hisilicon.hi35xx Ikanos Conexant/Ikanos Solos-W Boards based on the CX94610 SoCs. → https://oldwiki.archive.openwrt.org/toh/xavi/xavi_7968 → wag54g2 Marvell orion Marvell MV88F518x/MV88F528x →soc.marvell kirkwood Marvell MV88F61xx/MV88F62xx →soc.marvell mvebu Marvell Armada XP/370 →soc.marvell Moschip mcs814x Only 2 known devices (supported). Devolo dLAN USB Extender Realtek → Realtek Rockchip → Rockchip Freescale mpc52xx Freescale MPC52xx →soc.freescale.mpc mpc83xx Freescale MPC83xx →soc.freescale.mpc mpc85xx Freescale MPC8xx →soc.freescale.mpc imx21 broken: https://dev.openwrt.org/changeset/35487 imx23 Freescale i.MX23 series →soc.freescale.imx imx6 Freescale i.MX6 series →soc.freescale.imx Oxford / PLXTECH / Avago oxnas Oxford Semi OX82x / PLXTECH NAS782x →soc.oxnas SiFive → SiFive Allwinner sunxi A10/A10s/A13/A20/A23/A31/A33/A64/A80/H3/H5/H8 →soc.allwinner.sunxi Unsupported SoCs Realtek RTL8196C is unsupported, see Lexra Ubicom is not supported QCA msm arch was removed from Linux mainline and is unsupported. This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2023/03/05 11:55by openwart