Hey, thanks for the SMIA and ST hints!
After looking for more info around for SMIA standard specs and any random ST datasheets for image sensors, found one with 14 pins: VS6552. The good thing is the pinout from the datasheet also matches the pinout from the Nokia phone schematic. Also, measuring the pins of the sensor, 2 and 8 are internally connected together, which make sense, because they are the GND for the analog respective digital power.
It seems that the interface is very simple:
- one 1.8V I2C bus for controlling the sensor
- one 1.8V LVDS pair for image data out
- one 1.8V LVDS pair for image clock out
- one chip enable pin
Seems like reverse engineering a little will be fun. A nice result will be if the image chip can be interfaced with a small MCU, like an Arduino or so. Just to be clear, this is just for fun of reverse engineering.
Well, too bad the image data out is 1.8V/120MHz LVDS, which is too low voltage and too fast for most of the non ARM MCUs. Even more, the image data output is unprocessed. The chips outputs the image data as raw Bayer data at VGA resolution (up to 30 frame/s) interleaved with other signals like line number, frame sync and so on. So, in order to use image out data stream, the miage must be decoded, then some DSP processing must be used in order to de-Bayer the pixels and apply later compensations like vignette correction, defect pixels masking and so one. That is why, this kind of image sensors are always used together with another dedicated chip, sometimes called Nokia GPU, which main job is to receive the 10 bits raw Bayer pixels data and to process it in order to obtain a still picture, like a jog, or a video stream, like a 3gp.
OK, so the image stream is way too much for an Arduino. At most, we can try to talk with the camera using the I2C control pins of the image sensor. The I2C clock is max 400KHz, slow enough, but only 1.8V, so an I2C 5V to 1.8V level adapter will be necessary.
TL;DR a compatible pinout was found, and the chip was powered accordingly with 2.8V AGND, 1.8V DGND, and fed with a generic clock in of 12.5MHz. The attempt to use the I2C control bus of the image sensor didn't worked. No response from the chip. Either I'm doing something wrong, or the chip was already broken.
My bet was that I am doing something wrong, so just to be sure, I looked in my junk box for another old Nokia phone with a webcam. The idea was to use the same setup wiyh another known good image sensor. Found a working one, a Nokia 6070 (RM-166), and it's schematic. According to the schematic, Nokia 6070 should have a similar 14 pins SMIA image sensor, but no.
The Nokia 6070 image sensor has only 12 pins, and I guess it is not made by ST, because the companion image processing chip is from Samsung, an S5C7338A3.
So, new question please: I have a Nokia 6070 phone that does not match with the Nokia 6070 schematic found online (for the camera part), how do I get the right schematic for my Nokia 6070? Was this normal for Nokia, to have many versions (with different chipsets) for the same model number?