I’m always very confused when it comes to comparing GPUs in different SoCs, and I could not really find comparisons on the web, so I’m going to give it a try even though, as you’re going to find out, it’s actually quite a challenge. There are mainly 4 companies that provide GPUs: ARM, Imagination Technologies, Vivante and Nvidia. [Update: Two comments mentioned Qualcomm Adreno and Broadcom VideoCore are missing from the list. Maybe I’ll do an update later]. Each company offers many different versions and flavors of their GPU as summarized below. ARM Imagination Technologies Vivante Nvidia Mali-400 Series: Mali-400 MP Mali-450 MP Mali-600 Series Mali-T604 Mali-T624 Mali-T628 Mali-T658 Mali-T678 PowerVR SGX Series 5: SGX520 SGX530 SGX531 SGX535 SGX540 SGX545 PowerVR SGX Series 5XT: SGX543MP1-16 SGX544MP1-16 SGX554MP1-16 PowerVR SGX Series 6: G6200 G6230 G6400 G6430 G6600 2D graphics: GC300 GC350 3D graphics: GC400 GC800 GC1000 GC2000 GC4000 ULP GeForce (Tegra […]
Your New ARM SoC Linux Support Check-List – ELCE 2012
Thomas Petazzoni, embedded Linux engineer and trainer at Free Electrons, describes the steps he followed to add a new Marvell SoC to the mainline kernel at ELCE 2012. Abstract: Since Linus Torvalds raised warnings about the state of the ARM architecture support in the Linux kernel, a huge amount of effort and reorganization has happened in the way Linux supports ARM SoCs. From the addition of the device tree to the pinctrl subsystem, from the new clock framework to the new rules in code organization and design, the changes have been significant over the last one and half year in the Arm Linux kernel world. Based on the speaker’s experience on getting the support for the new Marvell Armada 370 and Armada XP SoC support in the mainline Linux kernel, we will give an overview of those changes and summarize the new rules for ARM Linux support. We aim at […]
Device Tree and its Stumbling Blocks – ELCE 2012
Wolfram Sang, kernel developer for embedded systems at Pengutronix, talks about Device trees and conflicts and pitfalls he experienced as a kernel developer and I2C subsystem maintainer. This is one of several talks about Device trees at ELCE 2012. Abstract: Since ARM started to use device trees, their impact on various subsystems in the kernel has been increasing significantly. Because they became the de-facto standard, everybody wants them soon. Because they need a ton of conversions and adaptions, a lot of questions are still unresolved. This carries potential for conflicts.Wolfram has dealt with device trees already on PowerPC and still does on ARM. Additionally, he co-maintains the I2C subsystem which is affected by device tree conversions, too. Knowing both sides, as developer and as maintainer, he will talk about stumbling blocks experienced so far, e.g. typical pitfalls when inventing bindings or the high pace. A number of examples will be […]
Piglit OpenGL Driver Testing Framework Now Works with ARM Linux & OpenGL ES
Piglit is a collection of automated tests for OpenGL implementations that aims at improving the quality of open source OpenGL drivers by providing developers with a simple means to perform regression tests. ARM SoCs that come with a GPU usually (always?) supports OpenGL ES however. That’s why, Tom Gall (Linaro) has modified Piglit in order to bring this test suite to ARM Linux and OpenGL ES. There are about 6,900 OpenGL tests in Piglit, and currently 1,047 Piglit (OpenGL ES) tests can run on ARM . Tom also explains that piglit developers are now using waffle, a cross-platform C library that allows one to defer selection of GL API and window system until runtime. This will allow your to select the variation of the GL API (GL, GL ES) and windowing system (X11, Wayland…) you want to use at runtime. The code is still heavily modified, but it’s in the […]
Build Your Own Freescale i.MX6 Quad Laptop
Andrew Huang (“Bunnie”) and others have been working on an open source laptop based on Freescale i.MX6 Quad processor since June, and they’ve recently got the motherboard. Beside featuring a powerful quad core ARM processor, the design files are also provided, so if you have the right skills and resources you can build it yourself. The open source laptop mainboard (Codename: Novena) has the following specifications: SoC – Freescale iMX6 Quad @ 1.2GHz with Vivante GC2000 GPU System Memory – 64-bit DDR3-1066 SO-DIMM, upgradable to 4GB Storage – microSD boot flash, SATA-II connector for hard drive / SSD, SD card reader and serial EEPROM (for storing crash logs and other bits of handy data). FPGA – Spartan-6 CSG324. It has several interfaces to the CPU, including a 2Gbit/s RAM-like bus. Internal ports & sensors: mini PCI-express slot UIM slot for mPCIx mobile data cards Dual-channel LVDS LCD connector (up to […]
Linux 3.7 Release
Linus Torvalds has announced the release of Linux Kernel 3.7: Whee. After an extra rc release, 3.7 is now out. After a few more trials at fixing things, in the end we ended up reverting the kswapd changes that caused problems. And with the extra rc, I had decided to risk doing the buffer.c cleanups that would otherwise have just been marked for stable during the next merge window, and had enough time to fix a few problems that people found there too. There’s also a fix for a SCSI driver bug that was exposed by the last-minute workqueue fixes in rc8. Other than that, there’s a few networking fixes, and some trivial fixes for sparc and MIPS. Anyway, it’s been a somewhat drawn out release despite the 3.7 merge window having otherwise appeared pretty straightforward, and none of the rc’s were all that big either. But we’re done, and […]
AllWinner A10s Processor Overview
Between the AllWinner A10 and AllWinner A13 processors, there’s now an alternative. AllWinner A10s is based on AllWinner A13 architecture (sun5i), but adds HDMI and Ethernet MAC which makes it suitable for mini PCs and set-top boxes. The first time I heard about this processor was in August with IP878 mini PC, and in October, one reader (Alex) informed me AllWinner had posted more details about his new processor. Here are the key features of this (relatively) new SoC: CPU/GPU – ARM Cortex-A8 Core with 32KB D-Cache/ 32KB I-Cache / 256KB L2 Cache, and Mali-400 VPU HD Video Decoding 1080p@30fps of VP8/6, H.264/H.263, WMV9/VC-1, WMV7/8, MPEG-4/2/1, Xvid codecs HD Video Encoding 1080p@30fps with H.264 codec Video Out – HDMI 1.4 (1080p), Memory Up to 1GB DDR2/DDR3 up to 533MHz (16/32 bits Data Bus) MLC/TLC/SLC/EF-NAND ECC 64-bit Peripherals: USB2.0 OTG, USB2.0 HOST (OHCI/EHCI) SD Card V.3.0, eMMC V.4.2 SPI, TWI and […]
Big.LITTLE Processing Implementations and Current Status
There was a big,LITTLE mini-summit during Linaro Connect Europe 2012, where an update was given on current big.LITTLE implementations and the results of measurement of power vs performance. Big.LITTLE Processing Implementations Overview As briefly mentioned in “Versatile Express TC2 (2xA15, 3xA7) Development Board at ARM Techcon 2012“, there are 2 big.LITTLE implementations: In-kernel switcher (IKS) This implementation is already available through Linaro and only required minimal changed to the kernel as it mainly an augmentation to DVFS (Dynamic Voltage and Frequency Scaling) except instead of only adjusting voltage and frequency depending on the load, it will also move the load to different cores. The main drawback is that this implementation only uses half the cores. For example, on a 2x Cortex A15 / 2x Cortex A7 system, it can only use 2 cores at the same time (either A15 or A7 cores), as the load is managed between one type […]