Main Page

Sunxi represents the family of ARM SoC (System on Chip) designed for embedded systems, and made by Allwinner Tech. in Zhuhai (Guangdong, China). The most popular sunxi SoC model is the Allwinner A10 ( sun4i ) and the Allwinner A13 ( sun5i ). Their predecessor was an ARM9 named Boxchip F20 ( sun3i ) and their successors are A20 ( sun7i ) and Allwinner A31 ( sun6i ).

This wiki is dedicated to software and hardware documentation related to hacking sunxi based devices and to the devices themselves and is maintained by the arm-netbook community.

= Allwinner sunxi series SoC family =
 * Boxchip F20 (sun3i) (Single-Core ARM926-EJS)
 * Allwinner A10 (sun4i) (Single-Core Cortex-A8)
 * Allwinner A10s (sun5i) (Single-Core Cortex-A8)
 * Allwinner A13 (sun5i) (Single-Core Cortex-A8)
 * Allwinner A20 (sun7i) (Dual-Core Cortex-A7)
 * Allwinner A31 (sun6i) (Quad-Core Cortex-A7)

Common features:

 * CPU: Cortex-A7 (ARM v7) or Cortex-A8 (ARM v7) Central Processor Unit which have NEON, VFP, TrustZone, and Thumb-2 co-processor extensions:
 * Advanced SIMD: NEON (ARM's extended general-purpose advanced SIMD vector processing extension engine)
 * Vector FPU: Vector Floating Point Unit - standard ARM VFPv3 / VFPv4 VFPU (Vector Floating Point Unit)
 * Security Extensions: TrustZone cryptographic engine and security accelerator supporting AES, DES, 3DES, SHA-1, and MD5
 * Thumb2 intruction set extension for optimized code to reduce memory footprint and improve performance
 * GPU: Mali400 or SGX544 Graphics Procesor Unit, supporting OpenGL ES and Framebuffer
 * VPU: CedarX (Video Processor Unit for audio and video hardware decoding or encoding)
 * HDMI-transmitter with HDMI CEC (Consumer Electronics Control), (with exception of A13 which lacks HDMI-transmitter and SATA-controller )

HOWTOs
This wiki includes some fine tutorials. Feel free to improve them if they turn out to be not so fine or outdated.

The support for sunxi devices is still under development so things may change quite rapidly at times.

Software

 * The first steps: Getting u-boot, a kernel, and a rootfs on an SD card.
 * Bootable OS images: alternatively, you can use a complete ready-to-use SD card image.
 * Mainlining Effort goals and sub-goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel
 * linux kernel for sunxi (Allwinner A1x) SoCs
 * u-boot boot loader
 * sunxi-tools (tools to help hacking sunxi devices)
 * mksunxiboot (tool to help making bootable µSD cards for sunxi devices)
 * KernelArguments Configure kernel paramaters in bootloader script
 * Linux Distributions
 * Arch Linux
 * Ångström Distribution
 * Buildroot
 * Debian
 * Fedora
 * Gentoo
 * Linaro
 * Mer
 * OpenEmbedded
 * Ubuntu ...
 * Closed Software
 * PhoenixCard
 * LiveSuit
 * LiveSuit images
 * Binary drivers: Information on how to set up the mali-400 GPU and CedarX Media decoder.
 * Oracle Java
 * Android (operating-system)
 * Starting_a_CyanogenMod_device_tree
 * CWM_on_a_SDCard
 * CryptoDev can utilize TrustZone to hardware accelerate SSL and TLS through crypto libraries such as OpenSSL, GnuTLS, and more.
 * XBMC media center application with 10-foot GUI for remote control interface
 * VLC media player application with 2-foot GUI for keyboard/mouse interface
 * Tvheadend TV Tuner Server and PVR backend (compatible with XBMC's PVR client)
 * LIRC (Linux Infrared Remote Control) for the IR receivers and and remotes
 * IR
 * USB Gadget: Using the device USB or USB-OTG port for things like serial, networking, etc...

Generic Hardware Hacking of Allwinner SoCs:

 * JTAG on A10 devices through µSD port
 * UART - Universal Asynchronous Receiver/Transmitter on devices based on Allwinner SoCs
 * GPIO - General Purpose Input/Output on devices based on Allwinner SoCs
 * SPI - Serial Peripheral Interface Bus on devices based on Allwinner SoCs
 * PIO - Programmed input/output (PIO) on devices based on Allwinner SoCs
 * MicroSD Breakout
 * Audio Codec - Audio Codec on devices based on Allwinner SoCs
 * Cpufreq - cpufreq support on devices based on Allwinner SoCs
 * Benchmarks
 * Wifi - 8192cu dropping connection workaround
 * A10/Template:NFC_data
 * A10/disp - Display register guide

Featured Community Hardware:

 * EOMA68-A10
 * RhombusTech aims to create an Open Hardware EOMA68 compliant CoM with an Allwinner A10 CPU inside to be the user replaceable heart of different devices.


 * Cubieboard
 * A mini (10x6cm), hacker friendly, extendable and very low-cost while powerful ARM board with A10.


 * Hackberry
 * An alternative low-cost board to cubieboard with very similar hardware and integrated wifi, but with less external headers.


 * pcDuino
 * An alternative low-cost board to cubieboard with with Arduino Compatible Headers.

Open Source Hardware:

 * A13-OLinuXino
 * Open Hardware SBC with an Allwinner A13 CPU inside developed by Olimex with 512MB RAM, 4GB NAND Flash, VGA, Audio In/Out, WIFI, 3x USB Hosts, USB-OTG, LiPo, SD-card, 72 GPIOs, 6-16VDC power input


 * A10-OLinuXino
 * Open Hardware SBC with an Allwinner A10 CPU inside developed by Olimex with 1GB RAM, 4GB NAND Flash, VGA, HDMI, RS232, JTAG, SATA, 100MBit Ethernet, SD and micro-SD cards, 2x USB hosts, USB-OTG, LiPo, 132 GPIOs, 6-16VDC power input