Opened 3 years ago

Closed 3 years ago

#12785 closed enhancement (fixed)

siv121c camera support

Reported by: Quozl Owned by: Quozl
Priority: normal Milestone: 13.2.1
Component: kernel Version: Development firmware
Keywords: Cc:
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description (last modified by Quozl)

siv121c camera to be qualified for XO-1.75 and XO-4 production.

  • new firmware driver to be written,
  • existing firmware tests to be verified,
  • new kernel driver to be written,
  • new build of OLPC OS (XO-1.75, XO-4) and Android (XO-4),
  • existing OLPC OS (Sugar, Gnome) tests to be verified,
  • existing Android tests to be verified,
  • deployment support for use as spare part on XO-1 and XO-1.5.

Change History (15)

comment:1 Changed 3 years ago by Quozl


  • have ten samples,
  • have camera assembly specification, Suyin CM031B-SE02 rev 0.1,
  • have CMOS Sensor datasheet, SETi SIV121C.


  • sensor registers are different,
  • device can be identified over bus,


adcpipeline integratedcolumn parallel
image area, diagonal1794.3 um1809.3 um
maximum frame rate30fps @ VGA, 27 MHz MCLK30fps @ VGA, 24 MHz MCLK
dynamic range54 dB60 dB
signal to noise ratio38 dB37 dB
power consumption55mW80mW
  • should do better at low light levels,
  • draws more power.

comment:2 Changed 3 years ago by Quozl

firmware testcase:

select /camera
select /camera:yuv

comment:3 Changed 3 years ago by Quozl

  • Description modified (diff)

comment:4 Changed 3 years ago by Quozl

  • Component changed from ofw - open firmware to kernel
  • Owner Quozl deleted

Open Firmware test build:

Short test method:

test /camera:yuv
test /camera

Long test method:

select /camera start-display key drop stop-display

Camera identification method:

select /camera .properties  \ look at "sensor" property

comment:5 Changed 3 years ago by Quozl

  • Owner set to Quozl

comment:6 Changed 3 years ago by Quozl

Work in progress: siv121c.patch

comment:7 Changed 3 years ago by Quozl

Kernel driver for siv121c pushed to arm-3.5 and arm-3.5-android:

  • only YUV,
  • no RGB565 support, (did not work),
  • only VGA (640x480),
  • no QVGA or QQVGA support, (did not work),
  • contrast and gain controls not included, (registers unavailable).

Tested on XO-4 with Sugar Record activity and Gnome GStreamer.

comment:8 Changed 3 years ago by Quozl

Available for testing are:

Firmware change pushed as svn 3727.

comment:9 Changed 3 years ago by Quozl

  • the XO-4 and XO-1.75 kernels were released to dropbox and devel@,
  • a kernel upgrade of 13.2.0 was tested, using yum,
  • the arm-3.5 patch was ported to the arm-3.5-android branch and included in the next Android build XO4-RC03,
  • the build was tested with the siv121c sensor, started the Camera app, took a photo, took a video, played them both back.

comment:10 Changed 3 years ago by Quozl

  • Milestone changed from Future Release to 13.2.1

comment:11 Changed 3 years ago by Quozl

SIV121C cannot be used on XO-1.5, because:

  • the sensor maximum clock frequency is 27 MHz,
  • the system USB clock is 48 MHz, generated by U22, the clock generator,
  • the USB clock is inverted by U1 and sent to the sensor.

The result of sending a 48 MHz clock to the sensor is:

  • it operates outside specification,
  • it hangs,
  • it generates incorrect data (random inversion of horizontal lines).

comment:12 Changed 3 years ago by Quozl

  • Action Needed changed from design to package
  • for XO-1, firmware Q2F20 supports siv121c camera sensor.

comment:13 Changed 3 years ago by Quozl

  • Action Needed changed from package to add to build

Fixed in Q7B40 and Q4D35.

comment:14 Changed 3 years ago by Quozl

  • Action Needed changed from add to build to test in release

Is in 13.2.1.

comment:15 Changed 3 years ago by Quozl

  • Action Needed changed from test in release to no action
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.