Allwinner A10 hardware notes############################- http://linux-sunxi.orgHardware Information====================The A10 is a system-on chip. There are many devices based on it, forexample the CubieBoard and the Rikomagic mk802 (versions I and II).- ARMv7 Architecture (Cortex-A8)- Mali 400MP GPU- CedarX VPU- SD Card Storage- 1GB RAM (DDR)- 4GB NAND Flash- Video Outputs- HDMI Video Output- Ethernet- USBSetting up the Haiku SD card============================Not so fun layout here. The A10 boot ROM reads raw blocks from the SDcard (MBR style), so the bootloader canβt just be dropped in a FAT32partition.- 8KB partition table- 24KB SPL loader- 512KB u-boot- 128KB u-boot environment variables- 352KB unused- partition 1 β FAT32 or ext2 (anything u-boot can read is fine)- partition 2 β BeFS, Haiku filesystem, type βebβNote this layout can be a bit different depending on the u-boot versionused, some versions will store the environment in uEnv.txt in the FAT32partition instead. Since everything is loaded from the SD Card, we arefree to customize the u-boot or even remove it and get haiku_loaderbooting directly.Boot Partition--------------Required Files~~~~~~~~~~~~~~- haiku_loader: Haiku Loader- haiku-floppyboot.tgz: Compressed image with Haiku kernelBooting=======1. SOC load SPL2. SPL loads u-boot3. u-boot loads and run the kernelSPL is a small binary (24K) loaded from a fixed location on the SD card.It does minimal hardware initializations, then loads u-boot, also fromthe SD card. From there on things go as usual.In the long term, we can make haiku_loader be an SPL executable on thisplatform, if it fits the 24K size limit, or have a custom stage1 thatloads it. For now, u-boot can be an useful debugging tool.Script.bin----------In order to work on different devices (RAM timings, PIO configs, β¦), theLinux kernels for Allwinner chips use a βscript.binβ file. This isloaded to RAM at a fixed address by u-boot, then the Kernel parses itand uses it to configure the hardware (similar to FDT).We should probably NOT use this, and convert the script.bin file to anFDT instead. The format is known and there are tools to convert thebinary file to an editable text version and back (bin2fex and fex2bin).This FEX stuff isnβt merged in mainline Linux, and lives on as Allwinnerpatches. The mainline Linux kernel has some A10 support, rewritten touse FDT. We may use the FDT files from there for the most common boards.Emulation support=================qemu 1.0 has a Cubieoard target which emulates this chip.Useful links============Arch Linux instructions on creating a bootable SD card (partitionlayout, etc)http://archlinuxarm.org/platforms/armv7/allwinner/cubieboard#qt-platform_tabs-ui-tabs2Linux SunXi: mainline Linux support for the Allwinner chips. Lots ofdocs on the hardware. https://linux-sunxi.org/