AMLogic Releases U-Boot and Updated Linux Kernel Source Code

AMLogic released kernel 3.0.8 source code for AML8726-MX a few months ago, and yesterday they provided an updated tarballs with the kernel, and for the first time, AFAIK, released the source code for U-Boot. There are 4 new files apparently generated from the (internal) git repository in AMLogic: common-2012-11-20-git-b687495906.tar.gz  (108M) – This is the same kernel 3.0.8 release has last time, but with updated code. m1-kernel-android-2012-11-20-git-5d0f6b8e93.tar.gz (103M) – This looks like an older kernel 2.6 for AML8726-M1 only. uboot-master-2012-11-20-git-9b50e9a295.tar.gz (16M) – U-Boot 2010.06 possibly to use with the older 2.6 kernel. Only for M1 & M3 platforms. uboot-next-2012-11-20-git-b0e532795a.tar.gz (40M) – U-Boot 2011.03 for use with M3 and M6 platforms. I’ve already explained how to build the kernel in the previous post, so I’ll focus on U-Boot this time. Ubuntu 12.04 arm-linux-gnueabi- toolchain fails to build U-Boot (uboot-next), so you’ll have to install Sourcery toolchain instead: wget http://openlinux.amlogic.com/download/linux/ARM/gnutools/arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 tar xjvf arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 […]

Freescale i.MX6 Resources: Development Boards, Documentation, Source Code and Tools

Reader “Mark” recently left a comment saying the NDA on Freescale i.MX6 resources was lifted and documentation and source code were now available for the platform. So it’s time for me to look into it, and provide an overview of Freescale i.MX6 features, list available development platforms, and have a closer look at the documentation, source code and tools for the platform. Freescale i.MX6 Processors In 2011, Freescale initially announced 3 processors in the i.MX6 series for consumer, industrial and automotive markets, but added 2 lite SoC in 2012, and there are now 5 members in the family: Freescale i.MX6SoloLite – Single Cortex A9 processor up to 1 GHz with 256KB L2 Cache, 32-bit DDR3 and LPDDR2 memory support, and 2D graphics accelerator (Vivante GC355 + GC320) Freescale i.MX6Solo – Single Cortex A9 core up to 1 GHz with 512KB L2 Cache, 32-bit DDR3 and LPDDR2 memory support, and 2D & […]

Learn How to Write a Driver for Linux 3.x With The Linux Driver Template

A Linux Driver Template (LDT) has been published to help new Linux kernel developers writing hardware device drivers. Constantine Shulyupin posted the Linux Driver Template (LDT) on the Linux mailing list in order to merge it into the mainline Linux kernel. The code can be used as as a starting point for new drivers, and shows how to use several Linux facilities such as  module, platform driver, file operations (read/write, mmap, ioctl, blocking and nonblocking mode, polling), kfifo, completion, interrupt, tasklet, work, kthread, timer, simple misc device, multiple char devices, Device Model, configfs, UART, hardware loopback, software loopback and  ftracer. This sample has been added to other device drivers samples in eLinux.org. And if you want to learn further there’s always the Linux driver bible: “Linux Device Drivers, Third Edition” which can be downloaded for free as PDF, although it’s for 2.6.10 kernel and many parts may not be up-to […]

XBMC for Linux on AllWinner A10 Devices? It Works! (Sort of)

Following the lack of support by AllWinner for the video engine libraries (CedarX), I had more or less given up on hope XBMC for Linux would ever run properly on AllWinner A10/A13 hardware. But recently, I found out some progress had been made using existing libs, and saw the Pengpod Tablet video showing XBMC running in Linux fairly smoothly. So I decided to cross-compile XBMC by following the instructions available at http://linux-sunxi.org/XBMC and trying to run it in Linaro ALIP 12.04 rootfs in my Mele A1000. Finally, I managed to cross-compile XBMC, but the performance was very poor in the GUI (6 to 12 fps) and I was unable to play videos and my serial console was flooded with messages like:

