CI20 Hardware

This page details the technical specifications and components of the MIPS Creator CI20 development board.

Power
The power connector is a 5V 4mm (shield) x 1.7mm (pin) center positive connector. It takes 5V only. Note that this connection is identical to that of the original Sony PSP, so power cables intended for that console also work for the CI20.

HDMI
Full sized HDMI connection with audio out support as well. The HDMI block on the JZ4780 supports HDMI v1.4a, and appears to be a Synopsys DesignWare HDMI controller, although this is not documented in the JZ4780 programming manual.

In the 3.18 kernel the code is found at drivers/gpu/drm/jz4780, but seems to live in a more generic form at drivers/gpu/drm/bridge/synopsys/dw-hdmi.c in the mainline kernel.

USB A connector (left)
Paralleled with the mini-OTG connector.

USB A connector (right)
Connected to the EHCI USB controller in the SoC.

USB mini-OTG connector
Is paralleled with the left hand USB A connector - do not plug into both of these at once. Has the OTG VBUS controlled by the jumper next to it.

OTG VBUS jumper
Controls the VBUS for the OTG ports-

Jumper shorted = HOST mode.

Jumper not shorted = Device mode.

Ethernet
10/100 RJ45, connects to the DM9000 chipset.

Audio
Standard 4-pin headset connector, with auto OMTP/CTIA detection (so should work with any standard 4-pin headset).

Button
The button between HDMI and Ethernet is not a reset button - it is boot_select0. Combining this button with JP3, it is possible to boot the Ci20 from USB or MSC0.

Once the kernel has been loaded, the button can be used as a GPIO - it is pin.

In the 3.15 kernel, the GPIO is number 113. You can export the GPIO via

echo 113 > /sys/class/gpio/export

Boot mode selector
See the silkscreen on the board and the section at the end of the JZ4780 programmers manual. Fundamentally you can boot from the on-board NAND or direct off the SDcard without having to press the button during boot. There is also a USB boot function available, but it is not a standard DFU type boot, and requires JZ4780 specific host support.

SDcard
Standard pinout full sized SD/MMC slot that can be used for direct booting, or for bulk storage (standard MTD support under Linux). It is wired to the MSC0 block in the SoC.

Camera
The camera connector is 24 pin (26 pins on the schematic - two of which are the side ground solder tabs on the connector itself - the actual cable interface is 24 pin), and CMOS DVP 8-bit camera compatible.

The Omnivision OV5640 5Mpixel unit can be used with the CI20 (often labelled FD5640 on the actual part)

The connector installed on the CI20 is 24-PIN 0.5Pitch Bottom Contact FPC Connector

A camera module reported to be working by a community member here

Note Be aware that there are some SMT components directly under where the camera unit sits. If your camera unit has a conductive rear surface then this may short out on the board. Symptoms we have seen include board resets. Please insulate the area either on the PCB or the back of the camera unit to avoid this.

IR
The CI20 has an infrared remote control receiver (part IRM-2638A, carrier frequency 37.9kHz), which is connected to GPIO for software decoding.

LED
The CI20 board features a dual colour red & blue LED. It is controlled by GPIO, which also controls the USB VBUS supply. When is high the LED lights red, when  is low it lights blue. Software cannot power off the LED. A simple way to toggle the LED colour is to write to the PFPAT0S & PFPAT0C registers from the U-boot shell, in order to toggle the GPIO. The following example will toggle the colours rapidly, leading to the LED appearing purple:

while true; do mw.l 0xb0010548 0x8000; mw.l 0xb0010544 0x8000; done

ActivityLEDs
Version 2 of the Ci20 board adds 4 red activity LEDs. These LEDs are exposed via sysfs as described here.

Reset
Version 2 of the Ci20 board adds a system reset button.

Dedicated UART header
Pinout and other functions of the dedicated UART header. This is uart4 of the SoC. Note that uart0 is on the 26pin main expansion header.

Primary expansion header
Pinout diagram for the main CI20 0.1" pitch 26 pin header

Secondary expansion header
Pinout diagram for the secondary CI20 0.1" pitch 16 pin header

EJTAG
14-pin MIPS EJTAG headers. See proposed OpenOCD/wiggler support project.

Using UART3
By default, the pins that UART3 is exposed on are used for EJTAG. UBOOT needs to be recompiled in order to modify this and you need to have compiled your own kernel from the Ci20 git repository.

