1e48f4eeaSHans VerkuilAtmel Image Sensor Interface (ISI)
2e48f4eeaSHans Verkuil----------------------------------
38ff19bc4SJosh Wu
4e48f4eeaSHans VerkuilRequired properties for ISI:
508c2da3dSClaudiu Beznea- compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi".
6e48f4eeaSHans Verkuil- reg: physical base address and length of the registers set for the device.
7e48f4eeaSHans Verkuil- interrupts: should contain IRQ line for the ISI.
8e48f4eeaSHans Verkuil- clocks: list of clock specifiers, corresponding to entries in the clock-names
9e48f4eeaSHans Verkuil	property; please refer to clock-bindings.txt.
10e48f4eeaSHans Verkuil- clock-names: required elements: "isi_clk".
11e48f4eeaSHans Verkuil- pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt.
128ff19bc4SJosh Wu
13e48f4eeaSHans VerkuilISI supports a single port node with parallel bus. It shall contain one
148ff19bc4SJosh Wu'port' child node with child 'endpoint' node. Please refer to the bindings
158ff19bc4SJosh Wudefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
168ff19bc4SJosh Wu
17e48f4eeaSHans VerkuilEndpoint node properties
18e48f4eeaSHans Verkuil------------------------
19e48f4eeaSHans Verkuil
20e48f4eeaSHans Verkuil- bus-width: <8> or <10> (mandatory)
21e48f4eeaSHans Verkuil- hsync-active (default: active high)
22e48f4eeaSHans Verkuil- vsync-active (default: active high)
23e48f4eeaSHans Verkuil- pclk-sample (default: sample on falling edge)
24e48f4eeaSHans Verkuil- remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory).
25e48f4eeaSHans Verkuil
268ff19bc4SJosh WuExample:
27e48f4eeaSHans Verkuil
288ff19bc4SJosh Wuisi: isi@f0034000 {
298ff19bc4SJosh Wu	compatible = "atmel,at91sam9g45-isi";
308ff19bc4SJosh Wu	reg = <0xf0034000 0x4000>;
318ff19bc4SJosh Wu	interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
32e48f4eeaSHans Verkuil	pinctrl-names = "default";
33e48f4eeaSHans Verkuil	pinctrl-0 = <&pinctrl_isi_data_0_7>;
348ff19bc4SJosh Wu	clocks = <&isi_clk>;
358ff19bc4SJosh Wu	clock-names = "isi_clk";
368ff19bc4SJosh Wu	port {
378ff19bc4SJosh Wu		isi_0: endpoint {
388ff19bc4SJosh Wu			remote-endpoint = <&ov2640_0>;
398ff19bc4SJosh Wu			bus-width = <8>;
40e48f4eeaSHans Verkuil			vsync-active = <1>;
41e48f4eeaSHans Verkuil			hsync-active = <1>;
428ff19bc4SJosh Wu		};
438ff19bc4SJosh Wu	};
448ff19bc4SJosh Wu};
458ff19bc4SJosh Wu
468ff19bc4SJosh Wui2c1: i2c@f0018000 {
47e48f4eeaSHans Verkuil	ov2640: camera@30 {
483cfd5905SFabio Estevam		compatible = "ovti,ov2640";
498ff19bc4SJosh Wu		reg = <0x30>;
50e48f4eeaSHans Verkuil		pinctrl-names = "default";
51e48f4eeaSHans Verkuil		pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
52e48f4eeaSHans Verkuil		resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
53e48f4eeaSHans Verkuil		pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
54e48f4eeaSHans Verkuil		clocks = <&pck0>;
55e48f4eeaSHans Verkuil		clock-names = "xvclk";
56e48f4eeaSHans Verkuil		assigned-clocks = <&pck0>;
57e48f4eeaSHans Verkuil		assigned-clock-rates = <25000000>;
588ff19bc4SJosh Wu
598ff19bc4SJosh Wu		port {
608ff19bc4SJosh Wu			ov2640_0: endpoint {
618ff19bc4SJosh Wu				remote-endpoint = <&isi_0>;
628ff19bc4SJosh Wu				bus-width = <8>;
638ff19bc4SJosh Wu			};
648ff19bc4SJosh Wu		};
658ff19bc4SJosh Wu	};
668ff19bc4SJosh Wu};
67