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.