Merge tag 'tegra-for-4.8-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.git] / Documentation / devicetree / bindings / misc / ifm-csi.txt
1 IFM camera sensor interface on mpc5200 LocalPlus bus
2
3 Required properties:
4 - compatible: "ifm,o2d-csi"
5 - reg: specifies sensor chip select number and associated address range
6 - interrupts: external interrupt line number and interrupt sense mode
7   of the interrupt line signaling frame valid events
8 - gpios: three gpio-specifiers for "capture", "reset" and "master enable"
9   GPIOs (strictly in this order).
10 - ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
11   clock generator. This node is usually a general purpose timer controller.
12 - ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
13 - ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
14 - ifm,csi-wait-cycles: sensor bus wait cycles
15
16 Optional properties:
17 - ifm,csi-byte-swap: if this property is present, the byte swapping on
18   the bus will be enabled.
19
20 Example:
21
22         csi@3,0 {
23                 compatible = "ifm,o2d-csi";
24                 reg = <3 0 0x00100000>;         /* CS 3, 1 MiB range */
25                 interrupts = <1 1 2>;           /* IRQ1, edge falling */
26
27                 ifm,csi-clk-handle = <&timer7>;
28                 gpios = <&gpio_simple 23 0      /* image_capture */
29                          &gpio_simple 26 0      /* image_reset */
30                          &gpio_simple 29 0>;    /* image_master_en */
31
32                 ifm,csi-addr-bus-width = <24>;
33                 ifm,csi-data-bus-width = <8>;
34                 ifm,csi-wait-cycles = <0>;
35         };
36
37 The base address of the used chip select is specified in the
38 ranges property of the parent localbus node, for example:
39
40         ranges = <0 0 0xff000000 0x01000000
41                   3 0 0xe3000000 0x00100000>;