18c2ecf20Sopenharmony_ciAtmel Image Sensor Interface (ISI)
28c2ecf20Sopenharmony_ci----------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciRequired properties for ISI:
58c2ecf20Sopenharmony_ci- compatible: must be "atmel,at91sam9g45-isi" or "microchip,sam9x60-isi".
68c2ecf20Sopenharmony_ci- reg: physical base address and length of the registers set for the device.
78c2ecf20Sopenharmony_ci- interrupts: should contain IRQ line for the ISI.
88c2ecf20Sopenharmony_ci- clocks: list of clock specifiers, corresponding to entries in the clock-names
98c2ecf20Sopenharmony_ci	property; please refer to clock-bindings.txt.
108c2ecf20Sopenharmony_ci- clock-names: required elements: "isi_clk".
118c2ecf20Sopenharmony_ci- pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciISI supports a single port node with parallel bus. It shall contain one
148c2ecf20Sopenharmony_ci'port' child node with child 'endpoint' node. Please refer to the bindings
158c2ecf20Sopenharmony_cidefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciEndpoint node properties
188c2ecf20Sopenharmony_ci------------------------
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci- bus-width: <8> or <10> (mandatory)
218c2ecf20Sopenharmony_ci- hsync-active (default: active high)
228c2ecf20Sopenharmony_ci- vsync-active (default: active high)
238c2ecf20Sopenharmony_ci- pclk-sample (default: sample on falling edge)
248c2ecf20Sopenharmony_ci- remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory).
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciExample:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciisi: isi@f0034000 {
298c2ecf20Sopenharmony_ci	compatible = "atmel,at91sam9g45-isi";
308c2ecf20Sopenharmony_ci	reg = <0xf0034000 0x4000>;
318c2ecf20Sopenharmony_ci	interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
328c2ecf20Sopenharmony_ci	pinctrl-names = "default";
338c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_isi_data_0_7>;
348c2ecf20Sopenharmony_ci	clocks = <&isi_clk>;
358c2ecf20Sopenharmony_ci	clock-names = "isi_clk";
368c2ecf20Sopenharmony_ci	port {
378c2ecf20Sopenharmony_ci		isi_0: endpoint {
388c2ecf20Sopenharmony_ci			remote-endpoint = <&ov2640_0>;
398c2ecf20Sopenharmony_ci			bus-width = <8>;
408c2ecf20Sopenharmony_ci			vsync-active = <1>;
418c2ecf20Sopenharmony_ci			hsync-active = <1>;
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci	};
448c2ecf20Sopenharmony_ci};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_cii2c1: i2c@f0018000 {
478c2ecf20Sopenharmony_ci	ov2640: camera@30 {
488c2ecf20Sopenharmony_ci		compatible = "ovti,ov2640";
498c2ecf20Sopenharmony_ci		reg = <0x30>;
508c2ecf20Sopenharmony_ci		pinctrl-names = "default";
518c2ecf20Sopenharmony_ci		pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
528c2ecf20Sopenharmony_ci		resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
538c2ecf20Sopenharmony_ci		pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
548c2ecf20Sopenharmony_ci		clocks = <&pck0>;
558c2ecf20Sopenharmony_ci		clock-names = "xvclk";
568c2ecf20Sopenharmony_ci		assigned-clocks = <&pck0>;
578c2ecf20Sopenharmony_ci		assigned-clock-rates = <25000000>;
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		port {
608c2ecf20Sopenharmony_ci			ov2640_0: endpoint {
618c2ecf20Sopenharmony_ci				remote-endpoint = <&isi_0>;
628c2ecf20Sopenharmony_ci				bus-width = <8>;
638c2ecf20Sopenharmony_ci			};
648c2ecf20Sopenharmony_ci		};
658c2ecf20Sopenharmony_ci	};
668c2ecf20Sopenharmony_ci};
67