GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / media / atmel-isi.txt
1 Atmel Image Sensor Interface (ISI)
2 ----------------------------------
3
4 Required properties for ISI:
5 - compatible: must be "atmel,at91sam9g45-isi".
6 - reg: physical base address and length of the registers set for the device.
7 - interrupts: should contain IRQ line for the ISI.
8 - clocks: list of clock specifiers, corresponding to entries in the clock-names
9         property; please refer to clock-bindings.txt.
10 - clock-names: required elements: "isi_clk".
11 - pinctrl-names, pinctrl-0: please refer to pinctrl-bindings.txt.
12
13 ISI supports a single port node with parallel bus. It shall contain one
14 'port' child node with child 'endpoint' node. Please refer to the bindings
15 defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
16
17 Endpoint node properties
18 ------------------------
19
20 - bus-width: <8> or <10> (mandatory)
21 - hsync-active (default: active high)
22 - vsync-active (default: active high)
23 - pclk-sample (default: sample on falling edge)
24 - remote-endpoint: A phandle to the bus receiver's endpoint node (mandatory).
25
26 Example:
27
28 isi: isi@f0034000 {
29         compatible = "atmel,at91sam9g45-isi";
30         reg = <0xf0034000 0x4000>;
31         interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
32         pinctrl-names = "default";
33         pinctrl-0 = <&pinctrl_isi_data_0_7>;
34         clocks = <&isi_clk>;
35         clock-names = "isi_clk";
36         port {
37                 isi_0: endpoint {
38                         remote-endpoint = <&ov2640_0>;
39                         bus-width = <8>;
40                         vsync-active = <1>;
41                         hsync-active = <1>;
42                 };
43         };
44 };
45
46 i2c1: i2c@f0018000 {
47         ov2640: camera@30 {
48                 compatible = "ovti,ov2640";
49                 reg = <0x30>;
50                 pinctrl-names = "default";
51                 pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
52                 resetb-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
53                 pwdn-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
54                 clocks = <&pck0>;
55                 clock-names = "xvclk";
56                 assigned-clocks = <&pck0>;
57                 assigned-clock-rates = <25000000>;
58
59                 port {
60                         ov2640_0: endpoint {
61                                 remote-endpoint = <&isi_0>;
62                                 bus-width = <8>;
63                         };
64                 };
65         };
66 };