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