====== Imagination CI20 reference board ====== NOTE: this is a work in progress! ===== Overview ===== The CI20 reference board from Imagination Technologies contains: * Ingenic JZ7480 * 1GB RAM * (TODO) ===== What's working ===== * SMP * USB1 * Basic NEMC bus, required for ethernet and NAND * Ethernet * Serial console There are apparently multiple UARTs on this board -see http://elinux.org/CI20_Hardware#Dedicated_UART_header for the console uart (uart4). ===== Workspace ===== * https://github.com/akabaev/freebsd ; branch 'kan-ci20'. ===== Building FreeBSD ===== * make TARGET=mips TARGET_ARCH=mipsel TARGET_CPUTYPE=mips32r2 buildworld * make TARGET=mips TARGET_ARCH=mipsel TARGET_CPUTYPE=mips32r2 buildkernel KERNCONF=CI20 Use TARGET_ARCH=mipselhf to enable hard float support. This appears to work (thank you, Ruslan!), but was only lightly tested on this board. ===== Booting FreeBSD ===== * you need kernel.tramp.bin from the obj directory, NOT the kernel that's installed in DESTDIR/boot/kernel * at uboot: * setenv ipaddr %%<%%local ip> * setenv serverip %%<%%ip address of tftp server> * tftpboot 0x88000000 kernel.tramp.bin * go 0x88000000 hint.dme.0.macaddr=${ethaddr} ===== Notes ===== The earlier software version (Debian 7) shipped with a uboot/dts that used uart0. This isn't the dedicated uart4 connector. When you upgrade to debian 8 it'll come with an updated uboot/dts which will change the dts to point the console out uart4. %%FreeBSD%%'s dts (sys/gnu/dts/mips/ingenic/ci20.dts) sets stdout-path = &uart4, which matches the updated firmware. For the Debian 7 firmware, you should change this to uart0 before compiling the kernel so the bootloader console and %%FreeBSD%% serial console match. ===== Links ===== * http://elinux.org/MIPS_Creator_CI20 * http://elinux.org/CI20_Hardware * http://elinux.org/CI20_Distros