Follow the steps for building UBOOT from source, but stop just before running make.

You need to compile UBOOT without support for EJTAG - this is done by editing the following UBOOT file:

vim include/configs/ci20.h

Remove the following line:


 * 1) define CONFIG_JTAG

Save the file and continue following the steps for building UBOOT from source.

SoC
The CI20's SOC is an Ingenic JZ4780 - see the data sheet and programmers manuals referenced on this page.

DDR/RAM
Comprises of four H5TQ2G83DFR-H9C (rev A) or K4B2G0846Q-BYK0 (rev B) 2Gbit DDR3 chips, providing 8 bits of data each, providing a 32bit DDR3 memory bus to the SoC clocked at 400MHz

ROM/NAND
Is provided by a single Samsung K9GBG08UOA NAND flash, using an 8bit data interface to the SoC.

Ethernet
Is provided by a Davicom DM9000C connected via an 8-bit interface to the SoC, providing 10/100 ethernet.

WiFi/BT
Is provided by an Ingenic IW8103, based on a Broadcom 4330, connected via SDIO to the SoC's MSC1 port.

PMU
Is an Active-Semi ACT8600 specifically designed for the Ingenic JZ family of SoCs.

RTC
Is provided by a Pericom PT7C4337UE connected to the SoC via the I2C_4 bus.

Microphone switcher
The automatic 4-pin microphone switching/detection is provided by a Fairchild FSA8049 audio jack detection device.

Test Points
Description of the (rather small little silver dot) test points on the board, derived from the schematic.

OTP and MAC address formats
The following data is stored in the JZ4780's OTP ROM/efuse. This data can be accessed from Linux via the sysfs path of /sys/devices/platform/jz4780-efuse/

The C definition of the actual efuse area data format is: struct __packed__ otp { uint32 serial_number; /* As a decimal, huge range */ uint32 date; /* ISO8601 yyyymmdd format-ish as an int – for instance ‘20140527’d for May 27th 2014 */ char manufacturer[2]; /* ascii 2-character encoding of manufacturer – ‘NP’ == Nopa */ unsigned char mac[6]; /* six byte/48bit MAC address stored as 8-bit integers */ };

Revision V2 (current production)
This is the current board being sold.

Changes
 * The board is now square with more regular mounting holes
 * Additional 4 red user LEDs
 * Add a reset button
 * SD card moved to reduce interference with WiFi and Bluetooth

Revision B
Changes
 * Board is now purple in color
 * DRAM part change. Hynix DDR3 H5TQ2G83CFR-H9C to Samsung K4B2G0846Q-BYK0 . No layout change/firmware
 * The board ships with a USB Power cable.
 * Fix in silk screen boot select and logo.

Revision A

 * Pre-production limited release.
 * Part of the developer giveaway.
 * Shipped with an international mains psu

Accessories
Note: All parts are untested and links are given as a reference for specification only.

The following are possible accessories that can be used for the board.

USB Serial TTL Adaptor (Raspberry Pi compatible)
The onboard serial is 3.3V TTL compatible. The following link is an example part

http://www.digikey.co.uk/product-detail/en/TTL-232R-RPI/768-1204-ND/4382044

PSP
The CI20 power connector is the same as the one used for the Sony PSP. So a PSP power supply can directly work.

USB Power supply
Alternatively, you can use a USB-PSP cable with any standard smartphone/tablet USB PSU


 * 1A http://www.digikey.co.uk/product-detail/en/VER05US050-BB/1470-2775-ND/5023717
 * 2A http://www.digikey.co.uk/product-detail/en/PA-1100-22L/160-2088-ND/4308119

USB PSP Power cable

 * http://www.amazon.com/Data-Power-USB-Cable-Sony-PSP/dp/B000LEFKXC
 * http://www.amazon.co.uk/Sony-Data-Transfer-Power-Cable/dp/B000I5XCN4/ref=pd_cp_vg_h__0
 * http://www.amazon.co.uk/Komodo%C2%AE-Charger-Cable-Connector-Charging-Black/dp/B00A78NUSO/

Note: There is a lot of variation in these cables and USB power supplies. If your board randomly dies, power supply/cable can be a possible issue.

USB WiFi Adapters
USB WiFi adapters usually rely on closed source firmware blobs. And in-tree kernel support depends on the actual chipset in them.

Devices with different/same model numbers can have slightly different device id's and chipsets. This makes driver support tricky.

The following devices have been tested.