[Update: I managed to have XBMC Linux running & playing videos on Mele A1000 by using j1nx image (rootfs + kernel). I would first exhibit the exact same […]

Getting Started with 64-bit ARM Development: Hello World and Linux on ARMv8 Fast Models

At the end of last year, ARM announced ARMv8, the first ARM 64-bit ARM archtecture, and last week at ARM Techcon 2012, ARM announced the first ARMv8 cores: Cortex A53 and A57. But since there’s no silicon at the moment, what if you wanted to develop code running on ARMv8 before the hardware is available? The answer is: Fast Models, a Virtual Platform (VP) to accelerate software development. This is especially important for ARMv8 since hardware is not expected to be available for another year. In this post, I’ll first show how to run “Hello World!” in ARMv8 fast models, then we’ll run ARM Linux 64-Bit (Aarch64) in the virtual platform. ARMv8 Foundation Model In order allow the developer’s community to program for ARMv8 (Cortex A53/A57 cores), ARM has made ARMv8 Foundation Model, a virtual platform, available free of charge. This v8 Foundation model provides a basic ARMv8 platform environment […]

Rockchip RK3066/RK30xx Processors Documentation, Source Code and Tools

Rockchip RK3066 (part of RK30xx family) is a Chinese dual ARM Cortex A9 SoC targeting multimedia products such as tablets (e.g. Cube U30GT), mini PC (e.g UG802, MK808) and in theory set-top boxes, but I can’t find any products based on this Rockchip processor. It seems mini PCs/ HDMI TV sticks have taken over this market. RK3066 Processor The processor features two ARM Cortex A9 clocked at up to 1.6 Ghz with a quad core Mali-400MP GPU. It can support 1080p (3D) encoding/decoding, provides HDMI 1.4a, VGA, composite, component and LVDS video outputs (Dual display support),  USB 2.0 Host and OTG ports, a MAC interface (Ethernet), and much more… Here are the key features of Rockchip RK3066 processor: Dual Core A9 + Quad Core Mali-400MP GPU 2 banks, 8/16 bit Nor flash / SRAM interface 8 banks, 8/16 bit async NAND flash, LBA NAND flash and 8-bit sync ONFI NAND […]

WM8850-MID Tablet Firmware Files and Root Instructions

I’ve bought a noname tablet described as W8850-MID in the Android Settings that did not come rooted, and after several attempts trying to find how to root the tablet I had more or less given up, as tools such as UnlockRoot or OneClickRoot did not work with the device. After not using my tablet for 2 months, I started it again, but it just showed the Android animation forever, and failed to boot to the home screen. So I had to do something and finally managed to find firmware files for the device and root it. I’ll explain the whole process I went through in this post, but basically all you have to know is that if you have the same WM8850-MID tablet as I have (WM8850_MID7_PuZhi_W01_8223), it is fully compatible with Eken W70 and you can just install the latest W70 firmware (v1.10) from Eken support site that comes […]

Building Kernel Modules for AllWinner A10 Android Devices (e.g. Joystick Support)

Reader JP has enabled Joystick support in Android 4.0.4 on its Mele A1000, this now works with a Playstation2 joystick via USB adapter, a Huskee PC joystick, and 2 other unbranded joysticks. In order to enable Joystick support he had to build a kernel module, and encountered a few issues, so he wrote an how-to which shows what challenges he went through and what solutions he found to those issues.I’m sharing today a slightly edited version of this how-to. This How-to assumes that you have a valid Linux environment where you can build allwinner A10 kernel. The toolchain used was “Sourcery CodeBench for ARM GNU/Linux Lite“ which can be downloaded here: http://www.codesourcery.com/sgpp/lite/arm/portal/package7853/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi.bin To install it, simply run:

You’ll also need the latest Allwinner A10 kernel source:

Then follow the usual procedure:

I then selected the modules needed for different kind of joysticks namely:

I saved the […]

Exit mobile version