18c2ecf20Sopenharmony_ciIFM camera sensor interface on mpc5200 LocalPlus bus
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: "ifm,o2d-csi"
58c2ecf20Sopenharmony_ci- reg: specifies sensor chip select number and associated address range
68c2ecf20Sopenharmony_ci- interrupts: external interrupt line number and interrupt sense mode
78c2ecf20Sopenharmony_ci  of the interrupt line signaling frame valid events
88c2ecf20Sopenharmony_ci- gpios: three gpio-specifiers for "capture", "reset" and "master enable"
98c2ecf20Sopenharmony_ci  GPIOs (strictly in this order).
108c2ecf20Sopenharmony_ci- ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
118c2ecf20Sopenharmony_ci  clock generator. This node is usually a general purpose timer controller.
128c2ecf20Sopenharmony_ci- ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
138c2ecf20Sopenharmony_ci- ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
148c2ecf20Sopenharmony_ci- ifm,csi-wait-cycles: sensor bus wait cycles
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciOptional properties:
178c2ecf20Sopenharmony_ci- ifm,csi-byte-swap: if this property is present, the byte swapping on
188c2ecf20Sopenharmony_ci  the bus will be enabled.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciExample:
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	csi@3,0 {
238c2ecf20Sopenharmony_ci		compatible = "ifm,o2d-csi";
248c2ecf20Sopenharmony_ci		reg = <3 0 0x00100000>;		/* CS 3, 1 MiB range */
258c2ecf20Sopenharmony_ci		interrupts = <1 1 2>;		/* IRQ1, edge falling */
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci		ifm,csi-clk-handle = <&timer7>;
288c2ecf20Sopenharmony_ci		gpios = <&gpio_simple 23 0	/* image_capture */
298c2ecf20Sopenharmony_ci			 &gpio_simple 26 0	/* image_reset */
308c2ecf20Sopenharmony_ci			 &gpio_simple 29 0>;	/* image_master_en */
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci		ifm,csi-addr-bus-width = <24>;
338c2ecf20Sopenharmony_ci		ifm,csi-data-bus-width = <8>;
348c2ecf20Sopenharmony_ci		ifm,csi-wait-cycles = <0>;
358c2ecf20Sopenharmony_ci	};
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciThe base address of the used chip select is specified in the
388c2ecf20Sopenharmony_ciranges property of the parent localbus node, for example:
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	ranges = <0 0 0xff000000 0x01000000
418c2ecf20Sopenharmony_ci		  3 0 0xe3000000 0x00100000>;
42