Recent Linux on Cortina Systems Gemini Platforms
Latest test on 2017-03-12 (kernel v4.11-rc1)

SL3516 chip SQ201 top view SQ201 bottom view

ITian SquareOne SQ201
Top: boring electronics... 24MHz crystal.
Bottom: 2 x Nanya Technology Corp NT5DS32M16BS-6K (comprising 2 x 32Mbit x 16 = 1024Mbit = 128MiB DDR SDRAM), Spansion S29GL128N90TFIR1 (128Mbit, 16MiB) Flash memory, JW20339 (? no idea what this is, looks like filter for the SATA external port), Gemini Storlink SL3516 chip, MinPCI card with a RaLink RT2561T wireless card, under the card is a VIA Vectro VT6212L USB 2.0 controller, Vitesse (now Digikey) VSC7395XYV 5+1 Integrated Gigabit ethernet switch with transcievers facing LAN1, LAN2, LAN3 and LAN4 ports, Marvell 88E1111 Ethernet transciever facing the WAN port.

The SoC from Cortina Systems known by the project name Gemini is also known by the product name Storlink SL3516 from Storlink Semiconductor, that changed their name into Storm Semiconductor, and then Cortina acquired Storm Semiconductor in 2008, renaming the same chip into CS3516 (Cortina Systems 3516). I have heard about other Storm SoC products named SL3316 (Centroid) and SL3512 (Bulverde) but I have never seen it. I found a product brief online somewhere.

I am trying to collect vendor tree code at GitHub. Please contribute if you have newer GPL sources than what I have. The code seems to have been partly written by MontaVista under consultant contract to Storlink.

The procedure is likely similar on all the Gemini platforms, but I'm using the ITian SquareOne Smart Storage Server, which apparently doesn't have any upstream support whatsoever as of writing. I got this unit from Florian at OpenWRT to have a Gemini (ARM FA526 based) SoC hacking target.

It turns out that many of the components inside the Gemini machines are actually off-the-shelf IP blocks from Faraday Technology, an SoC design firm in Taiwan, that has been around since the 1990ies.

Getting into it

I connected a serial port after some simple tinkering. The port is 115200 baud.

Compiling the kernel

You probably want to clone the Gemini branch in my Nomadik git OK this git tree has the wrong name, maybe I should make a separate gemini git

You can use my makefile and initramfs to get to a prompt. Copy the rootfs-gemini.cpio to your $HOME directory, then put the gemini.mak file in your Linux base directory and type:

  make -f gemini.mak config && make -f gemini.mak build

Kernel TODO

Getting SQ201 RT2561s wireless going