One of the latest board we’ve been playing with is the new STE U8500.
The U8500 is a smartphone platform created by ST-Ericsson, offering a dual ARMv7-A Cortex A9 core, with strong hardware decoding power and ARM Mali 400 GPU.
More about it’s features:
* Full HD 1080p camcorder, multiple codecs supported via OMX (H264 HP, VC-1, MPEG-4)
* High-resolution, touchscreen display support up to XGA
* Simultaneous dual display support
* High performance 3D graphics, support for OpenVG 1.1 and OpenGL ES 2.0
* Dual camera support with Integrated ISP 18 Mpixel and 5 Mpixel
* Wi-Fi, Bluetooth and GPS enabled platform
* Built-in USB 2.0, HDMI out
* Highly efficient, low-power ARM dual Cortex™- A9 processor
* Dual multimedia DSP for low-power, flexible media processing
* High-bandwidth LP-DDR2 interface
* ARM Mali™ 400 GPU and NEON®CPU extensions
Now, about the things that interest me the most, the current status in Linux in general:
The kernel we’ve been working on is a vendor’s based one, using 2.6.29 as base. With this kernel we have many features implemented, like blitter support, framebuffer, hdmi output and many more.
At upstream side, the code is just starting to be merged, and you can see already some basic commits going on linux-2.6, like commits 1, 2, 3, 4 and 5. STE seems to be doing a great job on getting the changes upstream, since it’s the only feasible way to make it supported in mid, long term in linux. So expect more changes at 2.6.34 and 2.6.35.
Similar with the kernel, we’re also using a custom vendor’s version. They’re just starting to make the support upstream, and you can find the patch series here.
Once we get the basic U-Boot and Linux support upstream, we can start working directly with mainline, fixing and improving it when needed.
Since we got the board we’ve been playing on supporting many different Linux platforms, and optimizing the basic Linux OS core to be commonly used by different distros.
We started with Maemo 5, as a proof of concept, and we got it up and running with a very good performance and hopefully soon we’ll be able to share more details.
OE Angstrom/Mamona is very easy to support, since we just need to create the machine configuration and use the same compilers already used by other ARMv7 architectures.
Personally I started testing Ubuntu Lucid release, and just got the very basic support, with a custom and simple image. Ubuntu is now a very good option since it’s targeting ARMv7 platforms, with compiler optimizations and Thumb2 support. NEON support is not included by default, but you can support it by compiling specific components by hand. For more information please check at ubuntu wikipage.
Meego also boots and runs fine at this platform, but since it’s just a basic OS ATM (armv5 only), doesn’t have anything interesting to play with.
Besides platform support, we’ve been working on creating the hardware accelerated X server video driver, to use EXA, DRI2 and Xvideo with overlay. Once we get it all running we can easily use it in any Linux distro we want, and X we’ll be accelerated by default.
Now the important question, where’s the code?
STE still didn’t deliver the main software in public, so we can’t just release the Kernel, U-Boot and other development that requires support from these software components. But this is changing, and I believe that very soon we’ll be able to get most of the things in public, so others can download and test if needed.
In the next posts I’ll be showing more about the status of these distros on this hardware, also showing the performance and demonstrating it.
Board I’ve being playing on:
root ~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 1 (v7l)
processor : 0
BogoMIPS : 1199.30
processor : 1
BogoMIPS : 1199.30
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc09
CPU revision : 1
Hardware : ST Ericsson U8500 Platform
Revision : 0000
Serial : 0000000000000000
Links and videos about U8500:
* ST-Ericsson U8500
* ST-Ericsson U8500: PlayStation controller, PlayStation grap
* U8500 3D Video