Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

SMIA/SMIA++ sensor

SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
of that. These definitions are valid for both types of sensors.

More detailed documentation can be found in
Documentation/devicetree/bindings/media/video-interfaces.txt .

The device node should contain a "port" node which may contain one or more
endpoint nodes, in accordance with video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt .

Mandatory properties
--------------------

- compatible: "nokia,smia"
- reg: I2C address (0x10, or an alternative address)
- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
  dependent).
- clocks: External clock to the sensor
- clock-frequency: Frequency of the external clock to the sensor
- link-frequencies: List of allowed data link frequencies. An array of
  64-bit elements.


Optional properties
-------------------

- nokia,nvm-size: The size of the NVM, in bytes. If the size is not given,
  the NVM contents will not be read.
- reset-gpios: XSHUTDOWN GPIO
- flash-leds: See ../video-interfaces.txt
- lens-focus: See ../video-interfaces.txt
- rotation: Integer property; valid values are 0 (sensor mounted upright)
	    and 180 (sensor mounted upside down). See
	    ../video-interfaces.txt .


Endpoint node mandatory properties
----------------------------------

- data-lanes: <1..n>


Example
-------

&i2c2 {
	clock-frequency = <400000>;

	camera-sensor@10 {
		compatible = "nokia,smia";
		reg = <0x10>;
		reset-gpios = <&gpio3 20 0>;
		vana-supply = <&vaux3>;
		clocks = <&omap3_isp 0>;
		clock-frequency = <9600000>;
		nokia,nvm-size = <512>; /* 8 * 64 */
		link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
		port {
			smiapp_ep: endpoint {
				data-lanes = <1 2>;
				remote-endpoint = <&csi2a_ep>;
			};
		};
	};
};